From 3cb4adf50678d060f0570845398a8242d8accfec Mon Sep 17 00:00:00 2001 From: YunaiV Date: Wed, 8 Apr 2026 23:45:19 +0800 Subject: [PATCH] ✨ feat(mes): 新增设备和点检项目启用状态校验 --- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java | 3 +++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkplan/MesDvCheckPlanMachineryServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkplan/MesDvCheckPlanSubjectServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkrecord/MesDvCheckRecordServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryService.java | 7 +++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryServiceImpl.java | 12 ++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/maintenrecord/MesDvMaintenRecordLineServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/maintenrecord/MesDvMaintenRecordServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairLineServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/subject/MesDvSubjectService.java | 7 +++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/subject/MesDvSubjectServiceImpl.java | 12 ++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdProductSipServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdProductSopServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationMachineServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/andon/MesProAndonRecordServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/card/MesProCardProcessServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessService.java | 7 +++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java | 13 +++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/task/MesProTaskServiceImpl.java | 4 ++-- 21 files changed, 76 insertions(+), 15 deletions(-) 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 index 233b21d..a0881d9 100644 --- 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 @@ -158,6 +158,7 @@ public interface ErrorCodeConstants { // ========== MES 设备管理-设备台账(1-040-301-000) ========== ErrorCode DV_MACHINERY_NOT_EXISTS = new ErrorCode(1_040_301_000, "设备不存在"); ErrorCode DV_MACHINERY_CODE_DUPLICATE = new ErrorCode(1_040_301_001, "设备编码已存在"); + ErrorCode DV_MACHINERY_IS_DISABLE = new ErrorCode(1_040_301_007, "设备已禁用"); ErrorCode DV_MACHINERY_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_301_002, "导入设备数据不能为空"); ErrorCode DV_MACHINERY_HAS_CHECK_PLAN = new ErrorCode(1_040_301_003, "设备已关联点检计划,无法删除"); ErrorCode DV_MACHINERY_HAS_CHECK_RECORD = new ErrorCode(1_040_301_004, "设备已关联点检记录,无法删除"); @@ -168,6 +169,7 @@ public interface ErrorCodeConstants { ErrorCode DV_SUBJECT_NOT_EXISTS = new ErrorCode(1_040_304_000, "点检保养项目不存在"); ErrorCode DV_SUBJECT_CODE_DUPLICATE = new ErrorCode(1_040_304_001, "项目编码已存在"); ErrorCode DV_SUBJECT_USED_BY_CHECK_PLAN = new ErrorCode(1_040_304_002, "点检保养项目已被点检保养方案使用,无法删除"); + ErrorCode DV_SUBJECT_IS_DISABLE = new ErrorCode(1_040_304_003, "点检保养项目已禁用"); // ========== MES 设备管理-点检计划(1-040-302-000) ========== ErrorCode DV_CHECK_PLAN_NOT_EXISTS = new ErrorCode(1_040_302_000, "点检计划不存在"); @@ -224,6 +226,7 @@ public interface ErrorCodeConstants { ErrorCode PRO_PROCESS_CODE_EXISTS = new ErrorCode(1_040_500_001, "工序编码已存在"); ErrorCode PRO_PROCESS_NAME_EXISTS = new ErrorCode(1_040_500_002, "工序名称已存在"); ErrorCode PRO_PROCESS_USED_BY_ROUTE = new ErrorCode(1_040_500_003, "工序已被工艺路线引用,无法删除"); + ErrorCode PRO_PROCESS_IS_DISABLE = new ErrorCode(1_040_500_004, "工序已禁用"); // ========== MES 生产管理-工序内容(1-040-500-100) ========== ErrorCode PRO_PROCESS_CONTENT_NOT_EXISTS = new ErrorCode(1_040_500_100, "工序内容不存在"); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkplan/MesDvCheckPlanMachineryServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkplan/MesDvCheckPlanMachineryServiceImpl.java index ca112e1..26eef1e 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkplan/MesDvCheckPlanMachineryServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkplan/MesDvCheckPlanMachineryServiceImpl.java @@ -42,7 +42,7 @@ public class MesDvCheckPlanMachineryServiceImpl implements MesDvCheckPlanMachine // 1.1 校验方案草稿状态 MesDvCheckPlanDO currentPlan = checkPlanService.validateCheckPlanPrepare(createReqVO.getPlanId()); // 1.2 校验设备存在 - machineryService.validateMachineryExists(createReqVO.getMachineryId()); + machineryService.validateMachineryExistsAndEnable(createReqVO.getMachineryId()); // 1.3 校验同一方案下设备不重复 if (checkPlanMachineryMapper.selectByPlanIdAndMachineryId(createReqVO.getPlanId(), createReqVO.getMachineryId()) != null) { throw exception(DV_CHECK_PLAN_MACHINERY_DUPLICATE); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkplan/MesDvCheckPlanSubjectServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkplan/MesDvCheckPlanSubjectServiceImpl.java index e0aa10a..1487286 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkplan/MesDvCheckPlanSubjectServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkplan/MesDvCheckPlanSubjectServiceImpl.java @@ -37,7 +37,7 @@ public class MesDvCheckPlanSubjectServiceImpl implements MesDvCheckPlanSubjectSe // 1.1 校验方案草稿状态 checkPlanService.validateCheckPlanPrepare(createReqVO.getPlanId()); // 1.2 校验项目存在 - subjectService.validateSubjectExists(createReqVO.getSubjectId()); + subjectService.validateSubjectExistsAndEnable(createReqVO.getSubjectId()); // 1.3 校验同一方案下项目不重复 if (checkPlanSubjectMapper.selectByPlanIdAndSubjectId(createReqVO.getPlanId(), createReqVO.getSubjectId()) != null) { throw exception(DV_CHECK_PLAN_SUBJECT_DUPLICATE); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkrecord/MesDvCheckRecordServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkrecord/MesDvCheckRecordServiceImpl.java index 268ccf3..7a238e1 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkrecord/MesDvCheckRecordServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkrecord/MesDvCheckRecordServiceImpl.java @@ -161,7 +161,7 @@ public class MesDvCheckRecordServiceImpl implements MesDvCheckRecordService { private void validateCheckRecordSave(MesDvCheckRecordSaveReqVO reqVO) { // 校验设备是否存在 - machineryService.validateMachineryExists(reqVO.getMachineryId()); + machineryService.validateMachineryExistsAndEnable(reqVO.getMachineryId()); // 校验点检计划是否存在 if (reqVO.getPlanId() != null) { checkPlanService.validateCheckPlanExistsAndType(reqVO.getPlanId(), MesDvCheckPlanTypeEnum.CHECK.getType()); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryService.java index cc4dac3..a7b21c0 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryService.java @@ -75,6 +75,13 @@ public interface MesDvMachineryService { void validateMachineryExists(Long id); /** + * 校验设备存在且启用 + * + * @param id 编号 + */ + void validateMachineryExistsAndEnable(Long id); + + /** * 获得设备列表 * * @return 设备列表 diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryServiceImpl.java index 9da51df..1f89214 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryServiceImpl.java @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.mes.service.dv.machinery; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.dv.machinery.vo.MesDvMachineryImportExcelVO; @@ -136,6 +137,17 @@ public class MesDvMachineryServiceImpl implements MesDvMachineryService { } } + @Override + public void validateMachineryExistsAndEnable(Long id) { + MesDvMachineryDO machinery = machineryMapper.selectById(id); + if (machinery == null) { + throw exception(DV_MACHINERY_NOT_EXISTS); + } + if (ObjUtil.notEqual(CommonStatusEnum.ENABLE.getStatus(), machinery.getStatus())) { + throw exception(DV_MACHINERY_IS_DISABLE); + } + } + private void validateMachineryCodeUnique(Long id, String code) { if (code == null) { return; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/maintenrecord/MesDvMaintenRecordLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/maintenrecord/MesDvMaintenRecordLineServiceImpl.java index 01bb05e..618fe64 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/maintenrecord/MesDvMaintenRecordLineServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/maintenrecord/MesDvMaintenRecordLineServiceImpl.java @@ -73,7 +73,7 @@ public class MesDvMaintenRecordLineServiceImpl implements MesDvMaintenRecordLine // 校验保养记录为草稿状态 maintenRecordService.validateMaintenRecordDraft(reqVO.getRecordId()); // 校验保养项目是否存在 - subjectService.validateSubjectExists(reqVO.getSubjectId()); + subjectService.validateSubjectExistsAndEnable(reqVO.getSubjectId()); } private MesDvMaintenRecordLineDO validateMaintenRecordLineExists(Long id) { diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/maintenrecord/MesDvMaintenRecordServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/maintenrecord/MesDvMaintenRecordServiceImpl.java index 13f55e0..c589fdc 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/maintenrecord/MesDvMaintenRecordServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/maintenrecord/MesDvMaintenRecordServiceImpl.java @@ -98,7 +98,7 @@ public class MesDvMaintenRecordServiceImpl implements MesDvMaintenRecordService private void validateMaintenRecordRelation(MesDvMaintenRecordSaveReqVO reqVO) { // 校验设备是否存在 - machineryService.validateMachineryExists(reqVO.getMachineryId()); + machineryService.validateMachineryExistsAndEnable(reqVO.getMachineryId()); // 校验保养计划是否存在 if (reqVO.getPlanId() != null) { checkPlanService.validateCheckPlanExistsAndType(reqVO.getPlanId(), MesDvCheckPlanTypeEnum.MAINTENANCE.getType()); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairLineServiceImpl.java index 09ee904..abd31fd 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairLineServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairLineServiceImpl.java @@ -79,7 +79,7 @@ public class MesDvRepairLineServiceImpl implements MesDvRepairLineService { repairService.validateRepairExists(reqVO.getRepairId()); // 校验点检保养项目是否存在(可选) if (reqVO.getSubjectId() != null) { - subjectService.validateSubjectExists(reqVO.getSubjectId()); + subjectService.validateSubjectExistsAndEnable(reqVO.getSubjectId()); } } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairServiceImpl.java index ea4d90a..41640bc 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairServiceImpl.java @@ -79,7 +79,7 @@ public class MesDvRepairServiceImpl implements MesDvRepairService { // 校验编码唯一 validateCodeUnique(reqVO.getId(), reqVO.getCode()); // 校验设备存在 - machineryService.validateMachineryExists(reqVO.getMachineryId()); + machineryService.validateMachineryExistsAndEnable(reqVO.getMachineryId()); } private void validateCodeUnique(Long id, String code) { diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/subject/MesDvSubjectService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/subject/MesDvSubjectService.java index c2c613e..adcf15b 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/subject/MesDvSubjectService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/subject/MesDvSubjectService.java @@ -65,6 +65,13 @@ public interface MesDvSubjectService { void validateSubjectExists(Long id); /** + * 校验点检保养项目存在且启用 + * + * @param id 编号 + */ + void validateSubjectExistsAndEnable(Long id); + + /** * 获得点检保养项目列表 * * @return 项目列表 diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/subject/MesDvSubjectServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/subject/MesDvSubjectServiceImpl.java index d47fb07..f69adf4 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/subject/MesDvSubjectServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/subject/MesDvSubjectServiceImpl.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.mes.service.dv.subject; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjUtil; +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.dv.subject.vo.MesDvSubjectPageReqVO; @@ -80,6 +81,17 @@ public class MesDvSubjectServiceImpl implements MesDvSubjectService { } } + @Override + public void validateSubjectExistsAndEnable(Long id) { + MesDvSubjectDO subject = subjectMapper.selectById(id); + if (subject == null) { + throw exception(DV_SUBJECT_NOT_EXISTS); + } + if (ObjUtil.notEqual(CommonStatusEnum.ENABLE.getStatus(), subject.getStatus())) { + throw exception(DV_SUBJECT_IS_DISABLE); + } + } + private void validateSubjectCodeUnique(Long id, String code) { if (code == null) { return; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdProductSipServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdProductSipServiceImpl.java index f6963e3..6cea0fb 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdProductSipServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdProductSipServiceImpl.java @@ -59,7 +59,7 @@ public class MesMdProductSipServiceImpl implements MesMdProductSipService { validateSortUnique(reqVO.getItemId(), reqVO.getSort(), excludeId); // 校验工序存在 if (reqVO.getProcessId() != null) { - processService.validateProcessExists(reqVO.getProcessId()); + processService.validateProcessExistsAndEnable(reqVO.getProcessId()); } } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdProductSopServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdProductSopServiceImpl.java index 3bbd330..e957a7c 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdProductSopServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdProductSopServiceImpl.java @@ -59,7 +59,7 @@ public class MesMdProductSopServiceImpl implements MesMdProductSopService { validateSortUnique(reqVO.getItemId(), reqVO.getSort(), excludeId); // 校验工序存在 if (reqVO.getProcessId() != null) { - processService.validateProcessExists(reqVO.getProcessId()); + processService.validateProcessExistsAndEnable(reqVO.getProcessId()); } } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationMachineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationMachineServiceImpl.java index 9ac239f..e5cf60a 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationMachineServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationMachineServiceImpl.java @@ -47,7 +47,7 @@ public class MesMdWorkstationMachineServiceImpl implements MesMdWorkstationMachi private void validateWorkstationMachineSaveData(MesMdWorkstationMachineSaveReqVO reqVO) { // 校验设备是否存在 - machineryService.validateMachineryExists(reqVO.getMachineryId()); + machineryService.validateMachineryExistsAndEnable(reqVO.getMachineryId()); // 校验该设备是否已分配到其他工作站(一台设备只能分配到一个工作站) MesMdWorkstationMachineDO existing = workstationMachineMapper.selectByMachineryId(reqVO.getMachineryId()); if (existing != null) { diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java index 1317ef6..06e7e0a 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java @@ -98,7 +98,7 @@ public class MesMdWorkstationServiceImpl implements MesMdWorkstationService { // 校验车间存在 validateWorkshopExists(reqVO.getWorkshopId()); // 校验工序存在 - processService.validateProcessExists(reqVO.getProcessId()); + processService.validateProcessExistsAndEnable(reqVO.getProcessId()); // 处理仓库层级(未指定仓库时自动设置虚拟线边库) handleWarehouseHierarchy(reqVO); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/andon/MesProAndonRecordServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/andon/MesProAndonRecordServiceImpl.java index d30cd2c..535ed0f 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/andon/MesProAndonRecordServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/andon/MesProAndonRecordServiceImpl.java @@ -53,7 +53,7 @@ public class MesProAndonRecordServiceImpl implements MesProAndonRecordService { workOrderService.validateWorkOrderConfirmed(createReqVO.getWorkOrderId()); } if (createReqVO.getProcessId() != null) { - processService.validateProcessExists(createReqVO.getProcessId()); + processService.validateProcessExistsAndEnable(createReqVO.getProcessId()); } // 2. 插入记录 diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/card/MesProCardProcessServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/card/MesProCardProcessServiceImpl.java index 5803bfd..394b013 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/card/MesProCardProcessServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/card/MesProCardProcessServiceImpl.java @@ -89,7 +89,7 @@ public class MesProCardProcessServiceImpl implements MesProCardProcessService { cardService.validateCardExists(reqVO.getCardId()); // 校验工序存在 if (reqVO.getProcessId() != null) { - processService.validateProcessExists(reqVO.getProcessId()); + processService.validateProcessExistsAndEnable(reqVO.getProcessId()); } } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessService.java index 7d7c9b3..74a9353 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessService.java @@ -82,6 +82,13 @@ public interface MesProProcessService { void validateProcessExists(Long id); /** + * 校验工序存在且启用 + * + * @param id 编号 + */ + void validateProcessExistsAndEnable(Long id); + + /** * 获得工序 Map * * @param ids 编号列表 diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java index 838d4b4..2b37dd3 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.mes.service.pro.process; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjUtil; +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessPageReqVO; @@ -86,6 +88,17 @@ public class MesProProcessServiceImpl implements MesProProcessService { } } + @Override + public void validateProcessExistsAndEnable(Long id) { + MesProProcessDO process = processMapper.selectById(id); + if (process == null) { + throw exception(PRO_PROCESS_NOT_EXISTS); + } + if (ObjUtil.notEqual(CommonStatusEnum.ENABLE.getStatus(), process.getStatus())) { + throw exception(PRO_PROCESS_IS_DISABLE); + } + } + private void validateProcessCodeUnique(Long id, String code) { MesProProcessDO process = processMapper.selectByCode(code); if (process == null) { diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/task/MesProTaskServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/task/MesProTaskServiceImpl.java index 8b63ff8..4052b07 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/task/MesProTaskServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/task/MesProTaskServiceImpl.java @@ -69,7 +69,7 @@ public class MesProTaskServiceImpl implements MesProTaskService { MesProWorkOrderDO workOrder = workOrderService.validateWorkOrderExists(createReqVO.getWorkOrderId()); workstationService.validateWorkstationExists(createReqVO.getWorkstationId()); routeService.validateRouteExists(createReqVO.getRouteId()); - processService.validateProcessExists(createReqVO.getProcessId()); + processService.validateProcessExistsAndEnable(createReqVO.getProcessId()); MesMdItemDO item = itemService.validateItemExists(createReqVO.getItemId()); // 2.1 构建任务 DO:自动填充客户信息 @@ -100,7 +100,7 @@ public class MesProTaskServiceImpl implements MesProTaskService { routeService.validateRouteExists(updateReqVO.getRouteId()); } if (updateReqVO.getProcessId() != null) { - processService.validateProcessExists(updateReqVO.getProcessId()); + processService.validateProcessExistsAndEnable(updateReqVO.getProcessId()); } MesMdItemDO item; if (updateReqVO.getItemId() != null) { -- libgit2 0.21.4