From c720e1ca147093cac0137e4bd9d053e5e04c8e7a Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 01 十一月 2024 12:51:42 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java | 110 ++---------------------------------------------------- 1 files changed, 5 insertions(+), 105 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java index 107e9a3..df62c1f 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java @@ -45,7 +45,7 @@ } /** - * 瀵诲潃 ===>> A* + * 瀵诲潃 ===>> A Star */ public synchronized List<String> checkoutPath(String agvNo, Code startCode, Code endCode , Boolean lock, List<String> whiteList, List<String> blackList) { @@ -66,7 +66,7 @@ ArrayList<NavigateNode> navigateNodes = new ArrayList<>(); // 娓叉煋 - NavigateNode parentNode = null;//褰撳墠寰幆涓婁竴鑺傜偣锛岀敤浜庢嫄鐐硅绠� + NavigateNode parentNode = null; // 褰撳墠寰幆涓婁竴鑺傜偣锛岀敤浜庢嫄鐐硅绠� while (finishNode != null) { navigateNodes.add(finishNode); @@ -76,12 +76,9 @@ Collections.reverse(navigateNodes); - //灏嗘瘡涓妭鐐归噷闈㈢殑fatherNode鑷充负null(鏂逛究鍚庣画璁$畻鏃剁埗鑺傜偣杩囧瀵艰嚧鏄剧ず鐨勮妭鐐瑰お澶�) - for (NavigateNode navigateNode : navigateNodes) { - //鐖惰妭鐐硅缃负null锛屼笉褰卞搷璁$畻缁撴灉锛屼笉褰卞搷鍚庣画鎿嶄綔銆� - //姝ゆ搷浣滀粎涓哄悗缁帓鏌ュ鐞嗘彁渚涜瑙夋柟渚裤�� - navigateNode.setParent(null); - } +// for (NavigateNode navigateNode : navigateNodes) { +// navigateNode.setParent(null); +// } return navigateNodes.stream().map(NavigateNode::getCodeData).collect(Collectors.toList()); } @@ -174,103 +171,6 @@ public void lockPath(Integer lev, List<String> pathList, String agvNo) { mapDataDispatcher.modifyDynamicMatrix(lev, pathList, agvNo); - } - - public synchronized void unlockPath(String agvNo, List<String> nodeList) { - try { - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - - if (Cools.isEmpty(agvNo, nodeList)) { - return; - } - - List<String> pathList = actionService.getPathListByAgv(agvNo).stream().distinct().collect(Collectors.toList()); - - List<String> inTrace = new ArrayList<>(); - - Set<String> outsideTrace = new HashSet<>(); - - if (Cools.isEmpty(pathList)) { - outsideTrace.addAll(nodeList); - } else { - - int size = nodeList.size(); - for (String code : pathList) { - - - Iterator<String> iterator = nodeList.iterator(); - while (iterator.hasNext()) { - - String next = iterator.next(); - - if (next.equals(code)) { - if (!inTrace.contains(next)) { - inTrace.add(next); - } - - iterator.remove(); - } - } - - } - - - assert inTrace.size() + nodeList.size() <= size; - - if (!Cools.isEmpty(nodeList)) { - outsideTrace.addAll(nodeList); - } - - if (!Cools.isEmpty(inTrace)) { - - String last = inTrace.get(inTrace.size() - 1); - - int idx = pathList.indexOf(last); - inTrace = pathList.subList(0, idx + 1); - } - - - } - - List<String> resetCodeList = new ArrayList<>(); - - Integer lev = null; - - DynamicNode[][] dynamicMatrix = mapDataDispatcher.getDynamicMatrix(lev); - - for (String code : inTrace) { - int[] node = mapDataDispatcher.getCodeMatrixIdx(lev, code); - DynamicNode dynamicNode = dynamicMatrix[node[0]][node[1]]; - - if (dynamicNode.getVehicle().equals(agvNo)) { - resetCodeList.add(code); - } - } - - for (String code : outsideTrace) { - int[] node = mapDataDispatcher.getCodeMatrixIdx(lev, code); - DynamicNode dynamicNode = dynamicMatrix[node[0]][node[1]]; - - if (dynamicNode.getVehicle().equals(agvNo)) { - resetCodeList.add(code); - } - } - - if (!Cools.isEmpty(resetCodeList)) { - - mapDataDispatcher.clearDynamicMatrixByCodeList(lev, resetCodeList); - } - - stopWatch.stop(); - if (stopWatch.getTime() > 50) { - log.info("瑙i攣璺緞鍑芥暟鑺辫垂鏃堕棿涓猴細{}姣......", stopWatch.getTime()); - } - - } catch (Exception e) { - log.error("TrafficService.unlockPath", e); - } - } public synchronized void unlockPath(String agvNo, String codeData) { -- Gitblit v1.9.1