From 7d3ad58a9a21cfd7e21fde604e362a2cfe812754 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期四, 20 十一月 2025 15:03:21 +0800
Subject: [PATCH] #新增 1. 全板出库完成后,变更任务状态为拣料

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java |   41 ++++++++++++++++++++++++-----------------
 1 files changed, 24 insertions(+), 17 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 c693288..cc78e88 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
@@ -686,7 +686,6 @@
 //        if (!loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_S.type)) {
 //            throw new CoolException("褰撳墠搴撲綅鐘舵�佷笉澶勪簬S.鍏ュ簱棰勭害锛屼笉鍙墽琛屽叆搴撴搷浣滐紒");
 //        }
-
         loc.setUseStatus(LocStsType.LOC_STS_TYPE_F.type)
                 .setBarcode(task.getBarcode())
                 .setUpdateBy(loginUserId).setUpdateTime(new Date());
@@ -705,6 +704,7 @@
             LocItem locItem = new LocItem();
             LocItemWorking locWorking = locItemWorkingService.getOne(new LambdaQueryWrapper<LocItemWorking>()
                     .eq(LocItemWorking::getTaskId, taskItem.getTaskId())
+                    .eq(LocItemWorking::getFieldsIndex, taskItem.getFieldsIndex())
                     .eq(StringUtils.isNotBlank(taskItem.getBatch()), LocItemWorking::getBatch, taskItem.getBatch())
                     .eq(LocItemWorking::getMatnrId, taskItem.getMatnrId()));
             if (Objects.isNull(locWorking)) {
@@ -788,7 +788,6 @@
             } 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 -> {
                         if (!checkOrderItemService.update(new LambdaUpdateWrapper<WkOrderItem>()
                                 .eq(WkOrderItem::getId, taskItem.getOrderItemId())
@@ -1035,10 +1034,10 @@
                 }
             });
         });
-        List<Long> matnrIds = taskItems.stream().map(TaskItem::getMatnrId).collect(Collectors.toList());
+        List<String> matnrIds = taskItems.stream().map(TaskItem::getFieldsIndex).collect(Collectors.toList());
         //鍒犻櫎涓庝换鍔℃槑缁嗛噸澶嶇殑搴撳瓨淇℃伅锛屼互浠诲姟鏄庣粏涓哄噯
         List<LocItemWorking> itemWorkings = tempLocs.stream()
-                .filter(working -> !matnrIds.contains(working.getMatnrId()))
+                .filter(working -> !matnrIds.contains(working.getFieldsIndex()))
                 .collect(Collectors.toList());
         itemWorkings.forEach(working -> {
             TaskItem taskItem = taskItems.stream().findFirst().get();
@@ -1206,27 +1205,35 @@
             throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
         }
 
+        if (!this.update(new LambdaUpdateWrapper<Task>()
+                .eq(Task::getId, task.getId())
+                .set(Task::getUpdateBy, loginUserId)
+                .set(Task::getUpdateTime, new Date())
+                .set(Task::getTaskStatus, TaskStsType.WAVE_SEED.id))) {
+            throw new CoolException("搴撳瓨鐘舵�佹洿鏂板け璐ワ紒锛�");
+        }
+
+
         if (task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type) || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)) {
-//            if (!this.update(new LambdaUpdateWrapper<Task>()
-//                    .eq(Task::getId, task.getId())
-//                    .set(Task::getUpdateBy, loginUserId)
-//                    .set(Task::getUpdateTime, new Date())
-//                    .set(Task::getTaskStatus, TaskStsType.WAVE_SEED.id))) {
-//                throw new CoolException("搴撳瓨鐘舵�佹洿鏂板け璐ワ紒锛�");
-//            }
-            pickOrCheckTask(task.getId(), null);
+            if (!this.update(new LambdaUpdateWrapper<Task>()
+                    .eq(Task::getId, task.getId())
+                    .set(Task::getUpdateBy, loginUserId)
+                    .set(Task::getUpdateTime, new Date())
+                    .set(Task::getTaskStatus, TaskStsType.WAVE_SEED.id))) {
+                throw new CoolException("搴撳瓨鐘舵�佹洿鏂板け璐ワ紒锛�");
+            }
         } else {
             if (!this.update(new LambdaUpdateWrapper<Task>()
                     .eq(Task::getId, task.getId())
                     .set(Task::getUpdateBy, loginUserId)
                     .set(Task::getUpdateTime, new Date())
-                    .set(Task::getTaskStatus, TaskStsType.UPDATED_OUT.id))) {
+                    .set(Task::getTaskStatus, TaskStsType.WAVE_SEED.id))) {
                 throw new CoolException("搴撳瓨鐘舵�佹洿鏂板け璐ワ紒锛�");
             }
-            //鍏ㄦ澘鍑哄簱锛屽垹闄や复鏃跺簱瀛�
-            if (!locItemWorkingService.remove(new LambdaQueryWrapper<LocItemWorking>().eq(LocItemWorking::getTaskId, task.getId()))) {
-                throw new CoolException("涓存椂搴撳瓨娓呴櫎澶辫触锛侊紒");
-            }
+//            //鍏ㄦ澘鍑哄簱锛屽垹闄や复鏃跺簱瀛�
+//            if (!locItemWorkingService.remove(new LambdaQueryWrapper<LocItemWorking>().eq(LocItemWorking::getTaskId, task.getId()))) {
+//                throw new CoolException("涓存椂搴撳瓨娓呴櫎澶辫触锛侊紒");
+//            }
         }
 
     }

--
Gitblit v1.9.1