From 59251b6445daef3729a205fc7054fcbdc55b060a Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 16 四月 2025 11:16:05 +0800 Subject: [PATCH] #修复 1. 收货单新增物料时分组查询不生效 2. 综合订单分页数调整 3. 物料列表报错修复 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java | 73 ++++++++++++++++++++++-------------- 1 files changed, 44 insertions(+), 29 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 385b535..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 @@ -4,13 +4,20 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.R; +import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.common.utils.ExcelUtil; import com.vincent.rsf.server.common.annotation.OperationLog; 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; @@ -18,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 @@ -29,6 +38,14 @@ @Autowired private WaitPakinService waitPakinService; + + @Autowired + private WaitPakinItemService waitPakinItemService; + + @Autowired + private TaskService taskService; + @Autowired + private TaskItemService taskItemService; @PreAuthorize("hasAuthority('manager:waitPakin:list')") @PostMapping("/waitPakin/page") @@ -61,9 +78,14 @@ @PostMapping("/waitPakin/save") public R save(@RequestBody WaitPakin waitPakin) { waitPakin.setCreateBy(getLoginUserId()); - waitPakin.setCreateTime(new Date()); waitPakin.setUpdateBy(getLoginUserId()); - waitPakin.setUpdateTime(new Date()); + if (Objects.isNull(waitPakin.getBarcode()) || StringUtils.isBlank(waitPakin.getBarcode())) { + return R.error("鎷栫洏鐮佷笉鑳戒负绌猴紒锛�"); + } + List<WaitPakin> list = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, waitPakin.getBarcode())); + if (!list.isEmpty()) { + return R.error("鎷栫洏宸茬粍鎷栵紒锛�"); + } if (!waitPakinService.save(waitPakin)) { return R.error("Save Fail"); } @@ -85,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); } @@ -114,36 +149,16 @@ @PreAuthorize("hasAuthority('manager:waitPakin:update')") - @ApiOperation("缁勬嫋") + @ApiOperation("鐢熸垚浠诲姟鍒楄〃") @PostMapping("/waitPakin/merge") - public R pikinOrder(@RequestBody WaitPakinParam waitPakin) { - if (Objects.isNull(waitPakin)) { - return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + public R generateTask(@RequestBody GenerateTaskParams taskParams) { + if (Objects.isNull(taskParams)) { + throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } - if (StringUtils.isBlank(waitPakin.getBarcode())) { - return R.error("鎵樼洏鐮佷笉鑳戒负绌猴紒锛�"); + if (Objects.isNull(taskParams.getWaitPakins()) || taskParams.getWaitPakins().isEmpty()) { + throw new CoolException("缁勬嫋妗d笉鑳戒负绌猴紒锛�"); } - if (Objects.isNull(waitPakin.getItems()) || waitPakin.getItems().isEmpty()) { - return R.error("璺熻釜鐮佷笉鑳戒负绌猴紒锛�"); - } - return R.ok(waitPakinService.mergeItems(waitPakin)); - } - - @PreAuthorize("hasAuthority('manager:waitPakin:update')") - @ApiOperation("缁勬嫋瑙g粦") - @PostMapping("/waitPakin/unbind") - public R pakinUnBind(@RequestBody WaitPakinParam param) { - if (Objects.isNull(param)) { - return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); - } - if (StringUtils.isBlank(param.getBarcode())) { - return R.error("鎵樼洏鐮佷笉鑳戒负绌猴紒锛�"); - } - if (Objects.isNull(param.getItems()) || param.getItems().isEmpty()) { - return R.error("璺熻釜鐮佷笉鑳戒负绌猴紒锛�"); - } - return R.ok(waitPakinService); - + return taskService.generateTasks(taskParams, getLoginUserId()); } } -- Gitblit v1.9.1