wanshenmean
2024-11-06 c9982eb3dd76696b8a3851cc6411a71c402d042f
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
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="tag">托盘类型(1:实盘,2:空盘)</param>
    /// <param name="areaCode">区域编码</param>
    /// <param name="roadways">巷道列表</param>
    /// <returns>返回结果集</returns>
    Task<WebResponseContent> RequestTrayTaskAsync(string position, int tag, string areaCode, List<string> roadways);
}