Administrator
2025-05-25 5818ac31e7d82e611fa98c35e9a353319bebd3c3
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace WCS.Application
{
 
 
    #region JC34
 
    /// <summary>
    /// agv任务下发model
    /// </summary>
    public class AgvTaskSend
    {
        /// <summary>
        /// 外部任务唯一编号,如果为空,系统生成任务号并返回。
        /// </summary>
        public string robotTaskCode { get; set; }
        /// <summary>
        /// 任务类型
        /// </summary>
        public string taskType { get; set; }
        /// <summary>
        /// 执行步骤集合。本次任务机器人需要执行的关键路径,如货架起点 A 至出库工作台 B
        /// </summary>
        public List<targetRoute> targetRoute { get; set; }
        /// <summary>
        /// 任务执行的初始优先顺序,数值越大,优先级越高。但机器人调度系统会根据任务繁忙程度,机器人的工作状态,以及其他优先级修正条件,进行综合判定后,实时动态调整任务实际的优先级数值。范围:1~120
        /// </summary>
        public int? initPriority { get; set; }
        
        /// <summary>
        /// 自定义扩展字段,可随业务的差异而传入不同的扩展内容,在业务流程的执行中使用
        /// </summary>
        public extra extra { get; set; }
    }
    /// <summary>
    /// 执行步骤集合。本次任务机器人需要执行的关键路径,如货架起点 A 至出库工作台 B
    /// </summary>
    public class targetRoute
    {
        /// <summary>
        /// 目标路径序列。从 0 开始。
        /// </summary>
        public int seq { get; set; }
        /// <summary>
        /// 目标类型。可扩展枚举值。
        /// 预制枚举值:
        /// ZONE目标所处区域编号
        /// SITE站点别名
        /// STORAGE仓位别名
        /// MAT_LABEL物料标签
        /// CARRIER载具编号
        /// STACK巷道编号
        /// STACK_LABEL巷道特征值
        /// CHANNEL通道编号
        /// EQPT 外部设备
        /// PTL_WALL
        /// CTU 缓存架
        /// CARRIER_TYPE载具类型
        /// BIN_TYPE仓位类型
        /// AREA_STATION区域工作台
        /// PILE_COUNT一次搬几个
        /// MIX_CONDITION条件组合
        /// DEGREE 热度
        /// MULTI_BIN_GROUP多深位组号
        /// </summary>
        public string type { get; set; }
        /// <summary>
        /// 机器人到达目标位置后的操作。国标要求,
        /// 非必要。对 AMR 动作无影响。可扩展的枚举值。
        /// 预制枚举值:
        /// COLLECT取货
        /// DELIVERY送货
        /// ROTATE旋转
        /// </summary>
        public string code { get; set; } 
    }
    public class extra
    {
        /// <summary>
        /// 载具的信息,包含载具编号、层号。
        /// 使用场景:
        /// 1.装卸机或输送线专用
        /// 2.载具与站点没有绑定,但需要传入载具的场景。
        /// </summary>
        public List<carrierInfo> carrierInfo { get; set; }
    }
    
    public class carrierInfo
    {
        /// <summary>
        /// 载具类型
        /// </summary>
        public string carrierType { get; set; }
        /// <summary>
        /// 载具编号
        /// </summary>
        public string carrierCode { get; set; }
        /// <summary>
        /// 层号: 从 0 开始、从下往上编号
        /// </summary>
        public int layer { get; set; }
    }
 
    /// <summary>
    /// 返回实体
    /// </summary>
    public class ResponseAgvDto
    {
        /// <summary>
        /// true 成功  false 失败
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 返回码
        /// SUCCESS:成功
        /// FAIL:失败
        /// 是否必填:是
        /// </summary>
        public string code { get; set; }
 
        /// <summary>
        /// 返回消息
        /// 是否必填:是
        /// </summary>
        public string message { get; set; }
 
        /// <summary>
        /// 返回的数据结构
        /// 是否必填:否
        /// </summary>
        public data data { get; set; }
    }
    public class data
    {
        public string robotTaskCode { get; set; }
    }
 
     
 
    #endregion
 
    public class AGVApplyLockInput
    {
        /// <summary>
        /// 门  111去平库 222去车间
        /// </summary>
        public string DeviceIndex { get; set; }
        public string UUID { get; set; }
        public string ActionTask { get; set; }
        public string DeviceType { get; set; }
        public string Des { get; set; }
    }
    public class AGVCallBackInput
    {
        public string ReqCode { get; set; }
 
        public string ReqTime { get; set; }
        public string CurrentPositionCode { get; set; }
        /// <summary>
        /// 任务号
        /// </summary>
        public string robotTaskCode { get; set; }
        /// <summary>
        /// 托盘号
        /// </summary>
        public string CtnrCode { get; set; }
 
        public ExtraInfo Extra { get; set; }
 
 
    }
    public class ExtraInfo
    {
        public ExtraInfoVal Values { get; set; }
    }
    public class ExtraInfoVal
    {
        
        /// <summary>
        /// 方法名 end : 任务结束
        /// </summary>
        public string Method { get; set; }
    }
    public class AGVCallBackResponse
    {
        public string Code { get; set; }
        public string Message { get; set; }
        public string ReqCode { get; set; }
    }
 
    public class AgvTaskInput
    {
        /// <summary>
        /// 
        /// </summary>
        public string ReqCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string TaskTyp { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string CtnrTyp { get; set; } = "1";
        /// <summary>
        /// 
        /// </summary>
        public string CtnrCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<PositionCodePathItem> PositionCodePath { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string TaskCode { get; set; }
    }
 
    public class PositionCodePathItem
    {
        /// <summary>
        /// 
        /// </summary>
        public string PositionCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Type { get; set; } = "00";
    }
 
    public class AgvResponse
    {
        /// <summary>
        /// 
        /// </summary>
        public string code { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string data { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string message { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string reqCode { get; set; }
    }
    public class AgvResponse2
    {
        /// <summary>
        /// 
        /// </summary>
        public int code { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string data { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string message { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string reqCode { get; set; }
    }
    public class AgvNotifyInput
    {
        /// <summary>
        /// 
        /// </summary>
        public string UUID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string DeviceIndex { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ActionStatus { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string DeviceType { get; set; } = "door";
        /// <summary>
        /// 
        /// </summary>
        public string Des { get; set; }
    }
 
    public class StorageCacheStatus
    {
        public bool? Z11 { get; set; }
        public bool? Z12 { get; set; }
        public bool? Z13 { get; set; }
        public bool? Z21 { get; set; }
        public bool? Z22 { get; set; }
        public bool? Z23 { get; set; }
        public bool? Z31 { get; set; }
        public bool? Z32 { get; set; }
        public bool? Z33 { get; set; }
        public bool? Z41 { get; set; }
        public bool? Z42 { get; set; }
        public bool? Z43 { get; set; }
        public bool? Z51 { get; set; }
        public bool? Z52 { get; set; }
        public bool? Z53 { get; set; }
    }
 
    public class CancelTaskModel
    {
        /// <summary>
        /// 
        /// </summary>
        public string ReqCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ReqTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ClientCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string TokenCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ForceCancel { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string MatterArea { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string AgvCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string TaskCode { get; set; }
    }
 
}