从旺店通到金蝶云星空的集成方案详解:其他入库单

  • 轻易云集成顾问-彭亮

旺店通·旗舰奇门数据集成到金蝶云星空的实现:其他入库单案例分享

在系统集成中,经常会遇到不同业务系统间的数据同步需求。本案例聚焦于如何通过轻易云平台,将旺店通·旗舰奇门系统中的“其他入库单”数据高效、安全地集成到金蝶云星空中。具体方案命名为“旺店通-其他入库单-->金蝶-其他入库单”。

首先,我们需要调用wdt.wms.stockin.other.querywithdetail接口从旺店通·旗舰奇门获取详细的“其他入库单”数据。在高并发环境下,处理分页和限流问题是关键技术要点,通过优化API调用策略,可以确保大批量数据能够快速且可靠地抓取。

接下来,为了适应两套系统之间的数据格式差异,需要自定义转换逻辑,这不仅包括字段映射,还涵盖复杂的数据规范化处理。使用轻易云的平台,可视化设计工具帮助我们直观、便捷地完成这些工作,同时支持调试和预览功能,确保转换后的数据符合预期。

将整理好的数据写入到金蝶云星空则通过batchSave API 实现。为了保障高速、大吞吐量的数据写操作,我们需要配置合理的批处理参数,并结合重试机制来提高成功率。另外,在实际操作过程中提供实时监控与告警服务,即时追踪各个任务的执行状态,从而有效避免潜在的问题,如漏单或异常情况发生。

最终,通过这一整合过程,不仅提升了业务透明度和效率,也使得企业信息流转更加顺畅,实现了资源的最优配置与利用。这一完整解决方案为今后类似项目提供了可借鉴的重要参考。

以上是该技术实现案例的大致框架内容,以下文章部分将详述每一步骤及其细节,以便对该实施方法进行深层次解读。 打通用友BIP数据接口

调用旺店通·旗舰奇门接口获取并加工数据

在数据集成生命周期的第一步中,调用源系统的API接口是至关重要的一环。本文将详细探讨如何通过轻易云数据集成平台调用旺店通·旗舰奇门接口 wdt.wms.stockin.other.querywithdetail 获取并加工数据。

接口调用配置

首先,我们需要配置API接口的元数据。根据提供的元数据配置,我们可以看到该接口采用POST方法,主要参数包括分页参数和业务参数。

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

分页参数设置

分页参数用于控制每次请求的数据量和页码。这里我们设置了每页50条记录,初始页码为1。

{
  ...
  {
    "field": "pager",
    ...
    {
      ...
      {
        "field": "page_size",
        ...
        {
          ...
        }
      },
      {
        ...
        {
          ...
        }
      }
    }
  },
  ...
}

业务参数设置

业务参数部分包含了时间范围、状态、仓库编号等信息,这些参数用于过滤和查询特定条件下的数据。

{
  ...
  {
    ...
    {
      ...
      {
        ...
        {
          ...
        },
        {
          ...
          {
            ...
            {
              ...
            }
          },
          {
            ...
            {
              ...
            }
          },
          {
            ...
            {
              ...
            }
          },
          {
            ...
            {
              ...
            }
          },
          {
            ...
            {
              ...
            }
          },
          {
            ...
            {
              ...
            }
          }
        }
      }
    }
  },
  ...
}

条件过滤

为了确保获取的数据符合业务需求,我们需要设置条件过滤。例如,排除备注包含“不抓到”的记录,以及原因字段不在“无,工厂生产入库”中的记录。

{
  ...,
  condition_bk: [
    [
      { 
        field: 'detail_list.remark', 
        logic: 'notlike', 
        value: '不抓到' 
      } 
    ]
  ],
  condition: [
    [
      { 
        field: 'remark', 
        logic: 'notlike', 
        value: '不抓到' 
      }, 
      { 
        logic: 'notin', 
        value: '无,工厂生产入库', 
        field: 'reason' 
      } 
    ]
  ],
}

自动填充响应

在处理API响应时,启用自动填充功能可以简化数据处理过程,使得返回的数据能够直接映射到目标系统中。

{
  ...,
  autoFillResponse: true
}

数据请求与清洗

通过上述配置,我们可以发起对 wdt.wms.stockin.other.querywithdetail 接口的请求,并获取原始数据。接下来,需要对这些数据进行清洗和转换,以便后续写入目标系统。在清洗过程中,可以利用条件过滤来剔除不符合要求的数据,并根据业务逻辑进行必要的字段映射和转换。

例如,可以使用以下代码片段来实现数据请求与清洗:

import requests
import json

url = 'https://api.example.com/wdt.wms.stockin.other.querywithdetail'
headers = {'Content-Type': 'application/json'}
payload = json.dumps({
    # 填充请求体内容
})

response = requests.post(url, headers=headers, data=payload)
data = response.json()

# 清洗和转换数据
cleaned_data = []
for record in data['records']:
    if '不抓到' not in record['remark'] and record['reason'] not in ['无', '工厂生产入库']:
        cleaned_data.append(record)

# 后续处理...

通过以上步骤,我们成功地调用了旺店通·旗舰奇门接口获取并加工了所需的数据,为后续的数据转换与写入奠定了基础。 企业微信与OA系统接口开发配置

数据集成技术案例:将源平台数据转换并写入金蝶云星空

在数据集成的生命周期中,ETL(Extract, Transform, Load)过程至关重要。本文将重点探讨如何使用轻易云数据集成平台,将已经集成的源平台数据进行ETL转换,转为目标平台金蝶云星空API接口所能够接收的格式,并最终写入目标平台。

API 接口配置

在本案例中,我们需要将旺店通的“其他入库单”数据转换并写入金蝶云星空。金蝶云星空提供了一个名为batchSave的API接口,用于批量保存数据。该接口通过POST方法提交请求,并支持多种字段类型和复杂的数据结构。

以下是元数据配置的关键部分:

{
  "api": "batchSave",
  "method": "POST",
  "idCheck": true,
  "operation": {
    "rowsKey": "array",
    "rows": 1,
    "method": "batchArraySave"
  },
  "request": [
    {"field":"FBillNo","label":"单据编号","type":"string","describe":"单据编号","value":"{order_no}"},
    {"field":"FBillTypeID","label":"单据类型","type":"string","describe":"单据类型","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"{reason}"},
    {"field":"FStockOrgId","label":"库存组织","type":"string","describe":"组织","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"100.01"},
    {"field":"FStockDirect","label":"库存方向","type":"string","value":"GENERAL"},
    {"field":"FDate","label":"日期","type":"string","describe":"日期","value":"{{stockin_time|dateTime}}"},
    {"field":"FOwnerTypeIdHead","label":"货主类型","type":"string","describe":"多类别基础资料列表","value":"BD_OwnerOrg"},
    {"field":"FOwnerIdHead","label":"货主","type":"string","describe":"多类别基础资料","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"100.01"},
    {"field":"FDEPTID","label":"部门","type":"string","describe":"基础资料","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"BM000008"},
    {"field": "FNOTE", "label": "备注", "type": "string", "describe": "多行文本", "value": "{remark}"},
    {
      "field": "FEntity",
      "label": "明细信息",
      "type": "array",
      ...
      }
  ],
  ...
}

数据转换与映射

  1. 单据编号(FBillNo)

    • 从源数据中的order_no字段获取,并直接映射到目标字段FBillNo
  2. 单据类型(FBillTypeID)

    • 使用ConvertObjectParser解析器,将源数据中的reason字段转换为目标系统可识别的编码格式。
  3. 库存组织(FStockOrgId)

    • 固定值设置为“100.01”,并通过解析器转换为目标系统的编码格式。
  4. 日期(FDate)

    • 使用模板语言将源数据中的stockin_time字段格式化为目标系统所需的日期格式。
  5. 明细信息(FEntity)

    • 明细信息是一个数组,包含多个子字段,如物料编码、收货仓库、实收数量等。
    • 每个子字段都需要从源数据中提取相应的信息。例如,物料编码从detail_list.goods_no获取,实收数量从detail_list.goods_count获取。
    • 使用解析器将这些值转换为目标系统可识别的格式。

请求示例

以下是一个完整的请求示例:

{
  "FormId": "STK_MISCELLANEOUS",
  "IsVerifyBaseDataField": true,
  "Operation": {
    ...
  },
  ...
}

提交与审核

为了确保数据在写入后能够立即生效,我们可以设置自动提交和审核:

{
  ...
  "IsAutoSubmitAndAudit": true,
  ...
}

实践中的挑战与解决方案

  1. 数据格式不一致

    • 源平台和目标平台的数据格式可能不一致,需要通过解析器进行转换。
  2. 复杂的数据结构

    • 明细信息通常包含嵌套数组,需要特别注意每个子字段的映射和转换。
  3. 实时性要求

    • 数据集成过程中需要确保实时性,这要求我们在配置时尽量减少延迟,并使用异步处理机制。

通过以上步骤,我们成功地将旺店通“其他入库单”数据转换并写入到金蝶云星空,实现了不同系统间的数据无缝对接。这不仅提高了业务流程的效率,也确保了数据的一致性和准确性。 金蝶与SCM系统接口开发配置

更多系统对接方案