采购退料单集成方案:从旺店通到金蝶云的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']:breakfor 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接口

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

MyBatis的高级映射及延迟加载

多对一: 多种方式,常见的包括三种: 第一种方式:一条SQL语句,级联属性映射。 第二种方式:一条SQL语句,association。 第三种方式:两条SQL语句,分步查询。(这…

bugku中web题-source

Web安全解题基础三件套思路 信息收集与目录扫描 御剑扫描:探测网站目录结构,找潜在可访问路径,如管理员后台等目录。dirsearch扫描后台目录:配置参数后扫描,分析返回有意义状态码的目录,可能包含后台管理界…

Java中String的length与Oracle数据库中VARCHAR2实际存储长度不一致的问题

目录 一、根本原因 二、解决方案 一、根本原因 Oracle数据库新增数据的时候报如下错误: 先给大家看个小案例,这样更好去理解,下面是一段测试代码: 这里面我分别列举了三种字符串,中文,英文和数字以及两种…

shodan6-7---清风

shodan6-7 1.shodan网页版 以cve-2019-0708漏洞指纹特征为例 "\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"在这里插入图片描述 搜索命令参考 https://www.shodan.io/search/filters这个网页中有搜索关键词 对指定网址进行监控,这里可以对ip进行扫描&…

Spring5学习记录(四)声明式事务管理

Spring5学习记录(四)声明式事务管理 一、事务管理1、事务四个特性ACID2、事务的两种方式 二、基于注解实现声明式事务管理1、配置xml文件2、添加事务注解 Transactional 三、声明式事务管理的参数配置1、propagation:事务传播行为2、isolat…

Linux上python离线安装教程

一. 安装Python 1. 下载python离线包 安装包下载地址:https://www.python.org/downloads/source/ 我下载的是Python 3.10.14 下面是linux服务器上的部署过程 2. 系统更新 sudo yum update -y 3. 安装必要的依赖项 sudo yum groupinstall “Development Tools” -y…

快速入门CSS

欢迎关注个人主页:逸狼 创造不易,可以点点赞吗 如有错误,欢迎指出~ 目录 CSS css的三种引入方式 css书写规范 选择器分类 标签选择器 class选择器 id选择器 复合选择器 通配符选择器 color颜色设置 border边框设置 width/heigth 内/外边距 C…

ssm基于vue搭建的新闻网站+vue

系统包含:源码论文 所用技术:SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习,获取源码请私聊我 需要定制请私聊 目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容 2 [2 系统…

MATLAB计算朗格朗日函数

1. 朗格朗日函数介绍 朗格朗日函数(Lagrange function)通常用于优化问题,尤其是带有约束的优化问题。其一般形式为: 其中: f(x) 是目标函数。 是约束条件。 是拉格朗日乘子。 为了编写一个MATLAB代码来计算和绘制…

商场应急响应:SpringBoot技术优化

3系统分析 3.1可行性分析 通过对本大型商场应急预案管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本大型商场应急预案管理系统采用SSM框架&#xff0…

WebSocket的理解与应用

WebSocket的理解与应用 一、是什么二、特点1、全双工2、二进制帧3、协议名4、握手5、优点 三、应用场景 一、是什么 WebSocket,是一种网络传输协议,位于OSI模型的应用层。可在单个TCP连接上进行全双工通信,能更好的节省服务器资源和带宽并达…

【C++ 算法进阶】算法提升八

复杂计算 (括号问题相关递归套路 重要) 题目 给定一个字符串str str表示一个公式 公式里面可能有整数 - * / 符号以及左右括号 返回最终计算的结果 题目分析 本题的难点主要在于可能会有很多的括号 而我们直接模拟现实中的算法的话code会难写 要考虑…

Node学习记录-until实用工具

来源:Nodejs 第十八章(util) util 是Node.js内部提供的很多实用或者工具类型的API util.promisify 用于将遵循Node回调风格(即最后一个参数为回调函数)的函数转换成返回Promise的函数,这样可以使得异步代…

Vue生命周期

Vue生命周期:Vue实例从创建到销毁的过程,即指从创建、初始化数据、编译模板、挂载DOM到渲染、更新到渲染、销毁等一系列过程。主要分为创建前后、载入前后、更新前后、销毁前后以及一些特殊场景的生命周期。 …

注意力机制的目的:理解语义;编码器嵌入高纬空间计算;注意力得分“得到S*V”;解码器掩码和交叉注意力层用于训练;最终的编码器和输出实现大模型

目录 注意力机制的目的:理解语义中的它是小白兔 词编码器嵌入高纬空间 计算注意力得分“得到S*V” 权重QKV:连接权重 训练阶段使用解码器:翻译后的语句 解码器掩码和交叉注意力层用于训练 最终的编码器和输出实现大模型 Transformer模型中,QKV QKV的作用 举例说明…

鸿蒙5.0时代:原生鸿蒙应用市场引领开发者服务新篇章

前言 10月22日原生鸿蒙之夜发布会宣布HarmonyOS NEXT正式发布,首个版本号:鸿蒙5.0。这次“纯血鸿蒙”脱离了底层安卓架构成为纯国产的独立系统,仅凭这一点就有很多想象空间。 目前鸿蒙生态设备已超10亿,原生鸿蒙操作系统在中国市…

联动香港、成都、武汉三所高校!“2024 深圳国际金融科技大赛”校园行圆满结束

在金融科技蓬勃发展的当下,人才培养成为推动行业前行的关键。为推进深圳市金融科技人才高地建设,向高校学子提供一个展示自身知识、能力和创意的平台,2024 FinTechathon 深圳国际金融科技大赛——西丽湖金融科技大学生挑战赛重磅开启&#xf…

【真题笔记】16年系统架构设计师要点总结

【真题笔记】16年系统架构设计师要点总结 存储部件接口嵌入式处理器产品配置配置管理用户文档系统文档CMM(能力成熟度模型)螺旋模型敏捷软件开发的方法学软件工具面向对象的分析模型设计模型COP(面向构件的编程)构件原子构件模块S…

【力扣打卡系列】二分查找(红蓝染色法)

坚持按题型打卡&刷&梳理力扣算法题系列&#xff0c;语言为go&#xff0c;Day8 在排序数组中查找元素的第一个和最后一个位置 题目描述解题思路 二分查找 注意勿漏循环&#xff0c;条件为left < right注意比较的是nums[mid]与target的值&#xff0c;不是mid注意if s…

NGINX 交叉编译 arm32

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…