huangxiaoqiang
2025-10-15 b7da1f32d5d9997378b5ac535593a3f6144af46b
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
using WIDESEA_DTO;
 
namespace WIDESEA_IStorageTaskServices;
 
public interface IDt_TaskService : IService<Dt_Task>
{
    
    /// <summary>
    /// 根据任务号获取任务
    /// </summary>
    /// <param name="taskNum"></param>
    /// <returns></returns>
    Task<Dt_Task> GetByTaskNum(int taskNum);
 
    /// <summary>
    /// 堆垛机任务完成
    /// </summary>
    /// <param name="saveModel">任务数据合集</param>
    /// <returns>返回结果集</returns>
    abstract Task<WebResponseContent> CompleteOutboundTaskAsync(Dt_Task task, DtStockInfo stock);
 
    /// <summary>
    /// 移库任务完成
    /// </summary>
    /// <param name="saveModel">任务数据合集</param>
    /// <returns>返回结果集</returns>
    abstract Task<WebResponseContent> CompleteTransferTaskAsync(Dt_Task task, DtStockInfo stock);
 
    /// <summary>
    /// 任务完成
    /// </summary>
    /// <param name="saveModel"></param>
    /// <returns></returns>
    Task<WebResponseContent> CompleteAsync(int taskNum);
 
    /// <summary>
    /// 请求任务巷道
    /// </summary>
    /// <param name="position"></param>
    /// <param name="areaCode"></param>
    /// <param name="palletCode"></param>
    /// <param name="type"></param>
    /// <returns></returns>
    Task<WebResponseContent> RequestTaskAsync(RequestTaskDto taskDto);
 
    /// <summary>
    /// 获取空货位
    /// </summary>
    /// <param name="roadWay"></param>
    /// <returns></returns>
    Task<DtLocationInfo> GetEmptyLocation(string roadWay);
 
    /// <summary>
    /// 获取AGV空货位
    /// </summary>
    /// <param name="AreaId"></param>
    /// <returns></returns>
 
    Task<DtLocationInfo> GetAGVEmptyCacheLocation(int AreaId, DtLocationInfo location);
 
    /// <summary>
    /// 请求任务货位
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<WebResponseContent> RequestLocationAsync(RequestTaskDto input);
 
    /// <summary>
    /// 请求托盘任务
    /// </summary>
    /// <param name="position">目标位置</param>
    /// <param name="tag">托盘类型(1:实盘,2:空盘)</param>
    /// <param name="areaCode">区域编码</param>
    /// <param name="roadways">巷道列表</param>
    /// <returns>返回结果集</returns>
    Task<WebResponseContent> RequestOutTaskAsync(RequestTaskDto taskDto);
 
 
    /// <summary>
    /// 任务状态修改
    /// </summary>
    /// <param name="input">请求数据</param>
    /// <returns></returns>
    Task<WebResponseContent> UpdateTaskStatus(int taskNum, int taskState);
 
    /// <summary>
    /// 请求跨楼层2任务
    /// </summary>
    /// <param name="taskDto"></param>
    /// <returns></returns>
    Task<WebResponseContent> AcrossFloorTaskAsync(RequestAcrossFloorTaskDto taskDto);
 
    /// <summary>
    /// 请求跨楼层任务
    /// </summary>
    /// <param name="SourceAddress"></param>
    /// <param name="palletCode"></param>
    /// <param name="TargetAddress"></param>
    /// <returns></returns>
 
    Task<WebResponseContent> RequestAcrossFloorTaskAsync(RequestTaskDto taskDto);
 
 
    /// <summary>
    /// 跨楼层点对点任务
    /// </summary>
    /// <param name="taskDto"></param>
    /// <returns></returns>
    Task<WebResponseContent> RequestPointAcrossFloorTaskAsync(RequestTaskDto taskDto);
 
    /// <summary>
    /// AGV请求搬运任务
    /// </summary>
    /// <param name="taskDto"></param>
    /// <returns></returns>
    Task<WebResponseContent> RequestAGVCarryTaskAsync(RequestTaskDto taskDto);
 
 
    Task<WebResponseContent> RequestPointAGVCarryTaskAsync(RequestTaskDto taskDto);
 
 
    /// <summary>
    /// 堆垛机出库是否需要移库
    /// </summary>
    /// <param name="taskDto"></param>
    /// <returns></returns>
    Task<WebResponseContent> StackerIsNeedRelocationAsync(RequestTaskDto taskDto);
 
    /// <summary>
    /// AGV出库是否需要移库
    /// </summary>
    /// <param name="taskDto"></param>
    /// <returns></returns>
    Task<WebResponseContent> AGVIsNeedRelocationAsync(RequestTaskDto taskDto);
 
}