From ed947b45d63d2ec3edf429f09e01c8715de88550 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期日, 04 一月 2026 10:49:56 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TransferStationHandler.java | 26 +++++++++++++++++++++++---
1 files changed, 23 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..54bb240 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;
@@ -50,6 +52,12 @@
* 瑕佸仛 ready-for-next
*/
public boolean hasDelayAtSta(Segment currSeg) {
+ // todo
+ Sta sta = staService.selectByStaNo("1");
+ sta.setOccCnt(sta.getOccCnt() + 1);
+ staService.updateById(sta);
+
+
if (currSeg == null) {
throw new NullPointerException("segment is null in hasDelayAtSta.");
}
@@ -82,9 +90,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 +116,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