From cbfb46f6fc3ed2a09540e4feb7fdb6b51b26d009 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 02 四月 2026 15:21:22 +0800
Subject: [PATCH] #优化运行速度

---
 src/main/java/com/zy/core/utils/StationOperateProcessUtils.java |   41 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 37 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java b/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
index 0a9a7a3..f05e0ae 100644
--- a/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
@@ -18,10 +18,7 @@
 import com.zy.core.task.MainProcessLane;
 import com.zy.core.task.MainProcessTaskSubmitter;
 import com.zy.core.thread.StationThread;
-import com.zy.core.utils.station.StationDispatchLoadSupport;
-import com.zy.core.utils.station.StationOutboundDispatchProcessor;
-import com.zy.core.utils.station.StationRegularDispatchProcessor;
-import com.zy.core.utils.station.StationRerouteProcessor;
+import com.zy.core.utils.station.*;
 import com.zy.core.utils.station.model.RerouteCommandPlan;
 import com.zy.core.utils.station.model.RerouteContext;
 import com.zy.core.utils.station.model.RerouteDecision;
@@ -53,6 +50,8 @@
     private StationRerouteProcessor stationRerouteProcessor;
     @Autowired
     private MainProcessTaskSubmitter mainProcessTaskSubmitter;
+    @Autowired
+    private StationOutboundDecisionSupport stationOutboundDecisionSupport;
 
     //鎵ц杈撻�佺珯鐐瑰叆搴撲换鍔�
     public synchronized void stationInExecute() {
@@ -347,9 +346,24 @@
     public void submitCheckStationOutOrderTasks(MainProcessLane lane, long minIntervalMs) {
         List<BasDevp> basDevps = basDevpService.list(new QueryWrapper<>());
         for (BasDevp basDevp : basDevps) {
+            StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basDevp.getDevpNo());
+            if (stationThread == null) {
+                continue;
+            }
+
             for (StationObjModel stationObjModel : basDevp.getOutOrderList$()) {
                 Integer stationId = stationObjModel == null ? null : stationObjModel.getStationId();
                 if (stationId == null) {
+                    continue;
+                }
+                Map<Integer, StationProtocol> statusMap = stationThread.getStatusMap();
+                StationProtocol stationProtocol = statusMap.get(stationId);
+                if (stationProtocol == null
+                        || !stationProtocol.isAutoing()
+                        || !stationProtocol.isLoading()
+                        || stationProtocol.getTaskNo() <= 0
+                        || stationProtocol.isRunBlock()
+                        || !stationProtocol.getStationId().equals(stationProtocol.getTargetStaNo())) {
                     continue;
                 }
                 mainProcessTaskSubmitter.submitKeyedSerialTask(
@@ -379,6 +393,13 @@
                 if (stationId == null) {
                     continue;
                 }
+                if (!stationProtocol.isAutoing()
+                        || !stationProtocol.isLoading()
+                        || stationProtocol.getTaskNo() <= 0
+                        || !stationOutboundDecisionSupport.isWatchingCircleArrival(stationProtocol.getTaskNo(), stationProtocol.getStationId())) {
+                    continue;
+                }
+
                 mainProcessTaskSubmitter.submitKeyedSerialTask(
                         lane,
                         stationId,
@@ -406,6 +427,12 @@
                 if (stationId == null) {
                     continue;
                 }
+                if (!stationProtocol.isAutoing()
+                        || !stationProtocol.isLoading()
+                        || stationProtocol.getTaskNo() <= 0
+                        || !stationProtocol.isRunBlock()) {
+                    continue;
+                }
                 mainProcessTaskSubmitter.submitKeyedSerialTask(
                         lane,
                         stationId,
@@ -433,6 +460,12 @@
                 if (stationId == null) {
                     continue;
                 }
+                if (!stationProtocol.isAutoing()
+                        || !stationProtocol.isLoading()
+                        || stationProtocol.getTaskNo() <= 0
+                        || stationProtocol.isRunBlock()) {
+                    continue;
+                }
                 mainProcessTaskSubmitter.submitKeyedSerialTask(
                         lane,
                         stationId,

--
Gitblit v1.9.1