[성현모] tra 날짜 오류 수정, tra recovery 온도그래프, 버전셀렉트, ok avg 기능 추가

This commit is contained in:
SHM
2026-01-21 15:29:06 +09:00
parent 1abf8c5536
commit 312a7a942f
18 changed files with 142238 additions and 149047 deletions

View File

@ -148,19 +148,28 @@ namespace SystemX.Product.TRA.UIControl
where drData[DMTestHistory.eColList.TestResult.ToString()].ToString() == "NG"
select drData).Count();
List<int> vnTestTime = (from drData in dtResult.AsEnumerable()
where drData[DMTestHistory.eColList.TestResult.ToString()].ToString() == "OK"
|| drData[DMTestHistory.eColList.TestResult.ToString()].ToString() == "NG"
let nTime = Convert.ToInt32(drData[DMTestHistory.eColList.Duration.ToString()].ToString())
select nTime).ToList();
where drData[DMTestHistory.eColList.TestResult.ToString()].ToString() == "OK"
|| drData[DMTestHistory.eColList.TestResult.ToString()].ToString() == "NG"
let nTime = Convert.ToInt32(drData[DMTestHistory.eColList.Duration.ToString()].ToString())
select nTime).ToList();
double dRatio = (((double)(nOKTestCount * 100)) / (nOKTestCount + nNGTestCount));
labelControlTestResult.Text = $"{nOKTestCount + nNGTestCount} (OK: {nOKTestCount}/NG: {nNGTestCount}) - Ratio: {dRatio.ToString(".##")}%";
labelControlTestTime.Text = vnTestTime.Count > 0 ?
$"Average = {(vnTestTime.Average()/1000).ToString(".##")}s, Min = {(((double)vnTestTime.Min()) / 1000).ToString(".##")}s, Max = {(((double)vnTestTime.Max()) / 1000).ToString(".##")}s" :
//total
labelControlTestTime.Text = vnTestTime.Count > 0 ?
$"Average = {(vnTestTime.Average() / 1000).ToString(".##")}s, Min = {(((double)vnTestTime.Min()) / 1000).ToString(".##")}s, Max = {(((double)vnTestTime.Max()) / 1000).ToString(".##")}s" :
$"Average = -, Min = -, Max = -";
//ok
List<int> vnOKTestTime = (from drData in dtResult.AsEnumerable()
where drData[DMTestHistory.eColList.TestResult.ToString()].ToString() == "OK"
let nTime = Convert.ToInt32(drData[DMTestHistory.eColList.Duration.ToString()].ToString())
select nTime).ToList();
labelControlOKTestTime.Text = vnOKTestTime.Count > 0 ?
$"Average = {(vnOKTestTime.Average() / 1000).ToString(".##")}s, Min = {(((double)vnOKTestTime.Min()) / 1000).ToString(".##")}s, Max = {(((double)vnOKTestTime.Max()) / 1000).ToString(".##")}s" :
$"Average = -, Min = -, Max = -";
}
void DisplayResultTable(DataTable dtResult)
@ -209,7 +218,7 @@ namespace SystemX.Product.TRA.UIControl
gridViewMain.EndUpdate();
gridViewMain.ActiveFilterString = GridViewGetActiveFilterText;
}
public DetailTestDataCollection GetSearchInfo(DataRow dtRow)
@ -218,8 +227,8 @@ namespace SystemX.Product.TRA.UIControl
//drDetail.TestID = dtRow[DMTestHistory.eColList.TestID.ToString()].ToString();
drDetail.No = Convert.ToInt64(dtRow[DMTestHistory.eColList.No.ToString()]);
drDetail.StartTime = DateTime.Parse(dtRow[DMTestHistory.eColList.TestDateTime.ToString()].ToString());
drDetail.Duration = Convert.ToInt64(dtRow[DMTestHistory.eColList.Duration.ToString()]);
drDetail.StartTime = DateTime.Parse(dtRow[DMTestHistory.eColList.TestDateTime.ToString()].ToString());
drDetail.Duration = Convert.ToInt64(dtRow[DMTestHistory.eColList.Duration.ToString()]);
drDetail.StationName = dtRow[DMTestHistory.eColList.StationName.ToString()].ToString();
drDetail.HostID = dtRow[DMTestHistory.eColList.Host.ToString()].ToString();
drDetail.SectionID = dtRow[DMTestHistory.eColList.Section.ToString()].ToString();
@ -259,7 +268,7 @@ namespace SystemX.Product.TRA.UIControl
private void SetDetailDataView()
{
if(nCurrentRowSelected != int.MaxValue)
if (nCurrentRowSelected != int.MaxValue)
{
var dvRow = gridViewMain.GetRow(nCurrentRowSelected);
DataRow dtRow = (dvRow as DataRowView).Row;
@ -308,7 +317,7 @@ namespace SystemX.Product.TRA.UIControl
List<DetailTestDataCollection> vDetailData = new List<DetailTestDataCollection>();
GridView view = gridViewMain as GridView;
for(int i=0; i<view.RowCount; i++)
for (int i = 0; i < view.RowCount; i++)
{
DataRow dtRow = (view.GetRow(i) as DataRowView).Row;
DetailTestDataCollection dtContent = GetSearchInfo(dtRow);
@ -318,7 +327,7 @@ namespace SystemX.Product.TRA.UIControl
return vDetailData;
}
public string CreateExportFileName()
{
string strFileName = $"{this.ContentsType.ToString()}_{SelectedData.ProductNo}_{SelectedData.TestCode}_{SelectedData.StationName}";
@ -345,7 +354,7 @@ namespace SystemX.Product.TRA.UIControl
option.ExportMode = XlsxExportMode.SingleFile;
option.SheetName = "Test History";
gridControlMain.ExportToXlsx(strFile, option);
}
}
@ -363,7 +372,7 @@ namespace SystemX.Product.TRA.UIControl
{
e.Merge = false;
e.Handled = true;
}
}
}
private void gridViewMain_RowStyle(object sender, RowStyleEventArgs e)
@ -376,5 +385,10 @@ namespace SystemX.Product.TRA.UIControl
e.HighPriority = true;
}
}
private void groupControl1_Paint(object sender, PaintEventArgs e)
{
}
}
}