[성현모] 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

@ -1,4 +1,7 @@
using System;
using DataBaseConnection.Control;
using DevExpress.Pdf.Native.BouncyCastle.Ocsp;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
@ -6,16 +9,12 @@ using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SystemX.Common.Util;
using SystemX.Product.ALIS.Interface;
using SystemX.Product.CP.TRA;
using SystemX.Product.TRA.UIControl;
using static SystemX.Product.TRA.DataManager.DMOverview;
using static SystemX.Product.CP.TRA.Commons;
using DataBaseConnection.Control;
using Newtonsoft.Json;
using SystemX.Common.Util;
using static SystemX.Product.TRA.DataManager.DMOverview;
using CPXV2Log = SystemX.Net.Platform.SystemX.Net.XEFCore.DBContext.CPXV2Log;
namespace SystemX.Product.TRA.DataManager
@ -24,13 +23,13 @@ namespace SystemX.Product.TRA.DataManager
{
public enum eColHideListLog
{
No,
No,
//TestID
}
public enum eColTestLog
{
No,
No,
//TestID,
StepID,
MeasVal,
@ -107,14 +106,14 @@ namespace SystemX.Product.TRA.DataManager
TestSummarySelectView = eSelectDataView.DataDocumentViewC1;
ShortTermDBConn = getDBController.GetShortTermConn1();
LongTermDBConn = getDBController.GetLongTermConn1().First().Value;
LongTermDBConn = getDBController.GetLongTermConn1().Where(x => x.Key.Contains(dtStart.Year.ToString())).First().Value;
}
else if (SelectView == eSelectDataView.DataDocumentViewC2)
{
TestSummarySelectView = eSelectDataView.DataDocumentViewC2;
ShortTermDBConn = getDBController.GetShortTermConn2();
LongTermDBConn = getDBController.GetLongTermConn2().First().Value;
LongTermDBConn = getDBController.GetLongTermConn2().Where(x => x.Key.Contains(dtStart.Year.ToString())).First().Value;
}
}
@ -262,26 +261,26 @@ namespace SystemX.Product.TRA.DataManager
}
//PK 키 지정
DataColumn[] keys1 = new DataColumn[1];
keys1[0] = new DataColumn();
keys1[0] = dtResult.Columns["StepID"];
//DataColumn[] keys1 = new DataColumn[1];
//keys1[0] = new DataColumn();
//keys1[0] = dtResult.Columns["StepID"];
dtResult.PrimaryKey = keys1;
//dtResult.PrimaryKey = keys1;
return dtResult;
return dtHistVersionTL;
}
public DataTable RefineStepVersion(DataTable dtTestlist, SelectedDataCollection data)
{
var DuplicatedSteps = dtTestlist.AsEnumerable().GroupBy(x => x[eColTestlist.StepID.ToString()]).
Select(x => new { StepID = x.Key, Count = x.Count() }).Where(x => x.Count > 1);
foreach(var value in DuplicatedSteps)
foreach (var value in DuplicatedSteps)
{
List<DataRow> vdtRow = dtTestlist.AsEnumerable().Where(x => x[eColTestlist.StepID.ToString()].ToString() == value.StepID.ToString()).ToList();
DataRow vExcRow = vdtRow.Where(x => x[eColTestlist.StepVersion.ToString()].ToString() == data.StepVersion).FirstOrDefault();
if(vExcRow == null)
if (vExcRow == null)
{
int nMaxVer = vdtRow.Max(x => Convert.ToInt32(x[eColTestlist.StepVersion.ToString()]));
@ -310,7 +309,10 @@ namespace SystemX.Product.TRA.DataManager
}
catch (Exception e)
{
//start = DateTime
string requId = testReqID?.First();
int year = Convert.ToInt32(requId.Split(';', '@')[0].Substring(0, 4));
start = new DateTime(year, 1, 1);
}
//string strGetDataTime = testReqID?.First().Split(';')[0];
@ -329,17 +331,17 @@ namespace SystemX.Product.TRA.DataManager
{
ShortTermDBConn = GetDBController.GetShortTermConn1();
LongTermDBConn = GetDBController.GetLongTermConn1().First().Value;
LongTermDBConn = GetDBController.GetLongTermConn1().Where(x => x.Key.Contains(start.Year.ToString())).First().Value;
}
else if (TestSummarySelectView == eSelectDataView.DataDocumentViewC2)
{
ShortTermDBConn = GetDBController.GetShortTermConn2();
LongTermDBConn = GetDBController.GetLongTermConn2().First().Value;
LongTermDBConn = GetDBController.GetLongTermConn2().Where(x => x.Key.Contains(start.Year.ToString())).First().Value;
}
DataTable dtResult = new DataTable();
string strQuery = string.Empty;
string strQuery = string.Empty;
strQuery += $"SELECT * ";
strQuery += $"FROM {DMCommon.SummaryLogTable} AS X ";
@ -362,7 +364,7 @@ namespace SystemX.Product.TRA.DataManager
// strQuery += "OR ";
//}
strQuery += $";";
strQuery += $";";
if (DatabaseConnControl.ScanLongTermLog) SQLCmd = new SqlCommand(strQuery, LongTermDBConn);
else SQLCmd = new SqlCommand(strQuery, ShortTermDBConn);
@ -374,9 +376,9 @@ namespace SystemX.Product.TRA.DataManager
dtReader.Close();
List<CPXV2Log.Tables.HIST_TestResult> list = new List<CPXV2Log.Tables.HIST_TestResult>();
for (int i=0; i<dtResult.Rows.Count; i++)
for (int i = 0; i < dtResult.Rows.Count; i++)
{
list.AddRange(JsonConvert.DeserializeObject<List<CPXV2Log.Tables.HIST_TestResult>>(dtResult.Rows[i]["LogData"].ToString().GzipDecompress()));
list.AddRange(JsonConvert.DeserializeObject<List<CPXV2Log.Tables.HIST_TestResult>>(dtResult.Rows[i]["LogData"].ToString().GzipDecompress()));
}
/*
@ -390,7 +392,7 @@ namespace SystemX.Product.TRA.DataManager
strQuery += $"FROM [{DMCommon.SummaryLogTable}] AS X WITH(NOLOCK) ";
strQuery += $"INNER JOIN [{strTableTerm}] AS Y WITH(NOLOCK) ON (Y.AccessKey BETWEEN X.AccessStart AND X.AccessEnd) ";
*/
dtResult = list.GroupBy(x => x.StepID).Select(y => new
{
StepID = y.First().StepID,
@ -430,7 +432,7 @@ namespace SystemX.Product.TRA.DataManager
if (data == null)
return dtResult;
SQLCmd = new SqlCommand(strQuery, ShortTermDBConn);
SQLCmd.CommandTimeout = DMCommon.nDefaultScanTime;