From b1dd4c6e284244bd7224e2c050a9670fbd9a38ea Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 19 一月 2026 16:21:49 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TransferStationHandler.java |   35 +++++++++++++++++------------------
 1 files changed, 17 insertions(+), 18 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..12c37f9 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,22 +10,9 @@
 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
-/**
- * alter table man_sta
- *     add capacity int null comment '妲戒綅鏁�' after angle;
- *
- * alter table man_sta
- *     add occ_cnt int null comment '鍗犵敤鏁�' after capacity;
- *
- * alter table man_sta
- *     add rsv_in_cnt int null comment '棰勭害鏀捐揣閲�' after occ_cnt;
- *
- * alter table man_sta
- *     add rsv_out_cnt int null comment '棰勭害鍙栬揣閲�' after rsv_in_cnt;
- */
 @Slf4j
 @Service
 public class TransferStationHandler {
@@ -53,8 +40,9 @@
         if (currSeg == null) {
             throw new NullPointerException("segment is null in hasDelayAtSta.");
         }
+        Long agvId = currSeg.getAgvId();
         // 鍒ゆ柇AGV鏄惁鍦ㄦ粴鍔ㄨ緭閫佺嚎鍓�
-        Code currentCode = agvDetailService.getCurrentCode(currSeg.getAgvId());
+        Code currentCode = agvDetailService.getCurrentCode(agvId);
         if (null == currentCode) {
             return false;
         }
@@ -75,16 +63,21 @@
         }
         long preEndTime = preSeg.getEndTime().getTime();
         long now = System.currentTimeMillis();
-        Long agvId = currSeg.getAgvId();
 
         // inbound
         if (prePosType.equals(TaskPosDto.PosType.ORI_STA)) {
 
             // 鑳岀瘬鏈弧鎵嶇瓑
             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 +95,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