From 13e767fc0e39a13b0235e09f0dac301bb53ad885 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期三, 31 十二月 2025 17:14:18 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 22 +++++++++++++++++++---
1 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
index 852ad39..ba83c4e 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -276,7 +276,7 @@
int backpackLev = 0;
int backpack = agvService.getBackpack(agvId);
List<Integer> usedBackpacks = segmentService.selectUsedBackpacks(currSeg.getTravelId(), agvId);
- if (usedBackpacks.size() == backpackLev) {
+ if (usedBackpacks.size() >= backpack) {
throw new CoolException("[Agv:" + agvNo + "] allocate inbound segment failed: no idle backpack to use");
}
for (int lev = 1; lev <= backpack; lev++) {
@@ -382,8 +382,24 @@
throw new BusinessException("failed to locate new destination in sorted list");
}
- // 鍚庣户鐐�
- TaskPosDto afterTaskPos = ((idx + 1) < destPosList.size()) ? destPosList.get(idx + 1) : null;
+ // 鍚庣户鐐� todo
+ if (idx + 1 == destPosList.size()) {
+ placeSegSerial = destSegList.get(destSegList.size() - 1).getSerial() + 1;
+ } else {
+ TaskPosDto afterTaskPos = destPosList.get(idx);
+ Segment afterSeg = destSegList.stream()
+ .filter(destSeg -> Objects.equals(destSeg.getId(), afterTaskPos.getSegId()))
+ .findFirst()
+ .orElse(null);
+ if (null == afterSeg) {
+ placeSegSerial = destSegList.get(destSegList.size() - 1).getSerial() + 1;
+ } else {
+ placeSegSerial = afterSeg.getSerial();
+ }
+ }
+
+ // todo
+ TaskPosDto afterTaskPos = (idx + 1) <= destPosList.size() ? destPosList.get(idx) : null;
if (null == afterTaskPos) {
// loadSeg is the last one
placeSegSerial = destSegList.get(destSegList.size() - 1).getSerial() + 1;
--
Gitblit v1.9.1