From 088d633651b276d9aa30135cb118db5e97daa65c Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 07 十月 2024 16:41:14 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java
index 6634b81..69a38e9 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java
@@ -10,6 +10,7 @@
 import com.zy.acs.manager.manager.enums.SegmentStateType;
 import com.zy.acs.manager.manager.enums.TaskStsType;
 import com.zy.acs.manager.manager.service.*;
+import org.apache.ibatis.session.SqlSession;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -35,6 +36,8 @@
     private TaskService taskService;
     @Autowired
     private BusService busService;
+    @Autowired
+    private SqlSession sqlSession;
 
     @Override
     public List<MissionVo> getList(Long agvId, String groupNo) {
@@ -72,7 +75,7 @@
 
         // action -------------------------------
         List<Action> actionList = actionService.list(new LambdaQueryWrapper<Action>()
-                .eq(Action::getGroupId, groupNo).orderByDesc(Action::getPriority));
+                .eq(Action::getGroupId, groupNo).ne(Action::getActionSts, ActionStsType.EXPIRED.val()).orderByDesc(Action::getPriority));
         if (Cools.isEmpty(actionList)) {
             return null;
         }
@@ -101,7 +104,7 @@
             return null;
         }
         List<Action> actionList = actionService.list(new LambdaQueryWrapper<Action>()
-                .eq(Action::getGroupId, groupNo).orderByDesc(Action::getPriority));
+                .eq(Action::getGroupId, groupNo).ne(Action::getActionSts, ActionStsType.EXPIRED.val()).orderByDesc(Action::getPriority));
         if (Cools.isEmpty(actionList)) {
             return null;
         }
@@ -124,12 +127,16 @@
         if (Cools.isEmpty(actionList)) {
             return Boolean.FALSE;
         }
-        String actionGroupId = actionService.getById(actionList.get(0).getId()).getGroupId();
+        List<Long> actionIds = actionList.stream().map(Action::getId).collect(Collectors.toList());
+
+        String actionGroupId = actionService.getById(actionIds.get(0)).getGroupId();
         actionService.updateStsByGroupId(actionGroupId, ActionStsType.EXPIRED.val());
+
         List<Action> newActionList = new ArrayList<>();
         Date now = new Date();
-        for (Action item : actionList) {
-            Action action = actionService.getById(item.getId());
+        for (Long actionId : actionIds) {
+            sqlSession.clearCache();
+            Action action = actionService.getById(actionId);
             action.setActionSts(ActionStsType.PREPARE.val());
             action.setIoTime(now);
             action.setUpdateTime(now);

--
Gitblit v1.9.1