From b8571f010ee3dec5e6cbab95f634082eefce22a8 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 03 十二月 2024 09:29:09 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java index 0ebf382..7cbe7b0 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java @@ -4,7 +4,6 @@ import com.zy.acs.framework.common.Cools; import com.zy.acs.manager.common.utils.MapDataUtils; import com.zy.acs.manager.core.domain.Lane; -import com.zy.acs.manager.core.domain.type.BlockSeverityType; import com.zy.acs.manager.core.service.LaneService; import com.zy.acs.manager.core.service.astart.domain.DynamicNode; import com.zy.acs.manager.manager.entity.Route; @@ -44,7 +43,7 @@ private ConfigService configService; public synchronized NavigateNode execute(String agvNo, NavigateNode start, NavigateNode end - , Boolean lock, List<String> blackList, Segment segment, BlockSeverityType blockSeverity) { + , Boolean lock, List<String> blackList, Segment segment) { if (start.getX() == end.getX() && start.getY() == end.getY()) { return end; } @@ -73,6 +72,14 @@ if (!Cools.isEmpty(blackList) && blackList.contains(node.getCodeData())) { continue; } + // 鐗规畩鎯呭喌锛屽綋blackList鏈変笖鍙湁涓�涓厓绱犱笖涓簊tartNode鏃� + // 璇存槑blackList宸茬粡鐭ラ亾褰撳墠瀵艰埅璧峰鐐瑰拰鐩爣鐐逛负鐩搁偦鑺傜偣 + // 浣嗘槸褰撳墠blackList鐨勪换鍔℃槸涓嶈绯荤粺璧扮浉閭荤殑鏈�鐭矾寰勶紝鎵�浠ユ墠浼氭湁涓嬮潰鐨勫垽鏂拰continue + if (blackList.size() == 1 && blackList.get(0).equals(start.getCodeData())) { + if (isEndNode && currentNode.getCodeData().equals(start.getCodeData())) { + continue; + } + } // 鑺傜偣琚崰鐢� DynamicNode dynamicNode = dynamicMatrix[node.getX()][node.getY()]; @@ -81,7 +88,7 @@ if (!vehicle.equals(DynamicNodeType.ACCESS.val)) { if (!vehicle.equals(agvNo)) { - // 瀛樺湪杞﹁締锛屼笖涓哄凡缁忛伩璁╃殑杞︼紝鍒欐潈閲嶅�煎鍔� + // vehicle宸茬粡涓哄綋鍓峴egment鍋氳繃浜嗛伩璁╋紝涓旈伩璁╀换鍔″凡瀹屾垚锛屽垯鏉冮噸鍊煎鍔� if (null != segment) { if (!Cools.isEmpty(jamService.getJamFromSegmentByAvo(segment, vehicle))) { weight += WEIGHT_CALC_FACTOR; -- Gitblit v1.9.1