[성현모] Summary 추가, GridFilter 컨피그 분리
This commit is contained in:
@ -105,7 +105,7 @@ public static class ObjectExtend
|
||||
return testResult;
|
||||
}
|
||||
|
||||
public static ParseTestResult ParseTestResult(this DecompressTestResult logData, TestList testList = null)
|
||||
private static ParseTestResult ParseTestResult(this DecompressTestResult logData, TestList testList = null)
|
||||
{
|
||||
var selectData = testList.TestListFile.Where(x => x.StepID == logData.StepID)?.FirstOrDefault();
|
||||
if (selectData is not null)
|
||||
@ -163,4 +163,72 @@ public static class ObjectExtend
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static TestSummary ToTestSummary(this List<TestResult> testResults)
|
||||
{
|
||||
TestSummary testSummary = new TestSummary();
|
||||
testSummary.ParseTestSummary = new List<ParseTestSummary>();
|
||||
|
||||
if(testResults?.Count > 0)
|
||||
{
|
||||
var parseTestResults = testResults.SelectMany(x => x.ParseTestResult??=new()).ToList();
|
||||
var rowGroup = parseTestResults.GroupBy(x => x.StepNo).ToList().OrderBy(x => x.Key);
|
||||
foreach(var rows in rowGroup)
|
||||
{
|
||||
var summary = new ParseTestSummary
|
||||
{
|
||||
StepNo = rows.First().StepNo,
|
||||
Variant = rows.First().Variant,
|
||||
Gate = rows.First().Gate,
|
||||
MO = rows.First().MO,
|
||||
Function = rows.First().Function,
|
||||
Min = rows.First().Min,
|
||||
Average = rows.First().MeasuredValue,
|
||||
Max = rows.First().Max,
|
||||
Dimension = rows.First().Dimension,
|
||||
Total = rows.Count(),
|
||||
OK = rows.Count(x => x.Result.ToLower().Equals("ok") || x.Result.ToLower().Equals("none")),
|
||||
NG = rows.Count(x => !(x.Result.ToLower().Equals("ok") || x.Result.ToLower().Equals("none"))),
|
||||
};
|
||||
|
||||
//calculate dim
|
||||
if (rows.FirstOrDefault().Dimension.ToLower() == "dez" || rows.FirstOrDefault().Dimension.ToLower() == "v" ||
|
||||
rows.FirstOrDefault().Dimension.ToLower() == "float" || rows.FirstOrDefault().Dimension.ToLower() == "int")
|
||||
{
|
||||
summary.Average = rows.Average(x => Convert.ToDouble(x.MeasuredValue)).ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (summary.Average == "0.0")
|
||||
summary.Average = string.Empty;
|
||||
}
|
||||
|
||||
testSummary.ParseTestSummary.Add(summary);
|
||||
}
|
||||
}
|
||||
|
||||
return testSummary;
|
||||
}
|
||||
|
||||
public static TestSummaryInformation GetTestSummaryInformation(this List<TestHistory> testHistories)
|
||||
{
|
||||
return new TestSummaryInformation
|
||||
{
|
||||
StartTime = (DateTime)testHistories.Min(x => x.TestDateTime),
|
||||
EndTime = (DateTime)testHistories.Max(x => x.TestDateTime),
|
||||
StationName = testHistories.GroupBy(x=>x.StationName)?.Count() > 1 ? string.Empty : testHistories.FirstOrDefault().StationName,
|
||||
HostID = testHistories.GroupBy(x => x.Host)?.Count() > 1 ? string.Empty : testHistories.FirstOrDefault().Host,
|
||||
SectionID = testHistories.GroupBy(x => x.Section)?.Count() > 1 ? string.Empty : testHistories.FirstOrDefault().Section,
|
||||
TestType = testHistories.FirstOrDefault().TestType,
|
||||
ProductNo = testHistories.FirstOrDefault().ProductNo,
|
||||
TestCode = testHistories.FirstOrDefault().TestCode,
|
||||
ParentNo = testHistories.FirstOrDefault().ParentNo,
|
||||
TestListFileNo = Convert.ToInt32(testHistories.FirstOrDefault().TestListFileNo),
|
||||
TestListVariantNo = Convert.ToInt32(testHistories.FirstOrDefault().TestListVariantNo),
|
||||
ProductionCode = testHistories.FirstOrDefault().FileCode,
|
||||
FileVersion = testHistories.FirstOrDefault().FileVersion,
|
||||
StepVersion = testHistories.FirstOrDefault().StepVersion,
|
||||
TestRequestsID = testHistories.FirstOrDefault().TestListReqID,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user