From f531a7a3ee28d76316ea8803a5be48168c520823 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 20 九月 2023 09:46:18 +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