# 集采账单状态推送接口



## 采购单位

引入类：

```java
@Autowired
private QchjcCustomerStatementService qchjcCustomerStatementService;
```



### 采购单位收票状态同步

- 方法描述：接收结算中心同步过来的开票状态
- 调用方法：`qchjcCustomerStatementService.makeInvoiceStatusSync(QchjcCustomerMakeInvoiceStatusParam param)`

- 触发事件点：

​	① 来源于“企业商城”的开票申请在**发起开票成功时**：若该对账单的申请状态为“全部申请”**&**所有有效的开票申请的申请状态均为“待回款”时；

​	② 来源于“企业商城”的对账单在**“积分结算-发票管理-【运营寄票】”成功时**：若该对账单的申请状态为“全部申请”**&**所有有效的开票申请的申请状态均为“待回款”时；

#### 方法参数

| 参数名称                | 参数说明                                                     | 是否必须 | 数据类型           |
| ----------------------- | ------------------------------------------------------------ | -------- | ------------------ |
| reconciliationBuyerCode | 对账单编号                                                   | true     | string             |
| invoiceStatus           | 开票状态：1未开票，2已开票，3待开票；枚举类：QchjcCustomerInvoiceStatusEnum.java | true     | string             |
| logisticsCompany        | 快递公司名称                                                 | false    | string             |
| logisticsNo             | 快递单号                                                     | false    | string             |
| logisticsCompanyType    | 快递公司编号                                                 | false    | string             |
| operatorId              | 操作人Id                                                     | true     | string             |
| operatorName            | 操作人名称                                                   | true     | string             |
| operatorDate            | 操作时间                                                     | true     | Date               |
| processState            | 流程状态                                                     | false    | string             |
| invoiceNumberMap        | 发票号map, key:开票申请编号，value:发票号，多个用,分割       | true     | Map<String,String> |



### 采购单位收款状态同步

- 方法描述：接收结算中心同步过来的收款状态

- 调用方法：`qchjcCustomerStatementService.receivePaymentStatusSync(QchjcCustomerReceivePaymentStatusParam param)`
- 触发事件点：来源于“企业商城”的对账单在**“积分结算-发票管理-【回款登记】”成功时**：若该对账单的申请状态为“全部申请”**&**所有有效的开票申请的申请状态均为“已回款”时；

#### 方法参数

| 参数名称                | 参数说明                                                     | 是否必须 | 数据类型 |
| ----------------------- | ------------------------------------------------------------ | -------- | -------- |
| reconciliationBuyerCode | 对账单编号                                                   | true     | string   |
| recPaymentStatus        | 收款状态：1未收款，2已收款；枚举类：QchjcCustomerReceivePaymentStatusEnum.java | true     | string   |
| operatorId              | 操作人Id                                                     | true     | string   |
| operatorName            | 操作人名称                                                   | true     | string   |
| operatorDate            | 操作时间                                                     | true     | Date     |
| processState            | 流程状态                                                     | true     | string   |



### 采购单位对账单作废接口

- 方法描述：接收结算中心作废对账单的处理

- 调用方法：`qchjcCustomerStatementService.statementCancelSync(QchjcCustomerCancelStatementParam param)`
- 触发事件点：来源于“企业商城”的对账单在**“积分结算-对账单-【重新对账】”成功时**；

#### 方法参数

| 参数名称                | 参数说明   | 是否必须 | 数据类型 |
| ----------------------- | ---------- | -------- | -------- |
| reconciliationBuyerCode | 对账单编号 | true     | string   |
| operatorId              | 操作人Id   | true     | string   |
| operatorName            | 操作人名称 | true     | string   |
| operatorDate            | 操作时间   | true     | Date     |
| processState            | 流程状态   | true     | string   |





## 供应商

引入类：

```java
@Autowired
private QchjcSupplierStatementService qchjcSupplierStatementService;
```

### 供应商收票状态同步

- 方法描述：接收结算中心同步过来的收票状态
- 调用方法：`qchjcSupplierStatementService.receiveInvoiceStatusSync(QchjcSupplierReceiveInvoiceStatusParam param)`
- 触发事件点：来源于“企业商城”的对账单在**“积分结算-发票登记管理-【收票登记】”成功时**：若该对账单所有有效的开票申请的申请状态均为“待付款”时；



#### 方法参数

| 参数名称                   | 参数说明                                                     | 是否必须 | 数据类型           |
| -------------------------- | ------------------------------------------------------------ | -------- | ------------------ |
| reconciliationSupplierCode | 对账单编号                                                   | true     | string             |
| recInvoiceStatusSync       | 收票状态：1未收票，2已收票；枚举类：QchjcSupplierReceiveInvoiceStatusEnum.java | true     | string             |
| logisticsCompany           | 快递公司名称                                                 | false    | string             |
| logisticsNo                | 快递单号                                                     | false    | string             |
| logisticsCompanyType       | 快递公司编号                                                 | false    | string             |
| operatorId                 | 操作人Id                                                     | true     | string             |
| operatorName               | 操作人名称                                                   | true     | string             |
| operatorDate               | 操作时间                                                     | true     | Date               |
| processState               | 流程状态                                                     | true     | string             |
| invoiceNumberMap           | 发票号map, key:开票申请编号，value:发票号 多个用`,`分割      | true     | Map<String,String> |



### 供应商对账单付款状态同步

- 方法描述：接收结算中心同步过来的付款状态

- 调用方法：`qchjcSupplierStatementService.paymentStatusSync(QchjcSupplierPaymentStatusSyncParam param)`
- 触发事件点：来源于“企业商城”的对账单在**“供应商结算-货款管理-【确认付款】”成功时**：若该对账单的所有有效的开票申请的申请状态均为“已付款”时；（“付款中”状态无需同步。）

#### 方法参数

| 参数名称                   | 参数说明                                                     | 是否必须 | 数据类型 |
| -------------------------- | ------------------------------------------------------------ | -------- | -------- |
| reconciliationSupplierCode | 对账单编号                                                   | true     | string   |
| paymentStatus              | 付款状态：1未付款，2付款中，3已付款；枚举类:QchjcSupplierPaymentStatusEnum.java | true     | string   |
| operatorId                 | 操作人Id                                                     | true     | string   |
| operatorName               | 操作人名称                                                   | true     | string   |
| operatorDate               | 操作时间                                                     | true     | Date     |
| processState               | 流程状态                                                     | true     | string   |

### 供应商对账单作废接口

- 方法描述：接收结算中心作废对账单的处理

- 调用方法：`qchjcSupplierStatementService.statementCancelSync(QchjcSupplierCancelStatementParam param)`
- 触发事件点：来源于“企业商城”的对账单在**“供应商结算-对账单-【重新对账】”成功时**；

#### 方法参数

| 参数名称                   | 参数说明   | 是否必须 | 数据类型 |
| -------------------------- | ---------- | -------- | -------- |
| reconciliationSupplierCode | 对账单编号 | true     | string   |
| operatorId                 | 操作人Id   | true     | string   |
| operatorName               | 操作人名称 | true     | string   |
| operatorDate               | 操作时间   | true     | Date     |
| processState               | 流程状态   | false    | string   |

## 所有方法的统一返回值

| 参数名称      | 参数说明                              | 是否必须 | 数据类型 |
| ------------- | ------------------------------------- | -------- | -------- |
| success       | 是否成功，成功返回true、失败返回false | 是       | Boolean  |
| resultMessage | 失败时返回的提示信息                  | 否       | String   |

### 返回值示例

### 同步成功

```json
{
	"resultMessage": "",
	"success": true
}
```

### 同步失败/同步异常

```json
{
	"resultMessage": "xxx状态同步异常",
	"success": false
}
```

