From 95f54b8b7dbc42b7cdeb497145bc07484e41423d Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 11 十一月 2024 13:57:51 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java               |    1 +
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/ActionService.java          |    4 ++++
 zy-acs-manager/src/main/resources/mapper/manager/ActionMapper.xml                           |   22 ++++++++++++++++++++++
 zy-acs-manager/src/main/java/com/zy/acs/manager/fake/FakeProcessor.java                     |   17 +++++++++++++++++
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Action.java                  |    1 +
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/ActionMapper.java            |    3 +++
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/ActionServiceImpl.java |    6 ++++++
 7 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
index 89d03da..e4f93bf 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -1081,6 +1081,7 @@
             for (Action action : actionList) {
                 action.setActionSts(ActionStsType.ISSUED.val());
                 action.setStartTime(now);
+                action.setIoTime(now);
                 action.setUpdateTime(now);
                 if (!actionService.updateById(action)) {
                     throw new BusinessException(action.getPriority() + " - " + action.getName() + "鍔ㄤ綔鏇存柊澶辫触");
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/fake/FakeProcessor.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/fake/FakeProcessor.java
index 9587fab..11bd3a9 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/fake/FakeProcessor.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/fake/FakeProcessor.java
@@ -4,9 +4,13 @@
 import com.zy.acs.common.constant.RedisConstant;
 import com.zy.acs.common.domain.AgvProtocol;
 import com.zy.acs.common.utils.RedisSupport;
+import com.zy.acs.framework.common.Cools;
+import com.zy.acs.manager.manager.entity.Action;
 import com.zy.acs.manager.manager.entity.Agv;
 import com.zy.acs.manager.manager.entity.AgvDetail;
+import com.zy.acs.manager.manager.enums.ActionStsType;
 import com.zy.acs.manager.manager.enums.StatusType;
+import com.zy.acs.manager.manager.service.ActionService;
 import com.zy.acs.manager.manager.service.AgvDetailService;
 import com.zy.acs.manager.manager.service.AgvService;
 import com.zy.acs.manager.system.service.ConfigService;
@@ -29,6 +33,8 @@
     @Autowired
     private AgvDetailService agvDetailService;
     @Autowired
+    private ActionService actionService;
+    @Autowired
     private ConfigService configService;
 
     /**
@@ -49,11 +55,22 @@
         for (Agv agv : agvList) {
             AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId());
 
+            this.processRunning(agv);
+
             this.processOnline(agv);
 
         }
     }
 
+    private void processRunning(Agv agv) {
+        List<Action> actionList = actionService.queryLatestGroup(agv.getId(), ActionStsType.ISSUED);
+        if (!Cools.isEmpty(actionList)) {
+            for (Action action : actionList) {
+
+            }
+        }
+    }
+
     private void processOnline(Agv agv) {
         redis.setObject(RedisConstant.AGV_ONLINE_FLAG, agv.getUuid(), 1, 30);
     }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Action.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Action.java
index 19ff4f9..f4d9cbe 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Action.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Action.java
@@ -57,6 +57,7 @@
 
     /**
      * 浼樺厛绾�
+     * The large the value, the earlier it will be executed
      */
     @ApiModelProperty(value= "浼樺厛绾�")
     private Integer priority;
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/ActionMapper.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/ActionMapper.java
index 8b26bbd..fbade3c 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/ActionMapper.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/ActionMapper.java
@@ -20,4 +20,7 @@
     List<Long> selectTaskIdsByGroupId(@Param("groupId") String groupId);
 
     List<String> selectSortCodeByAgv(@Param("agvId") Long agvId);
+
+    List<Action> selectLatestOfGroup(@Param("agvId") Long agvId, @Param("actionSts") Long actionSts);
+
 }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/ActionService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/ActionService.java
index baa0260..ab25e0d 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/ActionService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/ActionService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zy.acs.manager.manager.entity.Action;
+import com.zy.acs.manager.manager.enums.ActionStsType;
 
 import java.util.List;
 import java.util.Map;
@@ -21,4 +22,7 @@
     List<Action> optimizeSort(List<Action> actionList);
 
     List<String> getPathListByAgv(String agvNo);
+
+    List<Action> queryLatestGroup(Long agvId, ActionStsType actionSts);
+
 }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/ActionServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/ActionServiceImpl.java
index c651a33..80c01df 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/ActionServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/ActionServiceImpl.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zy.acs.manager.manager.entity.Action;
 import com.zy.acs.manager.manager.entity.Agv;
+import com.zy.acs.manager.manager.enums.ActionStsType;
 import com.zy.acs.manager.manager.enums.ActionTypeType;
 import com.zy.acs.manager.manager.mapper.ActionMapper;
 import com.zy.acs.manager.manager.service.ActionService;
@@ -111,4 +112,9 @@
         return this.baseMapper.selectSortCodeByAgv(agv.getId());
     }
 
+    @Override
+    public List<Action> queryLatestGroup(Long agvId, ActionStsType actionSts) {
+        return this.baseMapper.selectLatestOfGroup(agvId, actionSts.val());
+    }
+
 }
diff --git a/zy-acs-manager/src/main/resources/mapper/manager/ActionMapper.xml b/zy-acs-manager/src/main/resources/mapper/manager/ActionMapper.xml
index aa35574..488e2fb 100644
--- a/zy-acs-manager/src/main/resources/mapper/manager/ActionMapper.xml
+++ b/zy-acs-manager/src/main/resources/mapper/manager/ActionMapper.xml
@@ -96,4 +96,26 @@
         ORDER BY ma.priority DESC
     </select>
 
+    <select id="selectLatestOfGroup" resultType="com.zy.acs.manager.manager.entity.Action">
+        SELECT *
+        FROM man_action
+        WHERE 1=1
+        AND agv_id = #{agvId}
+        AND action_sts = #{actionSts}
+        AND group_id IN (
+            SELECT group_id
+            FROM man_action
+            WHERE agv_id = #{agvId}
+            AND action_sts = #{actionSts}
+            GROUP BY group_id
+            HAVING MAX(io_time) = (
+                SELECT MAX(io_time)
+                FROM man_action
+                WHERE agv_id = #{agvId}
+                AND action_sts = #{actionSts}
+            )
+        )
+        ORDER BY priority DESC
+    </select>
+
 </mapper>

--
Gitblit v1.9.1