From bcd9cb83cbbb36217cb99ced7bf1fa3cb26bd53c Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 28 四月 2025 16:59:51 +0800 Subject: [PATCH] #wms端生成任务优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java | 26 ++++++++++++++++++++++---- 1 files changed, 22 insertions(+), 4 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java index 0c29bfe..ceea18d 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java @@ -10,9 +10,12 @@ import com.vincent.rsf.server.common.domain.BaseParam; import com.vincent.rsf.server.common.domain.KeyValVo; import com.vincent.rsf.server.common.domain.PageParam; +import com.vincent.rsf.server.manager.controller.params.GenerateTaskParams; import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; +import com.vincent.rsf.server.manager.entity.TaskItem; import com.vincent.rsf.server.manager.entity.WaitPakin; import com.vincent.rsf.server.manager.entity.WaitPakinItem; +import com.vincent.rsf.server.manager.service.TaskItemService; import com.vincent.rsf.server.manager.service.TaskService; import com.vincent.rsf.server.manager.service.WaitPakinItemService; import com.vincent.rsf.server.manager.service.WaitPakinService; @@ -22,10 +25,12 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.*; +import java.util.stream.Collectors; @Api(tags = "缁勬嫋閫氱煡妗�") @RestController @@ -39,6 +44,8 @@ @Autowired private TaskService taskService; + @Autowired + private TaskItemService taskItemService; @PreAuthorize("hasAuthority('manager:waitPakin:list')") @PostMapping("/waitPakin/page") @@ -100,14 +107,22 @@ @PreAuthorize("hasAuthority('manager:waitPakin:remove')") @OperationLog("Delete 缁勬嫋妗�") @PostMapping("/waitPakin/remove/{ids}") + @Transactional(rollbackFor = Exception.class) public R remove(@PathVariable Long[] ids) { List<WaitPakinItem> pakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>() .in(WaitPakinItem::getPakinId, ids)); if (!pakinItems.isEmpty()) { - return R.error("缁勬嫋妗f湁鏄庣粏浠诲姟"); + List<Long> list = pakinItems.stream().map(WaitPakinItem::getId).collect(Collectors.toList()); + List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getSource, list)); + if (!taskItems.isEmpty()) { + return R.error("缁勬嫋妗f湁鏄庣粏浠诲姟"); + } } if (!waitPakinService.removeByIds(Arrays.asList(ids))) { return R.error("Delete Fail"); + } + if (!waitPakinItemService.removeByIds(pakinItems)) { + throw new CoolException("鏄庣粏鍒犻櫎澶辫触锛侊紒"); } return R.ok("Delete Success").add(ids); } @@ -136,11 +151,14 @@ @PreAuthorize("hasAuthority('manager:waitPakin:update')") @ApiOperation("鐢熸垚浠诲姟鍒楄〃") @PostMapping("/waitPakin/merge") - public R generateTask(@RequestBody List<WaitPakin> waitPakin) { - if (Objects.isNull(waitPakin) || waitPakin.isEmpty()) { + public R generateTask(@RequestBody GenerateTaskParams taskParams) { + if (Objects.isNull(taskParams)) { throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } - return taskService.generateTasks(waitPakin, getLoginUserId()); + if (Objects.isNull(taskParams.getWaitPakins()) || taskParams.getWaitPakins().isEmpty()) { + throw new CoolException("缁勬嫋妗d笉鑳戒负绌猴紒锛�"); + } + return taskService.generateTasks(taskParams, getLoginUserId()); } } -- Gitblit v1.9.1