轻易云
注册体验

即时库存状态转换同步实战:从 MySQL 到金蝶云星空的库内检策略

· 系统管理员· 集成方案库· 13 次浏览· 约 4 分钟读完

这个策略解决什么问题

在某制造企业的供应链现场,车间 MES 每天会产出大量「库存状态转换」业务——比如把待检品从「待检库位」转到「合格库位」、把不良品转到「隔离库位」。这些动作落到金蝶云星空里,对应的是一张「库存状态转换单」。

如果靠人工在金蝶里手工建单,一天几百条,既慢又容易漏;如果让 MES 直连金蝶的接口,两边耦合重,出问题相互甩锅。我们用轻易云数据集成平台(Qeasy)承接中间层,MySQL 的接口表出多少,平台就推多少,金蝶只管接单。下面把这一个策略讲透。

物料编码多平台映射矩阵流程

数据流向与字段映射

整体流向:MySQL 接口表 → 轻易云中间层 → 金蝶云星空 batchSave。源端是一张典型的接口中间表,目标端是金蝶的库存状态转换单据。

关键字段对照(源 → 目标):

业务含义MySQL 源字段金蝶目标字段备注
来源主键iface_id—仅做幂等去重
单据编号自拼接 MKCZHD+日期+batch_idFBillNo源端已生成,目标端 idCheck=true
单据日期账期表比较后取 aft_quiet_timeFDate注意结账时点
单据类型instruction_doc_typeFBillTypeID需做编码映射
业务类型固定 '0'FBizType字典项
库存组织inventory_orgFStockOrgId编码映射
货主类型consignor_typeFOwnerTypeIdHead字典项
货主consignor_orgFOwnerIdHead编码映射
明细行号line_numFEntity_FEntryId行号
转换类型convert_typeFConvertType字典项
物料编码material_codeFMaterialId编码映射
单位uom_codeFUnitId编码映射
转换数量convert_qtyFQty数值
仓库warehouse_codeFStockId编码映射
库存状态inventory_statusFInventoryStatus编码映射

单据头与单据体在源端是同一张表的字段,通过 line_num 区分;到金蝶侧,头和体要拆开落字段,这正是轻易云做「表头表体分阶段」处理的典型场景。

在轻易云上如何配置

源端用 WebAPI 的 select 类型,写一条带 :limit、:offset 的动态分页 SQL,平台按页拉取,翻页到底后自动停。main_params 负责把 limit、offset 绑进去,避免拼接注入。

目标端用金蝶云星空的 batchSave,idCheck=true,意思是金蝶会用 FBillNo 去重——这刚好和源端拼接的 MKCZHD+日期+batch_id 对上,断点续传就不会重复落单。

编码映射集中管理是轻易云给企业客户最常用的一套打法:把库存组织、物料、单位、仓库、库存状态这些编码,统一放到一张映射表里维护,源端代码一变,只改一处,不用动每个策略。这也是踩坑最少的方式。

实施步骤

  1. 增量起点确认:第一次上线前,在 MySQL 接口表里按 status in ('N','E') 取一批历史数据,标记一个 creation_date 起点;上线后,平台按主键 iface_id 增量推进,已经推成功的改成 'S',失败的留 'E' 等下次重试。
  2. 全量触发:初始化当天手动跑一次全量,把积压的 N、E 数据清空。
  3. 调度频率:源端定时任务 3,13,23,33,43,50 * * * *,也就是每 10 分钟一档、整点附近加跑一档,既保证时效,又错开整点高峰。目标端金蝶侧 */1 * * * * 每分钟轮询拉取平台中转队列,做到「源端攒批、目标端秒级接单」。
  4. 失败重试:平台默认会对 5xx、网络超时做退避重试;业务校验失败(如编码缺失)进死信队列,人工介入。
  5. 结账期处理:单据日期用 aft_quiet_time 兜底,避免把单据推到已结账期间。

踩坑复盘

  1. 单据编号别让金蝶自己生成。源端已经按 MKCZHD+日期+batch_id 拼好了,如果金蝶再按自家规则生成,两边对不上,后续对账全乱。稳妥的做法是源端生成、目标端 idCheck 去重。
  2. 库存状态编码不能写死字符串。比如「合格」「待检」「隔离」在不同组织下编码可能不同,集中映射表维护,千万别散落在策略里。
  3. 明细行号必须传。金蝶的库存转换单表体需要行号做幂等键,不传会导致整单被当成新增重复落。
  4. 结账时点别忽略。直接把 creation_date 当单据日期,月底结账时容易把单据推到已结账期间,金蝶直接拒收。aft_quiet_time 是兜底关键。
  5. 分页越界要稳。:limit :offset 分页,翻到末页返回空集是正常,别当成失败重试把队列打满。

适用场景与不适用场景

适用:MES/ERP 间需要把库存状态转换、调拨、调整类业务单据高频同步到金蝶云星空,日单量从几百到几万均能稳定承接。

不适用:跨组织、多货主、需要审批流的复杂转换业务;以及源端接口表本身数据质量不过关、字段经常缺失的场景——这种先把源端治理好再谈同步,否则平台只是把脏数据更快地搬到金蝶里。

本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/solutions/strat-mysql-kingdee-cloud-2246-mom-kcztzh-bf398628

评论