| | |
| | | |
| | | }); |
| | | |
| | | Task.WaitAll(task2, task3); |
| | | //Task.WaitAll(task2, task3); |
| | | |
| | | |
| | | task2.Wait(); |
| | | var task5 = Task.Run(() => |
| | | { |
| | | |
| | |
| | | |
| | | |
| | | }); |
| | | task3.Wait(); |
| | | var task6 = Task.Run(() => |
| | | { |
| | | |
| | |
| | | //GentClassificationFile(directoryInfo3, out List<FileInfo> fileInfo3, out List<FileInfo> fileInfo4); //fileInfo3初检上文件夹,fileInfo4初检下文件夹 |
| | | //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); |
| | |
| | | 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 / defectSum)}"; |
| | | File.AppendAllText(file1, content1, Encoding.UTF8); |
| | | File.AppendAllText(file1, "\r\n"); |
| | | } |
| | | |
| | | |
| | | directoryInfo3 = null; |
| | | } |
| | | |
| | |
| | | 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 |