轻易云平台实现销售出库单数据高效转移和处理实战

  • 轻易云集成顾问-张妍琪

旺店通·旗舰奇门数据集成金蝶云星空:销售出库单对接技术解析

在现代企业复杂的供应链管理中,数据的无缝流动至关重要。本文将详细探讨如何通过轻易云数据集成平台,将旺店通·旗舰奇门系统中的销售出库单精确、高效地集成到金蝶云星空系统上。

此次案例分析集中于一个具体任务:利用API接口wdt.wms.stockout.sales.querywithdetail从旺店通·旗舰奇门获取销售出库单数据,并通过金蝶云星空的数据写入API batchSave实现批量数据导入。这一过程强调了多个关键技术点,包括高吞吐量的数据处理能力、自定义数据转换逻辑以及实时监控和异常处理机制等。

首先,通过轻易云可视化的数据流设计工具,我们能够直观地配置从旺店通抓取接口所需的参数及相关逻辑。在此过程中,高频率调用wdt.wms.stockout.sales.querywithdetail需要解决分页和限流问题,以确保所有销售出库单都能被有效抓取并存储。然而,由于两个系统之间存在不同的数据结构,还必须进行自定义的数据转换操作,以保证格式一致性,提高集成效率。

与此同时,针对大量数据快速写入到金蝶云星空这一需求,通过优化分批次提交策略,可以显著提升性能。结合实时监控和告警系统,我们不仅可以追踪每个任务执行的状态和性能指标,而且在发生错误时迅速定位源头并触发重试机制,确保流程最终达成设定目标,不漏掉任何一个订单记录。

总而言之,本案例展示了跨平台、跨系统间实现可靠、高效数据对接的一整套解决方案,从而为业务提供坚实的数据支撑。后续我们将逐步深入各环节具体配置与调优细节,为读者呈现完整实施路径与操作技巧。 用友BIP接口开发配置

调用旺店通·旗舰奇门接口wdt.wms.stockout.sales.querywithdetail获取并加工数据

在数据集成的生命周期中,第一步是调用源系统的API接口以获取原始数据。本文将深入探讨如何使用轻易云数据集成平台调用旺店通·旗舰奇门接口wdt.wms.stockout.sales.querywithdetail,并对获取的数据进行初步加工。

接口概述

接口wdt.wms.stockout.sales.querywithdetail用于查询销售出库单的详细信息。该接口采用POST请求方式,支持分页查询,并可以根据多种业务参数进行过滤。

元数据配置解析

以下是元数据配置的详细内容:

{
  "api": "wdt.wms.stockout.sales.querywithdetail",
  "method": "POST",
  "number": "order_no",
  "id": "stockout_id",
  "idCheck": true,
  "request": [
    {
      "field": "pager",
      "label": "分页参数",
      "type": "object",
      "children": [
        {
          "field": "page_size",
          "label": "分页大小",
          "type": "int",
          "value": 50,
          "parent": "pager"
        },
        {
          "field": "page_no",
          "label": "页号",
          "type": "int",
          "value": 1,
          "parent": "pager"
        }
      ]
    },
    {
      "field": "params",
      ...
    }
  ],
  ...
}

请求参数配置

  1. 分页参数

    • page_size: 每页返回记录数,默认值为50。
    • page_no: 当前页码,默认值为1。
  2. 业务参数

    • start_timeend_time: 查询时间范围,分别使用动态变量{{MINUTE_AGO_30|datetime}}{{CURRENT_TIME|datetime}}表示过去30分钟和当前时间。
    • status_type: 出库单状态,默认值为3(按照指定的status状态字段查询)。
    • status: 出库单状态详细,默认值为110。
    • 其他可选参数包括仓库编码、出库单编号、店铺编号、销售订单号等。

条件过滤与补偿机制

元数据配置中还定义了条件过滤和补偿机制:

  • 条件过滤:通过逻辑运算符对特定字段进行过滤,例如:

    [
    {"field":"shop_no","logic":"notin","value":"bf796c6,C00314,C00099"},
    {"field":"src_trade_no","logic":"notlike","value":"XSDD"},
    {"field":"src_trade_no","logic":"notlike","value":"CKSQD"}
    ]
  • 补偿机制:在定时任务中定义了接管字段,用于处理遗漏的数据。例如,每小时运行一次任务,将开始时间设置为当前时间前2小时,结束时间设置为当前时间前1小时:

    {
    ...
    {"field":"params.start_time","value":"_function FROM_UNIXTIME( unix_timestamp() - 7200 , '%Y-%m-%d %H:%i:%s' )"},
    {"field":"params.end_time","value":"_function FROM_UNIXTIME( unix_timestamp() - 3600 , '%Y-%m-%d %H:%i:%s' )"}
    ...
    }

数据请求与清洗

在调用接口后,需要对返回的数据进行清洗和初步加工。这一步骤包括:

  1. 去重与校验:根据配置中的idCheck字段,对返回的数据进行去重和唯一性校验。
  2. 格式转换:将原始数据转换为目标系统所需的格式。例如,将日期字符串转换为标准日期格式,将数值字段统一单位等。
  3. 异常处理:对于缺失或异常的数据进行标记或修正,以确保后续处理的准确性。

实践案例

假设我们需要获取过去30分钟内状态为110的销售出库单,并将其导入到金蝶系统。具体步骤如下:

  1. 配置请求参数:

    {
     ...
     {"field":"params.start_time","value":"{{MINUTE_AGO_30|datetime}}"},
     {"field":"params.end_time","value":"{{CURRENT_TIME|datetime}}"},
     {"field":"params.status_type","value":"3"},
     {"field":"params.status","value":"110"}
     ...
    }
  2. 调用接口并获取数据:

    response = requests.post(api_url, json=request_payload)
    data = response.json()
  3. 对数据进行清洗和初步加工:

    cleaned_data = clean_and_transform(data)
  4. 将清洗后的数据写入目标系统(金蝶):

    write_to_kd(cleaned_data)

通过上述步骤,我们能够高效地从旺店通系统中提取销售出库单数据,并将其无缝集成到金蝶系统中。这不仅提高了数据处理的效率,也确保了业务流程的连续性和准确性。 用友与外部系统接口集成开发

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

在数据集成的生命周期中,ETL(Extract, Transform, Load)转换是关键步骤之一。本文将深入探讨如何使用轻易云数据集成平台,将源平台(如旺店通)的销售出库单数据进行转换,并通过金蝶云星空API接口写入目标平台。

API接口配置与元数据解析

首先,我们需要理解金蝶云星空API接口的配置。以下是一个典型的API请求配置:

{
  "api": "batchSave",
  "method": "POST",
  "idCheck": true,
  "operation": {
    "rowsKey": "array",
    "rows": 1,
    "method": "batchArraySave"
  },
  "request": [
    {"field":"FBillTypeID","label":"单据类型","type":"string","value":"XSCKD01_SYS","parser":{"name":"ConvertObjectParser","params":"FNumber"}},
    {"field":"FBillNo","label":"单据编号","type":"string","value":"{order_no}"},
    {"field":"FDate","label":"日期","type":"string","value":"{consign_time}"},
    {"field":"FStockOrgId","label":"发货组织","type":"string","value":"100.01","parser":{"name":"ConvertObjectParser","params":"FNumber"}},
    {"field":"FSaleOrgId","label":"销售组织","type":"string","value":"{shop_no}","parser":{"name":"ConvertObjectParser","params":"FNumber"},"mapping":{"target":"65693884484e3b37ea13d9f4","direction":"positive"}},
    {"field":"FSettleOrgID","label":"结算组织","type":"string","value":"{shop_no}","parser":{"name":"ConvertObjectParser","params":"FNumber"},"mapping":{"target":"65693884484e3b37ea13d9f4","direction":"positive"}},
    {"field":"FLinkMan","label":"收货人姓名","type":"string","value":"{receiver_name}"},
    {"field":"FLinkPhone","label":"联系电话","type":"string","value":"{receiver_telno}"},
    {"field":"Fnote","label":"备注","type": "string", "value": "{remark}"}
  ],
  "otherRequest":[
    {"field": "FormId", "label": "业务对象表单Id", "type": "string", "value": "SAL_OUTSTOCK"},
    {"field": "Operation", "label": "执行的操作", "type": "string", "value": "Save"},
    {"field": "IsAutoSubmitAndAudit", "label": "提交并审核", "type": "bool", "value": true},
    {"field": "IsVerifyBaseDataField", "label": "验证基础资料", "type": bool, value: true},
    {"field: SubSystemId, label: 系统模块, type: string, value: 21},
    { label: 允许负库存, field: InterationFlags, type: string, value: STK_InvCheckResult }
  ]
}

数据字段解析与映射

在配置过程中,关键在于正确解析和映射源数据到目标平台所需的字段格式。以下是一些重要字段的解析和映射规则:

  1. 单据类型 (FBillTypeID):

    • 固定值 "XSCKD01_SYS",使用 ConvertObjectParser 转换为金蝶系统识别的编码。
  2. 单据编号 (FBillNo):

    • 动态值 {order_no},直接从源数据中提取订单编号。
  3. 日期 (FDate):

    • 动态值 {consign_time},提取发货时间作为单据日期。
  4. 发货组织 (FStockOrgId):

    • 固定值 "100.01",使用 ConvertObjectParser 转换为金蝶系统识别的编码。
  5. 销售组织 (FSaleOrgId) 和 结算组织 (FSettleOrgID):

    • 动态值 {shop_no},使用 ConvertObjectParser 并通过 mapping 映射到目标系统中的具体组织编码。
  6. 收货人信息:

    • 收货人姓名 (FLinkMan) 和联系电话 (FLinkPhone) 分别映射为 {receiver_name}{receiver_telno}
  7. 备注 (Fnote):

    • 动态值 {remark},从源数据中提取备注信息。

明细信息处理

对于明细信息(即订单中的商品列表),需要特别处理嵌套数组结构:

{
  field: FEntity,
  label: 明细信息,
  type: array,
  children: [
    { field: FMaterialID, label: 物料编码, type: string, parser: { name: ConvertObjectParser, params: FNumber }, value: {{details_list.goods_no}} },
    { field: FRealQty, label: 实发数量, type: string, value: {{details_list.goods_count}} },
    { field: FTaxPrice, label: 含税单价, type:string,value :{{details_list.sell_price}}},
    { field:FStockID,label :仓库,type:string,value:{warehouse_no}},
    ...
    ]
}

每个子字段都需要根据具体需求进行解析和映射。例如:

  • 物料编码 (FMaterialID):使用 ConvertObjectParser 转换商品编号。
  • 实发数量 (FRealQty):直接从源数据中提取实际发货数量。
  • 含税单价 (FTaxPrice):从源数据中提取商品销售价格。

数据转换与写入

完成上述字段解析和映射后,通过配置好的API请求,将转换后的数据批量写入金蝶云星空系统。轻易云数据集成平台提供了全异步处理机制,确保高效的数据传输和处理。

{
    "api" : "/k3cloud/api/sal/outstock/batchSave",
    "method" : POST,
    "body" : {
        "Model" : {
            ...
            "FBillNo" : "{order_no}",
            ...
            "SubSystemId" : 21
            ...
        }
    }
}

通过这种方式,可以实现不同系统间的数据无缝对接,提高业务处理效率和准确性。 钉钉与WMS系统接口开发配置

更多系统对接方案