From 0f69561e397093b5165c4aac58530721d5c62178 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 25 十一月 2024 11:03:16 +0800
Subject: [PATCH] #led

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateSolution.java |   26 +++++++++++++++++---------
 1 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateSolution.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateSolution.java
index bc4ae37..679502b 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateSolution.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateSolution.java
@@ -2,7 +2,9 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zy.asrs.framework.common.SpringUtils;
+import com.zy.asrs.framework.exception.CoolException;
 import com.zy.asrs.wcs.core.model.NavigateNode;
+import com.zy.asrs.wcs.core.model.enums.MapNodeType;
 import com.zy.asrs.wcs.system.entity.Dict;
 import com.zy.asrs.wcs.system.service.DictService;
 
@@ -16,7 +18,7 @@
  */
 public class NavigateSolution {
 
-    // -1 -> 澧欏锛� 0 -> 璐т綅锛� 1 -> 璧风偣  2 -> 缁堢偣  3-> 姣嶈建  4->绔欑偣
+    // -1 -> 澧欏锛� 0 -> 璐т綅锛� 1 -> 璧风偣  2 -> 缁堢偣  3-> 姣嶈建  4->杈撻�佺珯鐐�  5->鍏呯數妗� 6->灏忚溅鍙蛋杈撻�佺珯鐐�  66->灏忚溅  67->鎻愬崌鏈�
 
     int[][] map = {{}};
 
@@ -34,7 +36,7 @@
         mapData.setLev(lev);
         int[][] data = mapData.getDataFromRedis(mapType, whitePoints, shuttlePoints);
         if (data == null) {
-            data = mapData.getData(mapType, whitePoints, shuttlePoints);
+            throw new CoolException("鍦板浘鏈浇鍏ワ紒");
         }
         this.map = data;
     }
@@ -137,7 +139,7 @@
 //        }
 
         if (mapDirection.equals("x")) {//姣嶈建x鏂瑰悜
-            if (map[x][y] == 3) {
+            if (map[x][y] == MapNodeType.MAIN_PATH.id) {
                 //姣嶈建鎵嶈兘杩涜涓婁笅绉诲姩
                 if (is_valid(x + 1, y))
                 {
@@ -151,8 +153,8 @@
                 }
             }
 
-            if (map[x][y] == 0 || map[x][y] == 3 || map[x][y] == 4 || map[x][y] == 5) {
-                //瀛愯建鍜屾瘝杞ㄣ�佽緭閫佺嚎銆佸厖鐢垫々鎵嶈兘杩涜宸﹀彸绉诲姩
+            if (map[x][y] == MapNodeType.NORMAL_PATH.id || map[x][y] == MapNodeType.MAIN_PATH.id || map[x][y] == MapNodeType.CONVEYOR_CAR_GO.id || map[x][y] == MapNodeType.CHARGE.id || map[x][y] == MapNodeType.LIFT.id) {
+                //瀛愯建鍜屾瘝杞ㄣ�佸皬杞﹀彲璧拌緭閫佺嚎銆佸厖鐢垫々銆佹彁鍗囨満鎵嶈兘杩涜宸﹀彸绉诲姩
                 if (is_valid(x, y + 1))
                 {
                     NavigateNode node = new NavigateNode(x, y + 1);
@@ -165,7 +167,7 @@
                 }
             }
         }else if (mapDirection.equals("y")) {//姣嶈建y鏂瑰悜
-            if (map[x][y] == 3) {
+            if (map[x][y] == MapNodeType.MAIN_PATH.id) {
                 //姣嶈建鎵嶈兘杩涜宸﹀彸绉诲姩
                 if (is_valid(x, y + 1))
                 {
@@ -179,8 +181,8 @@
                 }
             }
 
-            if (map[x][y] == 0 || map[x][y] == 3 || map[x][y] == 4 || map[x][y] == 5) {
-                //瀛愯建鍜屾瘝杞ㄣ�佽緭閫佺嚎銆佸厖鐢垫々鎵嶈兘杩涜涓婁笅绉诲姩
+            if (map[x][y] == MapNodeType.NORMAL_PATH.id || map[x][y] == MapNodeType.MAIN_PATH.id || map[x][y] == MapNodeType.CONVEYOR_CAR_GO.id || map[x][y] == MapNodeType.CHARGE.id || map[x][y] == MapNodeType.LIFT.id) {
+                //瀛愯建鍜屾瘝杞ㄣ�佸皬杞﹀彲璧拌緭閫佺嚎銆佸厖鐢垫々銆佹彁鍗囨満鎵嶈兘杩涜涓婁笅绉诲姩
                 if (is_valid(x + 1, y))
                 {
                     NavigateNode node = new NavigateNode(x + 1, y);
@@ -203,7 +205,13 @@
             return false;
         }
         // 濡傛灉缁撶偣鐨勪綅缃皬浜�0锛屽垯涓嶅悎娉�
-        if (map[x][y] < 0) return false;
+        if (map[x][y] < 0) {
+            return false;
+        }
+
+        if (map[x][y] == MapNodeType.CAR.id) {//鑺傜偣鏄皬杞�
+            return false;
+        }
         NavigateNode navigateNode = new NavigateNode(x, y);
         if (is_exist(navigateNode)) {
             return false;

--
Gitblit v1.9.1