wanshenmean
2026-03-02 bfd4fd8e4a05a681ec10a47992294cf752a764c4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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
{
    /// <summary>
    /// 路由配置业务接口层
    /// </summary>
    public interface IRouterService : IService<Dt_Router>
    {
        /// <summary>
        /// 根据起点/当前位置、终点获取下一个子节点。
        /// </summary>
        /// <param name="startPosi">起点/当前位置。</param>
        /// <param name="endPosi">终点。</param>
        /// <returns>返回路由实体集合。</returns>
        List<Dt_Router> QueryNextRoutes(string startPosi, string endPosi);
 
        /// <summary>
        /// 根据起点/当前位置、终点获取下一个子节点。
        /// </summary>
        /// <param name="startPosi">起点/当前位置。</param>
        /// <param name="endPosi">终点。</param>
        /// <param name="routeType">路由类型。</param>
        /// <returns>返回路由实体集合。</returns>
        List<Dt_Router> QueryNextRoutes(string startPosi, string endPosi, int routeType);
 
        /// <summary>
        /// 根据起点/当前位置获取下一个单个子节点路由
        /// </summary>
        /// <param name="startPosi">起点/当前位置</param>
        /// <returns>返回下一个路由节点,如果没有则返回null</returns>
        public Dt_Router QueryNextRoute(string startPosi);
 
        /// <summary>
        /// 根据起点/当前位置和路由类型获取下一个单个子节点路由
        /// </summary>
        /// <param name="startPosi">起点/当前位置</param>
        /// <param name="routeType">路由类型</param>
        /// <returns>返回下一个路由节点,如果没有则返回null</returns>
        public Dt_Router QueryNextRoute(string startPosi, int routeType);
 
        /// <summary>
        /// 根据起点/当前位置、终点方向和路由类型获取下一个单个子节点路由(智能选择朝向终点的路由)
        /// </summary>
        /// <param name="startPosi">起点/当前位置</param>
        /// <param name="endPosi">终点位置(用于方向判断)</param>
        /// <param name="routeType">路由类型</param>
        /// <returns>返回下一个路由节点,优先返回朝向终点的路由,如果没有则返回null</returns>
        public Dt_Router QueryNextRoute(string startPosi, string endPosi, int routeType);
 
        /// <summary>
        /// 获取从起点到终点的完整路径(按顺序返回每个子节点路由)
        /// </summary>
        /// <param name="startPosi">起点位置</param>
        /// <param name="endPosi">终点位置</param>
        /// <param name="routeType">路由类型</param>
        /// <returns>返回有序的路由列表,如果找不到路径则返回空列表</returns>
        public List<Dt_Router> QueryRoutePath(string startPosi, string endPosi, int routeType);
 
        /// <summary>
        /// 根据设备编号获取对应的路由点位编号(输送线站台编号)信息
        /// </summary>
        /// <param name="deviceCode">设备编号</param>
        /// <returns>返回路由点位编号(输送线站台编号)集合</returns>
        List<string> QueryAllPositions(string deviceCode);
 
        /// <summary>
        /// 获取路由表中所有完整的路由信息(前端展示)
        /// </summary>
        /// <returns>匿名对象集合</returns>
        List<object> GetAllWholeRouters();
 
        /// <summary>
        /// 添加路由
        /// </summary>
        /// <param name="routersAddDTOs">添加路由的DTO</param>
        /// <param name="routerType">路由类型</param>
        /// <returns></returns>
        WebResponseContent AddRouters(List<RoutersAddDTO> routersAddDTOs, int routerType);
    }
}