轻易云
注册体验

金蝶生产订单同步至MES工单:基于轻易云的扁平化映射实战

· 何海波· 集成方案库· 16 次浏览· 约 4 分钟读完
四化智造MES(API)金蝶云星空MES生产同步轻易云字段映射私有化

这个策略解决什么问题

在某离散制造企业的车间现场,ERP 与 MES 长期“两张皮”:计划员在金蝶云星空下达生产订单,车间还要在 MES 里手工再录一遍工单,数据延迟、口径不一致、漏单是常态。本文要拆解的,就是用一条策略把金蝶云星空已审核、已下达的生产订单,自动同步为 MES 工单,让车间排产只认同一份数据。

数据流向与字段映射

数据流向:金蝶云星空(PRD_MO) → 轻易云数据集成平台 → 四化智造 MES(creatOrder)。

金蝶生产订单为扁平化结构,每条分录行(FTreeEntity)直接映射为目标端一条 MES 工单,依靠 FTreeEntity_FEntryId 做幂等键。

关键字段对照表:

业务含义源字段(金蝶)目标字段(MES)映射类型转换说明
生产订单号FBillNoorderNoDIRECT直接映射,作为业务追溯编码
物料主键FMaterialIdmaterialUuidDIRECT需借助物料基础资料同步建立的映射
生产数量FQtyorderNumDIRECTint 类型转换
分录行 IDFTreeEntity_FEntryIdouterOrderBomIdDIRECT幂等与回查关键字段
公司代码—companyCodeCONSTANT固定值,目标系统多租户标识
备品数量—spareNumCONSTANT暂置空
BOM 版本—bomVersionEMPTY当前未映射,留扩展位
工艺流程版本—flowchartVersionEMPTY当前未映射
车间 UUID—workshopUuidEMPTY源端 FWorkShopID_FNumber 待接入

FMaterialId 不是 MES 侧的主键。生产订单策略一般不会自己造一套物料映射,工程师稳妥的做法是:在轻易云里把编码映射集中管理,让物料、车间这类基础资料同步策略先跑稳,生产订单策略再通过 _findCollection 联查取到对应的 MES 物料 UUID。

在轻易云上如何配置

  1. 源端连接:新建金蝶云星空数据源,选 executeBillQuery,业务对象 PRD_MO,主键字段 FBillNo,明细键 FTreeEntity_FEntryId,分页 Limit=500。
  2. 目标端连接:新建四化智造 MES 数据源,接口 /api/creatOrder,POST,EXECUTE 类型。
  3. 字段映射:按上表配置,标记 DIRECT / CONSTANT / EMPTY;FQty 注意勾选 int 转换。
  4. 过滤条件:在源端 FilterString 写入 FDocumentStatus in ('C','D') and FStatus in ('2','3','4','6') and (FApproveDate >= '{{LAST_SYNC_TIME|datetime}}' or FModifyDate >= '{{LAST_SYNC_TIME|datetime}}' or FConveyDate >= '{{LAST_SYNC_TIME|datetime}}' or FCancelDate >= '{{LAST_SYNC_TIME|datetime}}') and FWorkShopID.FNumber != 'BM000022'。
  5. 联查(可选):若需补 workshopUuid,用 _findCollection 关联车间基础资料策略的结果集。
  6. 写入策略:表头/表体同源扁平化,无需拆表头表体分阶段;MES 端依赖 outerOrderBomId 做幂等。
  7. 日志与告警:开启轻易云的失败重试与异常告警,建议按订单号分组查看,便于人工补单。

实施步骤

实施时建议按“增量起点 → 全量回灌 → 稳态调度”三阶段推进,这也是轻易云客户常见的“增量与全量双轨”打法。

  • 阶段一:确定增量起点。先在金蝶侧取一个明确的时间戳(例如近 7 天内的最大审核时间)作为 LAST_SYNC_TIME 初始值,避免把历史订单全部涌入 MES。
  • 阶段二:全量回灌(必要时)。若 MES 为空库上线,可临时关闭时间过滤条件跑一次全量;跑完后立刻恢复过滤条件,并人工核对订单数与工单数。
  • 阶段三:稳态调度。配置 cron * 7-22 * * *,覆盖计划员白天的下达高峰;夜间停跑,给数据库统计与备份留窗口。
  • 阶段四:观察期与扩展。上线一周内重点监控重复工单、状态漂移、车间排除是否正确,再按需扩展 BOM 版本、工艺流程、计划开工/完工时间等字段。

踩坑复盘

  1. 物料映射没建就敢跑生产订单。materialUuid 在 MES 端是主键,没有映射就直接同步,MES 会拒收或产生脏数据。一定要先跑通“金蝶物料 → MES 物料”基础资料策略。
  2. 状态过滤漏配 FDocumentStatus。仅按业务状态过滤会把“已保存未审核”的订单也下发下去,导致车间看到一堆不能执行的工单。FDocumentStatus in ('C','D') 务必保留。
  3. FWorkShopID.FNumber != 'BM000022' 这种排除条件被遗忘。委外或试制车间一旦混入,会打乱 MES 排产规则。把它显式写进 FilterString,比靠人工筛选稳得多。
  4. 把 FTreeEntity_FEntryId 当成单据号用。它是分录行 ID,不是 FBillNo;用作幂等键没问题,但若直接显示在车间看板上,工人看不懂。
  5. cron 没分时段,全天每分钟跑。生产订单有明显的白天下达高峰,全天候高频调度既压数据库也无收益,7-22 每小时一跑足矣。

适用场景与不适用场景

适用:金蝶云星空作为 ERP 计划源、MES 负责车间执行,且 MES 以 outerOrderBomId 做幂等的离散制造场景;物料、车间基础资料已有独立同步策略做支撑。

不适用:需要把金蝶的 BOM 嵌套结构、工序路线、工艺版本同步到 MES 的复杂场景;以及 MES 主键逻辑不依赖外系统分录 ID 的系统。

本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/solutions/strat-mes-api-kingdee-cloud-5066-mes-31873eb2

评论