金蝶云星空数据集成到旺店通·企业奇门:组装子项出库
在复杂的供应链和仓储管理中,实现不同系统间的数据无缝对接,是提升业务效率和准确性的关键。在本篇技术案例中,我们将探讨如何通过轻易云数据集成平台,将金蝶云星空系统中的组装子项出库数据,经过处理后集成到旺店通·企业奇门。
首先,通过调用金蝶云星空的API接口executeBillQuery
获取相关的数据。这一步骤必须确保高吞吐量,以便在短时间内抓取大量订单信息。在具体实现过程中,需要处理分页与限流的问题,以防止API请求超出限制。同时,为了保证不漏单,每次查询都会记录最后成功获取的数据标识,作为下一轮抓取的起点。
其次,对从金蝶云星空获取到的数据进行自定义转换。由于两端系统使用的字段结构可能存在差异,所以需要设定相应的映射规则。这些规则可以通过可视化设计工具灵活配置,使得整个过程更加直观易于管理。此外,还需进行必要的异常检测和数据质量监控,以确保传输过来的数据符合目的系统要求,并及时处理潜在问题。
最终,处理后的数据会通过调用旺店通·企业奇门写入接口wdt.stockout.order.push
进行批量推送。同样,这一步骤还包括集中监控和告警功能,可以实时跟踪每个任务执行状态,任何错误发生时都能立即响应并重新尝试。这种可靠性机制确保了所有有效订单能够顺利进入目标系统,从而完成整体流程闭环。
这一系列操作通过轻易云平台全透明可视化界面实现,不仅简化了复杂操作,也大幅提高了实施效率。下面详细解析各个步骤及其背后的技术原理。
调用金蝶云星空接口executeBillQuery获取并加工数据
在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用金蝶云星空的executeBillQuery
接口,以获取并加工“组装子项出库”相关的数据。
接口配置与请求参数
首先,我们需要配置元数据以便正确调用金蝶云星空的API。以下是关键的元数据配置:
{
"api": "executeBillQuery",
"method": "POST",
"number": "FBillNo",
"id": "FSubEntity_FDetailID",
"pagination": {"pageSize": 500},
"idCheck": true,
"request": [
{"field":"FID","label":"实体主键","type":"string","value":"FID"},
{"field":"FBillNo","label":"单据编号","type":"string","value":"FBillNo"},
{"field":"FDocumentStatus","label":"单据状态","type":"string","value":"FDocumentStatus"},
{"field":"FStockOrgId_FNumber","label":"库存组织","type":"string","value":"FStockOrgId.FNumber"},
{"field":"FDate","label":"日期","type":"string","value":"FDate"},
{"field":"FBillTypeID","label":"单据类型","type":"string","value":"FBillTypeID"},
{"field":"FOwnerTypeIdHead","label":"成品货主类型","type":"string","value":"FOwnerTypeIdHead"},
{"field":"FOwnerIdHead_FNumber","label":"成品货主","type":"string","value":"FOwnerIdHead.FNumber"},
{"field":"FAffairType","label":"事务类型","type":"string","value":"FAffairType"},
{"field":"FEE","label":"费用","type":"string","value":"FEE"},
{"field": "FDeptID_FNumber", "label": "部门", "type": "string", "value": "FDeptID.FNumber"},
// ...省略部分字段...
],
"otherRequest": [
{"field": "Limit", "label": "最大行数", "type": "string", "describe": "金蝶的查询分页参数", "value": "{PAGINATION_PAGE_SIZE}"},
{"field": "StartRow", "label": "开始行索引", "type": "string", "describe": "金蝶的查询分页参数", "value": "{PAGINATION_START_ROW}"},
{"field": "TopRowCount", "label": "返回总行数", "type": int, describe: 金蝶的查询分页参数},
{
field: FilterString,
label: 过滤条件,
type: string,
describe: 示例写法 FSupplierId.FNumber = 'VEN00010' and FApproveDate>=,
value: FApproveDate>='{{LAST_SYNC_TIME|datetime}}' and FAFFAIRTYPE = 'Assembly' and FStockIDSETY.FNumber<>'39'
},
{
field: FieldKeys,
label: 需查询的字段key集合,
type: array,
describe: 金蝶分录主键ID格式:FPOOrderEntry_FEntryId,其它格式 FPurchaseOrgId.FNumber,
parser: {name: ArrayToString, params:,}
},
{field: FormId, label: 业务对象表单Id, type: string, describe: 必须填写金蝶的表单ID如:PUR_PurchaseOrder, value: STK_AssembledApp},
{field: FBillNo, label: FBillNo, type: string}
]
}
请求构建与发送
在构建请求时,我们需要特别注意以下几点:
- 分页处理:由于数据量可能较大,我们设置了分页参数,每页返回500条记录。
- 过滤条件:使用
FilterString
字段来定义具体的过滤条件,例如只获取特定事务类型和库存状态的数据。 - 字段选择:通过
FieldKeys
指定需要查询的字段,确保只返回必要的数据,减少不必要的数据传输。
构建请求示例:
{
method: POST,
url: https://api.kingdee.com/executeBillQuery,
headers: {
Content-Type: application/json
},
data:{
FormId:"STK_AssembledApp",
FieldKeys:"FID,FBillNo,FDocumentStatus,FStockOrgId.FNumber,FDate,...",
FilterString:"FApproveDate>='2023-01-01' and FAFFAIRTYPE = 'Assembly' and FStockIDSETY.FNumber<>'39'",
Limit:"500",
StartRow:"0"
}
}
数据清洗与转换
在接收到原始数据后,需要进行清洗和转换,以便后续处理。以下是一些常见的数据清洗操作:
- 去除无效记录:根据业务规则去除无效或重复记录。
- 字段映射:将原始字段映射到目标系统所需的字段格式。
- 数据类型转换:确保所有字段的数据类型符合目标系统要求,例如日期格式转换、数值类型校验等。
示例代码:
def clean_and_transform(data):
cleaned_data = []
for record in data:
if record['FDocumentStatus'] != 'A':
continue
transformed_record = {
'bill_no': record['FBillNo'],
'date': convert_date(record['FDate']),
'stock_org': record['FStockOrgId_FNumber'],
// ...其他字段映射...
}
cleaned_data.append(transformed_record)
return cleaned_data
def convert_date(date_str):
# 假设日期格式为YYYY-MM-DD
return datetime.strptime(date_str, '%Y-%m-%d').strftime('%d/%m/%Y')
数据写入
清洗和转换后的数据可以通过轻易云平台写入到目标系统中。这一步通常涉及到调用目标系统的API,并确保数据按预期方式存储。
总结以上步骤,通过轻易云数据集成平台调用金蝶云星空接口,可以高效地获取并加工“组装子项出库”相关的数据,为后续的数据处理和分析奠定基础。
使用轻易云数据集成平台进行ETL转换并写入旺店通·企业奇门API接口
在数据集成的生命周期中,ETL(提取、转换、加载)过程是将源平台的数据转换为目标平台所需格式的关键步骤。本文将深入探讨如何利用轻易云数据集成平台,将源平台的数据通过ETL转换为旺店通·企业奇门API接口所能接收的格式,并最终写入目标平台。
1. 数据请求与清洗
在数据集成过程中,首先需要从源系统中提取原始数据并进行清洗。假设我们已经完成了这一步,获得了结构化的原始数据。接下来,我们将重点放在如何配置和使用元数据进行ETL转换。
2. 元数据配置解析
根据提供的元数据配置,我们需要将源平台的数据转换为旺店通·企业奇门API接口所需的格式。以下是元数据配置的详细解析:
{
"api": "wdt.stockout.order.push",
"effect": "EXECUTE",
"method": "POST",
"idCheck": true,
"request": [
{
"field": "outer_no",
"label": "外部单号",
"type": "string",
"value": "{FBillNo}"
},
{
"field": "warehouse_no",
"label": "仓库编号",
"type": "string",
"value": "{{details.FStockIDSETY_FNumber}}"
},
{
"field": "remark",
"label": "备注",
"type": "string",
"value": "组装子项出库"
},
{
"field": "is_check",
"label": "是否审核",
"type": "string",
"value": "1"
},
{
"field": "detail_list",
"label": "货品列表节点",
"type": "array",
"value": "details",
![如何对接金蝶云星空API接口](https://pic.qeasy.cloud/T23.png~tplv-syqr462i7n-qeasy.image)