MES全链路架构流程图
适配:若依Vue前后端分离单体 + Spring StateMachine工序/业务流转 + Flowable全单据审批 + Spring事件总线解耦联动
一、架构分层总流程图(自上而下)
┌──────────────────────────────────────────────────────────────┐
│ 若依Vue 前端应用层 │
│ 系统菜单 / 角色按钮权限 / 数据权限 / 流程待办 / 车间PDA表单 │
└───────────────────────┬──────────────────────────────────────┘
│
┌───────────────────────▼──────────────────────────────────────┐
│ 若依框架接入层 │
│ 登录认证 / Token鉴权 / 全局异常 / 操作日志 / 事务管理器 │
└───────────────────────┬──────────────────────────────────────┘
│
┌───────────────────────▼──────────────────────────────────────┐
│ 业务域模块层 │
│ 销售|技术BOM|供应链采购|仓储|生产计划|工单执行|质检|异常 │
└───────────────────────┬──────────────────────────────────────┘
│
┌───────────────────────▼──────────────────────────────────────┐
│ 核心调度引擎 & 事件总线层 │
│ Spring StateMachine(全业务/工单/工序/异常流转) │
│ Spring 事件总线(轻量MQ,解耦状态机 ↔ Flowable) │
│ Flowable 流程引擎(全单据审批、会签、驳回、转办) │
└───────────────────────┬──────────────────────────────────────┘
│
┌───────────────────────▼──────────────────────────────────────┐
│ 数据持久层 │
│ MySQL业务表 + Flowable流程表 + 状态机状态快照表 │
│ MyBatis-Plus + 若依原生事务控制 │
└──────────────────────────────────────────────────────────────┘
二、全业务单据闭环流转流程图(完整15张单据串行+分支)
销售订单表单
│
▼
Flowable销售订单审批 ──┐
│ │驳回终止
审批通过│
▼
StateMachine推进:销售订单已确认
│
▼
技术部BOM/材料清单表单
│
▼
Flowable BOM材料审批 ──┐
│ │驳回
审批通过│
▼
StateMachine触发:缺料运算
│
▼
缺料分析表单
│
▼
Flowable缺料申请审批 ──┐
│ │驳回
审批通过│
▼
StateMachine进入采购链路
│
▼
采购申请/采购订单表单
│
▼
Flowable采购订单审批 ──┐
│ │驳回
审批通过│
▼
StateMachine等待到料节点
│
▼
到料通知单
│
▼
来料检测/来料入库表单
│
▼
Flowable来料入库审批 ──┐
│ │驳回退货
审批通过│
▼
StateMachine标记物料库存可用
│
▼
主生产计划表单
│
▼
Flowable主计划审批 ──┐
│ │驳回
审批通过│
▼
StateMachine分解生成周生产计划
│
▼
周生产计划表单
│
▼
Flowable周计划审批 ──┐
│ │驳回
审批通过│
▼
StateMachine自动拆分日计划&派工单
│
▼
日计划派工单表单
│
▼
Flowable派工审批 ──┐
│ │驳回
审批通过│
▼
StateMachine生成生产工单 + 按工艺路线自动生成工序明细
│
▼
领料单表单
│
▼
Flowable领料单审批 ──┐
│ │驳回重领
审批通过│
▼
StateMachine工单流转:待领料→生产中
│
▼
工序报工单(按工艺路线顺序)
│
▼
Spring StateMachine工序自动流转:上道完工→下道可开工
│
▼
全部工序完工
│
▼
StateMachine工单流转:生产中→待质检
│
▼
检测单/质检单表单
│
▼
Flowable质检结果审批
│
┌───────┴───────┐
▼ ▼
合格 不合格
│ │
▼ ▼
成品入库单 返修单/报废单
│ │
Flowable入库审批 Flowable返修/报废审批
│ │
审批通过 审批通过
│ │
StateMachine StateMachine
工单归档 进入返修/报废状态
│
▼
返修完成
│
▼
StateMachine回流生产链路
三、核心引擎交互流程图(StateMachine ↔ Flowable ↔ 业务)
┌─────────────┐ 发布业务状态就绪事件 ┌─────────────┐
│ Spring状态机 │──────────────────────────────────▶│ Spring事件总线 │
└─────────────┘ └───────┬─────┘
│
│ 监听事件
▼
┌─────────────┐ 发布审批结果事件 ┌─────────────┐
│ Flowable引擎 │◀─────────────────────────────────│ 业务/单据模块 │
└───────┬─────┘ └───────┬─────┘
│ │
│ 审批完成回调事件 │ 触发业务操作
▼ ▼
┌─────────────┐ ┌─────────────┐
│ Spring事件总线 │──────────────────────────────────▶│ Spring状态机 │
└─────────────┘ └─────────────┘
交互规则说明
-
状态机驱动流程节点到达 → 发事件 → 触发自动生成单据、发起Flowable审批;
-
Flowable审批完成(通过/驳回) → 发事件 → 状态机监听后自动跳转业务/工单/工序状态;
-
双方零硬依赖,只通过Spring事件解耦,适配若依单体,无需额外MQ;
-
所有业务操作、数据变更统一走若依原生事务,保证原子性。
四、若依工程模块依赖关系图
ruoyi-admin(启动入口)
│
┌───────┴────────┐
▼ ▼
ruoyi-framework ruoyi-system(权限/角色/菜单)
│ │
└────────┬───────┘
│
▼
ruoyi-mes(MES所有业务)
│
┌────────────┼────────────┬────────────┬────────────┐
▼ ▼ ▼ ▼ ▼
mes-sale mes-bom mes-purchase mes-plan mes-workorder
│
┌────────┴────────┐
▼ ▼
工单状态机 工序状态机
│
┌──────────────┼──────────────┐
▼ ▼ ▼
mes-document mes-quality mes-exception
│
▼
mes-flowable(审批引擎)
│
▼
mes-event(事件总线)
五、权限&数据权限流程图(复用若依原生)
若依登录用户
│
▼
角色关联菜单&权限标识
│
▼
接口注解 @PreAuthorize 控制按钮/操作权限
│
▼
数据注解 @DataScope 控制车间/部门/班组数据隔离
│
▼
Flowable审批任务绑定若依角色/岗位
│
▼
前端待办只展示当前人/角色可审批单据