From 0d04bc5d8080b82338302fba0a59fccff2eaedfc Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期日, 06 七月 2025 11:28:29 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateSolution.java | 23 ++++++++++++++++------- 1 files changed, 16 insertions(+), 7 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..67536be 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,9 +2,12 @@ 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; + import java.util.ArrayList; import java.util.List; @@ -16,7 +19,7 @@ */ public class NavigateSolution { - // -1 -> 澧欏锛� 0 -> 璐т綅锛� 1 -> 璧风偣 2 -> 缁堢偣 3-> 姣嶈建 4->绔欑偣 + // -1 -> 澧欏锛� 0 -> 璐т綅锛� 1 -> 璧风偣 2 -> 缁堢偣 3-> 姣嶈建 4->杈撻�佺珯鐐� 5->鍏呯數妗� 66->灏忚溅 67->鎻愬崌鏈� int[][] map = {{}}; @@ -34,7 +37,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; } @@ -151,8 +154,8 @@ } } - if (map[x][y] == 0 || map[x][y] == 3 || map[x][y] == 4 || map[x][y] == 5) { - //瀛愯建鍜屾瘝杞ㄣ�佽緭閫佺嚎銆佸厖鐢垫々鎵嶈兘杩涜宸﹀彸绉诲姩 + if (map[x][y] == 0 || map[x][y] == 3 || map[x][y] == 4 || map[x][y] == 5 || map[x][y] == 67) { + //瀛愯建鍜屾瘝杞ㄣ�佽緭閫佺嚎銆佸厖鐢垫々銆佹彁鍗囨満鎵嶈兘杩涜宸﹀彸绉诲姩 if (is_valid(x, y + 1)) { NavigateNode node = new NavigateNode(x, y + 1); @@ -179,8 +182,8 @@ } } - if (map[x][y] == 0 || map[x][y] == 3 || map[x][y] == 4 || map[x][y] == 5) { - //瀛愯建鍜屾瘝杞ㄣ�佽緭閫佺嚎銆佸厖鐢垫々鎵嶈兘杩涜涓婁笅绉诲姩 + if (map[x][y] == 0 || map[x][y] == 3 || map[x][y] == 4 || map[x][y] == 5 || map[x][y] == 67) { + //瀛愯建鍜屾瘝杞ㄣ�佽緭閫佺嚎銆佸厖鐢垫々銆佹彁鍗囨満鎵嶈兘杩涜涓婁笅绉诲姩 if (is_valid(x + 1, y)) { NavigateNode node = new NavigateNode(x + 1, y); @@ -203,7 +206,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