diff --git a/pom.xml b/pom.xml index b4016c70ce..a9c15ea005 100644 --- a/pom.xml +++ b/pom.xml @@ -25,6 +25,7 @@ + yudao-module-mes ${project.artifactId} diff --git a/yudao-module-mes/pom.xml b/yudao-module-mes/pom.xml new file mode 100644 index 0000000000..a20eadbcb4 --- /dev/null +++ b/yudao-module-mes/pom.xml @@ -0,0 +1,65 @@ + + + + cn.iocoder.boot + yudao + ${revision} + + 4.0.0 + yudao-module-mes + jar + + ${project.artifactId} + + mes 模块下,制造执行系统(Manufacturing Execution System)。 + 例如说:基础数据、排班日历、设备管理、工具管理、生产管理、质量管理、仓库管理等等 + + + + + cn.iocoder.boot + yudao-module-system + ${revision} + + + + + + + cn.iocoder.boot + yudao-spring-boot-starter-web + + + + cn.iocoder.boot + yudao-spring-boot-starter-security + + + + + cn.iocoder.boot + yudao-spring-boot-starter-mybatis + + + + cn.iocoder.boot + yudao-spring-boot-starter-redis + + + + + cn.iocoder.boot + yudao-spring-boot-starter-excel + + + + + cn.iocoder.boot + yudao-spring-boot-starter-test + + + + + diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/package-info.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/package-info.java new file mode 100644 index 0000000000..4b2f9f3b65 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/package-info.java @@ -0,0 +1,4 @@ +/** + * MES 日历排班(Calendar / Shift Planning):班次、班组、班组成员、排班计划、假期设置等生产人员轮班与工作日历 + */ +package cn.iocoder.yudao.module.mes.controller.admin.cal; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/package-info.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/package-info.java new file mode 100644 index 0000000000..8cdd365a1f --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/package-info.java @@ -0,0 +1,4 @@ +/** + * MES 设备管理(Device / Equipment Management):设备类型、设备台账、点检计划与记录、保养记录、维修工单等设备全生命周期管理 + */ +package cn.iocoder.yudao.module.mes.controller.admin.dv; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/package-info.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/package-info.java new file mode 100644 index 0000000000..b8efe9ac50 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/package-info.java @@ -0,0 +1,4 @@ +/** + * MES 基础数据(Master Data):物料、物料分类、计量单位、客户、供应商、车间、工位、BOM、SOP、SIP 等制造基础主数据 + */ +package cn.iocoder.yudao.module.mes.controller.admin.md; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/package-info.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/package-info.java new file mode 100644 index 0000000000..17a650db4a --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/package-info.java @@ -0,0 +1,4 @@ +/** + * MES 生产管理(Production):工序、工艺路线、生产工单、生产任务、报工反馈、流转卡、安灯、停机记录等核心生产执行 + */ +package cn.iocoder.yudao.module.mes.controller.admin.pro; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/package-info.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/package-info.java new file mode 100644 index 0000000000..f515770f69 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/package-info.java @@ -0,0 +1,4 @@ +/** + * MES 质量管理(Quality Control):检验模板、质检指标、来料检(IQC)、过程检(IPQC)、出货检(OQC)、退货检(RQC)、缺陷管理 + */ +package cn.iocoder.yudao.module.mes.controller.admin.qc; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/tm/package-info.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/tm/package-info.java new file mode 100644 index 0000000000..96ab7f5808 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/tm/package-info.java @@ -0,0 +1,4 @@ +/** + * MES 工具管理(Tool Management):工具类型、工具台账,管理生产所需的刀具、模具、夹具等工装资源 + */ +package cn.iocoder.yudao.module.mes.controller.admin.tm; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/package-info.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/package-info.java new file mode 100644 index 0000000000..74b90ae295 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/package-info.java @@ -0,0 +1,4 @@ +/** + * MES 仓库管理(Warehouse Management):仓库/库区/库位、库存台账、批次/SN、出入库(采购/生产/销售/外协/其他)、调拨、盘点、条码 + */ +package cn.iocoder.yudao.module.mes.controller.admin.wm; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/package-info.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/package-info.java new file mode 100644 index 0000000000..d760e5d57a --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/package-info.java @@ -0,0 +1,6 @@ +/** + * 提供 RESTful API 给前端: + * 1. admin 包:提供给管理后台 yudao-ui-admin 前端项目 + * 2. app 包:提供给用户 APP yudao-ui-app 前端项目,它的 Controller 和 VO 都要添加 App 前缀,用于和管理后台进行区分 + */ +package cn.iocoder.yudao.module.mes.controller; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/DictTypeConstants.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/DictTypeConstants.java new file mode 100644 index 0000000000..eccf4f7e7e --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/DictTypeConstants.java @@ -0,0 +1,10 @@ +package cn.iocoder.yudao.module.mes.enums; + +/** + * MES 字典类型的枚举类 + * + * @author 芋道源码 + */ +public interface DictTypeConstants { + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java new file mode 100644 index 0000000000..9cd8b1b26e --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java @@ -0,0 +1,96 @@ +package cn.iocoder.yudao.module.mes.enums; + +import cn.iocoder.yudao.framework.common.exception.ErrorCode; + +/** + * MES 错误码枚举类 + *

+ * mes 系统,使用 1-040-000-000 段 + */ +public interface ErrorCodeConstants { + + // ========== MES 基础数据-物料分类(1-040-100-000) ========== + ErrorCode MD_ITEM_TYPE_NOT_EXISTS = new ErrorCode(1_040_100_000, "物料分类不存在"); + + // ========== MES 基础数据-计量单位(1-040-101-000) ========== + ErrorCode MD_UNIT_MEASURE_NOT_EXISTS = new ErrorCode(1_040_101_000, "计量单位不存在"); + + // ========== MES 基础数据-物料(1-040-102-000) ========== + ErrorCode MD_ITEM_NOT_EXISTS = new ErrorCode(1_040_102_000, "物料不存在"); + + // ========== MES 基础数据-客户(1-040-103-000) ========== + ErrorCode MD_CLIENT_NOT_EXISTS = new ErrorCode(1_040_103_000, "客户不存在"); + + // ========== MES 基础数据-供应商(1-040-104-000) ========== + ErrorCode MD_VENDOR_NOT_EXISTS = new ErrorCode(1_040_104_000, "供应商不存在"); + + // ========== MES 基础数据-车间(1-040-105-000) ========== + ErrorCode MD_WORKSHOP_NOT_EXISTS = new ErrorCode(1_040_105_000, "车间不存在"); + + // ========== MES 基础数据-工位(1-040-106-000) ========== + ErrorCode MD_WORKSTATION_NOT_EXISTS = new ErrorCode(1_040_106_000, "工位不存在"); + + // ========== MES 基础数据-产品BOM(1-040-107-000) ========== + ErrorCode MD_PRODUCT_BOM_NOT_EXISTS = new ErrorCode(1_040_107_000, "产品BOM不存在"); + + // ========== MES 日历排班-班次(1-040-200-000) ========== + ErrorCode CAL_SHIFT_NOT_EXISTS = new ErrorCode(1_040_200_000, "班次不存在"); + + // ========== MES 日历排班-班组(1-040-201-000) ========== + ErrorCode CAL_TEAM_NOT_EXISTS = new ErrorCode(1_040_201_000, "班组不存在"); + + // ========== MES 日历排班-排班计划(1-040-202-000) ========== + ErrorCode CAL_PLAN_NOT_EXISTS = new ErrorCode(1_040_202_000, "排班计划不存在"); + + // ========== MES 设备管理-设备类型(1-040-300-000) ========== + ErrorCode DV_MACHINERY_TYPE_NOT_EXISTS = new ErrorCode(1_040_300_000, "设备类型不存在"); + + // ========== MES 设备管理-设备台账(1-040-301-000) ========== + ErrorCode DV_MACHINERY_NOT_EXISTS = new ErrorCode(1_040_301_000, "设备不存在"); + + // ========== MES 设备管理-点检计划(1-040-302-000) ========== + ErrorCode DV_CHECK_PLAN_NOT_EXISTS = new ErrorCode(1_040_302_000, "点检计划不存在"); + + // ========== MES 设备管理-维修工单(1-040-303-000) ========== + ErrorCode DV_REPAIR_NOT_EXISTS = new ErrorCode(1_040_303_000, "维修工单不存在"); + + // ========== MES 工具管理-工具类型(1-040-400-000) ========== + ErrorCode TM_TOOL_TYPE_NOT_EXISTS = new ErrorCode(1_040_400_000, "工具类型不存在"); + + // ========== MES 工具管理-工具台账(1-040-401-000) ========== + ErrorCode TM_TOOL_NOT_EXISTS = new ErrorCode(1_040_401_000, "工具不存在"); + + // ========== MES 生产管理-工序(1-040-500-000) ========== + ErrorCode PRO_PROCESS_NOT_EXISTS = new ErrorCode(1_040_500_000, "工序不存在"); + + // ========== MES 生产管理-工艺路线(1-040-501-000) ========== + ErrorCode PRO_ROUTE_NOT_EXISTS = new ErrorCode(1_040_501_000, "工艺路线不存在"); + + // ========== MES 生产管理-生产工单(1-040-502-000) ========== + ErrorCode PRO_WORKORDER_NOT_EXISTS = new ErrorCode(1_040_502_000, "生产工单不存在"); + + // ========== MES 生产管理-生产任务(1-040-503-000) ========== + ErrorCode PRO_TASK_NOT_EXISTS = new ErrorCode(1_040_503_000, "生产任务不存在"); + + // ========== MES 质量管理-检验模板(1-040-600-000) ========== + ErrorCode QC_TEMPLATE_NOT_EXISTS = new ErrorCode(1_040_600_000, "检验模板不存在"); + + // ========== MES 质量管理-质检指标(1-040-601-000) ========== + ErrorCode QC_INDEX_NOT_EXISTS = new ErrorCode(1_040_601_000, "质检指标不存在"); + + // ========== MES 质量管理-缺陷类型(1-040-602-000) ========== + ErrorCode QC_DEFECT_NOT_EXISTS = new ErrorCode(1_040_602_000, "缺陷类型不存在"); + + // ========== MES 仓库管理-仓库(1-040-700-000) ========== + ErrorCode WM_WAREHOUSE_NOT_EXISTS = new ErrorCode(1_040_700_000, "仓库不存在"); + + // ========== MES 仓库管理-库区(1-040-701-000) ========== + ErrorCode WM_STORAGE_AREA_NOT_EXISTS = new ErrorCode(1_040_701_000, "库区不存在"); + + // ========== MES 仓库管理-库位(1-040-702-000) ========== + ErrorCode WM_STORAGE_LOCATION_NOT_EXISTS = new ErrorCode(1_040_702_000, "库位不存在"); + + // ========== MES 仓库管理-库存(1-040-703-000) ========== + ErrorCode WM_MATERIAL_STOCK_NOT_EXISTS = new ErrorCode(1_040_703_000, "库存记录不存在"); + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/package-info.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/package-info.java new file mode 100644 index 0000000000..3ef57e7bd1 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/package-info.java @@ -0,0 +1,6 @@ +/** + * 属于 mes 模块的 framework 封装 + * + * @author 芋道源码 + */ +package cn.iocoder.yudao.module.mes.framework; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/web/config/MesWebConfiguration.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/web/config/MesWebConfiguration.java new file mode 100644 index 0000000000..9959e4ad32 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/web/config/MesWebConfiguration.java @@ -0,0 +1,24 @@ +package cn.iocoder.yudao.module.mes.framework.web.config; + +import cn.iocoder.yudao.framework.swagger.config.YudaoSwaggerAutoConfiguration; +import org.springdoc.core.models.GroupedOpenApi; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * mes 模块的 web 组件的 Configuration + * + * @author 芋道源码 + */ +@Configuration(proxyBeanMethods = false) +public class MesWebConfiguration { + + /** + * mes 模块的 API 分组 + */ + @Bean + public GroupedOpenApi mesGroupedOpenApi() { + return YudaoSwaggerAutoConfiguration.buildGroupedOpenApi("mes"); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/web/package-info.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/web/package-info.java new file mode 100644 index 0000000000..630641a494 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/web/package-info.java @@ -0,0 +1,4 @@ +/** + * mes 模块的 web 配置 + */ +package cn.iocoder.yudao.module.mes.framework.web; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/package-info.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/package-info.java new file mode 100644 index 0000000000..e9c462be18 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/package-info.java @@ -0,0 +1,10 @@ +/** + * mes 包下,制造执行系统(Manufacturing Execution System)。 + * 例如说:基础数据、排班日历、设备管理、工具管理、生产管理、质量管理、仓库管理等等 + * + * 1. Controller URL:以 /mes/ 开头,避免和其它 Module 冲突 + * 2. DataObject 表名:以 mes_ 开头,方便在数据库中区分 + * + * 注意,由于 Mes 模块下,容易和其它模块重名,所以类名都加了 Mes 的前缀~ + */ +package cn.iocoder.yudao.module.mes; diff --git a/yudao-server/pom.xml b/yudao-server/pom.xml index 97ee0daf38..6f1e5e721b 100644 --- a/yudao-server/pom.xml +++ b/yudao-server/pom.xml @@ -115,6 +115,13 @@ + + + cn.iocoder.boot + yudao-module-mes + ${revision} + + org.springframework.boot