diff --git a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java index 693b4696..1079092c 100644 --- a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java +++ b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java @@ -430,6 +430,7 @@ public interface ErrorCodeConstants { ErrorCode PURCHASERECEIPT_REQUEST_CANNOT_AGREE = new ErrorCode(1_000_073_007, "采购收货状态不支持审批同意"); ErrorCode PURCHASERECEIPT_REQUEST_CANNOT_HANDLE = new ErrorCode(1_000_073_008, "采购收货状态不支持处理"); ErrorCode PURCHASERECEIPT_REQUEST_CANNOT_ABORT = new ErrorCode(1_000_073_009, "采购收货状态不支持审批拒绝"); + ErrorCode PURCHASERECEIPT_REQUEST_CANNOT_RE_ADD = new ErrorCode(1_000_073_010, "采购收货状态不支持重新添加"); //采购收货任务子ErrorCode ErrorCode PURCHASERECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_074_000, "采购收货记录主不存在"); ErrorCode PURCHASERECEIPT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_074_001, "采购收货记录子不存在"); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestMainController.java index 7b484be4..0110fc60 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestMainController.java @@ -218,6 +218,15 @@ public class PurchasereceiptRequestMainController { return success(count > 0); } + @PutMapping("/reAdd") + @Operation(summary = "重新添加采购收货申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:reAdd')") + public CommonResult openPurchasereceiptRequestMain(@RequestParam("id") Long id) { + Integer count = purchasereceiptRequestMainService.reAddPurchasereceiptRequestMain(id); + return success(count > 0); + } + @PutMapping("/submit") @Operation(summary = "提交采购收货申请主") @Parameter(name = "id", description = "编号", required = true) @@ -237,7 +246,7 @@ public class PurchasereceiptRequestMainController { } @PutMapping("/handle") - @Operation(summary = "执行采购收货申请主") + @Operation(summary = "处理采购收货申请主") @Parameter(name = "id", description = "编号", required = true) @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:handle')") public CommonResult handlePurchasereceiptRequestMain(@RequestParam("id") Long id) { @@ -245,12 +254,12 @@ public class PurchasereceiptRequestMainController { return success(count > 0); } - @PutMapping("/abort") + @PutMapping("/refused") @Operation(summary = "审批拒绝采购收货申请主") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:abort')") + @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:refused')") public CommonResult abortPurchasereceiptRequestMain(@RequestParam("id") Long id) { - Integer count = purchasereceiptRequestMainService.abortPurchasereceiptRequestMain(id); + Integer count = purchasereceiptRequestMainService.refusedPurchasereceiptRequestMain(id); return success(count > 0); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java index f2a67061..8e1c5b5a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java @@ -131,6 +131,19 @@ public class RequestStatusState { } } + /** + * 重新添加 + * @return + */ + public boolean reAdd() { + if(this.requestStatusEnum.getCode().equals(RequestStatusEnum.CLOSED.getCode())) { + this.requestStatusEnum = RequestStatusEnum.NEW; + return Boolean.TRUE; + } else { + return Boolean.FALSE; + } + } + /** * 获取可执行的状态机 * @return diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java index 0eec2330..578d3e8d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java @@ -103,6 +103,14 @@ public interface PurchasereceiptRequestMainService { */ Integer closePurchasereceiptRequestMain(Long id); + /** + * 重新添加采购收货申请主 + * + * @param id 采购收货申请主ID + * @return 更新数量 + */ + Integer reAddPurchasereceiptRequestMain(Long id); + /** * 提交采购收货申请主 * @@ -131,6 +139,6 @@ public interface PurchasereceiptRequestMainService { * @param id 采购收货申请主ID * @return 更新数量 */ - Integer abortPurchasereceiptRequestMain(Long id); + Integer refusedPurchasereceiptRequestMain(Long id); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java index 36cadf76..9245937c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java @@ -318,6 +318,25 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq return purchasereceiptRequestMainMapper.updateById(mainDO); } + @Override + @Transactional + public Integer reAddPurchasereceiptRequestMain(Long id) { + // 校验存在存在下级单据 + PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id); + Long count = purchasereceiptJobMainMapper.selectByRequestNumber(mainDO.getNumber()); + if(count > 0) { + throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS); + } + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.reAdd(); + if(!flag) { + throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_RE_ADD); + } + mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录 + trendsApi.createTrends(id, "purchasereceiptRequest", "打开了采购收货申请", TrendsTypeEnum.UPDATE); + return purchasereceiptRequestMainMapper.updateById(mainDO); + } + @Override @Transactional public Integer submitPurchasereceiptRequestMain(Long id) { @@ -374,7 +393,7 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq @Override @Transactional - public Integer abortPurchasereceiptRequestMain(Long id) { + public Integer refusedPurchasereceiptRequestMain(Long id) { // 校验存在 PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id); RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); @@ -489,6 +508,7 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq List subList = new ArrayList<>(); if(i % count == 0) { purchasereceiptJobMainCreateReqVO = PurchasereceiptJobMainConvert.INSTANCE.convert(mainDO); + purchasereceiptJobMainCreateReqVO.setRequestNumber(mainDO.getNumber()); subList = new ArrayList<>(); purchasereceiptJobMainCreateReqVO.setSubList(subList); purchasereceiptJobMainCreateReqVOList.add(purchasereceiptJobMainCreateReqVO);