金蝶其他入库到MES送检签收:库存同步策略实战教程

这个策略解决什么问题

在离散制造企业的质检流程里,「入库」与「送检」往往横跨两套系统:财务/库存侧的入库单在 ERP 端完成审核,而生产侧的送检任务必须在 MES 端建立并触发质检。这条策略要解决的,就是把金蝶云星空的「其他入库单」自动同步到四化智造 MES 的送检签收接口,让质检人员一上班就能看到当日新增的待送检任务,避免人工二次录入与漏单。

数据流向与字段映射

数据从金蝶云星空流向四化智造 MES,整体采用扁平化结构:金蝶其他入库单的每一行分录直接对应 MES 一条送检任务记录。

关键字段对照表:

业务含义 源字段(金蝶 STK_MISCELLANEOUS) 目标字段(MES creatQmsInspectTaskDto) 映射说明
单据编号 FBillNo inspectNo 直接映射,作为送检单号
分录行 ID FEntity_FEntryID --- 幂等控制关键字段
物料 FMATERIALID materialUuid 需结合基础资料映射识别
仓库 FSTOCKID receiveInvDetailUuid 仓库主键 ID 传递
数量 FQty inspectNum int 转换
单位 FUnitID weightUnitName 目标端期望单位名称,可能需联查
部门 FDEPTID deptName 同上,可能需联查
供应商 FSUPPLIERID supplierUuid 需基础资料映射
公司代码 --- companyCode 固定常量

在轻易云上如何配置

我们用轻易云数据集成平台(Qeasy)承接整条链路,配置上通常分三块:

  1. 源端数据集 :选金蝶云星空的 executeBillQuery,接口方法 POST,表单字段按物料主键 ID、仓库 ID、单据编号等勾选;增量条件使用 FApproveDate>='{``{LAST_SYNC_TIME|datetime}}',并建议加上 FDocumentStatus='C' 仅同步已审核单据。
  2. 目标端 API :选择四化智造 MES 的 creatQmsInspectTaskDto WebAPI,method POST;公司代码作为常量 companyCode 写死,其余字段通过变量引用源端字段。
  3. 调度策略 :cron 设为 * 7-22 * * *,覆盖白班作业窗口。

针对客户现场常见的编码映射难题,轻易云支持把「金蝶物料→MES 物料」「金蝶供应商→MES 供应商」放在独立的基础资料同步方案里集中维护,再通过 _findCollection 或 _mongoQuery 在本策略里联查取 UUID------这是轻易云客户最常见的「编码映射集中管理」应对模式,能有效避免每个业务单据策略都重复写一遍映射。

实施步骤

上线节奏建议分三阶段:

  • 增量起点确定 :第一次跑全量时,先把 LAST_SYNC_TIME 设为历史上线日(如 7 天前),让系统拉一批历史入库单验证链路通畅;之后再切到按审核日期增量。
  • 全量触发与对账:全量跑完后,在 MES 端抽样核对 inspectNo、inspectNum、materialUuid 三件套是否与金蝶入库单一一对应,确认无重号、无丢行。
  • 调度频率 :稳定后按 * 7-22 * * * 每小时执行一次;非工作时段可停跑,降低源库压力。若现场需要更实时,可在轻易云上再加一个事件触发通道作为补充。

「增量与全量双轨」也是轻易云客户常见做法------白天增量巡检,夜间或周末定期全量兜底,防止漏单。

踩坑复盘

  1. 单位/部门传了 ID 名称对不上 :金蝶 FUnitID、FDEPTID 传过去后,MES 端如果期望的是名称(如 KG、采购部),就会出现送检任务单位为空、部门为 ID 字符串。稳妥做法是在轻易云里通过 _findCollection 联查金蝶计量单位、部门表把名称带过去,或者在 MES 端兼容 ID 入参。
  2. 物料 UUID 直传导致 MES 查不到 :直接传金蝶 FMATERIALID 在某些 MES 版本下识别不了物料,表现为送检任务建成功但物料显示空白。务必先确认「金蝶物料→MES 物料」基础资料方案是否已上线,再用 _findCollection 联查。
  3. 增量窗口漏掉跨时段审核单 :FApproveDate 用 >= 时,如果调度刚好在整点跑,可能漏掉 21:59 审核的单据。建议把 LAST_SYNC_TIME 往前回拨 5~10 分钟,或切换到更细粒度的触发方式。
  4. 草稿单被推过去 :未加 FDocumentStatus 过滤时,金蝶的暂存/草稿状态也会被同步,质检人员看到无效任务。务必在 FilterString 里加上 FDocumentStatus='C'。
  5. purchaseOrderNo 字段语义错位:把 FBillNo 同时塞到 purchaseOrderNo 是个常见偷懒做法,但其他入库本身可能不是采购入库,会让 MES 端业务追溯错乱。建议这个字段先置空,等业务确认场景后再单独配置。
相关推荐
10年前端老司机1 小时前
Milvus 8种检索能力实践
数据库·python·agent
Decay__2 小时前
14_MySQL 高可用与容灾架构 —— MGR / InnoDB Cluster / Keepalived+VIP / 双主 / 读写分离 / 两地三中心
运维·数据库·sql·mysql·架构
freejackman2 小时前
【实战三】撕开脱敏盲区:深度解析 CASE WHEN 与窗口函数血缘
大数据·数据库·sql
codigger4 小时前
线上数据库连接池打满:从应急止损到架构根治的完整方案
数据库·sql·程序员
倔强的石头_4 小时前
集中式与分布式怎么选?我把手头11套系统重新过了一遍秤
数据库
挖掘狂人4 小时前
线上数据库连接池打满:从应急止损到架构根治的完整方案
数据库·sql·程序员
Rainmicro4 小时前
【无标题】
java·数据库·算法
Thanks_ks5 小时前
MySQL 的索引是什么?用图书馆的目录讲明白
数据库·sql·mysql·索引·联合索引·explain·慢查询优化
CoderYanger10 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第二弹)
java·数据库·spring boot·spring·面试·java-ee·mybatis
wafrdggh13 小时前
2026电商快递批量查询怎么用?固乔助手模板设置评测
大数据·数据库·小程序