PosInfo.cs
3.7 KB
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
using log4net.Util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OnlineStore.Common;
namespace CtuDeviceLib
{
/// <summary>
/// 位置信息
/// </summary>
public class PosInfo
{
/// <summary>
/// 位置名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 地标码
/// </summary>
public uint PointCode { get; set; }
/// <summary>
/// 货架码--用于ctu对接
/// </summary>
public string ShelveCode { get; set; }
/// <summary>
/// 1=左侧
/// 2=右侧
/// </summary>
public byte Dir { get; set; }
/// <summary>
/// 巷道编码
/// </summary>
public string Lanway { get; set; }
/// <summary>
/// 升降高度
/// </summary>
public int UpDownHeight { get; set; }
/// <summary>
/// 进出深度
/// </summary>
public int InoutDepth { get; set; }
/// <summary>
/// 料箱码读码偏移距离
/// </summary>
public int ScanCodeShift { get; set; }
/// <summary>
/// 层数
/// </summary>
public int Row { get; set; }
public string[] ToDataGrid()
{
List<string> lst = new List<string>
{
Name,
PointCode.ToString(),
InoutDepth.ToString(),
ScanCodeShift.ToString(),
Dir==1?"左侧":"右侧",
ShelveCode.ToString()
};
return lst.ToArray();
}
/// <summary>
/// 是否是货架
/// </summary>
/// <returns></returns>
public bool IsShelf()
{
return Name.Equals(ShelveCode);
}
/// <summary>
/// 是否是入库分拣机构待机点
/// </summary>
/// <returns></returns>
public bool IsInStandby()
{
return Name.StartsWith("Standby") && Name.Contains("In");
}
public bool IsInChargeStation()
{
return Name.StartsWith("ChargeStation");
}
/// <summary>
/// 是否是出库分拣机构待机点
/// </summary>
/// <returns></returns>
public bool IsOutStandby()
{
return Name.StartsWith("Standby") && Name.Contains("Out");
}
/// <summary>
/// 是否是入库分拣机构CTU放料箱点
/// </summary>
/// <returns></returns>
public bool IsInletPutPoint()
{
return Name.EndsWith("FeedingInlet") && Name.StartsWith("In");
}
/// <summary>
/// 是否是入库分拣机构CTU取料箱点
/// </summary>
/// <returns></returns>
public bool IsInletTakePoint()
{
return Name.EndsWith("DischargeHole") && Name.StartsWith("In");
}
/// <summary>
/// 是否在出料分拣
/// </summary>
/// <returns></returns>
public bool IsInOutLine()
{
return Name.StartsWith(Setting_Init.outLine) || Setting_Init.Out_FeedingInlet.Equals(Name);
}
/// <summary>
/// 是否在手动线出口
/// </summary>
/// <returns></returns>
public bool IsInRawLineOut()
{
return Name.Equals(Setting_Init.rawLine_out);
}
/// <summary>
/// 是否在手动线入口
/// </summary>
/// <returns></returns>
public bool IsInRawLineIn()
{
return Name.Equals(Setting_Init.rawLine_in);
}
}
}