From 819bef1aeacf77eaaac809f87971db1056d18ee5 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 14 十一月 2024 13:57:55 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 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 d9e99d5..428c9f0 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 @@ -55,6 +55,8 @@ @Autowired private MainService mainService; @Autowired + private MainLockWrapService mainLockWrapService; + @Autowired private MapService mapService; @Autowired private MapDataDispatcher mapDataDispatcher; @@ -91,6 +93,7 @@ if (!Cools.isEmpty(waitingSegList)) { for (Segment waitingSeg : waitingSegList) { if (!waitingSeg.getId().equals(segment.getId())) { + log.error("AGV[{}] 浠诲姟寮傚父锛屾湇鍔″櫒閿欒锛侊紒锛�", agv.getUuid()); return; } } @@ -217,9 +220,17 @@ if (!pathList.get(pathList.size() - 1).equals(endCode.getData())) { assert !Cools.isEmpty(blockVehicleList); - boolean hasUnavoidableBlocks = blockVehicleList.stream().anyMatch(blockVehicleDto -> !blockVehicleDto.isAvoidable()); + boolean hasUnavoidableBlocks = blockVehicleList.stream().anyMatch(blockVehicleDto -> !blockVehicleDto.isAvoidable()); if (hasUnavoidableBlocks && pathList.size() <= MIN_SLICE_PATH_LENGTH) { log.info("AGV[{}] waiting in place, because the path list is too short...", agvNo); + pathList.clear(); + } + + boolean hasCycleJam = blockVehicleList.stream().anyMatch( + blockVehicleDto -> null != jamService.getCycleJam(agv.getId(), segment.getId(), blockVehicleDto.getVehicle()) + ); + if (hasCycleJam) { + log.info("AGV[{}] waiting in place, because has cycle jam...", agvNo); pathList.clear(); } } @@ -441,7 +452,7 @@ } else { - return mainService.buildMinorTask(agv, null, TaskTypeType.MOVE, endCodeData); + return mainLockWrapService.buildMinorTask(agv, null, TaskTypeType.MOVE, endCodeData); } return true; -- Gitblit v1.9.1