From fc405391846c5b54f560ce7038e8db94b7271071 Mon Sep 17 00:00:00 2001 From: Jack.Peng <jack.peng@broconcentric.com> Date: 星期一, 29 三月 2021 12:50:35 +0800 Subject: [PATCH] 1.不输出单独报表合并表格。 --- P066.Data/Form1.cs | 276 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 170 insertions(+), 106 deletions(-) diff --git a/P066.Data/Form1.cs b/P066.Data/Form1.cs index bdd66be..28d592a 100644 --- a/P066.Data/Form1.cs +++ b/P066.Data/Form1.cs @@ -18,6 +18,7 @@ { DirectoryInfo directoryInfo1; DirectoryInfo directoryInfo2; + DirectoryInfo directoryInfo3; private P066RunParam runparam = new P066RunParam(); private ReadFile readfile = new ReadFile(); private WriteFile writefile = new WriteFile(); @@ -46,35 +47,29 @@ directoryInfo2 = new DirectoryInfo(folderBrowserDialog1.SelectedPath); } - + private void btnLoadData3_Click(object sender, EventArgs e) + { + if (folderBrowserDialog1.ShowDialog()!=DialogResult.OK) + { + return; + } + directoryInfo3 = new DirectoryInfo(folderBrowserDialog1.SelectedPath); + } private void btnAnalyze_Click(object sender, EventArgs e) { #region 璇诲彇鏂囦欢澶逛笅鐨勬墍鏈夋枃浠讹紝骞跺皢鏂囦欢鎸夌収涓婁笅杩涜鍖哄垎;涓婅〃鏍间负fileInfo1锛屼笅琛ㄦ牸涓篺ileInfo2 - - var fileinfos11 = directoryInfo1.GetFiles().ToList().FindAll(a => a.Extension == ".csv"); - List<FileInfo> fileInfo1 = new List<FileInfo>(); - List<FileInfo> fileInfo2 = new List<FileInfo>(); - for (int i = 0; i < fileinfos11.Count; i++) - { - if (fileinfos11[i].Name.Contains("1_1") || fileinfos11[i].Name.Contains("2_1") || fileinfos11[i].Name.Contains("3_1") || fileinfos11[i].Name.Contains("4_1") ) - { - fileInfo1.Add(fileinfos11[i]); - } - else - { - fileInfo2.Add(fileinfos11[i]); - } - } + GentClassificationFile(directoryInfo1, out List<FileInfo> fileInfo1, out List<FileInfo> fileInfo2); //fileInfo1澶嶆涓婃枃浠跺す锛宖ileInfo2澶嶆涓嬫枃浠跺す + GentClassificationFile(directoryInfo3, out List<FileInfo> fileInfo3, out List<FileInfo> fileInfo4); //fileInfo3鍒濇涓婃枃浠跺す锛宖ileInfo4鍒濇涓嬫枃浠跺す #endregion List<ResultData> DataListMerge = new List<ResultData>(); var listSum = new List<ResultData>(); var JudgeListSum = new List<ResultData>(); string filename = ""; string filenameDir = ""; - int WhiteI = 0; - int WhiteningI = 0; + //int WhiteI = 0; + //int WhiteningI = 0; int ScratchI = 0; int ZoomI = 0; int ChuNum = 0; @@ -83,13 +78,13 @@ #region 璇诲彇涓�涓〃鏍间腑鎵�鏈夋椂闂存埑骞舵帓搴� var dataList = GetFileData(fileInfo1[0]); var dataGroup = dataList.GroupBy(a => a.TimeTip); - var dataListSum22 = new List<string>(); + var DataTipsor = new List<string>(); foreach (var item in dataGroup) { - dataListSum22.Add(item.Key); + DataTipsor.Add(item.Key); } - dataListSum22 = dataListSum22.Distinct().ToList(); - dataListSum22.Sort(); + DataTipsor = DataTipsor.Distinct().ToList(); + DataTipsor.Sort(); #endregion #region 璇诲彇鍒掍激銆侀晙鑶滅牬鎹熸枃浠跺す鏂囦欢 @@ -100,13 +95,13 @@ for (int i = 0; i < fileinfos22.Count; i++) { var list = GetFileData(fileinfos22[i]); - GetMaxSize(list); if (fileinfos22[i].Name.Contains("鍒掍激")) { ScratchI++; list.ForEach(a => a.Lensnumber = ScratchI); + GetMaxSize(list); + GetBkLocation(list); listSum.AddRange(list); - list = GetBkLocation(list); } else if (fileinfos22[i].Name.Contains("闀�鑶滅牬鎹�")) { @@ -120,71 +115,71 @@ directoryInfo2 = null; } #endregion - + listSum.AddRange(GetClassificationLens(fileInfo1, fileInfo2, DataTipsor)); for (int i = 0; i < fileInfo1.Count; i++) - { - var list= CompareFile(fileInfo1[i], fileInfo2[i], dataListSum22); - if (fileInfo1[i].Name.Contains("鐧界偣")) - { - WhiteI++; - list.ForEach(a => a.Lensnumber = WhiteI); - listSum.AddRange(list); - } - if (fileInfo1[i].Name.Contains("鍒櫧")) - { - WhiteningI++; - list.ForEach(a => a.Lensnumber = WhiteningI); - listSum.AddRange(list); + { + //var list = CompareFile(fileInfo1[i], fileInfo2[i], DataTipsor); + //if (fileInfo1[i].Name.Contains("鐧界偣")) + //{ + // WhiteI++; + // list.ForEach(a => a.Lensnumber = WhiteI); + // listSum.AddRange(list); + //} + //else if (fileInfo1[i].Name.Contains("鍒櫧")) + //{ + // WhiteningI++; + // list.ForEach(a => a.Lensnumber = WhiteningI); + // listSum.AddRange(list); - } + //} #region//鍒ゆ柇鏄垵妫�鏂囦欢澶硅繕鏄妫�鏂囦欢澶� string currPath = ""; - if (fileInfo1[i].Name.Contains("鍒濇涓")) - { - ChuNum++; - filenameDir = "鍒濇涓鐧界偣"; - filename = "鍒濇涓鐧界偣" + ChuNum; - //缁欓暅澶村尯鍒嗕綅缃強瑙掑害 - list = GetMidLocation(list); - } - else if (fileInfo1[i].Name.Contains("澶嶆涓")&& fileInfo1[i].Name.Contains("鐧界偣")) - { - FuNum=FuNum+1; - filenameDir = "澶嶆涓鐧界偣"; - filename = "澶嶆涓鐧界偣" + FuNum; - //缁欓暅澶村尯鍒嗕綅缃強瑙掑害 - list = GetMidLocation(list); - } - else if (fileInfo1[i].Name.Contains("澶嶆涓") && fileInfo1[i].Name.Contains("鍒櫧")) - { - GuaNum=GuaNum+1; - filenameDir = "澶嶆涓鍒櫧"; - filename = "澶嶆涓鍒櫧" + GuaNum; - //缁欓暅澶村尯鍒嗕綅缃強瑙掑害 - list = GetWhiteLocation(list); - } - else if (fileInfo1[i].Name.Contains("鍒濇鑳屾澘")) - { - ChuNum++; - filenameDir = "鍒濇鑳屾澘鐧界偣"; - filename = "鍒濇鑳屾澘鐧界偣" + ChuNum; - //缁欓暅澶村尯鍒嗕綅缃強瑙掑害 - list = GetBkLocation(list); - } - else if (fileInfo1[i].Name.Contains("澶嶆鑳屾澘") && fileInfo1[i].Name.Contains("鐧界偣")) - { - FuNum = FuNum + 1; - filenameDir = "澶嶆鑳屾澘鐧界偣"; - filename = "澶嶆鑳屾澘鐧界偣" + FuNum; - //缁欓暅澶村尯鍒嗕綅缃強瑙掑害 - list = GetBkLocation(list); - } + //if (fileInfo1[i].Name.Contains("鍒濇涓")) + //{ + // ChuNum++; + // filenameDir = "鍒濇涓鐧界偣"; + // filename = "鍒濇涓鐧界偣" + ChuNum; + // //缁欓暅澶村尯鍒嗕綅缃強瑙掑害 + // list = GetMidLocation(list); + //} + //else if (fileInfo1[i].Name.Contains("澶嶆涓") && fileInfo1[i].Name.Contains("鐧界偣")) + //{ + // FuNum = FuNum + 1; + // filenameDir = "澶嶆涓鐧界偣"; + // filename = "澶嶆涓鐧界偣" + FuNum; + // //缁欓暅澶村尯鍒嗕綅缃強瑙掑害 + // list = GetMidLocation(list); + //} + //else if (fileInfo1[i].Name.Contains("澶嶆涓") && fileInfo1[i].Name.Contains("鍒櫧")) + //{ + // GuaNum = GuaNum + 1; + // filenameDir = "澶嶆涓鍒櫧"; + // filename = "澶嶆涓鍒櫧" + GuaNum; + // //缁欓暅澶村尯鍒嗕綅缃強瑙掑害 + // list = GetWhiteLocation(list); + //} + //else if (fileInfo1[i].Name.Contains("鍒濇鑳屾澘")) + //{ + // ChuNum++; + // filenameDir = "鍒濇鑳屾澘鐧界偣"; + // filename = "鍒濇鑳屾澘鐧界偣" + ChuNum; + // //缁欓暅澶村尯鍒嗕綅缃強瑙掑害 + // list = GetBkLocation(list); + //} + //else if (fileInfo1[i].Name.Contains("澶嶆鑳屾澘") && fileInfo1[i].Name.Contains("鐧界偣")) + //{ + // FuNum = FuNum + 1; + // filenameDir = "澶嶆鑳屾澘鐧界偣"; + // filename = "澶嶆鑳屾澘鐧界偣" + FuNum; + // //缁欓暅澶村尯鍒嗕綅缃強瑙掑害 + // //list = GetBkLocation(list); + //} currPath = directoryInfo1.Parent.FullName; string subPath = currPath + "/" + filenameDir + "鍚堝苟鍚�" + "/"; - if (false==Directory.Exists(subPath)) + if (false == Directory.Exists(subPath)) { Directory.CreateDirectory(subPath); } @@ -192,36 +187,36 @@ #endregion - var title1 = $"鏃堕棿鎴�,鏂囦欢鍚�,鍒ゆ柇,鍙兘鎬�,涓嶇‘瀹氭��,楂�,瀹�,X,Y,鏈�澶у昂瀵�,浣嶇疆,R,瑙掑害"; - var file1 = $"{subPath}\\{filename}.csv"; - File.AppendAllText(file1, title1, Encoding.UTF8); - File.AppendAllText(file1, "\r\n"); - - - foreach (var item in dataListSum22) - { - var list11 = list.FindAll(a =>a.TimeTip==item&&!a.Result); - for (int q = 0; q < list11.Count; q++) - { - string result = list11[q].Result ? "OK" : "NG"; - - var content = $"{list11[q].TimeTip},{list11[q].ImageFileName},{result},{list11[q].Probability},{list11[q].Uncertainty},{list11[q].Height},{list11[q].Width},{list11[q].X},{list11[q].Y},{list11[q].ex},{list11[q].location},{ Convert.ToInt32(list11[q].R)},{ Convert.ToInt32(list11[q].angle)}"; - - File.AppendAllText(file1, content, Encoding.UTF8); - File.AppendAllText(file1, "\r\n"); - } + //var title1 = $"鏃堕棿鎴�,鏂囦欢鍚�,鍒ゆ柇,鍙兘鎬�,涓嶇‘瀹氭��,楂�,瀹�,X,Y,鏈�澶у昂瀵�,浣嶇疆,R,瑙掑害"; + //var file1 = $"{subPath}\\{filename}.csv"; + //File.AppendAllText(file1, title1, Encoding.UTF8); + //File.AppendAllText(file1, "\r\n"); - } - } - + //foreach (var item in DataTipsor) + //{ + // var list11 = list.FindAll(a => a.TimeTip == item && !a.Result); + // for (int q = 0; q < list11.Count; q++) + // { + // string result = list11[q].Result ? "OK" : "NG"; + + // var content = $"{list11[q].TimeTip},{list11[q].ImageFileName},{result},{list11[q].Probability},{list11[q].Uncertainty},{list11[q].Height},{list11[q].Width},{list11[q].X},{list11[q].Y},{list11[q].ex},{list11[q].location},{ Convert.ToInt32(list11[q].R)},{ Convert.ToInt32(list11[q].angle)}"; + + // File.AppendAllText(file1, content, Encoding.UTF8); + // File.AppendAllText(file1, "\r\n"); + // } + + + //} + } + #region//灏嗚澶囧垽鏂粨鏋滆緭鍑哄埌CSV鎶ヨ〃涓� 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 dataListSum22) + foreach (var item in DataTipsor) { var Lens1 = listSum.FindAll(a => a.TimeTip == item&&a.Lensnumber==1); writefile.WriteJR(Lens1,item,1,file12); @@ -243,7 +238,7 @@ var file = $"{directoryInfo1.Parent.FullName}\\{filenameDir + "缂洪櫡鎬绘暟鎶ヨ〃"}.csv"; File.AppendAllText(file, title, Encoding.UTF8); File.AppendAllText(file, "\r\n"); - foreach (var item in dataListSum22) + foreach (var item in DataTipsor) { var listLensnumber1 = listSum.FindAll(a => a.TimeTip == item && a.Lensnumber == 1); var listLensnumberCount1 = listLensnumber1.Count; @@ -737,6 +732,78 @@ return defatType; } #endregion + + #region 灏嗘枃浠跺す杩涜鍖哄垎涓婅〃鏍笺�佷笅琛ㄦ牸 + private void GentClassificationFile(DirectoryInfo directoryInfo,out List<FileInfo> fileinfo1, out List<FileInfo> fileinfo2) + { + var fileinfos11 = directoryInfo.GetFiles().ToList().FindAll(a => a.Extension == ".csv"); + List<FileInfo> fileInfo1 = new List<FileInfo>(); + List<FileInfo> fileInfo2 = new List<FileInfo>(); + for (int i = 0; i < fileinfos11.Count; i++) + { + if (fileinfos11[i].Name.Contains("1_1") || fileinfos11[i].Name.Contains("2_1") || fileinfos11[i].Name.Contains("3_1") || fileinfos11[i].Name.Contains("4_1")) + { + fileInfo1.Add(fileinfos11[i]); + } + else + { + fileInfo2.Add(fileinfos11[i]); + } + } + fileinfo1 = fileInfo1; + fileinfo2 = fileInfo2; + + + } + #endregion + + #region 鑾峰彇鐧界偣銆佸埉鐧芥暟鎹苟鎸夐暅澶磋緭鍑� + private List<ResultData> GetClassificationLens(List<FileInfo> fileInfo1, List<FileInfo> fileInfo2, List<string> DataTipsor) + { + List<ResultData> listsum = new List<ResultData>(); + int WhiteI = 0; + int WhiteningI = 0; + 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); + listsum.AddRange(list); + } + else if (fileInfo1[i].Name.Contains("鍒櫧")) + { + WhiteningI++; + list.ForEach(a => a.Lensnumber = WhiteningI); + listsum.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); + } + } + return listsum; + } + #endregion private List <ResultData> GetFileData(FileInfo fileInfos) { var allLines = File.ReadAllLines(fileInfos.FullName, Encoding.Default); @@ -757,9 +824,6 @@ case "闀�鑶滅牬鎹�": dataList = readfile.GetZoomPartFile(allLines); break; - //default: - // dataList1 = null; - // break; } } return dataList; -- Gitblit v1.8.0