From 6bc8391458afbc6dacf968a3e0e33f20304e56a6 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 29 五月 2025 10:58:38 +0800
Subject: [PATCH] 定时任务查询优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java    |    9 +++++++--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java |    2 --
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java         |   19 +++++++++++--------
 rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java                      |    1 -
 4 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java
index 811fbed..0b4fc0b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java
@@ -272,7 +272,6 @@
         int eRow = deviceBind.getEndRow();
         int deviceQty = deviceBind.getDeviceQty();
 
-
         // ===============>>>> 寮�濮嬫墽琛�
         curRow = deviceBind.getCurrentRow();
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
index 18711a1..13b453f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -17,10 +17,7 @@
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -52,11 +49,13 @@
      */
     @Scheduled(cron = "0/3 * * * * ?")
     public void completeInStock() throws Exception {
-        List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id));
+        List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id).select(Task::getId));
         if (tasks.isEmpty()) {
             return;
         }
-        taskService.complateInTask(tasks);
+        List<Long> longSet = tasks.stream().map(Task::getId).collect(Collectors.toList());
+        List<Task> vaildTasks = taskService.list(new LambdaQueryWrapper<Task>().in(Task::getId, longSet));
+        taskService.complateInTask(vaildTasks);
     }
 
     /**
@@ -67,11 +66,15 @@
      */
     @Scheduled(cron = "0/5 * * * * ?  ")
     public void complateOutStock() throws Exception {
-        List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.COMPLETE_OUT.id));
+        List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
+                .eq(Task::getTaskStatus, TaskStsType.COMPLETE_OUT.id)
+                .select(Task::getId));
         if (tasks.isEmpty()) {
             return;
         }
-        taskService.completeTask(tasks);
+        List<Long> longSet = tasks.stream().map(Task::getId).collect(Collectors.toList());
+        List<Task> vaildTasks = taskService.list(new LambdaQueryWrapper<Task>().in(Task::getId, longSet));
+        taskService.completeTask(vaildTasks);
     }
 
     /**
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
index 6101454..e86379e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -41,8 +41,6 @@
     @Autowired
     private DeviceSiteService deviceSiteService;
     @Autowired
-    private SlaveProperties slaveProperties;
-    @Autowired
     private WcsService wcsService;
 
 
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 71cce1a..fe0f865 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
@@ -197,13 +197,18 @@
                     .setTargLoc(targetLoc)
                     .setBarcode(pakin.getBarcode())
                     .setCreateBy(loginUserId)
+                    .setUpdateTime(new Date())
                     .setUpdateBy(loginUserId);
 
             if (!this.save(task)) {
                 throw new CoolException("浠诲姟淇濆瓨澶辫触锛侊紒");
             }
-            if (!locService.update(new LambdaUpdateWrapper<Loc>().eq(Loc::getCode, task.getTargLoc())
-                    .set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_S.type).set(Loc::getBarcode, pakin.getBarcode()))) {
+            if (!locService.update(new LambdaUpdateWrapper<Loc>()
+                    .eq(Loc::getCode, task.getTargLoc())
+                    .set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_S.type)
+                            .set(Loc::getUpdateBy, loginUserId)
+                            .set(Loc::getUpdateTime, new Date())
+                    .set(Loc::getBarcode, pakin.getBarcode()))) {
                 throw new CoolException("搴撲綅棰勭害澶辫触锛侊紒");
             }
             /**鑾峰彇缁勬嫋鏄庣粏**/

--
Gitblit v1.9.1