lss
2025-05-30 38eff4fc0100131b180ffa872009b502629743f5
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
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using NongFuWebApi.Services;
 
namespace NongFuWebApi.Controllers
{
    public class AMSModel
    {
        /* 注意点:
         * 淳安项目工单表以及货位表和其他项目有些具体参数不同,使用此WEBAPI需要注意字段替换以及对应方法修改
         * **/
        public class BaseModel
        {
            [SugarColumn(IsPrimaryKey = true)]
            public string S_ID { get; set; } = Guid.NewGuid().ToString("D");
            public string S_CREATOR_ID { get; set; } = "sa";
            public string S_CREATOR_NAME { get; set; } = "超级用户";
            public DateTime T_CREATE { get; set; } = DateTime.Now;
            public DateTime T_MODIFY { get; set; } = DateTime.Now;
        }
 
        /// <summary>
        /// 任务表
        /// 测试环境1:146-TN_0026
        /// 测试环境2:198-TN_0098
        /// </summary>
        //[SugarTable("dbo.TN_0026")]
        [ST("任务表")]
        public class WMSTask : BaseModel
        {
            public string S_TASK_NO { get; set; }
            public string S_START_LAREA { get; set; }
            public string S_END_LAREA { get; set; }
            public string S_START_LOC { get; set; }
            public string S_END_LOC { get; set; }
            public string S_TYPE { get; set; }
            public string S_NOTE { get; set; }
            public string S_SRC_SYS { get; set; }
            public string S_SRC_NO { get; set; }
            /// <summary>
            /// agv/人工/输送线
            /// </summary>
            public string S_WORK_MODE { get; set; }
            public DateTime? T_START_TIME { get; set; }
            public DateTime? T_END_TIME { get; set; }
            /// <summary>
            /// 任务状态
            /// </summary>
            public string S_B_STATE { get; set; }
            public int N_PRIORITY { get; set; }
            /// <summary>
            /// 搬运的托盘号,多个用英文逗号分开
            /// </summary>
            public string S_CNTRS { get; set; }
            /// <summary>
            /// 起点层
            /// </summary>
            public int N_START_LAYER { get; set; }
            /// <summary>
            /// 终点层
            /// </summary>
            public int N_END_LAYER { get; set; }
            /// <summary>
            /// 搬运的托盘数量
            /// </summary>
            public int N_CNTR_COUNT { get; set; }
 
            public string S_EQ_NO { get; set; }
        }
 
        [ST("货位表")]
        public class Location : BaseModel
        {
            public string S_LOC_CODE { get; set; }
            public string S_AREA_CODE { get; set; }
            /// <summary>
            /// 仓库名-不可用
            /// </summary>
            public string S_WH_CODE { get; set; }
            public int N_CAPACITY { get; set; }
            public string S_AGV_SITE { get; set; }
            /// <summary>
            /// 需要注意
            /// </summary>
            //[SugarColumn(IsIgnore = true)]
            public int N_AGV_CODE { get; set; }
            public int N_CURRENT_NUM { get; set; }
            public DateTime T_FULL_TIME { get; set; }
            public int N_ROADWAY { get; set; }
            public string N_ROW { get; set; }
            public int N_COL { get; set; }
            public int N_LAYER { get; set; }
            /// <summary>
            /// 无/入库锁/出库锁/其它锁
            /// </summary>
            public string S_LOCK_STATE { get; set; }
            //public string S_DEEP { get; set; }
            /// <summary>
            /// 淳安特殊字段--用于标记货位上放置的托盘类型  大板-小板
            /// </summary>
            public string S_NOTE { get; set; }
 
 
            [SugarColumn(IsIgnore = true)]
            [Navigate(NavigateType.OneToOne, nameof(S_LOC_CODE))]
            public LocCntrRel LocCntrRel { get; set; }
        }
        [ST("货位容器表")]
        //[SugarTable("TN_0038")]
        public class LocCntrRel : BaseModel
        {
            /// <summary>
            /// 注意,mapper方式不需要
            /// </summary>
            [SugarColumn(IsPrimaryKey = true)]
            public string S_LOC_CODE { get; set; }
            public string S_CNTR_CODE { get; set; }
            [SugarColumn(IsIgnore = true)]
            [Navigate(NavigateType.OneToOne, nameof(S_CNTR_CODE))]
            public CntrItemRel CntrItemRel { get; set; }
            [SugarColumn(IsIgnore = true)]
            [Navigate(NavigateType.OneToOne, nameof(S_CNTR_CODE))]
            public Container Container { get; set; }
            public int N_BIND_ORDER { get; set; }
        }
        [ST("容器物料表")]
        //[SugarTable("TN_0030")]
        public class CntrItemRel : BaseModel
        {
            [SugarColumn(IsPrimaryKey = true)]
            public string S_CNTR_CODE { get; set; }
            public string S_ITEM_CODE { get; set; }
            public string S_ITEM_NAME { get; set; }
            public string S_BATCH_NO { get; set; }
            public string F_QTY { get; set; }
            public string S_ITEM_STATE { get; set; } = "无";
            public string workOrder { get; set; }
            public string S_ITEM_MODEL { get; set; }
            public string S_TRAY_TYPE { get; set; }
 
        }
 
        [ST("物料表")]
        //[SugarTable("TN_0030")]
        public class ItemInfo : BaseModel
        {
            [SugarColumn(IsPrimaryKey = true)]
            public string S_ITEM_CODE { get; set; }
            public string S_ITEM_NAME { get; set; }
            public int S_ITEM_LAYER { get; set; }
            public int S_ITEM_LAYER1 { get; set; }
            public String S_ITEM_MODEL { get; set; }
            public string S_ITEM_TYPE { get; set; }
            public String S_TRAY_TYPE { get; set; }
 
            public int N_MaxLayer { get; set; }
        }
        [ST("容器表")]
        //[SugarTable("TN_0028")]
        public class Container : BaseModel
        {
            /// <summary>
            /// 容器编码
            /// </summary>
            public string S_CNTR_CODE { get; set; }
            /// <summary>
            /// 铁托盘、塑料托盘
            /// </summary>
            public string S_TYPE { get; set; }
            /// <summary>
            /// 规格
            /// </summary>
            public string S_SPEC { get; set; }
            /// <summary>
            /// 容器用途
            /// </summary>
            public string N_PURPOSE { get; set; }
            /// <summary>
            /// 容器来源
            /// </summary>
            public string S_SRC { get; set; }
            /// <summary>
            /// 容器目的地
            /// </summary>
            public string S_DEST { get; set; }
            /// <summary>
            /// 容器状态(空-已清洁-无-转运-待生产)
            /// </summary>
            public string S_CNTR_STATE { get; set; }
        }
 
        [ST("排锁表")]
        public class RowLock : BaseModel
        {
            /// <summary>
            /// 库区编码
            /// </summary>
            public string S_AREA_CODE { get; set; }
            /// <summary>
            /// 排号
            /// </summary>
            public string N_ROW { get; set; }
            /// <summary>
            /// 锁定状态--默认:无
            /// </summary>
            public string S_LOCK_STATE { get; set; }
            /// <summary>
            /// 工作模式
            /// </summary>
            public string S_WORK_MODE { get; set; }
            /// <summary>
            /// 锁来源
            /// </summary>
            public string S_LOCK_SRC { get; set; }
            /// <summary>
            /// 锁定时间
            /// </summary>
            public DateTime T_LOCK_TIME { get; set; }
            /// <summary>
            /// 解锁时间
            /// </summary>
            public DateTime T_UNLOCK_TIME { get; set; }
        }
 
        /// <summary>
        /// 二期梅坪成品工单表(输送线标准工单表)
        /// </summary>
        [SugarTable("TN_Worksheet")]
        public class ConveryWorkOrder : BaseModel
        {
            /// <summary>
            /// 工单号
            /// </summary>
            public string S_WorkNo { get; set; }
            /// <summary>
            /// 产线号
            /// </summary>
            public string S_PLineNo { get; set; }
            /// <summary>
            /// 工单类型
            /// </summary>
            public string S_ORDER_TYPE { get; set; } = "";
            public string S_State { get; set; } = "";
            /// <summary>
            /// 工单状态
            /// </summary>
            public string S_WorkState { get; set; }// S_WorkState S_State
            /// <summary>
            /// 批次号
            /// </summary>
            public string S_BatchNo { get; set; } = "";
            /// <summary>
            /// 物料编码
            /// </summary>
            public string S_ItemCode { get; set; }
            /// <summary>
            /// 物料层数
            /// </summary>
            public string S_ItemLayer { get; set; } = "";
            /// <summary>
            /// 下线托盘类型
            /// </summary>
            public string S_TrayType { get; set; } = "";
            /// <summary>
            /// 托盘规格
            /// </summary>
            public string S_TrayRules { get; set; } = "";
            /// <summary>
            /// 起点库位
            /// </summary>
            public string S_StartLoca { get; set; } = "";
            /// <summary>
            /// 终点库位
            /// </summary>
            public string S_EndLoca { get; set; } = "";
            /// <summary>
            /// 移库数量
            /// </summary>
            public int S_YiKuNum { get; set; }
            public string InRow { get; set; } = "";
        }
 
        #region   API实体模型
        /// <summary>
        /// 工单信息接口
        /// </summary>
        public class TASK_WorkInfoModel
        {
            public string WorkNo { get; set; }
            public string DeviceName { get; set; }
            public string ItemCode { get; set; }
            /// <summary>
            /// 工单开始时间
            /// </summary>
            public string WorkTime { get; set; }
            /// <summary>
            /// 工单状态--1-新建  2-完成
            /// </summary>
            public string WorkState { get; set; }
            /// <summary>
            /// 实际物料编码
            /// </summary>
            public string MaterialCode { get; set; } = "";
        }
        /// <summary>
        /// 托盘信息下发接口
        /// </summary>
        public class SendTrayCodeModel
        {
            public List<TrayInfo> TrayInfo { get; set; }
        }
        public class TrayInfo
        {
            /// <summary>
            /// 产线号
            /// </summary>
            public string deviceName { get; set; }
            /// <summary>
            /// 工单号
            /// </summary>
            public string workNo { get; set; }
            /// <summary>
            /// 托盘码
            /// </summary>
            public string trayCode { get; set; }
            /// <summary>
            /// 托盘数量
            /// </summary>
            public string trayNum { get; set; }
            /// <summary>
            /// 富勒接收到托盘码的时间
            /// </summary>
            public string dateTime { get; set; }
            /// <summary>
            /// 批次号--同标准托规
            /// </summary>
            public string batchNo { get; set; } = "";
            /// <summary>
            /// 标准托规
            /// --生产下线:因存在中途切换 生产物料 动作;因此将 批次号、物料层高以及托规 存在于物料信息接口
            /// --不一定每次都有值,当首次托规与 trayNum 相同时,需更新至 Mobox 工单对应字段
            /// --后续收到托规时,先判断当前物料托规 与 工单托规是否相同,不同即代表换物料了
            /// </summary>
            public string trayRule { get; set; } = "";
            /// <summary>
            /// 物料层高-6、7、8--同标准托规
            /// </summary>
            public string itemLayer { get; set; } = "";
            /// <summary>
            /// 托盘更新接口  默认-空字符串  有值-则进行更新(下线时间不进行更新)
            /// </summary>
            public string sign { get; set; }
        }
        /// <summary>
        /// 人工分拣解绑托盘接口
        /// </summary>
        public class UnbindingTrayCodeModel
        {
            public string[] TrayInfo { get; set; }
        }
        public class SimpleResultModel
        {
            public bool success { get; set; }
            public int errCode { get; set; }
            public string errMsg { get; set; }
        }
        #endregion
 
        #region   淳安富勒中间表
        /// <summary>
        /// 淳安特定工单表
        /// 测试环境1:146-TN_0037
        /// 测试环境2:198-TN_0004
        /// </summary>
        //[SugarTable("dbo.TN_0037")]
        [ST("工单表")]
        public class ChunAnWorkOrder : BaseModel
        {
            /// <summary>
            /// 工单号
            /// </summary>
            public string SQL_WorkNo { get; set; }//产线下线-工单号存放第三方工单号    移库任务-工单号自己生成
            /// <summary>
            /// 产线号
            /// </summary>
            public string SQL_PLineNo { get; set; }//产线下线需要     移库任务不需要
            /// <summary>
            /// 即产即用
            /// </summary>
            public string SQL_UsingNo { get; set; }//目前不使用,无即产即用需求
            /// <summary>
            /// 工单类型
            /// </summary>
            public string SQL_ORDER_TYPE { get; set; }//产线下线|无码入库(自动移库-突发性 管制移库)-人工移库-备货移库-管制移库-缠膜移库
            /// <summary>
            /// 工单状态
            /// </summary>
            public string SQL_State { get; set; }//新建(需审核)-审核中(需执行)-执行中(可设置 完成-暂停)-暂停(不再处理该工单数据)-已完成(根据实际情况处理)
            /// <summary>
            /// 产线下线库位数量
            /// </summary>
            public int SQL_PLineNum { get; set; }//仅限 产线下线工单需要配置-用于限制当前产线最多能够入库的库位数量(已满的库位可以释放)
            /// <summary>
            /// 批次号
            /// </summary>
            public string SQL_BatchNo { get; set; }//产线下线-需要  移库任务-不需要
            /// <summary>
            /// 物料编码
            /// </summary>
            public string SQL_ItemCode { get; set; }//产线下线-需要  移库任务-不需要
            /// <summary>
            /// 物料名称
            /// </summary>
            public string SQL_ItemName { get; set; }//产线下线-需要  移库任务-不需要
            /// <summary>
            /// 物料层数-6,7,8
            /// </summary>
            public string SQL_ItemLayer { get; set; }//产线下线-需要  移库任务-不需要
            /// <summary>
            /// 托盘规则--用于判断是否是零头,指明当前每一托应该生产多少数量
            /// </summary>
            public string SQL_TrayRules { get; set; }//产线下线-需要  移库任务-不需要
            /// <summary>
            /// 托盘类型--用于产线下线时根据托盘选择对应的库区入库  值:大板-小板
            /// </summary>
            public string SQL_TrayType { get; set; }//产线下线-需要  移库任务-不需要
            /// <summary>
            /// 托盘类型--用于产线空托上线时使用  值:大板-小板
            /// </summary>
            public string SQL_EmptyTrayType { get; set; }//产线下线-需要  移库任务-不需要
            /// <summary>
            /// 优先级--目前仅用于产线下线推送任务时获取优先级
            /// </summary>
            public string SQL_TaskPri { get; set; }//产线下线-需要  移库任务-不需要
            /// <summary>
            /// 管制模式开关--仅限[产线下线]工单--
            /// 1:开启管制,需要根据时间判断当前产线是否需要下线至新管制品区
            /// 0:正常模式,默认值,不开启管制,正常下线
            /// </summary>
            public string SQL_GZZY { get; set; } = "0";
            /// <summary>
            /// 管制转移起始时间
            /// </summary>
            public string SQL_GZZYSTime { get; set; }
            /// <summary>
            /// 管制转移结束时间
            /// </summary>
            public string SQL_GZZYETime { get; set; }
            /// <summary>
            /// 起点库区--移库任务需要添加--自动移库除外--已作废
            /// </summary>
            //public string SQL_StartArea { get; set; }
            /// <summary>
            /// 起点库位--移库任务需要添加--自动移库除外--可多选(用,隔开)
            /// </summary>
            public string SQL_StartLoca { get; set; }
            /// <summary>
            /// 终点库区--移库任务需要添加--自动移库除外--已作废
            /// </summary>
            //public string SQL_EndArea { get; set; }
            /// <summary>
            /// 终点库位--移库任务需要添加--自动移库除外--可多选(用,隔开)
            /// </summary>
            public string SQL_EndLoca { get; set; }
            /// <summary>
            /// 缠膜机点位--缠膜移库必须选择
            /// </summary>
            public string SQL_CMJBit { get; set; }
            /// <summary>
            /// 移库数量--除自动转运外,所有移库都有移库数量,默认9999,代表整排移库
            /// --此处指 起点移库的货位数量,取货完成,判断当前起点无托盘,工单数量减一
            /// </summary>
            public int SQL_YiKuNum { get; set; } = 9999;
            /// <summary>
            /// 当前工单执行时间
            /// </summary>
            public string SQL_Modify { get; set; }
            /// <summary>
            /// 当前工单结束时间
            /// </summary>
            public string SQL_PLAN_END { get; set; }
            /// <summary>
            /// 连接产线号
            /// </summary>
            public string SQL_LinkLineNO { get; set; }//目前无使用需求
            /// <summary>
            /// 是否栈板
            /// </summary>
            public string SQL_PaperBox { get; set; }//目前无使用需求
            /// <summary>
            /// 新-物料编码字段
            /// </summary>
            public string MaterialCode { get; set; }
        }
 
        [ST("成品工单表")]
        public class WorkOrder1 : BaseModel
        {
            /// <summary>
            /// 批次号
            /// </summary>
            public string S_BatchNo { get; set; }
            /// <summary>
            /// 产线号
            /// </summary>
            public string S_PLineNo { get; set; }
            /// <summary>
            /// 状态
            /// </summary>
            public string S_WorkState { get; set; }//SQL_State
            /// <summary>
            /// 工单号
            /// </summary>
            public string S_WorkNo { get; set; }//SQL_WorkNo
            /// <summary>
            /// 物料编码
            /// </summary>
            public string S_ItemCode { get; set; }
            public string SQL_ItemName { get; set; }
            public string SQL_Area { get; set; }
            public string S_TrayType { get; set; }
            public int maxTask { get; set; }
            public int trayHeight { get; set; }
            public string S_ItemLayer { get; set; }
            /// <summary>
            /// 是/否  有码和无码模式
            /// </summary>
            public string withCode { get; set; }
            public string SQL_Area1 { get; set; }
            /// <summary>
            /// 工单执行时间
            /// </summary>
            public string S_Modify { get; set; }
            /// <summary>
            /// 工单结束时间
            /// </summary>
            public string S_PLAN_END { get; set; }
            public string S_ORDER_TYPE { get; set; }
        }
 
        //[SugarTable("dbo.ChunAnTrayInfo")]
        [ST("淳安富勒托盘表")]
        public class ChunAnTrayInfo : BaseModel
        {
            /// <summary>
            /// 产线号
            /// </summary>
            public string deviceName { get; set; }
            /// <summary>
            /// 工单号
            /// </summary>
            public string workNo { get; set; }
            /// <summary>
            /// 托盘码
            /// </summary>
            public string trayCode { get; set; }
            /// <summary>
            /// 托盘数量
            /// </summary>
            public string trayNum { get; set; }
            /// <summary>
            /// 富勒接收到托盘码的时间
            /// </summary>
            public string dateTime { get; set; }
            /// <summary>
            /// 批次号--同标准托规
            /// </summary>
            public string batchNo { get; set; }
            /// <summary>
            /// 标准托规
            /// --生产下线:因存在中途切换 生产物料 动作;因此将 批次号、物料层高以及托规 存在于物料信息接口
            /// --不一定每次都有值,当首次托规与 trayNum 相同时,需更新至 Mobox 工单对应字段
            /// --后续收到托规时,先判断当前物料托规 与 工单托规是否相同,不同即代表换物料了
            /// </summary>
            public string trayRule { get; set; }
            /// <summary>
            /// 物料层高-6、7、8--同标准托规
            /// </summary>
            public string itemLayer { get; set; }
        }
        [ST("富勒托盘表")]
        public class ThirdPartTrayInfo : BaseModel
        {
            /// <summary>
            /// 产线号
            /// </summary>
            public string deviceName { get; set; }
            /// <summary>
            /// 工单号
            /// </summary>
            public string workNo { get; set; }
            /// <summary>
            /// 托盘码
            /// </summary>
            public string trayCode { get; set; }
            /// <summary>
            /// 托盘数量
            /// </summary>
            public string trayNum { get; set; }
            /// <summary>
            /// 富勒接收到托盘码的时间
            /// </summary>
            public string dateTime { get; set; }
            /// <summary>
            /// 批次号--同标准托规
            /// </summary>
            public string batchNo { get; set; }
            /// <summary>
            /// 标准托规
            /// --生产下线:因存在中途切换 生产物料 动作;因此将 批次号、物料层高以及托规 存在于物料信息接口
            /// --不一定每次都有值,当首次托规与 trayNum 相同时,需更新至 Mobox 工单对应字段
            /// --后续收到托规时,先判断当前物料托规 与 工单托规是否相同,不同即代表换物料了
            /// </summary>
            public string trayRule { get; set; }
            /// <summary>
            /// 物料层高-6、7、8--同标准托规
            /// </summary>
            public string itemLayer { get; set; }
        }
 
        [SugarTable("TN_Tray")]
        public class ChunAnTrayInfoTwo : BaseModel
        {
            /// <summary>
            /// 产线号
            /// </summary>
            public string deviceName { get; set; }
            /// <summary>
            /// 工单号
            /// </summary>
            public string workNo { get; set; }
            /// <summary>
            /// 托盘码
            /// </summary>
            public string trayCode { get; set; }
            /// <summary>
            /// 托盘数量
            /// </summary>
            public string trayNum { get; set; }
            /// <summary>
            /// 富勒接收到托盘码的时间
            /// </summary>
            public string dateTime { get; set; }
            /// <summary>
            /// 批次号--同标准托规
            /// </summary>
            public string batchNo { get; set; }
            /// <summary>
            /// 标准托规
            /// --生产下线:因存在中途切换 生产物料 动作;因此将 批次号、物料层高以及托规 存在于物料信息接口
            /// --不一定每次都有值,当首次托规与 trayNum 相同时,需更新至 Mobox 工单对应字段
            /// --后续收到托规时,先判断当前物料托规 与 工单托规是否相同,不同即代表换物料了
            /// </summary>
            public string trayRule { get; set; }
            /// <summary>
            /// 物料层高-6、7、8--同标准托规
            /// </summary>
            public string itemLayer { get; set; }
        }
 
        [ST("淳安显示数据表")]
        public class ChunAnScreenData : BaseModel
        {
            /// <summary>
            /// 产线号标示
            /// </summary>
            public string DeviceNameNo { get; set; }
            /// <summary>
            /// 数据类型标示----任务数据、托盘数据、下线数据
            /// </summary>
            public string DataTypeNo { get; set; }
            /// <summary>
            /// 任务号--任务数据
            /// </summary>
            public string TaskNo { get; set; } = "";
            /// <summary>
            /// 任务状态--任务数据
            /// </summary>
            public string TaskState { get; set; } = "";
            /// <summary>
            /// 托盘码----任务托盘有多个,用英文逗号隔开;托盘表托盘码只有一个--托盘数据
            /// </summary>
            public string TrayCode { get; set; } = "";
            /// <summary>
            /// 托盘打码时间--托盘数据
            /// </summary>
            public string TrayCodeTime { get; set; } = "";
            /// <summary>
            /// 光电触发时间----同步下线表数据--下线数据
            /// </summary>
            public string DeviceTime { get; set; } = "";
            /// <summary>
            /// 车号
            /// </summary>
            public string AgvNo { get; set; } = "";
            /// <summary>
            /// 起点
            /// </summary>
            public string StartLoc { get; set; } = "";
            /// <summary>
            /// 终点
            /// </summary>
            public string EndLoc { get; set; } = "";
            /// <summary>
            /// 起点层数
            /// </summary>
            public string StartLayer { get; set; } = "";
            /// <summary>
            /// 终点层数
            /// </summary>
            public string EndLayer { get; set; } = "";
        }
 
        [ST("淳安下线库位表")]
        public class ChunAnAnalysisMoveLib : BaseModel
        {
            /// <summary>
            /// 产线号
            /// </summary>
            public string DeviceName { get; set; }
            /// <summary>
            /// 排号
            /// </summary>
            public string RowNo { get; set; }
            public string AreaCode { get; set; }
            /// <summary>
            /// 当前排空满状态 1-满 0-空(默认值)--暂不使用
            /// </summary>
            //public string RowEFState { get; set; } = "0";
        }
        
        /// <summary>
        /// 数据缓存表
        /// 淳安用作存储向富勒以及向设备发送信息的数据
        /// </summary>
        [SugarTable("dbo.ChunAnCacheData")]
        public class ChunAnCacheData : BaseModel
        {
            /// <summary>
            /// 数据标识
            /// TcpData:调用 PlcHelper.SendHex(plc.address, "3F00300d0a");
            /// HttpData:调用 TaskProcess.AreaRowLockState(Srow.N_ROW.Trim(), false);
            /// </summary>
            public string DataSign { get; set; } = "";
            /// <summary>
            /// 扩展字段1:
            /// 状态为:TcpData 此字段为:产线IP
            /// 状态为:HttpData此字段为:库位编码
            /// </summary>
            public string Ext1 { get; set; } = "";
            /// <summary>
            /// 扩展字段2:
            /// 状态为:TcpData 此字段为:发送的TCP信息
            /// 状态为:HttpData此字段为:锁定解锁状态 1-false 0-true
            public string Ext2 { get; set; } = "";
            /// <summary>
            /// 扩展字段3:未启用
            /// </summary>
            public string Ext3 { get; set; } = "";
            /// <summary>
            /// 扩展字段4:未启用
            /// </summary>
            public string Ext4 { get; set; } = "";
            /// <summary>
            /// 扩展字段5:未启用
            /// </summary>
            public string Ext5 { get; set; } = "";
        }
        #endregion
    }
}