From 3644989d8aa96bcb5ac837f6c79dff4de5f83736 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 21 四月 2025 16:35:11 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/ShuttleDispatcher.java |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/ShuttleDispatcher.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/ShuttleDispatcher.java
index c307a4d..fd56853 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/ShuttleDispatcher.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/ShuttleDispatcher.java
@@ -488,6 +488,25 @@
 
         return levCount < Integer.parseInt(dict.getValue());
     }
+    //鍒嗘瀽鍑哄簱璺緞寰呮満搴撲綅
+    public String analyzeOutPathWaitLoc(String startLoc, String targetLoc, Device shuttleDevice) {
+        //璁$畻璺緞骞跺垎瑙f垚涓ゆ鍔ㄤ綔
+        List<NavigateNode> nodeList = NavigateUtils.calc(startLoc, targetLoc, NavigationMapType.DFX.id, Utils.getShuttlePoints(Integer.parseInt(shuttleDevice.getDeviceNo()), Utils.getLev(startLoc)));
+        if (nodeList == null) {
+            News.error("{} dash {} can't find navigate path!", startLoc, targetLoc);
+            return null;
+        }
+        //鑾峰彇鍒嗘璺緞
+        ArrayList<ArrayList<NavigateNode>> data = NavigateUtils.getSectionPath(nodeList);
+        if (data.size() <= 1) {
+            return null;//涓ょ偣涔嬮棿鍙湁涓�娈佃矾寰�
+        }
 
+        //鍙栧嚭鍊掓暟绗簩娈佃矾寰�
+        ArrayList<NavigateNode> navigateNodes = data.get(data.size() - 2);
+        NavigateNode startNode = navigateNodes.get(0);
+        String lastPathStartLoc = Utils.getLocNo(startNode.getX(), startNode.getY(), startNode.getZ());
+        return lastPathStartLoc;
+    }
 
 }

--
Gitblit v1.9.1