[성현모] Summary 추가, GridFilter 컨피그 분리

This commit is contained in:
SHM
2025-09-19 14:40:06 +09:00
parent ab9bfdfc18
commit 0ff010019d
17 changed files with 428 additions and 115 deletions

View File

@ -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,
};
}
}