From 2dbe2c8b830a3b006b1536c7dac48b5f8c24e00d Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 28 四月 2025 16:53:07 +0800 Subject: [PATCH] #wms端生成任务优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java | 34 +++++++++++++++++++++++++++++++--- 1 files changed, 31 insertions(+), 3 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 9bc3c5d..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,14 @@ 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; import com.vincent.rsf.server.system.controller.BaseController; import io.swagger.annotations.Api; @@ -20,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 @@ -33,7 +40,12 @@ private WaitPakinService waitPakinService; @Autowired + private WaitPakinItemService waitPakinItemService; + + @Autowired private TaskService taskService; + @Autowired + private TaskItemService taskItemService; @PreAuthorize("hasAuthority('manager:waitPakin:list')") @PostMapping("/waitPakin/page") @@ -95,9 +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()) { + 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); } @@ -126,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); + if (Objects.isNull(taskParams.getWaitPakins()) || taskParams.getWaitPakins().isEmpty()) { + throw new CoolException("缁勬嫋妗d笉鑳戒负绌猴紒锛�"); + } + return taskService.generateTasks(taskParams, getLoginUserId()); } } -- Gitblit v1.9.1