案例分享:金蝶云星空数据集成到旺店通·旗舰版
在本次技术案例中,我们将探讨如何通过轻易云数据集成平台,将金蝶云星空的成品组装数据高效地导入到旺店通·旗舰版的委外仓库入库业务。本方案名称为“标准-金蝶-成品组装——>旺店通-委外仓入(入库业务)”,目标是在确保不漏单、快速写入和可靠抓取数据等方面实现最佳实践。
1. 确保集成过程中的准确性
为了确保从金蝶云星空获取的数据不遗漏,首先需要调用其executeBillQuery
接口,对特定时间范围内的数据进行查询。我们可以设置定时任务,通过控制间隔时间和分页方式抓取全量数据。分页是一个关键点,因为一次性拉取大量数据可能会导致网络阻塞或超时问题。在这一步中,需要特别注意处理API返回的限流错误,采用合适的重试机制以保证稳定性。
{
"methodName": "executeBillQuery",
"parameters": {
"dataRange": "daily",
// 更多参数配置
}
}
2. 数据格式转换与映射
由于金蝶云星空与旺店通·旗舰版使用不同的数据格式,因此在将获取的数据写入前,需要进行必要的数据转换与映射。例如,金蝶云星空中的某些字段可能需要重新命名或修改其内容结构,以符合旺店通系统要求。对接过程中,可以借助轻易云提供的一系列自定义脚本功能,实现复杂逻辑变换。这不仅能提高转换效率,也有助于减少人为操作造成的失误。
{
// 金蝶->旺店通 映射示例 JSON 模板
}
3. 快速批量写入至目标系统
利用API wms.stockother.In.push
接口向旺店通·旗舰版推送已经转化好的数据信息,同样需要考虑大批量数据传输的问题。这里可采用分批写入的方法,每次提交一定数量记录,使得整个系统保持高性能运作。此外,为了监控每一批次的处理结果,可以开启实时日志记录功能,这对于后续故障排除和性能优化至关重要。
{
"methodName": "wms.stockother.In.push",
"parameters": {
// 批量写入 data package 示例
}
}
通过以上步骤,使得原本繁复且容易出错的手工流程变得自动化、透明化,不仅提升了总体运行效率,更加速了企业
调用金蝶云星空接口executeBillQuery获取并加工数据
在数据集成过程中,调用源系统的API接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用金蝶云星空的executeBillQuery
接口,以获取并加工数据。
接口配置与请求参数
首先,我们需要配置元数据,以便正确调用executeBillQuery
接口。以下是该接口的元数据配置:
{
"api": "executeBillQuery",
"effect": "QUERY",
"method": "POST",
"number": "FBillNo",
"id": "FEntity_FEntryID",
"idCheck": true,
"request": [
{"field":"FID","label":"FID","type":"string","describe":"111","value":"FID"},
{"field":"FEntity_FEntryID","label":"FEntity_FEntryID","type":"string","describe":"111","value":"FEntity_FEntryID"},
{"field":"FBillNo","label":"FBillNo","type":"string","describe":"111","value":"FBillNo"},
{"field":"FDocumentStatus","label":"FDocumentStatus","type":"string","describe":"111","value":"FDocumentStatus"},
{"field":"FStockOrgId_FNumber","label":"FStockOrgId_FNumber","type":"string","describe":"111","value":"FStockOrgId.FNumber"},
{"field":"FDate","label":"FDate","type":"string","describe":"111","value":"FDate"},
{"field":"FBillTypeID_FNumber","label":"FBillTypeID_FNumber","type":"string","describe":"111","value":"FBillTypeID.FNumber"},
{"field":"FOwnerIdHead_FNumber","label":"FOwnerIdHead_FNumber","type":"string","describe":"111","value":"FOwnerIdHead.F.Number"},
{"field":...}
],
"otherRequest": [
{"field": "Limit", "label": "Limit", "type": "string", "describe": "金蝶的查询分页参数", "value": "{PAGINATION_PAGE_SIZE}"},
{"field": "StartRow", "label": "StartRow", "type": "string", "describe": "金蝶的查询分页参数", "value": "{PAGINATION_START_ROW}"},
{"field":...}
],
...
}
请求参数详解
-
基本字段:
FID
、FEntity_FEntryID
、FBillNo
等字段用于标识和过滤查询结果。FDocumentStatus
、FStockOrgId_FNumber
等字段用于指定查询条件。
-
分页参数:
Limit
: 每页返回的数据条数。StartRow
: 查询起始行。
-
过滤条件:
FilterString
: 用于指定复杂的过滤条件,例如:FSupplierId.FNumber = 'VEN00010' and FApproveDate>= '2024-08-05 17:30:00'
.
-
表单ID:
FormId
: 必须填写金蝶的表单ID,例如:STK_AssembledApp
.
调用接口
在轻易云数据集成平台中,配置好上述元数据后,即可通过平台提供的可视化界面发起API请求。以下是一个示例请求:
{
"FormId": "STK_AssembledApp",
"FieldKeys": ["FID", ..., ...],
...
}
该请求将返回符合条件的数据记录。轻易云平台会自动处理响应,并将其转换为标准化的数据格式,便于后续处理。
数据清洗与转换
获取到原始数据后,需要进行清洗和转换,以确保数据符合目标系统的要求。这一步骤包括:
- 字段映射:将源系统字段映射到目标系统字段。例如,将金蝶中的
FBillNo
映射到目标系统中的订单编号。 - 数据格式转换:例如,将日期格式从YYYY-MM-DD转换为目标系统所需的格式。
- 数据校验:检查关键字段是否为空或格式是否正确,确保数据质量。
实践案例
假设我们需要从金蝶云星空中获取特定时间段内所有已审核且属于“委外仓”的成品组装单,并将其导入旺店通系统。具体步骤如下:
-
配置元数据,设置必要的过滤条件:
{ ... "FilterString": "'FAffairType='Assembly' and FDate>='2024-08-05 17:30:00'" ... }
-
发起API请求,获取符合条件的数据记录。
-
对返回的数据进行清洗和转换,确保其符合旺店通系统的要求。
-
将处理后的数据写入旺店通系统。
通过上述步骤,我们可以高效地实现不同系统间的数据集成,确保业务流程的顺畅运行。
使用轻易云数据集成平台实现数据转换与写入旺店通·旗舰版API接口
在轻易云数据集成平台中,生命周期的第二步是将已经集成的源平台数据进行ETL转换,并转为目标平台所能够接收的格式。本文将详细探讨如何将金蝶系统中的成品组装数据转换为旺店通·旗舰版API接口所需的格式,并最终写入目标平台。
数据请求与清洗
首先,我们需要从金蝶系统中提取相关的数据。这一步骤涉及到对原始数据进行清洗和预处理,以确保其符合后续ETL过程的要求。假设我们已经完成了这一阶段,接下来进入数据转换与写入阶段。
数据转换与写入
在本案例中,我们需要将金蝶系统中的成品组装数据转换为旺店通·旗舰版API接口wms.stockother.In.push
所需的格式。以下是具体的元数据配置:
{
"api": "wms.stockother.In.push",
"effect": "EXECUTE",
"method": "POST",
"idCheck": true,
"request": [
{
"field": "order",
"label": "单据头",
"type": "object",
"children": [
{"field": "outer_no", "label": "外部单号", "type": "string", "value": "{FBillNo}"},
{"field": "warehouse_no", "label": "仓库编号", "type": "string", "value": "{FStockID_FNumber}"},
{"field": "reason", "label": "入库原因", "type": "string", "value": "成品组装入库"},
{"field": "is_check", "label": "是否审核", "type": "string", "value":"true"},
{"field":"remark","label":"备注","type":"string","value":"{FNote}"}
]
},
{
"field":"order_details",
"label":"单据明细",
"type":"array",
"value":"list",
"children":[
{"field":"spec_no","label":"商家编码","type":"string","value":"{FMaterialID_FNumber}"},
{"field":"num","label":"数量","type":"string","value":"{FQty}"},
{"field":"price","label":"入库价","type":"string","value":"{FMATERIALID_FRefCost}"},
{"field":"remark","label":"明细备注","type":"string"}
]
}
],
...
}
单据头(Order)
- outer_no(外部单号):对应金蝶系统中的
FBillNo
字段。 - warehouse_no(仓库编号):对应金蝶系统中的
FStockID_FNumber
字段。 - reason(入库原因):固定值为“成品组装入库”。
- is_check(是否审核):固定值为“true”。
- remark(备注):对应金蝶系统中的
FNote
字段。
单据明细(Order Details)
- spec_no(商家编码):对应金蝶系统中的
FMaterialID_FNumber
字段。 - num(数量):对应金蝶系统中的
FQty
字段。 - price(入库价):对应金蝶系统中的
FMATERIALID_FRefCost
字段。 - remark(明细备注):此处为空,可以根据需求添加相应内容。
数据聚合与计算
在元数据配置中,我们还定义了如何对数据进行聚合和计算:
"groupCalculate":{
...
...
}
- headerGroup:包括了单据头所需的字段,如
FBillNo
,FStockID_FNumber
,FID
,FNote
等。 - bodyGroup:包括了单据明细所需的字段,如
FMaterialID_FNumber
,FDescription
,FMaterialID_FRefCost
等。 - bodyName:定义了单据明细数组的名称,即“list”。
- calculate:定义了需要进行计算的字段,例如对数量(
FQty
)进行求和操作。
构建模型并执行
最后,通过设置buildModel: true
,我们可以自动构建符合目标平台要求的数据模型,并使用POST方法将其发送到旺店通·旗舰版API接口进行执行。
"buildModel": true
通过上述配置和操作,我们可以确保从金蝶系统提取的数据经过清洗、转换后,能够无缝对接到旺店通·旗舰版,实现业务流程的自动化和高效化。