From f6df128b575bdb9d0f2512b5fa5a126edfce2799 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 05 五月 2026 09:38:27 +0800
Subject: [PATCH] 算法集成
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java | 28 ++++++++++++++++++----------
1 files changed, 18 insertions(+), 10 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 bb3cd44..994eb74 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
@@ -201,16 +201,21 @@
// ArrayList<List<TaskPosDto>> list = JSON.parseObject(travel.getTaskContent(), new TypeReference<ArrayList<List<TaskPosDto>>>() {});
// * sync wave scope
- if (!avoidWaveCalculator.calcWaveScope(agvModelService.getByAgvId(agv.getId()))) {
- log.error("failed to calculate avoid wave matrix ...");
- return;
- }
+// if (!avoidWaveCalculator.calcWaveScope(agvModelService.getByAgvId(agv.getId()))) {
+// log.error("failed to calculate avoid wave matrix ...");
+// return;
+// }
// checkout path
Code startCode = agvDetailService.getCurrentCode(travel.getAgvId());
Code endCode = codeService.getCacheById(endNode);
// long startTime = System.currentTimeMillis();
- List<String> pathList = this.checkoutPath(agv, startCode, endCode, segment);
+ List<Jam> unfinishedOriginJamByCurrAgv = jamService.getUnfinishedOriginJamByAvo(agv.getId(), startCode.getId(), segment.getId());
+ List<String> blackPath = this.getBlackPathList(unfinishedOriginJamByCurrAgv);
+ List<String> pathList = mapService.checkoutPath(agv.getUuid(), startCode, endCode, false, blackPath, segment);
+
+
+ //List<String> pathList = this.checkoutPath(agv, startCode, endCode, segment);
// System.out.println("checkoutPath: " + (System.currentTimeMillis() - startTime));
if (Cools.isEmpty(pathList)) {
return;
@@ -277,7 +282,7 @@
}
}
- mapService.lockPath(null, pathList, agv.getUuid());
+ //mapService.lockPath(null, pathList, agv.getUuid());
// startTime = System.currentTimeMillis();
mainService.generateAction(segment.getAgvId(), segmentList, pathList, now);
@@ -310,7 +315,7 @@
List<String> lockPathList = mapService.checkoutPath(agvNo, startCode, endCode, true, blackPath, segment);
if (!Cools.isEmpty(lockPathList) && // 瀛樺湪閬胯瑙�
- Math.abs(lockPathList.size() - unlockPathList.size()) <= Arrays.stream(mapDataDispatcher.getCodeMatrix(lev)).mapToInt(row -> row.length).sum() / 10
+ Math.abs(lockPathList.size() - unlockPathList.size()) <= Arrays.stream(mapDataDispatcher.getCodeMatrix(lev)).mapToInt(row -> row.length).sum() / 10
) {
pathList = lockPathList;
@@ -349,7 +354,7 @@
}
}
- // 鏃犲彲璧拌璺緞
+ // 鏃犲彲璧拌璺緞
} else {
if (Cools.isEmpty(blockVehicleList)) {
@@ -672,7 +677,7 @@
// the wave of first node
Double avoidDistance = MapDataUtils.getVehicleWaveSafeDistance(
- agvModelService.getByAgvId(jamAgv.getAgvModel()).getDiameter(),
+ agvModelService.getByAgvId(jamAgv.getId()).getDiameter(),
MapDataConstant.MAX_DISTANCE_BETWEEN_ADJACENT_AGV_FACTOR
);
List<String> waveCodeList = mapService.getWaveScopeByCode(lev, firstCodeNode, avoidDistance)
@@ -703,9 +708,12 @@
continue;
}
// 褰撳墠vehicle姝e湪杩涜婊氱瓛杈撻�佺嚎绛夊緟
- if (segmentService.isRollerWaiting(agvId)) {
+ if (travelService.hasRollerWaiting(agvId)) {
continue;
}
+// if (segmentService.isRollerWaiting(agvId)) {
+// continue;
+// }
return blockVehicleDto.getVehicle();
}
return null;
--
Gitblit v1.9.1