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