From 987f22ecac693908e6cc32de6eafef09e2c836b6 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期四, 24 七月 2025 17:00:20 +0800 Subject: [PATCH] #增加只扫描托盘码的方式 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 27 ++++++++++++++++++++++----- 1 files changed, 22 insertions(+), 5 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java index 41323b5..c536971 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java @@ -775,10 +775,29 @@ } else if (task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)) { List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, Arrays.asList(ids))); if (!taskItems.isEmpty()) { - taskItems.forEach(taskItem -> { - checkDiffItemService.remove(new LambdaQueryWrapper<CheckDiffItem>().eq(CheckDiffItem::getTaskItemId, taskItem.getId())); - checkDiffService.removeById(taskItem.getSourceId()); + taskItems.forEach(taskItem -> { + if (!checkOrderItemService.update(new LambdaUpdateWrapper<WkOrderItem>() + .eq(WkOrderItem::getId, taskItem.getOrderItemId()) + .setSql("work_qty = work_qty - " + taskItem.getAnfme()))) { + throw new CoolException("鏄庣粏鏁伴噺淇敼澶辫触锛侊紒"); + } + + if (!checkOrderService.update(new LambdaUpdateWrapper<WkOrder>() + .eq(WkOrder::getId, taskItem.getOrderId()) + .setSql("work_qty = work_qty - " + taskItem.getAnfme()))) { + throw new CoolException("鐩樼偣鍗曟墽琛屾暟閲忎慨鏀瑰け璐ワ紒锛�"); + } + + CheckDiffItem serviceOne = checkDiffItemService.getOne(new LambdaQueryWrapper<CheckDiffItem>().eq(CheckDiffItem::getTaskItemId, taskItem.getId())); + + checkDiffItemService.remove(new LambdaQueryWrapper<CheckDiffItem>().eq(CheckDiffItem::getTaskItemId, taskItem.getId())); + if (!Objects.isNull(serviceOne)) { + CheckDiff checkDiff = checkDiffService.getById(serviceOne.getCheckId()); + if (!Objects.isNull(checkDiff)) { + checkDiffService.removeById(checkDiff.getId()); + } + } }); } @@ -1000,8 +1019,6 @@ } } } - - }); }); List<Long> matnrIds = taskItems.stream().map(TaskItem::getMatnrId).collect(Collectors.toList()); -- Gitblit v1.9.1