Commit 6d0569bcbd71af9ab5b843bb3d3b6a9d0fdc3b45

Authored by YunaiV
1 parent 566f5a12

feat(mes): 新增 yudao-module-mes 模块骨架

新增 MES(制造执行系统)模块,包含 7 个业务域子包:
- md:基础数据(物料、客户、供应商、车间、工位、BOM)
- cal:日历排班(班次、班组、排班计划、假期)
- dv:设备管理(设备台账、点检、保养、维修)
- tm:工具管理(工具类型、工具台账)
- pro:生产管理(工序、工艺路线、工单、任务、报工、安灯)
- qc:质量管理(检验模板、IQC/IPQC/OQC/RQC、缺陷)
- wm:仓库管理(仓库/库区/库位、库存、出入库、调拨、盘点)

具体变更:
1. 新增 yudao-module-mes 模块(pom.xml + 目录结构)
2. 注册到根 pom.xml 和 yudao-server pom.xml
3. 新增 ErrorCodeConstants(1-040-000-000 段,按业务域加前缀)
4. 新增 DictTypeConstants、MesWebConfiguration(Swagger 分组)
5. 新增各层 package-info.java 说明
@@ -25,6 +25,7 @@ @@ -25,6 +25,7 @@
25 <!-- <module>yudao-module-erp</module>--> 25 <!-- <module>yudao-module-erp</module>-->
26 <!-- <module>yudao-module-ai</module>--> 26 <!-- <module>yudao-module-ai</module>-->
27 <!-- <module>yudao-module-iot</module>--> 27 <!-- <module>yudao-module-iot</module>-->
  28 + <module>yudao-module-mes</module>
28 </modules> 29 </modules>
29 30
30 <name>${project.artifactId}</name> 31 <name>${project.artifactId}</name>
yudao-module-mes/pom.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <parent>
  6 + <groupId>cn.iocoder.boot</groupId>
  7 + <artifactId>yudao</artifactId>
  8 + <version>${revision}</version>
  9 + </parent>
  10 + <modelVersion>4.0.0</modelVersion>
  11 + <artifactId>yudao-module-mes</artifactId>
  12 + <packaging>jar</packaging>
  13 +
  14 + <name>${project.artifactId}</name>
  15 + <description>
  16 + mes 模块下,制造执行系统(Manufacturing Execution System)。
  17 + 例如说:基础数据、排班日历、设备管理、工具管理、生产管理、质量管理、仓库管理等等
  18 + </description>
  19 +
  20 + <dependencies>
  21 + <dependency>
  22 + <groupId>cn.iocoder.boot</groupId>
  23 + <artifactId>yudao-module-system</artifactId>
  24 + <version>${revision}</version>
  25 + </dependency>
  26 +
  27 + <!-- 业务组件 -->
  28 +
  29 + <!-- Web 相关 -->
  30 + <dependency>
  31 + <groupId>cn.iocoder.boot</groupId>
  32 + <artifactId>yudao-spring-boot-starter-web</artifactId>
  33 + </dependency>
  34 +
  35 + <dependency>
  36 + <groupId>cn.iocoder.boot</groupId>
  37 + <artifactId>yudao-spring-boot-starter-security</artifactId>
  38 + </dependency>
  39 +
  40 + <!-- DB 相关 -->
  41 + <dependency>
  42 + <groupId>cn.iocoder.boot</groupId>
  43 + <artifactId>yudao-spring-boot-starter-mybatis</artifactId>
  44 + </dependency>
  45 +
  46 + <dependency>
  47 + <groupId>cn.iocoder.boot</groupId>
  48 + <artifactId>yudao-spring-boot-starter-redis</artifactId>
  49 + </dependency>
  50 +
  51 + <!-- 工具类相关 -->
  52 + <dependency>
  53 + <groupId>cn.iocoder.boot</groupId>
  54 + <artifactId>yudao-spring-boot-starter-excel</artifactId>
  55 + </dependency>
  56 +
  57 + <!-- Test 测试相关 -->
  58 + <dependency>
  59 + <groupId>cn.iocoder.boot</groupId>
  60 + <artifactId>yudao-spring-boot-starter-test</artifactId>
  61 + </dependency>
  62 +
  63 + </dependencies>
  64 +
  65 +</project>
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/package-info.java 0 → 100644
  1 +/**
  2 + * MES 日历排班(Calendar / Shift Planning):班次、班组、班组成员、排班计划、假期设置等生产人员轮班与工作日历
  3 + */
  4 +package cn.iocoder.yudao.module.mes.controller.admin.cal;
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/package-info.java 0 → 100644
  1 +/**
  2 + * MES 设备管理(Device / Equipment Management):设备类型、设备台账、点检计划与记录、保养记录、维修工单等设备全生命周期管理
  3 + */
  4 +package cn.iocoder.yudao.module.mes.controller.admin.dv;
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/package-info.java 0 → 100644
  1 +/**
  2 + * MES 基础数据(Master Data):物料、物料分类、计量单位、客户、供应商、车间、工位、BOM、SOP、SIP 等制造基础主数据
  3 + */
  4 +package cn.iocoder.yudao.module.mes.controller.admin.md;
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/package-info.java 0 → 100644
  1 +/**
  2 + * MES 生产管理(Production):工序、工艺路线、生产工单、生产任务、报工反馈、流转卡、安灯、停机记录等核心生产执行
  3 + */
  4 +package cn.iocoder.yudao.module.mes.controller.admin.pro;
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/package-info.java 0 → 100644
  1 +/**
  2 + * MES 质量管理(Quality Control):检验模板、质检指标、来料检(IQC)、过程检(IPQC)、出货检(OQC)、退货检(RQC)、缺陷管理
  3 + */
  4 +package cn.iocoder.yudao.module.mes.controller.admin.qc;
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/tm/package-info.java 0 → 100644
  1 +/**
  2 + * MES 工具管理(Tool Management):工具类型、工具台账,管理生产所需的刀具、模具、夹具等工装资源
  3 + */
  4 +package cn.iocoder.yudao.module.mes.controller.admin.tm;
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/package-info.java 0 → 100644
  1 +/**
  2 + * MES 仓库管理(Warehouse Management):仓库/库区/库位、库存台账、批次/SN、出入库(采购/生产/销售/外协/其他)、调拨、盘点、条码
  3 + */
  4 +package cn.iocoder.yudao.module.mes.controller.admin.wm;
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/package-info.java 0 → 100644
  1 +/**
  2 + * 提供 RESTful API 给前端:
  3 + * 1. admin 包:提供给管理后台 yudao-ui-admin 前端项目
  4 + * 2. app 包:提供给用户 APP yudao-ui-app 前端项目,它的 Controller 和 VO 都要添加 App 前缀,用于和管理后台进行区分
  5 + */
  6 +package cn.iocoder.yudao.module.mes.controller;
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/DictTypeConstants.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mes.enums;
  2 +
  3 +/**
  4 + * MES 字典类型的枚举类
  5 + *
  6 + * @author 芋道源码
  7 + */
  8 +public interface DictTypeConstants {
  9 +
  10 +}
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mes.enums;
  2 +
  3 +import cn.iocoder.yudao.framework.common.exception.ErrorCode;
  4 +
  5 +/**
  6 + * MES 错误码枚举类
  7 + * <p>
  8 + * mes 系统,使用 1-040-000-000 段
  9 + */
  10 +public interface ErrorCodeConstants {
  11 +
  12 + // ========== MES 基础数据-物料分类(1-040-100-000) ==========
  13 + ErrorCode MD_ITEM_TYPE_NOT_EXISTS = new ErrorCode(1_040_100_000, "物料分类不存在");
  14 +
  15 + // ========== MES 基础数据-计量单位(1-040-101-000) ==========
  16 + ErrorCode MD_UNIT_MEASURE_NOT_EXISTS = new ErrorCode(1_040_101_000, "计量单位不存在");
  17 +
  18 + // ========== MES 基础数据-物料(1-040-102-000) ==========
  19 + ErrorCode MD_ITEM_NOT_EXISTS = new ErrorCode(1_040_102_000, "物料不存在");
  20 +
  21 + // ========== MES 基础数据-客户(1-040-103-000) ==========
  22 + ErrorCode MD_CLIENT_NOT_EXISTS = new ErrorCode(1_040_103_000, "客户不存在");
  23 +
  24 + // ========== MES 基础数据-供应商(1-040-104-000) ==========
  25 + ErrorCode MD_VENDOR_NOT_EXISTS = new ErrorCode(1_040_104_000, "供应商不存在");
  26 +
  27 + // ========== MES 基础数据-车间(1-040-105-000) ==========
  28 + ErrorCode MD_WORKSHOP_NOT_EXISTS = new ErrorCode(1_040_105_000, "车间不存在");
  29 +
  30 + // ========== MES 基础数据-工位(1-040-106-000) ==========
  31 + ErrorCode MD_WORKSTATION_NOT_EXISTS = new ErrorCode(1_040_106_000, "工位不存在");
  32 +
  33 + // ========== MES 基础数据-产品BOM(1-040-107-000) ==========
  34 + ErrorCode MD_PRODUCT_BOM_NOT_EXISTS = new ErrorCode(1_040_107_000, "产品BOM不存在");
  35 +
  36 + // ========== MES 日历排班-班次(1-040-200-000) ==========
  37 + ErrorCode CAL_SHIFT_NOT_EXISTS = new ErrorCode(1_040_200_000, "班次不存在");
  38 +
  39 + // ========== MES 日历排班-班组(1-040-201-000) ==========
  40 + ErrorCode CAL_TEAM_NOT_EXISTS = new ErrorCode(1_040_201_000, "班组不存在");
  41 +
  42 + // ========== MES 日历排班-排班计划(1-040-202-000) ==========
  43 + ErrorCode CAL_PLAN_NOT_EXISTS = new ErrorCode(1_040_202_000, "排班计划不存在");
  44 +
  45 + // ========== MES 设备管理-设备类型(1-040-300-000) ==========
  46 + ErrorCode DV_MACHINERY_TYPE_NOT_EXISTS = new ErrorCode(1_040_300_000, "设备类型不存在");
  47 +
  48 + // ========== MES 设备管理-设备台账(1-040-301-000) ==========
  49 + ErrorCode DV_MACHINERY_NOT_EXISTS = new ErrorCode(1_040_301_000, "设备不存在");
  50 +
  51 + // ========== MES 设备管理-点检计划(1-040-302-000) ==========
  52 + ErrorCode DV_CHECK_PLAN_NOT_EXISTS = new ErrorCode(1_040_302_000, "点检计划不存在");
  53 +
  54 + // ========== MES 设备管理-维修工单(1-040-303-000) ==========
  55 + ErrorCode DV_REPAIR_NOT_EXISTS = new ErrorCode(1_040_303_000, "维修工单不存在");
  56 +
  57 + // ========== MES 工具管理-工具类型(1-040-400-000) ==========
  58 + ErrorCode TM_TOOL_TYPE_NOT_EXISTS = new ErrorCode(1_040_400_000, "工具类型不存在");
  59 +
  60 + // ========== MES 工具管理-工具台账(1-040-401-000) ==========
  61 + ErrorCode TM_TOOL_NOT_EXISTS = new ErrorCode(1_040_401_000, "工具不存在");
  62 +
  63 + // ========== MES 生产管理-工序(1-040-500-000) ==========
  64 + ErrorCode PRO_PROCESS_NOT_EXISTS = new ErrorCode(1_040_500_000, "工序不存在");
  65 +
  66 + // ========== MES 生产管理-工艺路线(1-040-501-000) ==========
  67 + ErrorCode PRO_ROUTE_NOT_EXISTS = new ErrorCode(1_040_501_000, "工艺路线不存在");
  68 +
  69 + // ========== MES 生产管理-生产工单(1-040-502-000) ==========
  70 + ErrorCode PRO_WORKORDER_NOT_EXISTS = new ErrorCode(1_040_502_000, "生产工单不存在");
  71 +
  72 + // ========== MES 生产管理-生产任务(1-040-503-000) ==========
  73 + ErrorCode PRO_TASK_NOT_EXISTS = new ErrorCode(1_040_503_000, "生产任务不存在");
  74 +
  75 + // ========== MES 质量管理-检验模板(1-040-600-000) ==========
  76 + ErrorCode QC_TEMPLATE_NOT_EXISTS = new ErrorCode(1_040_600_000, "检验模板不存在");
  77 +
  78 + // ========== MES 质量管理-质检指标(1-040-601-000) ==========
  79 + ErrorCode QC_INDEX_NOT_EXISTS = new ErrorCode(1_040_601_000, "质检指标不存在");
  80 +
  81 + // ========== MES 质量管理-缺陷类型(1-040-602-000) ==========
  82 + ErrorCode QC_DEFECT_NOT_EXISTS = new ErrorCode(1_040_602_000, "缺陷类型不存在");
  83 +
  84 + // ========== MES 仓库管理-仓库(1-040-700-000) ==========
  85 + ErrorCode WM_WAREHOUSE_NOT_EXISTS = new ErrorCode(1_040_700_000, "仓库不存在");
  86 +
  87 + // ========== MES 仓库管理-库区(1-040-701-000) ==========
  88 + ErrorCode WM_STORAGE_AREA_NOT_EXISTS = new ErrorCode(1_040_701_000, "库区不存在");
  89 +
  90 + // ========== MES 仓库管理-库位(1-040-702-000) ==========
  91 + ErrorCode WM_STORAGE_LOCATION_NOT_EXISTS = new ErrorCode(1_040_702_000, "库位不存在");
  92 +
  93 + // ========== MES 仓库管理-库存(1-040-703-000) ==========
  94 + ErrorCode WM_MATERIAL_STOCK_NOT_EXISTS = new ErrorCode(1_040_703_000, "库存记录不存在");
  95 +
  96 +}
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/package-info.java 0 → 100644
  1 +/**
  2 + * 属于 mes 模块的 framework 封装
  3 + *
  4 + * @author 芋道源码
  5 + */
  6 +package cn.iocoder.yudao.module.mes.framework;
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/web/config/MesWebConfiguration.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mes.framework.web.config;
  2 +
  3 +import cn.iocoder.yudao.framework.swagger.config.YudaoSwaggerAutoConfiguration;
  4 +import org.springdoc.core.models.GroupedOpenApi;
  5 +import org.springframework.context.annotation.Bean;
  6 +import org.springframework.context.annotation.Configuration;
  7 +
  8 +/**
  9 + * mes 模块的 web 组件的 Configuration
  10 + *
  11 + * @author 芋道源码
  12 + */
  13 +@Configuration(proxyBeanMethods = false)
  14 +public class MesWebConfiguration {
  15 +
  16 + /**
  17 + * mes 模块的 API 分组
  18 + */
  19 + @Bean
  20 + public GroupedOpenApi mesGroupedOpenApi() {
  21 + return YudaoSwaggerAutoConfiguration.buildGroupedOpenApi("mes");
  22 + }
  23 +
  24 +}
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/web/package-info.java 0 → 100644
  1 +/**
  2 + * mes 模块的 web 配置
  3 + */
  4 +package cn.iocoder.yudao.module.mes.framework.web;
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/package-info.java 0 → 100644
  1 +/**
  2 + * mes 包下,制造执行系统(Manufacturing Execution System)。
  3 + * 例如说:基础数据、排班日历、设备管理、工具管理、生产管理、质量管理、仓库管理等等
  4 + *
  5 + * 1. Controller URL:以 /mes/ 开头,避免和其它 Module 冲突
  6 + * 2. DataObject 表名:以 mes_ 开头,方便在数据库中区分
  7 + *
  8 + * 注意,由于 Mes 模块下,容易和其它模块重名,所以类名都加了 Mes 的前缀~
  9 + */
  10 +package cn.iocoder.yudao.module.mes;
yudao-server/pom.xml
@@ -115,6 +115,13 @@ @@ -115,6 +115,13 @@
115 <!-- <version>${revision}</version>--> 115 <!-- <version>${revision}</version>-->
116 <!-- </dependency>--> 116 <!-- </dependency>-->
117 117
  118 + <!-- MES 制造执行系统相关模块 -->
  119 + <dependency>
  120 + <groupId>cn.iocoder.boot</groupId>
  121 + <artifactId>yudao-module-mes</artifactId>
  122 + <version>${revision}</version>
  123 + </dependency>
  124 +
118 <!-- spring boot 配置所需依赖 --> 125 <!-- spring boot 配置所需依赖 -->
119 <dependency> 126 <dependency>
120 <groupId>org.springframework.boot</groupId> 127 <groupId>org.springframework.boot</groupId>