From febc49cd36666823893c233667b212dfb5527dfb Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 07 四月 2026 09:38:24 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/plugin/NormalProcess.java                           |   25 +-
 src/main/java/com/zy/core/utils/StationOperateProcessUtils.java               |   64 +++-----
 src/main/java/com/zy/core/plugin/XiaosongProcess.java                         |   37 ++--
 src/main/java/com/zy/ai/service/impl/MainProcessPseudocodeServiceImpl.java    |    2 
 src/main/java/com/zy/core/utils/station/StationRerouteProcessor.java          |   66 ---------
 src/main/java/com/zy/core/utils/WmsOperateUtils.java                          |    9 -
 src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java                   |   22 ---
 src/main/java/com/zy/core/utils/station/StationOutboundDispatchProcessor.java |  123 +++++++---------
 src/main/java/com/zy/core/task/MainProcessLane.java                           |    1 
 src/main/java/com/zy/core/utils/station/StationRegularDispatchProcessor.java  |   25 ---
 10 files changed, 114 insertions(+), 260 deletions(-)

diff --git a/src/main/java/com/zy/ai/service/impl/MainProcessPseudocodeServiceImpl.java b/src/main/java/com/zy/ai/service/impl/MainProcessPseudocodeServiceImpl.java
index c78a3fd..c8dea92 100644
--- a/src/main/java/com/zy/ai/service/impl/MainProcessPseudocodeServiceImpl.java
+++ b/src/main/java/com/zy/ai/service/impl/MainProcessPseudocodeServiceImpl.java
@@ -147,7 +147,7 @@
                     璋冪敤 generateStoreWrkFile() 璇锋眰 WMS 鐢熸垚鐪熷疄浠诲姟
                 璋冪敤 crnOperateUtils.crnIoExecute() 鎵ц鍫嗗灈鏈轰换鍔�
                 璋冪敤 crnIoExecuteFinish() 澶勭悊鍫嗗灈鏈轰换鍔″畬鎴愬悗鐨勭姸鎬佹洿鏂板拰浠跨湡绔欑偣鐢熸垚
-                璋冪敤 stationOperateProcessUtils.stationInExecute() 鎵ц杈撻�佺珯鍏ュ簱浠诲姟
+                璋冪敤 stationOperateProcessUtils.submitStationInTasks(...) 鎸� lane 鎻愪氦杈撻�佺珯鍏ュ簱浠诲姟
                 璋冪敤 stationOperateProcessUtils.stationOutExecute() 鎵ц杈撻�佺珯鍑哄簱浠诲姟
                 璋冪敤 stationOperateProcessUtils.stationOutExecuteFinish() 妫�鏌ヨ緭閫佺珯鍑哄簱浠诲姟瀹屾垚
 
diff --git a/src/main/java/com/zy/core/plugin/NormalProcess.java b/src/main/java/com/zy/core/plugin/NormalProcess.java
index 1d3c135..44385b9 100644
--- a/src/main/java/com/zy/core/plugin/NormalProcess.java
+++ b/src/main/java/com/zy/core/plugin/NormalProcess.java
@@ -34,6 +34,7 @@
 @Slf4j
 @Component
 public class NormalProcess implements MainProcessPluginApi, StoreInTaskPolicy {
+    private static final long DISPATCH_INTERVAL_MS = 200L;
 
     @Autowired
     private CrnOperateProcessUtils crnOperateUtils;
@@ -57,19 +58,19 @@
         //璇锋眰鐢熸垚鍏ュ簱浠诲姟
         generateStoreWrkFile();
 
-        //鎵ц鍫嗗灈鏈轰换鍔�
-        crnOperateUtils.crnIoExecute();
-        //鍫嗗灈鏈轰换鍔℃墽琛屽畬鎴�
-        crnOperateUtils.crnIoExecuteFinish();
-        //鎵ц杈撻�佺珯鐐瑰叆搴撲换鍔�
-        stationOperateProcessUtils.stationInExecute();
-        //鎵ц杈撻�佺珯鐐瑰嚭搴撲换鍔�
-        stationOperateProcessUtils.crnStationOutExecute();
+        //鎵ц鍫嗗灈鏈轰换鍔★紝鎸� lane 涓茶鎻愪氦
+        crnOperateUtils.submitCrnIoTasks(DISPATCH_INTERVAL_MS);
+        //鍫嗗灈鏈轰换鍔℃墽琛屽畬鎴愶紝鎸� lane 涓茶鎻愪氦
+        crnOperateUtils.submitCrnIoExecuteFinishTasks(DISPATCH_INTERVAL_MS);
+        //鎵ц杈撻�佺珯鐐瑰叆搴撲换鍔★紝鎸� lane 涓茶鎻愪氦
+        stationOperateProcessUtils.submitStationInTasks(DISPATCH_INTERVAL_MS);
+        //鎵ц杈撻�佺珯鐐瑰嚭搴撲换鍔★紝鎸� lane 涓茶鎻愪氦
+        stationOperateProcessUtils.submitCrnStationOutTasks(DISPATCH_INTERVAL_MS);
 
-        //妫�娴嬭緭閫佺珯鐐规槸鍚﹁繍琛屽牭濉�
-        stationOperateProcessUtils.checkStationRunBlock();
-        //妫�娴嬭緭閫佺珯鐐逛换鍔″仠鐣欒秴鏃跺悗閲嶆柊璁$畻璺緞
-        stationOperateProcessUtils.checkStationIdleRecover();
+        //妫�娴嬭緭閫佺珯鐐规槸鍚﹁繍琛屽牭濉烇紝鎸� lane 涓茶鎻愪氦
+        stationOperateProcessUtils.submitCheckStationRunBlockTasks(DISPATCH_INTERVAL_MS);
+        //妫�娴嬭緭閫佺珯鐐逛换鍔″仠鐣欒秴鏃跺悗閲嶆柊璁$畻璺緞锛屾寜 lane 涓茶鎻愪氦
+        stationOperateProcessUtils.submitCheckStationIdleRecoverTasks(DISPATCH_INTERVAL_MS);
     }
 
     /**
diff --git a/src/main/java/com/zy/core/plugin/XiaosongProcess.java b/src/main/java/com/zy/core/plugin/XiaosongProcess.java
index 6417660..cdb51c6 100644
--- a/src/main/java/com/zy/core/plugin/XiaosongProcess.java
+++ b/src/main/java/com/zy/core/plugin/XiaosongProcess.java
@@ -35,6 +35,7 @@
 @Slf4j
 @Component
 public class XiaosongProcess implements MainProcessPluginApi, StoreInTaskPolicy {
+    private static final long DISPATCH_INTERVAL_MS = 200L;
 
     @Autowired
     private CrnOperateProcessUtils crnOperateUtils;
@@ -60,25 +61,25 @@
         //璇锋眰鐢熸垚鍏ュ簱浠诲姟
         generateStoreWrkFile();
 
-        //鎵ц鍫嗗灈鏈轰换鍔�
-        crnOperateUtils.crnIoExecute();
-        //鍫嗗灈鏈轰换鍔℃墽琛屽畬鎴�
-        crnOperateUtils.crnIoExecuteFinish();
-        //鎵ц杈撻�佺珯鐐瑰叆搴撲换鍔�
-        stationOperateProcessUtils.stationInExecute();
-        //鎵ц鍫嗗灈鏈鸿緭閫佺珯鐐瑰嚭搴撲换鍔�
-        stationOperateProcessUtils.crnStationOutExecute();
-        //鎵ц鍙屽伐浣嶅爢鍨涙満杈撻�佺珯鐐瑰嚭搴撲换鍔�
-        stationOperateProcessUtils.dualCrnStationOutExecute();
-        //妫�娴嬭緭閫佺珯鐐规槸鍚﹁繍琛屽牭濉�
-        stationOperateProcessUtils.checkStationRunBlock();
-        //妫�娴嬭緭閫佺珯鐐逛换鍔″仠鐣欒秴鏃跺悗閲嶆柊璁$畻璺緞
-        stationOperateProcessUtils.checkStationIdleRecover();
+        //鎵ц鍫嗗灈鏈轰换鍔★紝鎸� lane 涓茶鎻愪氦
+        crnOperateUtils.submitCrnIoTasks(DISPATCH_INTERVAL_MS);
+        //鍫嗗灈鏈轰换鍔℃墽琛屽畬鎴愶紝鎸� lane 涓茶鎻愪氦
+        crnOperateUtils.submitCrnIoExecuteFinishTasks(DISPATCH_INTERVAL_MS);
+        //鎵ц杈撻�佺珯鐐瑰叆搴撲换鍔★紝鎸� lane 涓茶鎻愪氦
+        stationOperateProcessUtils.submitStationInTasks(DISPATCH_INTERVAL_MS);
+        //鎵ц鍫嗗灈鏈鸿緭閫佺珯鐐瑰嚭搴撲换鍔★紝鎸� lane 涓茶鎻愪氦
+        stationOperateProcessUtils.submitCrnStationOutTasks(DISPATCH_INTERVAL_MS);
+        //鎵ц鍙屽伐浣嶅爢鍨涙満杈撻�佺珯鐐瑰嚭搴撲换鍔★紝鎸� lane 涓茶鎻愪氦
+        stationOperateProcessUtils.submitDualCrnStationOutTasks(DISPATCH_INTERVAL_MS);
+        //妫�娴嬭緭閫佺珯鐐规槸鍚﹁繍琛屽牭濉烇紝鎸� lane 涓茶鎻愪氦
+        stationOperateProcessUtils.submitCheckStationRunBlockTasks(DISPATCH_INTERVAL_MS);
+        //妫�娴嬭緭閫佺珯鐐逛换鍔″仠鐣欒秴鏃跺悗閲嶆柊璁$畻璺緞锛屾寜 lane 涓茶鎻愪氦
+        stationOperateProcessUtils.submitCheckStationIdleRecoverTasks(DISPATCH_INTERVAL_MS);
 
-        // 鎵ц鍙屽伐浣嶅爢鍨涙満浠诲姟
-        dualCrnOperateProcessUtils.dualCrnIoExecute();
-        // 鍙屽伐浣嶅爢鍨涙満浠诲姟鎵ц瀹屾垚
-        dualCrnOperateProcessUtils.dualCrnIoExecuteFinish();
+        // 鎵ц鍙屽伐浣嶅爢鍨涙満浠诲姟锛屾寜 lane 涓茶鎻愪氦
+        dualCrnOperateProcessUtils.submitDualCrnIoTasks(DISPATCH_INTERVAL_MS);
+        // 鍙屽伐浣嶅爢鍨涙満浠诲姟鎵ц瀹屾垚锛屾寜 lane 涓茶鎻愪氦
+        dualCrnOperateProcessUtils.submitDualCrnIoExecuteFinishTasks(DISPATCH_INTERVAL_MS);
 
     }
 
diff --git a/src/main/java/com/zy/core/task/MainProcessLane.java b/src/main/java/com/zy/core/task/MainProcessLane.java
index 746bdab..25a2017 100644
--- a/src/main/java/com/zy/core/task/MainProcessLane.java
+++ b/src/main/java/com/zy/core/task/MainProcessLane.java
@@ -9,6 +9,7 @@
     STATION("station"),
     STATION_IN("station-in-"),
     STATION_OUT("station-out-"),
+    DUAL_STATION_OUT("dual-station-out-"),
     STATION_OUT_FINISH("station-out-finish-"),
     STATION_IN_ARRIVAL("station-in-arrival-"),
     STATION_COMPLETE("station-complete-"),
diff --git a/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java b/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
index b4090f5..c161253 100644
--- a/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
@@ -75,13 +75,6 @@
 
     private static final String CRN_OUT_REQUIRE_STATION_OUT_ENABLE_CONFIG = "crnOutRequireStationOutEnable";
 
-    public synchronized void crnIoExecute() {
-        List<BasCrnp> basCrnps = basCrnpService.list(new QueryWrapper<>());
-        for (BasCrnp basCrnp : basCrnps) {
-            crnIoExecute(basCrnp);
-        }
-    }
-
     public void crnIoExecute(BasCrnp basCrnp) {
         if (basCrnp == null || basCrnp.getCrnNo() == null) {
             return;
@@ -668,14 +661,6 @@
         return defaultValue;
     }
 
-    //鍫嗗灈鏈轰换鍔℃墽琛屽畬鎴�
-    public synchronized void crnIoExecuteFinish() {
-        List<BasCrnp> basCrnps = basCrnpService.list(new QueryWrapper<>());
-        for (BasCrnp basCrnp : basCrnps) {
-            crnIoExecuteFinish(basCrnp);
-        }
-    }
-
     public void crnIoExecuteFinish(BasCrnp basCrnp) {
         if (basCrnp == null || basCrnp.getCrnNo() == null) {
             return;
@@ -735,13 +720,6 @@
             }
 
             redisUtil.set(RedisKeyType.CRN_IO_EXECUTE_FINISH_LIMIT.key + basCrnp.getCrnNo(), "lock",10);
-        }
-    }
-
-    public synchronized void plannerExecute() {
-        List<BasCrnp> basCrnps = basCrnpService.list(new QueryWrapper<>());
-        for (BasCrnp basCrnp : basCrnps) {
-            plannerExecute(basCrnp);
         }
     }
 
diff --git a/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java b/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
index 5c852ad..3950d8b 100644
--- a/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
@@ -53,19 +53,9 @@
     @Autowired
     private BasCrnpService basCrnpService;
 
-    //鎵ц杈撻�佺珯鐐瑰叆搴撲换鍔�
-    public synchronized void stationInExecute() {
-        stationRegularDispatchProcessor.stationInExecute();
-    }
-
     // 鎵ц鍗曚釜绔欑偣鐨勫叆搴撲换鍔′笅鍙�
     public void stationInExecute(BasDevp basDevp, StationObjModel stationObjModel) {
         stationRegularDispatchProcessor.stationInExecute(basDevp, stationObjModel);
-    }
-
-    //鎵ц鍫嗗灈鏈鸿緭閫佺珯鐐瑰嚭搴撲换鍔�
-    public synchronized void crnStationOutExecute() {
-        stationOutboundDispatchProcessor.crnStationOutExecute();
     }
 
     // 鎵ц鍗曚釜鍑哄簱浠诲姟瀵瑰簲鐨勮緭閫佺珯鐐逛笅鍙�
@@ -73,9 +63,9 @@
         stationOutboundDispatchProcessor.crnStationOutExecute(wrkMast);
     }
 
-    //鎵ц鍙屽伐浣嶅爢鍨涙満杈撻�佺珯鐐瑰嚭搴撲换鍔�
-    public synchronized void dualCrnStationOutExecute() {
-        stationOutboundDispatchProcessor.dualCrnStationOutExecute();
+    // 鎵ц鍗曚釜鍙屽伐浣嶅嚭搴撲换鍔″搴旂殑杈撻�佺珯鐐逛笅鍙�
+    public void dualCrnStationOutExecute(WrkMast wrkMast) {
+        stationOutboundDispatchProcessor.dualCrnStationOutExecute(wrkMast);
     }
 
     // 妫�娴嬪崟涓嚭搴撲换鍔℃槸鍚﹀埌杈剧洰鏍囩珯鍙�
@@ -110,29 +100,14 @@
         }
     }
 
-    // 妫�娴嬩换鍔¤浆瀹屾垚
-    public void checkTaskToComplete() {
-        stationRegularDispatchProcessor.checkTaskToComplete();
-    }
-
     // 妫�娴嬪崟涓嚭搴撲换鍔℃槸鍚﹀彲浠ヨ浆瀹屾垚
     public void checkTaskToComplete(WrkMast wrkMast) {
         stationRegularDispatchProcessor.checkTaskToComplete(wrkMast);
     }
 
-    //妫�娴嬭緭閫佺珯鐐规槸鍚﹁繍琛屽牭濉�
-    public void checkStationRunBlock() {
-        stationRerouteProcessor.checkStationRunBlock();
-    }
-
     // 妫�娴嬪崟涓珯鐐规槸鍚﹁繍琛屽牭濉�
     public void checkStationRunBlock(BasDevp basDevp, Integer stationId) {
         stationRerouteProcessor.checkStationRunBlock(basDevp, stationId);
-    }
-
-    //妫�娴嬭緭閫佺珯鐐逛换鍔″仠鐣欒秴鏃跺悗閲嶆柊璁$畻璺緞
-    public void checkStationIdleRecover() {
-        stationRerouteProcessor.checkStationIdleRecover();
     }
 
     // 妫�娴嬪崟涓珯鐐逛换鍔″仠鐣欒秴鏃跺悗鐨勬仮澶嶅鐞�
@@ -158,19 +133,9 @@
                         WrkStsType.STATION_RUN.sts));
     }
 
-    // 妫�娴嬪嚭搴撴帓搴�
-    public synchronized void checkStationOutOrder() {
-        stationRerouteProcessor.checkStationOutOrder();
-    }
-
     // 妫�娴嬪崟涓珯鐐圭殑鍑哄簱鎺掑簭
     public void checkStationOutOrder(BasDevp basDevp, StationObjModel stationObjModel) {
         stationRerouteProcessor.checkStationOutOrder(basDevp, stationObjModel);
-    }
-
-    // 鐩戞帶缁曞湀绔欑偣
-    public synchronized void watchCircleStation() {
-        stationRerouteProcessor.watchCircleStation();
     }
 
     // 鐩戞帶鍗曚釜缁曞湀绔欑偣
@@ -241,6 +206,29 @@
         }
     }
 
+    public void submitDualCrnStationOutTasks(long minIntervalMs) {
+        submitDualCrnStationOutTasks(MainProcessLane.DUAL_STATION_OUT, minIntervalMs);
+    }
+
+    public void submitDualCrnStationOutTasks(MainProcessLane lane, long minIntervalMs) {
+        List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>()
+                .eq("wrk_sts", WrkStsType.OUTBOUND_RUN_COMPLETE.sts)
+                .isNotNull("dual_crn_no"));
+        for (WrkMast wrkMast : wrkMasts) {
+            Integer laneKey = wrkMast == null ? null : wrkMast.getSourceStaNo();
+            if (laneKey == null) {
+                laneKey = wrkMast == null ? null : wrkMast.getWrkNo();
+            }
+            mainProcessTaskSubmitter.submitKeyedSerialTask(
+                    lane,
+                    laneKey,
+                    "dualCrnStationOutExecute",
+                    minIntervalMs,
+                    () -> dualCrnStationOutExecute(wrkMast)
+            );
+        }
+    }
+
     public void submitStationOutExecuteFinishTasks(long minIntervalMs) {
         submitStationOutExecuteFinishTasks(MainProcessLane.STATION_OUT_FINISH, minIntervalMs);
     }
diff --git a/src/main/java/com/zy/core/utils/WmsOperateUtils.java b/src/main/java/com/zy/core/utils/WmsOperateUtils.java
index 358a9e0..eba992f 100644
--- a/src/main/java/com/zy/core/utils/WmsOperateUtils.java
+++ b/src/main/java/com/zy/core/utils/WmsOperateUtils.java
@@ -58,15 +58,6 @@
     @Autowired
     private RedisUtil redisUtil;
 
-    // 鐢宠鍏ュ簱浠诲姟
-    public String applyInTask(String barcode, Integer sourceStaNo, Integer locType1) {
-        InTaskApplyRequest request = new InTaskApplyRequest();
-        request.setBarcode(barcode);
-        request.setSourceStaNo(sourceStaNo);
-        request.setLocType1(locType1);
-        return applyInTask(request);
-    }
-
     public String applyInTask(InTaskApplyRequest request) {
         long startMs = System.currentTimeMillis();
         Map<String, Long> stepCostMap = new LinkedHashMap<>();
diff --git a/src/main/java/com/zy/core/utils/station/StationOutboundDispatchProcessor.java b/src/main/java/com/zy/core/utils/station/StationOutboundDispatchProcessor.java
index b86e1f5..c736296 100644
--- a/src/main/java/com/zy/core/utils/station/StationOutboundDispatchProcessor.java
+++ b/src/main/java/com/zy/core/utils/station/StationOutboundDispatchProcessor.java
@@ -72,19 +72,6 @@
     @Value("${station.outbound.recent-dispatch-protect-seconds:60}")
     private long recentDispatchProtectSeconds;
 
-    public void crnStationOutExecute() {
-        try {
-            List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>()
-                    .eq("wrk_sts", WrkStsType.OUTBOUND_RUN_COMPLETE.sts)
-                    .isNotNull("crn_no"));
-            for (WrkMast wrkMast : wrkMasts) {
-                crnStationOutExecute(wrkMast);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
     public void crnStationOutExecute(WrkMast wrkMast) {
         try {
             if (wrkMast == null || wrkMast.getWrkNo() == null) {
@@ -249,69 +236,67 @@
         }
     }
 
-    public void dualCrnStationOutExecute() {
+    public void dualCrnStationOutExecute(WrkMast wrkMast) {
         try {
-            List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>()
-                    .eq("wrk_sts", WrkStsType.OUTBOUND_RUN_COMPLETE.sts)
-                    .isNotNull("dual_crn_no"));
-            for (WrkMast wrkMast : wrkMasts) {
-                if (hasPendingDispatch(wrkMast.getWrkNo())) {
-                    continue;
-                }
-                StationObjModel stationObjModel = getOutboundSourceStation(wrkMast);
-                if (stationObjModel == null || stationObjModel.getDeviceNo() == null || stationObjModel.getStationId() == null) {
-                    continue;
-                }
-                StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, stationObjModel.getDeviceNo());
-                if (stationThread == null) {
-                    continue;
+            if (wrkMast == null || wrkMast.getWrkNo() == null) {
+                return;
+            }
+            if (hasPendingDispatch(wrkMast.getWrkNo())) {
+                return;
+            }
+            StationObjModel stationObjModel = getOutboundSourceStation(wrkMast);
+            if (stationObjModel == null || stationObjModel.getDeviceNo() == null || stationObjModel.getStationId() == null) {
+                return;
+            }
+            StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, stationObjModel.getDeviceNo());
+            if (stationThread == null) {
+                return;
+            }
+
+            Map<Integer, StationProtocol> stationMap = stationThread.getStatusMap();
+            StationProtocol stationProtocol = stationMap.get(stationObjModel.getStationId());
+            if (stationProtocol == null) {
+                return;
+            }
+
+            Object lock = redisUtil.get(RedisKeyType.STATION_OUT_EXECUTE_LIMIT.key + stationProtocol.getStationId());
+            if (lock != null) {
+                return;
+            }
+
+            if (stationProtocol.isAutoing()
+                    && stationProtocol.isLoading()
+                    && stationProtocol.getTaskNo() == 0) {
+                Double pathLenFactor = stationOutboundDecisionSupport.resolveOutboundPathLenFactor(wrkMast);
+                StationCommand command = stationOutboundDecisionSupport.buildOutboundMoveCommand(
+                        stationThread,
+                        wrkMast,
+                        stationProtocol.getStationId(),
+                        wrkMast.getStaNo(),
+                        pathLenFactor
+                );
+                if (command == null) {
+                    News.taskInfo(wrkMast.getWrkNo(), "鑾峰彇杈撻�佺嚎鍛戒护澶辫触");
+                    return;
                 }
 
-                Map<Integer, StationProtocol> stationMap = stationThread.getStatusMap();
-                StationProtocol stationProtocol = stationMap.get(stationObjModel.getStationId());
-                if (stationProtocol == null) {
-                    continue;
+                boolean offered = offerDevpCommandWithDedup(stationObjModel.getDeviceNo(), command, "dualCrnStationOutExecute");
+                if (!offered) {
+                    return;
                 }
-
-                Object lock = redisUtil.get(RedisKeyType.STATION_OUT_EXECUTE_LIMIT.key + stationProtocol.getStationId());
-                if (lock != null) {
-                    continue;
-                }
-
-                if (stationProtocol.isAutoing()
-                        && stationProtocol.isLoading()
-                        && stationProtocol.getTaskNo() == 0) {
-                    Double pathLenFactor = stationOutboundDecisionSupport.resolveOutboundPathLenFactor(wrkMast);
-                    StationCommand command = stationOutboundDecisionSupport.buildOutboundMoveCommand(
-                            stationThread,
-                            wrkMast,
+                if (stationMoveCoordinator != null) {
+                    stationMoveCoordinator.recordDispatch(
+                            wrkMast.getWrkNo(),
                             stationProtocol.getStationId(),
-                            wrkMast.getStaNo(),
-                            pathLenFactor
+                            "dualCrnStationOutExecute",
+                            command,
+                            false
                     );
-                    if (command == null) {
-                        News.taskInfo(wrkMast.getWrkNo(), "鑾峰彇杈撻�佺嚎鍛戒护澶辫触");
-                        continue;
-                    }
-
-                    boolean offered = offerDevpCommandWithDedup(stationObjModel.getDeviceNo(), command, "dualCrnStationOutExecute");
-                    if (!offered) {
-                        continue;
-                    }
-                    if (stationMoveCoordinator != null) {
-                        stationMoveCoordinator.recordDispatch(
-                                wrkMast.getWrkNo(),
-                                stationProtocol.getStationId(),
-                                "dualCrnStationOutExecute",
-                                command,
-                                false
-                        );
-                    }
-                    markPendingDispatch(wrkMast.getWrkNo());
-                    News.info("杈撻�佺珯鐐瑰嚭搴撳懡浠ゅ凡鍏ヨ澶囨墽琛岄摼璺紝绛夊緟婧愮珯鎺ュ崟銆傜珯鐐瑰彿={}锛屽伐浣滃彿={}锛屽懡浠ゆ暟鎹�={}",
-                            stationProtocol.getStationId(), wrkMast.getWrkNo(), JSON.toJSONString(command));
-                    redisUtil.set(RedisKeyType.STATION_OUT_EXECUTE_LIMIT.key + stationProtocol.getStationId(), "lock", 5);
                 }
+                markPendingDispatch(wrkMast.getWrkNo());
+                News.info("杈撻�佺珯鐐瑰嚭搴撳懡浠ゅ凡鍏ヨ澶囨墽琛岄摼璺紝绛夊緟婧愮珯鎺ュ崟銆傜珯鐐瑰彿={}锛屽伐浣滃彿={}锛屽懡浠ゆ暟鎹�={}",
+                        stationProtocol.getStationId(), wrkMast.getWrkNo(), JSON.toJSONString(command));
+                redisUtil.set(RedisKeyType.STATION_OUT_EXECUTE_LIMIT.key + stationProtocol.getStationId(), "lock", 5);
             }
         } catch (Exception e) {
             e.printStackTrace();
diff --git a/src/main/java/com/zy/core/utils/station/StationRegularDispatchProcessor.java b/src/main/java/com/zy/core/utils/station/StationRegularDispatchProcessor.java
index 24bb2dc..f8ef8b9 100644
--- a/src/main/java/com/zy/core/utils/station/StationRegularDispatchProcessor.java
+++ b/src/main/java/com/zy/core/utils/station/StationRegularDispatchProcessor.java
@@ -65,20 +65,6 @@
     @Autowired
     private StationDispatchLoadSupport stationDispatchLoadSupport;
 
-    public void stationInExecute() {
-        try {
-            List<BasDevp> basDevps = basDevpService.list(new QueryWrapper<>());
-            for (BasDevp basDevp : basDevps) {
-                List<StationObjModel> stationList = basDevp.getBarcodeStationList$();
-                for (StationObjModel entity : stationList) {
-                    stationInExecute(basDevp, entity);
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
     public void stationOutExecuteFinish(StationObjModel stationObjModel) {
         try {
             if (stationObjModel == null) {
@@ -106,17 +92,6 @@
             }
 
             completeOutboundStationRun(stationObjModel, stationThread, wrkMast, matchedByRecentArrival);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    public void checkTaskToComplete() {
-        try {
-            List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>().eq("wrk_sts", WrkStsType.STATION_RUN_COMPLETE.sts));
-            for (WrkMast wrkMast : wrkMasts) {
-                checkTaskToComplete(wrkMast);
-            }
         } catch (Exception e) {
             e.printStackTrace();
         }
diff --git a/src/main/java/com/zy/core/utils/station/StationRerouteProcessor.java b/src/main/java/com/zy/core/utils/station/StationRerouteProcessor.java
index 6031758..56c28aa 100644
--- a/src/main/java/com/zy/core/utils/station/StationRerouteProcessor.java
+++ b/src/main/java/com/zy/core/utils/station/StationRerouteProcessor.java
@@ -75,26 +75,6 @@
     @Autowired
     private StationDispatchRuntimeStateSupport stationDispatchRuntimeStateSupport;
 
-    public void checkStationRunBlock() {
-        try {
-            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 (StationProtocol stationProtocol : stationThread.getStatus()) {
-                    if (stationProtocol == null || stationProtocol.getStationId() == null) {
-                        continue;
-                    }
-                    checkStationRunBlock(basDevp, stationProtocol.getStationId());
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
     public void checkStationRunBlock(BasDevp basDevp, Integer stationId) {
         try {
             if (basDevp == null || basDevp.getDevpNo() == null || stationId == null) {
@@ -158,26 +138,6 @@
         }
     }
 
-    public void checkStationIdleRecover() {
-        try {
-            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 (StationProtocol stationProtocol : stationThread.getStatus()) {
-                    if (stationProtocol != null && stationProtocol.getStationId() != null) {
-                        checkStationIdleRecover(basDevp, stationProtocol.getStationId());
-                    }
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
     public void checkStationIdleRecover(BasDevp basDevp, Integer stationId) {
         try {
             if (basDevp == null || basDevp.getDevpNo() == null || stationId == null) {
@@ -202,16 +162,6 @@
             checkStationIdleRecover(basDevp, stationThread, stationProtocol, basDevp.getOutOrderIntList());
         } catch (Exception e) {
             e.printStackTrace();
-        }
-    }
-
-    public void checkStationOutOrder() {
-        List<BasDevp> basDevps = basDevpService.list(new QueryWrapper<BasDevp>());
-        for (BasDevp basDevp : basDevps) {
-            List<StationObjModel> orderList = basDevp.getOutOrderList$();
-            for (StationObjModel stationObjModel : orderList) {
-                checkStationOutOrder(basDevp, stationObjModel);
-            }
         }
     }
 
@@ -262,22 +212,6 @@
             executeSharedReroute(context);
         } catch (Exception e) {
             e.printStackTrace();
-        }
-    }
-
-    public void watchCircleStation() {
-        List<BasDevp> basDevps = basDevpService.list(new QueryWrapper<BasDevp>());
-        for (BasDevp basDevp : basDevps) {
-            StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basDevp.getDevpNo());
-            if (stationThread == null) {
-                continue;
-            }
-            for (StationProtocol stationProtocol : stationThread.getStatus()) {
-                if (stationProtocol == null || stationProtocol.getStationId() == null) {
-                    continue;
-                }
-                watchCircleStation(basDevp, stationProtocol.getStationId());
-            }
         }
     }
 

--
Gitblit v1.9.1