From 03c3ae747f82ad22c761c79e7b1c0e0031c57d41 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 06 四月 2026 20:28:35 +0800
Subject: [PATCH] #出库站点命令下发
---
src/main/java/com/zy/core/thread/impl/ZyStationV3Thread.java | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/impl/ZyStationV3Thread.java b/src/main/java/com/zy/core/thread/impl/ZyStationV3Thread.java
index 5abc04a..63d81b4 100644
--- a/src/main/java/com/zy/core/thread/impl/ZyStationV3Thread.java
+++ b/src/main/java/com/zy/core/thread/impl/ZyStationV3Thread.java
@@ -42,6 +42,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
@@ -50,6 +51,7 @@
public class ZyStationV3Thread implements Runnable, com.zy.core.thread.StationThread {
private List<StationProtocol> statusList = new ArrayList<>();
+ private volatile List<Integer> taskNoList = new ArrayList<>();
private DeviceConfig deviceConfig;
private RedisUtil redisUtil;
private ZyStationConnectDriver zyStationConnectDriver;
@@ -134,6 +136,7 @@
}
List<ZyStationStatusEntity> zyStationStatusEntities = zyStationConnectDriver.getStatus();
+ LinkedHashSet<Integer> taskNoSet = new LinkedHashSet<>();
for (ZyStationStatusEntity statusEntity : zyStationStatusEntities) {
for (StationProtocol stationProtocol : statusList) {
if (stationProtocol.getStationId().equals(statusEntity.getStationId())) {
@@ -152,6 +155,9 @@
stationProtocol.setRunBlock(statusEntity.isRunBlock());
stationProtocol.setEnableIn(statusEntity.isEnableIn());
stationProtocol.setWeight(statusEntity.getWeight());
+ if (statusEntity.getTaskNo() != null && statusEntity.getTaskNo() > 0) {
+ taskNoSet.add(statusEntity.getTaskNo());
+ }
recentArrivalTracker.observe(statusEntity.getStationId(), statusEntity.getTaskNo(), statusEntity.isLoading());
}
@@ -164,6 +170,7 @@
}
}
}
+ taskNoList = new ArrayList<>(taskNoSet);
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), deviceConfig.getDeviceNo()));
StationErrLogSupport.sync(deviceConfig, redisUtil, statusList);
@@ -211,6 +218,11 @@
map.put(stationProtocol.getStationId(), stationProtocol);
}
return map;
+ }
+
+ @Override
+ public List<Integer> getAllTaskNoList() {
+ return taskNoList;
}
@Override
@@ -310,7 +322,7 @@
if (navigateUtils == null) {
return new ArrayList<>();
}
- List<NavigateNode> nodes = navigateUtils.calcByStationId(startStationId, targetStationId, taskNo, pathLenFactor);
+ List<NavigateNode> nodes = navigateUtils.calcOptimalPathByStationId(startStationId, targetStationId, taskNo, pathLenFactor);
List<Integer> ids = new ArrayList<>();
for (NavigateNode n : nodes) {
JSONObject v = JSONObject.parseObject(n.getNodeValue());
--
Gitblit v1.9.1