From e5bd758158da36fc8068cb6d686d8affc7f29639 Mon Sep 17 00:00:00 2001
From: Jack.Peng <jack.peng@broconcentric.com>
Date: 星期四, 25 三月 2021 21:47:29 +0800
Subject: [PATCH] 1.读取文件全部单独拆分来读取,易于后期维护。
---
P066.Data/ReadFile.cs | 258 +++++++++++++++++
P066.Data/WriteFile.cs | 106 +++++++
P066.Data/P066.Data.csproj | 2
P066.Data/Form1.cs | 400 ++++----------------------
P066.Data/P066RunParam.cs | 106 -------
5 files changed, 433 insertions(+), 439 deletions(-)
diff --git a/P066.Data/Form1.cs b/P066.Data/Form1.cs
index d36c9f1..bdd66be 100644
--- a/P066.Data/Form1.cs
+++ b/P066.Data/Form1.cs
@@ -19,8 +19,10 @@
DirectoryInfo directoryInfo1;
DirectoryInfo directoryInfo2;
private P066RunParam runparam = new P066RunParam();
+ private ReadFile readfile = new ReadFile();
+ private WriteFile writefile = new WriteFile();
+
-
public Form1()
{
InitializeComponent();
@@ -49,10 +51,9 @@
private void btnAnalyze_Click(object sender, EventArgs e)
{
- var fileinfos11 = directoryInfo1.GetFiles().ToList().FindAll(a => a.Extension == ".csv");
+ #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++)
@@ -66,7 +67,7 @@
fileInfo2.Add(fileinfos11[i]);
}
}
-
+ #endregion
List<ResultData> DataListMerge = new List<ResultData>();
var listSum = new List<ResultData>();
var JudgeListSum = new List<ResultData>();
@@ -79,16 +80,11 @@
int ChuNum = 0;
int FuNum = 0;
int GuaNum = 0;
- #region//鑾峰彇鏃堕棿鎴冲苟鎺掑簭
- var allLines1 = File.ReadAllLines(fileInfo1[0].FullName, Encoding.Default);
- List<ResultData> dataList1 = new List<ResultData>();
- if (allLines1.Length > 1)
- {
- dataList1 = GetData(allLines1,GetDefactType(fileInfo1[0]));
- }
- var dataGroup111 = dataList1.GroupBy(a => a.TimeTip);
+ #region 璇诲彇涓�涓〃鏍间腑鎵�鏈夋椂闂存埑骞舵帓搴�
+ var dataList = GetFileData(fileInfo1[0]);
+ var dataGroup = dataList.GroupBy(a => a.TimeTip);
var dataListSum22 = new List<string>();
- foreach (var item in dataGroup111)
+ foreach (var item in dataGroup)
{
dataListSum22.Add(item.Key);
}
@@ -96,14 +92,14 @@
dataListSum22.Sort();
#endregion
+ #region 璇诲彇鍒掍激銆侀晙鑶滅牬鎹熸枃浠跺す鏂囦欢
if (directoryInfo2 != null)
{
var fileinfos22 = directoryInfo2.GetFiles().ToList().FindAll(a=>a.Extension==".csv");
- for (int i = 0; i < fileinfos22.Count; i++)
+ for (int i = 0; i < fileinfos22.Count; i++)
{
- var allLines = File.ReadAllLines(fileinfos22[i].FullName, Encoding.Default);
- var list = GetData(allLines, GetDefactType(fileinfos22[i])).FindAll(a=>!a.Result); /*CompareFile(fileInfo1[i], fileInfo2[i],dataListSum22)*/
+ var list = GetFileData(fileinfos22[i]);
GetMaxSize(list);
if (fileinfos22[i].Name.Contains("鍒掍激"))
{
@@ -123,15 +119,11 @@
directoryInfo2 = null;
}
-
-
-
+ #endregion
for (int i = 0; i < fileInfo1.Count; i++)
{
- CompareFile(fileInfo1[i], fileInfo2[i], dataListSum22, out DataListMerge);
- var list = DataListMerge; /*CompareFile(fileInfo1[i], fileInfo2[i],dataListSum22)*/
-
+ var list= CompareFile(fileInfo1[i], fileInfo2[i], dataListSum22);
if (fileInfo1[i].Name.Contains("鐧界偣"))
{
WhiteI++;
@@ -146,8 +138,9 @@
}
- string currPath = "";
+
#region//鍒ゆ柇鏄垵妫�鏂囦欢澶硅繕鏄妫�鏂囦欢澶�
+ string currPath = "";
if (fileInfo1[i].Name.Contains("鍒濇涓"))
{
ChuNum++;
@@ -231,14 +224,14 @@
foreach (var item in dataListSum22)
{
var Lens1 = listSum.FindAll(a => a.TimeTip == item&&a.Lensnumber==1);
- WriteJR(Lens1,item,1,file12);
+ writefile.WriteJR(Lens1,item,1,file12);
var Lens2 = listSum.FindAll(a => a.TimeTip == item && a.Lensnumber == 2);
- WriteJR(Lens2,"",2,file12);
+ writefile.WriteJR(Lens2,"",2,file12);
var Lens3 = listSum.FindAll(a => a.TimeTip == item && a.Lensnumber == 3);
- WriteJR(Lens3,"",3,file12);
+ writefile.WriteJR(Lens3,"",3,file12);
var Lens4 = listSum.FindAll(a => a.TimeTip == item && a.Lensnumber == 4);
- WriteJR(Lens4,"",4,file12);
-
+ writefile.WriteJR(Lens4,"",4,file12);
+
}
#endregion
@@ -283,25 +276,11 @@
}
- private void CompareFile(FileInfo fileInfo1, FileInfo fileInfo2,List<string> DataTipsor,out List<ResultData> DataListMerger)
+ #region 涓や釜琛ㄦ牸杩涜姣旇緝,濡傛灉涓や釜琛ㄦ牸涓湁璁惧鍒ゆ柇鏍囧噯涓嶇粺涓�锛屽皢璇ョ偣鍙樹负NG锛屽垹闄や袱涓〃鏍间腑NG鐐圭浉杩戠殑鏈�灏忓昂瀵哥偣.
+ private List<ResultData> CompareFile(FileInfo fileInfo1, FileInfo fileInfo2,List<string> DataTipsor)
{
- var allLines1 = File.ReadAllLines(fileInfo1.FullName, Encoding.Default);
- var allLines2 = File.ReadAllLines(fileInfo2.FullName, Encoding.Default);
- List<ResultData> dataList1 = new List<ResultData>();
- List<ResultData> dataList2 = new List<ResultData>();
- string defectType1 = "";
- string defectType2 = "";
- defectType1 = GetDefactType(fileInfo1);
- defectType2 = GetDefactType(fileInfo2);
-
- if (allLines1.Length>1)
- {
- dataList1 = GetData(allLines1,defectType1);
- }
- if (allLines2.Length > 1)
- {
- dataList2 = GetData(allLines2,defectType2);
- }
+ var dataList1 = GetFileData(fileInfo1);
+ var dataList2 = GetFileData(fileInfo2);
var dataList = new List<ResultData>();
foreach (var item in DataTipsor)
{
@@ -314,14 +293,11 @@
GetMaxSize(list2);
for (int i = 0; i < list1.Count; i++)
{
-
for (int j = 0; j < list2.Count; j++)
{
if (list1[i].JudgmentResult != list2[j].JudgmentResult)
{
- list1[i].JudgmentResult = "NG";
- list2[j].JudgmentResult = "NG";
-
+ list1[i].JudgmentResult = list2[j].JudgmentResult = "NG";
}
if (list1[i].PostTreatmentResults.Length<list2[j].PostTreatmentResults.Length)
{
@@ -331,7 +307,6 @@
{
list2[j].PostTreatmentResults = list1[i].PostTreatmentResults;
}
-
var distance = GetDistance(list1[i].X, list1[i].Y, list2[j].X, list2[j].Y);
if (distance < 20)
{
@@ -344,13 +319,9 @@
{
itemToRemove.Add(list1[i]);
}
-
-
-
}
}
}
-
dataList.AddRange(list1);
dataList.AddRange(list2);
for (int i = 0; i < itemToRemove.Count; i++)
@@ -358,14 +329,13 @@
dataList.Remove(itemToRemove[i]);
}
}
-
- DataListMerger=dataList;
-
+ return dataList;
}
-
+ #endregion
-
- //鑾峰彇涓瑙掑害鍜屼綅缃�
+
+
+ #region 鑾峰彇涓瑙掑害鍜屼綅缃�
private List<ResultData> GetMidLocation(List<ResultData> list)
{
var group = list.GroupBy(a => a.TimeTip);
@@ -478,7 +448,8 @@
}
return list;
}
- //鑾峰彇涓鍒櫧瑙掑害鍜屼綅缃�
+ #endregion
+ #region 鑾峰彇涓鍒櫧瑙掑害鍜屼綅缃�
private List<ResultData> GetWhiteLocation(List<ResultData> list)
{
var group = list.GroupBy(a => a.TimeTip);
@@ -607,7 +578,9 @@
}
return list;
}
- //鑾峰彇鑳屾澘瑙掑害鍜屼綅缃�
+ #endregion
+
+ #region 鑾峰彇鑳屾澘瑙掑害鍜屼綅缃�
private List<ResultData> GetBkLocation(List<ResultData> list)
{
var group = list.GroupBy(a => a.TimeTip);
@@ -706,113 +679,20 @@
}
return list;
}
-
- //鍐欏叆璁惧鍒ゆ柇缁撴灉鎶ヨ〃
- private void WriteJR(List<ResultData> Lens,string item,int LensNumb, string file12)
- {
- if (Lens.Count == 0)
- {
-
- var content11 = $"{item},{LensNumb},{"OK"}";
- File.AppendAllText(file12, content11, Encoding.UTF8);
- File.AppendAllText(file12, "\r\n");
- }
- else
- {
- if (Lens[0].DefectType == "闀�鑶滅牬鎹�")
- {
- var content11 = $"{item},{LensNumb},{Lens[0].JudgmentResult},{Lens[0].DefectType}";
- File.AppendAllText(file12, content11, Encoding.UTF8);
- File.AppendAllText(file12, "\r\n");
- for (int i = 0; i < Lens.Count; i++)
- {
- if (Lens[i].DefectType == "闀�鑶滅牬鎹�")
- {
- var content111 = $"{""},{""},{""},{""},{""},{"-"},{"-"},{"-"},{"-"},{"-"},{"-"}";
- File.AppendAllText(file12, content111, Encoding.UTF8);
- File.AppendAllText(file12, "\r\n");
- }
- else
- {
- var content111 = $"{""},{""},{""},{Lens[i].DefectType},{""},{Lens[i].ex},{Lens[i].location},{Lens[i].X},{Lens[i].Y},{(int)(Lens[i].R)},{(int)(Lens[i].angle)}";
- File.AppendAllText(file12, content111, Encoding.UTF8);
- File.AppendAllText(file12, "\r\n");
- }
-
- }
- }
- else if (Lens[0].DefectType == "鍒掍激"|| Lens[0].DefectType == "鑴忔薄")
- {
- var content11 = $"{item},{LensNumb},{Lens[0].JudgmentResult},{Lens[0].DefectType}";
- File.AppendAllText(file12, content11, Encoding.UTF8);
- File.AppendAllText(file12, "\r\n");
- for (int i = 0; i < Lens.Count; i++)
- {
- if (Lens[i].DefectType == "鍒掍激"|| Lens[i].DefectType == "鑴忔薄")
- {
- var content111 = $"{""},{""},{""},{""},{""},{Lens[i].ex},{Lens[i].location},{Lens[i].X},{Lens[i].Y},{(int)(Lens[i].R)},{(int)(Lens[i].angle)}";
- File.AppendAllText(file12, content111, Encoding.UTF8);
- File.AppendAllText(file12, "\r\n");
- }
- else
- {
- var content111 = $"{""},{""},{""},{Lens[i].DefectType},{""},{Lens[i].ex},{Lens[i].location},{Lens[i].X},{Lens[i].Y},{(int)(Lens[i].R)},{(int)(Lens[i].angle)}";
- File.AppendAllText(file12, content111, Encoding.UTF8);
- File.AppendAllText(file12, "\r\n");
- }
-
- }
- }
- else if (Lens[0].DefectType == "鍒櫧")
- {
- var content11 = $"{item},{LensNumb},{Lens[0].JudgmentResult},{Lens[0].DefectType}";
- File.AppendAllText(file12, content11, Encoding.UTF8);
- File.AppendAllText(file12, "\r\n");
- for (int i = 0; i < Lens.Count; i++)
- {
- if (Lens[i].DefectType == "鍒櫧")
- {
- var content111 = $"{""},{""},{""},{""},{""},{Lens[i].ex},{Lens[i].location},{Lens[i].X},{Lens[i].Y},{(int)(Lens[i].R)},{(int)(Lens[i].angle)}";
- File.AppendAllText(file12, content111, Encoding.UTF8);
- File.AppendAllText(file12, "\r\n");
- }
- else
- {
- var content111 = $"{""},{""},{""},{Lens[i].DefectType},{""},{Lens[i].ex},{Lens[i].location},{Lens[i].X},{Lens[i].Y},{(int)(Lens[i].R)},{(int)(Lens[i].angle)}";
- File.AppendAllText(file12, content111, Encoding.UTF8);
- File.AppendAllText(file12, "\r\n");
- }
-
- }
- }
- else
- {
- var content11 = $"{item},{LensNumb},{Lens[0].JudgmentResult},{Lens[0].DefectType},{Lens[0].PostTreatmentResults}";
- File.AppendAllText(file12, content11, Encoding.UTF8);
- File.AppendAllText(file12, "\r\n");
- for (int i = 0; i < Lens.Count; i++)
- {
- var content111 = $"{""},{""},{""},{""},{""},{Lens[i].ex},{Lens[i].location},{Lens[i].X},{Lens[i].Y},{(int)(Lens[i].R)},{(int)(Lens[i].angle)}";
- File.AppendAllText(file12, content111, Encoding.UTF8);
- File.AppendAllText(file12, "\r\n");
- }
- }
-
- }
- }
-
-
- //璁$畻涓ょ偣涔嬮棿璺濈
+ #endregion
+ #region 璁$畻涓ょ偣涔嬮棿璺濈
private double GetDistance(double x1, double y1, double x2, double y2)
{
return Math.Sqrt(Math.Pow((x2 - x1), 2) + Math.Pow((y2 - y1), 2));
}
- //璁$畻瑙掑害
+ #endregion
+ #region 璁$畻瑙掑害
private double GetAngle(double x1, double y1,double size)
{
return Math.Atan2((y1 - size), (x1 - size)) * (180 / Math.PI);
}
- //璁$畻鏈�澶у昂瀵�
+ #endregion
+ #region 璁$畻鏈�澶у昂瀵�
private List<ResultData> GetMaxSize(List<ResultData> list)
{
for (int i = 0; i < list.Count; i++)
@@ -829,9 +709,8 @@
}
return list;
}
-
-
- //鑾峰彇鏂囦欢鍚嶇О骞剁‘瀹氱己闄风被鍨�
+ #endregion
+ #region 鑾峰彇鏂囦欢鍚嶇О骞剁‘瀹氱己闄风被鍨�
private string GetDefactType(FileInfo fileinfo)
{
string defatType="";
@@ -857,181 +736,34 @@
return defatType;
}
-
- private List<ResultData> GetData(string[] allLines,string defectType)
+ #endregion
+ private List <ResultData> GetFileData(FileInfo fileInfos)
{
- var dataList = new List<ResultData>();
- var nametemp = allLines[1].Split(',')[0];
- var resulttemp = allLines[1].Split(',')[1];
- string Ptr = "";
- string deTy = "";
- for (int i = 1; i < allLines.Length; i++)
+ var allLines = File.ReadAllLines(fileInfos.FullName, Encoding.Default);
+ List<ResultData> dataList = new List<ResultData>();
+ if (allLines.Length > 1)
{
-
- var data = allLines[i].Split(',');
-
-
- if (data[0] == "")
+ switch (GetDefactType(fileInfos))
{
- data[0] = nametemp;
- data[1] = resulttemp;
- if (defectType == "鐧界偣")
- {
- data[10] = Ptr;
- deTy = "鐧界偣";
- }
-
-
+ case "鐧界偣":
+ dataList = readfile.GetWhiteFile(allLines);
+ break;
+ case "鍒櫧":
+ dataList = readfile.GetWhiteningFile(allLines);
+ break;
+ case "鍒掍激":
+ dataList = readfile.GetScratchPartFile(allLines);
+ break;
+ case "闀�鑶滅牬鎹�":
+ dataList = readfile.GetZoomPartFile(allLines);
+ break;
+ //default:
+ // dataList1 = null;
+ // break;
}
- if (defectType == "鍒櫧")
- {
- Ptr = "鍒櫧";
- deTy = "鍒櫧";
- }
-
- else if (defectType == "鍒掍激")
- {
- Ptr = "";
- if (data[3]!="OK")
- {
- deTy = data[3];
- }
- else
- {
- deTy = "";
- }
-
-
- }
-
- else if (defectType == "鐧界偣")
- {
- Ptr = data[10];
- deTy = "鐧界偣";
- }
-
- if (defectType== "闀�鑶滅牬鎹�")
- {
- dataList.Add(new ResultData()
- {
- TimeTip = data[0].Split('-')[0],
- ImageFileName = data[0],
- JudgmentResult = data[1] == "OK" ? "OK" : "NG",
- Result = data[1] == "OK",
- DefectType = defectType,
-
- }); ; ;
-
- continue;
- }
- if (data[6] == "-")
- {
-
- dataList.Add(new ResultData()
- {
- TimeTip = data[0].Split('-')[0],
- ImageFileName = data[0],
- JudgmentResult = data[1] == "OK" ? "OK" : "NG",
- Result = data[3] == "OK",
-
- }); ; ;
-
- continue;
-
- }
- else if (data.Length<5)
- {
- dataList.Add(new ResultData()
- {
- TimeTip = data[0].Split('-')[0],
- ImageFileName = data[0],
- JudgmentResult = data[1] == "OK" ? "OK" : "NG",
- Result = data[3] == "OK",
-
- }); ; ;
-
- continue;
- }
-
-
- var data6 = data[6].Split('#').ToList();
- data6.Remove("");
- var temp6 = Convert.ToInt32(data6[0]);
- for (int a6 = 0; a6 < data6.Count; a6++)
- {
- if (Convert.ToInt32(data6[a6]) > temp6)
- {
- temp6 = Convert.ToInt32(data6[a6]);
- }
- }
- data[6] = Convert.ToString(temp6);
-
- var data7 = data[7].Split('#').ToList();
- data7.Remove("");
- var temp7 = Convert.ToInt32(data7[0]);
- for (int a7 = 0; a7 < data7.Count; a7++)
- {
- if (Convert.ToInt32(data7[a7]) > temp7)
- {
- temp7 = Convert.ToInt32(data7[a7]);
- }
- }
- data[7] = Convert.ToString(temp7);
-
-
-
-
- dataList.Add(new ResultData()
- {
- TimeTip = data[0].Split('-')[0],
- ImageFileName = data[0],
- JudgmentResult = data[1]== "OK" ? "OK" :"NG",
- Result = data[3] == "OK",
- Probability = Convert.ToDouble(data[4]),
- Uncertainty = Convert.ToDouble(data[5]),
- //Height = Convert.ToDouble(data[6].Replace("#", "").Replace("-", "")),
- //Width = Convert.ToDouble(data[7].Replace("#", "").Replace("-", "")),
- Height = Convert.ToDouble(data[6]),
- Width = Convert.ToDouble(data[7]),
- X = Convert.ToDouble(data[8].Replace("#", "").Replace("-", "")),
- Y = Convert.ToDouble(data[9].Replace("#", "").Replace("-", "")),
- DefectType = deTy,
- PostTreatmentResults = Ptr,
-
- }); ; ;
-
- nametemp = data[0];
- resulttemp = data[1];
-
- //Ptr = data[10];
-
}
-
return dataList;
}
-
-
- }
-
- public class ResultData
- {
- public string TimeTip = "";
- public string JudgmentResult = "";
- public string ImageFileName = "";
- public bool Result = true;
- public int Lensnumber = 0;
- public double Probability = 0;
- public double Uncertainty = 0;
- public double Height = 0;
- public double Width = 0;
- public double X = 0;
- public double Y = 0;
- public double ex = 0;
- public string location = "";
- public double angle = 0;
- public double R = 0;
- public string DefectType = "";
- public string PostTreatmentResults = "";
}
diff --git a/P066.Data/P066.Data.csproj b/P066.Data/P066.Data.csproj
index c09b13d..d4ea139 100644
--- a/P066.Data/P066.Data.csproj
+++ b/P066.Data/P066.Data.csproj
@@ -47,6 +47,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
+ <Compile Include="ReadFile.cs" />
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
@@ -56,6 +57,7 @@
<Compile Include="P066RunParam.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="WriteFile.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
diff --git a/P066.Data/P066RunParam.cs b/P066.Data/P066RunParam.cs
index 5ad24ce..37d93bb 100644
--- a/P066.Data/P066RunParam.cs
+++ b/P066.Data/P066RunParam.cs
@@ -26,109 +26,5 @@
public double BkLens4R1;
//public double BkLens4R2;
}
- public class P066ReadFile
- {
- public List<ResultData1> GetWhiteFile(string[] allLines)
- {
- var dataList = new List<ResultData1>();
- var nametemp = allLines[1].Split(',')[0];
- var resulttemp = allLines[1].Split(',')[1];
- string Ptr = "";
- string deTy = "";
- for (int i = 1; i < allLines.Length; i++)
- {
- var data = allLines[i].Split(',');
- if (data[0] == "")
- {
- data[0] = nametemp;
- data[1] = resulttemp;
- }
- if (data[6] == "-")
- {
-
- dataList.Add(new ResultData1()
- {
- TimeTip = data[0].Split('-')[0],
- ImageFileName = data[0],
- JudgmentResult = data[1] == "OK" ? "OK" : "NG",
- Result = data[3] == "OK",
-
- }); ; ;
-
- continue;
-
- }
- //灏嗗湴7銆�8鍒椾腑閫夋渶澶у儚绱犵偣
- data[6] = SelectMaxPiont(data[6]);
- data[7] = SelectMaxPiont(data[7]);
-
- dataList.Add(new ResultData1()
- {
- TimeTip = data[0].Split('-')[0],
- ImageFileName = data[0],
- JudgmentResult = data[1] == "OK" ? "OK" : "NG",
- Result = data[3] == "OK",
- Probability = Convert.ToDouble(data[4]),
- Uncertainty = Convert.ToDouble(data[5]),
- //Height = Convert.ToDouble(data[6].Replace("#", "").Replace("-", "")),
- //Width = Convert.ToDouble(data[7].Replace("#", "").Replace("-", "")),
- Height = Convert.ToDouble(data[6]),
- Width = Convert.ToDouble(data[7]),
- X = Convert.ToDouble(data[8].Replace("#", "").Replace("-", "")),
- Y = Convert.ToDouble(data[9].Replace("#", "").Replace("-", "")),
- DefectType = deTy,
- PostTreatmentResults = Ptr,
-
- }); ; ;
-
- nametemp = data[0];
- resulttemp = data[1];
-
- }
-
- return dataList;
- }
-
-
- private string SelectMaxPiont(string Data)
- {
- var data = Data.Split('#').ToList();
- data.Remove("");
- var temp = Convert.ToInt32(data[0]);
- for (int i = 0; i < data.Count; i++)
- {
- if (Convert.ToInt32(data[i]) > temp)
- {
- temp = Convert.ToInt32(data[i]);
- }
- }
- return Convert.ToString(temp);
- }
-
-
- }
-
- public class ResultData1
- {
- public string TimeTip = "";
- public string JudgmentResult = "";
- public string ImageFileName = "";
- public bool Result = true;
- public int Lensnumber = 0;
- public double Probability = 0;
- public double Uncertainty = 0;
- public double Height = 0;
- public double Width = 0;
- public double X = 0;
- public double Y = 0;
- public double ex = 0;
- public string location = "";
- public double angle = 0;
- public double R = 0;
- public string DefectType = "";
- public string PostTreatmentResults = "";
-
-
- }
-}
+ }
diff --git a/P066.Data/ReadFile.cs b/P066.Data/ReadFile.cs
new file mode 100644
index 0000000..cbc181f
--- /dev/null
+++ b/P066.Data/ReadFile.cs
@@ -0,0 +1,258 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace P066.Data
+{
+ class ReadFile
+ {
+
+ #region 璇诲彇鐧界偣琛ㄦ牸
+ public List<ResultData> GetWhiteFile(string[] allLines)
+ {
+ var dataList = new List<ResultData>();
+ var nametemp = allLines[1].Split(',')[0];
+ var resulttemp = allLines[1].Split(',')[1];
+ string Ptr = "";
+ for (int i = 1; i < allLines.Length; i++)
+ {
+ var data = allLines[i].Split(',');
+ if (data[0] == "")
+ {
+ data[0] = nametemp;
+ data[1] = resulttemp;
+ data[10] = Ptr;
+ }
+
+ try
+ {
+ //灏嗗湴7銆�8鍒椾腑閫夋渶澶у儚绱犵偣
+ data[6] = SelectMaxPiont(data[6]);
+ data[7] = SelectMaxPiont(data[7]);
+ dataList.Add(new ResultData()
+ {
+ TimeTip = data[0].Split('-')[0],
+ ImageFileName = data[0],
+ JudgmentResult = data[1] == "OK" ? "OK" : "NG",
+ Result = data[3] == "OK",
+ Probability = Convert.ToDouble(data[4]),
+ Uncertainty = Convert.ToDouble(data[5]),
+ Height = Convert.ToDouble(data[6]),
+ Width = Convert.ToDouble(data[7]),
+ X = Convert.ToDouble(data[8].Replace("#", "").Replace("-", "")),
+ Y = Convert.ToDouble(data[9].Replace("#", "").Replace("-", "")),
+ DefectType = data[3] == "OK" ? "OK" : "鐧界偣",
+ PostTreatmentResults = data[10],
+ }); ; ;
+
+ nametemp = data[0];
+ resulttemp = data[1];
+ Ptr = data[10];
+
+ }
+ catch (Exception)
+ {
+
+ dataList.Add(new ResultData()
+ {
+ TimeTip = data[0].Split('-')[0],
+ ImageFileName = data[0],
+ JudgmentResult = data[1] == "OK" ? "OK" : "NG",
+ Result = data[3] == "OK",
+
+ }); ; ;
+ }
+ }
+
+ return dataList;
+ }
+
+ #endregion
+
+ #region 璇诲彇鍒櫧琛ㄦ牸
+ public List<ResultData> GetWhiteningFile(string[] allLines)
+ {
+ var dataList = new List<ResultData>();
+ var nametemp = allLines[1].Split(',')[0];
+ var resulttemp = allLines[1].Split(',')[1];
+ for (int i = 1; i < allLines.Length; i++)
+ {
+ var data = allLines[i].Split(',');
+ if (data[0] == "")
+ {
+ data[0] = nametemp;
+ data[1] = resulttemp;
+ }
+
+ try
+ {
+ //灏嗗湴7銆�8鍒椾腑閫夋渶澶у儚绱犵偣
+ data[6] = SelectMaxPiont(data[6]);
+ data[7] = SelectMaxPiont(data[7]);
+ dataList.Add(new ResultData()
+ {
+ TimeTip = data[0].Split('-')[0],
+ ImageFileName = data[0],
+ JudgmentResult = data[1] == "OK" ? "OK" : "NG",
+ Result = data[3] == "OK",
+ Probability = Convert.ToDouble(data[4]),
+ Uncertainty = Convert.ToDouble(data[5]),
+ Height = Convert.ToDouble(data[6]),
+ Width = Convert.ToDouble(data[7]),
+ X = Convert.ToDouble(data[8].Replace("#", "").Replace("-", "")),
+ Y = Convert.ToDouble(data[9].Replace("#", "").Replace("-", "")),
+ DefectType = data[3] == "OK" ? "OK" : "鍒櫧",
+ PostTreatmentResults = "鍒櫧",
+ }); ; ;
+
+ nametemp = data[0];
+ resulttemp = data[1];
+
+ }
+ catch (Exception)
+ {
+
+ dataList.Add(new ResultData()
+ {
+ TimeTip = data[0].Split('-')[0],
+ ImageFileName = data[0],
+ JudgmentResult = data[1] == "OK" ? "OK" : "NG",
+ Result = data[3] == "OK",
+ PostTreatmentResults = "鍒櫧",
+ }); ; ;
+ }
+
+
+ }
+
+ return dataList;
+ }
+ #endregion
+
+ #region 璇诲彇鍒掍激琛ㄦ牸
+ public List<ResultData> GetScratchPartFile(string[] allLines)
+ {
+ var dataList = new List<ResultData>();
+ var nametemp = allLines[1].Split(',')[0];
+ var resulttemp = allLines[1].Split(',')[1];
+ for (int i = 1; i < allLines.Length; i++)
+ {
+ var data = allLines[i].Split(',');
+ if (data[0] == "")
+ {
+ data[0] = nametemp;
+ data[1] = resulttemp;
+ }
+
+ try
+ {
+ if (data[1]!="OK")
+ {
+ dataList.Add(new ResultData()
+ {
+ TimeTip = data[0].Split('-')[0],
+ ImageFileName = data[0],
+ JudgmentResult = "NG",
+ Result = data[3] == "OK",
+ Probability = Convert.ToDouble(data[4]),
+ Uncertainty = Convert.ToDouble(data[5]),
+ Height = Convert.ToDouble(data[6]),
+ Width = Convert.ToDouble(data[7]),
+ X = Convert.ToDouble(data[8].Replace("#", "").Replace("-", "")),
+ Y = Convert.ToDouble(data[9].Replace("#", "").Replace("-", "")),
+ DefectType = data[3],
+ PostTreatmentResults = "鍒掍激",
+ }); ; ;
+ nametemp = data[0];
+ resulttemp = data[1];
+ }
+ }
+ catch (Exception)
+ {
+
+ dataList.Add(new ResultData()
+ {
+ TimeTip = data[0].Split('-')[0],
+ ImageFileName = data[0],
+ JudgmentResult = data[1] == "OK" ? "OK" : "NG",
+ Result = data[3] == "OK",
+
+ }); ; ;
+ }
+
+
+ }
+
+ return dataList;
+ }
+ #endregion
+
+ #region 璇诲彇闀�鑶滅牬鎹熻〃鏍�
+ public List<ResultData> GetZoomPartFile(string[] allLines)
+ {
+ var dataList = new List<ResultData>();
+ for (int i = 1; i < allLines.Length; i++)
+ {
+ var data = allLines[i].Split(',');
+ if (data[1]!="OK")
+ {
+ dataList.Add(new ResultData()
+ {
+ TimeTip = data[0].Split('-')[0],
+ ImageFileName = data[0],
+ JudgmentResult = "NG",
+ DefectType = data[1],
+ PostTreatmentResults = "闀�鑶滅牬鎹�",
+ }); ; ;
+ }
+
+ }
+ return dataList;
+ }
+ #endregion
+
+
+ ////灏嗗湴7銆�8鍒椾腑閫夋渶澶у儚绱犵偣
+ private string SelectMaxPiont(string Data)
+ {
+ var data = Data.Split('#').ToList();
+ data.Remove("");
+ var temp = Convert.ToInt32(data[0]);
+ for (int i = 0; i < data.Count; i++)
+ {
+ if (Convert.ToInt32(data[i]) > temp)
+ {
+ temp = Convert.ToInt32(data[i]);
+ }
+ }
+ return Convert.ToString(temp);
+ }
+
+
+
+ }
+ public class ResultData
+ {
+ public string TimeTip = "";
+ public string JudgmentResult = "";
+ public string ImageFileName = "";
+ public bool Result = true;
+ public int Lensnumber = 0;
+ public double Probability = 0;
+ public double Uncertainty = 0;
+ public double Height = 0;
+ public double Width = 0;
+ public double X = 0;
+ public double Y = 0;
+ public double ex = 0;
+ public string location = "";
+ public double angle = 0;
+ public double R = 0;
+ public string DefectType = "";
+ public string PostTreatmentResults = "";
+
+
+ }
+}
diff --git a/P066.Data/WriteFile.cs b/P066.Data/WriteFile.cs
new file mode 100644
index 0000000..f2b3835
--- /dev/null
+++ b/P066.Data/WriteFile.cs
@@ -0,0 +1,106 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.IO;
+namespace P066.Data
+{
+ class WriteFile
+ {
+ #region 鍐欏叆璁惧鍒ゆ柇缁撴灉鎶ヨ〃
+ public void WriteJR(List<ResultData> Lens, string item, int LensNumb, string file12)
+ {
+ if (Lens.Count == 0)
+ {
+
+ var content11 = $"{item},{LensNumb},{"OK"}";
+ File.AppendAllText(file12, content11, Encoding.UTF8);
+ File.AppendAllText(file12, "\r\n");
+ }
+ else
+ {
+ if (Lens[0].DefectType == "闀�鑶滅牬鎹�")
+ {
+ var content11 = $"{item},{LensNumb},{Lens[0].JudgmentResult},{Lens[0].DefectType}";
+ File.AppendAllText(file12, content11, Encoding.UTF8);
+ File.AppendAllText(file12, "\r\n");
+ for (int i = 0; i < Lens.Count; i++)
+ {
+ if (Lens[i].DefectType == "闀�鑶滅牬鎹�")
+ {
+ var content111 = $"{""},{""},{""},{""},{""},{"-"},{"-"},{"-"},{"-"},{"-"},{"-"}";
+ File.AppendAllText(file12, content111, Encoding.UTF8);
+ File.AppendAllText(file12, "\r\n");
+ }
+ else
+ {
+ var content111 = $"{""},{""},{""},{Lens[i].DefectType},{""},{Lens[i].ex},{Lens[i].location},{Lens[i].X},{Lens[i].Y},{(int)(Lens[i].R)},{(int)(Lens[i].angle)}";
+ File.AppendAllText(file12, content111, Encoding.UTF8);
+ File.AppendAllText(file12, "\r\n");
+ }
+
+ }
+ }
+ else if (Lens[0].DefectType == "鍒掍激" || Lens[0].DefectType == "鑴忔薄")
+ {
+ var content11 = $"{item},{LensNumb},{Lens[0].JudgmentResult},{Lens[0].DefectType}";
+ File.AppendAllText(file12, content11, Encoding.UTF8);
+ File.AppendAllText(file12, "\r\n");
+ for (int i = 0; i < Lens.Count; i++)
+ {
+ if (Lens[i].DefectType == "鍒掍激" || Lens[i].DefectType == "鑴忔薄")
+ {
+ var content111 = $"{""},{""},{""},{""},{""},{Lens[i].ex},{Lens[i].location},{Lens[i].X},{Lens[i].Y},{(int)(Lens[i].R)},{(int)(Lens[i].angle)}";
+ File.AppendAllText(file12, content111, Encoding.UTF8);
+ File.AppendAllText(file12, "\r\n");
+ }
+ else
+ {
+ var content111 = $"{""},{""},{""},{Lens[i].DefectType},{""},{Lens[i].ex},{Lens[i].location},{Lens[i].X},{Lens[i].Y},{(int)(Lens[i].R)},{(int)(Lens[i].angle)}";
+ File.AppendAllText(file12, content111, Encoding.UTF8);
+ File.AppendAllText(file12, "\r\n");
+ }
+
+ }
+ }
+ else if (Lens[0].DefectType == "鍒櫧")
+ {
+ var content11 = $"{item},{LensNumb},{Lens[0].JudgmentResult},{Lens[0].DefectType}";
+ File.AppendAllText(file12, content11, Encoding.UTF8);
+ File.AppendAllText(file12, "\r\n");
+ for (int i = 0; i < Lens.Count; i++)
+ {
+ if (Lens[i].DefectType == "鍒櫧")
+ {
+ var content111 = $"{""},{""},{""},{""},{""},{Lens[i].ex},{Lens[i].location},{Lens[i].X},{Lens[i].Y},{(int)(Lens[i].R)},{(int)(Lens[i].angle)}";
+ File.AppendAllText(file12, content111, Encoding.UTF8);
+ File.AppendAllText(file12, "\r\n");
+ }
+ else
+ {
+ var content111 = $"{""},{""},{""},{Lens[i].DefectType},{""},{Lens[i].ex},{Lens[i].location},{Lens[i].X},{Lens[i].Y},{(int)(Lens[i].R)},{(int)(Lens[i].angle)}";
+ File.AppendAllText(file12, content111, Encoding.UTF8);
+ File.AppendAllText(file12, "\r\n");
+ }
+
+ }
+ }
+ else
+ {
+ var content11 = $"{item},{LensNumb},{Lens[0].JudgmentResult},{Lens[0].DefectType},{Lens[0].PostTreatmentResults}";
+ File.AppendAllText(file12, content11, Encoding.UTF8);
+ File.AppendAllText(file12, "\r\n");
+ for (int i = 0; i < Lens.Count; i++)
+ {
+ var content111 = $"{""},{""},{""},{""},{""},{Lens[i].ex},{Lens[i].location},{Lens[i].X},{Lens[i].Y},{(int)(Lens[i].R)},{(int)(Lens[i].angle)}";
+ File.AppendAllText(file12, content111, Encoding.UTF8);
+ File.AppendAllText(file12, "\r\n");
+ }
+ }
+
+ }
+ }
+ #endregion
+ }
+}
--
Gitblit v1.8.0