From d0b25091a0c2dbef45299e152078f858d6d4039e Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期三, 28 一月 2026 15:07:36 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java | 24 ++++++++++++++----------
1 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
index 0dc1f6f..4763a54 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
@@ -50,6 +50,8 @@
private AgvAreaDispatcher agvAreaDispatcher;
@Autowired
private SegmentService segmentService;
+ @Autowired
+ private TravelService travelService;
/**
* get available agv list which is idle
@@ -62,7 +64,6 @@
List<String> result = new ArrayList<>();
for (Agv agv : agvList) {
if (!hasRunning) {
- // 1. without running tasks
if (0 < taskService.count(new LambdaQueryWrapper<Task>()
.eq(Task::getAgvId, agv.getId())
.and(i -> i
@@ -73,10 +74,13 @@
)) {
continue;
}
- }
- // 2. in idle status
- if (!agvService.judgeEnable(agv.getId(), true)) {
- continue;
+ if (!agvService.judgeEnable(agv.getId(), true, true)) {
+ continue;
+ }
+ } else {
+ if (!agvService.judgeEnable(agv.getId(), true, false)) {
+ continue;
+ }
}
result.add(agv.getUuid());
@@ -221,15 +225,15 @@
// continue;
// }
// in TransferStationHandler.hasDelayAtSta
- Segment currSeg = segmentService.getRollerWaiting(agvId, sta.getCode(), TaskPosDto.PosType.ORI_STA);
- if (null == currSeg) {
+ Travel currTravelInRollerWaiting = travelService.findRollerWaitingTravel(agvId, currentCode.getId());
+ if (null == currTravelInRollerWaiting) {
continue;
}
// has enough backpack space to load
- Integer backpack = agvService.getBackpack(agvId);
- List<Integer> usedBackpacks = segmentService.selectUsedBackpacks(null, agvId);
- if (usedBackpacks.size() >= backpack) {
+ Integer backpackCap = agvService.getBackpack(agvId);
+ List<Integer> usedBackpacks = segmentService.selectUsedBackpacks(currTravelInRollerWaiting.getId(), agvId);
+ if (usedBackpacks.size() >= backpackCap) {
continue;
}
--
Gitblit v1.9.1