huangxiaoqiang
2026-04-02 8cf9d378ad17a59b1b18067bd18280dd6b02719f
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
using WIDESEA_Common;
using WIDESEA_Core.Enums;
using WIDESEA_DTO;
using WIDESEA_DTO.WMS;
 
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>
    Task<WebResponseContent> CompleteAsync(int taskNum);
 
    /// <summary>
    /// 取消任务
    /// </summary>
    /// <param name="taskNum"></param>
    /// <returns></returns>
    WebResponseContent TaskCancel(int taskNum);
 
    /// <summary>
    /// 获取任务信息
    /// </summary>
    /// <returns></returns>
    WebResponseContent GetTaskInfo();
 
 
    /// <summary>
    /// 请求任务巷道
    /// </summary>
    /// <param name="position"></param>
    /// <param name="areaCode"></param>
    /// <param name="palletCode"></param>
    /// <param name="type"></param>
    /// <returns></returns>
    Task<WebResponseContent> RequestInboundTaskAsync(RequestTaskDto taskDto);
 
 
    /// <summary>
    /// 获取空货位
    /// </summary>
    /// <param name="roadWay"></param>
    /// <returns></returns>
    Task<DtLocationInfo> GetEmptyLocation(string roadWay);
 
 
    /// <summary>
    /// 请求托盘任务
    /// </summary>
    /// <param name="position">目标位置</param>
    /// <param name="tag">托盘类型(1:实盘,2:空盘)</param>
    /// <param name="areaCode">区域编码</param>
    /// <param name="roadways">巷道列表</param>
    /// <returns>返回结果集</returns>
    Task<WebResponseContent> RequestOutboundTaskAsync(RequestTaskDto taskDto);
 
 
    (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) GetlcoationState(Dt_Task task, StatusChangeTypeEnum StatusChangeTypeEnum,DtLocationInfo location);
 
 
    /// <summary>
    /// 任务状态修改
    /// </summary>
    /// <param name="input">请求数据</param>
    /// <returns></returns>
    Task<WebResponseContent> UpdateTaskStatus(int taskNum, int taskState);
 
 
    Task<WebResponseContent> SendWCSTask(List<WMSTaskDTO> taskDTO);
 
    (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) UpdateLocationStatus(DtLocationInfo location, LocationEnum locationStatus, int taskNum, int StatusChangeType);
 
    (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) UpdateLocationStatus(string locationCode, LocationEnum locationStatus, int taskNum, int StatusChangeType);
 
    (DtLocationStatusChangeRecord, DtLocationInfo) UpdateEndLocationStatus(string locationCode, LocationEnum locationStatus, int taskNum, StatusChangeTypeEnum StatusChangeType);
 
    (DtLocationStatusChangeRecord, DtLocationInfo) UpdateLocationStatus(string locationCode, LocationEnum locationStatus, int taskNum, StatusChangeTypeEnum StatusChangeType);
 
}