Selaa lähdekoodia

APL SN Check 기능 추가 / Merge Service 추가

시리얼번호 중복 점검/생산번호 중복  점검/ 짝 점검
Merge 기능 추가 (Excel File 불러온 후 합치기)
YJ 5 vuotta sitten
vanhempi
commit
7dd8715f7d

+ 234 - 103
Main.Designer.cs

@@ -59,12 +59,20 @@
59 59
             this.label_Catm1Test = new System.Windows.Forms.Label();
60 60
             this.panel_GpsMode = new System.Windows.Forms.Panel();
61 61
             this.label_GPSTest = new System.Windows.Forms.Label();
62
+            this.panel_SnCheckMain = new System.Windows.Forms.Panel();
63
+            this.dataGridView_Chk = new System.Windows.Forms.DataGridView();
64
+            this.button_FileFindLoad = new System.Windows.Forms.Button();
65
+            this.progressBar2 = new System.Windows.Forms.ProgressBar();
62 66
             this.panel_MergeMain = new System.Windows.Forms.Panel();
67
+            this.label7 = new System.Windows.Forms.Label();
68
+            this.label_Cnt = new System.Windows.Forms.Label();
69
+            this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
70
+            this.button_Merge = new System.Windows.Forms.Button();
63 71
             this.button_PrevFile = new System.Windows.Forms.Button();
64 72
             this.button_AfterFile = new System.Windows.Forms.Button();
65 73
             this.listBox_AfterFile = new System.Windows.Forms.ListBox();
66 74
             this.listBox_PreviousFile = new System.Windows.Forms.ListBox();
67
-            this.progressBar1 = new System.Windows.Forms.ProgressBar();
75
+            this.progressBar_Merge = new System.Windows.Forms.ProgressBar();
68 76
             this.panel_Catm1Test = new System.Windows.Forms.Panel();
69 77
             this.richTextBox_catm1 = new System.Windows.Forms.RichTextBox();
70 78
             this.dataGridView_Catm1 = new System.Windows.Forms.DataGridView();
@@ -93,12 +101,6 @@
93 101
             this.pictureBox_UnCheck1 = new System.Windows.Forms.PictureBox();
94 102
             this.label2 = new System.Windows.Forms.Label();
95 103
             this.dataGridView_Sensor = new System.Windows.Forms.DataGridView();
96
-            this.panel_SnCheckMain = new System.Windows.Forms.Panel();
97
-            this.dataGridView1 = new System.Windows.Forms.DataGridView();
98
-            this.button_FileFindLoad = new System.Windows.Forms.Button();
99
-            this.progressBar2 = new System.Windows.Forms.ProgressBar();
100
-            this.folderBrowserDialog_Mainpath = new System.Windows.Forms.FolderBrowserDialog();
101
-            this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
102 104
             this.ProductNumber = new System.Windows.Forms.DataGridViewTextBoxColumn();
103 105
             this.SN = new System.Windows.Forms.DataGridViewTextBoxColumn();
104 106
             this.IMEI = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -111,10 +113,18 @@
111 113
             this.BMA_X = new System.Windows.Forms.DataGridViewTextBoxColumn();
112 114
             this.BMA_Y = new System.Windows.Forms.DataGridViewTextBoxColumn();
113 115
             this.BMA_Z = new System.Windows.Forms.DataGridViewTextBoxColumn();
114
-            this.button_Merge = new System.Windows.Forms.Button();
115
-            this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
116
-            this.label_Cnt = new System.Windows.Forms.Label();
117
-            this.label7 = new System.Windows.Forms.Label();
116
+            this.folderBrowserDialog_Mainpath = new System.Windows.Forms.FolderBrowserDialog();
117
+            this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
118
+            this.listBox_SNDuplicate = new System.Windows.Forms.ListBox();
119
+            this.label_Duplicate = new System.Windows.Forms.Label();
120
+            this.listBox_Diff = new System.Windows.Forms.ListBox();
121
+            this.label_Diff = new System.Windows.Forms.Label();
122
+            this.button_ChkStart = new System.Windows.Forms.Button();
123
+            this.listBox_ProductDuplicate = new System.Windows.Forms.ListBox();
124
+            this.label8 = new System.Windows.Forms.Label();
125
+            this.button_SNClear = new System.Windows.Forms.Button();
126
+            this.button_DuplicateClear = new System.Windows.Forms.Button();
127
+            this.button_DiffClear = new System.Windows.Forms.Button();
118 128
             this.panel_Main.SuspendLayout();
119 129
             this.panel4.SuspendLayout();
120 130
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).BeginInit();
@@ -127,7 +137,10 @@
127 137
             this.panel_SensorMode.SuspendLayout();
128 138
             this.panel_Catm1Mode.SuspendLayout();
129 139
             this.panel_GpsMode.SuspendLayout();
140
+            this.panel_SnCheckMain.SuspendLayout();
141
+            ((System.ComponentModel.ISupportInitialize)(this.dataGridView_Chk)).BeginInit();
130 142
             this.panel_MergeMain.SuspendLayout();
143
+            ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
131 144
             this.panel_Catm1Test.SuspendLayout();
132 145
             ((System.ComponentModel.ISupportInitialize)(this.dataGridView_Catm1)).BeginInit();
133 146
             this.panel_GpsTest.SuspendLayout();
@@ -142,9 +155,6 @@
142 155
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox_UnCheck4)).BeginInit();
143 156
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox_UnCheck1)).BeginInit();
144 157
             ((System.ComponentModel.ISupportInitialize)(this.dataGridView_Sensor)).BeginInit();
145
-            this.panel_SnCheckMain.SuspendLayout();
146
-            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
147
-            ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
148 158
             this.SuspendLayout();
149 159
             // 
150 160
             // serialPort
@@ -161,11 +171,11 @@
161 171
             this.panel_Main.Controls.Add(this.panel4);
162 172
             this.panel_Main.Controls.Add(this.label6);
163 173
             this.panel_Main.Controls.Add(this.panel1);
164
-            this.panel_Main.Controls.Add(this.panel_MergeMain);
165
-            this.panel_Main.Controls.Add(this.panel_Catm1Test);
174
+            this.panel_Main.Controls.Add(this.panel_SnCheckMain);
166 175
             this.panel_Main.Controls.Add(this.panel_GpsTest);
167 176
             this.panel_Main.Controls.Add(this.panel_SensorTest);
168
-            this.panel_Main.Controls.Add(this.panel_SnCheckMain);
177
+            this.panel_Main.Controls.Add(this.panel_MergeMain);
178
+            this.panel_Main.Controls.Add(this.panel_Catm1Test);
169 179
             this.panel_Main.Location = new System.Drawing.Point(0, 0);
170 180
             this.panel_Main.Name = "panel_Main";
171 181
             this.panel_Main.Size = new System.Drawing.Size(1356, 710);
@@ -507,6 +517,54 @@
507 517
             this.label_GPSTest.MouseLeave += new System.EventHandler(this.label_GPSTest_MouseLeave);
508 518
             this.label_GPSTest.MouseMove += new System.Windows.Forms.MouseEventHandler(this.label_GPSTest_MouseMove);
509 519
             // 
520
+            // panel_SnCheckMain
521
+            // 
522
+            this.panel_SnCheckMain.Controls.Add(this.button_DiffClear);
523
+            this.panel_SnCheckMain.Controls.Add(this.button_DuplicateClear);
524
+            this.panel_SnCheckMain.Controls.Add(this.button_SNClear);
525
+            this.panel_SnCheckMain.Controls.Add(this.button_ChkStart);
526
+            this.panel_SnCheckMain.Controls.Add(this.label_Diff);
527
+            this.panel_SnCheckMain.Controls.Add(this.label8);
528
+            this.panel_SnCheckMain.Controls.Add(this.label_Duplicate);
529
+            this.panel_SnCheckMain.Controls.Add(this.listBox_Diff);
530
+            this.panel_SnCheckMain.Controls.Add(this.listBox_ProductDuplicate);
531
+            this.panel_SnCheckMain.Controls.Add(this.listBox_SNDuplicate);
532
+            this.panel_SnCheckMain.Controls.Add(this.dataGridView_Chk);
533
+            this.panel_SnCheckMain.Controls.Add(this.button_FileFindLoad);
534
+            this.panel_SnCheckMain.Controls.Add(this.progressBar2);
535
+            this.panel_SnCheckMain.Location = new System.Drawing.Point(163, 44);
536
+            this.panel_SnCheckMain.Name = "panel_SnCheckMain";
537
+            this.panel_SnCheckMain.Size = new System.Drawing.Size(1202, 599);
538
+            this.panel_SnCheckMain.TabIndex = 90;
539
+            // 
540
+            // dataGridView_Chk
541
+            // 
542
+            this.dataGridView_Chk.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.DisplayedCells;
543
+            this.dataGridView_Chk.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
544
+            this.dataGridView_Chk.Location = new System.Drawing.Point(102, 65);
545
+            this.dataGridView_Chk.Name = "dataGridView_Chk";
546
+            this.dataGridView_Chk.RowTemplate.Height = 23;
547
+            this.dataGridView_Chk.Size = new System.Drawing.Size(372, 524);
548
+            this.dataGridView_Chk.TabIndex = 4;
549
+            // 
550
+            // button_FileFindLoad
551
+            // 
552
+            this.button_FileFindLoad.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(159)))), ((int)(((byte)(200)))));
553
+            this.button_FileFindLoad.Location = new System.Drawing.Point(21, 65);
554
+            this.button_FileFindLoad.Name = "button_FileFindLoad";
555
+            this.button_FileFindLoad.Size = new System.Drawing.Size(75, 519);
556
+            this.button_FileFindLoad.TabIndex = 3;
557
+            this.button_FileFindLoad.Text = "Load";
558
+            this.button_FileFindLoad.UseVisualStyleBackColor = false;
559
+            this.button_FileFindLoad.Click += new System.EventHandler(this.button_FileFindLoad_Click);
560
+            // 
561
+            // progressBar2
562
+            // 
563
+            this.progressBar2.Location = new System.Drawing.Point(21, 21);
564
+            this.progressBar2.Name = "progressBar2";
565
+            this.progressBar2.Size = new System.Drawing.Size(1159, 40);
566
+            this.progressBar2.TabIndex = 0;
567
+            // 
510 568
             // panel_MergeMain
511 569
             // 
512 570
             this.panel_MergeMain.Controls.Add(this.label7);
@@ -517,12 +575,50 @@
517 575
             this.panel_MergeMain.Controls.Add(this.button_AfterFile);
518 576
             this.panel_MergeMain.Controls.Add(this.listBox_AfterFile);
519 577
             this.panel_MergeMain.Controls.Add(this.listBox_PreviousFile);
520
-            this.panel_MergeMain.Controls.Add(this.progressBar1);
578
+            this.panel_MergeMain.Controls.Add(this.progressBar_Merge);
521 579
             this.panel_MergeMain.Location = new System.Drawing.Point(160, 44);
522 580
             this.panel_MergeMain.Name = "panel_MergeMain";
523 581
             this.panel_MergeMain.Size = new System.Drawing.Size(1202, 599);
524 582
             this.panel_MergeMain.TabIndex = 88;
525 583
             // 
584
+            // label7
585
+            // 
586
+            this.label7.AutoSize = true;
587
+            this.label7.Location = new System.Drawing.Point(119, 31);
588
+            this.label7.Name = "label7";
589
+            this.label7.Size = new System.Drawing.Size(29, 12);
590
+            this.label7.TabIndex = 7;
591
+            this.label7.Text = "Line";
592
+            // 
593
+            // label_Cnt
594
+            // 
595
+            this.label_Cnt.AutoSize = true;
596
+            this.label_Cnt.Font = new System.Drawing.Font("굴림", 14F, System.Drawing.FontStyle.Bold);
597
+            this.label_Cnt.Location = new System.Drawing.Point(357, 25);
598
+            this.label_Cnt.Name = "label_Cnt";
599
+            this.label_Cnt.Size = new System.Drawing.Size(94, 19);
600
+            this.label_Cnt.TabIndex = 6;
601
+            this.label_Cnt.Text = "Count : 0";
602
+            // 
603
+            // numericUpDown1
604
+            // 
605
+            this.numericUpDown1.Location = new System.Drawing.Point(160, 26);
606
+            this.numericUpDown1.Name = "numericUpDown1";
607
+            this.numericUpDown1.Size = new System.Drawing.Size(102, 21);
608
+            this.numericUpDown1.TabIndex = 5;
609
+            // 
610
+            // button_Merge
611
+            // 
612
+            this.button_Merge.AccessibleRole = System.Windows.Forms.AccessibleRole.None;
613
+            this.button_Merge.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(159)))), ((int)(((byte)(200)))));
614
+            this.button_Merge.Location = new System.Drawing.Point(23, 21);
615
+            this.button_Merge.Name = "button_Merge";
616
+            this.button_Merge.Size = new System.Drawing.Size(75, 38);
617
+            this.button_Merge.TabIndex = 4;
618
+            this.button_Merge.Text = "Merge";
619
+            this.button_Merge.UseVisualStyleBackColor = false;
620
+            this.button_Merge.Click += new System.EventHandler(this.button_Merge_Click);
621
+            // 
526 622
             // button_PrevFile
527 623
             // 
528 624
             this.button_PrevFile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(159)))), ((int)(((byte)(200)))));
@@ -563,12 +659,12 @@
563 659
             this.listBox_PreviousFile.Size = new System.Drawing.Size(511, 520);
564 660
             this.listBox_PreviousFile.TabIndex = 2;
565 661
             // 
566
-            // progressBar1
662
+            // progressBar_Merge
567 663
             // 
568
-            this.progressBar1.Location = new System.Drawing.Point(621, 21);
569
-            this.progressBar1.Name = "progressBar1";
570
-            this.progressBar1.Size = new System.Drawing.Size(567, 40);
571
-            this.progressBar1.TabIndex = 0;
664
+            this.progressBar_Merge.Location = new System.Drawing.Point(621, 21);
665
+            this.progressBar_Merge.Name = "progressBar_Merge";
666
+            this.progressBar_Merge.Size = new System.Drawing.Size(567, 40);
667
+            this.progressBar_Merge.TabIndex = 0;
572 668
             // 
573 669
             // panel_Catm1Test
574 670
             // 
@@ -864,46 +960,6 @@
864 960
             this.dataGridView_Sensor.Size = new System.Drawing.Size(1182, 58);
865 961
             this.dataGridView_Sensor.TabIndex = 15;
866 962
             // 
867
-            // panel_SnCheckMain
868
-            // 
869
-            this.panel_SnCheckMain.Controls.Add(this.dataGridView1);
870
-            this.panel_SnCheckMain.Controls.Add(this.button_FileFindLoad);
871
-            this.panel_SnCheckMain.Controls.Add(this.progressBar2);
872
-            this.panel_SnCheckMain.Location = new System.Drawing.Point(162, 44);
873
-            this.panel_SnCheckMain.Name = "panel_SnCheckMain";
874
-            this.panel_SnCheckMain.Size = new System.Drawing.Size(1202, 599);
875
-            this.panel_SnCheckMain.TabIndex = 90;
876
-            // 
877
-            // dataGridView1
878
-            // 
879
-            this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
880
-            this.dataGridView1.Location = new System.Drawing.Point(102, 65);
881
-            this.dataGridView1.Name = "dataGridView1";
882
-            this.dataGridView1.RowTemplate.Height = 23;
883
-            this.dataGridView1.Size = new System.Drawing.Size(1078, 524);
884
-            this.dataGridView1.TabIndex = 4;
885
-            // 
886
-            // button_FileFindLoad
887
-            // 
888
-            this.button_FileFindLoad.Location = new System.Drawing.Point(21, 65);
889
-            this.button_FileFindLoad.Name = "button_FileFindLoad";
890
-            this.button_FileFindLoad.Size = new System.Drawing.Size(75, 23);
891
-            this.button_FileFindLoad.TabIndex = 3;
892
-            this.button_FileFindLoad.Text = "Load";
893
-            this.button_FileFindLoad.UseVisualStyleBackColor = true;
894
-            this.button_FileFindLoad.Click += new System.EventHandler(this.button_FileFindLoad_Click);
895
-            // 
896
-            // progressBar2
897
-            // 
898
-            this.progressBar2.Location = new System.Drawing.Point(21, 21);
899
-            this.progressBar2.Name = "progressBar2";
900
-            this.progressBar2.Size = new System.Drawing.Size(1159, 40);
901
-            this.progressBar2.TabIndex = 0;
902
-            // 
903
-            // openFileDialog
904
-            // 
905
-            this.openFileDialog.Multiselect = true;
906
-            // 
907 963
             // ProductNumber
908 964
             // 
909 965
             this.ProductNumber.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;
@@ -984,43 +1040,107 @@
984 1040
             this.BMA_Z.HeaderText = "가속도 Z";
985 1041
             this.BMA_Z.Name = "BMA_Z";
986 1042
             // 
987
-            // button_Merge
988
-            // 
989
-            this.button_Merge.AccessibleRole = System.Windows.Forms.AccessibleRole.None;
990
-            this.button_Merge.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(159)))), ((int)(((byte)(200)))));
991
-            this.button_Merge.Location = new System.Drawing.Point(23, 21);
992
-            this.button_Merge.Name = "button_Merge";
993
-            this.button_Merge.Size = new System.Drawing.Size(75, 38);
994
-            this.button_Merge.TabIndex = 4;
995
-            this.button_Merge.Text = "Merge";
996
-            this.button_Merge.UseVisualStyleBackColor = false;
997
-            this.button_Merge.Click += new System.EventHandler(this.button_Merge_Click);
998
-            // 
999
-            // numericUpDown1
1000
-            // 
1001
-            this.numericUpDown1.Location = new System.Drawing.Point(160, 26);
1002
-            this.numericUpDown1.Name = "numericUpDown1";
1003
-            this.numericUpDown1.Size = new System.Drawing.Size(102, 21);
1004
-            this.numericUpDown1.TabIndex = 5;
1005
-            // 
1006
-            // label_Cnt
1007
-            // 
1008
-            this.label_Cnt.AutoSize = true;
1009
-            this.label_Cnt.Font = new System.Drawing.Font("굴림", 14F, System.Drawing.FontStyle.Bold);
1010
-            this.label_Cnt.Location = new System.Drawing.Point(357, 25);
1011
-            this.label_Cnt.Name = "label_Cnt";
1012
-            this.label_Cnt.Size = new System.Drawing.Size(94, 19);
1013
-            this.label_Cnt.TabIndex = 6;
1014
-            this.label_Cnt.Text = "Count : 0";
1043
+            // openFileDialog
1015 1044
             // 
1016
-            // label7
1045
+            this.openFileDialog.Multiselect = true;
1017 1046
             // 
1018
-            this.label7.AutoSize = true;
1019
-            this.label7.Location = new System.Drawing.Point(119, 31);
1020
-            this.label7.Name = "label7";
1021
-            this.label7.Size = new System.Drawing.Size(29, 12);
1022
-            this.label7.TabIndex = 7;
1023
-            this.label7.Text = "Line";
1047
+            // listBox_SNDuplicate
1048
+            // 
1049
+            this.listBox_SNDuplicate.FormattingEnabled = true;
1050
+            this.listBox_SNDuplicate.ItemHeight = 12;
1051
+            this.listBox_SNDuplicate.Location = new System.Drawing.Point(480, 110);
1052
+            this.listBox_SNDuplicate.Name = "listBox_SNDuplicate";
1053
+            this.listBox_SNDuplicate.Size = new System.Drawing.Size(168, 436);
1054
+            this.listBox_SNDuplicate.TabIndex = 5;
1055
+            // 
1056
+            // label_Duplicate
1057
+            // 
1058
+            this.label_Duplicate.AutoSize = true;
1059
+            this.label_Duplicate.Font = new System.Drawing.Font("굴림", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
1060
+            this.label_Duplicate.Location = new System.Drawing.Point(499, 78);
1061
+            this.label_Duplicate.Name = "label_Duplicate";
1062
+            this.label_Duplicate.Size = new System.Drawing.Size(137, 19);
1063
+            this.label_Duplicate.TabIndex = 6;
1064
+            this.label_Duplicate.Text = "S/N 중복 항목";
1065
+            // 
1066
+            // listBox_Diff
1067
+            // 
1068
+            this.listBox_Diff.FormattingEnabled = true;
1069
+            this.listBox_Diff.ItemHeight = 12;
1070
+            this.listBox_Diff.Location = new System.Drawing.Point(828, 110);
1071
+            this.listBox_Diff.Name = "listBox_Diff";
1072
+            this.listBox_Diff.Size = new System.Drawing.Size(168, 436);
1073
+            this.listBox_Diff.TabIndex = 5;
1074
+            // 
1075
+            // label_Diff
1076
+            // 
1077
+            this.label_Diff.AutoSize = true;
1078
+            this.label_Diff.Font = new System.Drawing.Font("굴림", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
1079
+            this.label_Diff.Location = new System.Drawing.Point(843, 78);
1080
+            this.label_Diff.Name = "label_Diff";
1081
+            this.label_Diff.Size = new System.Drawing.Size(143, 19);
1082
+            this.label_Diff.TabIndex = 6;
1083
+            this.label_Diff.Text = "짝이 틀린 항목";
1084
+            // 
1085
+            // button_ChkStart
1086
+            // 
1087
+            this.button_ChkStart.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(159)))), ((int)(((byte)(200)))));
1088
+            this.button_ChkStart.Location = new System.Drawing.Point(1007, 68);
1089
+            this.button_ChkStart.Name = "button_ChkStart";
1090
+            this.button_ChkStart.Size = new System.Drawing.Size(75, 519);
1091
+            this.button_ChkStart.TabIndex = 7;
1092
+            this.button_ChkStart.Text = "Start";
1093
+            this.button_ChkStart.UseVisualStyleBackColor = false;
1094
+            this.button_ChkStart.Click += new System.EventHandler(this.button_ChkStart_Click);
1095
+            // 
1096
+            // listBox_ProductDuplicate
1097
+            // 
1098
+            this.listBox_ProductDuplicate.FormattingEnabled = true;
1099
+            this.listBox_ProductDuplicate.ItemHeight = 12;
1100
+            this.listBox_ProductDuplicate.Location = new System.Drawing.Point(654, 110);
1101
+            this.listBox_ProductDuplicate.Name = "listBox_ProductDuplicate";
1102
+            this.listBox_ProductDuplicate.Size = new System.Drawing.Size(168, 436);
1103
+            this.listBox_ProductDuplicate.TabIndex = 5;
1104
+            // 
1105
+            // label8
1106
+            // 
1107
+            this.label8.AutoSize = true;
1108
+            this.label8.Font = new System.Drawing.Font("굴림", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
1109
+            this.label8.Location = new System.Drawing.Point(649, 76);
1110
+            this.label8.Name = "label8";
1111
+            this.label8.Size = new System.Drawing.Size(190, 19);
1112
+            this.label8.TabIndex = 6;
1113
+            this.label8.Text = "생산 번호 중복 항목";
1114
+            // 
1115
+            // button_SNClear
1116
+            // 
1117
+            this.button_SNClear.Location = new System.Drawing.Point(481, 549);
1118
+            this.button_SNClear.Name = "button_SNClear";
1119
+            this.button_SNClear.Size = new System.Drawing.Size(167, 40);
1120
+            this.button_SNClear.TabIndex = 8;
1121
+            this.button_SNClear.Text = "Clear";
1122
+            this.button_SNClear.UseVisualStyleBackColor = true;
1123
+            this.button_SNClear.Click += new System.EventHandler(this.button_SNClear_Click);
1124
+            // 
1125
+            // button_DuplicateClear
1126
+            // 
1127
+            this.button_DuplicateClear.Location = new System.Drawing.Point(653, 549);
1128
+            this.button_DuplicateClear.Name = "button_DuplicateClear";
1129
+            this.button_DuplicateClear.Size = new System.Drawing.Size(167, 40);
1130
+            this.button_DuplicateClear.TabIndex = 8;
1131
+            this.button_DuplicateClear.Text = "Clear";
1132
+            this.button_DuplicateClear.UseVisualStyleBackColor = true;
1133
+            this.button_DuplicateClear.Click += new System.EventHandler(this.button_DuplicateClear_Click);
1134
+            // 
1135
+            // button_DiffClear
1136
+            // 
1137
+            this.button_DiffClear.Location = new System.Drawing.Point(826, 549);
1138
+            this.button_DiffClear.Name = "button_DiffClear";
1139
+            this.button_DiffClear.Size = new System.Drawing.Size(167, 40);
1140
+            this.button_DiffClear.TabIndex = 8;
1141
+            this.button_DiffClear.Text = "Clear";
1142
+            this.button_DiffClear.UseVisualStyleBackColor = true;
1143
+            this.button_DiffClear.Click += new System.EventHandler(this.button_DiffClear_Click);
1024 1144
             // 
1025 1145
             // Main
1026 1146
             // 
@@ -1054,8 +1174,12 @@
1054 1174
             this.panel_Catm1Mode.PerformLayout();
1055 1175
             this.panel_GpsMode.ResumeLayout(false);
1056 1176
             this.panel_GpsMode.PerformLayout();
1177
+            this.panel_SnCheckMain.ResumeLayout(false);
1178
+            this.panel_SnCheckMain.PerformLayout();
1179
+            ((System.ComponentModel.ISupportInitialize)(this.dataGridView_Chk)).EndInit();
1057 1180
             this.panel_MergeMain.ResumeLayout(false);
1058 1181
             this.panel_MergeMain.PerformLayout();
1182
+            ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
1059 1183
             this.panel_Catm1Test.ResumeLayout(false);
1060 1184
             ((System.ComponentModel.ISupportInitialize)(this.dataGridView_Catm1)).EndInit();
1061 1185
             this.panel_GpsTest.ResumeLayout(false);
@@ -1072,9 +1196,6 @@
1072 1196
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox_UnCheck4)).EndInit();
1073 1197
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox_UnCheck1)).EndInit();
1074 1198
             ((System.ComponentModel.ISupportInitialize)(this.dataGridView_Sensor)).EndInit();
1075
-            this.panel_SnCheckMain.ResumeLayout(false);
1076
-            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
1077
-            ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
1078 1199
             this.ResumeLayout(false);
1079 1200
 
1080 1201
         }
@@ -1139,14 +1260,14 @@
1139 1260
         private System.Windows.Forms.Panel panel_SnCheck;
1140 1261
         private System.Windows.Forms.Label label_SnCheck;
1141 1262
         private System.Windows.Forms.Panel panel_MergeMain;
1142
-        private System.Windows.Forms.ProgressBar progressBar1;
1263
+        private System.Windows.Forms.ProgressBar progressBar_Merge;
1143 1264
         private System.Windows.Forms.Button button_PrevFile;
1144 1265
         private System.Windows.Forms.Button button_AfterFile;
1145 1266
         private System.Windows.Forms.ListBox listBox_AfterFile;
1146 1267
         private System.Windows.Forms.ListBox listBox_PreviousFile;
1147 1268
         private System.Windows.Forms.OpenFileDialog openFileDialog;
1148 1269
         private System.Windows.Forms.Panel panel_SnCheckMain;
1149
-        private System.Windows.Forms.DataGridView dataGridView1;
1270
+        private System.Windows.Forms.DataGridView dataGridView_Chk;
1150 1271
         private System.Windows.Forms.Button button_FileFindLoad;
1151 1272
         private System.Windows.Forms.ProgressBar progressBar2;
1152 1273
         private System.Windows.Forms.DataGridViewTextBoxColumn ProductNumber;
@@ -1165,6 +1286,16 @@
1165 1286
         private System.Windows.Forms.Label label_Cnt;
1166 1287
         private System.Windows.Forms.NumericUpDown numericUpDown1;
1167 1288
         private System.Windows.Forms.Label label7;
1289
+        private System.Windows.Forms.Button button_ChkStart;
1290
+        private System.Windows.Forms.Label label_Diff;
1291
+        private System.Windows.Forms.Label label_Duplicate;
1292
+        private System.Windows.Forms.ListBox listBox_Diff;
1293
+        private System.Windows.Forms.ListBox listBox_SNDuplicate;
1294
+        private System.Windows.Forms.Label label8;
1295
+        private System.Windows.Forms.ListBox listBox_ProductDuplicate;
1296
+        private System.Windows.Forms.Button button_DiffClear;
1297
+        private System.Windows.Forms.Button button_DuplicateClear;
1298
+        private System.Windows.Forms.Button button_SNClear;
1168 1299
     }
1169 1300
 }
1170 1301
 

+ 373 - 35
Main.cs

@@ -15,6 +15,7 @@ using Excel = Microsoft.Office.Interop.Excel;
15 15
 using System.Reflection;
16 16
 using Microsoft.WindowsAPICodePack.Dialogs;
17 17
 using System.Threading;
18
+using System.Data.OleDb;
18 19
 
19 20
 
20 21
 //using Microsoft.Office.Interop.Excel;
@@ -1320,22 +1321,205 @@ namespace APL_TestCheck
1320 1321
             panel_MergeMain.Visible = false;
1321 1322
             panel_SnCheckMain.Visible = true;
1322 1323
         }
1324
+        private string Excel03ConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'";
1325
+        private string Excel07ConString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'";
1326
+
1327
+        List<string> list1 = new List<string>();
1328
+        List<string> list2 = new List<string>();
1329
+
1330
+        private void readExcel()
1331
+        {
1332
+            /*Excel.Application xlApp;
1333
+            Excel.Workbook xlWorkBook;
1334
+            Excel.Worksheet xlWorkSheet;
1335
+            Excel.Range range;
1336
+
1337
+            string str;
1338
+            int rCnt = 0; // 열 갯수
1339
+            int cCnt = 0; // 행 갯수
1340
+
1341
+            xlApp = new Excel.Application();
1342
+            xlWorkBook = xlApp.Workbooks.Open("d:\\test.xlsx", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
1343
+            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); // 첫번째 시트를 가져 옴.
1344
+
1345
+            range = xlWorkSheet.UsedRange; // 가져 온 시트의 데이터 범위 값
1346
+
1347
+            for (rCnt = 1; rCnt <= range.Rows.Count; rCnt++)
1348
+            {
1349
+                for (cCnt = 1; cCnt <= range.Columns.Count; cCnt++)
1350
+                {
1351
+                    str = (string)(range.Cells[rCnt, cCnt] as Excel.Range).Value2; // 열과 행에 해당하는 데이터를 문자열로 반환
1352
+                    MessageBox.Show(str);
1353
+                }
1354
+            }
1355
+
1356
+            xlWorkBook.Close(true, null, null);
1357
+            xlApp.Quit();
1358
+
1359
+            ReleaseExcelObject(xlWorkSheet);
1360
+            ReleaseExcelObject(xlWorkBook);
1361
+            ReleaseExcelObject(xlApp);
1362
+            GC.Collect();*/
1363
+
1364
+            // 엑셀 문서 내용 추출
1365
+            openFileDialog1_FileOk(null,null);
1366
+
1367
+
1368
+        }
1369
+        private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
1370
+        {
1371
+            string filePath = openFileDialog.FileName;
1372
+            string fileExtension = Path.GetExtension(filePath);
1373
+            string header = "No";//rbHeaderYes.Checked ? "Yes" : "No";
1374
+            string connectionString = string.Empty;
1375
+            string sheetName = string.Empty;
1376
+            list1.Clear();
1377
+            list2.Clear();
1378
+
1379
+            // 확장자로 구분하여 커넥션 스트링을 가져옮
1380
+            switch (fileExtension)
1381
+            {
1382
+                case ".xls":    //Excel 97-03
1383
+                    connectionString = string.Format(Excel03ConString, filePath, header);
1384
+                    break;
1385
+                case ".xlsx":  //Excel 07
1386
+                    connectionString = string.Format(Excel07ConString, filePath, header);
1387
+                    break;
1388
+            }
1389
+
1390
+            // 첫 번째 시트의 이름을 가져옮
1391
+            using (OleDbConnection con = new OleDbConnection(connectionString))
1392
+            {
1393
+                using (OleDbCommand cmd = new OleDbCommand())
1394
+                {
1395
+                    cmd.Connection = con;
1396
+                    con.Open();
1397
+                    DataTable dtExcelSchema = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
1398
+                    sheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
1399
+                    con.Close();
1400
+                }
1401
+            }
1402
+            Console.WriteLine("sheetName = " + sheetName);
1403
+
1404
+            // 첫 번째 쉬트의 데이타를 읽어서 datagridview 에 보이게 함.
1405
+            using (OleDbConnection con = new OleDbConnection(connectionString))
1406
+            {
1407
+                using (OleDbCommand cmd = new OleDbCommand())
1408
+                {
1409
+                    using (OleDbDataAdapter oda = new OleDbDataAdapter())
1410
+                    {
1411
+                        DataTable dt = new DataTable();
1412
+                        cmd.CommandText = "SELECT * From [" + sheetName + "]";
1413
+                        cmd.Connection = con;
1414
+                        con.Open();
1415
+                        oda.SelectCommand = cmd;
1416
+                        oda.Fill(dt);
1417
+                        con.Close();
1418
+
1419
+                        //Populate DataGridView.
1420
+                        dataGridView_Chk.DataSource = dt;
1421
+                    }
1422
+                }
1423
+            }
1424
+            //dataGridView_Chk.Rows.Remove(1);
1425
+            /*  for (int i = 0; i < 54; i++)
1426
+              {
1427
+                  dataGridView_Chk.Rows.Remove(dataGridView_Chk.Rows[i]);
1428
+              }*/
1429
+            for (int i = 1; i <= 18; i++)
1430
+            {
1431
+                if (i == 3 || i == 8)
1432
+                    continue;
1433
+                dataGridView_Chk.Columns.Remove("F" + i.ToString());
1434
+            }
1435
+
1436
+
1437
+
1438
+            dataGridView_Chk.Sort(dataGridView_Chk.Columns.GetFirstColumn(DataGridViewElementStates.Visible, DataGridViewElementStates.None), ListSortDirection.Descending);
1439
+            for (int i = 0; i < dataGridView_Chk.RowCount; i++)
1440
+            {
1441
+                if(dataGridView_Chk.Rows[i].Cells[0].Value.ToString() == "" 
1442
+                    || dataGridView_Chk.Rows[i].Cells[1].Value.ToString() == "")
1443
+                {
1444
+                    break;
1445
+                }
1446
+                list1.Add(dataGridView_Chk.Rows[i].Cells[0].Value.ToString());
1447
+                list2.Add(dataGridView_Chk.Rows[i].Cells[1].Value.ToString());
1448
+            }
1449
+
1450
+        }
1451
+
1452
+
1323 1453
 
1324 1454
         private void button_FileFindLoad_Click(object sender, EventArgs e)
1325 1455
         {
1326 1456
             if (openFileDialog.ShowDialog() == DialogResult.OK)
1327 1457
             {
1458
+                openFileDialog1_FileOk(null,null);
1459
+
1328 1460
                 /*foreach (string x in openFileDialog.FileNames)
1329 1461
                 {
1330 1462
                     listBox_Previous.Items.Add(x);
1331 1463
                 }*/
1332 1464
             }
1333 1465
         }
1334
-
1466
+        
1467
+        private Thread rTh;
1468
+        
1335 1469
         private void button_Merge_Click(object sender, EventArgs e)
1336 1470
         {
1337
-            OpenExcelFile(listBox_PreviousFile.Items[0].ToString());
1471
+            rTh = new Thread(OpenExcelFile);
1472
+            rTh.Start();
1473
+            //OpenExcelFile();
1338 1474
         }
1475
+
1476
+
1477
+        // progress bar
1478
+        private delegate void myDelegate(int theValue, int theMax);
1479
+        delegate void SetTextCallback(string text);
1480
+        // 컨트롤의 접근은 따로 함수를 만들어서 접근하도록 한다.
1481
+        private void SetText(string text)
1482
+        {
1483
+            // InvokeRequired required compares the thread ID of the
1484
+            // calling thread to the thread ID of the creating thread.
1485
+            // If these threads are different, it returns true.
1486
+            if (this.label_Cnt.InvokeRequired)
1487
+            {
1488
+                SetTextCallback d = new SetTextCallback(SetText);
1489
+                this.Invoke(d, new object[] { text });
1490
+            }
1491
+            else
1492
+            {
1493
+                this.label_Cnt.Text = "Count : " + text;
1494
+            }
1495
+        }
1496
+        private void LabelChkSetText(string text)
1497
+        {
1498
+            // InvokeRequired required compares the thread ID of the
1499
+            // calling thread to the thread ID of the creating thread.
1500
+            // If these threads are different, it returns true.
1501
+            if (this.label_Cnt.InvokeRequired)
1502
+            {
1503
+                SetTextCallback d = new SetTextCallback(SetText);
1504
+                this.Invoke(d, new object[] { text });
1505
+            }
1506
+            else
1507
+            {
1508
+                this.label_Cnt.Text = "Count : " + text;
1509
+            }
1510
+        }
1511
+
1512
+        //스레드에서 아래 함수를 호출하면 된다.
1513
+
1514
+        private void updateProgress(int theValue, int theMax)
1515
+        {
1516
+            if (theMax != 0)
1517
+                progressBar_Merge.Maximum = theMax;
1518
+            progressBar_Merge.Value = theValue;
1519
+        }
1520
+
1521
+
1522
+
1339 1523
         #region
1340 1524
         /// <summary>
1341 1525
         /// 엑셀 정식 파일 형식이 아닌 파일 읽기
@@ -1343,46 +1527,200 @@ namespace APL_TestCheck
1343 1527
         /// <param name="FileName">파일명.확장자</param>
1344 1528
         /// <returns></returns>
1345 1529
 
1346
-        public void OpenExcelFile(string FileName)
1530
+        public void OpenExcelFile()
1347 1531
         {
1348
-
1349
-            Excel.Application excelApp = new Excel.Application();
1350
-            Excel.Workbook workbook;
1351
-            Excel.Worksheet worksheet;
1352
-            Excel.Range range;
1353
-            workbook = excelApp.Workbooks.Open(FileName); //Environment.CurrentDirectory+ "\\Excel.xlsx");
1354
-            worksheet = (Excel.Worksheet)workbook.Sheets["Sheet1"];
1355
-            try
1532
+            string[] APL_CopyArray = 
1356 1533
             {
1357
-                //MessageWrite(LogTraceLevel.Info, "OpenExcelFile 함수가 시작 되었습니다.", exception);
1534
+                "D8","E8", "F8", "G8", "H8",//SKT 일련번호 ,VC생산번호,IMEI,PHONE,USIM
1535
+                "I8", "J8", "K8", "L8", "M8",//블루셀 제조번호,Ver,SNR,RSRP,BATT
1536
+                "N8", "O8", "P8", "Q8", "R8",//SySVolt,TEMP,BMAX,BMAY,BMAZ
1537
+            };
1538
+            
1539
+            for (int index = 0; index < listBox_PreviousFile.Items.Count; index++)
1540
+            {
1541
+                Excel.Workbook xlWorkbook_copy = null;
1542
+                Excel.Workbook xlWorkbook_paste = null;
1358 1543
 
1359
-                int column = 0;
1360
-                int row = 0;
1361
-                string sTmpColumnName = "SKT 일련번호";
1362
-                string[] colHeader = sTmpColumnName.Split(',');
1544
+                Excel.Worksheet xlWorksheet_copy = null;
1545
+                Excel.Worksheet xlWorksheet_paste = null;
1363 1546
 
1364
-                range = worksheet.UsedRange;
1365
-                String data = "";
1366
-                data += ((range.Cells[4, 5] as Excel.Range).Value2.ToString() + " ");
1367
-                /*                for (int i = 1; i <= range.Rows.Count; ++i)
1368
-                                {
1369
-                                    for (int j = 1; j <= range.Columns.Count; ++j)
1370
-                                    {
1371
-                                        data += ((range.Cells[i, j] as Excel.Range).Value2.ToString() + " ");
1372
-                                    }
1373
-                                    data += "\n";
1374
-                                }*/
1375
-                workbook.Close(false, Type.Missing, Type.Missing);
1376
-                excelApp.Quit();
1377
-                //MessageBox.Show("OpenExcelFile 함수가 종료 되었습니다.");
1547
+                Excel.Application xlApp_paste = null;
1548
+                Excel.Application xlApp_copy = null;
1549
+                Excel.Range range = null;
1550
+                object data = null;
1551
+                string PrevFile = listBox_PreviousFile.Items[index].ToString();
1552
+                string AfterFile = listBox_AfterFile.Items[0].ToString();
1553
+                try
1554
+                {
1555
+                    xlApp_copy = new Excel.Application();
1556
+                    xlApp_paste = new Excel.Application();
1557
+                    xlWorkbook_copy = xlApp_copy.Workbooks.Open(PrevFile);
1558
+                    //   xlWorkbook_paste = xlApp_paste.Workbooks.Open(listBox_AfterFile.Items[0].ToString());
1559
+                    /* Data 붙여넣을 Excel 파일 변수 초기화  */
1560
+                    xlWorkbook_paste = xlApp_paste.Workbooks.Open(AfterFile, 0, false, 5, Missing.Value, Missing.Value, false, Missing.Value,
1561
+                       Missing.Value, true, false, Missing.Value, false, false, false);
1562
+                    //   xlWorksheet_paste = xlApp_paste.Worksheets.Item["2-1 NR 100MHz DL"]; // 특정시트 불러오기.
1563
+                    /* 2-1 NR 100MHz DL Copy area*/
1564
+
1565
+                    xlWorksheet_paste = xlApp_paste.Worksheets.Item[1]; // 특정시트 불러오기.
1566
+                    xlWorksheet_copy = xlApp_copy.Worksheets.Item[1]; // 특정시트 불러오기.
1567
+                    for (int i = 0; i < APL_CopyArray.Length; i++)
1568
+                    {
1569
+                        range = xlWorksheet_copy.Range[APL_CopyArray[i]];
1570
+                        data = range.Value;
1571
+                        xlWorksheet_paste.Cells[8 + index, 4 + i] = data; // 블루셀 제조번호
1572
+                    }
1573
+                    xlWorkbook_paste.Save();
1574
+                    xlWorkbook_paste.Close(true);
1575
+                    xlApp_paste.Quit();
1576
+
1577
+                    xlWorkbook_copy.Close(true);
1578
+                    xlApp_copy.Quit();
1579
+                    xlWorkbook_copy = null;
1580
+                    //xlWorkbook_copy.Save();
1581
+
1582
+
1583
+                    //xlWorkbook_paste = null;
1584
+                    //
1585
+
1586
+                }
1587
+                catch (Exception ex)
1588
+                {
1589
+                    //객체들 메모리 해제
1590
+                    xlWorkbook_paste.Close(true);
1591
+                    xlWorkbook_copy.Close(true);
1592
+
1593
+                    xlApp_paste.Quit();
1594
+                    xlApp_copy.Quit();
1595
+
1596
+                    ReleaseExcelObject(xlWorksheet_paste);
1597
+                    ReleaseExcelObject(xlWorkbook_paste);
1598
+                    ReleaseExcelObject(xlApp_paste);
1599
+
1600
+                    ReleaseExcelObject(xlWorksheet_copy);
1601
+                    ReleaseExcelObject(xlWorkbook_copy);
1602
+                    ReleaseExcelObject(xlApp_copy);
1603
+                    GC.Collect();
1604
+                    rTh.Abort(); //쓰레드 강제 종료
1605
+                }
1606
+                finally
1607
+                {
1608
+                    //객체들 메모리 해제
1609
+                    ReleaseExcelObject(xlWorksheet_paste);
1610
+                    ReleaseExcelObject(xlWorkbook_paste);
1611
+                    ReleaseExcelObject(xlApp_paste);
1612
+
1613
+                    ReleaseExcelObject(xlWorksheet_copy);
1614
+                    ReleaseExcelObject(xlWorkbook_copy);
1615
+                    ReleaseExcelObject(xlApp_copy);
1616
+
1617
+                    GC.Collect();
1618
+
1619
+                    this.Invoke(new myDelegate(updateProgress), new object[] { index + 1, listBox_PreviousFile.Items.Count });
1620
+                    SetText((index + 1).ToString());
1621
+
1622
+                }
1378 1623
             }
1379
-            catch (Exception ex)
1624
+            rTh.Abort(); //쓰레드 강제 종료
1625
+
1626
+        }
1627
+
1628
+
1629
+        #endregion
1630
+
1631
+        private void button_ChkStart_Click(object sender, EventArgs e)
1632
+        {
1633
+            string value = "";
1634
+            int Chkcnt = 0;
1635
+            bool Failed = false;
1636
+            int index1 = 0;
1637
+            int index2 = 0;
1638
+            string data1 ="", data2 ="";
1639
+            if (InputBox("번호 입력", "일련 번호:", ref value) == DialogResult.OK)
1380 1640
             {
1381
-                MessageBox.Show("OpenExcelFile오류가 발생되었습니다.[{0}]");
1382
-                excelApp.Quit();
1383
-                //throw new Exception(ex.Message);
1641
+
1642
+                for (int i = 0; i < list1.Count; i++)
1643
+                {
1644
+                    if(value == list1[i])
1645
+                    {
1646
+                        Chkcnt++;
1647
+                        index1 = i;
1648
+                        data1 = value;
1649
+                    }
1650
+                }
1651
+                if (Chkcnt > 1)
1652
+                {
1653
+                    listBox_SNDuplicate.Items.Add(value + " Cnt : " + Chkcnt.ToString());
1654
+                    Failed = true;
1655
+                }
1656
+                Chkcnt = 0;
1657
+
1658
+                if (InputBox("번호 입력", "생산 번호", ref value) == DialogResult.OK)
1659
+                {
1660
+
1661
+                    for (int i = 0; i < list2.Count; i++)
1662
+                    {
1663
+                        if (value == list2[i])
1664
+                        {
1665
+                            Chkcnt++;
1666
+                            index2 = i;
1667
+                            data2 = value;
1668
+                        }
1669
+                    }
1670
+                    if (Chkcnt > 1)
1671
+                    {
1672
+                        listBox_ProductDuplicate.Items.Add(value + " Cnt : " + Chkcnt.ToString());
1673
+                        Failed = true;
1674
+                    }
1675
+                    Chkcnt = 0;
1676
+                }
1677
+
1678
+                if (Failed == true)
1679
+                {
1680
+                    MessageBox.Show("중복항목을 제거 한 후 다시 시도해주세요.", "Error Check", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
1681
+                    return;
1682
+                }
1683
+                if (index1 != index2)
1684
+                {
1685
+                    MessageBox.Show("서로 다른 짝 입니다. 확인해주세요.\r" + "\r일련번호 : " + list1[index1] + "\r생산번호 : " + list2[index2],"Error Check" ,MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
1686
+                    return;
1687
+                }
1688
+                else
1689
+                {
1690
+                    if (list1[index1] == data1)
1691
+                    {
1692
+                        if (list2[index2] == data2)
1693
+                        {
1694
+                            MessageBox.Show("서로 맞는 짝입니다.\r" + "\r일련번호 : " + list1[index1] + "\r생산번호 : " + list2[index2]);
1695
+                        }
1696
+                    }
1697
+                }
1698
+
1699
+
1700
+
1701
+                // SN
1702
+                /*dataGridView_Sensor.Rows[0].Cells[1].Value = Name = value;
1703
+                serialPort.Write(value);
1704
+                button_SensorTestSave();
1705
+                for (int i = 0; i < 12; i++)
1706
+                    dataGridView_Sensor.Rows[0].Cells[i].Value = null;*/
1707
+
1384 1708
             }
1385 1709
         }
1386
-        #endregion
1710
+
1711
+        private void button_SNClear_Click(object sender, EventArgs e)
1712
+        {
1713
+            listBox_SNDuplicate.Items.Clear();
1714
+        }
1715
+
1716
+        private void button_DuplicateClear_Click(object sender, EventArgs e)
1717
+        {
1718
+            listBox_ProductDuplicate.Items.Clear();
1719
+        }
1720
+
1721
+        private void button_DiffClear_Click(object sender, EventArgs e)
1722
+        {
1723
+            listBox_Diff.Items.Clear();
1724
+        }
1387 1725
     }
1388 1726
 }

+ 6 - 6
Main.resx

@@ -287,12 +287,6 @@
287 287
   <metadata name="BMA_Z.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
288 288
     <value>True</value>
289 289
   </metadata>
290
-  <metadata name="folderBrowserDialog_Mainpath.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
291
-    <value>106, 17</value>
292
-  </metadata>
293
-  <metadata name="openFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
294
-    <value>329, 17</value>
295
-  </metadata>
296 290
   <metadata name="ProductNumber.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
297 291
     <value>True</value>
298 292
   </metadata>
@@ -329,6 +323,12 @@
329 323
   <metadata name="BMA_Z.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
330 324
     <value>True</value>
331 325
   </metadata>
326
+  <metadata name="folderBrowserDialog_Mainpath.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
327
+    <value>106, 17</value>
328
+  </metadata>
329
+  <metadata name="openFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
330
+    <value>329, 17</value>
331
+  </metadata>
332 332
   <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
333 333
     <value>
334 334
         AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAMMOAADDDgAAAAAAAAAA

BIN
bin/Debug/APL_200221.xls


BIN
bin/Debug/APL_TestCheck.exe


BIN
bin/Debug/APL_TestCheck.pdb


BIN
obj/Debug/APL_TestCheck.csproj.GenerateResource.cache


BIN
obj/Debug/APL_TestCheck.exe


BIN
obj/Debug/APL_TestCheck.pdb