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/utils/station/StationRerouteProcessor.java |   90 ++++++++++++---------------------------------
 1 files changed, 24 insertions(+), 66 deletions(-)

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 9deba63..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,29 +138,12 @@
         }
     }
 
-    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) {
+                return;
+            }
+            if (!isIdleRecoverCandidateStation(basDevp, stationId)) {
                 return;
             }
             StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basDevp.getDevpNo());
@@ -199,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);
-            }
         }
     }
 
@@ -259,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());
-            }
         }
     }
 
@@ -476,6 +413,27 @@
         return true;
     }
 
+    private boolean isIdleRecoverCandidateStation(BasDevp basDevp, Integer stationId) {
+        if (basDevp == null || stationId == null) {
+            return false;
+        }
+        return !containsStation(basDevp.getBarcodeStationList$(), stationId)
+                && !containsStation(basDevp.getInStationList$(), stationId)
+                && !containsStation(basDevp.getOutStationList$(), stationId);
+    }
+
+    private boolean containsStation(List<StationObjModel> stationList, Integer stationId) {
+        if (stationList == null || stationList.isEmpty() || stationId == null) {
+            return false;
+        }
+        for (StationObjModel stationObjModel : stationList) {
+            if (stationObjModel != null && Objects.equals(stationObjModel.getStationId(), stationId)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     private RerouteExecutionResult executeReroutePlanWithTaskLock(RerouteContext context,
                                                                   RerouteCommandPlan plan,
                                                                   StationProtocol stationProtocol,

--
Gitblit v1.9.1