chengsc
2025-04-14 d2588d8d1305171e7716055b23a6b5706e9cc04b
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
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
//
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
//
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
 
using Admin.NET.Core;
using System.ComponentModel.DataAnnotations;
 
namespace WCS.Application;
 
/// <summary>
/// 设备信息基础输入参数
/// </summary>
public class WcsDeviceBaseInput
{
    /// <summary>
    /// PlcId
    /// </summary>
    public virtual long PlcId { get; set; }
 
    /// <summary>
    /// 交互类型
    /// </summary>
    public virtual DeviceTypeEnum DeviceType { get; set; }
 
    /// <summary>
    /// 设备级别
    /// </summary>
    public virtual DeviceLevelEnum Level { get; set; }
 
    /// <summary>
    /// DB区域
    /// </summary>
    public virtual string DbNumber { get; set; }
 
    /// <summary>
    /// 工位号
    /// </summary>
    public virtual string StationNum { get; set; }
 
    /// <summary>
    /// PLC偏移量
    /// </summary>
    public virtual string PlcPos { get; set; }
 
    /// <summary>
    /// WCS偏移量
    /// </summary>
    public virtual string WcsPos { get; set; }
 
    /// <summary>
    /// 流程字类型
    /// </summary>
    public virtual PLCDataTypeEnum PosType { get; set; }
 
    /// <summary>
    /// 显示屏ip地址
    /// </summary>
    public virtual string? LedIP { get; set; }
 
    /// <summary>
    /// 描述
    /// </summary>
    public virtual string? Text { get; set; }
 
    /// <summary>
    /// 创建时间
    /// </summary>
    public virtual DateTime? CreateTime { get; set; }
 
    /// <summary>
    /// 更新时间
    /// </summary>
    public virtual DateTime? UpdateTime { get; set; }
 
    /// <summary>
    /// 创建者Id
    /// </summary>
    public virtual long? CreateUserId { get; set; }
 
    /// <summary>
    /// 创建者姓名
    /// </summary>
    public virtual string? CreateUserName { get; set; }
 
    /// <summary>
    /// 修改者Id
    /// </summary>
    public virtual long? UpdateUserId { get; set; }
 
    /// <summary>
    /// 修改者姓名
    /// </summary>
    public virtual string? UpdateUserName { get; set; }
 
    /// <summary>
    /// 创建者部门Id
    /// </summary>
    public virtual long? CreateOrgId { get; set; }
 
    /// <summary>
    /// 创建者部门名称
    /// </summary>
    public virtual string? CreateOrgName { get; set; }
 
    /// <summary>
    /// 软删除
    /// </summary>
    public virtual bool IsDelete { get; set; }
 
}
 
/// <summary>
/// 设备信息分页查询输入参数
/// </summary>
public class PageWcsDeviceInput : BasePageInput
{
    /// <summary>
    /// 关键字查询
    /// </summary>
    public string? SearchKey { get; set; }
 
    /// <summary>
    /// PlcId
    /// </summary>
    public long? PlcId { get; set; }
 
    /// <summary>
    /// 工位号
    /// </summary>
    public string? StationNum { get; set; }
 
    /// <summary>
    /// 描述
    /// </summary>
    public string? Text { get; set; }
 
}
 
/// <summary>
/// 设备信息增加输入参数
/// </summary>
public class AddWcsDeviceInput : WcsDeviceBaseInput
{
    /// <summary>
    /// PlcId
    /// </summary>
    [Required(ErrorMessage = "PlcId不能为空")]
    public override long PlcId { get; set; }
    /// <summary>
    /// 交互类型
    /// </summary>
    [Required(ErrorMessage = "交互类型不能为空")]
    public override DeviceTypeEnum DeviceType { get; set; }
 
    /// <summary>
    /// 设备级别
    /// </summary>
    [Required(ErrorMessage = "设备级别不能为空")]
    public override DeviceLevelEnum Level { get; set; }
 
    /// <summary>
    /// DB区域
    /// </summary>
    [Required(ErrorMessage = "DB区域不能为空")]
    public override string? DbNumber { get; set; }
 
    /// <summary>
    /// 工位号
    /// </summary>
    [Required(ErrorMessage = "工位号不能为空")]
    public override string? StationNum { get; set; }
 
    /// <summary>
    /// PLC偏移量
    /// </summary>
    [Required(ErrorMessage = "PLC偏移量不能为空")]
    public override string? PlcPos { get; set; }
 
    /// <summary>
    /// WCS偏移量
    /// </summary>
    [Required(ErrorMessage = "WCS偏移量不能为空")]
    public override string? WcsPos { get; set; }
 
    /// <summary>
    /// 流程字类型
    /// </summary>
    [Required(ErrorMessage = "流程字类型不能为空")]
    public override PLCDataTypeEnum PosType { get; set; }
 
    /// <summary>
    /// 软删除
    /// </summary>
    [Required(ErrorMessage = "软删除不能为空")]
    public override bool IsDelete { get; set; }
 
}
 
/// <summary>
/// 设备信息删除输入参数
/// </summary>
public class DeleteWcsDeviceInput : BaseIdInput
{
}
 
/// <summary>
/// 设备信息更新输入参数
/// </summary>
public class UpdateWcsDeviceInput : WcsDeviceBaseInput
{
    /// <summary>
    /// 主键Id
    /// </summary>
    [Required(ErrorMessage = "主键Id不能为空")]
    public long Id { get; set; }
 
}
 
/// <summary>
/// 设备信息主键查询输入参数
/// </summary>
public class QueryByIdWcsDeviceInput : DeleteWcsDeviceInput
{
 
}
public class GeneratePosInput
{
    /// <summary>
    /// 主键Id
    /// </summary>
    [Required(ErrorMessage = "主键Id不能为空")]
    public long Id { get; set; }
    /// <summary>
    /// 起始点位
    /// </summary>
    [Required(ErrorMessage = "起始点位不能为空")]
    public int Pos { get; set; }
}
/// <summary>
/// 写入参数
/// </summary>
public class WriteWcsDeviceInput : WcsDeviceBaseInput
{
    /// <summary>
    /// 主键Id
    /// </summary>
    [Required(ErrorMessage = "主键Id不能为空")]
    public long Id { get; set; }
    /// <summary>
    /// 任务号
    /// </summary>
    public string? TaskNo { get; set; }
    /// <summary>
    /// 任务类型
    /// </summary>
    public TaskTypeEnum? TaskType { get; set; }
    /// <summary>
    /// 起始工位
    /// </summary>
    public string? StartLocatNo { get; set; }
    /// <summary>
    /// 结束工位
    /// </summary>
    public string? EndLocatNo { get; set; }
    /// <summary>
    /// 托盘码
    /// </summary>
    public string? PalletNo { get; set; }
    public string? Plc { get; set; }
    public string? Wcs { get; set; }
    /// <summary>
    /// 连接状态
    /// </summary>
    public bool Status { get; set; } = false;
    /// <summary>
    /// 放货排
    /// </summary>
    public int? ReleaseRow { get; set; }
    /// <summary>
    /// 放货列
    /// </summary>
    public int? ReleaseCol { get; set; }
    /// <summary>
    /// 放货层
    /// </summary>
    public int? ReleaseStorey { get; set; }
    /// <summary>
    /// 取货排
    /// </summary>
    public int? PickRow { get; set; }
    /// <summary>
    /// 取货列
    /// </summary>
    public int? PickCol { get; set; }
    /// <summary>
    /// 取货层
    /// </summary>
    public int? PickStorey { get; set; }
 
 
 
public class WcsDeviceUpInfo
{
    /// <summary>
    /// 工位
    /// </summary>
    public string LocatNo { get; set; }
    /// <summary>
    /// 楼层
    /// </summary>
    public string Layer { get; set; }
    /// <summary>
    /// 操作类型
    /// </summary>
    public string TypeName { get; set; }
    /// <summary>
    /// 事件结果 true/false
    /// </summary>
    public string FuncName { get; set; }
    /// <summary>
    /// 任务号
    /// </summary>
    public string TaskNo { get; set; }
    /// <summary>
    /// 托盘号
    /// </summary>
    public string PalletNo { get; set; }
    /// <summary>
    /// 起始工位
    /// </summary>
    public string StartLoction { get; set; }
    /// <summary>
    /// 目的工位
    /// </summary>
    public string EndLoction { get; set; }
    /// <summary>
    /// 起始排
    /// </summary>
    public string StartPai { get; set; }
    /// <summary>
    /// 起始列
    /// </summary>
    public string StartLie { get; set; }
    /// <summary>
    /// 起始层
    /// </summary>
    public string StartCeng { get; set; }
    /// <summary>
    /// 目的排
    /// </summary>
    public string EndPai { get; set; }
    /// <summary>
    /// 目的列
    /// </summary>
    public string EndLie { get; set; }
    /// <summary>
    /// 目的层
    /// </summary>
    public string EndCeng { get; set; }
 
}
 
public class WcsDeviceStartStop
{
    /// <summary>
    /// 操作类型
    /// </summary>
    public string Type { get; set; }
    /// <summary>
    /// 编号
    /// </summary>
    public string No { get; set; }
    /// <summary>
    /// 楼层
    /// </summary>
    public string Layer { get; set; }
    /// <summary>
    /// 事件结果 true/false
    /// </summary>
    public string FuncName { get; set; }
}
public class ShuttleCarControl
{
    /// <summary>
    /// 操作类型
    /// </summary>
    public string Type { get; set; }
    /// <summary>
    /// 楼层
    /// </summary>
    public string Layer { get; set; }
    /// <summary>
    /// 事件结果 true/false
    /// </summary>
    public string FuncName { get; set; }
}