wanshenmean
2026-03-27 a2e2b0018f35737882377dd1335c786397eab7ce
feat(RouterService): 新增 ExistsRouter 两个重载

- ExistsRouter(startPosi, endPosi): 全类型路由存在性检查
- ExistsRouter(startPosi, endPosi, routeType): 指定类型路由存在性检查

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
已修改1个文件
26 ■■■■■ 文件已修改
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/RouterService.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/RouterService.cs
@@ -81,6 +81,32 @@
        }
        /// <summary>
        /// 判断两点之间是否存在路由(全类型)
        /// </summary>
        public bool ExistsRouter(string startPosi, string endPosi)
        {
            // 从缓存获取入口类型和出口类型的全量路由数据并合并
            List<Dt_Router> inRouters = GetAllRoutersFromCache(RouterInOutType.In.ObjToInt());
            List<Dt_Router> outRouters = GetAllRoutersFromCache(RouterInOutType.Out.ObjToInt());
            var allRouters = inRouters.Concat(outRouters).ToList();
            // 在内存中查找从起点到终点的路由
            var routes = FindRoutesInMemory(startPosi, endPosi, allRouters, null);
            return routes.Count > 0;
        }
        /// <summary>
        /// 判断两点之间是否存在指定类型的路由
        /// </summary>
        public bool ExistsRouter(string startPosi, string endPosi, int routeType)
        {
            // 从缓存获取指定类型的全量路由数据
            List<Dt_Router> allRouters = GetAllRoutersFromCache(routeType);
            // 在内存中查找从起点到终点的路由
            var routes = FindRoutesInMemory(startPosi, endPosi, allRouters, routeType);
            return routes.Count > 0;
        }
        /// <summary>
        /// 根据起点/当前位置、终点获取下一个子节点。
        /// </summary>
        /// <param name="startPosi">起点/当前位置。</param>