From ceab656e93edafbdaa0d908a2f723336af811b5a Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期三, 03 九月 2025 12:47:23 +0800
Subject: [PATCH] 站点任务功能优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java |   35 ++++++++++++-----------------------
 1 files changed, 12 insertions(+), 23 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java
index 01fdedd..b7c426b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java
@@ -25,6 +25,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 import static com.vincent.rsf.server.system.utils.SystemAuthUtils.getLoginUserId;
 
@@ -101,6 +102,7 @@
      * @version 1.0
      */
     @Scheduled(cron = "0/35 * * * * ?")
+    @Transactional(rollbackFor = Exception.class)
     public void autoCheckComplete() {
         Boolean autoRunArea = configService.getVal("AUTO_RUN_CHECK_ORDERS", Boolean.class);
         if (!autoRunArea) {
@@ -110,32 +112,16 @@
         List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
                 .in(Task::getTaskType, Arrays.asList(TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_CHECK_IN.type)));
 
-        if (tasks.size() >= 5) {
-            return;
-        }
         if (!tasks.isEmpty()) {
             tasks.forEach(task -> {
                 if (task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)) {
                     if (task.getTaskStatus().equals(TaskStsType.COMPLETE_IN.id)) {
-                        if (!stationService.update(new LambdaUpdateWrapper<BasStation>()
-                                .eq(BasStation::getStationName, task.getOrgSite())
-                                .set(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_O.type))) {
-                            throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�");
-                        }
+
                     }
                 } else {
-                    //鍒涘缓鍑哄簱浠诲姟鐘舵��
-//                    if (task.getTaskStatus().equals(TaskStsType.WCS_EXECUTE_OUT.id)) {
-//                        task.setTaskStatus(TaskStsType.COMPLETE_OUT.id);
-//                        if (!taskService.updateById(task)) {
-//                            throw new CoolException("鐩樼偣鍑哄簱浠诲姟瀹屾垚澶辫触锛侊紒");
-//                        }
-//                        //鍑哄簱宸插畬鎴愶紝绛夊緟鐩樼偣涓�
-//                    } else
-
                     if (task.getTaskStatus().equals(TaskStsType.WAVE_SEED.id)) {
                         if (!stationService.update(new LambdaUpdateWrapper<BasStation>()
-                                .eq(BasStation::getStationName, task.getOrgSite())
+                                .eq(BasStation::getStationName, task.getTargSite())
                                 .set(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_F.type))) {
                             throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�");
                         }
@@ -143,12 +129,12 @@
                             taskService.pickOrCheckTask(task.getId(), Constants.TASK_TYPE_OUT_CHECK);
 
                             if (!stationService.update(new LambdaUpdateWrapper<BasStation>()
-                                    .eq(BasStation::getStationName, task.getOrgSite())
+                                    .eq(BasStation::getStationName, task.getTargSite())
                                     .set(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_R.type))) {
                                 throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�");
                             }
                         } catch (Exception e) {
-                            throw new CoolException(e.getMessage());
+                            log.error("error====>", e);
                         }
                     }
                 }
@@ -160,7 +146,7 @@
     /**
      * @author Ryan
      * @date 2025/9/1
-     * @description: 鑷姩瀹屾垚鐩樼偣鍔熻兘
+     * @description: 鑷姩鐢熸垚浠诲姟
      * @version 1.0
      */
     @Scheduled(cron = "0/25 * * * * ?")
@@ -218,12 +204,15 @@
                 locItems.forEach(locItem -> {
                     locItem.setOutQty(locItem.getAnfme());
                 });
-                List<BasStation> stations = stationService.list(new LambdaQueryWrapper<BasStation>().eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_O.type));
+                List<BasStation> stations = stationService.list(new LambdaQueryWrapper<BasStation>()
+                        .eq(BasStation::getStatus, 1)
+                        .eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_O.type));
+                List<String> stationNames = stations.stream().map(BasStation::getStationName).collect(Collectors.toList());
                 if (Cools.isEmpty(stations)) {
                     throw new CoolException("鏃犲彲鐢ㄧ珯鐐癸紒锛�");
                 }
                 DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
-                        .in(DeviceSite::getSite, stations)
+                        .in(DeviceSite::getSite, stationNames)
                         .eq(DeviceSite::getType, TaskType.TASK_TYPE_CHECK_OUT.type), false);
                 if (Cools.isEmpty(deviceSite)) {
                     throw new CoolException("鏃犲彲鐢ㄨ矾寰勶紒锛�");

--
Gitblit v1.9.1