利用轻易云平台完成聚水潭与畅捷通T+系统的数据ETL过程

  • 轻易云集成顾问-陈洁琳

聚水潭数据集成到畅捷通T+: 调拨入库单对接其他入库单

在系统集成项目中,数据的无缝流动和准确性至关重要。本案例将分享如何通过轻易云数据集成平台,实现聚水潭调拨入库单的数据高效、精准对接到畅捷通T+的其他入库单。

为了实现这一目标,我们重点关注以下几个技术要点:

  1. 定时可靠的抓取聚水潭接口数据:通过定时任务调用聚水潭API /open/allocate/query,确保每个调拨入库单都被及时抓取,不遗漏任何记录。
  2. 批量数据快速写入同步:使用轻易云的数据处理引擎,将从聚水潭获取的大量数据信息,通过API /tplus/api/v2/otherReceive/Create 批量高效地写入到畅捷通T+系统。
  3. 分页和限流处理:由于实际业务场景中可能存在大量数据,为了避免接口超时或性能问题,我们设计了分页抓取和限流机制来稳健地处理大规模的数据请求。
  4. 格式差异转化与映射:考虑到不同系统之间的数据结构不完全一致,我们需进行必要的数据格式转换及自定义字段映射,以满足畅捷通T+特有的业务需求。利用轻易云的平台功能,能够灵活配置这些规则并实时应用于各个流程环节。

具体方案将在后续详细讲解,包括异常处理机制、日志监控策略以及重试机制等,以确保整个对接过程透明可控,并具备较高容错能力。 钉钉与ERP系统接口开发配置

调用聚水潭接口/open/allocate/query获取并加工数据

在数据集成的生命周期中,第一步是调用源系统的API接口获取原始数据。本文将详细探讨如何通过轻易云数据集成平台调用聚水潭的接口/open/allocate/query,并对获取的数据进行初步加工。

接口配置与调用

我们需要配置和调用聚水潭的/open/allocate/query接口,该接口主要用于查询调拨入库单信息。以下是元数据配置的详细说明:

{
  "api": "/open/allocate/query",
  "effect": "QUERY",
  "method": "POST",
  "number": "io_id",
  "id": "io_id",
  "name": "name",
  "idCheck": true,
  "request": [
    {"field": "modified_begin", "label": "修改起始时间", "type": "string", "value": "{{LAST_SYNC_TIME|datetime}}"},
    {"field": "modified_end", "label": "修改结束时间", "type": "string", "value": "{{CURRENT_TIME|datetime}}"},
    {"field": "page_index", "label": "第几页", "type": "string", "value":"1"},
    {"field": "page_size", "label":"每页多少条","type":"string","describe":"默认30,最大50","value":"30"},
    {"field":"type","label":"调拨类型","type":"string","value":"调拨入"}
  ],
  "autoFillResponse": true
}

请求参数解析

  1. modified_beginmodified_end:这两个字段分别表示查询的起始和结束时间。通过模板变量{{LAST_SYNC_TIME|datetime}}{{CURRENT_TIME|datetime}}动态填充,确保每次请求都能获取到最新的数据。
  2. page_indexpage_size:分页参数,用于控制每次请求返回的数据量。默认情况下,每页返回30条记录,最大支持50条。
  3. type:固定值为“调拨入”,用于指定查询的调拨类型。

数据请求与清洗

在调用接口获取数据后,需要对返回的数据进行初步清洗和加工,以便后续处理。假设我们从接口获得了如下JSON响应:

{
  "code": 0,
  "message": "",
  "data":{
    "total_count":100,
    "page_index":1,
    "page_size":30,
    ...
    }
}

我们需要关注以下几个关键点:

  1. total_count:总记录数,用于计算分页请求次数。
  2. data数组:包含具体的调拨入库单信息。

数据转换与写入

在完成数据请求和初步清洗后,我们需要将数据转换为目标系统所需的格式,并写入目标系统。在这个过程中,可以利用轻易云平台提供的数据转换工具,将聚水潭的数据结构映射到畅捷通系统所需的格式。

例如,将聚水潭的调拨入库单字段映射到畅捷通的其他入库单字段:

{
  // 聚水潭字段 -> 畅捷通字段映射示例
  // 聚水潭 io_id -> 畅捷通 entry_id
  // 聚水潭 name -> 畅捷通 bill_name
}

自动填充响应

在元数据配置中,我们设置了autoFillResponse: true,这意味着平台会自动处理响应数据,并填充到相应的数据模型中。这一特性极大简化了开发工作,使得我们可以专注于业务逻辑而非底层实现。

通过以上步骤,我们实现了从聚水潭系统获取调拨入库单数据,并将其转换为畅捷通系统所需格式并写入目标系统。这不仅提高了数据处理效率,也确保了数据的一致性和准确性。 轻易云数据集成平台金蝶集成接口配置

使用轻易云数据集成平台将聚水潭调拨入库单转换并写入畅捷通T+API接口的技术案例

在本案例中,我们将详细探讨如何使用轻易云数据集成平台,将聚水潭系统中的调拨入库单数据进行ETL转换,并最终通过畅捷通T+API接口写入目标平台。本文将重点关注ETL过程中的技术细节和API接口的具体配置。

数据请求与清洗

首先,我们需要从聚水潭系统中获取调拨入库单的数据。这一步骤包括数据请求和清洗,确保获取的数据符合目标平台的要求。在此过程中,我们可以利用轻易云平台提供的全透明可视化操作界面,实时监控数据流动和处理状态。

数据转换与写入

接下来是关键的ETL转换步骤。我们需要将已经集成的源平台数据转换为畅捷通T+API接口所能够接收的格式,并最终写入目标平台。以下是元数据配置及其详细解析:

{
  "api": "/tplus/api/v2/otherReceive/Create",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "request": [
    {
      "field": "ExternalCode",
      "label": "外部单据号",
      "type": "string",
      "describe": "外部单据号,后台做唯一性检查。用于防止重复提交,和外系统数据对应。",
      "value": "{io_id}"
    },
    {
      "field": "VoucherType",
      "label": "单据类型",
      "type": "string",
      "describe": "单据类型。默认值{Code:\"ST1024\"}",
      "value": "ST1004",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "Code"
      }
    },
    {
      "field": "VoucherDate",
      "label": "单据日期",
      "type": "string",
      "describe": "",
      "value": "{io_date}"
    },
    {
      "field": "BusiType",
      ...
    }
  ],
  ...
}
字段解析与转换
  1. ExternalCode(外部单据号)

    • 类型:string
    • 描述:外部单据号用于防止重复提交,并与外系统数据对应。
    • 值:{io_id},即从源系统获取的调拨入库单ID。
  2. VoucherType(单据类型)

    • 类型:string
    • 描述:默认值为ST1004,表示其他入库单。
    • 转换器:ConvertObjectParser,参数为Code
  3. VoucherDate(单据日期)

    • 类型:string
    • 值:{io_date},即从源系统获取的调拨入库日期。
  4. BusiType(业务类型)

    • 类型:string
    • 描述:业务类型编码,取值范围包括13(其他)和14(其他退库)。
    • 值:固定为13。
    • 转换器:ConvertObjectParser,参数为Code
  5. Warehouse(仓库信息)

    • 类型:string
    • 值:{wms_co_id},即从源系统获取的仓库ID。
    • 转换器:ConvertObjectParser,参数为Code
    • 映射关系:目标仓库ID 66d687ab2f3fde34df428d6d.
  6. Memo(表头备注)

    • 类型:string
    • 值:{remark},即从源系统获取的备注信息。
  7. DynamicPropertyKeys 和 DynamicPropertyValues

    • 用于动态属性键值对的配置。
    • 转换器分别为 StringToArray, 参数为,<.
  8. RdStyle(入库类别)

    • 类型:string
    • 值:固定为113。
    • 转换器: ConvertObjectParser, 参数为 Code.
  9. RDRecordDetails(单据明细信息): 包含多个子字段,如存货信息、主计量单位数量、成本金额、成本单价等。这些字段都需要根据源系统的数据进行相应的转换和映射。

示例请求体
{
  ...
  {
    ...
    {
      field: 'RDRecordDetails',
      label: '单据明细信息',
      type: 'array',
      value: 'items',
      children: [
        {
          field: 'Inventory',
          label: '存货信息',
          type: 'string',
          value: '{sku_id}',
          parser: { name: 'ConvertObjectParser', params: 'Code' }
        },
        {
          field: 'BaseQuantity',
          label: '主计量单位数量',
          type: 'string',
          value: '{qty}'
        },
        ...
        ]
     }
  }
}

通过上述配置,我们可以确保从聚水潭系统获取的数据经过清洗和转换后,能够准确地映射到畅捷通T+API接口所需的数据格式中。最终,通过POST请求,将这些数据写入到畅捷通T+系统中,实现了不同系统间的数据无缝对接。

在实际操作中,需要根据具体业务需求和数据结构进行适当调整,以确保数据准确性和完整性。通过轻易云平台提供的全生命周期管理功能,可以有效监控和优化整个数据集成过程,提高业务透明度和效率。 钉钉与ERP系统接口开发配置

更多系统对接方案