| | |
| | | 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(); |
| | | } |
| | | } |
| | | |
| | | // 无可走行路径 |