聚水潭数据集成到金蝶云星辰V2的技术实现:调拨单对接其他出库单【调拨出库】
在本文中,我们将探讨如何通过轻易云数据集成平台,实现聚水潭中的调拨单快速、可靠地集成至金蝶云星辰V2的其他出库单。该实施方案不仅利用了高吞吐量的数据写入能力,还确保了每一批次数据都能精准且高效地传输。
高吞吐量与实时监控:应对海量数据
首先,针对大规模的数据处理需求,使用轻易云提供的平台,可以显著提高从聚水潭系统获取和处理调拨单数据的时效性。我们通过调用聚水潭API /open/allocate/query
定期抓取最新的调拨单信息,并解决接口分页和限流问题,以此保证不会出现漏单现象。此外,通过平台自带的集中监控和告警系统,我们能够实时跟踪所有任务状态,一旦某个环节出现异常,可立即触发告警并进行重试机制补救。
数据转换与映射:适配业务需求
在完成初步的数据抓取后,需要根据特定业务需求,进行必要的数据转换与映射。由于聚水潭和金蝶云星辰V2之间存在数据格式差异,这就要求我们充分利用轻易云提供的可视化数据流设计工具,自定义转换逻辑,将调拨单转化为符合金蝶规定格式的其他出库单。同时,也可以结合金蝶API /jdy/v2/scm/inv_other_out
完成最终的数据写入操作。在这一过程中,有效管理API资产也显得尤为重要,通过统一视图掌握各类API调用情况,提高资源配置效率。
本技术案例旨在呈现一个完整、高效且可扩展的数据集成解决方案,为企业实现跨系统平滑对接提供参考。本节仅介绍主要特点及相应处理方法,具体细节将在后续内容中详细说明。
调用聚水潭接口/open/allocate/query获取并加工数据
在数据集成生命周期的第一步,我们需要调用源系统的API接口来获取原始数据。本文将详细探讨如何通过轻易云数据集成平台调用聚水潭的/open/allocate/query
接口,获取调拨单数据并进行初步加工。
接口概述
聚水潭的/open/allocate/query
接口用于查询调拨单信息。该接口采用POST请求方式,支持分页查询和多种过滤条件。以下是元数据配置中的关键字段:
- api:
/open/allocate/query
- method:
POST
- number:
io_id
- id:
io_id
- name:
name
- idCheck:
true
请求参数配置
根据元数据配置,我们需要设置以下请求参数:
- modified_begin: 修改起始时间,使用模板变量
{{DAYS_AGO_1|datetime}}
表示一天前的时间。 - modified_end: 修改结束时间,使用模板变量
{{CURRENT_TIME|datetime}}
表示当前时间。 - page_index: 第几页,默认值为1。
- page_size: 每页多少条记录,默认值为30,最大值为50。
- type: 调拨类型,固定值为“调拨出”。
- date_type: 时间类型,固定值为2。
请求参数示例如下:
{
"modified_begin": "{{DAYS_AGO_1|datetime}}",
"modified_end": "{{CURRENT_TIME|datetime}}",
"page_index": "1",
"page_size": "30",
"type": "调拨出",
"date_type": "2"
}
条件过滤
为了确保我们获取到的是符合业务需求的数据,需要添加条件过滤。根据元数据配置,我们需要满足以下条件:
- 状态为“Confirmed”
- 仓库在指定列表中(如浙江濮院分仓主仓、销退仓等)
条件过滤示例如下:
{
"condition": [
{
"field": "status",
"logic": "in",
"value": ["Confirmed"]
},
{
"field": "warehouse",
"logic": "in",
"value": ["浙江濮院分仓主仓", "浙江濮院分仓销退仓", ...]
}
]
}
数据请求与清洗
在完成上述配置后,通过轻易云平台发起API请求,并自动填充响应数据。响应的数据将包含多个调拨单记录,每个记录都包含详细的信息,如调拨单号、状态、仓库等。
为了进一步处理这些数据,我们可以进行初步的数据清洗。例如,可以过滤掉不需要的字段,只保留必要的信息,并对某些字段进行格式转换或校验。
清洗后的数据示例如下:
[
{
"io_id": "123456",
"name": "调拨单123456",
...
},
...
]
数据转换与写入
在完成数据清洗后,我们可以将这些数据转换成目标系统所需的格式,并写入目标系统。在本案例中,我们需要将清洗后的调拨单数据转换成星辰系统的其他出库单格式,并通过相应的API接口写入星辰系统。
总结来说,通过轻易云平台调用聚水潭的/open/allocate/query
接口,可以高效地获取并处理调拨单数据。这一步骤不仅确保了数据的一致性和准确性,还为后续的数据转换与写入奠定了坚实基础。
使用轻易云数据集成平台进行ETL转换并写入金蝶云星辰V2 API接口
在数据集成的生命周期中,ETL(Extract, Transform, Load)转换是关键的一步。本文将详细探讨如何使用轻易云数据集成平台,将源平台的数据转换为目标平台金蝶云星辰V2 API接口所能接收的格式,并最终写入目标平台。
元数据配置解析
元数据配置是实现ETL转换的核心。以下是针对金蝶云星辰V2 API接口的具体元数据配置:
{
"api": "/jdy/v2/scm/inv_other_out",
"effect": "EXECUTE",
"method": "POST",
"number": "id",
"id": "id",
"name": "id",
"idCheck": true,
"request": [
{"field":"bill_date","label":"单据日期","type":"string","describe":"单据日期","value":"{io_date}"},
{"field":"bill_no","label":"单据编码","type":"string","describe":"单据编码","value":"{io_id}"},
{"field":"trans_type_id","label":"业务类型id","type":"string","describe":"业务类型id","value":"13"},
{"field":"custom_field","label":"自定义字段","type":"object","children":[{"field":"custom_field__1__3uapqb6ot43jia","label":"出库类型","type":"string","value":"调拨出库"}]},
{"field":"operation_key","label":"操作类型","type":"string","describe":"操作类型,审核audit、提交submit","value":"audit"},
{"field":"remark","label":"备注","type":"string","value":"{remark}"},
{"field":"material_entity","label":"商品分录","type":"array","describe":"商品分录","value":"items", "children":[
{"field": "material_id", "label": "商品", "type": "string", "describe": "商品", "value": "_findCollection find id from ac1d70fd-05db-3961-a168-b5617749605e where number={{items.sku_id}}"},
{"field": "qty", "label": "数量", "type": "string", "describe": "数量", "value": "{{items.qty}}"},
{"field": "unit_id", "label": "单位", "type": "string", "describe": "单位", "value": "4"},
{"field": "stock_id", "label": "仓库", "type": "string", "describe": "仓库", "value": "_findCollection find id from f05acc4f-b637-3497-86d3-3ed5423f226a where name={warehouse}"},
{"field": "cost", "label" : "出库成本" , "type" : "string" , "value" : "_findCollection find skus_cost_price from 152f8a9b-100c-34b4-8dd4-3eab4deba9b3 where skus_sku_id={{items.sku_id}}"}
]}
]
}
数据请求与清洗
在进行ETL转换之前,首先需要从源平台获取原始数据并进行清洗。假设我们从聚水潭系统中提取调拨单数据,该数据可能包含多个字段如io_date
、io_id
、remark
以及包含商品信息的items
数组。
数据转换
根据上述元数据配置,我们需要将源平台的数据字段映射到目标平台所需的字段格式:
- 单据日期(bill_date):直接映射为源数据中的
io_date
。 - 单据编码(bill_no):直接映射为源数据中的
io_id
。 - 业务类型ID(trans_type_id):固定值为
13
。 - 自定义字段(custom_field):嵌套对象,固定值“调拨出库”。
- 操作类型(operation_key):固定值“audit”。
- 备注(remark):直接映射为源数据中的
remark
。 - 商品分录(material_entity):这是一个数组,需要逐项处理每个商品条目:
- 商品ID(material_id):通过SKU ID在特定集合中查找对应的商品ID。
- 数量(qty):直接映射为源数据中的数量字段。
- 单位ID(unit_id):固定值为
4
。 - 仓库ID(stock_id):通过仓库名称在特定集合中查找对应的仓库ID。
- 出库成本(cost):通过SKU ID在特定集合中查找对应的成本价格。
数据写入
完成上述转换后,使用POST方法将处理好的JSON对象发送到金蝶云星辰V2 API接口:
{
'bill_date': '2023-10-01',
'bill_no': 'DB20231001001',
'trans_type_id': '13',
'custom_field': {
'custom_field__1__3uapqb6ot43jia': '调拨出库'
},
'operation_key': 'audit',
'remark': '这是一个测试备注',
'material_entity': [
{
'material_id': '1234567890abcdef',
'qty': '10',
'unit_id': '4',
'stock_id': 'abcdef1234567890',
'cost': '100'
}
// 更多商品条目...
]
}
通过轻易云的数据集成平台,我们可以高效地完成从源平台到目标平台的数据ETL转换和写入过程,实现不同系统间的数据无缝对接。这不仅提高了业务流程的自动化程度,也确保了数据的一致性和准确性。