实现吉客云与金蝶云星空报废出库数据的无缝对接

  • 轻易云集成顾问-曹润

吉客云数据集成到金蝶云星空:其他出库-报废出库案例

在企业信息化建设中,实现不同系统间的数据高效、安全对接始终是一大挑战。本文将分享如何通过轻易云数据集成平台,将吉客云的"其他出库-报废出库"数据无缝对接到金蝶云星空,确保每一条数据准确传递并有效利用。

集成背景与需求分析

某制造企业在日常经营中需要频繁处理各种物料的报废业务,这些操作产生了大量的“其他出库-报废出库”记录。这些记录最初存在于吉客云系统内,为了实现更为综合和智能化的管理,该企业决定将这些关键数据集成至其财务核算体系——金蝶云星空。这一步骤不仅有助于集中管理库存,还能提高财务处理效率、降低人为误差风险。

为了达到这一目标,他们选择使用轻易云数据集成平台,通过以下两个API接口完成整个流程:

  1. 吉客云获取“其他出库-报废出库” 数据APIerp.storage.goodsdocout.v2
  2. 金蝶云星空写入批量数据APIbatchSave

技术要点与方案实施

1. 高吞吐量的数据写入能力

当涉及到大规模的数据转移时,高吞吐量成为首要考虑的问题。在本次案例中,我们首先设法优化从吉客云抓取原始数据信息,再经过必要转换后高效写入到金蝶云星空。使用轻易平台自带的分布式计算引擎,能够实现在保证性能不下降前提下大量进行读写操作。

2. 实时监控与日志记录

我们部署了全面的实时监控和日志记录机制,以确保每一个环节都有迹可循。一旦出现任何异常状况,可以迅速定位问题并即时响应,大幅提升故障修复速度。例如,当调用erp.storage.goodsdocout.v2 API接口获取分页数据时,一旦遇见限流或其它网络异常,就会立刻触发告警功能。

3. 定制化的数据映射对接

由于吉客云与金蝶云星空之间的数据格式有所差异,需要设计定制化的数据转换逻辑。例如,不同字段名称、编号规则等都需在进入目标系统前被正确映射。借助轻易提供的可视化工具,我们制定了一系列转换策略,并进行了反复验证,最终形成高度可靠且自动运行的一站式解决方案。

此次项目还特别注重批量处理模式,以期最大程度上减小延 数据集成平台可视化配置API接口

调用吉客云接口获取并加工数据的技术实现

在数据集成过程中,调用源系统接口是至关重要的一步。本文将深入探讨如何使用轻易云数据集成平台调用吉客云的erp.storage.goodsdocout.v2接口,获取并加工报废出库的数据。

接口配置与调用

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

{
  "api": "erp.storage.goodsdocout.v2",
  "effect": "QUERY",
  "method": "POST",
  "number": "goodsdocNo",
  "id": "goodsdocNo",
  "idCheck": true,
  "request": [
    {"field": "pageIndex", "label": "分页页码", "type": "string"},
    {"field": "pageSize", "label": "分页页数", "type": "string", "value": "50"},
    {"field": "goodsDocNo", "label": "出库单号", "type": "string"},
    {"field": "startDate", "label": "创建时间的起始时间", "type": "string", 
        "value":"{{LAST_SYNC_TIME|datetime}}"},
    {"field": "endDate", 
        "label":"创建时间的结束时间","type":"string","value":"{{CURRENT_TIME|datetime}}"},
    {"field":"inouttype","label":"类型","type":"string","describe":"201-销售出库 202调拨出库 203 = 盘亏出库 204-其他出库 205采购退货 206生产领料 207组装拆卸出库 208翻新出库 209报废出库 210残次品出库 211倒冲出库 212 包材出库 215维修还厂 231成本调整出库","value":"209"}
    // ...其他字段省略
   ],
   // ...其他配置省略
}

请求参数解析

  1. 分页参数pageIndexpageSize 用于控制分页请求,确保每次请求的数据量适中。
  2. 时间参数startDateendDate 分别表示查询时间范围的起始和结束时间,使用动态变量 {{LAST_SYNC_TIME|datetime}}{{CURRENT_TIME|datetime}} 来自动填充。
  3. 类型参数inouttype 固定为 209,表示报废出库。

数据请求与清洗

在发送请求后,我们会收到包含多个字段的数据响应。为了确保数据质量和一致性,需要对返回的数据进行清洗和过滤。以下是一个简单的数据清洗示例:

def clean_data(response):
    cleaned_data = []
    for record in response['data']:
        if record['quantity'] > 0:
            cleaned_record = {
                'goodsdocNo': record['goodsdocNo'],
                'inOutDate': record['inOutDate'],
                'gmtCreate': record['gmtCreate'],
                'inouttype': record['inouttype'],
                'warehouseCode': record['warehouseCode'],
                'quantity': record['quantity']
            }
            cleaned_data.append(cleaned_record)
    return cleaned_data

在这个示例中,我们仅保留了数量大于0的记录,并提取了关键字段进行后续处理。

数据转换与写入

清洗后的数据需要进行格式转换,以便写入目标系统。在轻易云平台上,可以通过配置映射规则来实现这一过程。例如:

{
    // ...其他配置省略
    "autoFillResponse": true,
    // ...其他配置省略
}

通过设置 autoFillResponse: true,平台会自动将响应数据填充到预定义的目标结构中。

异常处理与补偿机制

为了确保数据集成过程的可靠性,我们需要考虑异常处理和补偿机制。例如,当某次请求失败时,可以通过定时任务重新发起请求:

{
    // ...其他配置省略
    "omissionRemedy":{
        "crontab":"1 2 * * *",
        // ...其他配置省略
        }
}

该配置表示每天凌晨2点1分执行一次补偿任务,以确保遗漏的数据能够及时补充。

通过以上步骤,我们可以高效地调用吉客云接口获取并加工报废出库的数据,从而实现不同系统间的数据无缝对接。这不仅提升了业务透明度和效率,也为后续的数据分析和决策提供了坚实基础。 如何对接用友BIP接口

轻易云数据集成平台生命周期第二步:ETL转换与写入金蝶云星空API接口

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

数据请求与清洗

在数据请求与清洗阶段,我们已经从源系统获取了所需的数据,并进行了初步的清洗和处理。接下来,我们需要将这些数据转换为金蝶云星空API接口所能接受的格式。

数据转换与写入

为了实现这一目标,我们需要配置元数据,确保每个字段都能正确映射到金蝶云星空的相应字段。以下是具体的元数据配置示例:

{
    "api": "batchSave",
    "effect": "EXECUTE",
    "method": "POST",
    "idCheck": true,
    "operation": {
        "rowsKey": "array",
        "rows": 1,
        "method": "merge",
        "field": "goodsDocDetailList_ownerName,inOutMonth",
        "bodyName": "items",
        "bodySum": ["goodsDocDetailList_quantity"],
        "header": ["inOutMonth", "goodsDocDetailList_ownerName"],
        "body": ["goodsDocDetailList_goodsNo", "goodsDocDetailList_quantity", "warehouseCode"]
    },
    "request": [
        {
            "field": "FJKYNo",
            "label": "吉客云单号",
            "type": "string",
            "describe": "单据编号",
            "value": "{goodsdocNo}"
        },
        {
            "field": "FBillTypeID",
            "label": "单据类型",
            "type": "string",
            ...

核心字段解析

  1. FJKYNo(吉客云单号):该字段用于存储源系统中的单据编号,通过{goodsdocNo}变量进行动态赋值。
  2. FBillTypeID(单据类型):固定值QTCKD93_SYS表示报废出库单。
  3. FStockOrgId(库存组织):通过ConvertObjectParser解析器,将源系统中的货主名称映射为金蝶系统中的库存组织编号。
  4. FDate(日期):使用{inOutMonth}变量动态赋值为出库日期。
  5. FDeptId(领料部门):固定值BM000029表示特定部门。

明细信息配置

明细信息部分通过嵌套数组实现,每个明细项包含以下字段:

  • FMATERIALID(物料编码):通过解析器将物料编码转换为金蝶系统中的编码。
  • FStockStatusId(库存状态):固定值KCZT01_SYS表示正常库存状态。
  • FSTOCKID(发货仓库):通过解析器将仓库编码转换为金蝶系统中的仓库编号。
  • FQty(实发数量):直接从源系统中获取并赋值。

其他请求参数

  • FormId:业务对象表单Id,固定值STK_MisDelivery表示报废出库表单。
  • IsAutoSubmitAndAudit:布尔值,设置为true表示自动提交并审核。
  • IsVerifyBaseDataField:布尔值,设置为true表示验证基础资料有效性。
  • Operation:执行操作,固定值Save表示保存操作。
  • InterationFlags:负库存检查标志,固定值STK_InvCheckResult

实现流程

  1. 配置元数据,确保每个字段都能正确映射到目标平台的相应字段。
  2. 使用轻易云数据集成平台提供的可视化界面进行配置和调试,确保数据能够正确转换和传输。
  3. 通过API接口将转换后的数据发送到金蝶云星空,实现最终的数据写入。

以上就是利用轻易云数据集成平台,将源平台数据进行ETL转换,并成功写入金蝶云星空API接口的详细技术方案。通过合理配置元数据和使用解析器,可以确保每个字段都能正确映射和传输,提高了整个数据集成过程的效率和准确性。 数据集成平台API接口配置

更多系统对接方案