From 8a5e373add078ed9aa11d4e406a9f68638e1b42e Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期六, 07 三月 2026 14:06:11 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java b/src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java
index 563ba3e..f833e51 100644
--- a/src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java
+++ b/src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java
@@ -47,6 +47,7 @@
     private RedisUtil redisUtil;
     private ZyStationConnectDriver zyStationConnectDriver;
     private int deviceLogCollectTime = 200;
+    private boolean initStatus = false;
     private long deviceDataLogTime = System.currentTimeMillis();
     private ExecutorService executor = Executors.newFixedThreadPool(9999);
 
@@ -64,14 +65,16 @@
         Thread readThread = new Thread(() -> {
             while (true) {
                 try {
-                    deviceLogCollectTime = Utils.getDeviceLogCollectTime();
+                    if (initStatus) {
+                        deviceLogCollectTime = Utils.getDeviceLogCollectTime();
+                    }
                     readStatus();
                     Thread.sleep(100);
                 } catch (Exception e) {
                     log.error("StationV4Thread Fail", e);
                 }
             }
-        });
+        }, "DevpRead-" + deviceConfig.getDeviceNo());
         readThread.start();
 
         Thread processThread = new Thread(() -> {
@@ -91,7 +94,7 @@
                     log.error("StationV4Process Fail", e);
                 }
             }
-        });
+        }, "DevpProcess-" + deviceConfig.getDeviceNo());
         processThread.start();
     }
 
@@ -122,6 +125,7 @@
                 stationProtocol.setStationId(entity.getStationId());
                 statusList.add(stationProtocol);
             }
+            initStatus = true;
         }
 
         List<ZyStationStatusEntity> zyStationStatusEntities = zyStationConnectDriver.getStatus();
@@ -302,6 +306,18 @@
             List<Integer> path = JSON.parseArray(JSON.toJSONString(original.getNavigatePath(), SerializerFeature.DisableCircularReferenceDetect), Integer.class);
             List<Integer> liftTransferPath = JSON.parseArray(JSON.toJSONString(original.getLiftTransferPath(), SerializerFeature.DisableCircularReferenceDetect), Integer.class);
             if (path == null || path.isEmpty()) {
+                // 鍚岀珯鐐逛换鍔′笉浼氱敓鎴愯矾寰勶紝浣嗕粛闇�涓嬪彂鍛戒护鍐欏叆浠诲姟鏁版嵁
+                if (Objects.equals(original.getStationId(), original.getTargetStaNo())) {
+                    while (true) {
+                        CommandResponse commandResponse = sendCommand(original);
+                        if (commandResponse != null && commandResponse.getResult()) {
+                            break;
+                        }
+                        try {
+                            Thread.sleep(200);
+                        } catch (Exception ignore) {}
+                    }
+                }
                 return;
             }
 

--
Gitblit v1.9.1