일반노드이동기능 추가

This commit is contained in:
backuppc
2026-02-25 11:25:09 +09:00
parent 6a658879f1
commit 245749d695
2 changed files with 13 additions and 2 deletions

View File

@@ -556,7 +556,7 @@ namespace AGVNavigationCore.PathFinding.Planning
// 모니터방향이 일치하고 대상노드가 동일한 경로를 찾는다 // 모니터방향이 일치하고 대상노드가 동일한 경로를 찾는다
var zonepath = GetMapZonePathData(); var zonepath = GetMapZonePathData();
// 모든 후보 경로 검색 // 목적지가 특정 장비(StationType)인 경우를 우선 검색
var candidates = zonepath.Where(d => var candidates = zonepath.Where(d =>
d.Monitor == monitorMode && d.Monitor == monitorMode &&
d.NodeEnd == targetNode.StationType && d.NodeEnd == targetNode.StationType &&
@@ -564,6 +564,17 @@ namespace AGVNavigationCore.PathFinding.Planning
d.Path.Any(p => p.StartsWith(targetNode.RfidId.ToString())) // 끝 포인트 포함 d.Path.Any(p => p.StartsWith(targetNode.RfidId.ToString())) // 끝 포인트 포함
).ToList(); ).ToList();
// 목적지가 일반 노드이거나 StationType이 매칭되지 않아 결과가 없을 경우,
// StationType 조건 없이 모니터 방향과 노드 포함 여부만으로 경로 검색
if (!candidates.Any())
{
candidates = zonepath.Where(d =>
d.Monitor == monitorMode &&
d.Path.Any(p => p.StartsWith(startNode.RfidId.ToString())) && // 시작 포인트 포함
d.Path.Any(p => p.StartsWith(targetNode.RfidId.ToString())) // 끝 포인트 포함
).ToList();
}
if (candidates.Any()) if (candidates.Any())
{ {
MapZonePathData bestPath = null; MapZonePathData bestPath = null;

View File

@@ -790,6 +790,6 @@
"BackgroundColorArgb": -14671840, "BackgroundColorArgb": -14671840,
"ShowGrid": false "ShowGrid": false
}, },
"CreatedDate": "2026-02-25T10:37:38.4759999+09:00", "CreatedDate": "2026-02-25T11:11:11.6577105+09:00",
"Version": "1.3" "Version": "1.3"
} }