From 42af11ca3a84e13d1f55207b2770e2454a861983 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 01 八月 2025 17:05:03 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/action/ShuttleAction.java |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/core/action/ShuttleAction.java b/src/main/java/com/zy/core/action/ShuttleAction.java
index a0a88b1..6a968c0 100644
--- a/src/main/java/com/zy/core/action/ShuttleAction.java
+++ b/src/main/java/com/zy/core/action/ShuttleAction.java
@@ -119,8 +119,10 @@
             return false;
         }
 
+        News.info("execute check command {},{}", shuttleNo, taskNo);
         //妫�娴嬪懡浠�
         int checked = checkCommand(redisCommand, shuttleNo);
+        News.info("execute check command complete {},{}", shuttleNo, taskNo);
         if (checked == 0) {
             return false;
         }
@@ -165,10 +167,20 @@
             }
 
             List<NavigateNode> nodes = JSON.parseArray(JSON.toJSONString(command.getNodes()), NavigateNode.class);
-            //鐢宠绠″埗
-            applyTrafficControl(commands, nodes, shuttleNo, taskNo);
+
+            Object object = redisUtil.get(RedisKeyType.TRAFFIC_CONTROL_LOCK_APPLY.key + shuttleNo);
+            if (object == null) {
+                //鐢宠绠″埗
+                News.info("execute apply control {},{}", shuttleNo, taskNo);
+                redisUtil.set(RedisKeyType.TRAFFIC_CONTROL_LOCK_APPLY.key + shuttleNo, "lock", 10);
+                applyTrafficControl(commands, nodes, shuttleNo, taskNo);
+                News.info("execute apply control complete {},{}", shuttleNo, taskNo);
+            }
+
+            News.info("execute query control {},{}", shuttleNo, taskNo);
             //鏌ヨ绠″埗
             boolean apply = queryTrafficControl(shuttleNo, taskNo);
+            News.info("execute query control complete {},{}", shuttleNo, taskNo);
             if(!apply){
                 return false;//鐢宠澶辫触
             }
@@ -415,7 +427,9 @@
                 return false;
             }
             //涓婃姤浜ょ
+            News.info("execute check command report traffic {},{}", shuttleNo, shuttleProtocol.getTaskNo());
             trafficControlThread.trafficReport(command.getNodesDeepCopy(), shuttleNo, shuttleProtocol.getTaskNo());
+            News.info("execute check command report traffic complete {},{}", shuttleNo, shuttleProtocol.getTaskNo());
 
             String currentLocNo = shuttleProtocol.getCurrentLocNo();
             if (currentLocNo == null) {
@@ -768,6 +782,10 @@
         }
     }
 
+    public synchronized boolean clearPath(Integer shuttleNo) {
+        return navigateMapUtils.clearPath(shuttleNo);
+    }
+
 //    //璺戝簱绋嬪簭
 //    public synchronized void moveLoc(Integer shuttleNo) {
 //        ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttleNo);

--
Gitblit v1.9.1