From 7f70cb15d035f0c233b9e62b9e43aa985317c908 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 04 十一月 2024 10:22:45 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java | 103 +-------------------------------------------------- 1 files changed, 3 insertions(+), 100 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 946ce40..86c4139 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 @@ -41,14 +41,14 @@ private ActionService actionService; public List<String> checkoutPath(String agvNo, Code startCode, Code endCode, Boolean lock) { - return this.checkoutPath(agvNo, startCode, endCode, lock, null, null); + return this.checkoutPath(agvNo, startCode, endCode, lock, null); } /** * 瀵诲潃 ===>> A Star */ public synchronized List<String> checkoutPath(String agvNo, Code startCode, Code endCode - , Boolean lock, List<String> whiteList, List<String> blackList) { + , Boolean lock, List<String> blackList) { int[] startMapIdx = mapDataDispatcher.getCodeMatrixIdx(null, startCode.getData()); int[] endMapIdx = mapDataDispatcher.getCodeMatrixIdx(null, endCode.getData()); @@ -56,7 +56,7 @@ NavigateNode startNode = new NavigateNode(startMapIdx[0], startMapIdx[1], startCode.getData()); NavigateNode endNode = new NavigateNode(endMapIdx[0], endMapIdx[1], endCode.getData()); - NavigateNode finishNode = aStarNavigateService.execute(agvNo, startNode, endNode, lock, whiteList, blackList); + NavigateNode finishNode = aStarNavigateService.execute(agvNo, startNode, endNode, lock, blackList); if (null == finishNode) { log.warn("{} 鍙稟GV妫�绱{}] ===>> [{}]璺緞澶辫触......", agvNo, startCode.getData(), endCode.getData()); @@ -171,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