From 7177c4f762c0dfb3a2f490553ee728ba2960ed62 Mon Sep 17 00:00:00 2001
From: jianghaiyue <jianghaiyue@zkyt.com>
Date: 星期三, 29 十月 2025 17:20:01 +0800
Subject: [PATCH] 优化更新

---
 algo-zkd/src/main/java/com/algo/service/PathPlanningService.java    |    8 +++++++-
 algo-zkd/src/main/java/com/algo/service/RemainingPathProcessor.java |   23 +++++++++++++++++++----
 2 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/algo-zkd/src/main/java/com/algo/service/PathPlanningService.java b/algo-zkd/src/main/java/com/algo/service/PathPlanningService.java
index 705d554..b1e681a 100644
--- a/algo-zkd/src/main/java/com/algo/service/PathPlanningService.java
+++ b/algo-zkd/src/main/java/com/algo/service/PathPlanningService.java
@@ -285,7 +285,13 @@
         PlannedPath processedPath = new PlannedPath();
         processedPath.setAgvId(agv.getAgvId());
         processedPath.setCodeList(remainingCodes);
-        processedPath.setSegId(agv.getAgvId() + "_REMAINING_" + System.currentTimeMillis());
+        
+        // 浣跨敤杈撳叆涓殑segId锛屽鏋滄病鏈夊垯鐢熸垚鏂扮殑
+        String segId = remainingPath.getSegId();
+        if (segId == null || segId.trim().isEmpty()) {
+            segId = agv.getAgvId() + "_REMAINING_" + System.currentTimeMillis();
+        }
+        processedPath.setSegId(segId);
 
         if (timeCalculator != null && !remainingCodes.isEmpty()) {
             // 鑾峰彇AGV鐨勪笅涓�涓矾寰勭偣鍒拌揪鏃堕棿浣滀负璧峰鏃堕棿
diff --git a/algo-zkd/src/main/java/com/algo/service/RemainingPathProcessor.java b/algo-zkd/src/main/java/com/algo/service/RemainingPathProcessor.java
index a9e0085..273244d 100644
--- a/algo-zkd/src/main/java/com/algo/service/RemainingPathProcessor.java
+++ b/algo-zkd/src/main/java/com/algo/service/RemainingPathProcessor.java
@@ -410,11 +410,26 @@
         connectedPath.setAgvId(agv.getAgvId());
         connectedPath.setCodeList(remainingCodes);
 
-        // 鐢熸垚鏂扮殑娈佃惤ID
-        String segId = agv.getAgvId() + "_CONNECTED_" + System.currentTimeMillis();
-        if (newPath != null && newPath.getSegId() != null) {
-            segId = newPath.getSegId() + "_EXTENDED";
+        // 浣跨敤鍓╀綑璺緞鐨勫師濮媠egId
+        String segId = remainingPath.getSegId();
+        
+        if (segId != null && !segId.trim().isEmpty()) {
+            // 濡傛灉鏈夋柊璺緞杩炴帴锛屽湪鍘焥egId鍩虹涓婃坊鍔犳墿灞曟爣璁�
+            if (newPath != null && newPath.getCodeList() != null && !newPath.getCodeList().isEmpty()) {
+                // 妫�鏌ユ槸鍚﹀凡缁忔湁鎵╁睍鏍囪锛岄伩鍏嶉噸澶嶆坊鍔�
+                if (!segId.endsWith("_EXTENDED")) {
+                    segId = segId + "_EXTENDED";
+                }
+            }
+        } else {
+            // 濡傛灉鍘熷璺緞娌℃湁segId锛屾牴鎹儏鍐电敓鎴�
+            if (newPath != null && newPath.getSegId() != null && !newPath.getSegId().trim().isEmpty()) {
+                segId = newPath.getSegId() + "_EXTENDED";
+            } else {
+                segId = agv.getAgvId() + "_CONNECTED_" + System.currentTimeMillis();
+            }
         }
+        
         connectedPath.setSegId(segId);
 
         return connectedPath;

--
Gitblit v1.9.1