金蝶云星空数据集成到聚水潭:采购入库单对接其他入库单案例分享
在本次技术案例中,我们将重点介绍如何通过轻易云数据集成平台,实现金蝶云星空的采购入库单高效且可靠地对接到聚水潭系统中的其他入库单。具体方案名称为“金蝶-采购入库单——>聚水潭-其他入库单”。整个过程充分利用了平台成熟的数据处理能力,包括实时监控、告警及高吞吐量写入等功能,确保每一笔业务数据都能够精准、及时地传递和转换。
首先,我们需要从金蝶云星空获取采购入库单数据。为了实现这一目标,调用executeBillQuery接口至关重要。该API可以定时抓取指定条件下的所有符合条件的数据,并进行分页处理与限流控制,以应对大量业务数据。同时,为避免漏单情况发生,在实际配置过程中需特别关注接口返回值及日志记录,做到全面覆盖。
接下来,将获取的原始数据经过简单校验和过滤后,通过轻易云提供的数据转换逻辑模块,自定义映射为适配聚水潭格式的新结构。在这个环节中,可视化设计工具显得尤为重要,它不仅使复杂的数据流变得直观易懂,还能直观展示整个转换流程,从而减少人力成本,提高效率。
最后,通过调用聚水潭的写入API /open/jushuitan/otherinout/upload,将已经格式化好的其他入库订单批量提交至系统。这一步同样依赖于高效稳定的网络连接以及强大的错误重试机制。一旦出现异常或写入失败情况,平台会自动触发告警并重新尝试提交,以保证最终结果无误差。
此次案例不仅展示了如何解决不同系统间复杂多变的数据交互问题,也证明了灵活、智能的平台服务能大幅度提升企业运营效率与准确性。
调用金蝶云星空接口executeBillQuery获取并加工数据
在数据集成的生命周期中,调用源系统接口获取数据是至关重要的一步。本文将深入探讨如何通过轻易云数据集成平台调用金蝶云星空的executeBillQuery
接口来获取采购入库单的数据,并进行初步加工。
接口配置与请求参数
首先,我们需要配置元数据,以便正确调用executeBillQuery
接口。以下是关键的元数据配置:
{
"api": "executeBillQuery",
"effect": "QUERY",
"method": "POST",
"number": "FBillNo",
"id": "FInStockEntry_FEntryId",
"name": "FBillNo",
"idCheck": true,
"request": [
{"field":"FInStockEntry_FEntryId","label":"id","type":"string","describe":"id","value":"FInStockEntry_FEntryId"},
{"field":"FID","label":"实体主键","type":"string","describe":"实体主键","value":"FID"},
{"field":"FBillNo","label":"单据编号","type":"string","describe":"单据编号","value":"FBillNo"},
{"field":"FDocumentStatus","label":"单据状态","type":"string","describe":"单据状态","value":"FDocumentStatus"},
{"field":"FStockOrgId_FNumber","label":"收料组织","type":"string","describe":"收料组织","value":"FStockOrgId.FNumber"},
{"field":"FDate","label":"入库日期","type":"string","describe":"入库日期","value":"FDate"},
{"field":"FBillTypeID_FNumber","label":"单据类型","type":"string","describe":"单据类型","value":"FBillTypeID.FNumber"},
{"field":"FOwnerTypeIdHead","label":"货主类型","type":"string","describe":"货主类型","value":"FOwnerTypeIdHead"},
{"field":...}
],
...
}
请求参数详解
在实际调用中,我们需要构建一个包含所有必要字段的请求体。以下是一些关键字段及其描述:
FormId
: 必须填写金蝶的表单ID,如STK_InStock
。FieldKeys
: 查询的字段集合,格式为数组。FilterString
: 用于过滤查询结果的条件字符串,例如:FSupplierId.FNumber = 'VEN00010' and FApproveDate>='{{LAST_SYNC_TIME|dateTime}}' AND FSTOCKID in ('285633','327726') AND FMaterialId.FNumber<>'09.0001'
。Limit
,StartRow
,TopRowCount
: 分页参数,用于控制查询结果的分页。
示例请求体:
{
"FormId": "STK_InStock",
"FieldKeys": ["FID", "FBillNo", "FDocumentStatus", ...],
"FilterString": "FSupplierId.FNumber = 'VEN00010' and FApproveDate>='2023-01-01'",
"Limit": 100,
"StartRow": 0
}
数据处理与清洗
获取到原始数据后,需要对其进行清洗和初步加工,以便后续的数据转换和写入。以下是一些常见的数据清洗操作:
- 字段映射:将金蝶返回的数据字段映射到目标系统所需的字段。例如,将
FBillNo
映射为目标系统中的订单编号。 - 数据格式转换:将日期、金额等字段转换为目标系统所需的格式。例如,将日期格式从
YYYY-MM-DD
转换为目标系统所需的格式。 - 数据过滤:根据业务需求过滤掉不需要的数据行。例如,只保留状态为“已审核”的记录。
示例代码(伪代码):
def clean_data(raw_data):
cleaned_data = []
for record in raw_data:
if record['FDocumentStatus'] == 'C':
cleaned_record = {
'order_no': record['FBillNo'],
'order_date': convert_date_format(record['FDate']),
'supplier': record['FSupplierId_FNumber'],
...
}
cleaned_data.append(cleaned_record)
return cleaned_data
实时监控与日志记录
在整个数据请求与清洗过程中,实时监控和日志记录是确保数据处理透明度和可靠性的关键。可以通过轻易云平台提供的监控工具实时查看数据流动和处理状态,并记录每一步操作的日志,以便后续审计和问题排查。
总结来说,通过合理配置元数据并构建合适的请求体,我们可以高效地调用金蝶云星空接口获取采购入库单的数据,并通过一系列清洗操作,为后续的数据转换和写入做好准备。这不仅提升了业务透明度,也极大提高了数据处理效率。
轻易云数据集成平台:ETL转换与聚水潭API接口集成
在数据集成的生命周期中,将源平台的数据进行ETL转换并写入目标平台是至关重要的一步。本文将详细探讨如何使用轻易云数据集成平台将金蝶的采购入库单数据转换为聚水潭API接口所能接收的格式,并最终写入聚水潭系统。
1. 数据请求与清洗
在数据请求与清洗阶段,我们从金蝶系统中获取采购入库单的数据。假设我们已经完成了这一阶段,接下来需要对获取到的数据进行ETL转换。
2. 数据转换与写入
为了将金蝶的采购入库单数据转换为聚水潭API接口所能接收的格式,我们需要根据提供的元数据配置进行详细操作。
API 接口配置
根据元数据配置,聚水潭API接口路径为/open/jushuitan/otherinout/upload
,请求方法为POST。以下是具体字段映射及其说明:
{
"api": "/open/jushuitan/otherinout/upload",
"effect": "EXECUTE",
"method": "POST",
"idCheck": true,
"request": [
{
"field": "is_confirm",
"label": "是否确认单据",
"type": "string",
"describe": "是否确认单据;默认false",
"value": "1"
},
{
"field": "excute_confirming",
"label": "是否审核单据",
"type": "string",
"describe": "是否审核单据;默认false",
"value": "true"
},
{
"field": "wms_co_id",
"label": "分仓编号",
"type": "string",
"describe": "分仓编号",
"value": "{FStockId_FNumber}",
...
},
...
]
}
字段映射与处理
-
确认单据与审核单据:
is_confirm
:设置为"1",表示确认单据。excute_confirming
:设置为"true",表示审核单据。
-
分仓编号:
wms_co_id
:映射到金蝶系统中的FStockId_FNumber
字段。
-
仓库类型:
warehouse
:默认为1,表示主仓。
-
出入库类型:
type
:设置为"in",表示入库。
-
外部单号:
external_id
:映射到金蝶系统中的FBillNo
字段。
-
备注:
remark
:映射到金蝶系统中的FNOTE
字段,不能传空值。
-
出库类型:
drp_co_name
:固定值“其他入库”。
-
商品列表(items): 商品列表是一个数组,每个商品包含以下字段:
sku_id
:映射到金蝶系统中的FMaterialId_FNumber
字段。sale_price
:商品单价。remark
:备注。qty
:数量,映射到金蝶系统中的FRealQty
字段。produced_date
:生产日期(需开启相关配置)。expiration_date
:有效期至(需开启相关配置)。
数据组装与计算
根据元数据配置,我们需要对数据进行组装和计算:
"groupCalculate":{
...
,"calculate":{
...
,"FRealQty":"$sum"
}
}
这里,我们对商品数量(FRealQty
)进行求和操作,以确保每个商品的总数量正确无误。
请求示例
最终组装好的请求体示例如下:
{
...
,"is_confirm":"1"
,"excute_confirming":"true"
,"wms_co_id":"12345"
,"warehouse":"1"
,"type":"in"
,"external_id":"PO12345678"
,"remark":"采购入库"
,"drp_co_name":"其他入库"
,"items":[
{
...
,"sku_id":"SKU001"
,"sale_price":"100"
,"remark":"无"
,"qty":"10"
}
,...
]
}
通过上述步骤,我们成功地将金蝶系统中的采购入库单数据转换为聚水潭API接口所能接收的格式,并通过POST请求将其写入目标平台。