From dad3cd8ed8afa86b651bb1a053421e7aa2b8c7ac Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期日, 05 五月 2024 16:31:09 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateSolution.java |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 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 1934fc0..677c6f0 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
@@ -1,5 +1,6 @@
 package com.zy.asrs.wcs.core.utils;
 
+import com.zy.asrs.framework.common.SpringUtils;
 import com.zy.asrs.wcs.core.model.NavigateNode;
 
 import java.util.ArrayList;
@@ -18,14 +19,16 @@
 
     public NavigateSolution() {
         //杞藉叆鍦板浘
-        NavigateMapData mapData = new NavigateMapData();
+        NavigateMapData mapData = SpringUtils.getBean(NavigateMapData.class);
+        mapData.setLev(1);
         int[][] data = mapData.getData();
         this.map = data;
     }
 
     public NavigateSolution(Integer mapType, Integer lev, List<int[]> whitePoints, List<int[]> shuttlePoints) {
         //杞藉叆鍦板浘鎸囧畾灞傞珮鍦板浘
-        NavigateMapData mapData = new NavigateMapData(lev);
+        NavigateMapData mapData = SpringUtils.getBean(NavigateMapData.class);
+        mapData.setLev(lev);
         int[][] data = mapData.getDataFromRedis(mapType, whitePoints, shuttlePoints);
         if (data == null) {
             data = mapData.getData(mapType, whitePoints, shuttlePoints);
@@ -158,19 +161,23 @@
     }
 
     public boolean is_valid(int x, int y) {
-        // 濡傛灉缁撶偣鐨勪綅缃皬浜�0锛屽垯涓嶅悎娉�
-        if (map[x][y] < 0) return false;
-        for (NavigateNode node : Exist) {
-            //濡傛灉缁撶偣鍑虹幇杩囷紝涓嶅悎娉�
-            if (node.getX() == x && node.getY() == y) {
-                return false;
+        try {
+            // 濡傛灉缁撶偣鐨勪綅缃皬浜�0锛屽垯涓嶅悎娉�
+            if (map[x][y] < 0) return false;
+            for (NavigateNode node : Exist) {
+                //濡傛灉缁撶偣鍑虹幇杩囷紝涓嶅悎娉�
+                if (node.getX() == x && node.getY() == y) {
+                    return false;
+                }
+                if (is_exist(new NavigateNode(x, y))) {
+                    return false;
+                }
             }
-            if (is_exist(new NavigateNode(x, y))) {
-                return false;
-            }
+            //浠ヤ笂鎯呭喌閮芥病鏈夊垯鍚堟硶
+            return true;
+        } catch (Exception e) {
+            return false;
         }
-        //浠ヤ笂鎯呭喌閮芥病鏈夊垯鍚堟硶
-        return true;
     }
 
     public boolean is_exist(NavigateNode node)

--
Gitblit v1.9.1