From 707f8db2227a6031f230e35895ea1c5f7ff03bd6 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期四, 18 十二月 2025 14:43:52 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/network/fake/ZyRgvFakeConnect.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 51 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/core/network/fake/ZyRgvFakeConnect.java b/src/main/java/com/zy/core/network/fake/ZyRgvFakeConnect.java
index eca22e9..ac8cb73 100644
--- a/src/main/java/com/zy/core/network/fake/ZyRgvFakeConnect.java
+++ b/src/main/java/com/zy/core/network/fake/ZyRgvFakeConnect.java
@@ -4,16 +4,15 @@
import com.alibaba.fastjson.JSONObject;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.DeviceConfig;
+import com.zy.asrs.service.BasMapService;
import com.zy.common.model.NavigateNode;
import com.zy.common.utils.NavigateUtils;
-import com.zy.core.enums.RgvModeType;
import com.zy.core.enums.RgvStatusType;
import com.zy.core.enums.RgvTaskModeType;
import com.zy.core.model.CommandResponse;
import com.zy.core.model.command.RgvCommand;
import com.zy.core.network.api.ZyRgvConnectApi;
import com.zy.core.network.entity.ZyRgvStatusEntity;
-import com.zy.core.network.entity.ZyStationStatusEntity;
import java.util.List;
import java.util.concurrent.ExecutorService;
@@ -38,6 +37,7 @@
@Override
public boolean disconnect() {
+ try { executor.shutdownNow(); } catch (Exception ignore) {}
return true;
}
@@ -73,9 +73,21 @@
return;
}
+ BasMapService basMapService = SpringUtils.getBean(BasMapService.class);
+ if (basMapService == null) {
+ return;
+ }
+
+ List<Integer> levList = basMapService.getLevList();
+
List<NavigateNode> navigateNodes = null;
try {
- navigateNodes = navigateUtils.calcByTrackSiteNo(status.getRgvPos(), sourcePos);
+ for (Integer lev : levList) {
+ navigateNodes = navigateUtils.calcByTrackSiteNo(lev, status.getRgvPos(), sourcePos);
+ if (navigateNodes != null) {
+ break;
+ }
+ }
} catch (Exception e) {
e.printStackTrace();
}
@@ -86,7 +98,12 @@
List<NavigateNode> targetNavigateNodes = null;
try {
- targetNavigateNodes = navigateUtils.calcByTrackSiteNo(sourcePos, targetPos);
+ for (Integer lev : levList) {
+ targetNavigateNodes = navigateUtils.calcByTrackSiteNo(lev, sourcePos, targetPos);
+ if (targetNavigateNodes != null) {
+ break;
+ }
+ }
} catch (Exception e) {
e.printStackTrace();
}
@@ -104,11 +121,17 @@
status.setRgvPos(currentTrackSiteNo);
sleep(1000);
+ if (Thread.currentThread().isInterrupted()) {
+ return;
+ }
}
status.setStatus(RgvStatusType.PUTTING.id);
status.setLoaded(1);
sleep(1000);
+ if (Thread.currentThread().isInterrupted()) {
+ return;
+ }
for (int i = 0; i < targetNavigateNodes.size(); i++) {
NavigateNode navigateNode = targetNavigateNodes.get(i);
@@ -117,9 +140,15 @@
status.setRgvPos(currentTrackSiteNo);
sleep(1000);
+ if (Thread.currentThread().isInterrupted()) {
+ return;
+ }
}
sleep(1000);
+ if (Thread.currentThread().isInterrupted()) {
+ return;
+ }
status.setStatus(RgvStatusType.WAITING.id);
}
@@ -133,9 +162,21 @@
return;
}
+ BasMapService basMapService = SpringUtils.getBean(BasMapService.class);
+ if (basMapService == null) {
+ return;
+ }
+
+ List<Integer> levList = basMapService.getLevList();
+
List<NavigateNode> navigateNodes = null;
try {
- navigateNodes = navigateUtils.calcByTrackSiteNo(status.getRgvPos(), targetPos);
+ for (Integer lev : levList) {
+ navigateNodes = navigateUtils.calcByTrackSiteNo(lev, status.getRgvPos(), targetPos);
+ if (navigateNodes != null) {
+ break;
+ }
+ }
} catch (Exception e) {
e.printStackTrace();
}
@@ -153,6 +194,9 @@
status.setRgvPos(currentTrackSiteNo);
sleep(1000);
+ if (Thread.currentThread().isInterrupted()) {
+ return;
+ }
}
status.setStatus(RgvStatusType.WAITING.id);
}
@@ -166,7 +210,7 @@
try {
Thread.sleep(ms);
} catch (InterruptedException e) {
- e.printStackTrace();
+ Thread.currentThread().interrupt();
}
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.1