- 仓库管理(mom-frontend-vue2): 新增简易标签打印,不依赖MinIO,使用前端qrcode+window.print - 工作站(erp-frontend-vue): 新增WorkstationLabelPrint组件,支持批量打印工作站标签 - 生产订单: handlePrint改用getProcessTasksByWorkorder,从工艺路线获取工序数据,解决无pro_task时打印无数据问题 Made-with: Cursor
Maintech-MOM 生产执行管理系统
Maintech-MOM(Manufacturing Operations Management)是一套面向制造企业的生产执行管理系统,覆盖生产、质量、仓储、设备等核心业务场景,项目基于开源 ktg-mes / RuoYi 体系进行二次开发和扩展,并增加了自研前端与移动端应用。
本仓库是 Maintech-MOM 的整体工程仓库(monorepo),包含:
- 后端服务
mom-backend:基于 Spring Boot + MyBatis 的多模块后端 - Web 业务前端
erp-frontend-vue:基于 Vue 3 + Vite + Element Plus 的生产计划 / 采购 / 仓储等业务前端 - 后台管理 UI
mom-backend-ui:基于 Vue 的通用管理后台(ktg-mes-ui) - 移动端应用
mobile-app:基于 UniApp 的现场操作移动端 - 文档与工具
docs、测试脚本等
整体架构
从宏观上看,Maintech-MOM 采用典型的分层架构:
- 表示层
erp-frontend-vue:PC Web 前端,面向计划员、采购、仓库、销售等职能角色mom-backend-ui:通用管理后台,用于系统配置、主数据维护、监控与管理mobile-app:移动端应用,面向产线、仓储等现场操作人员(扫码、报工、出入库等)
- 业务服务层
mom-backend:Java Spring Boot 多模块后端,暴露 RESTful API,对接前端与移动端
- 数据与基础设施层
- 关系型数据库(默认 MySQL)
- 文件存储、报表引擎(如 UReport)、调度框架(Quartz)等
各端之间通过 HTTP/JSON API 进行交互,统一使用 mom-backend 作为业务中台和数据中心。
仓库模块说明
mom-backend —— 后端服务
基于 Spring Boot 2.5.x 与 MyBatis 的多模块 Maven 工程,继承自 ktg-mes / RuoYi 分层设计。
- 技术栈
- Java 8
- Spring Boot 2.5.x
- MyBatis + PageHelper
- Druid 数据源
- Swagger/OpenAPI
- Quartz 定时任务
- 多模块 Maven 管理(父
pom.xml统一依赖)
- 典型子模块(目录)
ktg-admin:Web 应用入口,封装统一鉴权、接口网关、系统配置、监控等ktg-system:系统管理模块(用户、角色、菜单、字典、配置、日志等)ktg-mes:MOM 业务域模块(生产、质量、仓储、销售、采购等)ktg-framework:通用框架封装(配置、异常处理、拦截器、MyBatis 配置等)ktg-common:通用工具类与基础组件ktg-quartz:定时任务调度相关ktg-print:打印模板、打印客户端配置等ktg-generator:代码生成器(根据表结构生成 CRUD / 业务骨架)
- 配置与运行
- 主要配置位于
ktg-admin/src/main/resources/application-*.yml - 使用
pom.xml管理依赖,MySQL 等基础设施在外部环境中部署 - 通过
ry.sh/ry.bat或 IDE 直接启动ktg-admin的 Spring Boot 启动类
- 主要配置位于
erp-frontend-vue —— Web 业务前端
基于 Vue 3 + Vite + TypeScript + Element Plus 的前端应用,用于实现生产计划、采购、仓储、销售等业务的 Web 操作界面。
- 技术栈
- Vue 3(
<script setup>组合式 API) - Vue Router 4
- Element Plus 组件库 + 图标(
@element-plus/icons-vue) - Axios HTTP 客户端
- Vite 构建工具
- TypeScript
- Vue 3(
- 脚本
npm run dev:本地开发(Vite dev server)npm run build:类型检查(vue-tsc)+ 生产构建npm run preview:本地预览构建产物npm run test/npm run test:watch:基于 Vitest 的单元测试npm run test:e2e:基于 Playwright 的端到端测试
- 主要职责
- 提供围绕生产制造的业务 UI:生产计划单、采购计划/订单、入库出库、EBOM/BOM、销售订单等
- 与
mom-backend的 REST API 对接,实现数据查询、编辑、审批等流程 - 在
tests目录下通过 Playwright 脚本对关键业务流程做 E2E 回归验证
mom-backend-ui —— 后台管理前端
基于 Vue + Vite + Element Plus 的管理后台 UI,项目名为 mes-ui,来自开源 ktg-mes-ui 的前端工程。
- 定位
- 提供通用的 MES 管理后台能力:系统设置、主数据维护、统计报表、大屏、排班、仓储视图等
- 更贴近原始 ktg-mes 项目的后台体验,用于系统级管理与监控
- 技术栈与脚本
- Vue 3 兼容模式(
@vue/compat),配合 Element Plus - Vite 作为构建工具
- 通过
npm run dev/npm run build/npm run preview进行开发与构建
- Vue 3 兼容模式(
mobile-app —— 移动端应用
基于 UniApp + Vue 3 + Pinia 的跨端移动应用工程,主要服务于生产现场与仓储场景。
- 技术栈
- UniApp(H5、小程序、App 多端)
- Vue 3
- Pinia 状态管理
- 脚本
npm run dev:h5:H5 开发调试npm run dev:mp-weixin:微信小程序开发调试npm run dev:app:App 端开发调试- 对应的
build:*脚本用于各端打包
- 主要能力
- 支持扫码、报工、巡检、点检、入库/出库等现场作业
- 与
mom-backend统一的认证与权限体系打通
其他目录
docs- 包含
mom系统使用说明书v1.md等使用与业务操作手册,面向业务用户和实施人员
- 包含
data、screenshot、test-results等- 辅助数据、截图、自动化测试报告等
- 根目录
package.json- 主要用于统一管理自动化测试等工具依赖(如 Playwright),后续可扩展为更多仓库级脚本
技术栈总览
- 后端
- Java 8 / Spring Boot 2.5.x
- MyBatis + PageHelper
- Druid、Quartz、Swagger 等
- Web 前端
- Vue 3、Vite、TypeScript
- Element Plus、Axios
- 移动端
- UniApp + Vue 3 + Pinia
- 测试与质量
- Vitest 单元测试(前端)
- Playwright 端到端测试(业务关键流程)
- 后端 API 测试文档(如
mom-backend/docs/Testing/EBOM-API测试文档.md)
目录结构概览
下表仅展示关键目录,实际结构可直接在 IDE 中展开查看:
mom-system/
├── mom-backend/ # Java 多模块后端(ktg-mes / RuoYi 体系)
├── erp-frontend-vue/ # Web 业务前端(Vue 3 + Vite)
├── mom-backend-ui/ # MES 管理后台前端(mes-ui)
├── mobile-app/ # UniApp 移动端
├── docs/ # 使用说明、业务文档
├── data/ # 样例数据等
├── screenshot/ # 功能截图
├── test-results/ # 自动化测试结果
├── package.json # 仓库级工具依赖(Playwright 等)
└── ... # 其他辅助脚本、配置
运行与开发
环境依赖(建议)
- JDK 8+
- Node.js 18+ 与 npm / pnpm
- MySQL 数据库
- (可选)Redis、Nginx、Docker 等
启动后端 mom-backend
-
配置数据库等基础设施(参考
ktg-admin/src/main/resources/application-*.yml) -
在
mom-backend目录执行 Maven 构建:mvn clean install -
启动
ktg-admin模块(IDE 运行 Spring Boot 启动类,或使用ry.sh/ry.bat脚本)
启动 Web 前端 erp-frontend-vue
cd erp-frontend-vue
npm install
npm run dev
默认通过本地开发服务器访问业务前端,后端接口地址可在配置文件中调整。
启动后台管理 UI mom-backend-ui
cd mom-backend-ui
npm install
npm run dev
启动移动端 mobile-app
cd mobile-app
npm install
npm run dev:h5 # H5 调试
# 或使用 HBuilderX / cli 针对具体平台(小程序 / App)调试和打包
典型业务流程(简要)
结合 docs/mom系统使用说明书v1.md 中的业务说明,系统大致支持如下主线流程:
- 订单驱动生产
- 销售订单录入 → 生成生产计划 / 生产工单 → 车间排产 → 报工与进度跟踪
- 计划驱动采购与仓储
- 根据生产计划与物料清单(BOM / MBOM)生成采购计划与采购订单
- 到货检验(IQC)→ 合格入库 → 生产领料 → 成品入库 → 销售出库 / 调拨
- 质量管理
- 来料检验、过程检验、出货检验等质量环节记录与追溯
- 设备与现场
- 设备点检、保养、维修
- 通过移动端进行扫码、报工、盘点、出入库等快速操作
Web 前端主要覆盖计划、采购、仓储、销售等管理类流程,移动端则聚焦现场执行。
测试与质量保障
- 前端自动化
- 基于 Vitest 的单元测试:覆盖组件与关键逻辑
- 基于 Playwright 的 E2E 测试:覆盖生产计划、采购订单、仓储出入库等关键业务场景
- 后端测试
- 提供 API 测试脚本与文档(例如 EBOM 相关文档位于
mom-backend/docs/Testing)
- 提供 API 测试脚本与文档(例如 EBOM 相关文档位于
建议在引入新功能或修改核心流程时,同步补充或更新对应的自动化测试,以保证端到端的业务稳定性。
后续扩展方向
- 根据实际项目需求,对 ktg-mes 原有模块进行裁剪与增强
- 进一步统一前后端领域模型与命名规范
- 完善监控与告警体系(如接口耗时、任务失败告警等)
- 扩展更多移动端场景(如离线缓存、蓝牙设备接入等)
本 README 作为架构级总览,可配合 docs 目录下的业务手册与各子项目 README 一起阅读。