From 1cd997fc9f6f32e835ca310757761be5ff11495a Mon Sep 17 00:00:00 2001 From: YunaiV Date: Wed, 8 Apr 2026 01:27:17 +0800 Subject: [PATCH] ♻️ refactor(service): 重构外协收据验证逻辑 --- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourceissue/MesWmOutsourceIssueServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourcereceipt/MesWmOutsourceReceiptServiceImpl.java | 31 +++++++++++++++---------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java | 2 +- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourceissue/MesWmOutsourceIssueServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourceissue/MesWmOutsourceIssueServiceImpl.java index 5b53c2b..928b630 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourceissue/MesWmOutsourceIssueServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourceissue/MesWmOutsourceIssueServiceImpl.java @@ -262,7 +262,7 @@ public class MesWmOutsourceIssueServiceImpl implements MesWmOutsourceIssueServic vendorService.validateVendorExists(saveReqVO.getVendorId()); } // 校验工单存在且类型为外协(代工) - MesProWorkOrderDO workOrder = workOrderService.validateWorkOrderExists(saveReqVO.getWorkOrderId()); + MesProWorkOrderDO workOrder = workOrderService.validateWorkOrderConfirmed(saveReqVO.getWorkOrderId()); if (ObjUtil.notEqual(workOrder.getType(), MesProWorkOrderTypeEnum.OUTSOURCE.getType())) { throw exception(WM_OUTSOURCE_ISSUE_WORK_ORDER_TYPE_INVALID); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourcereceipt/MesWmOutsourceReceiptServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourcereceipt/MesWmOutsourceReceiptServiceImpl.java index c67b0d8..5498a39 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourcereceipt/MesWmOutsourceReceiptServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourcereceipt/MesWmOutsourceReceiptServiceImpl.java @@ -64,14 +64,8 @@ public class MesWmOutsourceReceiptServiceImpl implements MesWmOutsourceReceiptSe @Override public Long createOutsourceReceipt(MesWmOutsourceReceiptSaveReqVO createReqVO) { - // 校验编码唯一 - validateCodeUnique(null, createReqVO.getCode()); - // 校验供应商存在 - vendorService.validateVendorExists(createReqVO.getVendorId()); - // 校验外协工单存在 - if (createReqVO.getWorkOrderId() != null) { - workOrderService.validateWorkOrderExists(createReqVO.getWorkOrderId()); - } + // 校验数据 + validateOutsourceReceiptSaveData(null, createReqVO); // 插入 MesWmOutsourceReceiptDO receipt = BeanUtils.toBean(createReqVO, MesWmOutsourceReceiptDO.class); @@ -84,14 +78,8 @@ public class MesWmOutsourceReceiptServiceImpl implements MesWmOutsourceReceiptSe public void updateOutsourceReceipt(MesWmOutsourceReceiptSaveReqVO updateReqVO) { // 校验存在 + 草稿状态 validateOutsourceReceiptExistsAndDraft(updateReqVO.getId()); - // 校验编码唯一 - validateCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); - // 校验供应商存在 - vendorService.validateVendorExists(updateReqVO.getVendorId()); - // 校验外协工单存在 - if (updateReqVO.getWorkOrderId() != null) { - workOrderService.validateWorkOrderExists(updateReqVO.getWorkOrderId()); - } + // 校验数据 + validateOutsourceReceiptSaveData(updateReqVO.getId(), updateReqVO); // 更新 MesWmOutsourceReceiptDO updateObj = BeanUtils.toBean(updateReqVO, MesWmOutsourceReceiptDO.class); @@ -317,6 +305,17 @@ public class MesWmOutsourceReceiptServiceImpl implements MesWmOutsourceReceiptSe return receipt; } + private void validateOutsourceReceiptSaveData(Long id, MesWmOutsourceReceiptSaveReqVO reqVO) { + // 校验编码唯一 + validateCodeUnique(id, reqVO.getCode()); + // 校验供应商存在 + vendorService.validateVendorExists(reqVO.getVendorId()); + // 校验外协工单存在 + if (reqVO.getWorkOrderId() != null) { + workOrderService.validateWorkOrderConfirmed(reqVO.getWorkOrderId()); + } + } + private void validateCodeUnique(Long id, String code) { MesWmOutsourceReceiptDO receipt = outsourceReceiptMapper.selectByCode(code); if (receipt == null) { diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java index 7e9689c..b5ac2d8 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java @@ -267,7 +267,7 @@ public class MesWmProductReceiptServiceImpl implements MesWmProductReceiptServic validateCodeUnique(reqVO.getId(), reqVO.getCode()); // 校验工单存在 return reqVO.getWorkOrderId() != null ? - workOrderService.validateWorkOrderExists(reqVO.getWorkOrderId()) : null; + workOrderService.validateWorkOrderConfirmed(reqVO.getWorkOrderId()) : null; } private void validateCodeUnique(Long id, String code) { -- libgit2 0.21.4