宁波华德智能工厂 MES/QMS 系统
宁波华德智能工厂 MES/QMS 系统
基于若依微服务框架(RuoYi-Cloud v3.6.8)+ Spring Boot 4.x + Spring Cloud Alibaba 构建的制造业 MES/QMS 系统
项目简介
宁波华德智能工厂 MES/QMS 系统是一套面向离散制造业的生产制造执行与质量管理系统,在若依微服务框架(RuoYi-Cloud)基础上二次开发。系统覆盖从基础主数据、工艺路线、生产工单、报工入库到质量检验、库存仓储、报表统计、AI 智能问答的全业务流程,一期已正式完工并通过评审。
核心能力:
-
生产管理:实现从工艺路线定义、生产任务下达、工单执行、生产报工到产品入库的全流程控制。
-
质量管理:建立覆盖来料检验(IQC)、过程检验(IPQC)、出货检验(OQC)、退货检验(RQC)的四重质量防线,支持质检方案模板化。
-
库存管理:实现采购入库、生产入库、销售出库、领料出库、生产退料、供应商退货、调拨、盘点等全场景仓储作业。
-
基础数据:统一管理物料产品、BOM、工艺路线、供应商/客户、车间/产线/设备等基础主数据。
-
AI 智能体:基于大模型的 MES 智能助手,支持质检/仓储/生产/基础数据的业务问答与知识库检索。
技术栈
| 类别 | 技术 | 版本 |
|---|---|---|
| 微服务框架 | RuoYi-Cloud | 3.6.8 |
| 后端框架 | Spring Boot | 4.0.6 |
| 微服务组件 | Spring Cloud / Spring Cloud Alibaba | 2025.1.1 / 2025.1.0.0 |
| 注册/配置中心 | Nacos | 3.x |
| 数据库 | MySQL | 8.0.x |
| 缓存 | Redis | 5.0+ / 6.0+ |
| 向量数据库 | PostgreSQL + pgvector | — |
| AI 框架 | LangChain4j | 1.0.0-beta2 |
| 大模型 | 阿里云百炼(OpenAI 兼容接口) | — |
| JDK | Java | 17+ |
| 前端 | Vue 3 + Vite + Element Plus + Pinia | 独立仓库 |
系统架构
系统采用微服务架构,前端与后端分离,通过网关统一路由,各业务模块独立部署,通过 Nacos 进行服务注册与配置管理。
核心功能
MES 业务功能(7 个微服务)
| 服务名称 | 模块 | 端口 | 业务范围 |
|---|---|---|---|
| ruoyi-mes-md | 基础数据 | 9301 | 物料产品、BOM、工厂/车间/产线/工位、设备台账、供应商/客户、编码规则自动生成、工时日历(工作日/班次) |
| ruoyi-mes-tech | 工艺管理 | 9304 | 工艺路线(产品→工序→BOM)、工序管理、标准工序库 |
| ruoyi-mes-pro | 生产管理 | 9303 | 生产工单(下达→排产→报工→完工→关闭)、生产领料/退料、产品入库、生产看板 |
| ruoyi-mes-qc | 质量管理 | 9302 | IQC 来料检验、IPQC 过程检验、OQC 出货检验、RQC 退货检验、质检方案模板、检测指标、缺陷字典 |
| ruoyi-mes-wm | 库存管理 | 9305 | 仓库/库位、采购入库、生产入库、销售出库、领料出库、生产退料、供应商退货、调拨、盘点、批次/序列号追溯、库存流水、库存预警 |
| ruoyi-mes-rpt | 报表统计 | 9306 | 工单、产量、报工、库存预警、生产线、不良品六大统计模块(饼图/柱状图/折线图 + 明细表) |
| ruoyi-mes-agent | AI 智能体 | 9310 | 基于 LangChain4j 的 MES 智能助手,支持质检/仓储/生产/基础数据业务问答、RAG 知识库检索、工具调用,对接阿里云百炼大模型 + pgvector 向量库 |
系统基础能力(若依内置)
用户管理、部门管理、岗位管理、菜单管理、角色管理、字典管理、参数管理、通知公告、操作日志、登录日志、在线用户、定时任务、代码生成、系统接口文档、服务监控等。
系统模块结构
com.ruoyi ├── ruoyi-gateway // 网关模块 [8080] ├── ruoyi-auth // 认证中心 [9200] ├── ruoyi-api // 接口模块 │ └── ruoyi-api-system // 系统接口 │ └── ruoyi-api-mes-md // MES 基础数据接口 │ └── ruoyi-api-mes-tech // MES 工艺管理接口 │ └── ruoyi-api-mes-pro // MES 生产管理接口 │ └── ruoyi-api-mes-qc // MES 质量管理接口 │ └── ruoyi-api-mes-wm // MES 库存管理接口 ├── ruoyi-common // 通用模块(core/datascope/datasource/log/redis/seata/security/sensitive/swagger) ├── ruoyi-modules // 业务模块 │ └── ruoyi-system // 系统模块 [9201] │ └── ruoyi-gen // 代码生成 [9202] │ └── ruoyi-job // 定时任务 [9203] │ └── ruoyi-file // 文件服务 [9300] │ └── ruoyi-mes-md // MES 基础数据 [9301] │ └── ruoyi-mes-qc // MES 质量管理 [9302] │ └── ruoyi-mes-pro // MES 生产管理 [9303] │ └── ruoyi-mes-tech // MES 工艺管理 [9304] │ └── ruoyi-mes-wm // MES 库存管理 [9305] │ └── ruoyi-mes-rpt // MES 报表统计 [9306] │ └── ruoyi-mes-agent // MES AI 智能体 [9310] ├── ruoyi-visual // 图形化管理模块(监控中心 [9100]) ├── docker // 容器化部署(中间件编排) ├── sql // 数据库初始化脚本 │ └── ry_cloud.sql // 业务库(系统表 + MES 业务表 + 基础数据) │ └── ry_config.sql // Nacos 配置库 │ └── ry_seata_20210128.sql // Seata 分布式事务库(可选) └── pom.xml // 公共依赖
前端说明
前端项目已拆分至独立仓库,本仓库仅包含后端微服务代码。
-
前端技术栈:Vue 3 + Vite + Element Plus + Pinia(基于 RuoYi-Vue3 扩展)
-
前端页面覆盖基础数据、工艺、生产、质量、库存、报表、AI 助手等全部 MES 业务模块
-
前端仓库地址:https://gitee.com/ningbo-huade-smart-factory/ningbohuadezhinenggongchangvue
环境要求
| 组件 | 推荐版本 | 说明 |
|---|---|---|
| JDK | 17+ | Spring Boot 4.x 要求 JDK 17+ |
| Maven | 3.6.0+ | 项目构建工具 |
| MySQL | 8.0.x | 业务数据库 |
| Redis | 5.0+ / 6.0+ | 缓存中间件,默认端口 6379 |
| Nacos | 3.x | 注册中心 & 配置中心,默认端口 8848 |
| PostgreSQL | 14+(pgvector 扩展) | AI 智能体向量存储(仅 ruoyi-mes-agent 需要) |
快速开始
一、启动中间件(MySQL + Redis + Nacos)
项目提供 docker/docker-compose.yml 一键启动中间件:
cd docker docker-compose up -d ruoyi-mysql ruoyi-redis ruoyi-nacos
如果使用本地环境,请确保 MySQL(3306)、Redis(6379,无密码)、Nacos(8848,账号 nacos/nacos)均已启动。
二、初始化数据库
依次执行 sql 目录下的 SQL 脚本:
-- 1. 业务库(系统表 + MES 业务表),创建 ry-cloud 库 source sql/ry_cloud.sql -- 2. Nacos 配置库,创建 ry-config 库 source sql/ry_config_20260611.sql -- 3. Seata 分布式事务库(可选),创建 ry-seata 库 source sql/ry_seata_20210128.sql
执行后在 MySQL 客户端中确认 ry-cloud、ry-config(以及可选的 ry-seata)三个库已创建并包含相应表。
如需启用 AI 智能体(ruoyi-mes-agent),还需在 PostgreSQL 中安装 pgvector 扩展并创建向量库。
三、Nacos 配置修改
访问 Nacos 控制台 http://127.0.0.1:8848/nacos(nacos/nacos),修改以下配置:
application-dev.yml(公共基础配置,所有服务共享):
spring: autoconfigure: exclude: com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure feign: sentinel: enabled: true okhttp: enabled: true httpclient: enabled: false client: config: default: connectTimeout: 10000 readTimeout: 10000 compression: request: enabled: true min-request-size: 8192 response: enabled: true management: endpoints: web: exposure: include: '*'
ruoyi-system-dev.yml(系统模块专用,按需修改数据库密码):
spring:
data:
redis:
host: localhost
port: 6379
password:
datasource:
dynamic:
datasource:
master:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: password # ← 修改为你的数据库密码
mybatis:
mapperLocations: classpath*:mapper/**/*.xml
typeAliasesPackage: com.ruoyi.system.domain
springdoc:
gatewayUrl: http://localhost:8080/${spring.application.name}
api-docs:
enabled: true
info:
title: '系统模块接口文档'
description: '系统模块接口描述'
提示:MES 各子模块也需在 Nacos 中创建对应的
ruoyi-mes-xxx-dev.yml配置,格式参考ruoyi-system-dev.yml;ruoyi-mes-agent还需配置ai.*(大模型 API Key、模型名、向量存储)相关参数。
四、启动服务
必须启动的服务(按顺序)
| 序号 | 服务名 | 模块 | 端口 | 说明 |
|---|---|---|---|---|
| 1 | Nacos | 注册中心/配置中心 | 8848 | 必须先启动 |
| 2 | Redis | 缓存 | 6379 | 权限认证等依赖 |
| 3 | ruoyi-gateway | 网关 | 8080 | 请求入口 |
| 4 | ruoyi-auth | 认证中心 | 9200 | 登录认证 |
基础服务(按业务需求启动)
| 序号 | 服务名 | 模块 | 端口 | 说明 |
|---|---|---|---|---|
| 5 | ruoyi-system | 系统模块 | 9201 | 用户/角色/菜单等 |
| 6 | ruoyi-gen | 代码生成 | 9202 | 代码生成器 |
| 7 | ruoyi-job | 定时任务 | 9203 | Quartz 定时任务 |
| 8 | ruoyi-file | 文件服务 | 9300 | 文件上传 |
MES 业务服务(按依赖顺序启动)
| 序号 | 服务名 | 模块 | 端口 | 说明 |
|---|---|---|---|---|
| 9 | ruoyi-mes-md | 基础数据 | 9301 | 物料/产线/设备等基础数据 |
| 10 | ruoyi-mes-tech | 工艺管理 | 9304 | 工艺路线/工序(被生产依赖) |
| 11 | ruoyi-mes-pro | 生产管理 | 9303 | 工单/排产/报工 |
| 12 | ruoyi-mes-qc | 质量管理 | 9302 | 来料/过程/出货/退货检验 |
| 13 | ruoyi-mes-wm | 库存管理 | 9305 | 仓库/库存事务/盘点 |
| 14 | ruoyi-mes-rpt | 报表统计 | 9306 | 生产/质量/库存统计报表 |
| 15 | ruoyi-mes-agent | AI 智能体 | 9310 | MES 智能问答(需大模型 + 向量库) |
IDE 中启动(以 IntelliJ IDEA 为例)
-
用 IDEA 打开项目根目录
-
找到对应模块的启动类(如
RuoYiGatewayApplication) -
右键 → Run/Debug
-
观察控制台无报错即启动成功
Maven 命令行启动
# 编译项目(首次或修改依赖后执行) mvn clean compile # 启动网关 cd ruoyi-gateway mvn spring-boot:run # 启动认证中心 cd ruoyi-auth mvn spring-boot:run # 启动系统模块 cd ruoyi-modules/ruoyi-system mvn spring-boot:run
五、访问地址
| 服务 | 地址 | 说明 |
|---|---|---|
| Nacos 控制台 | http://127.0.0.1:8848/nacos | 账号 nacos/nacos |
| 网关 Swagger | http://localhost:8080/swagger-ui.html | 聚合接口文档 |
| 系统模块 Swagger | http://localhost:9201/swagger-ui/index.html | 系统模块接口文档 |
| MES 基础数据 Swagger | http://localhost:9301/swagger-ui/index.html | MES 基础数据接口文档 |
| MES 质量管理 Swagger | http://localhost:9302/swagger-ui/index.html | MES 质量管理接口文档 |
| MES 生产管理 Swagger | http://localhost:9303/swagger-ui/index.html | MES 生产管理接口文档 |
| MES 工艺管理 Swagger | http://localhost:9304/swagger-ui/index.html | MES 工艺管理接口文档 |
| MES 库存管理 Swagger | http://localhost:9305/swagger-ui/index.html | MES 库存管理接口文档 |
| MES 报表统计 Swagger | http://localhost:9306/swagger-ui/index.html | MES 报表统计接口文档 |
| MES AI 智能体 Swagger | http://localhost:9310/swagger-ui/index.html | MES AI 智能体接口文档 |
| Druid 监控 | http://localhost:9201/druid | 账号 ruoyi/123456 |
常见问题排查
| 问题 | 原因 | 解决方案 |
|---|---|---|
Invalid bound statement (not found) |
MyBatis 未扫描到 mapper XML | 检查 Nacos 配置 mybatis.mapperLocations 须为 classpath*:mapper/**/*.xml |
CannotFindDataSourceException |
动态数据源未找到主数据源 | 检查 Nacos 中应用配置的 spring.datasource.dynamic 部分 |
| Nacos 中配置为空 | 配置未导入或连接错误 | 确保执行了 ry_config_20260611.sql,且 Nacos 用 MySQL 存储 |
Nacos Config config is empty |
Nacos 配置不存在 | 登录 Nacos 控制台手动创建对应配置 |
| 数据库连接失败 | 密码或地址错误 | 修改 Nacos 配置中的 password 和 url |
| 端口占用 | 默认端口被其他程序占用 | 修改对应 bootstrap.yml 中的 server.port |
| Feign 调用超时 | 微服务间网络延迟 | 调整 feign.client.config.default.readTimeout |
| AI 智能体无法回答 | 大模型 Key/向量库未配置 | 检查 ruoyi-mes-agent-dev.yml 中的 ai.* 配置及 PostgreSQL pgvector 是否就绪 |
许可证
本项目基于 RuoYi-Cloud 二次开发,遵循 MIT 开源协议。若依框架版权归原作者所有,本项目业务代码版权归宁波华德所有。
更多推荐


所有评论(0)