From f619c9d1736a3690382b58316183cee4f7dc67e6 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期六, 04 十一月 2023 13:58:15 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/NyShuttleThread.java | 75 ++++++++++++++++++++----------------- 1 files changed, 40 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/zy/core/thread/NyShuttleThread.java b/src/main/java/com/zy/core/thread/NyShuttleThread.java index a84ca61..255604a 100644 --- a/src/main/java/com/zy/core/thread/NyShuttleThread.java +++ b/src/main/java/com/zy/core/thread/NyShuttleThread.java @@ -413,6 +413,11 @@ // nodes.addAll(command.getNodes()); // } if (nodes != null) { + 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攣澶辫触 @@ -473,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 = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(shuttleProtocol.getCurrentLocNo()), 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