使用轻易云平台集成聚水潭与金蝶云的数据处理技术详解
### 聚水潭数据集成到金蝶云星空——盘亏单对接其他出库单技术案例
在企业资源管理系统(ERP)中,实现多平台的数据无缝对接一直是系统集成的核心挑战之一。本次分享的案例重点展示如何利用轻易云数据集成平台将聚水潭中的盘亏单数据高效、准确地对接到金蝶云星空中对应的其他出库单。这一过程中涉及多个关键技术点,包括API接口调用、数据格式转换和实时监控。
#### 数据获取与处理
首先,我们需要通过聚水潭提供的`inventory.count.query` API接口定时可靠地抓取盘亏单的数据。为了确保不漏掉任何订单,我们设计了一个细化的方法来处理分页及限流问题,将所有待处理的数据进行记录和批量获取。这不仅提升了效率,还保证每个数据都能完整抓取。
```plaintext
接口名称: inventory.count.query
功能: 获取盘亏单信息
```
#### 数据写入与映射
从聚水潭成功获取到相关数据后,下一步即是将这些数据信息快速安全地写入到金蝶云星空中相应的位置。我们使用了金蝶云星空提供的`batchSave` API接口,通过定制化的数据映射实现精确存储。在这个过程中,我们特别注意到了两者之间可能存在的数据格式差异,并采取了一系列措施进行规范化转换,避免出现因格式不一致导致的问题。
```plaintext
接口名称: batchSave
功能: 批量保存出库单信息至金蝶云星空
```
同时,为应对在大批量数据传输过程中可能出现的异常情况,本方案内置了一套错误重试机制,能够自动检测并重新发起请求,以最大程度降低因网络抖动或服务器短暂不可用带来的业务风险。
以上初步介绍了本次案例的主要过程和技术要点,具体实施方法将在下文详细阐述。
![泛微OA与ERP系统接口开发配置](https://pic.qeasy.cloud/D22.png~tplv-syqr462i7n-qeasy.image)
### 调用聚水潭接口inventory.count.query获取并加工数据
在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将深入探讨如何通过轻易云数据集成平台调用聚水潭的`inventory.count.query`接口,获取并加工数据,以便后续的数据转换与写入。
#### 接口概述
聚水潭的`inventory.count.query`接口主要用于查询盘点单信息。该接口采用POST请求方式,支持分页查询,并允许通过多种条件过滤数据。以下是元数据配置中的关键字段及其含义:
- **api**: `inventory.count.query`
- **method**: `POST`
- **number**: `io_id`
- **id**: `io_id`
- **condition**: 查询条件
- `items.qty < 0`: 仅查询数量小于0的记录
#### 请求参数
根据元数据配置,以下是请求参数的详细说明:
1. **page_index**
- 类型: string
- 描述: 开始页码,从第一页开始,默认值为1
- 示例值: "1"
2. **page_size**
- 类型: string
- 描述: 每页条数,默认30,最大50
- 示例值: "30"
3. **modified_begin**
- 类型: string
- 描述: 修改起始时间,与结束时间必须同时存在,时间间隔不能超过七天
- 示例值: "{{LAST_SYNC_TIME|datetime}}"
4. **modified_end**
- 类型: string
- 描述: 修改结束时间,与起始时间必须同时存在,时间间隔不能超过七天
- 示例值: "{{CURRENT_TIME|datetime}}"
5. **io_ids**
- 类型: string
- 描述: 指定盘点单号,多个用逗号分隔,最多50个,与时间段不能同时为空
- 示例值: "12345,67890"
6. **status**
- 类型: string
- 描述: 单据状态(Confirmed=生效,WaitConfirm=待审核,Creating=草拟,Archive=归档,Cancelled=作废)
- 示例值: "Confirmed"
#### 数据请求与清洗
在调用接口之前,需要确保请求参数的正确性和完整性。以下是一个示例请求体:
```json
{
"page_index": "1",
"page_size": "30",
"modified_begin": "{{LAST_SYNC_TIME|datetime}}",
"modified_end": "{{CURRENT_TIME|datetime}}",
"io_ids": "",
"status": "Confirmed"
}
```
通过轻易云平台,我们可以使用模板变量如`{{LAST_SYNC_TIME|datetime}}`和`{{CURRENT_TIME|datetime}}`来动态生成请求参数。这些变量通常由系统自动维护,用于记录上次同步时间和当前时间。
#### 数据转换与写入
在成功获取数据后,需要对数据进行清洗和转换,以满足目标系统的要求。例如,将聚水潭的盘亏单对接到金蝶云其他出库单时,需要将字段名称、格式等进行相应转换。
假设我们从聚水潭获取到如下数据:
```json
{
"data": [
{
"io_id": "12345",
"items": [
{
"sku_code": "SKU001",
"qty": "-10"
}
],
"status": "Confirmed"
}
]
}
```
我们需要将其转换为金蝶云所需的格式:
```json
{
"order_id": "12345",
"products": [
{
"product_code": "SKU001",
"quantity": "-10"
}
],
"order_status": "Confirmed"
}
```
这种转换可以通过轻易云平台提供的数据处理工具实现,包括字段映射、格式转换等操作。
#### 实时监控与调试
轻易云平台提供了全透明可视化的操作界面,可以实时监控数据流动和处理状态。在调试过程中,可以查看每一步的数据处理结果,以便快速定位问题并进行修正。
通过上述步骤,我们可以高效地调用聚水潭接口获取盘点单信息,并对数据进行清洗和转换,为后续的数据写入做好准备。这一过程不仅提升了业务透明度和效率,也确保了不同系统间的数据无缝对接。
![数据集成平台可视化配置API接口](https://pic.qeasy.cloud/S5.png~tplv-syqr462i7n-qeasy.image)
### 使用轻易云数据集成平台实现金蝶云星空API接口的数据转换与写入
在数据集成过程中,将源平台的数据转换为目标平台所能接收的格式是至关重要的一步。本文将详细探讨如何使用轻易云数据集成平台将聚水潭盘亏单数据转换为金蝶云星空API接口所需的格式,并最终写入目标平台。
#### 元数据配置解析
首先,我们需要理解元数据配置中的各个字段及其作用。以下是关键字段的解析:
- `api`:指定调用的API接口名称,这里是`batchSave`。
- `method`:HTTP请求方法,使用`POST`。
- `idCheck`:是否检查ID,设置为`true`。
- `operation`:定义了操作的具体细节,包括行键和方法。
- `request`:包含具体的字段映射和转换规则。
#### 主要字段映射与转换
1. **单据编号 (FBillNo)**
- 类型:字符串
- 描述:单据编号
- 值来源:`{io_id}`
2. **单据类型 (FBillTypeID)**
- 类型:字符串
- 描述:单据类型
- 转换器:ConvertObjectParser,参数为FNumber
- 固定值:`PKQTCKD`
3. **库存组织 (FStockOrgId)**
- 类型:字符串
- 描述:组织
- 转换器:ConvertObjectParser,参数为FNumber
- 动态值:通过 `_findCollection find F_HZ_OrgId_Fnumber from 0cba013f-c6e7-3826-bf89-bb0b11e996e1 where FNumber={{items.sku_id}}`
4. **日期 (FDate)**
- 类型:字符串
- 描述:日期
- 值来源:`{io_date}`
5. **备注 (FNote)**
- 类型:字符串
- 描述:多行文本
- 值来源:`{remark}`
#### 明细信息字段映射
明细信息 (`FEntity`) 包含多个子字段,每个子字段都有特定的转换规则:
1. **物料编码 (FMaterialId)**
- 类型:字符串
- 描述:基础资料
- 转换器:ConvertObjectParser,参数为FNumber
- 动态值:`{{items.sku_id}}`
2. **实发数量 (FQty)**
- 类型:字符串
- 描述:数量
- 动态值并带有函数处理: `_function {{items.qty}} *(-1)`
3. **发货仓库 (FStockId)**
- 类型:字符串
- 描述:基础资料
- 转换器:ConvertObjectParser,参数为FNumber
- 值来源: `{wms_co_id}`
4. **批号 (FLot)**
- 类型: 字符串
- 描述: 批次
- 动态值: `{{items.batch_id}}`
5. **生产日期 (FPRODUCEDATE)**
* 类型: 字符串
* 描述: 批次
* 动态值: `{{items.product_date}}`
6. **有效期至 (FEXPIRYDATE)**
* 类型: 字符串
* 描述: 批次
* 动态值: `{{items.expiration_date}}`
#### 其他请求配置
- **业务对象表单Id (FormId)**:
* 必须填写金蝶的表单ID,如:`STK_MisDelivery`
- **提交并审核 (IsAutoSubmitAndAudit)**:
* 布尔类型,默认值为 `false`
- **验证基础资料 (IsVerifyBaseDataField)**:
* 布尔类型,默认值为 `true`
- **执行的操作 (Operation)**:
* 固定值:`Save`
- **允许负库存(InterationFlags)**:
* 固定值:`STK_InvCheckResult`
#### 实际应用案例
在实际应用中,通过轻易云数据集成平台,我们可以将聚水潭盘亏单的数据按照上述配置进行ETL处理。具体步骤如下:
1. 配置源数据请求与清洗规则,从聚水潭获取盘亏单数据。
2. 根据元数据配置,将源数据中的各个字段映射到金蝶云星空API接口所需的格式。
3. 使用轻易云提供的可视化界面,实时监控和调整每个字段的转换结果,确保数据准确无误。
4. 最终,通过POST请求,将处理后的数据批量写入金蝶云星空系统。
通过上述步骤,我们实现了从源平台到目标平台的数据无缝对接,有效提升了业务流程的自动化和效率。
![电商OMS与WMS系统接口开发配置](https://pic.qeasy.cloud/T26.png~tplv-syqr462i7n-qeasy.image)