From cab87dcfaa7b1e2bc1298572b775026bb17ef38b Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 17 十月 2024 13:54:41 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/NavigateNode.java |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/NavigateNode.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/NavigateNode.java
index 266287b..92e0c82 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/NavigateNode.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/NavigateNode.java
@@ -2,15 +2,21 @@
 
 import lombok.Data;
 
+import java.io.Serializable;
+import java.util.Optional;
+
 /**
  * A*瀵昏矾绠楁硶Node鑺傜偣
  */
 @Data
-public class NavigateNode implements Comparable<NavigateNode>{
+public class NavigateNode implements Comparable<NavigateNode>, Cloneable, Serializable {
+
+    private static final long serialVersionUID = 1L;
 
     private int x;//鍧愭爣x
     private int y;//鍧愭爣y
     private int z;//鍧愭爣z(楂樺害)
+    private Integer lastDistance;//姝ユ暟
     private int F;//缁煎悎鑺辫垂鐨勬鏁�
     private int G;//宸茬粡鑺辫垂鐨勬鏁�
     private int H;//灏嗚鑺辫垂鐨勬鏁�
@@ -29,8 +35,8 @@
     public void init_node(NavigateNode father, NavigateNode end) {
         this.Father = father;
         if (this.Father != null) {
-            //璧拌繃鐨勬鏁扮瓑浜庣埗鑺傜偣璧拌繃鐨勬鏁板姞涓�
-            this.G = father.G + 1;
+            //璧拌繃鐨勬鏁扮瓑浜庣埗鑺傜偣璧拌繃鐨勬鏁板姞鏈�鏂版鏁�
+            this.G = father.G + Optional.ofNullable(this.lastDistance).orElse(0);
         } else { //鐖惰妭鐐逛负绌轰唬琛ㄥ畠鏄涓�涓粨鐐�
             this.G = 0;
         }
@@ -46,4 +52,13 @@
         return Integer.compare(this.F, o.F);
     }
 
+    @Override
+    public NavigateNode clone() {
+        try {
+            return (NavigateNode) super.clone();
+        } catch (CloneNotSupportedException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
 }

--
Gitblit v1.9.1