Commit 1cd997fc9f6f32e835ca310757761be5ff11495a

Authored by YunaiV
1 parent 04ef7484

♻️ refactor(service): 重构外协收据验证逻辑

合并外协收据的验证逻辑,简化代码结构,提高可读性和维护性。
将工单存在性验证方法更新为确认状态验证,确保数据一致性。
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 @@ -262,7 +262,7 @@ public class MesWmOutsourceIssueServiceImpl implements MesWmOutsourceIssueServic
262 vendorService.validateVendorExists(saveReqVO.getVendorId()); 262 vendorService.validateVendorExists(saveReqVO.getVendorId());
263 } 263 }
264 // 校验工单存在且类型为外协(代工) 264 // 校验工单存在且类型为外协(代工)
265 - MesProWorkOrderDO workOrder = workOrderService.validateWorkOrderExists(saveReqVO.getWorkOrderId()); 265 + MesProWorkOrderDO workOrder = workOrderService.validateWorkOrderConfirmed(saveReqVO.getWorkOrderId());
266 if (ObjUtil.notEqual(workOrder.getType(), MesProWorkOrderTypeEnum.OUTSOURCE.getType())) { 266 if (ObjUtil.notEqual(workOrder.getType(), MesProWorkOrderTypeEnum.OUTSOURCE.getType())) {
267 throw exception(WM_OUTSOURCE_ISSUE_WORK_ORDER_TYPE_INVALID); 267 throw exception(WM_OUTSOURCE_ISSUE_WORK_ORDER_TYPE_INVALID);
268 } 268 }
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 @@ -64,14 +64,8 @@ public class MesWmOutsourceReceiptServiceImpl implements MesWmOutsourceReceiptSe
64 64
65 @Override 65 @Override
66 public Long createOutsourceReceipt(MesWmOutsourceReceiptSaveReqVO createReqVO) { 66 public Long createOutsourceReceipt(MesWmOutsourceReceiptSaveReqVO createReqVO) {
67 - // 校验编码唯一  
68 - validateCodeUnique(null, createReqVO.getCode());  
69 - // 校验供应商存在  
70 - vendorService.validateVendorExists(createReqVO.getVendorId());  
71 - // 校验外协工单存在  
72 - if (createReqVO.getWorkOrderId() != null) {  
73 - workOrderService.validateWorkOrderExists(createReqVO.getWorkOrderId());  
74 - } 67 + // 校验数据
  68 + validateOutsourceReceiptSaveData(null, createReqVO);
75 69
76 // 插入 70 // 插入
77 MesWmOutsourceReceiptDO receipt = BeanUtils.toBean(createReqVO, MesWmOutsourceReceiptDO.class); 71 MesWmOutsourceReceiptDO receipt = BeanUtils.toBean(createReqVO, MesWmOutsourceReceiptDO.class);
@@ -84,14 +78,8 @@ public class MesWmOutsourceReceiptServiceImpl implements MesWmOutsourceReceiptSe @@ -84,14 +78,8 @@ public class MesWmOutsourceReceiptServiceImpl implements MesWmOutsourceReceiptSe
84 public void updateOutsourceReceipt(MesWmOutsourceReceiptSaveReqVO updateReqVO) { 78 public void updateOutsourceReceipt(MesWmOutsourceReceiptSaveReqVO updateReqVO) {
85 // 校验存在 + 草稿状态 79 // 校验存在 + 草稿状态
86 validateOutsourceReceiptExistsAndDraft(updateReqVO.getId()); 80 validateOutsourceReceiptExistsAndDraft(updateReqVO.getId());
87 - // 校验编码唯一  
88 - validateCodeUnique(updateReqVO.getId(), updateReqVO.getCode());  
89 - // 校验供应商存在  
90 - vendorService.validateVendorExists(updateReqVO.getVendorId());  
91 - // 校验外协工单存在  
92 - if (updateReqVO.getWorkOrderId() != null) {  
93 - workOrderService.validateWorkOrderExists(updateReqVO.getWorkOrderId());  
94 - } 81 + // 校验数据
  82 + validateOutsourceReceiptSaveData(updateReqVO.getId(), updateReqVO);
95 83
96 // 更新 84 // 更新
97 MesWmOutsourceReceiptDO updateObj = BeanUtils.toBean(updateReqVO, MesWmOutsourceReceiptDO.class); 85 MesWmOutsourceReceiptDO updateObj = BeanUtils.toBean(updateReqVO, MesWmOutsourceReceiptDO.class);
@@ -317,6 +305,17 @@ public class MesWmOutsourceReceiptServiceImpl implements MesWmOutsourceReceiptSe @@ -317,6 +305,17 @@ public class MesWmOutsourceReceiptServiceImpl implements MesWmOutsourceReceiptSe
317 return receipt; 305 return receipt;
318 } 306 }
319 307
  308 + private void validateOutsourceReceiptSaveData(Long id, MesWmOutsourceReceiptSaveReqVO reqVO) {
  309 + // 校验编码唯一
  310 + validateCodeUnique(id, reqVO.getCode());
  311 + // 校验供应商存在
  312 + vendorService.validateVendorExists(reqVO.getVendorId());
  313 + // 校验外协工单存在
  314 + if (reqVO.getWorkOrderId() != null) {
  315 + workOrderService.validateWorkOrderConfirmed(reqVO.getWorkOrderId());
  316 + }
  317 + }
  318 +
320 private void validateCodeUnique(Long id, String code) { 319 private void validateCodeUnique(Long id, String code) {
321 MesWmOutsourceReceiptDO receipt = outsourceReceiptMapper.selectByCode(code); 320 MesWmOutsourceReceiptDO receipt = outsourceReceiptMapper.selectByCode(code);
322 if (receipt == null) { 321 if (receipt == null) {
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 @@ -267,7 +267,7 @@ public class MesWmProductReceiptServiceImpl implements MesWmProductReceiptServic
267 validateCodeUnique(reqVO.getId(), reqVO.getCode()); 267 validateCodeUnique(reqVO.getId(), reqVO.getCode());
268 // 校验工单存在 268 // 校验工单存在
269 return reqVO.getWorkOrderId() != null ? 269 return reqVO.getWorkOrderId() != null ?
270 - workOrderService.validateWorkOrderExists(reqVO.getWorkOrderId()) : null; 270 + workOrderService.validateWorkOrderConfirmed(reqVO.getWorkOrderId()) : null;
271 } 271 }
272 272
273 private void validateCodeUnique(Long id, String code) { 273 private void validateCodeUnique(Long id, String code) {