Commit f882ef58d4180426806a60ce02aee9c2b159bd93
1 parent
f258faea
✨ feat(mes): 更新缺陷类型字典和必填字段验证
修改缺陷相关的字典类型为 MES_DEFECT_TYPE,并在缺陷数量字段添加必填验证,确保数据完整性。
Showing
9 changed files
with
31 additions
and
24 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/defect/vo/MesQcDefectRespVO.java
| @@ -29,7 +29,7 @@ public class MesQcDefectRespVO { | @@ -29,7 +29,7 @@ public class MesQcDefectRespVO { | ||
| 29 | 29 | ||
| 30 | @Schema(description = "检测项类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "APPEARANCE") | 30 | @Schema(description = "检测项类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "APPEARANCE") |
| 31 | @ExcelProperty(value = "检测项类型", converter = DictConvert.class) | 31 | @ExcelProperty(value = "检测项类型", converter = DictConvert.class) |
| 32 | - @DictFormat(DictTypeConstants.MES_INDICATOR_TYPE) | 32 | + @DictFormat(DictTypeConstants.MES_DEFECT_TYPE) |
| 33 | private String type; | 33 | private String type; |
| 34 | 34 | ||
| 35 | @Schema(description = "缺陷等级", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | 35 | @Schema(description = "缺陷等级", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/defectrecord/vo/MesQcDefectRecordSaveReqVO.java
| @@ -37,7 +37,8 @@ public class MesQcDefectRecordSaveReqVO { | @@ -37,7 +37,8 @@ public class MesQcDefectRecordSaveReqVO { | ||
| 37 | @InEnum(MesQcDefectLevelEnum.class) | 37 | @InEnum(MesQcDefectLevelEnum.class) |
| 38 | private Integer level; | 38 | private Integer level; |
| 39 | 39 | ||
| 40 | - @Schema(description = "缺陷数量", example = "1") | 40 | + @Schema(description = "缺陷数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 41 | + @NotNull(message = "缺陷数量不能为空") | ||
| 41 | private Integer quantity; | 42 | private Integer quantity; |
| 42 | 43 | ||
| 43 | @Schema(description = "备注", example = "备注") | 44 | @Schema(description = "备注", example = "备注") |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/defect/MesQcDefectDO.java
| @@ -34,12 +34,10 @@ public class MesQcDefectDO extends BaseDO { | @@ -34,12 +34,10 @@ public class MesQcDefectDO extends BaseDO { | ||
| 34 | * 缺陷描述 | 34 | * 缺陷描述 |
| 35 | */ | 35 | */ |
| 36 | private String name; | 36 | private String name; |
| 37 | - // TODO @AI:改成 mes_defect_type;字典 sql 变更;另外,dict constants 里也写下 | ||
| 38 | - // TODO @AI:枚举类; | ||
| 39 | /** | 37 | /** |
| 40 | * 检测项类型 | 38 | * 检测项类型 |
| 41 | * | 39 | * |
| 42 | - * 字典类型 mes_index_type | 40 | + * 字典类型 {@link cn.iocoder.yudao.module.mes.enums.DictTypeConstants#MES_DEFECT_TYPE} |
| 43 | */ | 41 | */ |
| 44 | private String type; | 42 | private String type; |
| 45 | /** | 43 | /** |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/DictTypeConstants.java
| @@ -21,6 +21,7 @@ public interface DictTypeConstants { | @@ -21,6 +21,7 @@ public interface DictTypeConstants { | ||
| 21 | String MES_DV_SUBJECT_TYPE = "mes_dv_subject_type"; // MES 点检保养项目类型 | 21 | String MES_DV_SUBJECT_TYPE = "mes_dv_subject_type"; // MES 点检保养项目类型 |
| 22 | String MES_INDICATOR_TYPE = "mes_indicator_type"; // MES 检测项类型 | 22 | String MES_INDICATOR_TYPE = "mes_indicator_type"; // MES 检测项类型 |
| 23 | String MES_QC_RESULT_TYPE = "mes_qc_result_type"; // MES 质检结果值类型 | 23 | String MES_QC_RESULT_TYPE = "mes_qc_result_type"; // MES 质检结果值类型 |
| 24 | + String MES_DEFECT_TYPE = "mes_defect_type"; // MES 缺陷检测项类型 | ||
| 24 | String MES_DEFECT_LEVEL = "mes_defect_level"; // MES 缺陷等级 | 25 | String MES_DEFECT_LEVEL = "mes_defect_level"; // MES 缺陷等级 |
| 25 | String MES_PRO_WORK_ORDER_STATUS = "mes_pro_work_order_status"; // MES 生产工单状态 | 26 | String MES_PRO_WORK_ORDER_STATUS = "mes_pro_work_order_status"; // MES 生产工单状态 |
| 26 | String MES_PRO_WORK_ORDER_SOURCE_TYPE = "mes_pro_work_order_source_type"; // MES 工单来源类型 | 27 | String MES_PRO_WORK_ORDER_SOURCE_TYPE = "mes_pro_work_order_source_type"; // MES 工单来源类型 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
| @@ -246,6 +246,8 @@ public interface ErrorCodeConstants { | @@ -246,6 +246,8 @@ public interface ErrorCodeConstants { | ||
| 246 | // ========== MES 生产管理-生产任务(1-040-503-000) ========== | 246 | // ========== MES 生产管理-生产任务(1-040-503-000) ========== |
| 247 | ErrorCode PRO_TASK_NOT_EXISTS = new ErrorCode(1_040_503_000, "生产任务不存在"); | 247 | ErrorCode PRO_TASK_NOT_EXISTS = new ErrorCode(1_040_503_000, "生产任务不存在"); |
| 248 | ErrorCode PRO_TASK_ALREADY_FINISHED = new ErrorCode(1_040_503_001, "生产任务已完成或已取消,不能继续操作"); | 248 | ErrorCode PRO_TASK_ALREADY_FINISHED = new ErrorCode(1_040_503_001, "生产任务已完成或已取消,不能继续操作"); |
| 249 | + // ========== MES 生产管理-生产任务投料(1-040-503-100) ========== | ||
| 250 | + ErrorCode PRO_TASK_ISSUE_NOT_EXISTS = new ErrorCode(1_040_503_100, "生产任务投料记录不存在"); | ||
| 249 | 251 | ||
| 250 | // ========== MES 生产管理-安灯呼叫配置(1-040-504-000) ========== | 252 | // ========== MES 生产管理-安灯呼叫配置(1-040-504-000) ========== |
| 251 | ErrorCode PRO_ANDON_CONFIG_NOT_EXISTS = new ErrorCode(1_040_504_000, "安灯呼叫配置不存在"); | 253 | ErrorCode PRO_ANDON_CONFIG_NOT_EXISTS = new ErrorCode(1_040_504_000, "安灯呼叫配置不存在"); |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/md/autocode/MesMdAutoCodeRuleCodeEnum.java
| @@ -47,7 +47,9 @@ public enum MesMdAutoCodeRuleCodeEnum { | @@ -47,7 +47,9 @@ public enum MesMdAutoCodeRuleCodeEnum { | ||
| 47 | WM_MISC_ISSUE_CODE("WM_MISC_ISSUE_CODE", "杂项出库单编码"), | 47 | WM_MISC_ISSUE_CODE("WM_MISC_ISSUE_CODE", "杂项出库单编码"), |
| 48 | PRO_ROUTE_CODE("PRO_ROUTE_CODE", "工艺路线编码"), | 48 | PRO_ROUTE_CODE("PRO_ROUTE_CODE", "工艺路线编码"), |
| 49 | PRO_FEEDBACK_CODE("PRO_FEEDBACK_CODE", "生产报工单编码"), | 49 | PRO_FEEDBACK_CODE("PRO_FEEDBACK_CODE", "生产报工单编码"), |
| 50 | - PRO_WORK_ORDER_CODE("PRO_WORK_ORDER_CODE", "生产工单编码"); | 50 | + PRO_WORK_ORDER_CODE("PRO_WORK_ORDER_CODE", "生产工单编码"), |
| 51 | + PRO_CARD_CODE("PRO_CARD_CODE", "流转卡编码"), | ||
| 52 | + QC_DEFECT_CODE("QC_DEFECT_CODE", "缺陷类型编码"); | ||
| 51 | 53 | ||
| 52 | /** | 54 | /** |
| 53 | * 规则代码 | 55 | * 规则代码 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java
| @@ -42,11 +42,8 @@ public class MesProProcessServiceImpl implements MesProProcessService { | @@ -42,11 +42,8 @@ public class MesProProcessServiceImpl implements MesProProcessService { | ||
| 42 | 42 | ||
| 43 | @Override | 43 | @Override |
| 44 | public Long createProcess(MesProProcessSaveReqVO createReqVO) { | 44 | public Long createProcess(MesProProcessSaveReqVO createReqVO) { |
| 45 | - // TODO @AI:validateXXXSaveData,传入 vo; | ||
| 46 | - // 1.1 校验工序编码唯一性 | ||
| 47 | - validateProcessCodeUnique(null, createReqVO.getCode()); | ||
| 48 | - // 1.2 校验工序名称唯一性 | ||
| 49 | - validateProcessNameUnique(null, createReqVO.getName()); | 45 | + // 1. 校验编码、名称唯一 |
| 46 | + validateProcessSaveData(createReqVO); | ||
| 50 | 47 | ||
| 51 | // 2. 插入工序 | 48 | // 2. 插入工序 |
| 52 | MesProProcessDO process = BeanUtils.toBean(createReqVO, MesProProcessDO.class); | 49 | MesProProcessDO process = BeanUtils.toBean(createReqVO, MesProProcessDO.class); |
| @@ -58,11 +55,8 @@ public class MesProProcessServiceImpl implements MesProProcessService { | @@ -58,11 +55,8 @@ public class MesProProcessServiceImpl implements MesProProcessService { | ||
| 58 | public void updateProcess(MesProProcessSaveReqVO updateReqVO) { | 55 | public void updateProcess(MesProProcessSaveReqVO updateReqVO) { |
| 59 | // 1.1 校验存在 | 56 | // 1.1 校验存在 |
| 60 | validateProcessExists(updateReqVO.getId()); | 57 | validateProcessExists(updateReqVO.getId()); |
| 61 | - // TODO @AI:validateXXXSaveData,传入 vo; | ||
| 62 | - // 1.2 校验工序编码唯一性 | ||
| 63 | - validateProcessCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); | ||
| 64 | - // 1.3 校验工序名称唯一性 | ||
| 65 | - validateProcessNameUnique(updateReqVO.getId(), updateReqVO.getName()); | 58 | + // 1.2 校验编码、名称唯一 |
| 59 | + validateProcessSaveData(updateReqVO); | ||
| 66 | 60 | ||
| 67 | // 2. 更新工序 | 61 | // 2. 更新工序 |
| 68 | MesProProcessDO updateObj = BeanUtils.toBean(updateReqVO, MesProProcessDO.class); | 62 | MesProProcessDO updateObj = BeanUtils.toBean(updateReqVO, MesProProcessDO.class); |
| @@ -118,6 +112,13 @@ public class MesProProcessServiceImpl implements MesProProcessService { | @@ -118,6 +112,13 @@ public class MesProProcessServiceImpl implements MesProProcessService { | ||
| 118 | } | 112 | } |
| 119 | } | 113 | } |
| 120 | 114 | ||
| 115 | + private void validateProcessSaveData(MesProProcessSaveReqVO saveReqVO) { | ||
| 116 | + // 1. 校验编码唯一 | ||
| 117 | + validateProcessCodeUnique(saveReqVO.getId(), saveReqVO.getCode()); | ||
| 118 | + // 2. 校验名称唯一 | ||
| 119 | + validateProcessNameUnique(saveReqVO.getId(), saveReqVO.getName()); | ||
| 120 | + } | ||
| 121 | + | ||
| 121 | @Override | 122 | @Override |
| 122 | public MesProProcessDO getProcess(Long id) { | 123 | public MesProProcessDO getProcess(Long id) { |
| 123 | return processMapper.selectById(id); | 124 | return processMapper.selectById(id); |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/task/MesProTaskIssueServiceImpl.java
| @@ -64,6 +64,7 @@ public class MesProTaskIssueServiceImpl implements MesProTaskIssueService { | @@ -64,6 +64,7 @@ public class MesProTaskIssueServiceImpl implements MesProTaskIssueService { | ||
| 64 | public void deleteTaskIssue(Long id) { | 64 | public void deleteTaskIssue(Long id) { |
| 65 | // 1. 校验存在 | 65 | // 1. 校验存在 |
| 66 | validateTaskIssueExists(id); | 66 | validateTaskIssueExists(id); |
| 67 | + | ||
| 67 | // 2. 删除 | 68 | // 2. 删除 |
| 68 | taskIssueMapper.deleteById(id); | 69 | taskIssueMapper.deleteById(id); |
| 69 | } | 70 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/defect/MesQcDefectServiceImpl.java
| @@ -33,10 +33,8 @@ public class MesQcDefectServiceImpl implements MesQcDefectService { | @@ -33,10 +33,8 @@ public class MesQcDefectServiceImpl implements MesQcDefectService { | ||
| 33 | 33 | ||
| 34 | @Override | 34 | @Override |
| 35 | public Long createDefect(MesQcDefectSaveReqVO createReqVO) { | 35 | public Long createDefect(MesQcDefectSaveReqVO createReqVO) { |
| 36 | - // 校验编码唯一 | ||
| 37 | - validateDefectCodeUnique(null, createReqVO.getCode()); | ||
| 38 | - // 校验名称唯一 | ||
| 39 | - validateDefectNameUnique(null, createReqVO.getName()); | 36 | + // 校验编码、名称唯一 |
| 37 | + validateDefectSaveData(null, createReqVO); | ||
| 40 | 38 | ||
| 41 | // 插入 | 39 | // 插入 |
| 42 | MesQcDefectDO defect = BeanUtils.toBean(createReqVO, MesQcDefectDO.class); | 40 | MesQcDefectDO defect = BeanUtils.toBean(createReqVO, MesQcDefectDO.class); |
| @@ -48,10 +46,8 @@ public class MesQcDefectServiceImpl implements MesQcDefectService { | @@ -48,10 +46,8 @@ public class MesQcDefectServiceImpl implements MesQcDefectService { | ||
| 48 | public void updateDefect(MesQcDefectSaveReqVO updateReqVO) { | 46 | public void updateDefect(MesQcDefectSaveReqVO updateReqVO) { |
| 49 | // 校验存在 | 47 | // 校验存在 |
| 50 | validateDefectExists(updateReqVO.getId()); | 48 | validateDefectExists(updateReqVO.getId()); |
| 51 | - // 校验编码唯一 | ||
| 52 | - validateDefectCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); | ||
| 53 | - // 校验名称唯一 | ||
| 54 | - validateDefectNameUnique(updateReqVO.getId(), updateReqVO.getName()); | 49 | + // 校验编码、名称唯一 |
| 50 | + validateDefectSaveData(updateReqVO.getId(), updateReqVO); | ||
| 55 | 51 | ||
| 56 | // 更新 | 52 | // 更新 |
| 57 | MesQcDefectDO updateObj = BeanUtils.toBean(updateReqVO, MesQcDefectDO.class); | 53 | MesQcDefectDO updateObj = BeanUtils.toBean(updateReqVO, MesQcDefectDO.class); |
| @@ -72,6 +68,11 @@ public class MesQcDefectServiceImpl implements MesQcDefectService { | @@ -72,6 +68,11 @@ public class MesQcDefectServiceImpl implements MesQcDefectService { | ||
| 72 | } | 68 | } |
| 73 | } | 69 | } |
| 74 | 70 | ||
| 71 | + private void validateDefectSaveData(Long id, MesQcDefectSaveReqVO reqVO) { | ||
| 72 | + validateDefectCodeUnique(id, reqVO.getCode()); | ||
| 73 | + validateDefectNameUnique(id, reqVO.getName()); | ||
| 74 | + } | ||
| 75 | + | ||
| 75 | private void validateDefectCodeUnique(Long id, String code) { | 76 | private void validateDefectCodeUnique(Long id, String code) { |
| 76 | MesQcDefectDO defect = defectMapper.selectByCode(code); | 77 | MesQcDefectDO defect = defectMapper.selectByCode(code); |
| 77 | if (defect == null) { | 78 | if (defect == null) { |