# 灵枢 MES **Repository Path**: codezhiping/lingshu-mes ## Basic Information - **Project Name**: 灵枢 MES - **Description**: 通用制造执行系统(MES),后端采用 **springboot4+java21+DDD + CQRS 读写分离**架构,前端采用 **Vue 3 + TypeScript** 现代化技术栈,目标是支撑生产计划、工单、报工、质检、设备、物料等全链路业务。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-10 - **Last Updated**: 2026-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 灵枢 MES — 通用制造执行系统 面向离散 / 流程制造业的通用 MES 平台,支撑生产计划、工单、报工、质检、设备、物料等全链路业务。 ## 技术栈 | 端 | 技术 | 版本 | |---|---|---| | 后端 | Spring Boot / Java | 4.0 / 21(Security 7、Jackson 3) | | 后端 | MyBatis-Plus | 3.5.15 | | 后端 | 数据库 / 缓存 | MySQL 8 / Redis(可选) | | 前端 | Vue / TypeScript | 3.5 / 5.x | | 前端 | 构建 / UI / 状态 / 路由 | Vite 6 / Element Plus / Pinia / Vue Router 4 | ## 技术架构 ### 后端:DDD + CQRS 读写分离 ``` mes-start ──→ mes-system ──→ mes-framework ──→ mes-common ``` | 模块 | 职责 | |---|---| | `mes-common` | 通用 DTO / 异常 / 返回值(无三方依赖) | | `mes-framework` | 安全 / 持久化 / 配置 / 数据权限拦截器 | | `mes-system` | 系统管理业务域(DDD 四层分层) | | `mes-start` | 启动入口,无业务代码 | 每个业务域内部采用 DDD 分层: ``` interfaces(Controller)──→ application(Service / Command / View) │ ├──→ domain(Entity / Repository 接口) │ └──→ infrastructure(Mapper / Repository 实现) ``` ### 前端:Vue 3 + TypeScript - 后端菜单树驱动动态路由 - `v-permission` 按钮级权限指令 - 401 自动刷新令牌并重放请求 ## 已实现功能 - **登录认证**:JWT 双令牌(Access + Refresh)、图形验证码、登出黑名单 - **权限体系**:RBAC 用户-角色-菜单/权限模型,按钮级权限控制 - **数据权限**:基于部门的 5 种数据范围(全部 / 本部门 / 本部门及以下 / 仅本人 / 自定义) - **系统管理**:用户管理(含部门绑定)、角色管理(含数据权限配置)、菜单管理、部门管理 ## 规划功能 - 生产计划与排程 - 工单管理(下达 / 派工 / 进度跟踪) - 报工与工时收集 - 质量检验(IQC / IPQC / OQC) - 设备管理与点检 - 物料与仓储 ## 快速开始 ### 1. 初始化数据库 ```bash mysql -uroot -p -e "CREATE DATABASE mes_db DEFAULT CHARSET utf8mb4" mysql -uroot -p mes_db < sql/schema.sql mysql -uroot -p mes_db < sql/data.sql ``` ### 2. 启动后端 ```bash cd lingshu-mes mvn install -DskipTests MES_CAPTCHA_ENABLED=false mvn -pl mes-start spring-boot:run ``` 接口地址:`http://localhost:9000/api` ### 3. 启动前端 ```bash cd mes-web npm install npm run dev ``` 访问:`http://localhost:5173` ### 4. 默认账号 | 账号 | 密码 | 角色 | 数据范围 | |---|---|---|---| | `admin` | `Admin@123` | 超级管理员 | 全部 | | `planner` | `planner123` | 生产计划员 | 本部门及以下 | | `operator` | `operator123` | 一线操作工 | 本部门 | | `qa` | `qa123` | 质量检验员 | 仅本人 | ## 目录结构 ``` mes/ ├── sql/ # 数据库脚本(schema + 种子数据) ├── lingshu-mes/ # 后端(Spring Boot 4 / DDD 多模块) │ ├── mes-common/ # 通用层 │ ├── mes-framework/ # 框架层(安全 / 持久化 / 数据权限) │ ├── mes-system/ # 系统管理业务域 │ └── mes-start/ # 启动模块 └── mes-web/ # 前端(Vue 3 + TS) ```