吉客云数据集成到金蝶云星空:物料最小单位转换-销售单用
在企业运营中,物料数据的准确性和及时性直接影响到业务决策的效果。本文将重点分享一个系统对接集成案例,通过使用轻易云数据集成平台,实现吉客云中的物料信息无缝导入金蝶云星空,并进行销售单的最小单位转换。本方案利用了吉客云获取数据的API接口erp.storage.goodslist
和金蝶云星空写入数据的API接口batchSave
,成功解决了多项技术难题。
数据获取与处理
在本项目中,我们首先通过调用吉客云提供的数据接口erp.storage.goodslist
来获取实时更新的物料信息。这些信息包括但不限于物料编号、名称及规格等。由于涉及的数据量较大,我们采用了一次批量抓取,多次分页请求的方法,以确保高效且稳定地提取所有需要的信息。同时,为应对可能出现的数据异常情况,我们设置了分页限制和重试机制,保证了每一条数据都能被正确提取,无漏单现象发生。
数据质量监控与转化
在成功获取原始数据后,需要根据业务需求对其进行清洗和格式转换。我们利用轻易云的平台特性,编写自定义的数据转换逻辑,将吉客云中的物料最小单位转换为适合于金蝶云星空系统标准的格式。在此过程中,平台提供的数据质量监控功能帮助实时检测并纠正潜在的问题,从而确保最终导出的数据信息准确无误。
批量写入与状态监控
为了进一步优化效率,本方案还设计了一套批量写入机制,通过调用金蝶云星空API接口batchSave
, 实现大量数据快速、安全地导入。与此同时,全程开启集中式监控和告警功能,对每一次操作进行实时跟踪。一旦出现错误或异常状况,立即触发报警并自动执行相应重试措施,以最大限度保障整个流程顺利完成。
这个案例展示了如何通过精心设计和配置,在两个不同体系结构之间实现高效、可靠的数据交换,从而有效支持企业运作中的关键业务环节。在下文中,将详细介绍具体实施步骤及最佳实践。
调用源系统吉客云接口erp.storage.goodslist获取并加工数据
在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用吉客云的erp.storage.goodslist
接口,并对返回的数据进行加工处理。
接口调用配置
首先,我们需要配置元数据以便正确调用吉客云的API接口。以下是元数据配置的关键部分:
{
"api": "erp.storage.goodslist",
"effect": "QUERY",
"method": "POST",
"number": "goodsNo",
"id": "goodsNo",
"idCheck": true,
"request": [
{"field": "pageIndex", "label": "分页页码", "type": "string"},
{"field": "pageSize", "label": "分页页数", "type": "string", "value": "100"},
{"field": "startDate", "label": "创建起始时间", "type": "string",
"value":"{{LAST_SYNC_TIME|datetime}}"},
{"field": "endDate", "label": "创建结束时间",
"type":"string","value":"{{CURRENT_TIME|datetime}}"},
{"field":"isPackageGood","label":"是否组合装","type":"string"}
],
"autoFillResponse": true,
...
}
请求参数详解
-
分页参数:
pageIndex
:分页页码,类型为字符串。pageSize
:分页页数,默认值为100。
-
时间参数:
startDate
:创建起始时间,使用占位符{{LAST_SYNC_TIME|datetime}}
动态获取上次同步时间。endDate
:创建结束时间,使用占位符{{CURRENT_TIME|datetime}}
动态获取当前时间。
-
其他参数:
isPackageGood
:是否组合装,类型为字符串。
这些参数确保了我们能够灵活地控制数据请求的范围和数量,从而提高数据获取的效率和准确性。
数据过滤与条件设置
在实际操作中,我们可能需要对返回的数据进行过滤,以满足业务需求。元数据配置中的条件设置如下:
"condition":[
[{"field":"ownerName","logic":"notin","value":"上海弧秒科技有限公司,上海幸亲国际贸易有限公司"}]
]
该条件表示过滤掉所有属于“上海弧秒科技有限公司”和“上海幸亲国际贸易有限公司”的物料信息。这种过滤机制可以帮助我们排除不必要的数据,提高后续处理的效率。
数据加工与转换
在获取到原始数据后,我们需要对其进行一定的加工和转换。例如,将物料单位统一转换为销售单所需的最小单位。元数据配置中的beatFlat
字段用于指定需要平铺处理的字段:
"beatFlat":["goodsUnit"]
这意味着我们将对返回的数据中的goodsUnit
字段进行平铺处理,以便后续操作更加方便。
自动填充响应
为了简化开发过程,轻易云平台提供了自动填充响应功能:
"autoFillResponse": true
启用该功能后,平台会自动将API响应的数据填充到预定义的数据结构中,从而减少手动解析和映射的工作量。
实际案例应用
假设我们需要从吉客云获取最近一周内新增的物料信息,并将其转换为销售单所需格式。具体步骤如下:
-
设置请求参数:
pageIndex
: 从1开始逐页请求。pageSize
: 每页100条记录。startDate
: 设置为一周前的日期。endDate
: 设置为当前日期。isPackageGood
: 根据业务需求设置是否包含组合装物料。
-
调用API接口: 使用POST方法调用
erp.storage.goodslist
接口,并传入上述参数。 -
处理响应数据: 对返回的数据进行过滤、平铺和单位转换等操作,确保最终结果符合业务需求。
通过上述步骤,我们可以高效地从吉客云获取并加工物料信息,为后续的数据处理和分析奠定坚实基础。
数据集成与转换:将源平台数据转换为金蝶云星空API格式
在数据集成的生命周期中,ETL(提取、转换、加载)过程是关键的一环。本文将重点探讨如何使用轻易云数据集成平台,将已经集成的源平台数据进行ETL转换,转为金蝶云星空API接口所能够接收的格式,并最终写入目标平台。
元数据配置解析
在本案例中,我们需要将物料最小单位转换为销售单使用的数据,并通过金蝶云星空的batchSave
API接口写入目标系统。以下是元数据配置的详细解析:
{
"api": "batchSave",
"effect": "EXECUTE",
"method": "POST",
"idCheck": true,
"request": [
{"field": "FName", "label": "名称", "type": "string", "value": "{goodsName}"},
{"field": "FNumber", "label": "编码", "type": "string", "value": "{goodsNo}"},
{"field": "FSpecification", "label": "规格型号", "type": "string", "value": "{skuName}"},
{"field": "FOldNumber", "label": "旧物料编码", "type": "string", "value": "{goodsNo}"},
{"field": "FCreateOrgId",
"label": "创建组织",
"type": "string",
"parser":{"name":"ConvertObjectParser","params":"FNumber"},
"value":"I01"
},
{"field": ...
数据字段映射与转换
-
基本信息字段:
FName
(名称):映射到源数据中的goodsName
。FNumber
(编码):映射到源数据中的goodsNo
。FSpecification
(规格型号):映射到源数据中的skuName
。FOldNumber
(旧物料编码):同样映射到源数据中的goodsNo
。
-
组织信息字段:
FCreateOrgId
和FUseOrgId
:均使用固定值"I01",并通过ConvertObjectParser
进行解析,确保符合金蝶云星空的格式要求。
-
品牌信息字段:
FBrand
(品牌):映射到源数据中的brandName
。
-
子实体对象:
SubHeadEntity
: 包含多个子字段,如物料属性、存货类别、基本单位等。这些字段需要根据具体业务逻辑进行复杂的转换和解析。例如,存货类别字段需要根据条件进行动态赋值:{ ... {"field":"FCategoryID","label":"存货类别","type":"string","describe":"CHLB01_SYS","value":"_function CASE '{goodsField14}' WHEN '' THEN 'CHLB05_SYS' ELSE '{goodsField14}' END","parent":"SubHeadEntity","parser":{"name":"ConvertObjectParser","params":"FNumber"}} ... }
- 基本单位字段通过映射和解析确保正确性:
{ ... {"field":"FBaseUnitId","label":"基本单位","type":"string","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"{unitName}","parent":"SubHeadEntity","mapping":{"target":"6440ed07043a435b8a1976cc","direction":"positive"}} ... }
-
采购与生产信息:
- 采购组织字段同样需要通过解析器进行处理:
{ ... {"field":"FPurchaseOrgId","label":"采购组织","type":"string","value":"{ownerName}","parser":{"name":"ConvertObjectParser","params":"FNumber"},"mapping":{"target":"6441f0214af70a2f240adb22","direction":"positive"}} ... }
- 生产相关字段如可为主产品、可为联副产品等,均设置为固定值"true"。
- 采购组织字段同样需要通过解析器进行处理:
API调用配置
- API接口:使用金蝶云星空的
batchSave
接口,通过POST方法提交请求。 - 请求体包含基础资料验证、自动提交审核等选项,以确保数据一致性和有效性:
{ ... {"field":"IsAutoSubmitAndAudit","label":"IsAutoSubmitAndAudit","type":"bool","value":"true"}, {"field":"IsVerifyBaseDataField","label":"IsVerifyBaseDataField","type":"bool","describe":"是否验证所有的基础资料有效性,布尔类,默认false(非必录)","value":"true"} ... }
实践应用
在实际操作中,我们需要将上述配置应用于轻易云数据集成平台,通过全透明可视化界面配置并监控整个ETL过程。具体步骤如下:
- 配置元数据:在轻易云平台上导入上述元数据配置文件。
- 执行ETL流程:启动ETL流程,将源平台的数据提取并按照配置进行转换。
- 调用API接口:通过配置好的API接口,将转换后的数据写入金蝶云星空系统。
以上步骤确保了不同系统间的数据无缝对接,实现了高效的数据集成与转换。