using 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],
|
Lensnumber = Convert.ToInt32(data[0].Split('-')[2].Substring(6, 1)),
|
FileName=data[0].Split('-')[2].Substring(0,9)+"白点",
|
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],
|
Lensnumber = Convert.ToInt32(data[0].Split('-')[2].Substring(6, 1)),
|
FileName = data[0].Split('-')[2].Substring(0, 9) + "白点",
|
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],
|
Lensnumber = Convert.ToInt32(data[0].Split('-')[2].Substring(6, 1)),
|
FileName = data[0].Split('-')[2].Substring(0,9) + "刮白",
|
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],
|
Lensnumber = Convert.ToInt32(data[0].Split('-')[2].Substring(6, 1)),
|
FileName = data[0].Split('-')[2].Substring(0, 9) + "刮白",
|
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],
|
Lensnumber = Convert.ToInt32(data[0].Split('-')[2].Substring(6, 1)),
|
FileName = data[0].Split('-')[2].Substring(0, 9) + "划伤",
|
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],
|
Lensnumber = Convert.ToInt32(data[0].Split('-')[2].Substring(6, 1)),
|
FileName = data[0].Split('-')[2].Substring(0, 9)+ "划伤",
|
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],
|
Lensnumber = Convert.ToInt32(data[0].Split('-')[2].Substring(6, 1)),
|
FileName = data[0].Split('-')[2].Substring(0, 9) + "镀膜破损",
|
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 = "";
|
public string FileName = "";
|
|
|
}
|
}
|