e48245ef27
feat(mes): 优化 cal-team 班组成员相关逻辑
...
- MesCalTeamMemberController:注入 AdminUserApi,合并 list-by-team 与
list-by-team-ids 为单一接口(支持 teamId / teamIds 参数),新增
buildMemberRespVOList 方法批量填充用户昵称和手机号
- MesCalTeamMemberServiceImpl:validateTeamMemberExists 改为 void 返回;
validateUserUnique 去掉冗余的 excludeId 参数
- MesCalTeamMemberMapper:selectByUserIdExcludeId 简化为 selectByUserId
2026-02-18 15:31:59 +08:00
849324ff05
feat(mes): 新增 CAL 模块班组/班组成员/班组排班功能(cal_team 三表)
...
新增 mes_cal_team / mes_cal_team_member / mes_cal_team_shift 三张表的完整后端实现:
- SQL:三张表 DDL、菜单 INSERT(5220-5225)、测试数据
- DO / Mapper / VO / Service / Controller 全套分层实现
- MesCalTeamShiftServiceImpl 移植 genRecords 算法(单白班/两班倒/三班倒轮换),
基于 Java 8 时间 API(LocalDate/ChronoUnit)替代原 Date/String 方案,@Async 异步执行
- ErrorCodeConstants 追加 5 个错误码(CAL_TEAM_CODE_DUPLICATE、CAL_TEAM_MEMBER_NOT_EXISTS 等)
设计说明:
- mes_cal_team_member 去除冗余字段(user_name/nickname/telephone),通过 userId 关联查询
- mes_cal_team_shift 去除冗余字段(team_name/shift_name/calendar_type/shift_type),通过外键关联查询
- 循环依赖通过 @Lazy 注入解决
修复已有 TODO:
- MesCalPlanTeamDO:补充 @link MesCalTeamDO 关联注释
- MesCalPlanServiceImpl.confirmPlan:接入 teamShiftService.genRecords(id)
- MesCalPlanTeamController.getPlanTeamListByPlan:拼装班组编码/名称
- MesCalPlanTeamRespVO:移除待办注释
2026-02-18 11:21:17 +08:00
0317e8ea99
review(mes):wm-warehouse 的初步实现 80%
2026-02-17 23:51:33 +08:00
23af22311b
review(mes):wm-warehouse 的初步实现 50%
2026-02-17 22:52:45 +08:00
a5510bb3ed
review(mes):wm-warehouse 的初步实现
2026-02-17 21:53:34 +08:00
6d90b8330a
review(mes):cal-plan 的代码实现,功能测试
2026-02-17 20:58:24 +08:00
9d57d6c721
review(mes):qc-template 的代码实现,功能测试
2026-02-17 20:45:03 +08:00
68cbb1ac51
review(mes):qc-template 的代码实现,功能测试
2026-02-17 20:43:40 +08:00
933c7ada1b
feat(mes):qc-template 初始化
2026-02-17 18:57:14 +08:00
95b09b98c4
review(mes):cal-plan 的实现
2026-02-17 17:05:45 +08:00
06d795610b
feat:新增 qc indicator 质量管理 - 检测项
2026-02-17 16:09:37 +08:00
3f2c13f327
✨ feat(mes/cal-plan): 新增排班计划专用 confirm 接口
...
- 后端新增 PUT /mes/cal/plan/confirm 接口,仅接收 id 参数
- Service 层新增 confirmPlan(Long id) 方法,含草稿状态校验和班组数量校验
- updatePlan 中强制忽略 status 字段,禁止通过 update 修改状态
- 前端 API 新增 confirmPlan(id: number) 方法
- CalPlanForm handleConfirm 改为调用专用 confirmPlan 接口
2026-02-17 16:05:24 +08:00
f163e105e6
feat(mes-pro): 新增生产工单模块,从 ktg-mes 迁移 pro/workorder
...
- 新增 mes_pro_workorder、mes_pro_workorder_bom 两张表(含菜单、字典数据)
- 新增 MesProWorkorderDO/BomDO 数据对象
- 新增工单状态/类型/来源类型 3 个枚举,ErrorCode 和 DictType 常量
- 新增 Workorder/Bom 的 VO、Mapper、Service、Controller 全套 CRUD
- 创建工单时自动根据产品 BOM 生成工单 BOM 行
- 支持工单完成/取消状态流转,仅草稿状态可删除
- 去除 ktg-mes 冗余字段,varchar 枚举改 tinyint
2026-02-17 15:36:59 +08:00
a0bc813b18
fix(mes-cal): 删除计划班次导出功能,清理 Excel 注解
...
班次作为排班计划的子资源 tab,独立导出没有意义:
1. Controller 删除 exportPlanShiftExcel 方法及相关 import
2. RespVO 删除 @ExcelProperty / @ExcelIgnoreUnannotated 注解
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 15:25:26 +08:00
ee7cf5161d
fix(mes-cal): 计划班组增删前校验排班计划未确认
...
MesCalPlanTeamServiceImpl 的 create/delete 方法调用
planService.validatePlanPrepare(),确认后的排班计划禁止修改班组
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 15:23:32 +08:00
2742bd4fb8
fix(mes-cal): 计划班次增删改前校验排班计划未确认
...
MesCalPlanShiftServiceImpl 的 create/update/delete 方法调用
planService.validatePlanPrepare(),确认后的排班计划禁止修改班次
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 15:21:47 +08:00
c82e0937f7
fix(mes-cal): 排班计划抽取 validatePlanPrepare 校验方法,确认后禁止修改删除
...
1. MesCalPlanService 新增 validatePlanPrepare 接口方法
2. MesCalPlanServiceImpl 实现 validatePlanPrepare,供子资源 Service 调用
3. updatePlan 增加已确认状态校验,阻止修改已确认的计划
4. deletePlan 改用 validatePlanPrepare 替代内联校验
5. ErrorCodeConstants 调整 CAL_PLAN_NOT_PREPARE 消息
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 15:20:27 +08:00
15e6c5d308
feat(mes):优化、实现 plan 的逻辑
2026-02-17 15:15:25 +08:00
3666022910
feat(mes):新增 defect 缺陷类型
2026-02-17 14:38:26 +08:00
d843c5d0c1
feat(mes): 调整设备状态枚举为停机/生产中/维护中,SaveReqVO 增加点检保养时间
...
1. MesDvMachineryStatusEnum 枚举值从 RUNNING/STOP/FAULT 改为 STOP(1,停机)/PRODUCING(2,生产中)/MAINTENANCE(3,维护中)
2. MesDvMachinerySaveReqVO 新增 lastMaintenTime、lastCheckTime 字段,支持新增/修改时保存点检保养时间
2026-02-17 11:32:30 +08:00
84965cff85
refactor(mes-dv): getMachinery 复用 buildMachineryRespVOList 方法
...
将 getMachinery() 中手动拼接设备类型名/车间名的逻辑,
改为复用 buildMachineryRespVOList() 的批量 Map 查询方式,消除重复代码。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 10:17:14 +08:00
c7c296371f
feat(mes-dv): 新增 MesDvMachineryStatusEnum 设备状态枚举
...
新增 RUNNING(运行中)/STOP(停机)/FAULT(故障) 三个状态枚举值,
并在 MesDvMachineryDO 的 status 字段上添加 @link 引用。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 10:16:12 +08:00
90ca6e4ae3
feat(mes-cal): 新增班次管理和排班计划前端页面
...
新增班次管理(cal/shift)和排班计划(cal/plan)的前端实现,
包含 API 定义、列表页、表单弹窗、班组面板和班次面板,
以及 dict.ts 中 CAL 相关字典类型补充
2026-02-17 09:53:04 +08:00
215f588134
feat(mes-cal): 新增排班计划(cal_plan)、计划班次(cal_shift)、计划班组(cal_plan_team)模块
...
迁移 ktg-mes 排班计划核心三表到 yudao-module-mes,实现创建计划→自动生成班次→分配班组→确认计划的完整业务流。
- 新增 cal_plan 排班计划 CRUD + 导出,含编码唯一校验、草稿/确认状态管理
- 新增 cal_shift 计划班次 CRUD + 导出,含按轮班方式自动生成默认班次、班次数量上限校验
- 新增 cal_plan_team 计划班组关联增删查,复用 plan 权限
- 新增 CalConstants 常量类、枚举类(ShiftType/ShiftMethod/PlanStatus)
- 新增错误码(shift 上限校验、plan 编码重复、状态校验、班组数量匹配)
- 删除计划时级联删除关联班次和班组
2026-02-17 09:52:34 +08:00
203c639326
refactor(mes-tm): 工具管理模块代码优化
...
1. 新增独立枚举类 MesTmMaintenTypeEnum、MesTmToolStatusEnum(enums/tm 包)
2. DO Javadoc 从字典引用改为枚举引用
3. ServiceImpl 使用枚举常量替代魔法值
4. Controller 抽取 buildToolRespVOList() 私有方法,复用 page/export 拼接逻辑
5. ServiceImpl 校验方法使用 ObjUtil.notEqual() 替代 Objects.equals + null 判断
2026-02-16 22:30:01 +08:00
588845ab61
feat(mes): 新增工具管理(TM)模块,包含工具类型和工具台账
...
新增工具类型(mes_tm_tool_type)和工具台账(mes_tm_tool)的完整 CRUD,
包括 DO、Mapper、Service、Controller、VO,以及 ErrorCodeConstants
和 DictTypeConstants 的相关枚举补充。
2026-02-16 21:12:32 +08:00
3e260b9fcb
refactor(mes): 精简假期设置模块,优化接口和字段定义
...
1. type 从 String(varchar) 改为 Integer(tinyint),1=工作日 2=节假日
2. 移除 startTime/endTime 字段,theDay 重命名为 day
3. 精简为 3 个接口:save(upsert)、get-by-day、list
4. 删除 update/delete/get/page/export-excel 及 PageReqVO
5. RespVO 移除 Excel 注解,createHoliday 重命名为 saveHoliday
2026-02-16 21:01:33 +08:00
59ef3fa065
refactor(mes): 精简假期设置模块,优化接口和字段定义
...
1. type 从 String(varchar) 改为 Integer(tinyint),1=工作日 2=节假日
2. 移除 startTime/endTime 字段,theDay 重命名为 day
3. 精简为 3 个接口:save(upsert)、get-by-day、list
4. 删除 update/delete/get/page/export-excel 及 PageReqVO
5. RespVO 移除 Excel 注解,createHoliday 重命名为 saveHoliday
2026-02-16 20:58:49 +08:00
511bc08556
feat(mes): 新增假期设置(cal_holiday)功能
...
从 ktg-mes 迁移 cal_holiday 到 yudao-module-mes,作为 CAL 日历排班模块首个实体。
支持将日期标记为假期(HOLIDAY)或工作日(WORKDAY),创建时自动 upsert(同一天更新而非重复插入)。
新增文件:
- MesCalHolidayDO / Mapper / Service / Controller
- MesCalHolidaySaveReqVO / RespVO / PageReqVO
- mes_cal_holiday.sql(DDL + CAL根菜单5200 + 假期菜单5250~5255 + 字典 + 演示数据)
修改文件:
- ErrorCodeConstants:新增 CAL_HOLIDAY_NOT_EXISTS
- DictTypeConstants:新增 MES_CAL_HOLIDAY_TYPE
2026-02-16 18:39:04 +08:00
7a68b122a6
refactor(mes): 重构产品 SIP/SOP/BOM 模块,统一字段命名与代码风格
...
1. SIP/SOP 的 orderNumber 字段全局重命名为 sort,涉及 DO、VO、Mapper、Service、ErrorCode
2. BOM Service 的 hasCycle 方法重命名为 hasBomCycle,语义更清晰
3. ErrorCode 常量 ORDER_NUMBER_DUPLICATE 重命名为 SORT_DUPLICATE
2026-02-16 17:46:46 +08:00
9231dae783
feat(mes): 优化工作站模块,新增获取车间列表和车间 Map 方法,重构表单弹窗逻辑
2026-02-16 15:47:05 +08:00
35b28b3c2f
feat(mes): 添加假期类型常量及相关错误码,调整SOP和SIP模块的展示顺序
2026-02-16 13:19:50 +08:00
9b0657c48d
refactor(mes): 修正工作站模块中文注释命名
...
修正 MES 工作站相关 4 张表的中文注释(DO/VO/Controller/Service/Mapper/ErrorCode):
- 工位 → 工作站
- 工位设备 → 设备资源
- 工位工具 → 工装夹具资源
- 工位人员 → 人力资源
2026-02-16 12:35:52 +08:00
b4bc37554b
refactor(mes): 修正工作站模块中文注释命名
...
修正 MES 工作站相关 4 张表的中文注释,涵盖 DO/VO/Controller/Service/Mapper/ErrorCode:
- 工位 → 工作站
- 工位设备 → 设备资源
- 工位工具 → 工装夹具资源
- 工位人员 → 人力资源
2026-02-16 12:11:51 +08:00
9fc804293c
feat(mes): 新增产品 BOM、SOP、SIP 子表全链路(MD 主数据)
...
新增 md_product_bom / md_product_sop / md_product_sip 三张子表的完整后端:
- DO / Mapper / VO / Service / Controller 共 24 个文件
- BOM 支持自引用校验和 DFS 闭环检测
- SOP / SIP 支持排序号唯一校验和图片管理
- 不冗余物料字段,仅存 ID,Controller 层 JOIN 组装展示
- ErrorCodeConstants 新增 6 个错误码
- MesMdItemServiceImpl 增加级联删除
2026-02-16 08:58:12 +08:00
c3826a2bc0
feat(mes): 新增车间管理、工位管理模块后端(MD 主数据)
...
新增车间(workshop)和工位(workstation)5 张表的完整后端:
- DDL 建表 + 菜单 SQL(5160-5175)+ 螺丝刀工厂演示数据 21 条
- 5 DO + 5 Mapper + 5 Service 接口 + 5 Service 实现 + 5 Controller
- 17 VO(含分页/保存/响应)
- 工位子资源(设备/工具/人员)支持级联删除
- 导出 Excel 已拼装车间名称、负责人名称等关联字段
2026-02-16 08:40:17 +08:00
57dc91dcae
feat(mes): 重构 MES 客户和供应商模块的包结构
2026-02-16 08:13:33 +08:00
c680dc2e35
feat(mes): 新增车间管理、工位管理模块后端
...
新增车间(workshop)和工位(workstation)5 张表的完整后端实现:
- DDL 建表 + 菜单 SQL + 螺丝刀工厂演示数据 21 条
- DO/Mapper/Service/VO/Controller 共 37 个 Java 文件
- 工位支持设备、工具、人员三类子资源的 CRUD
2026-02-16 08:09:16 +08:00
a297b06009
feat(mes): 新增物料批次属性配置(md_item_batch_config)
...
1. 新增独立表 mes_md_item_batch_config,与 mes_md_item 保持 1:1 关系(UNIQUE KEY)
2. 新增 DO/Mapper/Service/Controller/VO,采用 upsert 模式(GET by itemId + POST save)
3. 复用物料权限 mes:md-item:query / mes:md-item:update,无需独立菜单
4. MesMdItemServiceImpl:级联删除批次配置 + 启用时校验至少一个 flag 为 true
5. 修复 simple-list 接口未返回 itemOrProduct 字段的 BUG
6. 代码规范:变量/方法名统一加 Item 前缀(itemBatchConfigService / getItemBatchConfigByItemId 等)
2026-02-16 01:28:00 +08:00
aab8480265
feat(mes): 新增供应商(md_vendor)模块完整功能
...
新增供应商管理的全套后端代码,参照客户(md_client)模块风格:
- DO/Mapper/Service/Controller 完整 CRUD
- 供应商导入功能(Excel 解析、逐行校验、创建或更新)
- 导入模板下载接口
- VO:SaveReqVO、RespVO、PageReqVO、ImportExcelVO、ImportRespVO
- 编码/名称/简称唯一性校验
- ErrorCodeConstants 新增供应商相关错误码(1_040_104_000~004)
- 权限:mes:md-vendor:{query,create,update,delete,export,import}
2026-02-16 00:28:03 +08:00
0d3d0b8594
feat(mes): 新增 MES 客户管理(mes_md_client)完整 CRUD + Excel 导入导出
...
从 ktg-mes md_client 迁移到 yudao-module-mes,包含:
- 新增 MesMdClientDO、Mapper、Service、Controller 全链路
- 字段重命名对齐 yudao 规范(client_code→code, client_name→name 等)
- client_type 由 varchar 改为 tinyint 字典(mes_client_type)
- enable_flag 由 char(Y/N) 改为 status tinyint(CommonStatusEnum)
- 创建/更新时校验 code、name、nickname 唯一性
- Excel 导入支持创建/更新模式,含逐行校验与错误汇总
- 新增 ErrorCodeConstants(1_040_103_000~004)和 DictTypeConstants
2026-02-15 23:34:39 +08:00
f04c68c083
feat(mes): 完善计量单位迁移与物料字段重构
...
1. 迁移计量单位:新增 MesMdUnitMeasure 全套 CRUD(Controller/Service/Mapper/VO)
2. 物料单位外键改造:unitOfMeasure(String) → unitMeasureId(Long),
Controller 拼接 unitMeasureName,表单改为下拉选择
3. 物料导入:新增 ImportExcelVO/ImportRespVO,Service 实现 importItemList,
支持按编码匹配计量单位、物料分类校验
4. 删除引用校验:计量单位删除前检查是否被物料引用
5. 字段重命名:attr1~attr4 → attribute1~attribute4(Item/ItemType/UnitMeasure 全部 DO+VO)
6. 权限标识:物料导入接口独立 mes:md-item:import 权限
7. 迁移客户管理:新增 MesMdClient 全套 CRUD
2026-02-15 22:18:32 +08:00
4a4a287fb7
feat(mes): 完善物料分类与物料产品后端功能
...
1. Service 层重构:接口只返回 DO,VO 拼接移至 Controller
2. Mapper 合并两个 selectPage 为一个方法(inIfPresent 兼容空集合)
3. 新增物料批量导入功能(ImportExcelVO + ImportRespVO + Controller 端点)
4. 分类查询支持子分类递归(getItemTypeChildrenList)
5. 物料分页查询自动包含选中分类的所有子分类
6. 分类删除移除 export-excel 端点
7. 校验逻辑简化:ObjUtil.notEqual 替代双 if 判断
8. collectChildren 重命名为 collectItemTypeChildren
2026-02-15 15:43:27 +08:00
977fdca68a
feat(mes): 新增物料产品分类与物料产品管理
...
迁移 ktg-mes 的 md_item_type 和 md_item 两张表到 yudao-module-mes,
包含完整的 CRUD、树形分类、物料分页查询、enrichment 等功能。
后端新增 17 个文件(1337 行):
- DO: MesMdItemTypeDO(树形分类)、MesMdItemDO(物料产品)
- VO: 分类 3 个(List/Save/Resp)、物料 3 个(Page/Save/Resp)
- Mapper: 2 个(BaseMapperX,纯 Java,无 XML)
- Service: 4 个(接口 + 实现)
- Controller: 2 个(/mes/md/item-type、/mes/md/item)
- ErrorCodeConstants 追加 9 个错误码
关键业务逻辑:
- 分类:父分类递归环路检测、同级名称/编码唯一性、删除保护(子分类+物料)
- 物料:编码/名称全局唯一、分类存在校验、安全库存联动清零
- enrichment:物料 RespVO 通过 Service 关联填充 itemTypeName、itemOrProduct
- 循环依赖:MesMdItemTypeServiceImpl 用 @Lazy 注入 MesMdItemService
plan: plans/swirling-stirring-metcalfe.md
2026-02-15 14:03:59 +08:00
6d0569bcbd
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 说明
2026-02-14 23:07:58 +08:00
566f5a12b7
feat(iot): add j2mod dependency and refactor connection info method
2026-02-14 16:33:27 +08:00
9240e16c39
feat:同步最新 mysql 脚本
2026-02-14 16:02:33 +08:00
78bcd54e34
!1518 接入 modbus 协议,重构所有协议的配置
...
Merge pull request !1518 from 芋道源码/feature/iot
2026-02-14 03:19:51 +00:00
bf3b19d3fb
!1498 feat:【iot】modbus-tcp 协议接入:100%
...
Merge pull request !1498 from 芋道源码/feature/iot-modbus
2026-02-14 03:08:01 +00:00
ff2618bbf1
!1513 feat(iot):【协议改造】http、websocket、tcp、udp、coap、mqtt 初步改造
...
Merge pull request !1513 from 芋道源码/feature/iot-protocol
2026-02-14 03:07:28 +00:00