旺店通·企业奇门数据集成到金蝶云星空的技术案例:采购入库单 all
在本次技术分享中,我们将详细探讨如何通过轻易云数据集成平台,将旺店通·企业奇门系统中的采购入库单(API:wdt.stockin.order.query.purchase)高效地集成到金蝶云星空(API:batchSave)。我们以实际运行方案“采购入库单 all”为例,逐步解析从获取数据到写入目标系统的全过程,并重点关注常见的技术难题及解决方案。
首先,在处理大量采购数据时,确保其高吞吐量的数据写入能力是关键。我们的设计始终围绕快速响应和大量数据传输展开,通过优化批量处理机制,显著提高了对接效率。另外,为应对接口调用过程中的分页和限流问题,我们特别添加了自定义的数据转换逻辑,从而适应不同业务需求和数据结构,提高整体操作可靠性。
实时监控与告警系统是一大特色,以集中式监控全面跟踪各个步骤的数据状态与性能表现。一旦发现异常情况或错误,即可迅速触发告警并执行预设重试机制。这充分保障了整个流程的顺畅运行。与此同时,旺店通·企业奇门与金蝶云星空之间存在明显的数据格式差异,对此我们通过定制化的映射策略进行有效处理,使得双方系统无缝衔接。此外,对于API资产管理功能,通过统一视图掌握接口使用情况,大大提升资源利用率,实现最优配置。
在具体实施过程中,我们还面临着如何保证不漏单的问题。从调度机制上考虑,我们采用定时抓取方式,结合事务控制确保每一笔订单都能准确无误地传递至目标数据库中。而对于多样性的元数据需求,可视化的数据流设计工具提供直观、易于管理的平台支持,使部署变得更加简便高效。
调用旺店通·企业奇门接口获取并加工采购入库单数据
在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用旺店通·企业奇门接口 wdt.stockin.order.query.purchase
获取采购入库单数据,并进行初步加工。
接口调用配置
首先,我们需要配置接口调用的元数据。以下是我们使用的元数据配置:
{
"api": "wdt.stockin.order.query.purchase",
"method": "POST",
"number": "order_no",
"id": "stockin_id",
"pagination": {
"pageSize": 50
},
"idCheck": true,
"condition_bk": [
[
{
"field": "order_no",
"logic": "eqv2",
"value": "RK2209070025"
}
]
],
"request": [
{
"field": "start_time",
"label": "开始时间",
"type": "datetime",
"describe": "增量获取数据,start_time作为开始时间,格式:yyyy-MM-dd HH:mm:ss",
"value": "{{LAST_SYNC_TIME|datetime}}"
},
{
"field": "end_time",
"label": "结束时间",
"type": "datetime",
"describe": "增量获取数据,end_time作为结束时间,格式:yyyy-MM-dd HH:mm:ss",
"value": "{{CURRENT_TIME|datetime}}"
},
{
"field": "status",
"label": "状态",
"type": "string",
"describe":"入库单状态 10已取消20编辑中25待价格确认30待审核60待结算80已完成(默认80)"
},
{
"field":"src_order_no",
...
参数解析与设置
-
API及方法:
api
:wdt.stockin.order.query.purchase
method
:POST
-
分页设置:
pagination.pageSize
: 每页返回的数据条数,这里设置为50。
-
请求参数:
start_time
和end_time
:用于增量获取数据,分别代表开始和结束时间。status
:入库单状态,默认为80(已完成)。src_order_no
:上层单据编号,可以不传开始和结束时间。warehouse_no
:仓库编号,用于获取指定仓库的单据信息。
-
其他请求参数:
page_size
和page_no
:用于分页控制,不传值默认从0页开始,每页40条记录。
数据请求与清洗
在实际操作中,我们会通过HTTP POST请求将上述参数发送到旺店通·企业奇门接口,并接收返回的数据。以下是一个示例请求体:
{
...
// 请求体内容
}
接收到的数据通常是一个JSON对象,其中包含了多个采购入库单的信息。我们需要对这些数据进行清洗和转换,以便后续处理。
数据转换与写入
清洗后的数据需要进行一定的转换,例如字段重命名、格式调整等,然后写入目标系统或数据库。在轻易云平台上,这一步可以通过可视化界面进行配置,无需编写复杂代码。
例如,将返回的JSON对象中的某些字段映射到目标数据库表的字段:
{
...
// 字段映射配置
}
实时监控与日志记录
在整个过程中,轻易云平台提供了实时监控和日志记录功能,可以帮助我们及时发现和解决问题。例如,如果某个字段的数据类型不匹配,会在日志中记录详细错误信息,方便排查。
通过以上步骤,我们实现了从旺店通·企业奇门接口获取采购入库单数据,并进行了初步加工。这只是数据集成生命周期中的第一步,但却是至关重要的一步,为后续的数据处理和分析打下了坚实基础。
使用轻易云数据集成平台将采购入库单数据转换并写入金蝶云星空
在数据集成过程中,将源平台的采购入库单数据转换为金蝶云星空API接口所能接收的格式是关键的一步。本文将详细探讨如何通过轻易云数据集成平台实现这一过程,重点关注ETL(Extract, Transform, Load)转换和API接口的配置。
1. API接口配置
根据元数据配置,我们需要调用金蝶云星空的batchSave
接口,通过POST方法提交采购入库单数据。以下是主要字段及其配置:
- FBillTypeID(单据类型):通过
ConvertObjectParser
解析器将外部系统中的单据类型编号转换为金蝶系统所需格式。 - FBusinessType(业务类型):直接从外部系统获取业务类型。
- FStockOrgId(收料组织):使用
ConvertObjectParser
解析器,将外部系统中的收料组织编号转换为金蝶系统格式。 - FPurchaseOrgId(采购组织):同样使用
ConvertObjectParser
解析器进行转换。
2. 数据请求与清洗
在数据请求阶段,我们需要从源平台获取采购入库单的相关信息。利用元数据配置中的查询语句,例如:
"value":"_findCollection find FBillTypeID from 56473207-ffc8-3996-b844-47de30ac4590 where FBillNo={outer_no}"
这段语句表示从指定集合中查找符合条件的单据类型ID。
3. 数据转换
在数据转换阶段,我们需要将源平台的数据字段映射到目标平台所需的字段,并进行必要的格式转换。例如:
- 日期字段:如
FDate(入库日期)
,直接从源平台获取并传递给目标平台。 - 基础资料字段:如供应商ID(FSupplierId),使用
ConvertObjectParser
解析器进行编号转换。
对于复杂结构的数据,如明细信息,需要特别注意每个子字段的处理。例如:
"children":[
{"field":"FMaterialId","label":"物料编码","type":"string","describe":"基础资料","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"{{details_list.spec_no}}"},
{"field":"FRealQty","label":"实收数量","type":"string","describe":"数量","value":"{{details_list.goods_count}}"}
]
这里,我们将物料编码和实收数量分别映射到目标平台的相应字段,并通过解析器进行必要的编号转换。
4. 数据写入
最终,经过清洗和转换的数据将通过API接口写入金蝶云星空。在这个过程中,我们需要确保所有必填字段都已正确填写,并且数据格式符合目标平台要求。以下是一个完整的数据提交示例:
{
"FormId": "STK_InStock",
"IsAutoSubmitAndAudit": true,
"Operation": "Save",
"IsVerifyBaseDataField": false,
"SubSystemId": "21",
"Model": {
"FBillTypeID": {"FNumber": "PUR_ReceiveBill"},
"FBusinessType": "普通采购",
"FStockOrgId": {"FNumber": "100"},
...
"FInStockEntry": [
{
"FMaterialId": {"FNumber": "{{details_list.spec_no}}"},
"FRealQty": "{{details_list.goods_count}}",
...
}
]
}
}
通过上述步骤,轻易云数据集成平台可以高效地将采购入库单数据从源平台提取、清洗、转换并写入到金蝶云星空,实现不同系统间的数据无缝对接。这不仅提高了业务流程的透明度和效率,还确保了数据的一致性和准确性。