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
using System;
using System.Reflection;
 
namespace SHARP_CLAS_UI
{
    public class Panel_Info
    {
        #region Property
        public bool Blank { get; set; }
 
        public string Tray_ID { get; set; }
        public string Panel_ID { get; set; }
        public int Tray_Num { get; set; }
        public int Panel_Num { get; set; }
        public int Row_Num { get; set; }
        public int Column_Num { get; set; }
 
        public bool Ablation_Run { get; set; }
 
        public bool Ld_Reverse { get; set; }
        public bool Uld_Reverse { get; set; }
 
        public bool Film_Judge_Ack { get; set; }
        public bool Film_Judge_Result { get; set; }
 
        public bool Pre_Align_Ack { get; set; }
        public bool Pre_Align_Result { get; set; }
 
        public double Pre_Align_X_Offset { get; set; }
        public double Pre_Align_Y_Offset { get; set; }
        public double Pre_Align_T_Offset { get; set; }
 
        public bool Fine_Align_Ack { get; set; }
        public bool Fine_Align_Result { get; set; }
 
        public bool IsPanelIdReadWorked { get; set; }
        public bool IsPanelIdRead { get; set; }
 
        public double Fine_Align_X_Offset { get; set; }
        public double Fine_Align_Y_Offset { get; set; }
        public double Fine_Align_T_Offset { get; set; }
        public double Fine_Align_Distatnce { get; set; }
 
        public double AblationPower { get; set; }
        public double AblationTargetPower { get; set; }
        public bool IsAblationWorked { get; set; }
 
        public bool IsPlasmaWorked { get; set; }
 
        public bool Measurement_Ack { get; set; }
        public bool Measurement_Result { get; set; }
 
        public double Mark1Point1 { get; set; }
        public double Mark1Point2 { get; set; }
        public double Mark2Point1 { get; set; }
        public double Mark2Point2 { get; set; }
        public double Mark3Point1 { get; set; }
        public double Mark3Point2 { get; set; }
        public double Mark4Point1 { get; set; }
        public double Mark4Point2 { get; set; }
        
        public bool WidthMeasurement_Ack { get; set; }
        public bool WidthMeasurement_Result { get; set; }
 
        public double Mark1Width { get; set; }
        public double Mark2Width { get; set; }
        public double Mark3Width { get; set; }
        public double Mark4Width { get; set; }
 
        public int Stage_Num { get; set; }
 
        public DateTime Start_Time { get; set; }
 
        public DateTime End_Time { get; set; }
 
        #endregion
 
        #region Construct
        public Panel_Info()
        {
            this.Start_Time = DateTime.Now;
            this.End_Time = Convert.ToDateTime("9999-12-31 23:59:59");
            this.Blank = true;
            this.Ablation_Run = true;
            this.Tray_ID = string.Empty;
            this.Panel_ID = string.Empty;
        }
        #endregion
 
        #region Fuction
        public Panel_Info Clone()
        {
            Panel_Info info = new Panel_Info();
 
            info.Blank = this.Blank;
            info.Tray_ID = this.Tray_ID;
            info.Panel_ID = this.Panel_ID;
            info.Tray_Num = this.Tray_Num;
            info.Panel_Num = this.Panel_Num;
            info.Row_Num = this.Row_Num;
            info.Column_Num = this.Column_Num;
            info.Ld_Reverse = this.Ld_Reverse;
            info.Uld_Reverse = this.Uld_Reverse;
            info.Ablation_Run = this.Ablation_Run;
            info.Film_Judge_Ack = this.Film_Judge_Ack;
            info.Film_Judge_Result = this.Film_Judge_Result;
            info.Pre_Align_Ack = this.Pre_Align_Ack;
            info.Pre_Align_Result = this.Pre_Align_Result;
            info.Pre_Align_X_Offset = this.Pre_Align_X_Offset;
            info.Pre_Align_Y_Offset = this.Pre_Align_Y_Offset;
            info.Pre_Align_T_Offset = this.Pre_Align_T_Offset;
            info.IsPanelIdReadWorked = this.IsPanelIdReadWorked;
            info.IsPanelIdRead = this.IsPanelIdRead;
            info.Fine_Align_Ack = this.Fine_Align_Ack;
            info.Fine_Align_Result = this.Fine_Align_Result;
            info.Fine_Align_X_Offset = this.Fine_Align_X_Offset;
            info.Fine_Align_Y_Offset = this.Fine_Align_Y_Offset;
            info.Fine_Align_T_Offset = this.Fine_Align_T_Offset;
            info.Fine_Align_Distatnce = this.Fine_Align_Distatnce;
            info.AblationPower = this.AblationPower;
            info.AblationTargetPower = this.AblationTargetPower;
            info.IsAblationWorked = this.IsAblationWorked;
            info.IsPlasmaWorked = this.IsPlasmaWorked;
            info.Measurement_Ack = this.Measurement_Ack;
            info.Measurement_Result = this.Measurement_Result;
            info.Mark1Point1 = this.Mark1Point1;
            info.Mark1Point2 = this.Mark1Point2;
            info.Mark2Point1 = this.Mark2Point1;
            info.Mark2Point2 = this.Mark2Point2;
            info.Mark3Point1 = this.Mark3Point1;
            info.Mark3Point2 = this.Mark3Point2;
            info.Mark4Point1 = this.Mark4Point1;
            info.Mark4Point2 = this.Mark4Point2;
            info.Stage_Num = this.Stage_Num;
            info.Start_Time = this.Start_Time;
            info.End_Time = this.End_Time;
 
            return info;
        }
 
        public override string ToString()
        {
            string str = string.Empty;
            var properties = typeof(Panel_Info).GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
            
            foreach (PropertyInfo info in properties)
            {
                str += info.Name + ":";
                str += info.GetValue(this).ToString() + ",";
            }
 
            return str;
        }
        #endregion
    }
}