旺店通系统如何通过配置高效获取出库数据

  • 轻易云集成顾问-卢剑航

案例分析:旺店通企业奇门数据集成到金蝶云星空

在本案例中,我们将详细探讨如何通过轻易云数据集成平台实现对旺店通·企业奇门系统与金蝶云星空平台的无缝数据对接。具体实施方案命名为“旺店通其他出库对接金蝶其他出库”,旨在确保出库数据的高效、准确传输。

一、接口调用与数据获取

首先,我们需要从旺店通·企业奇门系统中获取相关的数据,调用API接口wdt.stockout.order.query来定时抓取最新出库订单信息。这一步骤至关重要,因其直接关系到整个后续处理流程的数据完整性和及时性。为了避免漏单,我们采用了可靠的定时任务调度机制,并结合分页查询技术以确保大批量数据能够快速、安全地读取。

二、分页与限流问题的解决

由于网络请求不可避免地受到限制,在处理大批量订单时,需要关注分页以及限流问题。在实际操作过程中,通过合理设置API请求参数,如每次查询记录数及请求间隔时间,可以有效减少服务器负载并防止触发反爬虫机制。同时,通过实时监控机制,可以动态调整这些参数,以适应不同时段的数据访问需求,提高集成效率。

三、数据格式转换与映射

考虑到两个系统的数据存储结构可能存在差异,原始订单信息必须经过一定的转换才能被成功写入到目标系统——金蝶云星空。同样的重要的是,对不同字段所需进行精确映射,这就需要借助平台提供的定制化映射工具,有效解决两者之间的数据格式差异问题。此外,还通过设计一系列规则引擎来确保所有关键字段均被正确填充,从而保障业务逻辑的一致性。

数据写入金蝶云星空

完成上述步骤之后,将转至写入环节。我们使用了金蝶云星空开放API batchSave 进行批量插入操作,以提高整体运行效率。在这个过程中,为进一步增强可控性,还加入了一套完善异常处理和错误重试机制。一旦出现失败或者错误,会立刻触发预设重试策略,并生成详细日志文件供后期排查使用。

准备好以上基础配置之后,即可进入下一步更深入具体实施方案部分,包括细化每个接口调用过程、错误捕获策略和性能优化等内容。如果你想了解更多,请继续跟随我们的分享,一起探索这场精彩纷呈的数据之旅! 金蝶与MES系统接口开发配置

调用旺店通·企业奇门接口wdt.stockout.order.query获取并加工数据

在数据集成生命周期的第一步中,调用源系统接口获取数据是至关重要的一环。本文将详细探讨如何通过轻易云数据集成平台调用旺店通·企业奇门接口wdt.stockout.order.query,并对获取的数据进行初步加工。

接口调用配置

首先,我们需要配置接口调用的元数据。根据提供的元数据配置,我们可以看到该接口采用POST方法,主要参数包括出库单号、开始时间、结束时间等。以下是具体的请求参数配置:

{
  "api": "wdt.stockout.order.query",
  "method": "POST",
  "number": "order_no",
  "id": "stockout_id",
  "pagination": {
    "pageSize": 30
  },
  "idCheck": true,
  "request": [
    {"field": "start_time", "label": "开始时间", "type": "string", "value": "{{LAST_SYNC_TIME|datetime}}"},
    {"field": "end_time", "label": "结束时间", "type": "string", "value": "{{CURRENT_TIME|datetime}}"},
    {"field": "order_type", "label": "出库单类型", "type": "string", "value":"7"},
    {"field": "status", "label":"出库单状态","type":"string"},
    {"field":"warehouse_no","label":"仓库编号","type":"string"},
    {"field":"src_order_no","label":"源单号","type":"string"},
    {"field":"stockout_no","label":"出库单号","type":"string"}
  ],
  ...
}

请求参数解析

  1. 开始时间和结束时间:使用模板变量{{LAST_SYNC_TIME|datetime}}{{CURRENT_TIME|datetime}}动态生成请求的时间范围,确保每次同步的数据都是最新的。
  2. 出库单类型:固定值为7,表示特定类型的出库单。
  3. 分页参数:通过page_sizepage_no控制每次请求的数据量和页码,默认每页30条记录。

数据过滤与条件设置

为了确保获取的数据符合业务需求,我们可以设置过滤条件。例如,通过remark字段进行模糊匹配,只获取备注中包含“报损”或“盘亏”的记录:

"condition":[
  [{"field":"remark","logic":"like","value":"报损"}],
  [{"field":"remark","logic":"like","value":"盘亏"}]
]

异常处理与补偿机制

在实际操作中,可能会遇到网络波动或系统故障导致的数据获取失败。为此,可以配置定时任务(crontab)进行补偿请求,例如每天10:02分重新拉取前两天的数据:

"omissionRemedy":{
  ...
  ,"takeOverRequest":[
    {"field":"start_time","label":"开始时间","type":"string","value":"{{DAYS_AGO_2|datetime}}"}
  ]
}

数据清洗与转换

在获取到原始数据后,需要对其进行清洗和转换,以便后续写入目标系统。在轻易云平台上,可以通过可视化界面定义数据清洗规则,例如去除空值、格式化日期等。

  1. 去除空值:确保所有关键字段都有有效值。
  2. 格式化日期:统一日期格式,便于后续处理。

实际案例应用

假设我们需要从旺店通系统中获取过去一天内所有状态为“已发货”的出库单,并将其写入金蝶系统。具体步骤如下:

  1. 配置接口调用参数,包括开始时间、结束时间、状态等。
  2. 设置分页参数,每次请求30条记录。
  3. 定义数据清洗规则,如去除空值、格式化日期等。
  4. 将清洗后的数据通过轻易云平台写入金蝶系统。

通过上述步骤,我们可以实现不同系统间的数据无缝对接,提高业务处理效率。

总结来说,通过合理配置接口调用参数、设置过滤条件以及定义数据清洗规则,可以高效地从源系统获取并加工数据,为后续的数据集成奠定基础。 金蝶与MES系统接口开发配置

使用轻易云数据集成平台实现金蝶云星空API接口的数据转换与写入

在数据集成生命周期的第二步中,我们需要将已经集成的源平台数据进行ETL(提取、转换、加载)转换,并将其转为目标平台金蝶云星空API接口所能够接收的格式,最终写入目标平台。以下是详细的技术步骤和配置。

数据请求与清洗

首先,我们从源系统(如旺店通)获取原始数据,并对其进行清洗和标准化处理。这一步骤确保了数据的一致性和准确性,为后续的ETL转换奠定基础。

数据转换与写入

接下来,进入数据转换与写入阶段。我们使用轻易云数据集成平台提供的元数据配置,将清洗后的数据按照金蝶云星空API接口要求进行格式转换,并通过API接口将数据写入目标系统。

配置元数据

根据提供的元数据配置,我们需要将源系统的数据字段映射到金蝶云星空API所需的字段。以下是关键字段及其配置说明:

  1. 单据编号 (FBillNo):

    • 类型: string
    • 值: {order_no}
    • 说明: 从源系统中获取订单编号并直接映射。
  2. 单据类型 (FBillTypeID):

    • 类型: string
    • 解析器: ConvertObjectParser
    • 参数: FNumber
    • 值: QTCKD01_SYS
    • 说明: 固定值,表示其他出库单据类型。
  3. 库存组织 (FStockOrgId)领用组织 (FPickOrgId):

    • 类型: string
    • 解析器: ConvertObjectParser
    • 参数: FNumber
    • 值: 998
    • 说明: 固定值,表示库存和领用组织。
  4. 日期 (FDate):

    • 类型: string
    • 值: {consign_time}
    • 说明: 从源系统中获取发货时间并映射为日期字段。
  5. 领料部门 (FDeptId):

    • 类型: string
    • 解析器: ConvertObjectParser
    • 参数: FNumber
    • 值: BM000027
    • 说明: 固定值,表示特定部门。
  6. 备注 (FNote):

    • 类型: string
    • 值: {stockout_reason}
    • 说明: 从源系统中获取出库原因并映射为备注字段。
  7. 来源系统 (F_PRSH_FROM):

    • 类型: string
    • 值: 旺店通
    • 说明: 固定值,表示来源系统为旺店通。
  8. 仓库 (F_PRSH_Base_zc5):

    • 类型: string
    • 解析器:ConvertObjectParser
    • 参数:FNumber
    • 值:_mongoQuery ... findField=content.F_PBLH_KINGDEESTOCK where={\"content.FNumber\":{\"$eq\":\"{warehouse_no}\"},\"content.F_PBLH_MAPPINGTYPE\":{\"$regex\":\"C\"}}
  9. 交易类型 (F_PRSH_Assistant_imu):

    • 类型:string
    • 解析器:ConvertObjectParser
    • 参数:FNumber
    • 值: _function case when '{remark}' like '%盘亏%' then '07' when '{remark}' like '%报损%' then '08' else '08' end
  10. 明细信息 (FEntity):

    • 类型:array
    • 子字段包括:

      • 物料编码 (FMaterialId)

        • 类型:string
        • 解析器:ConvertObjectParser
        • 参数:FNumber
      • 零售条形码 (FCMKBarCode)

        • 类型:string
      • 实发数量 (FQty)

        • 类型:string
      • 发货仓库 (FStockId)

        • 类型:string
      • 成本价 (FPrice)

        • 类型:string
      • 备注 (FEntryNote)

        • 类型:string
API 请求配置

根据上述字段配置,我们构建API请求体,并通过HTTP POST方法将其发送到金蝶云星空的batchSave接口。以下是请求体示例:

{
    "FormId": "STK_MisDelivery",
    "IsAutoSubmitAndAudit": true,
    "IsVerifyBaseDataField": true,
    "Operation": "Save",
    "InterationFlags": "STK_InvCheckResult",
    "Model": {
        "FBillNo": "{order_no}",
        "FBillTypeID": {"FNumber": "QTCKD01_SYS"},
        "FStockOrgId": {"FNumber": "998"},
        "FPickOrgId": {"FNumber": "998"},
        "FDate": "{consign_time}",
        "FDeptId": {"FNumber": "BM000027"},
        "FNote": "{stockout_reason}",
        "F_PRSH_FROM": "旺店通",
        ...
        // 明细信息
        "FEntity": [
            {
                "FMaterialId": {"FNumber": "{{details_list.goods_no}}"},
                ...
            }
        ]
    }
}

通过以上配置和请求体构建,我们可以实现从源系统到金蝶云星空的数据无缝对接。每个字段都经过精细的映射和转换,确保了数据的一致性和准确性。 金蝶与MES系统接口开发配置

更多系统对接方案