From d19e846cf2e19f2953eed8cdfad773857334b876 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 02 四月 2026 15:33:38 +0800
Subject: [PATCH] #优化运行速度
---
src/main/java/com/zy/core/utils/StationOperateProcessUtils.java | 49 +++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 41 insertions(+), 8 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..6c278cd 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() {
@@ -154,7 +153,7 @@
}
// 妫�娴嬩换鍔¤浆瀹屾垚
- public synchronized void checkTaskToComplete() {
+ public void checkTaskToComplete() {
stationRegularDispatchProcessor.checkTaskToComplete();
}
@@ -164,7 +163,7 @@
}
//妫�娴嬭緭閫佺珯鐐规槸鍚﹁繍琛屽牭濉�
- public synchronized void checkStationRunBlock() {
+ public void checkStationRunBlock() {
stationRerouteProcessor.checkStationRunBlock();
}
@@ -174,7 +173,7 @@
}
//妫�娴嬭緭閫佺珯鐐逛换鍔″仠鐣欒秴鏃跺悗閲嶆柊璁$畻璺緞
- public synchronized void checkStationIdleRecover() {
+ public void checkStationIdleRecover() {
stationRerouteProcessor.checkStationIdleRecover();
}
@@ -188,7 +187,7 @@
return stationDispatchLoadSupport.countCurrentStationTask();
}
- public synchronized int getCurrentOutboundTaskCountByTargetStation(Integer stationId) {
+ public int getCurrentOutboundTaskCountByTargetStation(Integer stationId) {
if (stationId == null) {
return 0;
}
@@ -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