[성현모] Grid 성능 개선
This commit is contained in:
@ -28,7 +28,6 @@ public static class ObjectExtend
|
||||
Total = data.GroupBy(x => (x.Summary.TestListCntID, x.Summary.TestDT.Date)).Last().Count(),
|
||||
OK = data.GroupBy(x => (x.Summary.TestListCntID, x.Summary.TestDT.Date)).Last().Count(y => y.Summary.Result.ToLower().Equals("ok")),
|
||||
NG = data.GroupBy(x => (x.Summary.TestListCntID, x.Summary.TestDT.Date)).Last().Count(y => !y.Summary.Result.ToLower().Equals("ok")),
|
||||
RN = 0,
|
||||
TestListCntID = data.Last().Summary.TestListCntID
|
||||
};
|
||||
}
|
||||
@ -52,8 +51,7 @@ public static class ObjectExtend
|
||||
FinalTestTime = data.Max(y => y.Summary.TestDT).ToString("HH:mm:ss"),
|
||||
Total = data.Count(),
|
||||
OK = data.Count(y => y.Summary.Result.ToLower().Equals("ok")),
|
||||
NG = data.Count(y => !y.Summary.Result.ToLower().Equals("ok")),
|
||||
RN = 0
|
||||
NG = data.Count(y => !y.Summary.Result.ToLower().Equals("ok")),
|
||||
};
|
||||
}
|
||||
|
||||
@ -67,7 +65,6 @@ public static class ObjectExtend
|
||||
return new TestHistory
|
||||
{
|
||||
No = data.Summary.No,
|
||||
TestDate = data.Summary.TestDT,
|
||||
TestDateTime = data.Summary.TestDT,
|
||||
StationName = data.Summary.StationName,
|
||||
Host = data.Summary.HostID,
|
||||
@ -79,29 +76,87 @@ public static class ObjectExtend
|
||||
ParentNo = data.Summary.ProdNo_P,
|
||||
FileCode = data.Summary.ProdCode,
|
||||
FileVersion = data.Summary.Version,
|
||||
StepVersion = data.Summary.StepVersion,
|
||||
StepVersion = Convert.ToInt32(data.Summary.StepVersion),
|
||||
Duration = data.Summary.Duration,
|
||||
TestResult = data.Summary.Result,
|
||||
TestListCntID = data.Summary.TestListCntID,
|
||||
TestListReqID = data.Summary.TestListCntID
|
||||
};
|
||||
}
|
||||
|
||||
public static List<DecompressTestResult> ToTestResult(this HIST_TestResult histTestResult)
|
||||
public static TestResult ToTestResult(this HIST_TestResult histTestResult, TestList testList = null)
|
||||
{
|
||||
TestResult testResult = new TestResult();
|
||||
testResult.TestList = testList;
|
||||
|
||||
//decompress
|
||||
var decompStr = histTestResult?.LogData.GzipDecompress();
|
||||
var logData = JsonConvert.DeserializeObject<List<DecompressTestResult>>(decompStr);
|
||||
|
||||
foreach (var log in logData)
|
||||
{
|
||||
if (string.IsNullOrEmpty(log.Message) == false)
|
||||
log.MesauredValue = log.Message;
|
||||
else if (string.IsNullOrEmpty(log.MeasValStr) == false)
|
||||
log.MesauredValue = log.MeasValStr;
|
||||
else
|
||||
log.MesauredValue = log.MeasVal.ToString();
|
||||
}
|
||||
testResult.DecompressTestResult = logData;
|
||||
|
||||
return logData;
|
||||
//parse
|
||||
var parse = logData.Select(x=>x.ParseTestResult(testList)).Where(x=> x is not null && string.IsNullOrEmpty(x.MeasuredValue) == false).ToList();
|
||||
testResult.ParseTestResult = parse;
|
||||
|
||||
return testResult;
|
||||
}
|
||||
|
||||
public 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)
|
||||
{
|
||||
var parseTestResult = new ParseTestResult
|
||||
{
|
||||
StepNo = logData.StepID,
|
||||
Position = (long)selectData?.Position,
|
||||
Variant = selectData?.Variant,
|
||||
Gate = selectData?.Gate,
|
||||
MO = selectData?.StepDesc,
|
||||
Function = selectData?.UseFunction,
|
||||
Min = logData?.GlobalMin,
|
||||
MeasuredValue = logData.MeasuredValue,
|
||||
Max = logData.GlobalMax,
|
||||
Dimension = selectData?.Dim,
|
||||
Result = logData.Result,
|
||||
Duration = logData.SpentTime
|
||||
};
|
||||
|
||||
//min,max
|
||||
if (selectData.IsGlobal == true)
|
||||
{
|
||||
parseTestResult.Min = logData.GlobalMin;
|
||||
parseTestResult.Max = logData.GlobalMax;
|
||||
}
|
||||
else
|
||||
{
|
||||
parseTestResult.Min = selectData.SpecMin;
|
||||
parseTestResult.Max = selectData.SpecMax;
|
||||
}
|
||||
|
||||
//meas val
|
||||
if (string.IsNullOrEmpty(logData.Message) == false)
|
||||
{
|
||||
parseTestResult.MeasuredValue = logData.Message;
|
||||
}
|
||||
else if (string.IsNullOrEmpty(logData.MeasValStr) == false)
|
||||
{
|
||||
parseTestResult.MeasuredValue = logData.MeasValStr;
|
||||
}
|
||||
else if (string.IsNullOrEmpty(parseTestResult.Min) == true &&
|
||||
string.IsNullOrEmpty(parseTestResult.Max) == true &&
|
||||
logData.MeasVal == 0)
|
||||
{
|
||||
parseTestResult.MeasuredValue = logData.MeasVal.ToString("F1");
|
||||
}
|
||||
else
|
||||
{
|
||||
parseTestResult.MeasuredValue = logData.MeasVal.ToString();
|
||||
}
|
||||
|
||||
return parseTestResult;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user