轻易云数据集成平台ETL转换:金蝶退料申请单到旺店通采购退料单

  • 轻易云集成顾问-彭萍

金蝶退料申请单对接旺店通采购退料单:高效数据集成方案解析

在实际业务场景中,企业常常需要将多个系统的数据进行无缝对接,以确保各项运营管理能够高效、准确地进行。本文将详细探讨一个典型案例:如何通过轻易云数据集成平台,实现金蝶云星空的退料申请单数据与旺店通·企业奇门采购退料单的有效互联。

1. 数据抓取及API调用

首先,我们需要从金蝶云星空中获取最新的退料申请单数据。这一过程主要通过调用金蝶提供的executeBillQuery API接口来实现,该接口支持复杂条件下的数据查询,并能处理分页和限流问题,从而保证每次请求都能稳定获取预期范围内的数据,避免漏单现象。在实施过程中,需要特别设置可靠性机制来定时抓取相关接口数据,确保实时性和完整性。

{
  "apiName": "Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery",
  "parameters": {
    // API参数按照需求配置
  }
}

2. 数据快速写入与异常处理

获取到所需的原始数据后,需要将其批量写入到目标系统——旺店通·企业奇门。对应操作采用了wdt.purchase.return.push API,通过其高性能、多并发能力,可以实现大量数据的迅速导入。不仅如此,为了保障整个推送过程中的安全可靠,还设计了完善的异常处理机制和错误重试策略。当遇到网络故障或其他不可控因素导致的数据传输失败时,这一机制可以自动检测并重新尝试提交未成功的数据包。

{
  "apiName": "wdtPurchaseReturnPush",
  "data": {
    // 构造适配后的推送格式 
  }
}

3. 数据格式转换与映射

由于两个系统间使用的不尽相同的数据结构,在真正完成对接之前,必须首先解决二者之间存在的数据差异问题。针对这一点,我们进行了详细且精确的数据映射,将金蝶云星空提供的信息转换为符合旺店通要求格式的一致输入。同时,根据特殊业务规则,自定义了一些字段映射逻辑,以确保所有关键信息均能够准确传达,而不至于丢失或误读。

泛微OA与ERP系统接口开发配置

调用金蝶云星空接口executeBillQuery获取并加工数据

在数据集成的生命周期中,调用源系统接口获取数据是至关重要的一步。本文将深入探讨如何通过轻易云数据集成平台调用金蝶云星空的executeBillQuery接口,以获取退料申请单的数据,并进行初步加工。

接口配置与调用

首先,我们需要配置接口的元数据,以便正确地调用金蝶云星空的API。以下是元数据配置的关键部分:

{
  "api": "executeBillQuery",
  "method": "POST",
  "number": "FBillNo",
  "id": "FEntity_FEntryID",
  "pagination": {
    "pageSize": 100
  },
  "idCheck": true,
  "request": [
    {"field":"FEntity_FEntryID","label":"FEntity_FEntryID","type":"string","value":"FEntity_FEntryID"},
    {"field":"FBillNo","label":"单据编号","type":"string","value":"FBillNo"},
    {"field":"FID","label":"FID","type":"string","value":"FID"},
    {"field":"FDocumentStatus","label":"单据状态","type":"string","value":"FDocumentStatus"},
    {"field":"FBillTypeID_Fnumber","label":"单据类型","type":"string","value":"FBillTypeID.Fnumber"},
    {"field":"FDate","label":"申请日期","type":"string","value":"FDate"},
    {"field":"FPURCHASEORGID_Fnumber","label":"采购组织","type":"string","value":"FPURCHASEORGID.Fnumber"},
    {"field":"FRMTYPE","label":"退料类型","type":"string","value":"FRMTYPE"},
    {"field":"FAPPORGID_Fnumber","label":"申请组织","type":"string","value":"FAPPORGID.Fnumber"},
    {"field":"FAPPDEPTID_Fnumber","label":"申请部门","type":"string","value":"FAPPDEPTID.Fnumber"},
    {"field":"FRMLOC","label":"退料地点","type":"string","value":"FRMLOC"},
    {"field":"FSUPPLIERID_Fnumber","label":"供应商","type":"string","value":""},
    ...
  ],
  "otherRequest": [
    {"field": "Limit", "label": "最大行数", "type": "string", "describe": "金蝶的查询分页参数", "value": "{PAGINATION_PAGE_SIZE}"},
    {"field": "StartRow", "label": "开始行索引", "type": "string", "describe": "金蝶的查询分页参数", "value": "{PAGINATION_START_ROW}"},
    {"field": "TopRowCount", "label": "返回总行数", "type": "int", "describe": ""},
    {"field": "FilterString", 
     ...

请求参数解析

在请求参数中,FieldKeys字段定义了我们需要查询的字段集合,这些字段将决定我们从金蝶系统中提取哪些具体信息。以下是部分关键字段:

  • FBillNo: 单据编号
  • FID: FID
  • FDocumentStatus: 单据状态
  • FPURCHASEORGID_Fnumber: 采购组织
  • FRMTYPE: 退料类型
  • FSUPPLIERID_Fnumber: 供应商

这些字段将帮助我们准确地获取所需的数据。

数据过滤与分页

为了优化查询效率,我们可以使用过滤条件和分页参数。过滤条件可以根据业务需求进行定制,例如:

{
  ...
  {
      "field": "FilterString",
      ...
      // 示例:仅查询特定供应商且审核日期在最近同步时间之后的数据
      // FPURCHASEORGID.Fnumber in ( '7000','3000')
      // FApproveDate>='{{LAST_SYNC_TIME|dateTime}}'
      ...
   }
}

分页参数则确保我们能够分批次获取大量数据,避免一次性请求过多导致性能问题:

{
   ...
   {
       // 每页大小为100条记录
       // 开始行索引为0(第一页)
       ...
   }
}

数据处理与转换

一旦成功获取到数据,我们需要对其进行初步处理和转换,以便后续写入目标系统。在轻易云平台上,可以通过可视化操作界面设置各种转换规则。例如:

  1. 字段映射:将源系统字段映射到目标系统对应字段。
  2. 数据清洗:去除无效或重复的数据,确保数据质量。
  3. 格式转换:根据目标系统要求调整数据格式,如日期格式、数值精度等。

实际案例

假设我们需要将金蝶退料申请单的数据集成到旺店通采购退料单中,以下是一个简化的实际案例步骤:

  1. 调用接口

    POST /executeBillQuery HTTP/1.1
    Host: api.kingdee.com
    Content-Type: application/json
    
    {
     ...
     // 请求体包含必要的过滤条件和分页参数
     ...
    }
  2. 接收响应并处理

    {
     ...
     // 响应体包含所请求的数据记录集合
     ...
    }
  3. 数据转换与写入

    • FBillNo映射到旺店通中的订单编号。
    • FSUPPLIERID_Fnumber映射到供应商编码。
    • 根据业务逻辑处理其他字段,如数量、金额等。

通过以上步骤,我们能够高效地从金蝶云星空获取所需数据,并进行必要的加工处理,为后续的数据写入和业务应用打下坚实基础。 金蝶与外部系统打通接口

轻易云数据集成平台ETL转换:金蝶退料申请单到旺店通采购退料单

在数据集成的生命周期中,第二步是将已经集成的源平台数据进行ETL(提取、转换、加载)转换,使其符合目标平台的格式要求。本案例将展示如何将金蝶退料申请单的数据转化为旺店通·企业奇门API接口所能接收的采购退料单格式,并最终写入目标平台。

元数据配置解析

我们需要将金蝶退料申请单的数据通过ETL过程转换为旺店通·企业奇门API接口 wdt.purchase.return.push 所需的格式。以下是元数据配置的详细解析:

  • API接口: wdt.purchase.return.push
  • 请求方法: POST
  • ID检查: true
  • 操作配置:
    • 合并方法: merge
    • 字段: FBillNo, FStockId_Fnumber, FSUPPLIERID_Fnumber
    • 明细列表节点名称: details_list
    • 明细合计字段: FMRAPPQTY
    • 表头字段:
    • FBillNo (外部单号)
    • FStockId_Fnumber (出库仓库编号)
    • FSUPPLIERID_Fnumber (供应商编号)
    • FRemarks (备注)
    • 表体字段:
    • FMATERIALID_Fnumber (商家编码)
    • FMRAPPQTY (退货数量)
    • FAPPROVEPRICE_F (税后单价)
    • FNOTE_M (备注)
    • FPRICEQTY_F (数量)
    • FPRICE_F (单价)
    • FEntryTaxRate (税率)
    • FDISCOUNT_F (折扣)

请求参数配置

根据元数据配置,我们需要构建如下请求参数:

  1. 供应商编号 (provider_no)

    {
     "field": "provider_no",
     "label": "供应商编号",
     "type": "string",
     "value": "{FSUPPLIERID_Fnumber}"
    }
  2. 外部单号 (outer_no)

    {
     "field": "outer_no",
     "label": "外部单号",
     "type": "string",
     "value": "{FBillNo}"
    }
  3. 传入ERP采购单号 (is_use_outer_no)

    {
     "field": "is_use_outer_no",
     "label": "传入ERP采购单号",
     "type": "string",
     "value": "1"
    }
  4. 是否审核 (is_check)

    {
     "field": "is_check",
     "label": "是否审核",
     "type": "string",
     "value": "1"
    }
  5. 出库仓库编号 (warehouse_no)

    {
     "field": "warehouse_no",
     "label": "出库仓库编号",
     "type": "string",
     "value": "{FStockId_Fnumber}"
    }
  6. 备注 (remark)

    {
     "field": "remark",
     "label": "备注",
     "type": "string",
     *"value":"{FRemarks}"
    }
  7. 明细列表节点 (detail_list)

    {
    field: 'detail_list',
    label: '明细列表节点',
    type: 'array',
    value: 'details_list',
    children: [
    {
      field: 'spec_no',
      label: '商家编码',
      type: 'string',
      value: '{{details_list.FMATERIALID_Fnumber}}'
    },
    {
      field: 'num',
      label: '退货数量',
      type: 'string',
      value: '{{details_list.FPRICEQTY_F}}'
    },
    {
      field: 'price',
      label: '单价',
      type: 'string',
      value: '{{details_list.FPRICE_F}}'
    },
    {
      field: 'discount',
      label: '折扣',
      type:'string',
      value:'1'
    },
    {
       field:'detail_remark',
       label:'备注',
       type:'string',
       value:'{{details_list.FNOTE_M}}'
    },
    {
       field:'tax_price',
       label:'税后单价', 
       type:'string', 
       value:'{{details_list.FAPPROVEPRICE_F}}' 
    },
    {
       field:'tax', 
       label:'税率', 
       type:'string', 
       value:'{{details_list.FEntryTaxRate}}' 
    }
    ]
    }

数据转换与写入

在上述配置完成后,我们可以使用轻易云数据集成平台提供的可视化界面,执行以下步骤:

  1. 提取金蝶退料申请单的数据。
  2. 根据元数据配置,将提取的数据字段映射到旺店通·企业奇门API接口所需的字段。
  3. 构建请求体,包含表头和表体信息。
  4. 调用API接口,将转换后的数据发送至旺店通·企业奇门系统。

通过这些步骤,我们实现了从金蝶系统到旺店通系统的数据无缝对接,确保了数据的一致性和准确性。 用友与WMS系统接口开发配置

更多系统对接方案