wanshenmean
2025-04-16 29f20b28392d212c04c0c40a512894f8622cfa53
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
using WIDESEA_DTO;
 
namespace WIDESEA_IStorageTaskServices;
 
public interface IDt_TaskService : IService<Dt_Task>
{
    /// <summary>
    /// 通过ID获取任务
    /// </summary>
    /// <param name="id">任务ID</param>
    /// <returns>任务模型</returns>
    Task<Dt_Task> GetById(int id);
 
    /// <summary>
    /// 根据货位ID获取任务
    /// </summary>
    /// <param name="locationID"></param>
    /// <returns></returns>
    Task<Dt_Task> GetByLocation(string locationID);
 
    /// <summary>
    /// 根据任务号获取任务
    /// </summary>
    /// <param name="taskNum"></param>
    /// <returns></returns>
    Task<Dt_Task> GetByTaskNum(int taskNum);
 
    /// <summary>
    /// 获取所有任务列表
    /// </summary>
    /// <returns>任务模型列表</returns>
    Task<List<Dt_Task>> GetList();
 
    /// <summary>
    /// 创建一个新的任务
    /// </summary>
    /// <param name="model">任务模型</param>
    /// <returns>创建的任务</returns>
    Task<Dt_Task> Create(Dt_Task model);
 
    /// <summary>
    /// 批量创建任务
    /// </summary>
    /// <param name="models">任务模型列表</param>
    /// <returns>是否创建成功</returns>
    Task<bool> Create(List<Dt_Task> models);
 
    /// <summary>
    /// 更新一个任务
    /// </summary>
    /// <param name="model">任务模型</param>
    /// <returns>是否更新成功</returns>
    Task<bool> Update(Dt_Task model);
 
    /// <summary>
    /// 批量更新任务
    /// </summary>
    /// <param name="models">任务模型列表</param>
    /// <returns>是否更新成功</returns>
    Task<bool> Update(List<Dt_Task> models);
 
    /// <summary>
    /// 删除一个任务
    /// </summary>
    /// <param name="id">任务ID</param>
    /// <returns>是否删除成功</returns>
    Task<bool> Delete(int id);
 
    /// <summary>
    /// 批量删除任务
    /// </summary>
    /// <param name="ids">任务ID列表</param>
    /// <returns>是否删除成功</returns>
    Task<bool> Delete(List<int> ids);
 
    /// <summary>
    /// 根据出库订单ID获取任务列表
    /// </summary>
    /// <param name="outOrderId">出库订单ID</param>
    /// <returns>任务模型列表</returns>
    Task<List<Dt_Task>> GetListByOutOrder(int outOrderId);
 
    /// <summary>
    /// 根据出库订单ID和状态获取任务列表
    /// </summary>
    /// <param name="outOrderId">出库订单ID</param>
    /// <param name="status">任务状态</param>
    /// <returns>任务模型列表</returns>
    Task<List<Dt_Task>> GetListByOutOrderAndStatus(int outOrderId, int status);
 
    /// <summary>
    /// 根据状态获取任务列表
    /// </summary>
    /// <param name="status">任务状态</param>
    /// <returns>任务模型列表</returns>
    Task<List<Dt_Task>> GetListByStatus(int status);
 
    /// <summary>
    /// 检查任务是否存在
    /// </summary>
    /// <param name="palletCode">托盘编码</param>
    /// <returns>任务是否存在</returns>
    bool IsExist(string palletCode);
 
    /// <summary>
    /// 堆垛机任务完成
    /// </summary>
    /// <param name="saveModel">任务数据合集</param>
    /// <returns>返回结果集</returns>
    abstract Task<WebResponseContent> CompleteStackTaskAsync(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 input);
 
    /// <summary>
    /// 请求任务巷道
    /// </summary>
    /// <param name="position"></param>
    /// <param name="areaCode"></param>
    /// <param name="palletCode"></param>
    /// <param name="type"></param>
    /// <returns></returns>
    Task<WebResponseContent> RequestInTask(RequestTaskDto input);
 
    /// <summary>
    /// 请求任务货位
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<WebResponseContent> UpdateExistingTask(RequestTaskDto input);
 
    /// <summary>
    /// 请求空托盘任务
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<WebResponseContent> RequestTrayInTaskAsync(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> RequestTrayOutTaskAsync(string position, int tag, string areaCode, List<string> areaCodes, string productionLine);
 
 
    /// <summary>
    /// 任务状态修改
    /// </summary>
    /// <param name="input">请求数据</param>
    /// <returns></returns>
    Task<WebResponseContent> UpdateTaskStatus(int taskNum, int taskState);
 
    /// <summary>
    /// 
    /// </summary>
    /// <returns></returns>
    WebResponseContent StockCheckingAsync();
 
    /// <summary>
    /// 创建指定任务
    /// </summary>
    /// <param name="locationCode">货位号</param>
    /// <param name="palletCode">托盘号</param>
    /// <returns></returns>
    Task<WebResponseContent> CreateAndSendOutboundTask(string locationCode, string palletCode);
 
    /// <summary>
    /// 指定任务出库
    /// </summary>
    /// <param name="palletCode">托盘号</param>
    /// <param name="position">位置</param>
    /// <returns></returns>
    Task<WebResponseContent> CreateAndSendInboundTask(string palletCode, string position);
 
    /// <summary>
    /// 常温补空托盘至分容
    /// </summary>
    /// <param name="taskDTO"></param>
    /// <returns></returns>
    Task<WebResponseContent> GetFROutTrayToCW(RequestTaskDto taskDTO);
 
 
    /// <summary>
    /// DTS火警出库
    /// </summary>
    /// <param name="taskDTO"></param>
    /// <returns></returns>
    WebResponseContent EmergencyTask(object obj);
 
    Task<WebResponseContent> RequestOutTaskToBZAsync(RequestTaskDto json);
 
    /// <summary>
    /// 分容空框入库改为直接出库
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    Task<WebResponseContent> SetEmptyOutbyInToOutAsync(RequestTaskDto request);
 
    /// <summary>
    /// 分容空框出库改为直接出库
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    Task<WebResponseContent> SetEmptyOutbyInToOutOneAsync(RequestTaskDto request);
 
    Task<WebResponseContent> QueryStockInfoForRealTrayJZAsync(string ProductLine, string PalletCode);
 
}