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 262 vendorService.validateVendorExists(saveReqVO.getVendorId());
263 263 }
264 264 // 校验工单存在且类型为外协(代工)
265   - MesProWorkOrderDO workOrder = workOrderService.validateWorkOrderExists(saveReqVO.getWorkOrderId());
  265 + MesProWorkOrderDO workOrder = workOrderService.validateWorkOrderConfirmed(saveReqVO.getWorkOrderId());
266 266 if (ObjUtil.notEqual(workOrder.getType(), MesProWorkOrderTypeEnum.OUTSOURCE.getType())) {
267 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 64  
65 65 @Override
66 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 71 MesWmOutsourceReceiptDO receipt = BeanUtils.toBean(createReqVO, MesWmOutsourceReceiptDO.class);
... ... @@ -84,14 +78,8 @@ public class MesWmOutsourceReceiptServiceImpl implements MesWmOutsourceReceiptSe
84 78 public void updateOutsourceReceipt(MesWmOutsourceReceiptSaveReqVO updateReqVO) {
85 79 // 校验存在 + 草稿状态
86 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 85 MesWmOutsourceReceiptDO updateObj = BeanUtils.toBean(updateReqVO, MesWmOutsourceReceiptDO.class);
... ... @@ -317,6 +305,17 @@ public class MesWmOutsourceReceiptServiceImpl implements MesWmOutsourceReceiptSe
317 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 319 private void validateCodeUnique(Long id, String code) {
321 320 MesWmOutsourceReceiptDO receipt = outsourceReceiptMapper.selectByCode(code);
322 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 267 validateCodeUnique(reqVO.getId(), reqVO.getCode());
268 268 // 校验工单存在
269 269 return reqVO.getWorkOrderId() != null ?
270   - workOrderService.validateWorkOrderExists(reqVO.getWorkOrderId()) : null;
  270 + workOrderService.validateWorkOrderConfirmed(reqVO.getWorkOrderId()) : null;
271 271 }
272 272  
273 273 private void validateCodeUnique(Long id, String code) {
... ...