From 67de3f38ab7a5ae9a9ae1aeec369c285004ee4d5 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期五, 13 三月 2026 13:54:37 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java | 60 ++++++++++++++++++++++++++++++++----------------------------
1 files changed, 32 insertions(+), 28 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
index 95704e5..dbf3a7b 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -300,7 +300,7 @@
BlockSeverityType blockSeverity = BlockSeverityType.query(null == jam ? null : jam.getDuration());
// judge avoid of jam 濡傛灉宸茬粡鍦ㄩ伩璁╃偣锛堝洜涓哄綋鍓嶈溅鎵ц浜嗛伩璁╀换鍔★級锛岄偅涔堝垯涓嶈兘鍐嶅幓妫�绱箣鍓嶇殑闃诲璺緞
List<Jam> unfinishedOriginJamByCurrAgv = jamService.getUnfinishedOriginJamByAvo(agv.getId(), startCode.getId(), segment.getId());
- List<String> blackPath = this.getBlackPathList(unfinishedOriginJamByCurrAgv);
+ List<String> blackPath = this.getBlackPathList(agvNo, unfinishedOriginJamByCurrAgv);
// 缁撴灉闆�
List<String> pathList = new ArrayList<>();
@@ -652,43 +652,47 @@
}
}
- private List<String> getBlackPathList(List<Jam> unfinishedOriginJamByCurrAgv) {
+ private List<String> getBlackPathList(String agvNo, List<Jam> unfinishedOriginJamByCurrAgv) {
List<String> blackPathList = new ArrayList<>();
Integer lev = MapDataDispatcher.MAP_DEFAULT_LEV;
- if (!Cools.isEmpty(unfinishedOriginJamByCurrAgv)) {
- for (Jam jam : unfinishedOriginJamByCurrAgv) {
- if (!Cools.isEmpty(jam.getJamPath())) {
+ if (Cools.isEmpty(unfinishedOriginJamByCurrAgv)) {
+ return blackPathList;
+ }
- List<String> list = GsonUtils.fromJsonToList(jam.getJamPath(), String.class);
+ AgvModel agvModel = agvModelService.getByAgvNo(agvNo);
+ double bufferRadius = MapDataUtils.buildFootprint(agvModel).maxExtent();
- Agv jamAgv = agvService.getById(jam.getJamAgv());
- List<String> jamDynamicNodes = mapService.queryCodeListFromDynamicNode(lev, jamAgv.getUuid());
- // jamDynamicNodes has sorted
- String firstCodeNode = jamDynamicNodes.stream().findFirst().orElse(null);
+ for (Jam jam : unfinishedOriginJamByCurrAgv) {
+ if (!Cools.isEmpty(jam.getJamPath())) {
- if (!Cools.isEmpty(firstCodeNode)) {
- int idx = list.indexOf(firstCodeNode);
- if (idx != -1) {
- list = new ArrayList<>(list.subList(idx, list.size()));
+ List<String> list = GsonUtils.fromJsonToList(jam.getJamPath(), String.class);
- // the wave of first node
- Double avoidDistance = MapDataUtils.getVehicleWaveSafeDistance(
- agvModelService.getByAgvId(jamAgv.getId()).getDiameter(),
- MapDataConstant.MAX_DISTANCE_BETWEEN_ADJACENT_AGV_FACTOR
- );
- List<String> waveCodeList = mapService.getWaveScopeByCode(lev, firstCodeNode, avoidDistance)
- .stream().map(NavigateNode::getCodeData).distinct().collect(Collectors.toList());
- list.addAll(waveCodeList);
- } else {
- // 濡傛灉琚樆濉炶溅杈嗗凡缁忎笉鍦ㄥ師鏉ョ殑闃诲璺緞涓紝鑰冭檻閬胯杞﹁蛋琛屾椂涓嶉渶瑕佹妸涔嬪墠鐨勯樆濉炶矾寰勫姞鍏ラ粦鍚嶅崟
- list = new ArrayList<>();
- }
+ String jamAgvNo = agvService.getAgvNo(jam.getJamAgv());
+ List<String> jamDynamicNodes = mapService.queryCodeListFromDynamicNode(lev, jamAgvNo);
+ // jamDynamicNodes has sorted
+ String firstCodeNode = jamDynamicNodes.stream().findFirst().orElse(null);
+
+ if (!Cools.isEmpty(firstCodeNode)) {
+ int idx = list.indexOf(firstCodeNode);
+ if (idx != -1) {
+ list = new ArrayList<>(list.subList(idx, list.size()));
+
+ // the wave of first node
+ AgvModel jamAgvModel = agvModelService.getByAgvNo(jamAgvNo);
+ Double avoidDistance = MapDataUtils.buildFootprint(jamAgvModel).maxExtent() + bufferRadius;
+ List<String> waveCodeList = mapService.getWaveScopeByCode(lev, firstCodeNode, avoidDistance)
+ .stream().map(NavigateNode::getCodeData).distinct().collect(Collectors.toList());
+ list.addAll(waveCodeList);
+ } else {
+ // 濡傛灉琚樆濉炶溅杈嗗凡缁忎笉鍦ㄥ師鏉ョ殑闃诲璺緞涓紝鑰冭檻閬胯杞﹁蛋琛屾椂涓嶉渶瑕佹妸涔嬪墠鐨勯樆濉炶矾寰勫姞鍏ラ粦鍚嶅崟
+ list = new ArrayList<>();
}
-
- blackPathList.addAll(list);
}
+
+ blackPathList.addAll(list);
}
}
+
return blackPathList.stream().distinct().collect(Collectors.toList());
}
--
Gitblit v1.9.1