采购退料单集成方案:从旺店通到金蝶云的API实现

14-采购退料单集成方案:旺店通·旗舰奇门数据集成到金蝶云星空

在企业的供应链管理中,采购退料单的高效处理至关重要。为了实现这一目标,我们采用了轻易云数据集成平台,将旺店通·旗舰奇门的数据无缝对接到金蝶云星空。本次分享的案例是“14-采购退料单集成方案”,重点介绍如何通过API接口实现两大系统间的数据流转与同步。

首先,通过调用旺店通·旗舰奇门提供的wdt.wms.stockout.purchasereturn.querywithdetail API接口,我们能够定时可靠地抓取采购退料单的详细数据。这些数据包括商品信息、数量、退货原因等关键字段。为了确保数据不漏单,我们设计了一套高吞吐量的数据写入机制,使得大量数据能够快速且准确地被集成到金蝶云星空。

在数据传输过程中,轻易云平台提供了强大的集中监控和告警系统,实时跟踪每个数据集成任务的状态和性能。一旦发现异常情况,如网络延迟或接口限流问题,系统会立即发出告警并启动错误重试机制,以保证数据传输的稳定性和连续性。

此外,为了适应不同业务需求和数据结构,我们利用自定义的数据转换逻辑,对从旺店通·旗舰奇门获取的数据进行格式调整,使其符合金蝶云星空的要求。在完成转换后,通过调用金蝶云星空的batchSave API接口,实现批量数据写入,从而确保所有采购退料单信息都能及时更新到目标系统中。

整个集成过程不仅透明可视,还具备实时监控与日志记录功能,帮助我们全面掌握每一步操作细节,并及时处理可能出现的问题。通过这种方式,不仅提升了业务效率,也为企业资源优化配置提供了有力支持。

接下来,我们将深入探讨具体实施步骤及技术细节,包括如何处理分页与限流问题、异常处理机制以及定制化的数据映射对接等内容。
用友与WMS系统接口开发配置

数据集成平台可视化配置API接口

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

在轻易云数据集成平台中,调用源系统接口是数据处理生命周期的第一步。本文将详细探讨如何通过调用旺店通·旗舰奇门接口wdt.wms.stockout.purchasereturn.querywithdetail来获取采购退料单数据,并进行必要的数据加工处理。

接口调用配置

首先,我们需要配置接口请求参数。根据元数据配置,接口采用POST方法,主要参数包括出库单状态、出库单号、时间范围、仓库编号等。以下是关键参数的说明:

  • status: 出库单状态,例如110表示已完成。
  • stockout_no: 出库单号,用于精确查询特定出库单。
  • out_start_timeout_end_time: 出库时间范围,确保查询结果在指定时间段内。
  • warehouse_no: 仓库编号,仅限普通仓库。
  • src_order_no: 采购退货单号,用于精确查询特定退货单。
  • create_start_timecreate_end_time: 出库单创建时间范围。

分页参数也非常重要,以确保能够处理大量数据:

  • page_size: 每页记录数,默认设置为50。
  • page_no: 页码,从0开始。
数据请求与清洗

在发起请求后,我们会收到一个包含多个字段的响应。为了适应下游系统的数据结构,需要对部分字段进行重命名或格式转换。例如,将响应中的remark字段重命名为remark_new

此外,还需注意以下几点:

  1. 分页处理与限流问题

    • 旺店通·旗舰奇门接口支持分页,通过设置page_sizepage_no可以有效管理大批量数据的抓取过程。在实际操作中,可以通过循环递增页码来逐页获取所有数据,直到返回结果为空。
    • 限流问题则需要结合平台提供的监控和告警系统,在检测到频率过高时自动调整请求频率或暂停一段时间再继续。
  2. 异常处理与错误重试机制

    • 在调用过程中可能遇到网络波动或服务端错误,这时需要实现可靠的错误重试机制。例如,当接收到非200状态码时,可以记录错误日志并在一定间隔后重新尝试请求。
  3. 自定义数据转换逻辑

    • 根据业务需求,对某些字段进行自定义转换。例如,将日期格式从字符串转换为标准日期对象,以便后续处理更加方便。
实现步骤示例
  1. 配置API请求参数:

    {
        "params": {
            "status": "110",
            "out_start_time": "{{LAST_SYNC_TIME|datetime}}",
            "out_end_time": "{{CURRENT_TIME|datetime}}"
        },
        "pager": {
            "page_size": "50",
            "page_no": "1"
        }
    }
    
  2. 发起API请求并解析响应:

    response = requests.post(api_url, json=request_payload)
    data = response.json()
    
    for record in data['records']:
        record['remark_new'] = record.pop('remark')
        # 其他必要的数据清洗操作
    
  3. 分页抓取:

    while True:
        response = requests.post(api_url, json=request_payload)
        data = response.json()
        
        if not data['records']:
            break
        
        for record in data['records']:
            process_record(record)  # 自定义处理函数
        
        request_payload['pager']['page_no'] += 1
    
  4. 错误重试机制:

    try:
        response = requests.post(api_url, json=request_payload)
        response.raise_for_status()
    except requests.exceptions.RequestException as e:
        log_error(e)
        time.sleep(retry_interval)
        continue
    

通过上述步骤,我们可以高效地从旺店通·旗舰奇门接口获取所需的采购退料单数据,并进行必要的数据清洗和转换,为后续的数据写入和进一步分析奠定基础。这种全透明可视化操作不仅提升了业务透明度,也极大提高了效率。
用友与CRM系统接口开发配置

打通企业微信数据接口

采购退料单集成方案的ETL转换与写入

在数据集成过程中,将源平台的数据转化为目标平台所能接受的格式是至关重要的一步。本文将深入探讨如何通过轻易云数据集成平台,将已经集成的源数据进行ETL转换,并将其写入金蝶云星空系统。

数据请求与清洗

在数据请求阶段,我们从旺店通·旗舰奇门系统中抓取原始的采购退料单数据。为了确保数据的完整性和准确性,平台提供了高效的数据质量监控和异常检测机制。通过调用旺店通·旗舰奇门接口wdt.wms.stockout.purchasereturn.querywithdetail,我们可以获取详细的退料单信息,包括订单编号、退料日期、供应商信息以及物料明细等。

数据转换逻辑

接下来,我们需要对这些原始数据进行ETL转换,使其符合金蝶云星空API接口的格式要求。以下是关键字段的转换逻辑:

  1. 单据类型(FBillTypeID)

    • 转换为固定值TLD01_SYS,并通过ConvertObjectParser解析为金蝶云星空所需的格式。
  2. 业务类型(FBusinessType)

    • 固定值为CG,代表采购业务类型。
  3. 单据编号(FBillNo)

    • 从源数据中的订单编号字段映射过来,确保唯一性和准确性。
  4. 退料日期(FDate)

    • 使用模板语法将源数据中的时间戳转换为符合目标系统要求的日期格式。
  5. 组织信息(FStockOrgId, FPurchaseOrgId)

    • 统一设置为固定值106,并通过解析器进行格式转换。
  6. 供应商信息(FSupplierID)

    • 从源数据中提取供应商编号,通过解析器转换为目标系统所需格式。
  7. 明细信息(FPURMRBENTRY)

    • 物料编码、实退数量、仓库等字段需要逐一映射,并通过相应的解析器进行转换。例如,物料编码使用ConvertObjectParser解析,以确保与金蝶云星空系统中的物料编码一致。
  8. 关联关系表(FPURMRBENTRY_Link)

    • 包含源单内码、源单分录内码等字段,这些字段需要根据具体业务逻辑从源数据中提取并映射到目标系统对应字段。
数据写入

完成上述ETL转换后,我们将处理好的数据通过金蝶云星空API接口写入目标系统。使用批量保存接口batchSave,可以一次性提交多条记录,提高数据写入效率。以下是部分关键配置:

  • FormId: 设置为业务对象表单ID,例如采购退料单对应的ID为PUR_MRB
  • Operation: 执行操作类型设定为批量保存,即batchSave
  • IsAutoSubmitAndAudit: 设置为true,表示提交后自动审核,提高业务处理效率。
  • IsVerifyBaseDataField: 设置为false,默认不验证基础资料有效性,可根据需求调整。
  • SubSystemId: 系统模块ID设置为仓库模块,即21
异常处理与重试机制

在实际操作中,不可避免会遇到各种异常情况,如网络波动或接口限流问题。轻易云平台提供了完善的异常处理与错误重试机制。当发生错误时,系统会自动记录日志,并根据预设规则进行重试操作,确保数据最终能够成功写入目标系统。此外,通过实时监控功能,可以随时查看任务状态和性能指标,及时发现并处理问题。

总结

通过以上步骤,我们成功地将旺店通·旗舰奇门系统中的采购退料单数据进行了ETL转换,并顺利写入金蝶云星空系统。在此过程中,充分利用了轻易云平台提供的数据质量监控、异常检测、自定义转换逻辑等特性,实现了高效可靠的数据集成。这不仅提高了业务处理效率,也确保了数据的一致性和准确性。
钉钉与CRM系统接口开发配置

如何对接钉钉API接口

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/908376.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java设计模式(代理模式整理中ing)

一、代理模式 1、代理模式定义: 代理模式:由于某些原因要给某对象提供一个代理以控制对该对象的访问,这时访问对象不适合或者不能够直接引用目标对象,代理对象作为访问对象与目标对象之间的中介进行连接调控调用。 2、代理模式的…

大模型的常用指令格式 --> ShareGPT 和 Alpaca (以 llama-factory 里的设置为例)

ShareGPT 格式 提出背景:ShareGPT 格式起初来自于用户在社交平台上分享与聊天模型的对话记录,这些记录涵盖了丰富的多轮对话内容。研究者们意识到,这类真实的对话数据可以帮助模型更好地学习多轮对话的上下文保持、回应生成等能力。因此&…

AI问答:Google Authenticator(谷歌动态口令) / 设置及操作过程记录

Google Authenticator,即谷歌身份验证器,是谷歌推出的一款基于时间的一次性密码(Time-based One-time Password,简称TOTP)验证工具。以下是关于Google Authenticator验证的详细解释。 一、工作原理 Google Authentic…

PD虚拟机问题:“无法连接到 Parallels 服务” 解决方法

在使用Parallels Desktop 虚拟机的时候,启动时出现以下错误消息: a. Parallels Desktop 无法启动 b. 无法连接至 Parallels服务 c. 在该虚拟机中没有安装操作系统 遇到以上3种问题怎么解决呢?可能的原因如下: 过时的 macO…

干掉复杂的工具类,Hutool 工具库确实香!

Hutool 是一个超全的 Java 工具库,深受国内开发者的喜爱。目前确实是成为了国内使用最广的工具库之一了, Gitee 上的 Star 数也到了 23k 。最近新版本有所改动,这里分享一下最新版本的介绍。 一、Hutool简介 Hutool 真心是一个不错的国产 J…

Rust 力扣 - 2461. 长度为 K 子数组中的最大和

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们遍历长度为k的窗口,用一个哈希表记录窗口内的所有元素(用来对窗口内元素去重),我们取哈希表中元素数量等于k的窗口总和的最大值 题解代码 use std::collecti…

LeetCode 684.冗余连接:拓扑排序+哈希表(O(n)) 或 并查集(O(nlog n)-O(nα(n)))

【LetMeFly】684.冗余连接:拓扑排序哈希表(O(n)) 或 并查集(O(nlog n)-O(nα(n))) 力扣题目链接:https://leetcode.cn/problems/redundant-connection/ 树可以看成是一个连通且 无环 的 无向 图。 给定往…

数字IC后端实现之Innovus Place跑完density爆涨案例分析

下图所示为咱们社区a7core后端训练营学员的floorplan。 数字IC后端实现 | Innovus各个阶段常用命令汇总 该学员跑placement前density是59.467%,但跑完place后density飙升到87.68%。 仔细查看place过程中的log就可以发现Density一路飙升! 数字IC后端物…

项目管理软件:5款甘特图工具测评

在项目管理中,甘特图作为一种直观且高效的任务进度展示工具,被广泛应用于各个行业。以下是几款功能强大、易于使用的甘特图工具,它们能够帮助项目经理更好地规划、跟踪和管理项目进度。 1、进度猫 进度猫是国内项目管理新秀,是…

MYSQL 真实高并发下的死锁

https://pan.baidu.com/s/1nM3VQdbkNZhnK-wWboEYxA?pwdvwu6 下面是风控更新语句 ------------------------ LATEST DETECTED DEADLOCK ------------------------ 2023-08-04 01:00:10 140188779017984 *** (1) TRANSACTION: TRANSACTION 895271870, ACTIVE 0 sec starting …

CTFshow之信息收集第11关到20关。详细讲解

得而不惜就该 --小阁老 新篇章的接续! 一、实验准备 1、ctf网站:ctf.show 2、工具:chrome浏览器、hackbar插件 3、burpsuite抓包工具 二、实验技巧 (一)域名与子域名的dns解析记录 (二&#xff09…

【论文复现】语言模型中的多模态链式推理

📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐、摄影的一位博主。 📗本文收录于论文复现系列,大家有兴趣的可以看一看 📘相关专栏C语言初阶、C…

Docker:网络 Network

Docker:网络 Network Docker 网络架构CNMLibnetwork驱动网络类型 命令docker network lsdocker network inspectdocker network createdocker network connectdocker network disconnectdocker network prunedocker network rm 网络操作bridgehostcontainernone Doc…

局部敏感哈希(LSH)简介

0. Intro \textbf{0. Intro} 0. Intro 1️⃣ LSH \text{LSH} LSH的优势:在 λ \lambda{} λ较大的度量空间,也可以高效回答 c-ANN \text{c-ANN} c-ANN查询问题 2️⃣一些预备知识 多重集并集 (multi-set union): \text{(multi-set union): } (multi-set…

论文 | Evaluating the Robustness of Discrete Prompts

论文《Evaluating the Robustness of Discrete Prompts》深入探讨了离散提示(Discrete Prompts)的鲁棒性,即离散提示在自然语言处理任务中面对不同扰动时的表现。研究特别关注离散提示在自然语言推理(NLI)任务中的表现…

Linux 之 信号概念、进程、进程间通信、线程、线程同步

学习任务: 1、 信号:信号的分类、进程对信号的处理、向进程发送信号、信号掩码 2、 进程:进程与程序的概念、进程的内存布局、进程的虚拟地址空间、fork创建子进程、wait监视子进程 3、 学习进程间通信(管道和FIFO、信号、消息队列…

Vue:模板 MVVM

Vue:模板 & MVVM 模板插值语法指令语法 MVVMdefineProperty数据代理 模板 Vue实例绑定一个容器,想要向容器中填入动态的值,就需要使用模板语法。模板语法分为插值语法和指令语法。 插值语法 插值语法很简单,使用{{}}包含一…

C++中的继承——第二篇

一、继承与友元 友元关系不能够继承(就像父亲的朋友不一定是自己的朋友) 具体实现起来就是父类的友元可以访问父类的成员,但是不可以访问子类的成员 二、继承与静态成员 子类的静态成员变量本质上与父类的是同一份,存储在静态…

uni-app发起请求以及请求封装,上传及下载功能(六)

文章目录 一、发起网络请求1.使用及封装2. https 请求配置自签名证书3.拦截器 二、上传下载1.上传 uni.uploadFile(OBJECT)2. 下载 uni.downloadFile(OBJECT) 一、发起网络请求 uni-app中内置的uni.request()已经很强大了,简单且好用。为了让其更好用,同…

SLAM定位总结

文章目录 一、激光定位1.A-LOAM (2018)2.F-LOAM (2021)3.CT-ICP (2022)3.DLO:Fast Localization with Dense Point Clouds (2022)4.kiss-ICP :In Defense of Point-to-Point ICP Sim…