From 80f5003a640db7795d69c5e3a73caa685c289b80 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@gmail.com>
Date: 星期三, 14 一月 2026 16:27:38 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TransferStationHandler.java |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TransferStationHandler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TransferStationHandler.java
index d49dbc8..ff1ea3f 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TransferStationHandler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TransferStationHandler.java
@@ -10,9 +10,11 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
 import java.util.Objects;
 
-// man_segment: start_time, end_time
+// man_segment: start_time, end_time, alter table man_segment
+//    add roller_waiting int(1) default 0 null comment '婊氱瓛绾跨瓑寰�' after end_time;
 /**
  * alter table man_sta
  *     add capacity int null comment '妲戒綅鏁�' after angle;
@@ -82,9 +84,15 @@
 
             // 鑳岀瘬鏈弧鎵嶇瓑
             Integer backpack = agvService.getBackpack(agvId);
-            int countRemainingBackpack = segmentService.countRemainingBackpack(currSeg.getTravelId(), agvId);
-            if (countRemainingBackpack >= backpack) {
+            List<Integer> usedBackpacks = segmentService.selectUsedBackpacks(currSeg.getTravelId(), agvId);
+            if (usedBackpacks.size() >= backpack) {
                 return false;
+            }
+
+            // sign waiting
+            if (currSeg.getRollerWaiting() == 0) {
+                currSeg.setRollerWaiting(1);
+                segmentService.updateById(currSeg);
             }
 
             // timeout
@@ -102,6 +110,12 @@
                 return false;
             }
 
+            // sign waiting
+            if (currSeg.getRollerWaiting() == 0) {
+                currSeg.setRollerWaiting(1);
+                segmentService.updateById(currSeg);
+            }
+
             // timeout
             return (now - preEndTime) < PLACE_DELAY_MS;
         }

--
Gitblit v1.9.1