金蝶其他入库到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 端业务追溯错乱。建议这个字段先置空,等业务确认场景后再单独配置。
相关推荐
LuminousCPP1 小时前
数据库学习笔记(二):MySQL 基础操作入门|在 CentOS Stream 10 上连接、建库与建表
数据库·经验分享·笔记·学习·mysql·centos
运维小斌1 小时前
麒麟 V10 ARM64 离线部署 OceanBase:8 步实施手册
linux·数据库·oceanbase·麒麟
Gh0st_Lx1 小时前
【1】MySQL MVCC 与隔离级别
数据库·mysql·mvcc
ss2732 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 15 PostgreSQL子查询与嵌套查询(上)
数据库·人工智能·postgresql
这个DBA有点耶16 小时前
从症状到根因:数据库监控指标的分层方法与静态/动态阈值策略
数据库·mysql·代码规范
SelectDB16 小时前
时间旅行与快照能力速查:Doris 侧三条落地路径
大数据·数据库·数据分析
SelectDB16 小时前
云数仓成本结构拆解速查:五层计费 vs Doris / 托管形态
大数据·数据库·数据分析
SelectDB16 小时前
什么场景能承接与建议保留:Doris vs Snowflake 边界速查
大数据·数据库·数据分析