From 15815f1fde7fea3f18bf8b3a7a520199449ca0d8 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期四, 22 一月 2026 09:53:43 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 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 2918e16..8bf7561 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
@@ -121,7 +123,7 @@
             return null;
         }
 
-        List<String> availableAgvNos = this.getAvailableAgvNos(agvAreaDispatcher.getAgvNosByTask(task), true);
+        List<String> availableAgvNos = this.getAvailableAgvNos(agvAreaDispatcher.getAgvIdsByTask(task), true);
         FilterLaneDto filterLaneDto = this.filterThroughLane(task, availableAgvNos);
         if (filterLaneDto == null) {
             return null;
@@ -155,7 +157,7 @@
      *      it can break the limit of the number of agv backpack
      */
     public synchronized String normalExecute(Task task) {
-        List<String> availableAgvNos = this.getAvailableAgvNos(agvAreaDispatcher.getAgvNosByTask(task), false);
+        List<String> availableAgvNos = this.getAvailableAgvNos(agvAreaDispatcher.getAgvIdsByTask(task), false);
 //        List<String> availableAgvNos = this.getAvailableAgvNos(null);
         if (Cools.isEmpty(availableAgvNos)) {
 //            log.warn("No available agv to assign the task[{}]", task.getSeqNum());
@@ -221,15 +223,19 @@
 //                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;
             }
+//            Segment currSeg = segmentService.getRollerWaiting(agvId, sta.getCode(), TaskPosDto.PosType.ORI_STA);
+//            if (null == currSeg) {
+//                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