From fb8419ef141e16b8ec8b1d9802fa0d5a46768794 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 20 九月 2023 08:24:21 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/NyShuttleThread.java |   61 ++++++++++++++++--------------
 1 files changed, 33 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/NyShuttleThread.java b/src/main/java/com/zy/core/thread/NyShuttleThread.java
index 6ba944e..ab325f7 100644
--- a/src/main/java/com/zy/core/thread/NyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/NyShuttleThread.java
@@ -176,20 +176,6 @@
                 //灏忚溅澶勪簬杩愯涓紝灏嗘爣璁扮疆涓簍rue
                 if (shuttleProtocol.getFree() == 0) {
                     shuttleProtocol.setPakMk(true);
-                }else {
-                    //灏忚溅澶勪簬绛夊緟纭涓旂┖闂茬姸鎬侊紝濡傛湁宸ヤ綔鍙峰垯娓呯┖璺緞
-                    if (shuttleProtocol.getTaskNo() != 0 && shuttleProtocol.getProtocolStatusType() == ShuttleProtocolStatusType.WAITING) {
-                        Object o = redisUtil.get("shuttle_wrk_no_" + shuttleProtocol.getTaskNo());
-                        if (o != null) {
-                            ShuttleRedisCommand redisCommand = JSON.parseObject(o.toString(), ShuttleRedisCommand.class);
-                            ShuttleAssignCommand assignCommand = redisCommand.getAssignCommand();
-                            NavigateMapData navigateMapData = new NavigateMapData(Utils.getLev(shuttleProtocol.getCurrentLocNo()));
-                            navigateMapData.writeNavigateNodeToRedisMap(assignCommand.getNodes(), false);//瑙i攣璺緞
-
-                            //鍒犻櫎redis
-                            redisUtil.del("shuttle_wrk_no_" + redisCommand.getWrkNo());
-                        }
-                    }
                 }
 
                 //灏嗗洓鍚戠┛姊溅鐘舵�佷繚瀛樿嚦鏁版嵁搴�
@@ -396,6 +382,23 @@
                 //涓婁竴鏉′换鍔℃湭瀹屾垚锛岀姝笅鍙戝懡浠�
                 return false;
             }
+
+            //鍒ゆ柇鏄惁涓烘渶鍚庝竴鏉″懡浠や笖鍛戒护鎵ц瀹屾垚锛屾姏鍑虹瓑寰呯‘璁ょ姸鎬�
+            NyShuttleHttpCommand endCommand = commands.get(commands.size() - 1);
+            if (endCommand.getComplete()) {
+                //鍒犻櫎redis
+                redisUtil.del("shuttle_wrk_no_" + redisCommand.getWrkNo());
+
+                if (!assignCommand.getCharge()) {
+                    //瀵逛富绾跨▼鎶涘嚭绛夊緟纭鐘舵�亀aiting
+                    shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.WAITING);
+                }else {
+                    shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING_WAITING);
+                }
+                News.info("鍥涘悜绌挎杞︿换鍔℃墽琛屼笅鍙戝畬鎴愮瓑寰呮墽琛岀粨鏉燂紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", shuttleProtocol.getShuttleNo(), JSON.toJSON(command));
+
+                return false;//绂佹鍐嶄笅鍙戝懡浠�
+            }
         }
 
         List<NavigateNode> nextNodes = null;//涓嬩竴姝ュ懡浠よ璧拌矾寰�
@@ -471,20 +474,21 @@
         }else {
             //宸叉墽琛屽畬鎴�
 
-            //鏈�鍚庝竴娈靛懡浠や负绉诲姩鍛戒护锛屽垯鏆傜紦鍒犻櫎redis绛夊緟娓呴櫎璺緞鏃朵竴娆℃�у垹闄�
-            //鏈�鍚庝竴娈靛懡浠や负涓嶆槸绉诲姩鍛戒护锛屽垯鍒犻櫎redis
-            if (!command.getRequest().getBody().get("requestType").equals("move")) {
-                //鍒犻櫎redis
-                redisUtil.del("shuttle_wrk_no_" + redisCommand.getWrkNo());
-            }
-
-            if (!assignCommand.getCharge()) {
-                //瀵逛富绾跨▼鎶涘嚭绛夊緟纭鐘舵�亀aiting
-                shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.WAITING);
-            }else {
-                shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING_WAITING);
-            }
-            News.info("鍥涘悜绌挎杞︿换鍔℃墽琛屼笅鍙戝畬鎴愮瓑寰呮墽琛岀粨鏉燂紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", shuttleProtocol.getShuttleNo(), JSON.toJSON(command));
+            commandStep++;
+//            //鏈�鍚庝竴娈靛懡浠や负绉诲姩鍛戒护锛屽垯鏆傜紦鍒犻櫎redis绛夊緟娓呴櫎璺緞鏃朵竴娆℃�у垹闄�
+//            //鏈�鍚庝竴娈靛懡浠や负涓嶆槸绉诲姩鍛戒护锛屽垯鍒犻櫎redis
+//            if (!command.getRequest().getBody().get("requestType").equals("move")) {
+//                //鍒犻櫎redis
+//                redisUtil.del("shuttle_wrk_no_" + redisCommand.getWrkNo());
+//            }
+//
+//            if (!assignCommand.getCharge()) {
+//                //瀵逛富绾跨▼鎶涘嚭绛夊緟纭鐘舵�亀aiting
+//                shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.WAITING);
+//            }else {
+//                shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING_WAITING);
+//            }
+//            News.info("鍥涘悜绌挎杞︿换鍔℃墽琛屼笅鍙戝畬鎴愮瓑寰呮墽琛岀粨鏉燂紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", shuttleProtocol.getShuttleNo(), JSON.toJSON(command));
         }
 
         return true;
@@ -629,6 +633,7 @@
             if (checkPathIsAvailable) {
                 return true;//鍙璧�
             }
+            return false;
         }else {
             boolean checkPathIsAvailable2 = NavigateUtils.checkPathIsAvailable(nextNodes, shuttleProtocol.getShuttleNo().intValue(), Utils.getLev(shuttleProtocol.getCurrentLocNo()));
             if (checkPathIsAvailable && checkPathIsAvailable2) {

--
Gitblit v1.9.1