金蝶生产入库单与旺店通数据集成案例

金蝶生产入库单与旺店通数据集成案例

金蝶生产入库单-旺店通其他入库单数据集成案例分享

在企业信息化管理中,数据的高效流动和准确对接是实现业务流程自动化的关键。本文将聚焦于一个实际运行的系统对接集成案例:如何将金蝶云星空中的生产入库单数据无缝集成到旺店通·企业奇门的其他入库单中。

为了实现这一目标,我们采用了轻易云数据集成平台,通过其强大的可视化操作界面和全生命周期管理功能,确保每个环节都清晰透明,并实时监控数据流动和处理状态。在这个过程中,我们主要利用了以下几个关键特性:

高吞吐量的数据写入能力:通过支持大量数据快速写入到旺店通·企业奇门系统中,大大提升了数据处理的时效性。

集中监控和告警系统:实时跟踪数据集成任务的状态和性能,确保任何异常情况能够及时发现并处理。

自定义数据转换逻辑:适应特定业务需求和数据结构,实现金蝶云星空与旺店通·企业奇门之间的数据格式差异转换。

API资产管理功能:通过统一视图全面掌握API资产使用情况,实现资源高效利用和优化配置。

具体来说,我们首先通过调用金蝶云星空的executeBillQuery接口获取生产入库单的数据。然后,利用轻易云平台提供的可视化设计工具,对这些数据进行必要的转换和映射,以适应旺店通·企业奇门所需的数据格式。最后,通过调用旺店通·企业奇门的wdt.stockin.order.push接口,将转换后的数据批量写入到目标系统中。

在整个过程中,为了确保集成过程中的可靠性,我们特别关注了以下几点:

定时可靠地抓取金蝶云星空接口数据,避免漏单现象。

处理分页和限流问题,以保证接口调用的稳定性。

实现异常处理与错误重试机制,确保即使在出现临时故障时也能顺利完成任务。

通过上述方案,不仅实现了金蝶生产入库单到旺店通其他入库单的数据无缝对接,还极大提升了业务流程自动化水平,为企业带来了显著的效率提升。 

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

在轻易云数据集成平台中,调用源系统金蝶云星空接口executeBillQuery是数据集成生命周期的第一步。此步骤至关重要,因为它直接影响后续的数据清洗、转换和写入过程。以下将详细探讨如何高效地调用该接口,并对获取的数据进行初步加工。

接口配置与请求参数

首先,我们需要配置元数据,以确保能够正确调用executeBillQuery接口。根据提供的元数据配置,可以看到请求参数包括多种字段,如单据编号(FBillNo)、实体主键(FID)、物料编码(FMaterialId_FNumber)等。这些字段将用于构建查询条件和过滤器,以精确获取所需的数据。

{

  "api": "executeBillQuery",

  "method": "POST",

  "number": "FBillNo",

  "id": "FEntity_FEntryID",

  "pagination": {

    "pageSize": 500

  },

  ...

}

分页处理

由于金蝶云星空接口返回的数据量可能较大,分页处理显得尤为重要。通过设置分页参数如Limit和StartRow,可以有效控制每次请求返回的数据量,从而避免因数据过多导致的性能问题。

{

  "field": "Limit",

  "label": "最大行数",

  ...

},

{

  "field": "StartRow",

  ...

}

在实际操作中,可以使用循环或递归方式逐页获取数据,直到所有记录都被成功提取。例如:

start_row = 0

page_size = metadata["pagination"]["pageSize"]

while True:

    response = executeBillQuery(start_row, page_size)

    if not response or len(response) < page_size:

        break

    process_data(response)

    start_row += page_size

数据过滤与查询条件

为了确保只获取到符合业务需求的数据,需要设置合理的过滤条件。例如,通过设置FilterString参数,可以筛选出特定日期范围内且满足其他条件的生产入库单记录。

{

  "field": "FilterString",

  ...

}

示例过滤条件:

FApproveDate >= '{{LAST_SYNC_TIME|dateTime}}' AND FMATERIALID.F_POIH_Combo = 1 AND

(FSTOCKID.Fnumber='06' OR FSTOCKID.Fnumber='07') AND FPrdOrgId.Fnumber <> '100'

数据加工与转换

在成功获取到原始数据后,需要对其进行初步加工和转换,以便后续写入目标系统。在这一阶段,可以利用轻易云平台提供的自定义数据转换逻辑,对字段进行重命名、格式化或计算新字段值。例如,将实收数量(FRealQty)从字符串类型转换为数值类型,以便于后续计算和统计分析。

def process_data(data):

    for record in data:

        record["FRealQty"] = float(record["FRealQty"])

        # 更多处理逻辑...

异常处理与重试机制

在调用外部API时,不可避免地会遇到网络波动或服务不可用等异常情况。因此,需要设计健壮的异常处理与重试机制。例如,当请求失败时,可以捕获异常并进行适当的日志记录,然后根据预设策略进行重试。

try:

    response = executeBillQuery(start_row, page_size)

except Exception as e:

    log_error(e)

    retry_request()

通过上述步骤,我们可以高效地调用金蝶云星空接口executeBillQuery,并对获取的数据进行初步加工,为后续的数据清洗、转换和写入奠定坚实基础。这一过程中,合理配置元数据、有效处理分页、设置精准的查询条件以及设计健壮的异常处理机制,是确保整个集成流程顺利进行的重要保障。 

集成方案:金蝶生产入库单-旺店通其他入库单

在数据集成的生命周期中,第二步的ETL转换至关重要。将来自金蝶生产入库单的数据转为旺店通·企业奇门API接口所能接收的格式,并最终写入目标平台,需要详细配置和处理。

ETL转换过程

数据提取与清洗

在集成金蝶生产入库单数据时,首先需要从源系统中提取相关数据。这个过程涉及调用金蝶云星空接口executeBillQuery,抓取生产入库单的详细信息。为了确保数据完整性和一致性,需要处理分页和限流问题。

数据转换

数据转换是ETL过程的核心步骤。在这里,我们需要将金蝶云星空的数据结构映射到旺店通·企业奇门API接口所需的格式。根据元数据配置,可以看到以下关键字段的映射:

FBillNo 映射为 outer_no

FStockId 映射为 warehouse_no

FMaterialId_FNumber 映射为 spec_no

FRealQty 映射为 stockin_num

FLot 映射为 batch_no

FMemo 映射为 remark

自定义逻辑处理

根据业务需求,有些字段需要进行自定义逻辑处理。例如,reason 字段根据 FPrdOrgId_Fnumber 的值来确定不同的入库原因:

case '{FPrdOrgId_Fnumber}'

  when '101' then '百媚一厂生产入库'

  else '百媚二厂生产入库'

end

数据写入

API接口配置

配置旺店通·企业奇门API接口是ETL转换的最后一步。根据提供的元数据配置,调用API接口wdt.stockin.order.push,使用POST方法将整理后的数据推送到目标平台。

高效写入与异常处理

轻易云平台支持高吞吐量的数据写入能力,这使得大量数据能够快速被集成到旺店通·企业奇门中。在此过程中,必须设置可靠的异常处理与错误重试机制,以确保在出现网络波动或其他问题时,不会导致数据丢失或重复写入。

实时监控与日志记录

为了确保整个ETL过程顺利进行,需要利用平台提供的集中监控和告警系统,实时跟踪数据集成任务的状态和性能。同时,通过日志记录功能,可以详细记录每次API调用的信息,包括请求参数、响应结果以及可能出现的错误,以便于后续排查和优化。

具体案例分析

假设我们从金蝶云星空中获取了一条生产入库单,其主要字段如下:

单据编号(FBillNo):12345

仓库编号(FStockId):WH001

物料编码(FMaterialId_FNumber):MAT001

实际数量(FRealQty):100

批次号(FLot):LOT20231001

备注(FMemo):无

生产组织编码(FPrdOrgId_Fnumber):101

经过ETL转换后,这些字段将被映射并推送到旺店通·企业奇门中,如下所示:

{

    "outer_no": "12345",

    "warehouse_no": "WH001",

    "post_fee": "0",

    "other_fee": "0",

    "goods_list": [

        {

            "spec_no": "MAT001",

            "stockin_num": "100",

            "position_no": "",

            "batch_no": "LOT20231001",

            "remark": "无",

            "src_price": "",

            "stockin_price": ""

        }

    ],

    "reason": "百媚一厂生产入库",

    "is_check": "1",

    "is_create_batch": "1"

}

通过这种方式,我们实现了从金蝶云星空到旺店通·企业奇门的数据无缝对接,并确保了数据的一致性和准确性。在实际操作中,还需根据具体业务需求进行更多细节调整和优化,以达到最佳效果。 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容