Files
my-mom-system/README.md

250 lines
9.3 KiB
Markdown
Raw Normal View History

2026-03-06 02:02:59 +08:00
## Maintech-MOM 生产执行管理系统
Maintech-MOMManufacturing 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
- **脚本**
- `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` 进行开发与构建
### `mobile-app` —— 移动端应用
基于 **UniApp + Vue 3 + Pinia** 的跨端移动应用工程,主要服务于生产现场与仓储场景。
- **技术栈**
- UniAppH5、小程序、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 中展开查看:
```bash
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`
1. 配置数据库等基础设施(参考 `ktg-admin/src/main/resources/application-*.yml`
2.`mom-backend` 目录执行 Maven 构建:
```bash
mvn clean install
```
3. 启动 `ktg-admin` 模块IDE 运行 Spring Boot 启动类,或使用 `ry.sh` / `ry.bat` 脚本)
### 启动 Web 前端 `erp-frontend-vue`
```bash
cd erp-frontend-vue
npm install
npm run dev
```
默认通过本地开发服务器访问业务前端,后端接口地址可在配置文件中调整。
### 启动后台管理 UI `mom-backend-ui`
```bash
cd mom-backend-ui
npm install
npm run dev
```
### 启动移动端 `mobile-app`
```bash
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`
建议在引入新功能或修改核心流程时,同步补充或更新对应的自动化测试,以保证端到端的业务稳定性。
---
## 后续扩展方向
- 根据实际项目需求,对 ktg-mes 原有模块进行裁剪与增强
- 进一步统一前后端领域模型与命名规范
- 完善监控与告警体系(如接口耗时、任务失败告警等)
- 扩展更多移动端场景(如离线缓存、蓝牙设备接入等)
本 README 作为架构级总览,可配合 `docs` 目录下的业务手册与各子项目 README 一起阅读。