机械加工车间MES系统
基于SpringBoot和Vue技术的机械加工车间制造执行系统(MES),实现了生产计划管理、设备监控、质量管理、物料管理等核心功能。系统采用前后端分离架构,适合作为计算机设计或企业级MES系统参考。
项目说明
机械加工车间MES系统
项目简介
基于SpringBoot和Vue技术的机械加工车间制造执行系统(MES),实现了生产计划管理、设备监控、质量管理、物料管理等核心功能。系统采用前后端分离架构,适合作为计算机设计或企业级MES系统参考。
技术栈
后端技术
| 技术 | 版本 | 说明 |
|---|---|---|
| Spring Boot | 2.7.9 | 基础框架 |
| Java | 1.8 | 开发语言 |
| MyBatis Plus | 3.5.3.1 | ORM框架 |
| MySQL | 5.7+ | 数据库 |
| Redis | - | 缓存 |
| Sa-Token | 1.34.0 | 权限认证 |
| Redisson | 3.20.0 | 分布式锁 |
| XXL-Job | 2.3.1 | 分布式任务调度 |
| Hutool | 5.8.15 | 工具类库 |
| EasyExcel | 3.2.1 | Excel处理 |
| SpringDoc | 1.6.15 | API文档 |
| Mapstruct Plus | 1.3.5 | 对象映射 |
前端技术
| 技术 | 版本 | 说明 |
|---|---|---|
| Vue | 2.6.12 | 前端框架 |
| Element UI | 2.15.12 | UI组件库 |
| Vue Router | 3.4.9 | 路由管理 |
| Vuex | 3.6.0 | 状态管理 |
| Axios | 0.24.0 | HTTP请求 |
| ECharts | 5.4.0 | 图表库 |
| Three.js | 0.153.0 | 3D可视化 |
| Quill | 1.3.7 | 富文本编辑器 |
| Video.js | 8.0.4 | 视频播放 |
项目特点
- 前后端分离:后端提供RESTful API,前端独立开发部署
- 完整MES功能:涵盖生产计划、设备管理、质量管理、物料管理全流程
- 实时监控:支持设备状态实时监控和数据采集
- 3D可视化:车间设备3D展示和交互
- 权限管理:基于Sa-Token的细粒度权限控制
- 任务调度:集成XXL-Job分布式任务调度
- 多数据源:支持MySQL、Oracle、PostgreSQL、SQL Server、TDengine
- 代码生成:内置代码生成器,快速开发CRUD功能
- 附带文章:包含完整的计算机设计文章
功能模块
1. 系统管理
- 用户管理
- 角色管理
- 菜单管理
- 部门管理
- 岗位管理
- 字典管理
- 参数设置
- 通知公告
- 日志管理
2. 生产管理
- 生产计划管理
- 工单管理
- 工艺路线管理
- 生产排程
- 生产进度跟踪
- 生产报工
- 生产统计分析
3. 设备管理
- 设备档案管理
- 设备状态监控
- 设备维护保养
- 设备故障管理
- 设备运行日志
- 设备效率分析(OEE)
- 设备3D可视化
4. 质量管理
- 质检标准管理
- 质检任务管理
- 质检记录
- 不良品管理
- 质量统计分析
- 质量追溯
5. 物料管理
- 物料档案管理
- 库存管理
- 入库管理
- 出库管理
- 库存盘点
- 物料需求计划(MRP)
- 库存预警
6. 数据采集
- 设备数据采集
- 生产数据采集
- 质量数据采集
- MQTT协议支持
- 数据实时展示
7. 报表统计
- 生产报表
- 设备报表
- 质量报表
- 物料报表
- 自定义报表
- 数据导出
8. 监控中心
- 车间大屏监控
- 生产看板
- 设备看板
- 质量看板
- 实时数据展示
项目结构
mes-ruoyi-admin/
├── cp-mes-admin/ # 后端主模块(启动入口)
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── com/cpmes/
│ │ │ │ ├── web/ # 控制器
│ │ │ │ │ ├── controller/
│ │ │ │ │ │ ├── system/ # 系统管理
│ │ │ │ │ │ ├── production/ # 生产管理
│ │ │ │ │ │ ├── equipment/ # 设备管理
│ │ │ │ │ │ ├── quality/ # 质量管理
│ │ │ │ │ │ └── material/ # 物料管理
│ │ │ │ └── CpMesApplication.java
│ │ │ └── resources/
│ │ │ ├── application.yml
│ │ │ ├── application-dev.yml
│ │ │ └── logback.xml
│ │ └── test/
│ └── pom.xml
│
├── cp-mes-ui/ # 前端项目(Vue2 + Element UI)
│ ├── public/
│ ├── src/
│ │ ├── api/ # API接口
│ │ ├── assets/ # 静态资源
│ │ ├── components/ # 公共组件
│ │ ├── layout/ # 布局组件
│ │ ├── router/ # 路由配置
│ │ ├── store/ # Vuex状态管理
│ │ ├── utils/ # 工具函数
│ │ ├── views/ # 页面视图
│ │ │ ├── system/ # 系统管理
│ │ │ ├── production/ # 生产管理
│ │ │ ├── equipment/ # 设备管理
│ │ │ ├── quality/ # 质量管理
│ │ │ ├── material/ # 物料管理
│ │ │ ├── monitor/ # 监控中心
│ │ │ └── dashboard/ # 首页仪表盘
│ │ ├── App.vue
│ │ └── main.js
│ ├── package.json
│ └── vue.config.js
│
├── cp-mes-common/ # 通用模块
│ └── src/main/java/com/cpmes/common/
│ ├── annotation/ # 自定义注解
│ ├── constant/ # 常量定义
│ ├── core/ # 核心类
│ ├── enums/ # 枚举类
│ ├── exception/ # 异常处理
│ └── utils/ # 工具类
│
├── cp-mes-framework/ # 框架核心
│ └── src/main/java/com/cpmes/framework/
│ ├── aspectj/ # AOP切面
│ ├── config/ # 配置类
│ ├── interceptor/ # 拦截器
│ ├── manager/ # 异步管理
│ └── web/ # Web配置
│
├── cp-mes-system/ # 系统模块
│ └── src/main/java/com/cpmes/system/
│ ├── domain/ # 实体类
│ ├── mapper/ # Mapper接口
│ ├── service/ # 业务层
│ └── controller/ # 控制器
│
├── cp-mes-generator/ # 代码生成器
├── cp-mes-job/ # 定时任务
├── cp-mes-oss/ # 对象存储
├── cp-mes-sms/ # 短信服务
├── cp-mes-demo/ # 示例模块
│
├── cp-mes-extend/ # 扩展模块
│ ├── cp-mes-monitor-admin/ # 监控中心
│ └── cp-mes-xxl-job-admin/ # 任务调度中心
│
├── sql/ # 数据库脚本
│ └── cp_mes.sql
│
├── script/ # 部署脚本
│ ├── bin/ # 启动脚本
│ ├── docker/ # Docker配置
│ └── sql/ # SQL脚本
│
├── tools/ # 工具
│ └── mqttSimulator.py # MQTT模拟器
│
├── 文章/ # 计算机设计文章
│ └── 基于SpringBoot和Vue技术的机械加工车间MES系统设计与实现.docx
│
├── 机械加工车间MES系统.mp4 # 演示视频
├── pom.xml # Maven主配置
└── README.md # 项目说明
数据库设计
核心数据表
系统管理
sys_user- 用户表sys_role- 角色表sys_menu- 菜单表sys_dept- 部门表sys_post- 岗位表sys_dict_type- 字典类型表sys_dict_data- 字典数据表sys_config- 参数配置表sys_notice- 通知公告表sys_oper_log- 操作日志表sys_logininfor- 登录日志表
生产管理
prod_plan- 生产计划表prod_order- 生产工单表prod_process- 工艺路线表prod_schedule- 生产排程表prod_report- 生产报工表prod_progress- 生产进度表
设备管理
equip_info- 设备档案表equip_status- 设备状态表equip_maintain- 设备维护表equip_fault- 设备故障表equip_log- 设备运行日志表equip_oee- 设备效率表
质量管理
quality_standard- 质检标准表quality_task- 质检任务表quality_record- 质检记录表quality_defect- 不良品表quality_trace- 质量追溯表
物料管理
material_info- 物料档案表material_stock- 库存表material_in- 入库表material_out- 出库表material_inventory- 盘点表material_mrp- 物料需求计划表
运行环境要求
后端环境
- JDK 1.8+
- Maven 3.6+
- MySQL 5.7+
- Redis 3.0+
前端环境
- Node.js 14.21.3
- npm 或 yarn
快速开始
1. 数据库配置
- 创建MySQL数据库
CREATE DATABASE cp_mes CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- 导入数据库文件
mysql -u root -p cp_mes < sql/cp_mes.sql
- 修改数据库配置
编辑
cp-mes-admin/src/main/resources/application-dev.yml:
spring:
datasource:
url: jdbc:mysql://localhost:3306/cp_mes?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
username: root
password: root # 修改为你的密码
2. 启动后端服务
# 进入后端目录
cd cp-mes-admin
# Maven编译打包
mvn clean install
# 启动服务
mvn spring-boot:run
# 或使用IDE直接运行 CpMesApplication.java
后端服务默认运行在 http://localhost:8080
3. 启动前端项目
# 进入前端目录
cd cp-mes-ui
# 安装依赖(使用Node 14.21.3)
npm install
# 启动开发服务器
npm run dev
前端项目默认运行在 http://localhost:80
4. 访问系统
浏览器访问:http://localhost:80
默认账号
- 用户名:
admin - 密码:
admin123
核心功能说明
1. 生产计划管理
- 计划制定:根据订单和产能制定生产计划
- 计划下达:将计划转换为生产工单
- 计划调整:支持计划的修改和调整
- 计划跟踪:实时跟踪计划执行情况
2. 设备监控
- 实时监控:实时显示设备运行状态
- 数据采集:通过MQTT协议采集设备数据
- 3D展示:使用Three.js实现车间3D可视化
- OEE分析:计算设备综合效率(OEE)
3. 质量管理
- 质检流程:完整的质检任务流程
- 数据记录:详细记录质检数据
- 统计分析:质量数据统计和分析
- 质量追溯:支持产品质量追溯
4. 物料管理
- 库存管理:实时库存查询和管理
- 出入库:规范的出入库流程
- 库存预警:库存上下限预警
- MRP计算:物料需求计划自动计算
5. 数据采集
- MQTT支持:支持MQTT协议设备接入
- 多协议:支持多种工业协议
- 实时采集:实时采集设备和生产数据
- 数据存储:支持TDengine时序数据库
6. 大屏监控
- 车间大屏:全景展示车间生产情况
- 实时数据:实时刷新生产数据
- 图表展示:使用ECharts展示统计图表
- 视频监控:集成视频监控功能
扩展功能
1. 代码生成器
- 支持单表、树表、主子表代码生成
- 自动生成Controller、Service、Mapper、Vue页面
- 支持自定义模板
- 一键生成CRUD功能
2. 任务调度
- 集成XXL-Job分布式任务调度
- 支持Cron表达式
- 任务执行日志
- 任务失败重试
3. 监控中心
- Spring Boot Admin监控
- 服务健康检查
- 性能监控
- 日志查看
4. 对象存储
- 支持本地存储
- 支持MinIO
- 支持阿里云OSS
- 支持腾讯云COS
- 支持七牛云
部署说明
开发环境部署
- 按照"快速开始"章节配置并启动
- 前后端分别启动
- 使用开发模式访问
生产环境部署
后端部署
# Maven打包
mvn clean package -Pprod
# 运行jar包
java -jar cp-mes-admin/target/cp-mes-admin.jar
# 或使用启动脚本
cd script/bin
./start.sh
前端部署
# 构建生产版本
npm run build:prod
# 将dist目录部署到Nginx
cp -r dist/* /usr/share/nginx/html/
Nginx配置示例
server {
listen 80;
server_name your-domain.com;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html;
}
location /prod-api/ {
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Docker部署
# 构建镜像
docker build -t cp-mes:latest .
# 运行容器
docker run -d -p 8080:8080 --name cp-mes cp-mes:latest
系统截图
项目包含演示视频:机械加工车间MES系统.mp4
文章说明
项目附带完整的计算机设计文章:
- 文件位置:
文章/基于SpringBoot和Vue技术的机械加工车间MES系统设计与实现.docx - 文章内容包括:
- 系统需求分析
- 系统设计
- 数据库设计
- 系统实现
- 系统测试
- 总结与展望
常见问题
Q: 后端启动失败?
A: 检查MySQL和Redis是否启动,数据库配置是否正确
Q: 前端无法访问后端接口?
A: 检查后端是否启动,检查跨域配置,检查防火墙设置
Q: 设备数据采集如何配置?
A: 使用tools/mqttSimulator.py模拟MQTT设备,或配置真实设备连接参数
Q: 如何添加新的功能模块?
A: 使用代码生成器快速生成基础代码,然后根据需求定制
Q: 支持哪些数据库?
A: 支持MySQL、Oracle、PostgreSQL、SQL Server、TDengine
技术支持
- 项目地址:https://gitee.com/cloudpulse/cp-mes-ruoyi.git
- 如有问题,请提交Issue
许可证
MIT License
适用场景:
- 计算机设计
- 课程设计
- MES系统学习
- 企业级MES系统参考
- 工业互联网项目
祝您使用愉快! 🏭📊
技术分类
包含内容
适用人群
学习参考与二次开发
关于 AI源码
AI源码 专注优质项目源码分享,提供完整源码、详细文档与技术支持,助力源码设计与课程作业。
相关推荐
查看全部 →
本地生活小程序
本项目是一个基于微信小程序原生开发的本地生活服务平台,提供餐厅推荐、招聘信息、生活服务分类、近期活动展示等功能,是一个典型的O2O本地生活服务类小程序。

电影购票网站
基于原生 HTML、CSS、JavaScript 实现的 PC 端电影在线购票演示网站。数据使用本地 Mock 模拟,订单与座位占用状态通过浏览器 持久化,无需后端服务,直接用浏览器打开 即可运行。

家乡介绍小程序
这是一个家乡文化展示与旅游推荐的微信小程序,采用纯前端实现,使用本地Mock数据模拟后端接口。项目以广东省惠州市惠东县为示例,完整实现了景点浏览、美食推荐、乡镇介绍、历史回顾、收藏管理等核心功能,适合作为微信小程序开发学习项目或计算机设计参考。

乡村振兴三农小程序
这是一个乡村振兴与三农服务的微信小程序,采用纯前端实现,使用本地Mock数据模拟后端接口。项目完整实现了政策解读、农业科技、数字乡村、乡村旅游、农产品展销、乡风文明、人才振兴、基层党建、经验分享等核心功能模块,适合作为微信小程序开发学习项目或计算机设计参考。

图书借阅小程序
这是一个图书借阅管理的微信小程序,采用纯前端实现,使用本地Mock数据模拟后端接口。项目完整实现了图书浏览、分类筛选、搜索查询、收藏管理、借阅下单、订单管理等核心功能,适合作为微信小程序开发学习项目或计算机设计参考。

垃圾上门回收小程序
这是一个完整的垃圾上门回收服务平台,包含微信小程序端。系统实现了垃圾分类回收预约、订单管理、地址管理、系统配置等核心功能,采用Egg.js后端框架,适合作为微信小程序全栈开发学习项目或计算机设计参考。