From 1c60d225cc7c1ccf17c3d1e6a84ca0d959550cf3 Mon Sep 17 00:00:00 2001
From: Jack.Peng <jack.peng@broconcentric.com>
Date: 星期二, 20 四月 2021 18:54:57 +0800
Subject: [PATCH] 1.新增输出缺陷报表。

---
 P066.Data/Form1.cs |  176 ++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 134 insertions(+), 42 deletions(-)

diff --git a/P066.Data/Form1.cs b/P066.Data/Form1.cs
index 1b94c63..b84b654 100644
--- a/P066.Data/Form1.cs
+++ b/P066.Data/Form1.cs
@@ -18,6 +18,8 @@
         DirectoryInfo directoryInfo1;
         DirectoryInfo directoryInfo2;
         DirectoryInfo directoryInfo3;
+        DirectoryInfo directoryInfo4;
+
         private P066RunParam runparam = new P066RunParam();
         private ReadFile readfile = new ReadFile();
         private WriteFile writefile = new WriteFile();
@@ -44,6 +46,7 @@
                 return;
 
             directoryInfo2 = new DirectoryInfo(folderBrowserDialog1.SelectedPath);
+
         }
 
         private void btnLoadData3_Click(object sender, EventArgs e)
@@ -54,7 +57,16 @@
             }
             directoryInfo3 = new DirectoryInfo(folderBrowserDialog1.SelectedPath);
         }
+        private void butPictur_Click(object sender, EventArgs e)
+        {
+            if (folderBrowserDialog1.ShowDialog()!=DialogResult.OK)
+            {
+                return;
+            }
+            directoryInfo4 = new DirectoryInfo(folderBrowserDialog1.SelectedPath);
 
+            
+        }
         private void btnAnalyze_Click(object sender, EventArgs e)
         {
             var Start = DateTime.Now;
@@ -109,16 +121,16 @@
                var list = GetFileData(fileinfos22[i]);
                 if (fileinfos22[i].Name.Contains("鍒掍激"))
                 {
-                    ScratchI++;
-                    list.ForEach(a => a.Lensnumber = ScratchI);
+                    //ScratchI++;
+                    //list.ForEach(a => a.Lensnumber = ScratchI);
                     GetMaxSize(list);
                     GetBkLocation(list);
                     ListReexaminationSum.AddRange(list);
                 }
                 else if (fileinfos22[i].Name.Contains("闀�鑶滅牬鎹�"))
                 {
-                    ZoomI++;
-                    list.ForEach(a => a.Lensnumber = ZoomI);
+                    //ZoomI++;
+                    //list.ForEach(a => a.Lensnumber = ZoomI);
                     ListReexaminationSum.AddRange(list);
                 }
 
@@ -145,9 +157,9 @@
                 
             });
           
-            Task.WaitAll(task2, task3);
+            //Task.WaitAll(task2, task3);
 
-
+            task2.Wait();
             var task5 = Task.Run(() =>
             {
 
@@ -172,6 +184,51 @@
 
 
             });
+
+            List<string> listPicyreSor = new List<string>();        //鍔犺浇鍥剧墖鏃堕棿鎴�
+            var directoties = directoryInfo4.GetDirectories();
+            for (int i = 0; i < directoties.Length; i++)
+            {
+                listPicyreSor.Add(directoties[i].Name);
+            }
+            listPicyreSor.Sort();
+
+            if (listPicyreSor.Count!=0)
+            {
+                Task.Run(() =>
+                {
+
+                    #region//灏嗚澶囧垽鏂粨鏋滆緭鍑哄埌CSV鎶ヨ〃涓�
+                    //ListReexaminationSum.AddRange(GetClassificationLens(fileInfo1, fileInfo2, DataTipsor));
+                    var title12 = $"鏃堕棿鎴�,鐩告満搴忓彿,璁惧鍒ゆ柇缁撴灉,缂洪櫡绫诲瀷,璁惧鍚庡鐞嗙粨鏋�,鏈�澶у昂瀵�,浣嶇疆,X,Y,R,瑙掑害";
+                    var file12 = $"{directoryInfo1.Parent.FullName}\\{filenameDir + "璁惧妫�绱㈢粨鏋�"}.csv";
+                    File.AppendAllText(file12, title12, Encoding.UTF8);
+                    File.AppendAllText(file12, "\r\n");
+                    foreach (var item in listPicyreSor)
+                    {
+                        var Lens1 = ListReexaminationSum.FindAll(a => a.TimeTip == item && a.Lensnumber == 1);
+                        writefile.WriteJR(Lens1, item, 1, file12);
+                        for (int i = 2; i < 5; i++)
+                        {
+                            var Lens = ListReexaminationSum.FindAll(a => a.TimeTip == item && a.Lensnumber == i);
+                            writefile.WriteJR(Lens, "", i, file12);
+                        }
+
+                    }
+          
+
+
+                });
+            }
+          
+
+
+
+
+
+
+
+            task3.Wait();
             var task6 = Task.Run(() =>
             {
 
@@ -181,9 +238,8 @@
                     //GentClassificationFile(directoryInfo3, out List<FileInfo> fileInfo3, out List<FileInfo> fileInfo4);     //fileInfo3鍒濇涓婃枃浠跺す锛宖ileInfo4鍒濇涓嬫枃浠跺す
                     //ListPreliminarySum.AddRange(GetClassificationLens(fileInfo3, fileInfo4, DataTipsor));       //鍚堝苟鍒濇涓婁笅鎶ヨ〃锛岃緭鍑哄悎骞跺悗鏁版嵁
                     List<ResultData> ListNoClearNub = new List<ResultData>();       //娓呴櫎澶辫触鏁�
-                    List<ResultData> ListMayNub = new List<ResultData>();       //娓呴櫎澶辫触鏁�
+                    List<ResultData> ListMayNub = new List<ResultData>();       //澶嶆澶氭鍑烘暟鏁�
                     CompareFile2(ListReexaminationSum, ListPreliminarySum, DataTipsor, out ListNoClearNub, out ListMayNub);
-
                     var title = $"浜у搧缂栧彿,闀滃ご缂栧彿,鎬荤己闄锋暟閲�,璁惧娓呴櫎鏁�,鏈竻闄ゆ暟,澶嶆澶氭鍑烘暟";
                     var file = $"{directoryInfo1.Parent.FullName}\\{filenameDir + "缂洪櫡鎬绘暟鎶ヨ〃"}.csv";
                     File.AppendAllText(file, title, Encoding.UTF8);
@@ -224,6 +280,32 @@
                             File.AppendAllText(file, "\r\n");
                         }
                     }
+                    var title1 = $"闀滃ご缂栧彿,鎬荤己闄锋暟閲�,璁惧娓呴櫎鏁�,娓呴櫎鐜�";
+                    var file1 = $"{directoryInfo1.Parent.FullName}\\{filenameDir + "缂洪櫡鎬绘暟鎶ヨ〃"}.csv";
+                    File.AppendAllText(file1, title1, Encoding.UTF8);
+                    File.AppendAllText(file1, "\r\n");
+                    for (int i =1; i < 5; i++)
+                    {
+                        //鍒濇缂洪櫡鏁�
+                        var ListLenSum1 = ListPreliminarySum.FindAll(a => a.Lensnumber ==i && a.DefectType == "鐧界偣" && !a.Result);
+                        var listlensum1 = ListLenSum1.Count;
+                        //澶嶆澶氭鍑烘暟
+                        var ListLenMaySum1 = ListMayNub.FindAll(a=> a.Lensnumber ==i&& a.DefectType == "鐧界偣" && !a.Result);
+                        var listlenmaysum1 = ListLenMaySum1.Count;
+                        //鎬荤己闄锋暟
+                        var defectSum = listlenmaysum1 + listlensum1;
+                        //闄ゅ皹鏁�
+                        var ListLenNoClearSum1 = ListNoClearNub.FindAll(a =>  a.Lensnumber == i && a.DefectType == "鐧界偣" && !a.Result);
+                        var listlennoclearsum1 = ListLenNoClearSum1.Count;
+                        var defectClearSum = listlensum1 - listlennoclearsum1;
+
+
+                        var content1 = $"{i},{defectSum},{defectClearSum},{(double)(defectSum / defectClearSum)}";
+                        File.AppendAllText(file1, content1, Encoding.UTF8);
+                        File.AppendAllText(file1, "\r\n");
+                    }
+
+
                     directoryInfo3 = null;
                 }
 
@@ -743,44 +825,52 @@
             List<ResultData> ListReexaminationSum = new List<ResultData>();
             int WhiteI = 0;
             int WhiteningI = 0;
+            List<Task> listTask = new List<Task>();
             for (int i = 0; i < fileInfo1.Count; i++)
             {
-                var list = CompareFile(fileInfo1[i], fileInfo2[i], DataTipsor);
-                if (fileInfo1[i].Name.Contains("鐧界偣"))
-                {
-                    WhiteI++;
-                    list.ForEach(a => a.Lensnumber = WhiteI);
-                    ListReexaminationSum.AddRange(list);
-                }
-                else if (fileInfo1[i].Name.Contains("鍒櫧"))
-                {
-                    WhiteningI++;
-                    list.ForEach(a => a.Lensnumber = WhiteningI);
-                    ListReexaminationSum.AddRange(list);
+                int index = i;
+                Task task = new Task(() => {
+                    var list = CompareFile(fileInfo1[index], fileInfo2[index], DataTipsor);
+                    //if (fileInfo1[index].Name.Contains("鐧界偣"))
+                    //{
+                        //WhiteI++;
+                        //list.ForEach(a => a.Lensnumber = WhiteI);
+                        ListReexaminationSum.AddRange(list);
+                    //}
+                    //else if (fileInfo1[index].Name.Contains("鍒櫧"))
+                    //{
+                        //WhiteningI++;
+                        //list.ForEach(a => a.Lensnumber = WhiteningI);
+                        //ListReexaminationSum.AddRange(list);
 
-                }
-                if (fileInfo1[i].Name.Contains("鍒濇涓"))
-                {
-                    list = GetMidLocation(list);
-                }
-                else if (fileInfo1[i].Name.Contains("澶嶆涓") && fileInfo1[i].Name.Contains("鐧界偣"))
-                {
-                    list = GetMidLocation(list);
-                }
-                else if (fileInfo1[i].Name.Contains("澶嶆涓") && fileInfo1[i].Name.Contains("鍒櫧"))
-                {
-                    list = GetWhiteLocation(list);
-                }
-                else if (fileInfo1[i].Name.Contains("鍒濇鑳屾澘"))
-                {
-                    //缁欓暅澶村尯鍒嗕綅缃強瑙掑害
-                    list = GetBkLocation(list);
-                }
-                else if (fileInfo1[i].Name.Contains("澶嶆鑳屾澘") && fileInfo1[i].Name.Contains("鐧界偣"))
-                {
-                    list = GetBkLocation(list);
-                }
+                    //}
+                    if (fileInfo1[index].Name.Contains("鍒濇涓"))
+                    {
+                        list = GetMidLocation(list);
+                    }
+                    else if (fileInfo1[index].Name.Contains("澶嶆涓") && fileInfo1[index].Name.Contains("鐧界偣"))
+                    {
+                        list = GetMidLocation(list);
+                    }
+                    else if (fileInfo1[index].Name.Contains("澶嶆涓") && fileInfo1[index].Name.Contains("鍒櫧"))
+                    {
+                        list = GetWhiteLocation(list);
+                    }
+                    else if (fileInfo1[index].Name.Contains("鍒濇鑳屾澘"))
+                    {
+                        //缁欓暅澶村尯鍒嗕綅缃強瑙掑害
+                        list = GetBkLocation(list);
+                    }
+                    else if (fileInfo1[index].Name.Contains("澶嶆鑳屾澘") && fileInfo1[index].Name.Contains("鐧界偣"))
+                    {
+                        list = GetBkLocation(list);
+                    }
+                });
+                task.Start();
+                listTask.Add(task);
+               
             }
+            Task.WaitAll(listTask.ToArray());
             return ListReexaminationSum;
         }
         #endregion
@@ -856,3 +946,5 @@
 
 
 }
+
+#endregion
\ No newline at end of file

--
Gitblit v1.8.0