From 83bebf33f2a141a13a7adef66d09b43145fc29e9 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 26 五月 2025 08:47:28 +0800
Subject: [PATCH] 库位信息查询

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 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 e6bbb8a..ff45705 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
@@ -687,6 +687,38 @@
             throw new CoolException("浠诲姟鐘舵�佹洿鏂板け璐ワ紒锛�");
         }
 
+        List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()));
+        for (int i = 0; i < taskItems.size(); i++) {
+            TaskItem taskItem = taskItems.get(i);
+            LocItemWorking locWorking = locItemWorkingService.getOne(new LambdaQueryWrapper<LocItemWorking>()
+                    .eq(LocItemWorking::getTaskId, taskItem.getTaskId())
+                    .eq(StringUtils.isNotBlank(taskItem.getBatch()), LocItemWorking::getBatch, taskItem.getBatch())
+                    .eq(StringUtils.isNotBlank(taskItem.getFieldsIndex()), LocItemWorking::getFieldsIndex, taskItem.getFieldsIndex())
+                    .eq(LocItemWorking::getMatnrId, taskItem.getMatnrId()));
+            if (Objects.isNull(locWorking)) {
+                throw new CoolException("鏁版嵁閿欒锛屼綔涓氫腑搴撳瓨鏁版嵁涓㈠け锛侊紒");
+            }
+            if (task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)) {
+                locWorking.setWorkQty(0.0);
+                locWorking.setAnfme(taskItem.getAnfme());
+            } else {
+                if (locWorking.getAnfme().compareTo(taskItem.getAnfme()) >= 0) {
+                    locWorking.setWorkQty(0.0);
+                    locWorking.setAnfme(Math.round((locWorking.getAnfme() - taskItem.getAnfme()) * 10000) / 10000.0);
+                } else {
+                    continue;
+                }
+            }
+            if (!locItemWorkingService.updateById(locWorking)) {
+                throw new CoolException("涓存椂搴撳瓨鏇存柊澶辫触锛侊紒");
+            }
+            taskItems.get(i).setAnfme(locWorking.getAnfme());
+        }
+
+        if (!taskItemService.updateBatchById(taskItems)) {
+            throw new CoolException("浠诲姟鏄庣粏鏇存柊澶辫触锛侊紒");
+        }
+
         Loc one = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getTargLoc()));
         if (Objects.isNull(one)) {
             throw new CoolException("鐩爣搴撲綅涓嶅瓨鍦紒锛�");
@@ -798,6 +830,11 @@
                 throw new CoolException("搴撳瓨鐘舵�佹洿鏂板け璐ワ紒锛�");
             }
 
+            //鍏ㄦ澘鍑哄簱锛屽垹闄や复鏃跺簱瀛�
+           if (!locItemWorkingService.remove(new LambdaQueryWrapper<LocItemWorking>().eq(LocItemWorking::getTaskId, task.getId()))) {
+               throw new CoolException("涓存椂搴撳瓨娓呴櫎澶辫触锛侊紒");
+           }
+
         }
 
     }

--
Gitblit v1.9.1