1. 课程导入
在制造企业数字化转型的实践中,ERP、MES、WMS 往往不是孤立存在的三套软件,而是分别承担“经营计划”“生产执行”“仓储物流”三类核心职责的信息系统。ERP 关注订单、采购、库存、财务与成本;MES 关注工单、工艺、设备、质量与生产进度;WMS 关注收货、上架、拣选、发运与库位库存。三者如果各自为政,就会出现“计划在 ERP、执行在 MES、库存在 WMS,但数据对不上”的典型问题。因此,系统集成不是可选项,而是让业务闭环真正跑通的基础设施。
一、为什么集成如此重要:从业务断点看系统价值
先看一个常见场景:销售在 ERP 中录入一张 1000 台的订单,ERP 生成生产计划并下达工单;MES 接收工单后安排产线生产;生产完成后,成品需要入库,WMS 负责收货上架;最后 ERP 根据实际入库和发运数据完成库存更新与成本核算。如果这三个系统之间没有集成,会发生什么?
- ERP 的工单状态无法实时反馈,计划员只能靠电话或 Excel 追问进度;
- MES 完工后,WMS 不知道成品何时、何地、以何种批次入库;
- WMS 的库存变动无法回传 ERP,导致财务账与实物账长期不一致;
- 质量检验结果、批次追溯信息分散在多个系统,追溯时需人工拼接。
集成的本质,是让“业务事件”在系统之间自动流转,而不是靠人重复录入。ERP 下达工单是事件,MES 完工报工是事件,WMS 收货上架也是事件。集成要解决的是:谁产生事件、谁消费事件、以什么格式传递、失败后如何补偿。
核心判断:集成的目标不是“把三个系统连起来”,而是让计划、执行、库存三条数据流在正确的时间、以正确的粒度、到达正确的系统,并保持可追溯、可对账、可恢复。
二、三系统集成的核心关系与数据流向
从数据流角度看,ERP 是计划与经营层,MES 是执行与控制层,WMS 是物流与库存层。典型的数据流向包括:ERP 向 MES 下达工单、物料清单、工艺路线;MES 向 ERP 回传完工数量、工时、质量结果;ERP 向 WMS 下达采购收货、销售发货、生产领料与入库指令;WMS 向 ERP 回传实际收货、上架、拣选、发运和库存变动。MES 与 WMS 之间则围绕生产领料、线边库、成品入库、半成品流转发生交互。
三、学习目标:学完本课程你能做什么
本课程不是单纯讲解某个接口的调用方式,而是围绕“业务闭环 + 技术实现 + 异常处理”三条主线展开。学完后,你应当能够:
- 说清 ERP、MES、WMS 各自的职责边界与集成边界,能画出三系统的主数据流与业务流;
- 掌握工单下达、完工报工、采购收货、销售发货、生产领料、成品入库等典型集成场景的接口设计;
- 理解接口方式的选择:API、消息队列、中间表、文件交换各自适合什么场景;
- 能设计关键字段映射、状态机转换、幂等与重试机制,避免重复过账和数据错乱;
- 能定位常见集成故障,如工单状态不同步、库存对不上、批次追溯断链,并给出排查路径;
- 能站在项目视角,输出集成方案、接口清单、测试用例与上线切换策略。
四、整体课程框架与学习方法
课程共 30 章,整体按“认知—设计—实现—运维”四段推进。前段建立三系统集成的整体认知与主数据基础;中段深入典型业务场景的接口设计与数据映射;后段覆盖消息机制、异常处理、性能与安全;最后落到项目实战、排障复盘与持续优化。
| 阶段 | 主要内容 | 学习重点 |
|---|---|---|
| 认知与基础 | 系统职责、集成价值、主数据、编码体系 | 能画出三系统关系图,理解数据流向 |
| 场景与设计 | 工单、报工、收货、发货、领料、入库 | 掌握接口字段、状态机与业务规则 |
| 技术与实现 | API、消息队列、中间表、文件交换、幂等重试 | 能根据场景选择集成方式并落地 |
| 运维与实战 | 监控告警、对账、排障、上线切换、复盘 | 能独立处理常见集成故障并优化 |
学习方法建议:每章先抓“业务事件—数据流向—接口边界”三件事,再进入字段和代码细节。遇到接口设计时,先问三个问题:这个事件由谁产生?谁需要消费?如果失败,业务上如何补偿?把这三个问题回答清楚,集成方案就不会跑偏。
五、常见误区与复盘提醒
初学者最容易陷入的误区,是把集成等同于“调通接口”。接口能通,只说明技术链路可用,不代表业务闭环正确。以下误区在项目中非常常见:
- 只关注接口,不关注状态:工单在 ERP 是“已下达”,在 MES 是“生产中”,在 WMS 是“待领料”,状态没有统一映射,导致业务判断混乱;
- 只关注成功,不关注失败:没有重试、补偿和对账机制,一次网络抖动就可能造成库存差异;
- 只关注字段,不关注主数据:物料编码、批次规则、库位编码不统一,接口传得再多也无法对齐;
- 只关注实时,不关注幂等:重复推送同一工单或同一收货单,造成重复过账;
- 只关注上线,不关注运维:没有日志、监控和告警,故障发生后无法快速定位。
复盘提醒:集成项目出问题,往往不是技术难度太高,而是边界不清、责任不明、异常路径没有设计。每设计一个接口,都要同时设计它的失败路径、重试策略和对账方式。
下面用一段伪代码示意一个典型的工单下达接口在集成层需要处理的关键动作,帮助你建立“接口不只是传数据”的意识:
POST /api/mes/workorder
{
"erpOrderNo": "SO202405001",
"workOrderNo": "WO202405001-01",
"materialCode": "M-10086",
"quantity": 1000,
"plannedStart": "2024-05-10T08:00:00",
"plannedEnd": "2024-05-12T18:00:00",
"bomVersion": "V2.1",
"routeCode": "RT-ASSY-01"
}
# 集成层关键动作
1. 校验物料、BOM、工艺路线是否已同步
2. 校验工单号是否重复,保证幂等
3. 写入集成日志,记录来源系统与消息ID
4. 调用 MES 接口,失败则进入重试队列
5. 回写 ERP 工单状态为“已下达MES”
6. 若重试超过阈值,触发告警并进入人工对账
从这一章开始,你会逐步看到:ERP、MES、WMS 的集成,既是一张数据流图,也是一套业务规则,更是一种工程化的可靠性设计。把这三层都建立起来,后面的章节才会越学越清晰。