一套开源的 制造执行系统(MES),覆盖 生产、质量、设备、仓储 四大核心制造场景

40 阅读4分钟

前言

慧工云创制造执行系统(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-corehgyc-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、枚举规范

枚举类型值类型示例值
CommonStatusInteger0=禁用, 1=启用
SysYesNoEnumString"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 编写数据集

  • 可配置动态表格,用于生成业务报表

项目地址

后端:gitee.com/fs-hgyc/hgy…

前端:gitee.com/fs-hgyc/hgy…

关键词

MES、Spring Boot 3、模块化架构、动态权限控制、代码生成器、外键自动翻译、自定义报表、智能制造

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

优秀是一种习惯,欢迎大家留言学习!