Mes全连路架构图

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状态机 │

└─────────────┘ └─────────────┘

交互规则说明

  1. 状态机驱动流程节点到达 → 发事件 → 触发自动生成单据、发起Flowable审批;

  2. Flowable审批完成(通过/驳回) → 发事件 → 状态机监听后自动跳转业务/工单/工序状态;

  3. 双方零硬依赖,只通过Spring事件解耦,适配若依单体,无需额外MQ;

  4. 所有业务操作、数据变更统一走若依原生事务,保证原子性。

四、若依工程模块依赖关系图

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审批任务绑定若依角色/岗位

│

▼

前端待办只展示当前人/角色可审批单据

相关推荐
程序猿乐锅3 小时前
从0-1一文详解RabbitMQ
java·分布式·后端·中间件·rabbitmq·ruby
考虑考虑6 小时前
JDK26中的List.ofLazy()
java·后端·java ee
小蒜学长6 小时前
基于SpringBoot的公寓报修管理系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·公寓报修管理系统·多角色协同
for_ever_love__6 小时前
MySQL 主从复制讲透:binlog 原理、搭建步骤与读写分离
java·数据库·mysql·binlog·读写分离·原理·主从复制
小π军9 小时前
操作系统面试题
java·linux·服务器
倔强的石头1069 小时前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
java·运维·开发语言
Shaoshing9 小时前
ThreadLocal
java·jvm·threadlocal
写后端的胖头鱼10 小时前
一文详解CAS
java·jvm·spring·cas·乐观锁·自旋
鱼宵10 小时前
Spring AI 提示词模板:{变量} 参数化 + few-shot,一条提示词反复用
java·人工智能·spring·few-shot·提示词工程·springai