using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_DTO.BasicInfo; using WIDESEAWCS_QuartzJob.Models; namespace WIDESEAWCS_QuartzJob.Service { /// /// 路由配置业务接口层 /// public interface IRouterService : IService { /// /// 根据起点/当前位置、终点获取下一个子节点。 /// /// 起点/当前位置。 /// 终点。 /// 返回路由实体集合。 List QueryNextRoutes(string startPosi, string endPosi); /// /// 根据起点/当前位置、终点获取下一个子节点。 /// /// 起点/当前位置。 /// 终点。 /// 路由类型。 /// 返回路由实体集合。 List QueryNextRoutes(string startPosi, string endPosi, int routeType); /// /// 根据起点/当前位置获取下一个单个子节点路由 /// /// 起点/当前位置 /// 返回下一个路由节点,如果没有则返回null Dt_Router QueryNextRoute(string startPosi); /// /// 根据起点/当前位置和路由类型获取下一个单个子节点路由 /// /// 起点/当前位置 /// 路由类型 /// 返回下一个路由节点,如果没有则返回null Dt_Router QueryNextRoute(string startPosi, int routeType); /// /// 根据起点/当前位置、终点方向和路由类型获取下一个单个子节点路由(智能选择朝向终点的路由) /// /// 起点/当前位置 /// 终点位置(用于方向判断) /// 路由类型 /// 返回下一个路由节点,优先返回朝向终点的路由,如果没有则返回null Dt_Router QueryNextRoute(string startPosi, string endPosi, int routeType); /// /// 根据起点/当前位置、终点方向和路由类型获取下一个单个子节点路由(智能选择朝向终点的路由) /// /// 起点/当前位置 /// 终点位置(用于方向判断) /// 返回下一个路由节点,优先返回朝向终点的路由,如果没有则返回null Dt_Router QueryNextRoute(string startPosi, string endPosi); /// /// 获取从起点到终点的完整路径(按顺序返回每个子节点路由) /// /// 起点位置 /// 终点位置 /// 路由类型 /// 返回有序的路由列表,如果找不到路径则返回空列表 List QueryRoutePath(string startPosi, string endPosi, int routeType); /// /// 根据设备编号获取对应的路由点位编号(输送线站台编号)信息 /// /// 设备编号 /// 返回路由点位编号(输送线站台编号)集合 List QueryAllPositions(string deviceCode); /// /// 获取路由表中所有完整的路由信息(前端展示) /// /// 匿名对象集合 List GetAllWholeRouters(); /// /// 添加路由 /// /// 添加路由的DTO /// 路由类型 /// WebResponseContent AddRouters(List routersAddDTOs, int routerType); /// /// 清除路由缓存 /// void ClearRouterCache(); /// /// 根据设备编号查询经过该设备的所有路由 /// /// 设备编号 /// 返回经过该设备的所有路由列表 List QueryRoutersByDeviceCode(string deviceCode); /// /// 判断两点之间是否存在路由(全类型) /// /// 起点位置 /// 终点位置 /// 存在返回true,不存在返回false bool ExistsRouter(string startPosi, string endPosi); /// /// 判断两点之间是否存在指定类型的路由 /// /// 起点位置 /// 终点位置 /// 路由类型 /// 存在返回true,不存在返回false bool ExistsRouter(string startPosi, string endPosi, int routeType); /// /// 获取全量路由数量(入口+出口合计) /// /// 返回全量路由数量 int GetRouterCount(); /// /// 获取指定类型路由数量 /// /// 路由类型 /// 返回指定类型的路由数量 int GetRouterCount(int routeType); /// /// 批量删除路由 /// /// 要删除的路由ID列表 /// 返回删除操作的结果 WebResponseContent DeleteRouters(List routerIds); } }