打通 ERP → MES → 设备 / 终端 的生产执行链路;
实现生产过程 实时可控、可追溯、可统计;
支持 多车间、多工序、多物料单位 的复杂生产场景;
为后续对接 PLC、WMS、BI 看板 提供标准接口;
后端:Spring Boot、Spring Cloud、MyBatis-Plus
数据库:MySQL(主库),Redis(缓存 & 分布式锁)
消息:RabbitMQ(生产状态、库存变更通知)
权限:RBAC + 数据权限(按车间/工序隔离)
部署:Docker + Linux;
在该 MES 项目中,系统基于 Spring Cloud 和 MyBatis-Plus 实现,整体采用多租户架构设计,核心业务围绕生产订单、工序、报工与库存展开。生产订单从 ERP 同步后,根据工艺路线拆分生成工序数据,并通过状态字段控制工序的执行顺序和合法流转。生产报工作为核心功能,在实现上通过事务统一管理报工记录、工序状态更新以及库存扣减操作,报工时先校验工序状态和累计数量,再根据工序 BOM 及物料单位换算规则,将消耗量统一转换为库存最小单位进行扣减。库存层面采用当前库存表与库存流水表分离的设计,库存扣减使用 select for update 进行行级锁控制,优先扣减专用库存,不足部分再扣减通用库存,确保并发场景下的数据一致性。同时,所有库存变更都会记录业务类型和业务单据ID,支持完整追溯。统计报表部分主要通过 SQL 聚合与窗口函数实现,结合 MyBatis-Plus 分页和 count 优化,在保证数据准确性的同时兼顾查询性能。