From 69eb90fc1da6062b830891c599c6a51ad7ae5df5 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期五, 27 三月 2026 12:16:14 +0800
Subject: [PATCH] fix(RouterService): 修复 QueryNextRoutes 缓存列表引用污染问题

---
 Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/RouterService.cs |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/RouterService.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/RouterService.cs
index 3b6fed5..dc1f9c8 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/RouterService.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/RouterService.cs
@@ -66,8 +66,10 @@
             List<Dt_Router> routers = new List<Dt_Router>();
             try
             {
-                // 涓�娆℃�ф煡璇㈡墍鏈夎矾鐢辨暟鎹埌鍐呭瓨
-                List<Dt_Router> allRouters = BaseDal.QueryData(x => true);
+                // 浠庣紦瀛樺姞杞藉叆鍙g被鍨嬪拰鍑哄彛绫诲瀷鐨勮矾鐢辨暟鎹苟鍚堝苟锛堝垱寤烘柊鍒楄〃锛岄伩鍏嶄慨鏀圭紦瀛樺紩鐢級
+                List<Dt_Router> allRouters = GetAllRoutersFromCache(RouterInOutType.In.ObjToInt())
+                    .Concat(GetAllRoutersFromCache(RouterInOutType.Out.ObjToInt()))
+                    .ToList();
 
                 // 鍦ㄥ唴瀛樹腑杩涜璺緞鎼滅储
                 routers = FindRoutesInMemory(startPosi, endPosi, allRouters, null);
@@ -96,8 +98,8 @@
             List<Dt_Router> routers = new List<Dt_Router>();
             try
             {
-                // 涓�娆℃�ф煡璇㈡寚瀹氱被鍨嬬殑鎵�鏈夎矾鐢辨暟鎹埌鍐呭瓨
-                List<Dt_Router> allRouters = BaseDal.QueryData(x => x.InOutType == routeType);
+                // 浠庣紦瀛樺姞杞芥寚瀹氱被鍨嬬殑鎵�鏈夎矾鐢辨暟鎹�
+                List<Dt_Router> allRouters = GetAllRoutersFromCache(routeType);
 
                 // 鍦ㄥ唴瀛樹腑杩涜璺緞鎼滅储
                 routers = FindRoutesInMemory(startPosi, endPosi, allRouters, routeType);

--
Gitblit v1.9.3