diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java index 2ce19340d..7660b92f8 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java @@ -108,8 +108,8 @@ public class OrderController { @PutMapping("/restore") @Operation(summary = "还原") @Parameter(name = "orderId", description = "生产单id", required = true, example = "1") - @PreAuthorize("@ss.hasPermission('executor:order:restore')") - public CommonResult restoreOrder(@Valid @RequestBody Long orderId) { + @PreAuthorize("@ss.hasPermission('executor:order:update')") + public CommonResult restoreOrder(@RequestParam("orderId") Long orderId) { orderService.restoreOrder(orderId); return success(true); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java index 44bce53f6..50aaf4492 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java @@ -56,7 +56,7 @@ public interface OrderService { * * @param orderId 编号组 */ - void restoreOrder(@Valid Long orderId); + void restoreOrder(Long orderId); /** * 获得生产单表 order_{N} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java index a0143389b..bf92232a0 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java @@ -141,8 +141,7 @@ public class OrderServiceImpl implements OrderService { validatePhoneNumber(createReqVO.getPhoneNumber()); //验证自定义单号是否存在,业务员、拆单员是否存在 - validateOrderImportForCreateOrUpdate(createReqVO.getCustomOrderNo(), createReqVO.getSalesman(), createReqVO.getSplitter()); - + validateCustomOrderNoExists(createReqVO.getCustomOrderNo()); LocalDateTime time = getAfterDate(createReqVO.getDeliveryDate()); createReqVO.setDeliveryDate(time); // 插入 @@ -161,8 +160,7 @@ public class OrderServiceImpl implements OrderService { validatePhoneNumber(updateReqVO.getPhoneNumber()); //验证自定义单号是否存在,业务员、拆单员是否存在 - validateOrderImportForCreateOrUpdate(updateReqVO.getCustomOrderNo(), updateReqVO.getSalesman(), updateReqVO.getSplitter()); - + validateCustomOrderNoExists(updateReqVO.getCustomOrderNo(), updateReqVO.getId()); // 更新 OrderDO updateObj = BeanUtils.toBean(updateReqVO, OrderDO.class); orderMapper.updateById(updateObj); @@ -421,6 +419,20 @@ public class OrderServiceImpl implements OrderService { } // 验证自定义单号是否存在 + private void validateCustomOrderNoExists(String customOrderNo, Long orderId) { + if (customOrderNo != null) { + if (!customOrderNo.isEmpty()) { + if (orderMapper.selectCount(new LambdaQueryWrapper() + .ne(OrderDO::getId, orderId) + .eq(OrderDO::getCustomOrderNo, customOrderNo) + .eq(OrderDO::getDeleted, false) + .eq(OrderDO::getOrganId, OrganContextHolder.getOrganId())) > 0) { + throw exception(CUSTOM_ORDER_EXISTS); + } + } + } + } + private void validateCustomOrderNoExists(String customOrderNo) { if (customOrderNo != null) { if (!customOrderNo.isEmpty()) { @@ -467,11 +479,11 @@ public class OrderServiceImpl implements OrderService { } } - private void validateOrderImportForCreateOrUpdate(String customOrderNo, String salesman, String splitter) { + private void validateOrderImportForCreateOrUpdate(String customOrderNo, String salesman, String splitter, Long orderId) { // 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确 Long organId = SecurityFrameworkUtils.getLoginUser().getOrganId(); DataPermissionUtils.executeIgnore(() -> { - validateCustomOrderNoExists(customOrderNo); + validateCustomOrderNoExists(customOrderNo, orderId); validateSalesmanOrderNoExists(salesman, organId); validateSplitterOrderNoExists(splitter, organId); }); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml index b45980fb8..e711ed14b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml @@ -6,7 +6,7 @@