From 12dc44ac1b5adca57a2a24fc3c1413c7e78cf9c6 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期日, 04 一月 2026 11:31:42 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TransferStationHandler.java |    6 ------
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java         |    1 +
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java      |   16 +++++++++++-----
 3 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
index 230a977..5b0240c 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
@@ -21,6 +21,7 @@
 import org.springframework.context.event.EventListener;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
+import org.springframework.transaction.support.TransactionTemplate;
 
 import javax.annotation.PreDestroy;
 import java.util.ArrayList;
@@ -47,6 +48,8 @@
 
     private Thread actionPublicThread;
 
+    @Autowired
+    private TransactionTemplate txTemplate;
     @Autowired
     private AgvService agvService;
     @Autowired
@@ -119,15 +122,18 @@
                             .eq(Segment::getState, SegmentStateType.WAITING.toString())
                     );
                     for (Segment segment : segments) {
-//                        long startTime = System.currentTimeMillis();
                         if (!transferStationHandler.hasDelayAtSta(segment)) {
-                            trafficService.trigger(segment);
+                            continue;
                         }
-//                        log.info("traffic calculation spend {} ms", System.currentTimeMillis() - startTime);
+                        try {
+                            txTemplate.executeWithoutResult(status -> {
+                                trafficService.trigger(segment);
+                            });
+                        } catch (Exception e) {
+                            log.error("trigger fail segId={}", segment.getId(), e);
+                        }
                     }
-
                 } catch (Exception e) {
-                    // todo test TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                     log.error("KernelScheduler.trafficCalcThread fail", e);
                 }
             }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
index a10ea6c..a386a16 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -287,6 +287,7 @@
             log.error("TrafficService.trigger", e);
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 
+            throw new RuntimeException("trigger method caught an exception", e);
         }
     }
 
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 54bb240..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
@@ -52,12 +52,6 @@
      * 瑕佸仛 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.");
         }

--
Gitblit v1.9.1