From 8becddfbe242865ff9f952a949c1ce35120a53fb Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 07 十一月 2023 08:30:50 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/NyShuttleThread.java | 83 ++++++++++++++++++++++-------------------
1 files changed, 45 insertions(+), 38 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/NyShuttleThread.java b/src/main/java/com/zy/core/thread/NyShuttleThread.java
index 3773fc7..255604a 100644
--- a/src/main/java/com/zy/core/thread/NyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/NyShuttleThread.java
@@ -370,6 +370,7 @@
return false;
}
+ NavigateMapUtils navigateMapUtils = SpringUtils.getBean(NavigateMapUtils.class);
WrkMastMapper wrkMastMapper = SpringUtils.getBean(WrkMastMapper.class);
WrkMast wrkMast = wrkMastMapper.selectByWorkNo(wrkNo.intValue());
@@ -388,8 +389,6 @@
}
checkIOSta(commands, commandStep);//妫�娴嬪皬杞︽槸鍚﹁繘鍑烘彁鍗囨満杈撻�佺珯
-
- NavigateMapData navigateMapData = new NavigateMapData(Utils.getLev(shuttleProtocol.getCurrentLocNo()));
boolean isLock = false;//鏄惁瑙i攣璺緞
//鍙栧嚭鍛戒护
@@ -414,7 +413,15 @@
// nodes.addAll(command.getNodes());
// }
if (nodes != null) {
- navigateMapData.writeNavigateNodeToRedisMap(nodes, false);//瑙i攣璺緞
+ NavigateNode targetNode = assignCommand.getNodes().get(assignCommand.getNodes().size() - 1);//鏈�缁堣妭鐐�
+ NavigateNode node = nodes.get(nodes.size() - 1);
+ if (!(targetNode.getX() == node.getX() && targetNode.getY() == node.getY())) {
+ nodes.remove(nodes.size() - 1);//鍓旈櫎灏捐妭鐐�
+ }
+ boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(shuttleProtocol.getCurrentLocNo()), nodes, false);//瑙i攣璺緞
+ if (!result) {
+ return false;//瑙i攣澶辫触
+ }
isLock = true;//瑙i攣杩囪矾寰�
}
}
@@ -471,41 +478,41 @@
return false;
}
- if (command.getRequest().getBody().get("requestType").equals("move")) {
- ArrayList<int[]> whiteList = new ArrayList<>();//璁剧疆鑺傜偣鐨勭櫧鍚嶅崟
- if (wrkMast != null && ((wrkMast.getIoType() > 100 && wrkMast.getIoType() < 200) || wrkMast.getIoType() == 11)) {
- //鍑哄簱浠诲姟锛屼笉妫�娴嬮鑺傜偣
- int[] startArr = NavigatePositionConvert.positionToXY(wrkMast.getSourceLocNo());//寮�濮嬭妭鐐�
- whiteList.add(startArr);
- }
-
- //瑙i攣杩囪矾寰勶紝鍙娴嬩笅涓�娈佃矾寰勬槸鍚﹀彲璧�(褰撳墠璺緞宸茬粡琚攣瀹氭棤闇�鍐嶆娴�)
- if (isLock) {
- //鍙娴嬩笅涓�娈佃矾寰勬槸鍚﹀彲璧�(褰撳墠璺緞宸茬粡琚攣瀹氭棤闇�鍐嶆娴�)
- //妫�娴嬭矾寰勬槸鍚﹀彲琛岃蛋
- if (!checkPath(nextNodes == null ? command.getNodes() : nextNodes, null, whiteList)) {
- return false;
- }
- }else {
- //妫�娴嬪綋鍓嶈矾寰勫拰涓嬩竴娈佃矾寰�
- //妫�娴嬭矾寰勬槸鍚﹀彲琛岃蛋
- if (!checkPath(command.getNodes(), nextNodes, whiteList)) {
- return false;
- }
- }
-
- //閿佸畾璺緞锛岄攣瀹氬綋鍓嶈矾寰勫拰涓嬩竴姝ヨ矾寰�
- List<NavigateNode> nodes = command.getNodes();
- if (nextNodes != null) {
- nodes.addAll(nextNodes);
- }
- if (nodes != null) {
- boolean result = navigateMapData.writeNavigateNodeToRedisMap(nodes, true);//鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢�
- if (!result) {
- return false;//璺緞閿佸畾澶辫触
- }
- }
- }
+// if (command.getRequest().getBody().get("requestType").equals("move")) {
+// ArrayList<int[]> whiteList = new ArrayList<>();//璁剧疆鑺傜偣鐨勭櫧鍚嶅崟
+// if (wrkMast != null && ((wrkMast.getIoType() > 100 && wrkMast.getIoType() < 200) || wrkMast.getIoType() == 11)) {
+// //鍑哄簱浠诲姟锛屼笉妫�娴嬮鑺傜偣
+// int[] startArr = NavigatePositionConvert.positionToXY(wrkMast.getSourceLocNo());//寮�濮嬭妭鐐�
+// whiteList.add(startArr);
+// }
+//
+// //瑙i攣杩囪矾寰勶紝鍙娴嬩笅涓�娈佃矾寰勬槸鍚﹀彲璧�(褰撳墠璺緞宸茬粡琚攣瀹氭棤闇�鍐嶆娴�)
+// if (isLock) {
+// //鍙娴嬩笅涓�娈佃矾寰勬槸鍚﹀彲璧�(褰撳墠璺緞宸茬粡琚攣瀹氭棤闇�鍐嶆娴�)
+// //妫�娴嬭矾寰勬槸鍚﹀彲琛岃蛋
+// if (!checkPath(nextNodes == null ? command.getNodes() : nextNodes, null, whiteList)) {
+// return false;
+// }
+// }else {
+// //妫�娴嬪綋鍓嶈矾寰勫拰涓嬩竴娈佃矾寰�
+// //妫�娴嬭矾寰勬槸鍚﹀彲琛岃蛋
+// if (!checkPath(command.getNodes(), nextNodes, whiteList)) {
+// return false;
+// }
+// }
+//
+// //閿佸畾璺緞锛岄攣瀹氬綋鍓嶈矾寰勫拰涓嬩竴姝ヨ矾寰�
+// List<NavigateNode> nodes = command.getNodes();
+// if (nextNodes != null) {
+// nodes.addAll(nextNodes);
+// }
+// if (nodes != null) {
+// boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(shuttleProtocol.getCurrentLocNo()), nodes, true);//鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢�
+// if (!result) {
+// return false;//璺緞閿佸畾澶辫触
+// }
+// }
+// }
//鍙墽琛屽懡浠�
if (!write(command, assignCommand)) {
--
Gitblit v1.9.1