前言
慧工云创制造执行系统(hgyc-mom)
一套开源的 制造执行系统(MES),覆盖 生产、质量、设备、仓储 四大核心制造场景,采用前后端分离架构,支持快速二次开发与企业级部署。
项目介绍
项目是一个基于 Spring Boot 3 构建的开源 MES 后端系统,专为智能制造场景设计。
采用模块化架构,提供完整的 RESTful API,供 React 前端调用,支持动态权限、代码生成、多租户扩展等企业级特性。
项目技术
| 类别 | 技术选型 |
|---|---|
| 前端 | React 18 + Ant Design v5 + Vite + TypeScript |
| 后端 | Spring Boot 3、Sa-Token(权限认证)、MyBatis-Plus、JetCache(缓存)、HikariCP(连接池) |
| 数据库 | MySQL 8.0 + Redis 7.0 |
| API 文档 | Knife4j 4.1.0 |
| 构建工具 | Maven 3.8+ / pnpm(前端) |
| 特色功能 | 动态权限菜单、多维度权限控制、一键代码生成器、外键自动翻译、自定义数据集报表 |
项目使用
后端启动
1、下载源码
git clone https://gitee.com/fs-hgyc/hgyc-mom.git
2、初始化数据库
-
在 MySQL 中执行
/sql目录下的最新 SQL 脚本 -
安装并启动 Redis(如未安装)
3、本地开发
-
使用 IDEA 打开项目
-
设置启动类:
hgyc-admin/src/main/java/.../MonApplication -
直接运行即可
4、服务器部署
nohup java -jar \
-XX:+UseG1GC \
-Xmx4096M -Xms2048M \
hgyc-admin-1.0.jar > mom.log 2>&1 &
前端启动
1、下载源码
git clone https://gitee.com/fs-hgyc/hgyc-mom-web.git
2、环境要求
Node.js ≥ 16
3、安装依赖 & 运行
pnpm install
pnpm dev # 本地开发(默认 http://localhost:3001)
pnpm build # 构建生产包(输出到 dist 目录)
项目结构
hgyc-mom/
├── hgyc-admin/ # Web 服务启动模块(主应用入口)
├── hgyc-base/ # 基础数据模块
│ ├── hgyc-base-api/ # 实体类、Service 接口
│ └── hgyc-base-biz/ # 业务实现、DAO
├── hgyc-common/ # 公共工具类、常量、异常处理
├── hgyc-core/ # 核心框架功能(权限、缓存、注解等)
├── hgyc-data/ # 数据中心(动态报表)
│ ├── hgyc-data-api/
│ └── hgyc-data-biz/
├── hgyc-eam/ # 设备管理(EAM)
├── hgyc-generator/ # 代码生成器(支持前后端 CRUD 一键生成)
├── hgyc-mes/ # 生产管理(MES)
├── hgyc-qms/ # 质量管理(QMS)
├── hgyc-system/ # 系统基础功能(用户、角色、菜单等)
├── hgyc-tool/ # 系统工具(附件、打印、APP 版本等)
└── hgyc-wms/ # 仓储管理(WMS)
设计原则
-
hgyc-core和hgyc-common为纯公共模块,不依赖业务模块。 -
业务模块拆分为
api(接口契约) +biz(实现),避免循环依赖,便于未来微服务拆分。
功能模块说明
系统模块
-
用户/部门/岗位管理:组织架构配置,支持数据权限
-
菜单 & 角色管理:细粒度按钮级权限 + 机构数据范围控制
-
字典 & 参数管理:维护系统常量与动态配置
-
日志监控:操作日志、登录日志、在线用户
-
定时任务:可视化任务调度与执行日志
-
代码生成器:一键生成 Java + Vue 前后端代码
-
动态报表:通过自定义 SQL 配置数据集与表格
-
附件 & 打印:文件上传下载、标签/单据模板管理(支持 Bartender)
业务模块
基础数据
- 物料、单位、BOM、客户、供应商管理
仓库管理(WMS)
-
销售/采购订单
-
仓库/库位/库存维护
-
采购入库、生产领退料、销售出库
生产管理(MES)
-
车间建模(车间/产线/工位)
-
SOP 文档上传与终端展示
-
工序 & 工艺路线管理
-
过站扫码(SN 条码采集)
-
成品包装规则配置
质量管理(QMS)
-
检验项、缺陷、设备维护
-
检验模板配置
-
待检任务看板
-
来料检验、过程检验(首检/终检)、出货检验
开发规范
1、数据库设计
- 通用字段(所有业务表):
create_by BIGINT
create_time DATETIME
update_by BIGINT
update_time DATETIME
状态字段:
使用 CHAR/VARCHAR 类型(如 'Y'/'N')
是否勾选字段:TINYINT(0/1)
2、枚举规范
| 枚举类型 | 值类型 | 示例值 |
|---|---|---|
CommonStatus | Integer | 0=禁用, 1=启用 |
SysYesNoEnum | String | "Y"=是, "N"=否 |
3、缓存
使用 JetCache(阿里开源)作为统一缓存组件
4、外键自动翻译(返回前端友好字段)
方式一:@Relation(一对一简单翻译)
@Relation(table = "base_material_type", key = "id", column = "name")
private Long typeId;
// 前端自动增加字段:typeIdName
方式二:@TableDict(多字段翻译)
@TableDict(
table = "base_material",
key = "id",
columns = {
@DictColumn(name = "material_code", alias = "materialCode"),
@DictColumn(name = "material_name", alias = "materialName")
}
)
private Long materialId;
// 前端自动增加:materialCode, materialName
5、数据集 & 自定义报表
-
支持通过 SQL 编写数据集
-
可配置动态表格,用于生成业务报表
项目地址
关键词
MES、Spring Boot 3、模块化架构、动态权限控制、代码生成器、外键自动翻译、自定义报表、智能制造
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!
优秀是一种习惯,欢迎大家留言学习!