From b73d4c5f5995bdb38fab1cdfdf413e759db261f2 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期五, 26 十二月 2025 10:42:23 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TransferStationHandler.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 55 insertions(+), 4 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 d41b4f1..bd00fa4 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
@@ -1,21 +1,72 @@
 package com.zy.acs.manager.core.service;
 
+import com.zy.acs.manager.manager.entity.Code;
 import com.zy.acs.manager.manager.entity.Segment;
-import com.zy.acs.manager.manager.service.SegmentService;
+import com.zy.acs.manager.manager.entity.Sta;
+import com.zy.acs.manager.manager.enums.StaTypeType;
+import com.zy.acs.manager.manager.service.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
+
+// 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 {
 
     @Autowired
     private SegmentService segmentService;
+    @Autowired
+    private AgvService agvService;
+    @Autowired
+    private AgvDetailService agvDetailService;
+    @Autowired
+    private CodeService codeService;
+    @Autowired
+    private StaService staService;
 
-    public boolean isSegDelayAtSta(Segment segment) {
-
-
+    /**
+     *
+     */
+    // return is need wait
+    public boolean hasDelayAtSta(Segment segment) {
+        if (segment == null) {
+            throw new NullPointerException("segment is null in hasDelayAtSta.");
+        }
+        // 鍒ゆ柇AGV鏄惁鍦ㄦ粴鍔ㄨ緭閫佺嚎鍓�
+        Code currentCode = agvDetailService.getCurrentCode(segment.getAgvId());
+        if (null == currentCode) {
+            return false;
+        }
+        Sta rollerSta = staService.selectByCode(currentCode.getId(), StaTypeType.ROLLER);
+        if (null == rollerSta) {
+            return false;
+        }
+        // 濡傛灉涓虹涓�涓猻egment锛堟病鏈塸revious segment锛夛紝鍒欎笉闇�瑕佺瓑寰�
+        Segment preSeg = segmentService.getPreviousStepOfFinish(segment.getTravelId(), segment.getSerial());
+        if (preSeg == null) {
+            return false;
+        }
+        Date preSegEndTime = preSeg.getEndTime();
+        if (null == preSegEndTime) {
+            return false;
+        }
+        Date now = new Date();
 
         return false;
     }

--
Gitblit v1.9.1