From 1854c5182fe81f3663b794963cb5ea62f648b699 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期二, 15 十月 2024 13:41:28 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/ShuttleDispatcher.java |   29 +++++++----------------------
 1 files changed, 7 insertions(+), 22 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 18d9451..7f81f4c 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
@@ -284,9 +284,9 @@
     }
 
     /**
-     * 鎼滅储閬胯搴撲綅锛岄�氳繃灏忚溅鍙峰拰鐩爣搴撲綅
+     * 鎼滅储鍙敤搴撲綅锛岄�氳繃灏忚溅鍙峰拰鐩爣搴撲綅
      */
-    public String searchStandByLocNo(Integer shuttleNo, Long hostId, String locNo) {
+    public String searchAvailableLocNo(Integer shuttleNo, Long hostId, String currentLocNo, List<String> locNos) {
         BasShuttle basShuttle = basShuttleService.getOne(new LambdaQueryWrapper<BasShuttle>()
                 .eq(BasShuttle::getShuttleNo, shuttleNo)
                 .eq(BasShuttle::getHostId, hostId));
@@ -294,33 +294,18 @@
             throw new CoolException("灏忚溅鍩虹鏁版嵁涓嶅瓨鍦�");
         }
 
-        String idleLoc = basShuttle.getIdleLoc();
-        if (Cools.isEmpty(idleLoc)) {
-            throw new CoolException("灏忚溅閬胯鏁版嵁涓嶅瓨鍦�");
-        }
-
-        int lev = Utils.getLev(locNo);//褰撳墠妤煎眰
-        List<String> standbyLoc = JSON.parseArray(idleLoc, String.class);
-        if (standbyLoc.isEmpty()) {
-            throw new CoolException("閬胯鏁版嵁寮傚父");
-        }
-        //鑾峰彇褰撳墠灞傞伩璁╀綅缃�
-        List<String> currentLevStandByLoc = new ArrayList<>();
-        for (String loc : standbyLoc) {
-            if (Utils.getLev(loc) == lev) {
-                currentLevStandByLoc.add(loc);
-            }
-        }
-        if (currentLevStandByLoc.isEmpty()) {
+        if (locNos.isEmpty()) {
             throw new CoolException("褰撳墠灞傛棤閬胯浣嶇疆");
         }
 
+        int lev = Utils.getLev(currentLocNo);
+
         Integer finalDistance = ShuttleDispatcher.INF;
         String recentLoc = null;
-        for (String loc : currentLevStandByLoc) {
+        for (String loc : locNos) {
             //褰撳墠绌挎杞﹀埌閬胯浣嶈绠�
             List<NavigateNode> currentShuttlePath = NavigateUtils.calc(
-                    locNo
+                    currentLocNo
                     , loc
                     , NavigationMapType.NORMAL.id
                     , Utils.getShuttlePoints(shuttleNo, lev)

--
Gitblit v1.9.1