From c66ae137f314075f261bb13a1158bbf8ea4bf645 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@gmail.com>
Date: 星期四, 25 十二月 2025 15:10:04 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TransferStationHandler.java |   47 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 43 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..16ee3c6 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,60 @@
 package com.zy.acs.manager.core.service;
 
+import com.zy.acs.manager.manager.entity.AgvDetail;
+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
 @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