[성현모] JsonConvertTool 추가, 서머리 수량 버그수정
This commit is contained in:
@ -1028,7 +1028,7 @@ namespace SystemX.Product.ALIS.UI.View.InfoList
|
||||
$"Y.ModelName, " +
|
||||
//$"Y.Comment AS 'Model-Comment', " +
|
||||
$"X.Comment, " +
|
||||
$"X.Description, " +
|
||||
$"I.Description, " +
|
||||
$"X.UseTLPosition AS 'Test-List Position', " +
|
||||
$"K.LatestStepVersion AS 'Step Version' " +
|
||||
$"FROM PROD_Variant AS X " +
|
||||
@ -1157,7 +1157,7 @@ namespace SystemX.Product.ALIS.UI.View.InfoList
|
||||
$"Y.ModelName, " +
|
||||
//$"Y.Comment AS 'Model-Comment', " +
|
||||
$"X.Comment, " +
|
||||
$"X.Description, " +
|
||||
$"I.Description, " +
|
||||
$"X.UseTLPosition AS 'Test-List Position', " +
|
||||
$"Z.LatestStepVersion AS 'Step Version' " +
|
||||
//$"X.TestListData " +
|
||||
|
||||
@ -208,7 +208,7 @@ namespace SystemX.Product.ALIS.UI.View.InfoList
|
||||
CheckTestListInfo(dtTestList);
|
||||
*/
|
||||
|
||||
DataTable dtTestList = ctrlDB.GetTable($"SELECT X.No, X.ProdNo_P, Y.TestType, Y.Version, Y.ProdCode, Y.FileName, X.Comment, X.Description FROM [PROD_Variant] AS X WITH(NOLOCK) " +
|
||||
DataTable dtTestList = ctrlDB.GetTable($"SELECT X.No, X.ProdNo_P, Y.TestType, Y.Version, Y.ProdCode, Y.FileName, X.Comment, Y.Description FROM [PROD_Variant] AS X WITH(NOLOCK) " +
|
||||
$"INNER JOIN [STOR_TestListFile] AS Y WITH(NOLOCK) ON X.TestListFileNo = Y.No " +
|
||||
$"WHERE X.No = " + lstCopyTestListRelease[0].VariantNo + " ORDER BY No ASC;");
|
||||
|
||||
@ -662,7 +662,7 @@ namespace SystemX.Product.ALIS.UI.View.InfoList
|
||||
CheckTestListInfo(dtTestList);
|
||||
*/
|
||||
|
||||
DataTable dtTestList = ctrlDB.GetTable($"SELECT X.No, X.ProdNo_P, Y.TestType, Y.Version, Y.ProdCode, Y.FileName, X.Comment, X.Description FROM [PROD_Variant] AS X WITH(NOLOCK) " +
|
||||
DataTable dtTestList = ctrlDB.GetTable($"SELECT X.No, X.ProdNo_P, Y.TestType, Y.Version, Y.ProdCode, Y.FileName, X.Comment, Y.Description FROM [PROD_Variant] AS X WITH(NOLOCK) " +
|
||||
$"INNER JOIN [STOR_TestListFile] AS Y WITH(NOLOCK) ON X.TestListFileNo = Y.No " +
|
||||
$"WHERE X.No = " + lstCopyTestListRelease[0].VariantNo + " ORDER BY No ASC;");
|
||||
|
||||
@ -703,7 +703,7 @@ namespace SystemX.Product.ALIS.UI.View.InfoList
|
||||
"WHERE ProdNo_P = '" + textBoxPProdNoInput.Text + "' ";
|
||||
*/
|
||||
|
||||
string strSetQueryText = $"SELECT X.No, X.ProdNo_P, Y.TestType, Y.Version, Y.ProdCode, Y.FileName, X.Comment, X.Description FROM [PROD_Variant] AS X WITH(NOLOCK) " +
|
||||
string strSetQueryText = $"SELECT X.No, X.ProdNo_P, Y.TestType, Y.Version, Y.ProdCode, Y.FileName, X.Comment, Y.Description FROM [PROD_Variant] AS X WITH(NOLOCK) " +
|
||||
$"INNER JOIN [STOR_TestListFile] AS Y WITH(NOLOCK) ON X.TestListFileNo = Y.No " +
|
||||
$"WHERE X.ProdNo_P = '" + textBoxPProdNoInput.Text + "' ";
|
||||
|
||||
|
||||
@ -215,7 +215,7 @@ namespace SystemX.Product.ALIS.UI.View.InfoList
|
||||
|
||||
CheckTestCodeInfo(dtTestCode);
|
||||
|
||||
DataTable dtTestList = ctrlDB.GetTable($"SELECT X.No, X.ProdNo_P, Y.TestType, Y.Version, Y.ProdCode, Y.FileName, X.Comment, X.Description FROM [PROD_Variant] AS X WITH(NOLOCK) " +
|
||||
DataTable dtTestList = ctrlDB.GetTable($"SELECT X.No, X.ProdNo_P, Y.TestType, Y.Version, Y.ProdCode, Y.FileName, X.Comment, Y.Description FROM [PROD_Variant] AS X WITH(NOLOCK) " +
|
||||
$"INNER JOIN [STOR_TestListFile] AS Y WITH(NOLOCK) ON X.TestListFileNo = Y.No " +
|
||||
$"WHERE X.No = " + getSelTestListRelInfo.VariantNo + " ORDER BY No ASC;");
|
||||
|
||||
@ -396,7 +396,7 @@ namespace SystemX.Product.ALIS.UI.View.InfoList
|
||||
textBoxDispTestListComment.Text = "";
|
||||
textBoxDispTestListDescription.Text = "";
|
||||
|
||||
string strSetQueryText = $"SELECT X.No, X.ProdNo_P, Y.TestType, Y.Version, Y.ProdCode, Y.FileName, X.Comment, X.Description FROM [PROD_Variant] AS X WITH(NOLOCK) " +
|
||||
string strSetQueryText = $"SELECT X.No, X.ProdNo_P, Y.TestType, Y.Version, Y.ProdCode, Y.FileName, X.Comment, Y.Description FROM [PROD_Variant] AS X WITH(NOLOCK) " +
|
||||
$"INNER JOIN [STOR_TestListFile] AS Y WITH(NOLOCK) ON X.TestListFileNo = Y.No " +
|
||||
$"WHERE X.ProdNo_P = '" + textBoxPProdNoInput.Text + "' ";
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ namespace SystemX.Product.TRA.UIControl
|
||||
NgHistory,
|
||||
ProductHistory,
|
||||
TestResult,
|
||||
TestSummary,
|
||||
TestSumamry,
|
||||
TestTrend
|
||||
}
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.9.34728.123
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.33027.164
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{18C1E9B6-823D-49DB-8253-ED32EEA21DB1}"
|
||||
EndProject
|
||||
@ -12,8 +12,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SystemX.Product.CP.TRA", "S
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SystemX.Product.CP.TRA.BaseView", "SystemX.Product.CP.TRA.BaseView\SystemX.Product.CP.TRA.BaseView.csproj", "{910BB092-A5F3-4ACE-BBF8-C19434F1FA8E}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JsonConvertTool", "JsonConvertTool\JsonConvertTool.csproj", "{7D1035C0-4E6B-493B-B11A-7D7CF8B082FD}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@ -38,20 +36,12 @@ Global
|
||||
{910BB092-A5F3-4ACE-BBF8-C19434F1FA8E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{910BB092-A5F3-4ACE-BBF8-C19434F1FA8E}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{910BB092-A5F3-4ACE-BBF8-C19434F1FA8E}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7D1035C0-4E6B-493B-B11A-7D7CF8B082FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7D1035C0-4E6B-493B-B11A-7D7CF8B082FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7D1035C0-4E6B-493B-B11A-7D7CF8B082FD}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7D1035C0-4E6B-493B-B11A-7D7CF8B082FD}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7D1035C0-4E6B-493B-B11A-7D7CF8B082FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7D1035C0-4E6B-493B-B11A-7D7CF8B082FD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7D1035C0-4E6B-493B-B11A-7D7CF8B082FD}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7D1035C0-4E6B-493B-B11A-7D7CF8B082FD}.Release|x64.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
VisualSVNWorkingCopyRoot = .
|
||||
SolutionGuid = {34BF09E0-D510-452D-8E8B-B0D1C6FE25BF}
|
||||
VisualSVNWorkingCopyRoot = .
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
@ -136,14 +136,14 @@ namespace DataBaseConnection.Control
|
||||
if(list?.Count > 0)
|
||||
{
|
||||
//short term
|
||||
var shortTermCatalogName = list.Find(x => x.ToLower().Contains("short") && x.ToLower().Contains("json"));
|
||||
var shortTermCatalogName = list.Find(x => x.ToLower().Contains("short"));
|
||||
if(string.IsNullOrEmpty(shortTermCatalogName) ==false)
|
||||
{
|
||||
ShortTermCatalogName = shortTermCatalogName;
|
||||
}
|
||||
|
||||
//long term
|
||||
var longTermCatalogName = list.FindAll(x => x.ToLower().Contains("long") && x.ToLower().Contains("json"));
|
||||
var longTermCatalogName = list.FindAll(x => x.ToLower().Contains("long"));
|
||||
if(longTermCatalogName?.Count() > 0)
|
||||
{
|
||||
LongTermCatalogName?.Clear();
|
||||
@ -165,8 +165,6 @@ namespace DataBaseConnection.Control
|
||||
{
|
||||
try
|
||||
{
|
||||
SqlConnection connecction;
|
||||
|
||||
connShortTerm1 = new SqlConnection($"Data Source=localhost; Initial Catalog={ShortTermCatalogName}; Integrated Security = SSPI; MultipleActiveResultSets=True;"); // MultipleActiveResultSets=True;");
|
||||
connShortTerm1.Open();
|
||||
|
||||
@ -174,7 +172,7 @@ namespace DataBaseConnection.Control
|
||||
{
|
||||
connLongTerm1.Add(catalog, new SqlConnection($"Data Source=localhost; Initial Catalog={catalog}; Integrated Security = SSPI; MultipleActiveResultSets=True;")); // MultipleActiveResultSets=True;");
|
||||
|
||||
if (connLongTerm1.TryGetValue(catalog, out connecction) == true)
|
||||
if (connLongTerm1.TryGetValue(catalog, out var connecction) == true)
|
||||
{
|
||||
connecction.Open();
|
||||
}
|
||||
@ -193,8 +191,6 @@ namespace DataBaseConnection.Control
|
||||
{
|
||||
try
|
||||
{
|
||||
SqlConnection connecction;
|
||||
|
||||
connShortTerm2 = new SqlConnection($"Data Source=localhost; Initial Catalog={ShortTermCatalogName}; Integrated Security = SSPI; MultipleActiveResultSets=True;"); // MultipleActiveResultSets=True;");
|
||||
connShortTerm2.Open();
|
||||
|
||||
@ -202,7 +198,7 @@ namespace DataBaseConnection.Control
|
||||
{
|
||||
connLongTerm2.Add(catalog, new SqlConnection($"Data Source=localhost; Initial Catalog={catalog}; Integrated Security = SSPI; MultipleActiveResultSets=True;")); // MultipleActiveResultSets=True;");
|
||||
|
||||
if (connLongTerm2.TryGetValue(catalog, out connecction) == true)
|
||||
if (connLongTerm2.TryGetValue(catalog, out var connecction) == true)
|
||||
{
|
||||
connecction.Open();
|
||||
}
|
||||
|
||||
@ -186,6 +186,7 @@ namespace SystemX.Product.TRA.DataManager
|
||||
else
|
||||
{
|
||||
strQuery += $"ROW_NUMBER() OVER(PARTITION BY {DMCommon.SummaryLogTable}.[ProdNo_C], {DMCommon.SummaryLogTable}.[ProdNo_P] ORDER BY CONVERT(CHAR(23), MAX({DMCommon.SummaryLogTable}.[TestDT]), 121) DESC) AS RN ";
|
||||
//strQuery += $"ROW_NUMBER() OVER(PARTITION BY {DMCommon.SummaryLogTable}.[ProdNo_C], {DMCommon.SummaryLogTable}.[Testcode] ORDER BY CONVERT(CHAR(23), MAX({DMCommon.SummaryLogTable}.[TestDT]), 121) DESC) AS RN ";
|
||||
}
|
||||
|
||||
strQuery += $"FROM {DMCommon.SummaryLogTable} ";
|
||||
@ -316,11 +317,14 @@ namespace SystemX.Product.TRA.DataManager
|
||||
strQuery += $"COUNT(CASE WHEN {DMCommon.SummaryLogTable}.[Result] != 'OK' THEN 1 END) AS {eColList.NG.ToString()},";
|
||||
|
||||
strQuery += $"ROW_NUMBER() OVER(PARTITION BY {DMCommon.SummaryLogTable}.[ProdNo_C], {DMCommon.SummaryLogTable}.[ProdNo_P] ORDER BY CONVERT(CHAR(23), MAX({DMCommon.SummaryLogTable}.[TestDT]), 121) DESC) AS RN,";
|
||||
//strQuery += $"ROW_NUMBER() OVER(PARTITION BY {DMCommon.SummaryLogTable}.[ProdNo_C], {DMCommon.SummaryLogTable}.[Testcode] ORDER BY CONVERT(CHAR(23), MAX({DMCommon.SummaryLogTable}.[TestDT]), 121) DESC) AS RN,";
|
||||
//strQuery += $"ROW_NUMBER() OVER(PARTITION BY {DMCommon.SummaryLogTable}.[ProdNo_C] ORDER BY CONVERT(CHAR(23), MAX({DMCommon.SummaryLogTable}.[TestDT]), 121) DESC) AS RN,";
|
||||
|
||||
strQuery += $"{DMCommon.SummaryLogTable}.[TestListCntID] ";
|
||||
|
||||
strQuery += $"FROM {DMCommon.SummaryLogTable} ";
|
||||
strQuery += $"WITH(NOLOCK) ";
|
||||
//strQuery += $"LEFT JOIN [CPXV2].[dbo].[PROD_Variant] AS X WITH(NOLOCK) ON X.No = CONVERT(NVARCHAR, {DMCommon.SummaryLogTable}.[TestListVariantNo]) ";
|
||||
|
||||
switch (GetSelectInfo)
|
||||
{
|
||||
|
||||
@ -210,7 +210,9 @@ namespace SystemX.Product.TRA.DataManager
|
||||
}
|
||||
else
|
||||
{
|
||||
//strQuery += $"ROW_NUMBER() OVER(PARTITION BY {DMCommon.SummaryLogTable}.[ProdNo_C], {DMCommon.SummaryLogTable}.[ProdNo_P] ORDER BY CONVERT(CHAR(23), MAX({DMCommon.SummaryLogTable}.[TestDT]), 121) DESC) AS RN,";
|
||||
strQuery += $"ROW_NUMBER() OVER(PARTITION BY {DMCommon.SummaryLogTable}.[ProdNo_C], {DMCommon.SummaryLogTable}.[Testcode] ORDER BY CONVERT(CHAR(23), MAX({DMCommon.SummaryLogTable}.[TestDT]), 121) DESC) AS RN,";
|
||||
//strQuery += $"ROW_NUMBER() OVER(PARTITION BY {DMCommon.SummaryLogTable}.[ProdNo_C] ORDER BY CONVERT(CHAR(23), MAX({DMCommon.SummaryLogTable}.[TestDT]), 121) DESC) AS RN,";
|
||||
|
||||
strQuery = strQuery.Remove(strQuery.Length - 1, 1);
|
||||
}
|
||||
@ -229,8 +231,8 @@ namespace SystemX.Product.TRA.DataManager
|
||||
strQuery += $"LEFT JOIN [CPXV2].[dbo].[PROD_Group] AS Y WITH(NOLOCK) ON Y.No = X.GroupNo ";
|
||||
break;
|
||||
case eOverviewModelNameInfo.P1:
|
||||
strQuery += $"LEFT JOIN [P1].[CPXV2].[dbo].[PROD_Variant] AS X WITH(NOLOCK) ON X.No = {DMCommon.SummaryLogTable}.[TestListVariantNo] ";
|
||||
strQuery += $"LEFT JOIN [P1].[CPXV2].[dbo].[PROD_Group] AS Y WITH(NOLOCK) ON Y.No = X.GroupNo ";
|
||||
strQuery += $"LEFT JOIN [CPXV2].[dbo].[PROD_Variant] AS X WITH(NOLOCK) ON X.No = {DMCommon.SummaryLogTable}.[TestListVariantNo] ";
|
||||
strQuery += $"LEFT JOIN [CPXV2].[dbo].[PROD_Group] AS Y WITH(NOLOCK) ON Y.No = X.GroupNo ";
|
||||
break;
|
||||
case eOverviewModelNameInfo.P2:
|
||||
strQuery += $"LEFT JOIN [P2].[CPXV2].[dbo].[PROD_Variant] AS X WITH(NOLOCK) ON X.No = {DMCommon.SummaryLogTable}.[TestListVariantNo] ";
|
||||
|
||||
@ -49,7 +49,7 @@ namespace SystemX.Product.TRA.DataManager
|
||||
}
|
||||
}
|
||||
|
||||
public DataTable SearchTestResult(DateTime dtTest, ulong nAccNo)
|
||||
public DataTable SearchTestResult(DateTime dtTest)
|
||||
{
|
||||
if (TrendSelectView == eSelectDataView.DataDocumentViewC1)
|
||||
{
|
||||
@ -82,10 +82,8 @@ namespace SystemX.Product.TRA.DataManager
|
||||
strQuery += " ";
|
||||
strQuery += $"from {DMCommon.ResultLogTable} ";
|
||||
strQuery += $"WITH(NOLOCK) ";
|
||||
strQuery += $"where [No] = {nAccNo}";
|
||||
strQuery += " ";
|
||||
//strQuery += $"order by ";
|
||||
//strQuery += $"[No]";
|
||||
strQuery += $"order by ";
|
||||
strQuery += $"[No]";
|
||||
strQuery += ";";
|
||||
|
||||
if (DatabaseConnControl.ScanLongTermLog) SQLCmd = new SqlCommand(strQuery, LongTermDBConn);
|
||||
|
||||
@ -299,17 +299,19 @@ namespace SystemX.Product.TRA.DataManager
|
||||
|
||||
public DataTable SearchTestSummary(string[] testReqID, List<Int64> vnpSummaryNo)
|
||||
{
|
||||
string strGetDataTime = testReqID?.First().Split('@',';')[0];
|
||||
|
||||
int nGetDataTimeYYYY = Convert.ToInt32(strGetDataTime.Substring(0, 4));
|
||||
int nGetDataTimemm = Convert.ToInt32(strGetDataTime.Substring(4, 2));
|
||||
int nGetDataTimeDD = Convert.ToInt32(strGetDataTime.Substring(6, 2));
|
||||
int nGetDataTimeHH = Convert.ToInt32(strGetDataTime.Substring(8, 2));
|
||||
int nGetDataTimeMM = Convert.ToInt32(strGetDataTime.Substring(10, 2));
|
||||
int nGetDataTimeSS = Convert.ToInt32(strGetDataTime.Substring(12, 2));
|
||||
int nGetDataTimeFFF = Convert.ToInt32(strGetDataTime.Substring(14, 3));
|
||||
|
||||
DateTime start = new DateTime(nGetDataTimeYYYY, nGetDataTimemm, nGetDataTimeDD, nGetDataTimeHH, nGetDataTimeMM, nGetDataTimeSS, nGetDataTimeFFF);//Convert.ToDateTime(testReqID?.First().Split('@')[0]);
|
||||
DateTime start = DateTime.Now;
|
||||
try
|
||||
{
|
||||
string requId = testReqID?.First();
|
||||
if (string.IsNullOrEmpty(requId) == false && requId.Contains(";") == true || requId.Contains("@") == true)
|
||||
{
|
||||
start = Convert.ToDateTime(requId.Split(';','@')[0]);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
//start = DateTime
|
||||
}
|
||||
|
||||
if (TestSummarySelectView == eSelectDataView.DataDocumentViewC1)
|
||||
{
|
||||
@ -365,48 +367,24 @@ namespace SystemX.Product.TRA.DataManager
|
||||
list.AddRange(JsonConvert.DeserializeObject<List<CPXV2Log.Tables.HIST_TestResult>>(dtResult.Rows[i]["LogData"].ToString().GzipDecompress()));
|
||||
}
|
||||
|
||||
/*
|
||||
strQuery += $"SELECT ";
|
||||
strQuery += $"Y.[StepID], ";
|
||||
strQuery += $"AVG(CASE WHEN (Y.[MeasValStr] = NULL OR Y.[MeasValStr] = '') AND (Y.[Message] = NULL OR Y.[Message] = '') AND (Y.[MeasVal] != 0.00000 AND Y.[Result] != 'NONE') THEN Y.[MeasVal] ELSE NULL END) AS Average, ";
|
||||
strQuery += $"COUNT(Y.[Result]) AS Total, ";
|
||||
strQuery += $"COUNT(CASE WHEN Y.[Result] = 'OK' THEN 1 END) AS OK, ";
|
||||
strQuery += $"COUNT(CASE WHEN Y.[Result] = 'NG' OR X.[Result] = 'ERROR' THEN 1 END) AS NG ";
|
||||
strQuery += $" ";
|
||||
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,
|
||||
Average = GetAvg(y.ToList()),
|
||||
Average = GetAvg(y.Average(z => z.MeasVal)),
|
||||
Total = y.Count(),
|
||||
OK = y.Count(z => z.Result.Contains("OK")),
|
||||
NG = y.Count(z => !z.Result.Contains("OK"))
|
||||
}).OrderBy(y => y.StepID).ToDataTable();
|
||||
OK = y.Count(z => !z.Result.Contains("NG") && !z.Result.Contains("ERROR")),
|
||||
NG = y.Count() - y.Count(z => !z.Result.Contains("NG") && !z.Result.Contains("ERROR"))
|
||||
}).OrderBy(y=>y.StepID).ToDataTable();
|
||||
|
||||
return dtResult;
|
||||
}
|
||||
|
||||
string GetAvg(List<CPXV2Log.Tables.HIST_TestResult> res)
|
||||
string GetAvg(decimal avg)
|
||||
{
|
||||
CPXV2Log.Tables.HIST_TestResult value = res.First();
|
||||
|
||||
if (string.IsNullOrEmpty(value.MeasValStr) &&
|
||||
string.IsNullOrEmpty(value.Message) &&
|
||||
((value.MeasVal != 0) &&
|
||||
string.Compare(value.Result, "NONE") != 0))
|
||||
return res.Average(x => x.MeasVal).ToString();
|
||||
|
||||
string strDefaultValue = string.Empty;
|
||||
|
||||
if (string.IsNullOrEmpty(value.MeasValStr) == false)
|
||||
strDefaultValue = value.MeasValStr;
|
||||
else if (string.IsNullOrEmpty(value.Message) == false)
|
||||
strDefaultValue = value.Message;
|
||||
|
||||
return strDefaultValue;
|
||||
if (avg > 0)
|
||||
return avg.ToString();
|
||||
else
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
DataTable GetRawResult(DetailTestDataCollection data)
|
||||
|
||||
172
CPXV2 TRA V2/SystemX.Product.CP.TRA/MainForm.Designer.cs
generated
172
CPXV2 TRA V2/SystemX.Product.CP.TRA/MainForm.Designer.cs
generated
@ -30,27 +30,27 @@
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
|
||||
DevExpress.Skins.SkinPaddingEdges skinPaddingEdges1 = new DevExpress.Skins.SkinPaddingEdges();
|
||||
DevExpress.XtraBars.Ribbon.GalleryItemGroup galleryItemGroup1 = new DevExpress.XtraBars.Ribbon.GalleryItemGroup();
|
||||
DevExpress.XtraBars.Ribbon.GalleryItem galleryItem1 = new DevExpress.XtraBars.Ribbon.GalleryItem();
|
||||
DevExpress.Utils.SuperToolTip superToolTip1 = new DevExpress.Utils.SuperToolTip();
|
||||
DevExpress.Utils.ToolTipItem toolTipItem1 = new DevExpress.Utils.ToolTipItem();
|
||||
DevExpress.XtraBars.Ribbon.GalleryItem galleryItem2 = new DevExpress.XtraBars.Ribbon.GalleryItem();
|
||||
DevExpress.Utils.SuperToolTip superToolTip2 = new DevExpress.Utils.SuperToolTip();
|
||||
DevExpress.Utils.ToolTipItem toolTipItem2 = new DevExpress.Utils.ToolTipItem();
|
||||
DevExpress.XtraBars.Ribbon.GalleryItem galleryItem3 = new DevExpress.XtraBars.Ribbon.GalleryItem();
|
||||
DevExpress.Utils.SuperToolTip superToolTip3 = new DevExpress.Utils.SuperToolTip();
|
||||
DevExpress.Utils.ToolTipItem toolTipItem3 = new DevExpress.Utils.ToolTipItem();
|
||||
DevExpress.XtraBars.Ribbon.GalleryItem galleryItem4 = new DevExpress.XtraBars.Ribbon.GalleryItem();
|
||||
DevExpress.Utils.SuperToolTip superToolTip4 = new DevExpress.Utils.SuperToolTip();
|
||||
DevExpress.Utils.ToolTipItem toolTipItem4 = new DevExpress.Utils.ToolTipItem();
|
||||
DevExpress.XtraBars.Ribbon.GalleryItem galleryItem5 = new DevExpress.XtraBars.Ribbon.GalleryItem();
|
||||
DevExpress.Utils.SuperToolTip superToolTip5 = new DevExpress.Utils.SuperToolTip();
|
||||
DevExpress.Utils.ToolTipItem toolTipItem5 = new DevExpress.Utils.ToolTipItem();
|
||||
DevExpress.XtraBars.Ribbon.GalleryItem galleryItem6 = new DevExpress.XtraBars.Ribbon.GalleryItem();
|
||||
DevExpress.Utils.SuperToolTip superToolTip6 = new DevExpress.Utils.SuperToolTip();
|
||||
DevExpress.Utils.ToolTipItem toolTipItem6 = new DevExpress.Utils.ToolTipItem();
|
||||
DevExpress.Skins.SkinPaddingEdges skinPaddingEdges2 = new DevExpress.Skins.SkinPaddingEdges();
|
||||
DevExpress.Skins.SkinPaddingEdges skinPaddingEdges5 = new DevExpress.Skins.SkinPaddingEdges();
|
||||
DevExpress.XtraBars.Ribbon.GalleryItemGroup galleryItemGroup3 = new DevExpress.XtraBars.Ribbon.GalleryItemGroup();
|
||||
DevExpress.XtraBars.Ribbon.GalleryItem galleryItem13 = new DevExpress.XtraBars.Ribbon.GalleryItem();
|
||||
DevExpress.Utils.SuperToolTip superToolTip13 = new DevExpress.Utils.SuperToolTip();
|
||||
DevExpress.Utils.ToolTipItem toolTipItem13 = new DevExpress.Utils.ToolTipItem();
|
||||
DevExpress.XtraBars.Ribbon.GalleryItem galleryItem14 = new DevExpress.XtraBars.Ribbon.GalleryItem();
|
||||
DevExpress.Utils.SuperToolTip superToolTip14 = new DevExpress.Utils.SuperToolTip();
|
||||
DevExpress.Utils.ToolTipItem toolTipItem14 = new DevExpress.Utils.ToolTipItem();
|
||||
DevExpress.XtraBars.Ribbon.GalleryItem galleryItem15 = new DevExpress.XtraBars.Ribbon.GalleryItem();
|
||||
DevExpress.Utils.SuperToolTip superToolTip15 = new DevExpress.Utils.SuperToolTip();
|
||||
DevExpress.Utils.ToolTipItem toolTipItem15 = new DevExpress.Utils.ToolTipItem();
|
||||
DevExpress.XtraBars.Ribbon.GalleryItem galleryItem16 = new DevExpress.XtraBars.Ribbon.GalleryItem();
|
||||
DevExpress.Utils.SuperToolTip superToolTip16 = new DevExpress.Utils.SuperToolTip();
|
||||
DevExpress.Utils.ToolTipItem toolTipItem16 = new DevExpress.Utils.ToolTipItem();
|
||||
DevExpress.XtraBars.Ribbon.GalleryItem galleryItem17 = new DevExpress.XtraBars.Ribbon.GalleryItem();
|
||||
DevExpress.Utils.SuperToolTip superToolTip17 = new DevExpress.Utils.SuperToolTip();
|
||||
DevExpress.Utils.ToolTipItem toolTipItem17 = new DevExpress.Utils.ToolTipItem();
|
||||
DevExpress.XtraBars.Ribbon.GalleryItem galleryItem18 = new DevExpress.XtraBars.Ribbon.GalleryItem();
|
||||
DevExpress.Utils.SuperToolTip superToolTip18 = new DevExpress.Utils.SuperToolTip();
|
||||
DevExpress.Utils.ToolTipItem toolTipItem18 = new DevExpress.Utils.ToolTipItem();
|
||||
DevExpress.Skins.SkinPaddingEdges skinPaddingEdges6 = new DevExpress.Skins.SkinPaddingEdges();
|
||||
this.ribbonControl = new DevExpress.XtraBars.Ribbon.RibbonControl();
|
||||
this.barStaticItemConn = new DevExpress.XtraBars.BarStaticItem();
|
||||
this.barButtonItemQueryTestOn = new DevExpress.XtraBars.BarButtonItem();
|
||||
@ -248,7 +248,7 @@
|
||||
this.repositoryItemProgressBar1});
|
||||
this.ribbonControl.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonControlStyle.Office2013;
|
||||
this.ribbonControl.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.ribbonControl.Size = new System.Drawing.Size(1485, 237);
|
||||
this.ribbonControl.Size = new System.Drawing.Size(1485, 197);
|
||||
this.ribbonControl.StatusBar = this.ribbonStatusBar;
|
||||
this.ribbonControl.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Hidden;
|
||||
//
|
||||
@ -282,9 +282,9 @@
|
||||
this.skinRibbonGalleryBarItem.Gallery.ItemCheckMode = DevExpress.XtraBars.Ribbon.Gallery.ItemCheckMode.SingleRadio;
|
||||
this.skinRibbonGalleryBarItem.Gallery.ItemImageLayout = DevExpress.Utils.Drawing.ImageLayoutMode.Squeeze;
|
||||
this.skinRibbonGalleryBarItem.Gallery.ItemImageLocation = DevExpress.Utils.Locations.Top;
|
||||
skinPaddingEdges1.Left = 8;
|
||||
skinPaddingEdges1.Right = 8;
|
||||
this.skinRibbonGalleryBarItem.Gallery.ItemImagePadding = skinPaddingEdges1;
|
||||
skinPaddingEdges5.Left = 8;
|
||||
skinPaddingEdges5.Right = 8;
|
||||
this.skinRibbonGalleryBarItem.Gallery.ItemImagePadding = skinPaddingEdges5;
|
||||
this.skinRibbonGalleryBarItem.Id = 14;
|
||||
this.skinRibbonGalleryBarItem.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("skinRibbonGalleryBarItem.ImageOptions.Image")));
|
||||
this.skinRibbonGalleryBarItem.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("skinRibbonGalleryBarItem.ImageOptions.LargeImage")));
|
||||
@ -326,60 +326,60 @@
|
||||
//
|
||||
this.skinPaletteRibbonGalleryBarItem.Gallery.AllowHtmlText = true;
|
||||
this.skinPaletteRibbonGalleryBarItem.Gallery.ColumnCount = 4;
|
||||
galleryItemGroup1.Caption = "General";
|
||||
galleryItem1.Caption = "Default";
|
||||
galleryItem1.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image")));
|
||||
toolTipItem1.Text = "Default";
|
||||
superToolTip1.Items.Add(toolTipItem1);
|
||||
galleryItem1.SuperTip = superToolTip1;
|
||||
galleryItem1.Tag = "DefaultSkinPalette";
|
||||
galleryItem1.Value = "DefaultSkinPalette";
|
||||
galleryItem2.Caption = "Blue Dark";
|
||||
galleryItem2.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image1")));
|
||||
toolTipItem2.Text = "Blue Dark";
|
||||
superToolTip2.Items.Add(toolTipItem2);
|
||||
galleryItem2.SuperTip = superToolTip2;
|
||||
galleryItem2.Tag = "Blue Dark";
|
||||
galleryItem2.Value = "Blue Dark";
|
||||
galleryItem3.Caption = "Pine Light";
|
||||
galleryItem3.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image2")));
|
||||
toolTipItem3.Text = "Pine Light";
|
||||
superToolTip3.Items.Add(toolTipItem3);
|
||||
galleryItem3.SuperTip = superToolTip3;
|
||||
galleryItem3.Tag = "Pine Light";
|
||||
galleryItem3.Value = "Pine Light";
|
||||
galleryItem4.Caption = "Pine Dark";
|
||||
galleryItem4.Checked = true;
|
||||
galleryItem4.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image3")));
|
||||
toolTipItem4.Text = "Pine Dark";
|
||||
superToolTip4.Items.Add(toolTipItem4);
|
||||
galleryItem4.SuperTip = superToolTip4;
|
||||
galleryItem4.Tag = "Pine Dark";
|
||||
galleryItem4.Value = "Pine Dark";
|
||||
galleryItem5.Caption = "Violet Light";
|
||||
galleryItem5.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image4")));
|
||||
toolTipItem5.Text = "Violet Light";
|
||||
superToolTip5.Items.Add(toolTipItem5);
|
||||
galleryItem5.SuperTip = superToolTip5;
|
||||
galleryItem5.Tag = "Violet Light";
|
||||
galleryItem5.Value = "Violet Light";
|
||||
galleryItem6.Caption = "Violet Dark";
|
||||
galleryItem6.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image5")));
|
||||
toolTipItem6.Text = "Violet Dark";
|
||||
superToolTip6.Items.Add(toolTipItem6);
|
||||
galleryItem6.SuperTip = superToolTip6;
|
||||
galleryItem6.Tag = "Violet Dark";
|
||||
galleryItem6.Value = "Violet Dark";
|
||||
galleryItemGroup1.Items.AddRange(new DevExpress.XtraBars.Ribbon.GalleryItem[] {
|
||||
galleryItem1,
|
||||
galleryItem2,
|
||||
galleryItem3,
|
||||
galleryItem4,
|
||||
galleryItem5,
|
||||
galleryItem6});
|
||||
galleryItemGroup3.Caption = "General";
|
||||
galleryItem13.Caption = "Default";
|
||||
galleryItem13.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image")));
|
||||
toolTipItem13.Text = "Default";
|
||||
superToolTip13.Items.Add(toolTipItem13);
|
||||
galleryItem13.SuperTip = superToolTip13;
|
||||
galleryItem13.Tag = "DefaultSkinPalette";
|
||||
galleryItem13.Value = "DefaultSkinPalette";
|
||||
galleryItem14.Caption = "Blue Dark";
|
||||
galleryItem14.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image1")));
|
||||
toolTipItem14.Text = "Blue Dark";
|
||||
superToolTip14.Items.Add(toolTipItem14);
|
||||
galleryItem14.SuperTip = superToolTip14;
|
||||
galleryItem14.Tag = "Blue Dark";
|
||||
galleryItem14.Value = "Blue Dark";
|
||||
galleryItem15.Caption = "Pine Light";
|
||||
galleryItem15.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image2")));
|
||||
toolTipItem15.Text = "Pine Light";
|
||||
superToolTip15.Items.Add(toolTipItem15);
|
||||
galleryItem15.SuperTip = superToolTip15;
|
||||
galleryItem15.Tag = "Pine Light";
|
||||
galleryItem15.Value = "Pine Light";
|
||||
galleryItem16.Caption = "Pine Dark";
|
||||
galleryItem16.Checked = true;
|
||||
galleryItem16.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image3")));
|
||||
toolTipItem16.Text = "Pine Dark";
|
||||
superToolTip16.Items.Add(toolTipItem16);
|
||||
galleryItem16.SuperTip = superToolTip16;
|
||||
galleryItem16.Tag = "Pine Dark";
|
||||
galleryItem16.Value = "Pine Dark";
|
||||
galleryItem17.Caption = "Violet Light";
|
||||
galleryItem17.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image4")));
|
||||
toolTipItem17.Text = "Violet Light";
|
||||
superToolTip17.Items.Add(toolTipItem17);
|
||||
galleryItem17.SuperTip = superToolTip17;
|
||||
galleryItem17.Tag = "Violet Light";
|
||||
galleryItem17.Value = "Violet Light";
|
||||
galleryItem18.Caption = "Violet Dark";
|
||||
galleryItem18.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image5")));
|
||||
toolTipItem18.Text = "Violet Dark";
|
||||
superToolTip18.Items.Add(toolTipItem18);
|
||||
galleryItem18.SuperTip = superToolTip18;
|
||||
galleryItem18.Tag = "Violet Dark";
|
||||
galleryItem18.Value = "Violet Dark";
|
||||
galleryItemGroup3.Items.AddRange(new DevExpress.XtraBars.Ribbon.GalleryItem[] {
|
||||
galleryItem13,
|
||||
galleryItem14,
|
||||
galleryItem15,
|
||||
galleryItem16,
|
||||
galleryItem17,
|
||||
galleryItem18});
|
||||
this.skinPaletteRibbonGalleryBarItem.Gallery.Groups.AddRange(new DevExpress.XtraBars.Ribbon.GalleryItemGroup[] {
|
||||
galleryItemGroup1});
|
||||
this.skinPaletteRibbonGalleryBarItem.Gallery.ImageSize = new System.Drawing.Size(120, 84);
|
||||
galleryItemGroup3});
|
||||
this.skinPaletteRibbonGalleryBarItem.Gallery.ImageSize = new System.Drawing.Size(80, 56);
|
||||
this.skinPaletteRibbonGalleryBarItem.Gallery.ItemCheckMode = DevExpress.XtraBars.Ribbon.Gallery.ItemCheckMode.SingleRadio;
|
||||
this.skinPaletteRibbonGalleryBarItem.Gallery.ItemImageLayout = DevExpress.Utils.Drawing.ImageLayoutMode.Stretch;
|
||||
this.skinPaletteRibbonGalleryBarItem.Gallery.MinimumColumnCount = 2;
|
||||
@ -614,9 +614,9 @@
|
||||
this.skinRibbonGalleryBarItemTheme.Gallery.ItemCheckMode = DevExpress.XtraBars.Ribbon.Gallery.ItemCheckMode.SingleRadio;
|
||||
this.skinRibbonGalleryBarItemTheme.Gallery.ItemImageLayout = DevExpress.Utils.Drawing.ImageLayoutMode.Squeeze;
|
||||
this.skinRibbonGalleryBarItemTheme.Gallery.ItemImageLocation = DevExpress.Utils.Locations.Top;
|
||||
skinPaddingEdges2.Left = 8;
|
||||
skinPaddingEdges2.Right = 8;
|
||||
this.skinRibbonGalleryBarItemTheme.Gallery.ItemImagePadding = skinPaddingEdges2;
|
||||
skinPaddingEdges6.Left = 8;
|
||||
skinPaddingEdges6.Right = 8;
|
||||
this.skinRibbonGalleryBarItemTheme.Gallery.ItemImagePadding = skinPaddingEdges6;
|
||||
this.skinRibbonGalleryBarItemTheme.Id = 74;
|
||||
this.skinRibbonGalleryBarItemTheme.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("skinRibbonGalleryBarItemTheme.ImageOptions.Image")));
|
||||
this.skinRibbonGalleryBarItemTheme.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("skinRibbonGalleryBarItemTheme.ImageOptions.LargeImage")));
|
||||
@ -907,11 +907,11 @@
|
||||
// ribbonStatusBar
|
||||
//
|
||||
this.ribbonStatusBar.ItemLinks.Add(this.barStaticItem1);
|
||||
this.ribbonStatusBar.Location = new System.Drawing.Point(0, 747);
|
||||
this.ribbonStatusBar.Location = new System.Drawing.Point(0, 753);
|
||||
this.ribbonStatusBar.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
||||
this.ribbonStatusBar.Name = "ribbonStatusBar";
|
||||
this.ribbonStatusBar.Ribbon = this.ribbonControl;
|
||||
this.ribbonStatusBar.Size = new System.Drawing.Size(1485, 36);
|
||||
this.ribbonStatusBar.Size = new System.Drawing.Size(1485, 30);
|
||||
//
|
||||
// dockManager
|
||||
//
|
||||
@ -934,9 +934,9 @@
|
||||
this.hideContainerLeft.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
|
||||
this.hideContainerLeft.Controls.Add(this.dockPanel);
|
||||
this.hideContainerLeft.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.hideContainerLeft.Location = new System.Drawing.Point(0, 237);
|
||||
this.hideContainerLeft.Location = new System.Drawing.Point(0, 197);
|
||||
this.hideContainerLeft.Name = "hideContainerLeft";
|
||||
this.hideContainerLeft.Size = new System.Drawing.Size(32, 510);
|
||||
this.hideContainerLeft.Size = new System.Drawing.Size(28, 556);
|
||||
//
|
||||
// dockPanel
|
||||
//
|
||||
@ -1022,7 +1022,7 @@
|
||||
// MainForm
|
||||
//
|
||||
this.Appearance.Options.UseFont = true;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(14F, 29F);
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(11F, 24F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackgroundImageLayoutStore = System.Windows.Forms.ImageLayout.Zoom;
|
||||
this.BackgroundImageStore = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImageStore")));
|
||||
|
||||
@ -409,7 +409,7 @@ namespace SystemX.Product.CP.TRA
|
||||
{
|
||||
foreach (string catalog in DatabaseConnControl.LongTermCatalogName)
|
||||
{
|
||||
DatabaseConnControl.ConnectDataDB2(strConnIPAddressDT2, nConnPortDT2, catalog);
|
||||
DatabaseConnControl.ConnectDataDB2(strConnIPAddressDT1, nConnPortDT1, catalog);
|
||||
}
|
||||
|
||||
DBConnShortTerm2 = DatabaseConnControl.GetShortTermConn2();
|
||||
@ -425,11 +425,10 @@ namespace SystemX.Product.CP.TRA
|
||||
|
||||
LongTermSQLCmd1 = new Dictionary<string, SqlCommand>();
|
||||
|
||||
SqlCommand sqlCmd;
|
||||
foreach (var con in DatabaseConnControl.GetLongTermConn1())
|
||||
{
|
||||
LongTermSQLCmd1.Add($"{con.Key}", new SqlCommand());
|
||||
if (LongTermSQLCmd1.TryGetValue($"{con.Key}", out sqlCmd) == true)
|
||||
if (LongTermSQLCmd1.TryGetValue($"{con.Key}", out var sqlCmd) == true)
|
||||
{
|
||||
sqlCmd.Connection = con.Value;
|
||||
}
|
||||
@ -449,14 +448,12 @@ namespace SystemX.Product.CP.TRA
|
||||
ShortTermSQLCmd2.Connection = DatabaseConnControl.GetShortTermConn2();
|
||||
|
||||
LongTermSQLCmd2 = new Dictionary<string, SqlCommand>();
|
||||
SqlCommand sqlCmd2;
|
||||
|
||||
foreach (var con in DatabaseConnControl.GetLongTermConn2())
|
||||
{
|
||||
LongTermSQLCmd2.Add($"{con.Key}", new SqlCommand());
|
||||
if (LongTermSQLCmd2.TryGetValue($"{con.Key}", out sqlCmd2) == true)
|
||||
if (LongTermSQLCmd2.TryGetValue($"{con.Key}", out var sqlCmd) == true)
|
||||
{
|
||||
sqlCmd2.Connection = con.Value;
|
||||
sqlCmd.Connection = con.Value;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1468,7 +1465,7 @@ namespace SystemX.Product.CP.TRA
|
||||
{
|
||||
nFirstViewCount++;
|
||||
|
||||
strSetViewID = eContents.TestSummary.ToString() + eDataView.C1.ToString() + $"({nFirstViewCount})";
|
||||
strSetViewID = eContents.TestSumamry.ToString() + eDataView.C1.ToString() + $"({nFirstViewCount})";
|
||||
view.ViewID = strSetViewID;
|
||||
DicViewFirstMgr.Add(strSetViewID, view);
|
||||
}
|
||||
@ -1476,13 +1473,13 @@ namespace SystemX.Product.CP.TRA
|
||||
{
|
||||
nSecondViewCount++;
|
||||
|
||||
strSetViewID = eContents.TestSummary.ToString() + eDataView.C2.ToString() + $"({nSecondViewCount})";
|
||||
strSetViewID = eContents.TestSumamry.ToString() + eDataView.C2.ToString() + $"({nSecondViewCount})";
|
||||
view.ViewID = strSetViewID;
|
||||
DicViewSecondMgr.Add(strSetViewID, view);
|
||||
}
|
||||
|
||||
tabbedView.AddDocument(view, view.ViewID);
|
||||
//tabbedView.AddDocument(view, eContents.TestSummary.ToString());
|
||||
//tabbedView.AddDocument(view, eContents.TestSumamry.ToString());
|
||||
|
||||
CreateAccordianElement(view);
|
||||
SelectAccordianElement(view.ViewID);
|
||||
|
||||
@ -313,62 +313,56 @@
|
||||
</data>
|
||||
<data name="resource.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAHgAAABUCAYAAABJCvOfAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAADhSURBVHhe7dHRFMRAFECxISvCCpShHJVYtIEYg1ePnPsR
|
||||
gqzrfieugnEF4wrGFYwrGFcwrmBcwbiCcQXjCsYVjCsYVzCuYFzBuIJxBeMKxhWMW7/nP3EVjCsYVzCu
|
||||
YFzBuIJxBeMKxhWMKxhXMK5gXMG4gnEF4wrGFYwrGFcwrmDc2ntPXAXjCsYVjCsYVzCuYFzBuIJxBeMK
|
||||
xhWMKxhXMK5gXMG4gnEF4wrGFYwrGLfOORNXwbiCcQXjCsYVjCsYVzCuYFzBuIJxBeMKxhWMKxhXMK5g
|
||||
XMG4gnEF4wqmnfkAOWuTNXE9au8AAAAASUVORK5CYII=
|
||||
iVBORw0KGgoAAAANSUhEUgAAAFAAAAA4CAYAAABqtn+aAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAJlJREFUeF7t0EEBAjEQALEqQwIGTgM6MIG0iqiDxUPnm0cMZL2e73BPYCQwEhgJ
|
||||
jARGAiOBkcBIYCQwEhgJjARG6/35DfcERgIjgZHASGAkMBIYCYwERgIjgZHASGC09t7DPYGRwEhgJDAS
|
||||
GAmMBEYCI4GRwEhgJDASGK1zznBPYCQwEhgJjARGAiOBkcBIYCQwEhgJjAQmZ/7FSM+eKiweNQAAAABJ
|
||||
RU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="resource.Image1" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAHgAAABUCAYAAABJCvOfAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAADgSURBVHhe7dExEcQwEAAxY3Lj7iGEQDAER0g81wuPHRVC
|
||||
oPW736FLcJzgOMFxguMExwmOExwnOE5wnOA4wXGC4wTHCY4THCc4TnCc4DjBcYLj1vX8hy7BcYLjBMcJ
|
||||
jhMcJzhOcJzgOMFxguMExwmOExwnOE5wnOA4wXGC4wTHCY5b55yhS3Cc4DjBcYLjBMcJjhMcJzhOcJzg
|
||||
OMFxguMExwmOExwnOE5wnOA4wXGC49bee+gSHCc4TnCc4DjBcYLjBMcJjhMcJzhOcJzgOMFxguMExwmO
|
||||
ExwnOE5wnOC0PR8WGZ02AM12IQAAAABJRU5ErkJggg==
|
||||
iVBORw0KGgoAAAANSUhEUgAAAFAAAAA4CAYAAABqtn+aAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAJlJREFUeF7t0DEBAjEUQLFq6tINCRhAAzrOBF4/HvrWDDGQ9fo8wz2BkcBIYCQw
|
||||
EhgJjARGAiOBkcBIYCQwEhit9/c33BMYCYwERgIjgZHASGAkMBIYCYwERgIjgdE65wz3BEYCI4GRwEhg
|
||||
JDASGAmMBEYCI4GRwEhgtPbewz2BkcBIYCQwEhgJjARGAiOBkcBIYCQwEpjs+QPLxZswtjP5RwAAAABJ
|
||||
RU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="resource.Image2" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAHgAAABUCAYAAABJCvOfAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAADgSURBVHhe7dFBFYQwEECx2kPCWkABFxSsxYqog8FH3j9E
|
||||
Qdb13BNXwbiCcQXjCsYVjCsYVzCuYFzBuIJxBeMKxhWMKxhXMK5gXMG4gnEF4wrGrd//nbgKxhWMKxhX
|
||||
MK5gXMG4gnEF4wrGFYwrGFcwrmBcwbiCcQXjCsYVjCsYVzBu7b0nroJxBeMKxhWMKxhXMK5gXMG4gnEF
|
||||
4wrGFYwrGFcwrmBcwbiCcQXjCsYVjFvnnImrYFzBuIJxBeMKxhWMKxhXMK5gXMG4gnEF4wrGFYwrGFcw
|
||||
rmBcwbiCcQXTznwnymH8KvCrXAAAAABJRU5ErkJggg==
|
||||
iVBORw0KGgoAAAANSUhEUgAAAFAAAAA4CAYAAABqtn+aAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAJlJREFUeF7t0DEBAjEUQLHaQwIWTgELCrBYEXXw8dC3ZoiBrNfnGe4JjARGAiOB
|
||||
kcBIYCQwEhgJjARGAiOBkcBovX/f4Z7ASGAkMBIYCYwERgIjgZHASGAkMBIYCYzW3nu4JzASGAmMBEYC
|
||||
I4GRwEhgJDASGAmMBEYCo3XOGe4JjARGAiOBkcBIYCQwEhgJjARGAiOBkcDkzB9hSCuN6ai/7AAAAABJ
|
||||
RU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="resource.Image3" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAHgAAABUCAYAAABJCvOfAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAADgSURBVHhe7dExEcQwEAAxY3JjDA8hFIIgTRA86AuPHRVC
|
||||
oPV77qFLcJzgOMFxguMExwmOExwnOE5wnOA4wXGC4wTHCY4THCc4TnCc4DjBcYLj1vV/hy7BcYLjBMcJ
|
||||
jhMcJzhOcJzgOMFxguMExwmOExwnOE5wnOA4wXGC4wTHCY5b55yhS3Cc4DjBcYLjBMcJjhMcJzhOcJzg
|
||||
OMFxguMExwmOExwnOE5wnOA4wXGC49bee+gSHCc4TnCc4DjBcYLjBMcJjhMcJzhOcJzgOMFxguMExwmO
|
||||
ExwnOE5wnOC0PR8EeGv9yHPBgQAAAABJRU5ErkJggg==
|
||||
iVBORw0KGgoAAAANSUhEUgAAAFAAAAA4CAYAAABqtn+aAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAJlJREFUeF7t0DEBAjEUQLFq6lINSMACClhOAaI/HvrWDDGQ9fp+hnsCI4GRwEhg
|
||||
JDASGAmMBEYCI4GRwEhgJDBa798z3BMYCYwERgIjgZHASGAkMBIYCYwERgIjgdE65wz3BEYCI4GRwEhg
|
||||
JDASGAmMBEYCI4GRwEhgtPbewz2BkcBIYCQwEhgJjARGAiOBkcBIYCQwEpjs+QNnxfcQhclFDAAAAABJ
|
||||
RU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="resource.Image4" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAHgAAABUCAYAAABJCvOfAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAADgSURBVHhe7dExEcQwEAAxM0zzANKEQjg8R4MwgwsPzRZC
|
||||
oPW73omrYFzBuIJxBeMKxhWMKxhXMK5gXMG4gnEF4wrGFYwrGFcwrmBcwbiCcQXj1nP/J66CcQXjCsYV
|
||||
jCsYVzCuYFzBuIJxBeMKxhWMKxhXMK5gXMG4gnEF4wrGFYxbe++Jq2BcwbiCcQXjCsYVjCsYVzCuYFzB
|
||||
uIJxBeMKxhWMKxhXMK5gXMG4gnEF49Y5Z+IqGFcwrmBcwbiCcQXjCsYVjCsYVzCuYFzBuIJxBeMKxhWM
|
||||
KxhXMK5gXMG0Mx/PfPWmlONhxAAAAABJRU5ErkJggg==
|
||||
iVBORw0KGgoAAAANSUhEUgAAAFAAAAA4CAYAAABqtn+aAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAJlJREFUeF7t0DEBAjEUQLE6ZEHALVjAAx4rog4+HvrWDDGQ9X59h3sCI4GRwEhg
|
||||
JDASGAmMBEYCI4GRwEhgJDBan+c33BMYCYwERgIjgZHASGAkMBIYCYwERgIjgdHaew/3BEYCI4GRwEhg
|
||||
JDASGAmMBEYCI4GRwEhgtM45wz2BkcBIYCQwEhgJjARGAiOBkcBIYCQwEpic+QOCcYmeZWOr9AAAAABJ
|
||||
RU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="resource.Image5" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAHgAAABUCAYAAABJCvOfAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAADgSURBVHhe7dExEcQwEAAxY3JjGN8EQJpQCIdHfeGxo0II
|
||||
tK7fO3QJjhMcJzhOcJzgOMFxguMExwmOExwnOE5wnOA4wXGC4wTHCY4THCc4TnDceu7/0CU4TnCc4DjB
|
||||
cYLjBMcJjhMcJzhOcJzgOMFxguMExwmOExwnOE5wnOA4wXHrnDN0CY4THCc4TnCc4DjBcYLjBMcJjhMc
|
||||
JzhOcJzgOMFxguMExwmOExwnOE5w3Np7D12C4wTHCY4THCc4TnCc4DjBcYLjBMcJjhMcJzhOcJzgOMFx
|
||||
guMExwmOE5y25wOsKv+nDIwGewAAAABJRU5ErkJggg==
|
||||
iVBORw0KGgoAAAANSUhEUgAAAFAAAAA4CAYAAABqtn+aAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAJhJREFUeF7t0DEBAjEUQLFq6lIZLAhgwcJ5QPXHQ9+aIQay3q9nuCcwEhgJjARG
|
||||
AiOBkcBIYCQwEhgJjARGAqP1/fyGewIjgZHASGAkMBIYCYwERgIjgZHASGAkMFrnnOGewEhgJDASGAmM
|
||||
BEYCI4GRwEhgJDASGAmM1t57uCcwEhgJjARGAiOBkcBIYCQwEhgJjARGApM9f4juVTDktQ5SAAAAAElF
|
||||
TkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="skinPaletteRibbonGalleryBarItem.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v20.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
|
||||
@ -84,7 +84,7 @@
|
||||
<Reference Include="DevExpress.XtraRichEdit.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraVerticalGrid.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="log4net">
|
||||
<HintPath>..\..\RPDM\Output.SystemX\log4net.dll</HintPath>
|
||||
<HintPath>..\..\Output.SystemX\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.1.1.1\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
@ -196,13 +196,13 @@
|
||||
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Reactive.Core">
|
||||
<HintPath>..\..\RPDM\Output.SystemX\System.Reactive.Core.dll</HintPath>
|
||||
<HintPath>..\..\Output.SystemX\System.Reactive.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Reactive.Interfaces">
|
||||
<HintPath>..\..\RPDM\Output.SystemX\System.Reactive.Interfaces.dll</HintPath>
|
||||
<HintPath>..\..\Output.SystemX\System.Reactive.Interfaces.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Reactive.Linq">
|
||||
<HintPath>..\..\RPDM\Output.SystemX\System.Reactive.Linq.dll</HintPath>
|
||||
<HintPath>..\..\Output.SystemX\System.Reactive.Linq.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.7.1\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||
@ -218,17 +218,17 @@
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="SystemX.Net.Platform">
|
||||
<HintPath>..\..\RPDM\Output.SystemX\SystemX.Net.Platform.dll</HintPath>
|
||||
<Reference Include="SystemX.Net.PCAdaptor">
|
||||
<HintPath>..\Output.SystemX\SystemX.Net.PCAdaptor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SystemX.Net.XAdaptor.PC.UIM">
|
||||
<HintPath>..\..\RPDM\Output.SystemX\SystemX.Net.XAdaptor.PC.UIM.dll</HintPath>
|
||||
<Reference Include="SystemX.Net.Platform">
|
||||
<HintPath>..\..\Output.SystemX\SystemX.Net.Platform.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SystemX.Product.CP.TRA.BaseView">
|
||||
<HintPath>..\SystemX.Product.CP.TRA.BaseView\bin\x64\SystemX.Product.CP.TRA.BaseView.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SystemX.XEFCore">
|
||||
<HintPath>..\..\RPDM\Output.SystemX\SystemX.XEFCore.dll</HintPath>
|
||||
<HintPath>..\..\Output.SystemX\SystemX.XEFCore.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
using DevExpress.Data.Helpers;
|
||||
using DevExpress.Spreadsheet;
|
||||
using DevExpress.Spreadsheet;
|
||||
using DevExpress.XtraPrinting;
|
||||
using DevExpress.XtraVerticalGrid;
|
||||
using DevExpress.XtraVerticalGrid.Rows;
|
||||
|
||||
@ -88,31 +88,28 @@
|
||||
this.layoutControl1.Controls.Add(this.splitContainerControl1);
|
||||
this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.layoutControl1.Location = new System.Drawing.Point(0, 0);
|
||||
this.layoutControl1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.layoutControl1.Name = "layoutControl1";
|
||||
this.layoutControl1.Root = this.Root;
|
||||
this.layoutControl1.Size = new System.Drawing.Size(1684, 952);
|
||||
this.layoutControl1.Size = new System.Drawing.Size(1179, 635);
|
||||
this.layoutControl1.TabIndex = 0;
|
||||
this.layoutControl1.Text = "layoutControl1";
|
||||
//
|
||||
// labelControl1
|
||||
//
|
||||
this.labelControl1.Location = new System.Drawing.Point(17, 868);
|
||||
this.labelControl1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.labelControl1.Location = new System.Drawing.Point(12, 578);
|
||||
this.labelControl1.Name = "labelControl1";
|
||||
this.labelControl1.Size = new System.Drawing.Size(110, 22);
|
||||
this.labelControl1.Size = new System.Drawing.Size(77, 14);
|
||||
this.labelControl1.StyleController = this.layoutControl1;
|
||||
this.labelControl1.TabIndex = 9;
|
||||
this.labelControl1.Text = "Auto Range : ";
|
||||
//
|
||||
// toggleSwitchAutoRange
|
||||
//
|
||||
this.toggleSwitchAutoRange.Location = new System.Drawing.Point(133, 868);
|
||||
this.toggleSwitchAutoRange.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.toggleSwitchAutoRange.Location = new System.Drawing.Point(93, 578);
|
||||
this.toggleSwitchAutoRange.Name = "toggleSwitchAutoRange";
|
||||
this.toggleSwitchAutoRange.Properties.OffText = "Off";
|
||||
this.toggleSwitchAutoRange.Properties.OnText = "On";
|
||||
this.toggleSwitchAutoRange.Size = new System.Drawing.Size(279, 27);
|
||||
this.toggleSwitchAutoRange.Size = new System.Drawing.Size(196, 19);
|
||||
this.toggleSwitchAutoRange.StyleController = this.layoutControl1;
|
||||
this.toggleSwitchAutoRange.TabIndex = 2;
|
||||
//
|
||||
@ -120,10 +117,9 @@
|
||||
//
|
||||
this.simpleButtonAllData.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Question;
|
||||
this.simpleButtonAllData.Appearance.Options.UseBackColor = true;
|
||||
this.simpleButtonAllData.Location = new System.Drawing.Point(211, 901);
|
||||
this.simpleButtonAllData.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.simpleButtonAllData.Location = new System.Drawing.Point(148, 601);
|
||||
this.simpleButtonAllData.Name = "simpleButtonAllData";
|
||||
this.simpleButtonAllData.Size = new System.Drawing.Size(201, 33);
|
||||
this.simpleButtonAllData.Size = new System.Drawing.Size(141, 22);
|
||||
this.simpleButtonAllData.StyleController = this.layoutControl1;
|
||||
this.simpleButtonAllData.TabIndex = 8;
|
||||
this.simpleButtonAllData.Text = "All Data";
|
||||
@ -133,10 +129,9 @@
|
||||
//
|
||||
this.simpleButtonOKDataOnly.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
|
||||
this.simpleButtonOKDataOnly.Appearance.Options.UseBackColor = true;
|
||||
this.simpleButtonOKDataOnly.Location = new System.Drawing.Point(17, 901);
|
||||
this.simpleButtonOKDataOnly.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.simpleButtonOKDataOnly.Location = new System.Drawing.Point(12, 601);
|
||||
this.simpleButtonOKDataOnly.Name = "simpleButtonOKDataOnly";
|
||||
this.simpleButtonOKDataOnly.Size = new System.Drawing.Size(188, 33);
|
||||
this.simpleButtonOKDataOnly.Size = new System.Drawing.Size(132, 22);
|
||||
this.simpleButtonOKDataOnly.StyleController = this.layoutControl1;
|
||||
this.simpleButtonOKDataOnly.TabIndex = 6;
|
||||
this.simpleButtonOKDataOnly.Text = "Only OK Data";
|
||||
@ -145,57 +140,42 @@
|
||||
// groupControl2
|
||||
//
|
||||
this.groupControl2.Controls.Add(this.vGridControlStepSummary);
|
||||
this.groupControl2.Location = new System.Drawing.Point(17, 471);
|
||||
this.groupControl2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.groupControl2.Location = new System.Drawing.Point(12, 314);
|
||||
this.groupControl2.Name = "groupControl2";
|
||||
this.groupControl2.Size = new System.Drawing.Size(395, 391);
|
||||
this.groupControl2.Size = new System.Drawing.Size(277, 260);
|
||||
this.groupControl2.TabIndex = 7;
|
||||
this.groupControl2.Text = "Measured Data Analysis";
|
||||
//
|
||||
// vGridControlStepSummary
|
||||
//
|
||||
this.vGridControlStepSummary.BandsInterval = 3;
|
||||
this.vGridControlStepSummary.Cursor = System.Windows.Forms.Cursors.Default;
|
||||
this.vGridControlStepSummary.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.vGridControlStepSummary.Location = new System.Drawing.Point(2, 34);
|
||||
this.vGridControlStepSummary.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.vGridControlStepSummary.Location = new System.Drawing.Point(2, 23);
|
||||
this.vGridControlStepSummary.Name = "vGridControlStepSummary";
|
||||
this.vGridControlStepSummary.OptionsView.FixedLineWidth = 3;
|
||||
this.vGridControlStepSummary.OptionsView.MinRowAutoHeight = 15;
|
||||
this.vGridControlStepSummary.RecordWidth = 143;
|
||||
this.vGridControlStepSummary.RowHeaderWidth = 143;
|
||||
this.vGridControlStepSummary.Size = new System.Drawing.Size(391, 355);
|
||||
this.vGridControlStepSummary.Size = new System.Drawing.Size(273, 235);
|
||||
this.vGridControlStepSummary.TabIndex = 1;
|
||||
//
|
||||
// groupControl1
|
||||
//
|
||||
this.groupControl1.Controls.Add(this.vGridControlInfo);
|
||||
this.groupControl1.Location = new System.Drawing.Point(17, 18);
|
||||
this.groupControl1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.groupControl1.Location = new System.Drawing.Point(12, 12);
|
||||
this.groupControl1.Name = "groupControl1";
|
||||
this.groupControl1.Size = new System.Drawing.Size(395, 447);
|
||||
this.groupControl1.Size = new System.Drawing.Size(277, 298);
|
||||
this.groupControl1.TabIndex = 6;
|
||||
this.groupControl1.Text = "Test Step Info.";
|
||||
//
|
||||
// vGridControlInfo
|
||||
//
|
||||
this.vGridControlInfo.BandsInterval = 3;
|
||||
this.vGridControlInfo.Cursor = System.Windows.Forms.Cursors.Default;
|
||||
this.vGridControlInfo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.vGridControlInfo.Location = new System.Drawing.Point(2, 34);
|
||||
this.vGridControlInfo.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.vGridControlInfo.Location = new System.Drawing.Point(2, 23);
|
||||
this.vGridControlInfo.Name = "vGridControlInfo";
|
||||
this.vGridControlInfo.OptionsView.FixedLineWidth = 3;
|
||||
this.vGridControlInfo.OptionsView.MinRowAutoHeight = 15;
|
||||
this.vGridControlInfo.RecordWidth = 143;
|
||||
this.vGridControlInfo.RowHeaderWidth = 143;
|
||||
this.vGridControlInfo.Size = new System.Drawing.Size(391, 411);
|
||||
this.vGridControlInfo.Size = new System.Drawing.Size(273, 273);
|
||||
this.vGridControlInfo.TabIndex = 1;
|
||||
//
|
||||
// splitContainerControl1
|
||||
//
|
||||
this.splitContainerControl1.Location = new System.Drawing.Point(418, 18);
|
||||
this.splitContainerControl1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.splitContainerControl1.Location = new System.Drawing.Point(293, 12);
|
||||
this.splitContainerControl1.Name = "splitContainerControl1";
|
||||
//
|
||||
// splitContainerControl1.Panel1
|
||||
@ -207,19 +187,17 @@
|
||||
//
|
||||
this.splitContainerControl1.Panel2.Controls.Add(this.chartControlMain);
|
||||
this.splitContainerControl1.Panel2.Text = "Panel2";
|
||||
this.splitContainerControl1.Size = new System.Drawing.Size(1249, 916);
|
||||
this.splitContainerControl1.SplitterPosition = 674;
|
||||
this.splitContainerControl1.Size = new System.Drawing.Size(874, 611);
|
||||
this.splitContainerControl1.SplitterPosition = 472;
|
||||
this.splitContainerControl1.TabIndex = 6;
|
||||
//
|
||||
// gridControlMain
|
||||
//
|
||||
this.gridControlMain.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.gridControlMain.EmbeddedNavigator.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.gridControlMain.Location = new System.Drawing.Point(0, 0);
|
||||
this.gridControlMain.MainView = this.gridViewMain;
|
||||
this.gridControlMain.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.gridControlMain.Name = "gridControlMain";
|
||||
this.gridControlMain.Size = new System.Drawing.Size(674, 916);
|
||||
this.gridControlMain.Size = new System.Drawing.Size(472, 611);
|
||||
this.gridControlMain.TabIndex = 5;
|
||||
this.gridControlMain.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
|
||||
this.gridViewMain});
|
||||
@ -228,7 +206,6 @@
|
||||
//
|
||||
this.gridViewMain.Appearance.Row.BackColor = System.Drawing.Color.Transparent;
|
||||
this.gridViewMain.Appearance.Row.Options.UseBackColor = true;
|
||||
this.gridViewMain.DetailHeight = 525;
|
||||
this.gridViewMain.GridControl = this.gridControlMain;
|
||||
this.gridViewMain.Name = "gridViewMain";
|
||||
this.gridViewMain.OptionsBehavior.Editable = false;
|
||||
@ -243,10 +220,9 @@
|
||||
//
|
||||
this.chartControlMain.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.chartControlMain.Location = new System.Drawing.Point(0, 0);
|
||||
this.chartControlMain.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.chartControlMain.Name = "chartControlMain";
|
||||
this.chartControlMain.SeriesSerializable = new DevExpress.XtraCharts.Series[0];
|
||||
this.chartControlMain.Size = new System.Drawing.Size(560, 916);
|
||||
this.chartControlMain.Size = new System.Drawing.Size(392, 611);
|
||||
this.chartControlMain.TabIndex = 0;
|
||||
this.chartControlMain.DoubleClick += new System.EventHandler(this.chartControlMain_DoubleClick);
|
||||
//
|
||||
@ -263,15 +239,15 @@
|
||||
this.layoutControlItem7,
|
||||
this.layoutControlItem6});
|
||||
this.Root.Name = "Root";
|
||||
this.Root.Size = new System.Drawing.Size(1684, 952);
|
||||
this.Root.Size = new System.Drawing.Size(1179, 635);
|
||||
this.Root.TextVisible = false;
|
||||
//
|
||||
// layoutControlItem3
|
||||
//
|
||||
this.layoutControlItem3.Control = this.splitContainerControl1;
|
||||
this.layoutControlItem3.Location = new System.Drawing.Point(401, 0);
|
||||
this.layoutControlItem3.Location = new System.Drawing.Point(281, 0);
|
||||
this.layoutControlItem3.Name = "layoutControlItem3";
|
||||
this.layoutControlItem3.Size = new System.Drawing.Size(1255, 922);
|
||||
this.layoutControlItem3.Size = new System.Drawing.Size(878, 615);
|
||||
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
|
||||
this.layoutControlItem3.TextVisible = false;
|
||||
//
|
||||
@ -279,10 +255,10 @@
|
||||
//
|
||||
this.layoutControlItem1.Control = this.groupControl1;
|
||||
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
|
||||
this.layoutControlItem1.MaxSize = new System.Drawing.Size(401, 0);
|
||||
this.layoutControlItem1.MinSize = new System.Drawing.Size(401, 7);
|
||||
this.layoutControlItem1.MaxSize = new System.Drawing.Size(281, 0);
|
||||
this.layoutControlItem1.MinSize = new System.Drawing.Size(281, 5);
|
||||
this.layoutControlItem1.Name = "layoutControlItem1";
|
||||
this.layoutControlItem1.Size = new System.Drawing.Size(401, 453);
|
||||
this.layoutControlItem1.Size = new System.Drawing.Size(281, 302);
|
||||
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
|
||||
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
|
||||
this.layoutControlItem1.TextVisible = false;
|
||||
@ -290,11 +266,11 @@
|
||||
// layoutControlItem4
|
||||
//
|
||||
this.layoutControlItem4.Control = this.simpleButtonOKDataOnly;
|
||||
this.layoutControlItem4.Location = new System.Drawing.Point(0, 883);
|
||||
this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 39);
|
||||
this.layoutControlItem4.MinSize = new System.Drawing.Size(127, 39);
|
||||
this.layoutControlItem4.Location = new System.Drawing.Point(0, 589);
|
||||
this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 26);
|
||||
this.layoutControlItem4.MinSize = new System.Drawing.Size(89, 26);
|
||||
this.layoutControlItem4.Name = "layoutControlItem4";
|
||||
this.layoutControlItem4.Size = new System.Drawing.Size(194, 39);
|
||||
this.layoutControlItem4.Size = new System.Drawing.Size(136, 26);
|
||||
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
|
||||
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
|
||||
this.layoutControlItem4.TextVisible = false;
|
||||
@ -302,11 +278,11 @@
|
||||
// layoutControlItem5
|
||||
//
|
||||
this.layoutControlItem5.Control = this.simpleButtonAllData;
|
||||
this.layoutControlItem5.Location = new System.Drawing.Point(194, 883);
|
||||
this.layoutControlItem5.MaxSize = new System.Drawing.Size(0, 39);
|
||||
this.layoutControlItem5.MinSize = new System.Drawing.Size(127, 39);
|
||||
this.layoutControlItem5.Location = new System.Drawing.Point(136, 589);
|
||||
this.layoutControlItem5.MaxSize = new System.Drawing.Size(0, 26);
|
||||
this.layoutControlItem5.MinSize = new System.Drawing.Size(89, 26);
|
||||
this.layoutControlItem5.Name = "layoutControlItem5";
|
||||
this.layoutControlItem5.Size = new System.Drawing.Size(207, 39);
|
||||
this.layoutControlItem5.Size = new System.Drawing.Size(145, 26);
|
||||
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
|
||||
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
|
||||
this.layoutControlItem5.TextVisible = false;
|
||||
@ -314,38 +290,37 @@
|
||||
// layoutControlItem2
|
||||
//
|
||||
this.layoutControlItem2.Control = this.groupControl2;
|
||||
this.layoutControlItem2.Location = new System.Drawing.Point(0, 453);
|
||||
this.layoutControlItem2.Location = new System.Drawing.Point(0, 302);
|
||||
this.layoutControlItem2.Name = "layoutControlItem2";
|
||||
this.layoutControlItem2.Size = new System.Drawing.Size(401, 397);
|
||||
this.layoutControlItem2.Size = new System.Drawing.Size(281, 264);
|
||||
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
|
||||
this.layoutControlItem2.TextVisible = false;
|
||||
//
|
||||
// layoutControlItem7
|
||||
//
|
||||
this.layoutControlItem7.Control = this.labelControl1;
|
||||
this.layoutControlItem7.Location = new System.Drawing.Point(0, 850);
|
||||
this.layoutControlItem7.Location = new System.Drawing.Point(0, 566);
|
||||
this.layoutControlItem7.Name = "layoutControlItem7";
|
||||
this.layoutControlItem7.Size = new System.Drawing.Size(116, 33);
|
||||
this.layoutControlItem7.Size = new System.Drawing.Size(81, 23);
|
||||
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
|
||||
this.layoutControlItem7.TextVisible = false;
|
||||
//
|
||||
// layoutControlItem6
|
||||
//
|
||||
this.layoutControlItem6.Control = this.toggleSwitchAutoRange;
|
||||
this.layoutControlItem6.Location = new System.Drawing.Point(116, 850);
|
||||
this.layoutControlItem6.Location = new System.Drawing.Point(81, 566);
|
||||
this.layoutControlItem6.Name = "layoutControlItem6";
|
||||
this.layoutControlItem6.Size = new System.Drawing.Size(285, 33);
|
||||
this.layoutControlItem6.Size = new System.Drawing.Size(200, 23);
|
||||
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
|
||||
this.layoutControlItem6.TextVisible = false;
|
||||
//
|
||||
// UcTRAStepTrend
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 18F);
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.layoutControl1);
|
||||
this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.Name = "UcTRAStepTrend";
|
||||
this.Size = new System.Drawing.Size(1684, 952);
|
||||
this.Size = new System.Drawing.Size(1179, 635);
|
||||
this.Load += new System.EventHandler(this.UcTRADetailTestResult_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
|
||||
this.layoutControl1.ResumeLayout(false);
|
||||
|
||||
@ -199,17 +199,14 @@ namespace SystemX.Product.TRA.UIControl
|
||||
|
||||
DataRow dtRowLogFirst = vdtRowLogs[0];
|
||||
DateTime dtTested = Convert.ToDateTime(dtRowLogFirst[DMTestHistory.eColList.TestDateTime.ToString()]);
|
||||
ulong ulAccessNo = Convert.ToUInt64(dtRowLogFirst[DMTestHistory.eColList.No.ToString()]);
|
||||
|
||||
CPXV2Log.Tables.HIST_TestResult drStep = null;
|
||||
|
||||
for (int i = 0; i < vdtRowLogs.Count; i++)
|
||||
{
|
||||
dtRowLogFirst = vdtRowLogs[i];
|
||||
dtTested = Convert.ToDateTime(dtRowLogFirst[DMTestHistory.eColList.TestDateTime.ToString()]);
|
||||
ulAccessNo = Convert.ToUInt64(dtRowLogFirst[DMTestHistory.eColList.No.ToString()]);
|
||||
|
||||
DataTable dtFirstLog = DataManager.SearchTestResult(dtTested, ulAccessNo);
|
||||
DataTable dtFirstLog = DataManager.SearchTestResult(dtTested);
|
||||
|
||||
var logData = dtFirstLog.Rows[0]["LogData"].ToString();
|
||||
var decompStr = logData.GzipDecompress();
|
||||
@ -225,23 +222,16 @@ namespace SystemX.Product.TRA.UIControl
|
||||
if (drStep == null)
|
||||
return;
|
||||
|
||||
int nPoint = 0;
|
||||
DataTable dtResult = GetTrendData(dtTested, vdtRowLogs);
|
||||
|
||||
nPoint = 1;
|
||||
dtResult = CombineLogForm(dtResult, dtRow);
|
||||
|
||||
nPoint = 2;
|
||||
TrendDataResult resultUnit = MakeTrendSummary(dtResult, dtRow, data);
|
||||
|
||||
nPoint = 3;
|
||||
ShowDataTable(dtResult);
|
||||
|
||||
nPoint = 4;
|
||||
ShowTestStepSummary(resultUnit);
|
||||
|
||||
nPoint = 5;
|
||||
ShowTrendChart(resultUnit);
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@ -258,14 +248,16 @@ namespace SystemX.Product.TRA.UIControl
|
||||
{
|
||||
DataTable dtResult = DataManager.GetTestStepResults(dtTested, vnData.Select(x => Convert.ToUInt64(x[0])).ToList());
|
||||
|
||||
dtResult.Columns.Add(eColDataTable.RowNo.ToString(), typeof(ulong));
|
||||
dtResult.Columns.Add(eColDataTable.RowNo.ToString(), typeof(int));
|
||||
|
||||
for (int i = 0; i < dtResult.Rows.Count; i++)
|
||||
dtResult.Rows[i][eColDataTable.RowNo.ToString()] = i + 1;
|
||||
|
||||
|
||||
return dtResult;
|
||||
}
|
||||
|
||||
|
||||
DataTable CombineLogForm(DataTable dtResult, DataRow dtRowTestlistSpec)
|
||||
{
|
||||
DataTable dtFinal = new DataTable();
|
||||
@ -283,101 +275,41 @@ namespace SystemX.Product.TRA.UIControl
|
||||
DataRow drTL = DTTestLogList.AsEnumerable().Where(x =>
|
||||
x[DMTestHistory.eColList.TestID.ToString()].ToString() == drLog[DMTestHistory.eColList.TestID.ToString()].ToString()).FirstOrDefault();*/
|
||||
|
||||
try
|
||||
{
|
||||
string logData = drLog["LogData"].ToString();
|
||||
string decompStr = logData.GzipDecompress();
|
||||
List<CPXV2Log.Tables.HIST_TestResult> list = JsonConvert.DeserializeObject<List<CPXV2Log.Tables.HIST_TestResult>>(decompStr);
|
||||
//string strValue = drLog[DMTestHistory.eColList.No.ToString()].ToString();
|
||||
|
||||
long outValue = 0;
|
||||
if (Int64.TryParse(dtRowTestlistSpec[2].ToString(), out outValue))
|
||||
{
|
||||
CPXV2Log.Tables.HIST_TestResult row = list.Where(x => x.StepID == outValue)?.First();
|
||||
if(row == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
DataRow drTL = DTTestLogList.AsEnumerable()
|
||||
.Where(x => Convert.ToInt64(x[DMTestHistory.eColList.No.ToString()]) == Convert.ToInt64(drLog[0].ToString())).FirstOrDefault();
|
||||
|
||||
if (//!string.IsNullOrEmpty(row.MeasValStr) ||
|
||||
//!string.IsNullOrEmpty(row.Message) ||
|
||||
((row.MeasVal == 0) ||
|
||||
string.Compare(row.Result, "NONE") == 0))
|
||||
continue;
|
||||
DataRow drDisp = dtFinal.NewRow();
|
||||
|
||||
//string strValue = drLog[DMTestHistory.eColList.No.ToString()].ToString();
|
||||
try
|
||||
{
|
||||
DataRow drTL = DTTestLogList.AsEnumerable()
|
||||
.Where(x => Convert.ToInt64(x[DMTestHistory.eColList.No.ToString()]) == Convert.ToInt64(drLog[0].ToString())).FirstOrDefault();
|
||||
if (drTL == null)
|
||||
continue;
|
||||
|
||||
DataRow drDisp = dtFinal.NewRow();
|
||||
var logData = drLog["LogData"].ToString();
|
||||
var decompStr = logData.GzipDecompress();
|
||||
var list = JsonConvert.DeserializeObject<List<CPXV2Log.Tables.HIST_TestResult>>(decompStr);
|
||||
var row = list.Where(x => x.StepID == Convert.ToInt64(dtRowTestlistSpec[2].ToString())).First();
|
||||
|
||||
if (drTL == null)
|
||||
continue;
|
||||
drDisp[eColDataTable.RowNo.ToString()] = (int)drLog[eColDataTable.RowNo.ToString()];
|
||||
drDisp[eColDataTable.TestTime.ToString()] = drTL[1].ToString();
|
||||
drDisp[eColDataTable.ProductID.ToString()] = drTL[5].ToString();
|
||||
drDisp[eColDataTable.Result.ToString()] = row.Result.ToString();
|
||||
|
||||
drDisp[0] = drLog[0];
|
||||
drDisp[1] = drTL[1].ToString();
|
||||
drDisp[2] = drTL[5].ToString();
|
||||
bool bIsGlobal = (Convert.ToInt32(dtRowTestlistSpec[eColTestlist.IsGlobal.ToString()])) > 0 ? true : false;
|
||||
|
||||
bool bIsGlobal = (Convert.ToInt32(dtRowTestlistSpec[eColTestlist.IsGlobal.ToString()])) > 0 ? true : false;
|
||||
drDisp[eColDataTable.Min.ToString()] = bIsGlobal ? row.GlobalMin.ToString() : dtRowTestlistSpec[eColTestlist.SpecMin.ToString()].ToString();
|
||||
drDisp[eColDataTable.Max.ToString()] = bIsGlobal ? row.GlobalMAx.ToString() : dtRowTestlistSpec[eColTestlist.SpecMax.ToString()].ToString();
|
||||
|
||||
drDisp[3] = bIsGlobal ? row.GlobalMin.ToString() : dtRowTestlistSpec[eColTestlist.SpecMin.ToString()].ToString();
|
||||
drDisp[5] = bIsGlobal ? row.GlobalMAx.ToString() : dtRowTestlistSpec[eColTestlist.SpecMax.ToString()].ToString();
|
||||
string strMessage = row.Message.ToString();
|
||||
string strMeasValStr = row.MeasValStr.ToString();
|
||||
string strMeasVal = row.MeasVal.ToString();
|
||||
|
||||
string strMessage = row.Message.ToString();
|
||||
string strMeasValStr = row.MeasValStr.ToString();
|
||||
string strMeasVal = row.MeasVal.ToString();
|
||||
drDisp[eColDataTable.Value.ToString()] = string.IsNullOrWhiteSpace(strMessage) ? (string.IsNullOrWhiteSpace(strMeasValStr) ? strMeasVal : strMeasValStr) : strMessage;
|
||||
drDisp[eColDataTable.Result.ToString()] = row.Result.ToString();
|
||||
|
||||
drDisp[4] = string.IsNullOrWhiteSpace(strMessage) ? (string.IsNullOrWhiteSpace(strMeasValStr) ? strMeasVal : strMeasValStr) : strMessage;
|
||||
drDisp[6] = row.Result.ToString();
|
||||
|
||||
/*
|
||||
public enum eColDataTable
|
||||
{
|
||||
RowNo,
|
||||
TestTime,
|
||||
ProductID,
|
||||
Min,
|
||||
Value,
|
||||
Max,
|
||||
Result,
|
||||
Duration
|
||||
}
|
||||
drDisp[eColDataTable.RowNo.ToString()] = drLog[eColDataTable.RowNo.ToString()];
|
||||
drDisp[eColDataTable.TestTime.ToString()] = drTL[1].ToString();
|
||||
drDisp[eColDataTable.ProductID.ToString()] = drTL[5].ToString();
|
||||
drDisp[eColDataTable.Result.ToString()] = row.Result.ToString();
|
||||
|
||||
bool bIsGlobal = (Convert.ToInt32(dtRowTestlistSpec[eColTestlist.IsGlobal.ToString()])) > 0 ? true : false;
|
||||
|
||||
drDisp[eColDataTable.Min.ToString()] = bIsGlobal ? row.GlobalMin.ToString() : dtRowTestlistSpec[eColTestlist.SpecMin.ToString()].ToString();
|
||||
drDisp[eColDataTable.Max.ToString()] = bIsGlobal ? row.GlobalMAx.ToString() : dtRowTestlistSpec[eColTestlist.SpecMax.ToString()].ToString();
|
||||
|
||||
string strMessage = row.Message.ToString();
|
||||
string strMeasValStr = row.MeasValStr.ToString();
|
||||
string strMeasVal = row.MeasVal.ToString();
|
||||
|
||||
drDisp[eColDataTable.Value.ToString()] = string.IsNullOrWhiteSpace(strMessage) ? (string.IsNullOrWhiteSpace(strMeasValStr) ? strMeasVal : strMeasValStr) : strMessage;
|
||||
drDisp[eColDataTable.Result.ToString()] = row.Result.ToString();
|
||||
*/
|
||||
|
||||
dtFinal.Rows.Add(drDisp);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
dtFinal.Rows.Add(drDisp);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return dtFinal;
|
||||
}
|
||||
|
||||
|
||||
@ -72,7 +72,7 @@ namespace SystemX.Product.TRA.UIControl
|
||||
|
||||
public UcTRASummaryTestResult()
|
||||
{
|
||||
ContentsType = eContents.TestSummary;
|
||||
ContentsType = eContents.TestSumamry;
|
||||
|
||||
InitializeComponent();
|
||||
}
|
||||
@ -235,18 +235,6 @@ namespace SystemX.Product.TRA.UIControl
|
||||
*/
|
||||
|
||||
//drTL = DataManager[nAccessPos].Rows.Find(drLog[eColTestLog.StepID.ToString()]);
|
||||
|
||||
/*
|
||||
try
|
||||
{
|
||||
drTL = DataManager.dtHistVersionTL.Rows.Find(drLog[eColTestLog.StepID.ToString()]);
|
||||
}
|
||||
catch
|
||||
{
|
||||
drTL = null;
|
||||
}
|
||||
*/
|
||||
|
||||
drTL = DataManager.dtHistVersionTL.Rows.Find(drLog[eColTestLog.StepID.ToString()]);
|
||||
|
||||
if (drTL == null)
|
||||
@ -263,47 +251,24 @@ namespace SystemX.Product.TRA.UIControl
|
||||
DataRow drDisp = dtFinal.NewRow();
|
||||
|
||||
drDisp[eColDataTable.StepNo.ToString()] = Convert.ToInt32(Convert.ToInt32(drLog[eColTestSummary.StepID.ToString()]));
|
||||
drDisp[eColDataTable.Variant.ToString()] = drTL[eColTestlist.Variant.ToString()].ToString();
|
||||
drDisp[eColDataTable.Gate.ToString()] = drTL[eColTestlist.Gate.ToString()].ToString();
|
||||
drDisp[eColDataTable.MO.ToString()] = drTL[eColTestlist.StepDesc.ToString()].ToString();
|
||||
drDisp[eColDataTable.Function.ToString()] = drTL[eColTestlist.UseFunction.ToString()].ToString();
|
||||
|
||||
if (drTL != null)
|
||||
{
|
||||
drDisp[eColDataTable.Variant.ToString()] = drTL[eColTestlist.Variant.ToString()].ToString();
|
||||
drDisp[eColDataTable.Gate.ToString()] = drTL[eColTestlist.Gate.ToString()].ToString();
|
||||
drDisp[eColDataTable.MO.ToString()] = drTL[eColTestlist.StepDesc.ToString()].ToString();
|
||||
drDisp[eColDataTable.Function.ToString()] = drTL[eColTestlist.UseFunction.ToString()].ToString();
|
||||
bool bIsGlobal = (Convert.ToInt32(drTL[eColTestlist.IsGlobal.ToString()])) > 0 ? true : false;
|
||||
|
||||
bool bIsGlobal = (Convert.ToInt32(drTL[eColTestlist.IsGlobal.ToString()])) > 0 ? true : false;
|
||||
drDisp[eColDataTable.Min.ToString()] = bIsGlobal ? "Global Var" : drTL[eColTestlist.SpecMin.ToString()].ToString();
|
||||
drDisp[eColDataTable.Max.ToString()] = bIsGlobal ? "Global Var" : drTL[eColTestlist.SpecMax.ToString()].ToString();
|
||||
|
||||
drDisp[eColDataTable.Min.ToString()] = bIsGlobal ? "Global Var" : drTL[eColTestlist.SpecMin.ToString()].ToString();
|
||||
drDisp[eColDataTable.Max.ToString()] = bIsGlobal ? "Global Var" : drTL[eColTestlist.SpecMax.ToString()].ToString();
|
||||
}
|
||||
/*
|
||||
else
|
||||
{
|
||||
drDisp[eColDataTable.Variant.ToString()] = drLog[eColDataTable.Variant.ToString()].ToString();
|
||||
drDisp[eColDataTable.Gate.ToString()] = drLog[eColDataTable.Gate.ToString()].ToString();
|
||||
drDisp[eColDataTable.MO.ToString()] = drLog[eColDataTable.MO.ToString()].ToString();
|
||||
drDisp[eColDataTable.Function.ToString()] = drLog[eColDataTable.Function.ToString()].ToString();
|
||||
|
||||
drDisp[eColDataTable.Min.ToString()] = drLog[eColDataTable.Min.ToString()].ToString();
|
||||
drDisp[eColDataTable.Max.ToString()] = drLog[eColDataTable.Max.ToString()].ToString();
|
||||
}
|
||||
*/
|
||||
var strMeasVal = drLog[eColTestSummary.Average.ToString()];
|
||||
int nOK = Convert.ToInt32(drLog[eColTestSummary.OK.ToString()]);
|
||||
int nNOK = Convert.ToInt32(drLog[eColTestSummary.NG.ToString()]);
|
||||
|
||||
drDisp[eColDataTable.Average.ToString()] = strMeasVal == null ? string.Empty : (nOK + nNOK) == 0 ? string.Empty : strMeasVal.ToString();
|
||||
|
||||
if (drTL != null)
|
||||
{
|
||||
drDisp[eColDataTable.Dimension.ToString()] = drTL[eColTestlist.Dim.ToString()].ToString();
|
||||
}
|
||||
/*
|
||||
else
|
||||
{
|
||||
drDisp[eColDataTable.Dimension.ToString()] = drLog[eColTestlist.Dim.ToString()].ToString();
|
||||
}
|
||||
*/
|
||||
drDisp[eColDataTable.Dimension.ToString()] = drTL[eColTestlist.Dim.ToString()].ToString();
|
||||
|
||||
drDisp[eColDataTable.Total.ToString()] = Convert.ToInt32(drLog[eColTestSummary.Total.ToString()]);
|
||||
drDisp[eColDataTable.OK.ToString()] = nOK;
|
||||
drDisp[eColDataTable.NG.ToString()] = nNOK;
|
||||
|
||||
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<DBConnInfo>
|
||||
<UseVersion>CPXV2</UseVersion>
|
||||
<MainConnInfo>
|
||||
<Type>MS_SQL</Type>
|
||||
<IP>192.168.0.23</IP>
|
||||
<Port>1433</Port>
|
||||
<ID>Alis</ID>
|
||||
<PW>Kefico!@34</PW>
|
||||
<SCHEMA>CPXV2</SCHEMA>
|
||||
<SUMMARY_TABLE>HIST_TesterSummary</SUMMARY_TABLE>
|
||||
<VERSION_TABLE>HIST_TestListFileLatestStepVersion</VERSION_TABLE>
|
||||
<VRFY_TABLE>VRFY_TestListFileRelease</VRFY_TABLE>
|
||||
<MAC_ADDR>-</MAC_ADDR>
|
||||
<SSPI>True</SSPI>
|
||||
</MainConnInfo>
|
||||
<ShortTermInfo>
|
||||
<Type>MS_SQL</Type>
|
||||
<IP>192.168.0.23</IP>
|
||||
<Port>1433</Port>
|
||||
<ID>Alis</ID>
|
||||
<PW>Kefico!@34</PW>
|
||||
<SCHEMA>CPXV2ShortTermLogJson</SCHEMA>
|
||||
<SUMMARY_TABLE>HIST_LogSummary_2024</SUMMARY_TABLE>
|
||||
<LOG_TABLE>HIST_TestResult_2024</LOG_TABLE>
|
||||
<MAC_ADDR>-</MAC_ADDR>
|
||||
<SSPI>True</SSPI>
|
||||
</ShortTermInfo>
|
||||
<LongTermInfo>
|
||||
<Type>MS_SQL</Type>
|
||||
<IP>192.168.0.23</IP>
|
||||
<Port>1433</Port>
|
||||
<ID>Alis</ID>
|
||||
<PW>Kefico!@34</PW>
|
||||
<SCHEMA>CPXV2LongTermLogJson_2024</SCHEMA>
|
||||
<SUMMARY_TABLE>HIST_LogSummary</SUMMARY_TABLE>
|
||||
<LOG_TABLE>HIST_TestResult</LOG_TABLE>
|
||||
<MAC_ADDR>-</MAC_ADDR>
|
||||
<SSPI>True</SSPI>
|
||||
</LongTermInfo>
|
||||
</DBConnInfo>
|
||||
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ROOT>
|
||||
<Configure>
|
||||
<Title>CP-Server X Log Process</Title>
|
||||
<LogFileSavePos>D:\Middleware Data\LOG</LogFileSavePos>
|
||||
<MESFileSavePos>D:\Middleware Data\MES</MESFileSavePos>
|
||||
|
||||
<UseFTP>False</UseFTP>
|
||||
<IPAddressFTP>14.33.116.123</IPAddressFTP>
|
||||
<PortFTP>2121</PortFTP>
|
||||
<AccountFTP>ALISFTP</AccountFTP>
|
||||
<PasswordFTP>Kefico!@34</PasswordFTP>
|
||||
<ScanTimeFTPms>30000</ScanTimeFTPms>
|
||||
|
||||
<ScanTimeBULKms>15000</ScanTimeBULKms>
|
||||
</Configure>
|
||||
</ROOT>
|
||||
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ROOT>
|
||||
<Configure>
|
||||
<MapLogEnterMutexName>SharedCPServerX_LogMutex_CPXV2</MapLogEnterMutexName>
|
||||
<MapLogAccessMutexName>CpServerX_LogAccessMutex_CPXV2</MapLogAccessMutexName>
|
||||
<MapLogFilePath>D:\CpServerXLogMappedFile_CPXV2\</MapLogFilePath>
|
||||
<MapLogFileName>CpServerX_LogSharedMemoryMap_CPXV2</MapLogFileName>
|
||||
<MapLogName>CpServerX_LogSharedData_CPXV2</MapLogName>
|
||||
|
||||
<MapInfoLogEnterMutexName>SharedCPServerX_InfoLogMutex_CPXV2</MapInfoLogEnterMutexName>
|
||||
<MapInfoLogAccessMutexName>CpServerX_InfoLogAccessMutex_CPXV2</MapInfoLogAccessMutexName>
|
||||
<MapInfoLogFilePath>D:\CpServerXLogMappedFile_CPXV2\</MapInfoLogFilePath>
|
||||
<MapInfoLogFileName>CpServerX_InfoLogSharedMemoryMap_CPXV2</MapInfoLogFileName>
|
||||
<MapInfoLogName>CpServerX_InfoLogSharedData_CPXV2</MapInfoLogName>
|
||||
</Configure>
|
||||
</ROOT>
|
||||
@ -63,6 +63,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
this.labelDBMain = new System.Windows.Forms.Label();
|
||||
this.progressBarProgram = new System.Windows.Forms.ProgressBar();
|
||||
this.panelSubFunc = new System.Windows.Forms.Panel();
|
||||
this.buttonManualLog = new System.Windows.Forms.Button();
|
||||
this.buttonDbConnect = new System.Windows.Forms.Button();
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.labelFTPTime = new System.Windows.Forms.Label();
|
||||
@ -88,6 +89,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.toolStripMenuItemExit = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripComboBox1 = new System.Windows.Forms.ToolStripComboBox();
|
||||
this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
|
||||
this.fluentDesignFormContainer1.SuspendLayout();
|
||||
this.panel2.SuspendLayout();
|
||||
this.panelMain.SuspendLayout();
|
||||
@ -465,6 +467,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
// panelSubFunc
|
||||
//
|
||||
this.panelSubFunc.BackColor = System.Drawing.Color.MidnightBlue;
|
||||
this.panelSubFunc.Controls.Add(this.buttonManualLog);
|
||||
this.panelSubFunc.Controls.Add(this.buttonDbConnect);
|
||||
this.panelSubFunc.Controls.Add(this.panel3);
|
||||
this.panelSubFunc.Controls.Add(this.buttonBulkInsertStart);
|
||||
@ -475,6 +478,19 @@ namespace SystemX.Net.MiddlewareUI
|
||||
this.panelSubFunc.Size = new System.Drawing.Size(1979, 58);
|
||||
this.panelSubFunc.TabIndex = 17;
|
||||
//
|
||||
// buttonManualLog
|
||||
//
|
||||
this.buttonManualLog.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.buttonManualLog.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.buttonManualLog.Location = new System.Drawing.Point(467, 0);
|
||||
this.buttonManualLog.Name = "buttonManualLog";
|
||||
this.buttonManualLog.Size = new System.Drawing.Size(216, 58);
|
||||
this.buttonManualLog.TabIndex = 3;
|
||||
this.buttonManualLog.Text = "Manual Log File Select";
|
||||
this.buttonManualLog.UseVisualStyleBackColor = false;
|
||||
this.buttonManualLog.Visible = false;
|
||||
this.buttonManualLog.Click += new System.EventHandler(this.buttonManualLog_Click);
|
||||
//
|
||||
// buttonDbConnect
|
||||
//
|
||||
this.buttonDbConnect.BackColor = System.Drawing.SystemColors.Control;
|
||||
@ -739,6 +755,10 @@ namespace SystemX.Net.MiddlewareUI
|
||||
this.toolStripComboBox1.Name = "toolStripComboBox1";
|
||||
this.toolStripComboBox1.Size = new System.Drawing.Size(121, 23);
|
||||
//
|
||||
// openFileDialog
|
||||
//
|
||||
this.openFileDialog.FileName = "openFileDialog";
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 22F);
|
||||
@ -752,7 +772,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
this.IconOptions.Image = global::SystemX.Net.MiddlewareUI.Log.Properties.Resources.AppIcon1;
|
||||
this.Name = "MainForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "SystemX.Net.Middleware.UI - Log CPX v240529";
|
||||
this.Text = "SystemX.Net.Middleware.UI - Log CPXV2-JSON v240912";
|
||||
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
|
||||
@ -844,6 +864,8 @@ namespace SystemX.Net.MiddlewareUI
|
||||
private System.Windows.Forms.Label labelShortTermSummaryTableName;
|
||||
private System.Windows.Forms.Button buttonDbConnect;
|
||||
private System.Windows.Forms.Label labelFTPTime;
|
||||
private System.Windows.Forms.Button buttonManualLog;
|
||||
private System.Windows.Forms.OpenFileDialog openFileDialog;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -141,7 +141,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
/// <summary>
|
||||
/// Base Variable
|
||||
/// </summary>
|
||||
private const int ALL_MANAGE_NUM = 110;
|
||||
private const int ALL_MANAGE_NUM = 310;
|
||||
|
||||
private const int PORT_DISTRIBUTION_NUM = 10;
|
||||
|
||||
@ -265,7 +265,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
InitializeComponent();
|
||||
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") +
|
||||
@"Use CP-Server[X] Middleware [LOG] Version for [CPXV2][v240529] " +
|
||||
@"Use CP-Server[X] Middleware [LOG] Version for [CPXV2][v240912] " +
|
||||
"[SystemX.Net.Middleware.Log : MainForm]", ConsoleColor.Green, LogMessageLevel.FATAL);
|
||||
//
|
||||
EnableMenuItem(GetSystemMenu(this.Handle, false), SC_CLOSE, MF_GRAYED);
|
||||
@ -600,5 +600,56 @@ namespace SystemX.Net.MiddlewareUI
|
||||
{
|
||||
bDatabaseConnResult = MngDBLogConn.CheckDatabaseConnection();
|
||||
}
|
||||
|
||||
private void buttonManualLog_Click(object sender, EventArgs e)
|
||||
{
|
||||
switch(openFileDialog.ShowDialog())
|
||||
{
|
||||
case DialogResult.OK:
|
||||
{
|
||||
//Scan And Send File
|
||||
string strGetRoot = Path.GetPathRoot(Environment.CurrentDirectory);
|
||||
|
||||
//오늘 포함 -6일전까지 검색
|
||||
string[] strScanYYYY = new string[7];
|
||||
string[] strScanMM = new string[7];
|
||||
string[] strScandd = new string[7];
|
||||
|
||||
for (int n = 6; n >= 0; n--)
|
||||
{
|
||||
DateTime dtSet = DateTime.Today.AddDays(-n);
|
||||
strScanYYYY[n] = dtSet.ToString("yyyy");
|
||||
strScanMM[n] = dtSet.ToString("MM");
|
||||
strScandd[n] = dtSet.ToString("dd");
|
||||
}
|
||||
//
|
||||
// 7일치 위치 확인
|
||||
//
|
||||
for (int n = 0; n < 7; n++)
|
||||
{
|
||||
string DirPath = strGetRoot + $@"\XProc\FTP\CpLog\{strScanYYYY[n]}\{strScanMM[n]}\{strScandd[n]}\";
|
||||
string DirMovePath = strGetRoot + $@"\XProc\FTP\CpLog\{strScanYYYY[n]}\{strScanMM[n]}\{strScandd[n]}\History\";
|
||||
|
||||
//생성 폴더가 없을경우 SKIP
|
||||
if (Directory.Exists(DirPath) == false)
|
||||
continue;
|
||||
|
||||
if (Directory.Exists(DirMovePath) == false)
|
||||
Directory.CreateDirectory(DirMovePath);
|
||||
|
||||
string fileExtension = "zip";
|
||||
|
||||
string[] dirs = Directory.GetDirectories(DirPath);
|
||||
string[] files = Directory.GetFiles(DirPath, $"*.{fileExtension}", SearchOption.TopDirectoryOnly);
|
||||
|
||||
if (files.Length <= 0)
|
||||
continue;
|
||||
|
||||
ProcFTPLogFiles(files, DirPath, DirMovePath);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -970,4 +970,7 @@
|
||||
rEEAAKxBAACsQQAArEEAAKxBAACsQQAArEE=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="openFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>571, 28</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@ -21,7 +21,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
{
|
||||
bool bCreateProgram = false;
|
||||
|
||||
Mutex SetMutex = new Mutex(true, "SystemX.Net.Middleware.UI.Log CPXV2", out bCreateProgram);
|
||||
Mutex SetMutex = new Mutex(true, "SystemX.Net.Middleware.UI.Log CPXV2-JSON", out bCreateProgram);
|
||||
|
||||
if (bCreateProgram)
|
||||
{
|
||||
|
||||
@ -353,7 +353,125 @@ namespace SystemX.Net.MiddlewareUI
|
||||
nProcPos += 1;
|
||||
}
|
||||
|
||||
private void RegisterCpLogData(ref int nProcPos, DataTable SetCpLogTable, DataSet dsVRFYInfo, DataRow dr, DataRow[] SetMakeLogRows)
|
||||
private void RegisterCpLogShortData(ref int nProcPos, DataTable SetCpLogTable, DataSet dsVRFYInfo, DataRow dr, DataRow[] SetMakeLogRows)
|
||||
{
|
||||
string strGetMeasure = string.Empty;
|
||||
|
||||
//CpLog 한행의 정보 획득
|
||||
ShortLogParamInfo.STEP = dr["STEP"].ToString().Trim();
|
||||
ShortLogParamInfo.POSITION = dr["POSITION"].ToString().Trim();
|
||||
ShortLogParamInfo.MO = dr["MO"].ToString().Trim();
|
||||
ShortLogParamInfo.FNC_NAME = dr["FNC_NAME"].ToString().Trim();
|
||||
ShortLogParamInfo.MIN = dr["MIN"].ToString().Trim();
|
||||
ShortLogParamInfo.MEASURE = dr["MEASURE"].ToString().Trim();
|
||||
ShortLogParamInfo.MAX = dr["MAX"].ToString().Trim();
|
||||
ShortLogParamInfo.DIM = dr["DIM"].ToString().Trim();
|
||||
ShortLogParamInfo.CHECK = dr["CHECK"].ToString().Trim();
|
||||
ShortLogParamInfo.SPENT_TIME = dr["SPENT_TIME"].ToString().Trim();
|
||||
ShortLogParamInfo.INFO = dr["INFO"].ToString().Trim();
|
||||
|
||||
ShortLogParamInfo.GLOBAL_SPEC = false;
|
||||
ShortLogParamInfo.VRFY_MIN = "";
|
||||
ShortLogParamInfo.VRFY_MAX = "";
|
||||
|
||||
//VRFY 키 지정 검색 > 현재의 STEP 이 VRFY 에 존재하면 해당 STEP 의 정보 VRFY 에서 가져옴
|
||||
DataRow getDr = dsVRFYInfo.Tables[0].Rows.Find(ShortLogParamInfo.STEP);
|
||||
if (getDr != null)
|
||||
{
|
||||
ShortLogParamInfo.GLOBAL_SPEC = Convert.ToBoolean(getDr["IsGlobal"]);
|
||||
|
||||
ShortLogParamInfo.VRFY_MIN = getDr["SpecMin"].ToString().Trim();
|
||||
ShortLogParamInfo.VRFY_MAX = getDr["SpecMax"].ToString().Trim();
|
||||
}
|
||||
|
||||
//DataRow 를 설정된 DataTable Format으로 한행 생성
|
||||
SetMakeLogRows[nProcPos] = SetCpLogTable.NewRow();
|
||||
|
||||
//CpLog 의 정보와 VRFY 정보를 조건에 따라 생성한 DataRow에 업데이트
|
||||
SetMakeLogRows[nProcPos]["StepID"] = ShortLogParamInfo.STEP;
|
||||
|
||||
SetMakeLogRows[nProcPos]["MeasVal"] = Convert.ToDecimal(0);
|
||||
SetMakeLogRows[nProcPos]["MeasValStr"] = "";
|
||||
SetMakeLogRows[nProcPos]["Message"] = "";
|
||||
|
||||
if (ShortLogParamInfo.FNC_NAME.IndexOf("PRINTOUT") >= 0)
|
||||
{
|
||||
if (ShortLogParamInfo.MEASURE.Length > ShortLogParamInfo.MessageLength)
|
||||
{
|
||||
strGetMeasure = ShortLogParamInfo.MEASURE;
|
||||
strGetMeasure = strGetMeasure.Substring(0, ShortLogParamInfo.MessageLength);
|
||||
|
||||
SetMakeLogRows[nProcPos]["Message"] = strGetMeasure;
|
||||
}
|
||||
else SetMakeLogRows[nProcPos]["Message"] = ShortLogParamInfo.MEASURE;
|
||||
}
|
||||
else if (ShortLogParamInfo.DIM.IndexOf("STR") >= 0 ||
|
||||
ShortLogParamInfo.DIM.IndexOf("STRING") >= 0 ||
|
||||
ShortLogParamInfo.DIM.IndexOf("HEX") >= 0 ||
|
||||
ShortLogParamInfo.DIM.IndexOf("NONE") >= 0 ||
|
||||
ShortLogParamInfo.DIM.IndexOf("BIN") >= 0 ||
|
||||
ShortLogParamInfo.DIM == string.Empty)
|
||||
{
|
||||
if (ShortLogParamInfo.MEASURE.Length > ShortLogParamInfo.MessageValLength)
|
||||
{
|
||||
strGetMeasure = ShortLogParamInfo.MEASURE;
|
||||
strGetMeasure = strGetMeasure.Substring(0, ShortLogParamInfo.MessageValLength);
|
||||
|
||||
SetMakeLogRows[nProcPos]["MeasValStr"] = strGetMeasure;
|
||||
}
|
||||
else SetMakeLogRows[nProcPos]["MeasValStr"] = ShortLogParamInfo.MEASURE;
|
||||
}
|
||||
else
|
||||
{
|
||||
//상기 케이스에 다 해당 안될때 Decimal 삽입 아무값이 없을 때 0 삽입
|
||||
if (ShortLogParamInfo.MEASURE.Length <= 0)
|
||||
SetMakeLogRows[nProcPos]["MeasVal"] = Convert.ToDecimal(0);
|
||||
else
|
||||
{
|
||||
//Measure 존재에 대한 값변환 시도 및 실패시 String 항목으로 삽입
|
||||
decimal getMeasValue = decimal.Zero;
|
||||
if (Decimal.TryParse(ShortLogParamInfo.MEASURE, out getMeasValue))
|
||||
SetMakeLogRows[nProcPos]["MeasVal"] = getMeasValue;
|
||||
else
|
||||
{
|
||||
//0 삽입 및 Str 에 >> 표시 및 Message 에 데이터 표시
|
||||
SetMakeLogRows[nProcPos]["MeasVal"] = Convert.ToDecimal(0);
|
||||
SetMakeLogRows[nProcPos]["MeasValStr"] = ">>";
|
||||
SetMakeLogRows[nProcPos]["Message"] = ShortLogParamInfo.MEASURE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//IS GLOBAL 이면 CpLog 에서 읽은 정보 삽입 아니면 VRFY 에서 읽은 정보 삽입
|
||||
if (ShortLogParamInfo.GLOBAL_SPEC)
|
||||
{
|
||||
SetMakeLogRows[nProcPos]["GlobalMin"] = ShortLogParamInfo.MIN;
|
||||
SetMakeLogRows[nProcPos]["GlobalMax"] = ShortLogParamInfo.MAX;
|
||||
}
|
||||
else
|
||||
{
|
||||
SetMakeLogRows[nProcPos]["GlobalMin"] = ShortLogParamInfo.VRFY_MIN;
|
||||
SetMakeLogRows[nProcPos]["GlobalMax"] = ShortLogParamInfo.VRFY_MAX;
|
||||
|
||||
if (ShortLogParamInfo.VRFY_MIN.Length <= 0 &&
|
||||
ShortLogParamInfo.VRFY_MAX.Length <= 0)
|
||||
{
|
||||
if (ShortLogParamInfo.MIN.Length > 0 ||
|
||||
ShortLogParamInfo.MAX.Length > 0)
|
||||
{
|
||||
SetMakeLogRows[nProcPos]["GlobalMin"] = ShortLogParamInfo.MIN;
|
||||
SetMakeLogRows[nProcPos]["GlobalMax"] = ShortLogParamInfo.MAX;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SetMakeLogRows[nProcPos]["Result"] = ShortLogParamInfo.CHECK;
|
||||
SetMakeLogRows[nProcPos]["SpentTime"] = ShortLogParamInfo.SPENT_TIME;
|
||||
|
||||
nProcPos += 1;
|
||||
}
|
||||
|
||||
private void RegisterCpLogLongData(ref int nProcPos, DataTable SetCpLogTable, DataSet dsVRFYInfo, DataRow dr, DataRow[] SetMakeLogRows)
|
||||
{
|
||||
string strGetMeasure = string.Empty;
|
||||
|
||||
@ -515,7 +633,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
{
|
||||
try
|
||||
{
|
||||
RegisterCpLogData(ref nProcPos, SetCpLogTable, dsVRFYInfo, dr, SetMakeLogRows);
|
||||
RegisterCpLogShortData(ref nProcPos, SetCpLogTable, dsVRFYInfo, dr, SetMakeLogRows);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@ -579,7 +697,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
{
|
||||
try
|
||||
{
|
||||
RegisterCpLogData(ref nProcPos, SetCpLogTable, dsVRFYInfo, dr, SetMakeLogRows);
|
||||
RegisterCpLogLongData(ref nProcPos, SetCpLogTable, dsVRFYInfo, dr, SetMakeLogRows);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@ -871,6 +989,11 @@ namespace SystemX.Net.MiddlewareUI
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + CPXV2_CpLogProcessInfo.strProcessDebugInfo + @" CPXV2 CpLogProcess Log make information failed. [SystemX.Net.MiddlewareUI : MainForm.CPXV2_CpLogProcess]", ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
}
|
||||
|
||||
Task<DataRow> tskLongTerm = null;
|
||||
|
||||
Stopwatch stMeasTime = new Stopwatch();
|
||||
stMeasTime.Start();
|
||||
|
||||
try
|
||||
{
|
||||
//CpLog 파일 읽은 여부 확인
|
||||
@ -885,9 +1008,6 @@ namespace SystemX.Net.MiddlewareUI
|
||||
CommonProtocol cp = new CommonProtocol();
|
||||
|
||||
//Summary 테이블 다중 접근 방지(인덱스)
|
||||
Stopwatch stMeasTime = new Stopwatch();
|
||||
stMeasTime.Start();
|
||||
|
||||
DataSet ds = null;
|
||||
|
||||
bool hasRows = false;
|
||||
@ -1090,7 +1210,6 @@ namespace SystemX.Net.MiddlewareUI
|
||||
CPXV2_CpLogProcessInfo.strSection,
|
||||
ref summaryItem);
|
||||
|
||||
Task<DataRow> tskLongTerm = null;
|
||||
//if (MngDBConn.InfoConnection.UTSI_STATE == false)
|
||||
|
||||
//tskLongTerm = Task.Run(async () => await CpLogProcessLongTerm(iPos, GetMappedInfo, getCpLogHeader, dtLogData, summaryItem[1]));
|
||||
@ -1106,18 +1225,41 @@ namespace SystemX.Net.MiddlewareUI
|
||||
|
||||
bDupLogSkipState = true;
|
||||
|
||||
if (tskLongTerm != null)
|
||||
lstBulkLongTermLog.Add(tskLongTerm.Result);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//Summary 객체를 이용해 DB 삽입할 SqlCommand 생성
|
||||
SqlCommand cmd = cp.LogDataSummaryInsert(MngDBLogConn.GetDBConnectInfo().ConnShortTerm.SUMMARY_TABLE, summaryItem[0]);
|
||||
SqlCommand cmd = null;
|
||||
//
|
||||
try
|
||||
{
|
||||
cmd = cp.LogDataSummaryInsert(MngDBLogConn.GetDBConnectInfo().ConnShortTerm.SUMMARY_TABLE, summaryItem[0]);
|
||||
}
|
||||
catch
|
||||
{
|
||||
Type type = typeof(HISTLogSummary);
|
||||
FieldInfo[] f = type.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
|
||||
//Summary 삽입 > 실패시 처리
|
||||
bProcessResult = ExcuteNonQueryStreamProcess(eConnCategory.ShortTerm, cmd);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (FieldInfo item in f)
|
||||
{
|
||||
sb.AppendLine(item.Name.Substring(item.Name.IndexOf("<") + 1, item.Name.IndexOf(">") - item.Name.IndexOf("<") - 1)
|
||||
+ ">>>" + item.GetValue(summaryItem[0]).ToString().Trim());
|
||||
}
|
||||
MessageOutput.ConsoleWrite(sb.ToString());
|
||||
|
||||
throw new Exception("<Failed Make " + MngDBLogConn.GetDBConnectInfo().ConnShortTerm.SUMMARY_TABLE + " LogDataSummaryInsert eConnCategory.ShortTerm>");
|
||||
}
|
||||
//
|
||||
try
|
||||
{
|
||||
//Summary 삽입 > 실패시 처리
|
||||
bProcessResult = ExcuteNonQueryStreamProcess(eConnCategory.ShortTerm, cmd);
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw new Exception("<Failed ExcuteNonQueryStreamProcess eConnCategory.ShortTerm - " + cmd.CommandText + ">");
|
||||
}
|
||||
// TODO : SHM JSON
|
||||
/*
|
||||
try
|
||||
@ -1214,7 +1356,15 @@ namespace SystemX.Net.MiddlewareUI
|
||||
|
||||
lstBulkShortTermLog.Add(SetProcLogDr);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
bProcessResult = false;
|
||||
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + strProcessDebugInfo + @" CPXV2 Make CpLogProcess fail.[SystemX.Net.MiddlewareUI : MainForm.CPXV2_CpLogProcess]\r\n" + e.Message, ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (tskLongTerm != null)
|
||||
lstBulkLongTermLog.Add(tskLongTerm.Result);
|
||||
|
||||
@ -1228,15 +1378,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
}
|
||||
|
||||
LogDataProcessText.Enqueue(new StringBuilder(">>[MainTime(ShortTerm)-MakeLogData][" + CPXV2_CpLogProcessInfo.lMainMeasTime + "][Include SubTime(LongTerm)-MakeLogData][" + CPXV2_CpLogProcessInfo.lLongTermMeasTime + "]\r\n"));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
bProcessResult = false;
|
||||
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + strProcessDebugInfo + @" CPXV2 Make CpLogProcess fail.[SystemX.Net.MiddlewareUI : MainForm.CPXV2_CpLogProcess]\r\n" + e.Message, ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (bDupLogSkipState == false)
|
||||
{
|
||||
if (bProcessResult)
|
||||
@ -1288,23 +1430,63 @@ namespace SystemX.Net.MiddlewareUI
|
||||
CommonProtocol cp = new CommonProtocol();
|
||||
|
||||
//Summary 객체를 이용해 DB 삽입할 SqlCommand 생성
|
||||
SqlCommand cmd = cp.LogDataSummaryInsert(MngDBLogConn.GetDBConnectInfo().ConnLongTerm.SUMMARY_TABLE, summaryItem);
|
||||
/*
|
||||
Type type = typeof(HISTLogSummary);
|
||||
FieldInfo[] f = type.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (FieldInfo item in f)
|
||||
{
|
||||
sb.AppendLine(item.Name.Substring(item.Name.IndexOf("<") + 1, item.Name.IndexOf(">") - item.Name.IndexOf("<") - 1)
|
||||
+ "-" + item.GetValue(summaryItem).ToString().Trim());
|
||||
}
|
||||
MessageOutput.ConsoleWrite(sb.ToString());
|
||||
*/
|
||||
|
||||
SqlCommand cmd = null;
|
||||
//
|
||||
try
|
||||
{
|
||||
cmd = cp.LogDataSummaryInsert(MngDBLogConn.GetDBConnectInfo().ConnLongTerm.SUMMARY_TABLE, summaryItem);
|
||||
}
|
||||
catch
|
||||
{
|
||||
Type type = typeof(HISTLogSummary);
|
||||
FieldInfo[] f = type.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (FieldInfo item in f)
|
||||
{
|
||||
sb.AppendLine(item.Name.Substring(item.Name.IndexOf("<") + 1, item.Name.IndexOf(">") - item.Name.IndexOf("<") - 1)
|
||||
+ ">>>" + item.GetValue(summaryItem).ToString().Trim());
|
||||
}
|
||||
MessageOutput.ConsoleWrite(sb.ToString());
|
||||
|
||||
throw new Exception("<Failed Make " + MngDBLogConn.GetDBConnectInfo().ConnLongTerm.SUMMARY_TABLE + " LogDataSummaryInsert eConnCategory.LongTerm>");
|
||||
}
|
||||
//
|
||||
if (chkDataTsk.Result)
|
||||
{
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + CPXV2_CpLogProcessInfo.strProcessDebugInfo +
|
||||
@" CPXV2 LongTerm-CpLogProcess fail. Reason : LongTerm Duplicated Before CpLog-File. [SystemX.Net.MiddlewareUI : MainForm.CpLogProcessShortTerm]\r\n", ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
@" CPXV2 LongTerm-CpLogProcess fail. Reason : LongTerm Duplicated Before CpLog-File. [SystemX.Net.MiddlewareUI : MainForm.CPXV2_CpLogProcessLongTerm]\r\n", ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
|
||||
return SetProcLogDr;
|
||||
}
|
||||
|
||||
//Summary 삽입 > 실패시 처리
|
||||
bProcessResult = ExcuteNonQueryStreamProcess(eConnCategory.LongTerm, cmd);
|
||||
//
|
||||
try
|
||||
{
|
||||
//Summary 삽입 > 실패시 처리
|
||||
bProcessResult = ExcuteNonQueryStreamProcess(eConnCategory.LongTerm, cmd);
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw new Exception("<Failed ExcuteNonQueryStreamProcess eConnCategory.LongTerm - " + cmd.CommandText + ">");
|
||||
}
|
||||
|
||||
if (bProcessResult == false)
|
||||
{
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + CPXV2_CpLogProcessInfo.strProcessDebugInfo +
|
||||
@" CPXV2 CpLogProcess HIST_LogSummary insert failed. [SystemX.Net.MiddlewareUI : MainForm.CpLogProcessLongTerm]", ConsoleColor.Red, LogMessageLevel.FATAL);
|
||||
@" CPXV2 CpLogProcess HIST_LogSummary insert failed. [SystemX.Net.MiddlewareUI : MainForm.CPXV2_CpLogProcessLongTerm]", ConsoleColor.Red, LogMessageLevel.FATAL);
|
||||
|
||||
throw new Exception();
|
||||
}
|
||||
|
||||
@ -315,6 +315,9 @@
|
||||
<ItemGroup>
|
||||
<Content Include="ALIS ICON.ico" />
|
||||
<Content Include="AppIcon.ico" />
|
||||
<Content Include="Cfg\DBConnInfo.xml" />
|
||||
<Content Include="Cfg\LogInformation.xml" />
|
||||
<Content Include="Cfg\MapLogOption.xml" />
|
||||
<None Include="Resources\AppIcon1.ico" />
|
||||
<None Include="Resources\AppIcon.ico" />
|
||||
<None Include="Resources\CI.png" />
|
||||
|
||||
@ -0,0 +1,217 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ROOT>
|
||||
<UserQueryItem
|
||||
ID = "ID_IsIssued"
|
||||
UseFrom = "[dbo].[UIM_INFO_MacAddress];[dbo].[UIM_INFO_Product]" >
|
||||
<QueryDetail
|
||||
QueryText = "SELECT TOP(1) * FROM @$UseFrom@$[1] AS X WITH(NOLOCK)
|
||||
INNER JOIN(SELECT TOP(1) * FROM @$UseFrom@$[2] AS Y WITH(NOLOCK) WHERE Y.[ProductID] = '@$PARAM@$[1]') AS Z ON X.No = Z.RelationNo AND X.IsIssued = 1 AND X.IsAbrogate = 0;"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "MacAddress_Check"
|
||||
UseFrom = "[dbo].[UIM_INFO_MacAddress]" >
|
||||
<QueryDetail
|
||||
QueryText = "SELECT TOP(1) * FROM @$UseFrom@$[1] WITH(NOLOCK) WHERE [MACADDRESS1] = '@$PARAM@$[1]' ORDER BY No ASC;"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "MacAddress_IsIssued"
|
||||
UseFrom = "[dbo].[UIM_INFO_MacAddress]" >
|
||||
<QueryDetail
|
||||
QueryText = "SELECT TOP(1) * FROM @$UseFrom@$[1] WITH(NOLOCK) WHERE [MACADDRESS1] = '@$PARAM@$[1]' AND IsIssued = 1 AND IsAbrogate = 0 ORDER BY No ASC;"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "MacAddress_ToBeIssuedCheck"
|
||||
UseFrom = "[dbo].[UIM_INFO_MacAddress]" >
|
||||
<QueryDetail
|
||||
QueryText = "SELECT TOP(1) * FROM @$UseFrom@$[1] WITH(NOLOCK) WHERE No >= @$PARAM@$[1] AND IsIssued = 0 AND IsAbrogate = 0 ORDER BY No ASC;"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "Product_ToBeRegisterCheck"
|
||||
UseFrom = "[dbo].[UIM_INFO_Product]" >
|
||||
<QueryDetail
|
||||
QueryText = "SELECT TOP(1) * FROM @$UseFrom@$[1] WHERE No >= @$PARAM@$[1] AND IssuedNumber = 0 ORDER BY No ASC;"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "Check_Mac_Quantity"
|
||||
UseFrom = "[dbo].[UIM_INFO_Mac_Quantity]" >
|
||||
<QueryDetail
|
||||
QueryText = "SELECT [IssuedQuantity] AS 'CUR', [IssueableQuantity] AS 'ALL' FROM @$UseFrom@$[1] WITH(NOLOCK);"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "Set_Mac_Quantity"
|
||||
UseFrom = "[dbo].[UIM_INFO_Mac_Quantity]" >
|
||||
<QueryDetail
|
||||
QueryText = "UPDATE @$UseFrom@$[1] SET [IssuedQuantity] = @$PARAM@$[1];"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "Check_Product_Quantity"
|
||||
UseFrom = "[dbo].[UIM_INFO_Product_Quantity]" >
|
||||
<QueryDetail
|
||||
QueryText = "SELECT [RegisterQuantity] AS 'CUR' FROM @$UseFrom@$[1] WITH(NOLOCK);"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "Set_Product_Quantity"
|
||||
UseFrom = "[dbo].[UIM_INFO_Product_Quantity]" >
|
||||
<QueryDetail
|
||||
QueryText = "UPDATE @$UseFrom@$[1] SET [RegisterQuantity] = @$PARAM@$[1];"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "LookUpID_ByMacAddress"
|
||||
UseFrom = "[dbo].[UIM_INFO_Product];[dbo].[UIM_INFO_MacAddress]" >
|
||||
<QueryDetail
|
||||
QueryText = "SELECT TOP(1) X.No, X.ProductID, X.UpdateDT, Y.No, Y.MACADDRESS1, Y.UpdateDT
|
||||
FROM @$UseFrom@$[1] AS X WITH(NOLOCK) INNER JOIN(SELECT TOP (1) *
|
||||
FROM @$UseFrom@$[2] AS SUB WITH(NOLOCK) WHERE SUB.MACADDRESS1 = '@$PARAM@$[1]') AS Y ON X.No = Y.RelationNo AND Y.IsIssued = 1 AND Y.IsAbrogate = 0;"
|
||||
ReturnField = "1"
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "LookUpMacAddress_ByID"
|
||||
UseFrom = "[dbo].[UIM_INFO_MacAddress];[dbo].[UIM_INFO_Product]" >
|
||||
<QueryDetail
|
||||
QueryText = "SELECT TOP(1) X.No, X.MACADDRESS1, X.UpdateDT, Y.No, Y.ProductID, Y.UpdateDT
|
||||
FROM @$UseFrom@$[1] AS X WITH(NOLOCK) INNER JOIN(SELECT TOP (1) *
|
||||
FROM @$UseFrom@$[2] AS SUB WITH(NOLOCK) WHERE SUB.ProductID = '@$PARAM@$[1]') AS Y ON X.No = Y.RelationNo AND X.IsIssued = 1 AND X.IsAbrogate = 0;"
|
||||
ReturnField = "1"
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "LookUpMacAddress_ByLikeID"
|
||||
UseFrom = "[dbo].[UIM_INFO_MacAddress];[dbo].[UIM_INFO_Product]" >
|
||||
<QueryDetail
|
||||
QueryText = "SELECT TOP(1) X.No, X.MACADDRESS1, X.UpdateDT, Y.No, Y.ProductID, Y.UpdateDT
|
||||
FROM @$UseFrom@$[1] AS X WITH(NOLOCK) INNER JOIN(SELECT TOP (1) *
|
||||
FROM @$UseFrom@$[2] AS SUB WITH(NOLOCK) WHERE SUB.ProductID LIKE '@$PARAM@$[1]') AS Y ON X.No = Y.RelationNo AND X.IsIssued = 1 AND X.IsAbrogate = 0;"
|
||||
ReturnField = "1"
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "ChangeIsIssuedState"
|
||||
UseFrom = "[dbo].[UIM_INFO_MacAddress]" >
|
||||
<QueryDetail
|
||||
QueryText = "UPDATE @$UseFrom@$[1] SET IsIssued = 1, UpdateDT = SYSDATETIME() WHERE No = @$PARAM@$[1];"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "ChangeIsAbrogateState"
|
||||
UseFrom = "[dbo].[UIM_INFO_MacAddress]" >
|
||||
<QueryDetail
|
||||
QueryText = "UPDATE @$UseFrom@$[1] SET IsAbrogate = 1, UpdateDT = SYSDATETIME() WHERE No = @$PARAM@$[1];"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "CheckMacAddressIsItemState"
|
||||
UseFrom = "[dbo].[UIM_INFO_MacAddress]" >
|
||||
<QueryDetail
|
||||
QueryText = "SELECT IsIssued, IsAbrogate, MACADDRESS1 FROM @$UseFrom@$[1] WITH(NOLOCK) WHERE No = @$PARAM@$[1];"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "NewUpdateProductIDInfo"
|
||||
UseFrom = "[dbo].[UIM_INFO_Product]" >
|
||||
<QueryDetail
|
||||
QueryText = "UPDATE @$UseFrom@$[1] SET ProductID = '@$PARAM@$[1]', IssuedNumber = 1, UpdateDT = SYSDATETIME() WHERE No = @$PARAM@$[2];"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "GetProductInfo"
|
||||
UseFrom = "[dbo].[UIM_INFO_Product]" >
|
||||
<QueryDetail
|
||||
QueryText = "SELECT TOP(1) * FROM @$UseFrom@$[1] WHERE No = @$PARAM@$[1];"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "SetProductIssueInfo"
|
||||
UseFrom = "[dbo].[UIM_INFO_Product]" >
|
||||
<QueryDetail
|
||||
QueryText = "UPDATE @$UseFrom@$[1] SET IsReissued = 1, IssuedNumber = @$PARAM@$[1], UpdateDT = SYSDATETIME() WHERE No = @$PARAM@$[2]"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "CheckProductIDInfo"
|
||||
UseFrom = "[dbo].[UIM_INFO_Product]" >
|
||||
<QueryDetail
|
||||
QueryText = "SELECT ProductID FROM @$UseFrom@$[1] WITH(NOLOCK) WHERE No = @$PARAM@$[1];"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "UpdateMacAddressRelationNumber"
|
||||
UseFrom = "[dbo].[UIM_INFO_MacAddress]" >
|
||||
<QueryDetail
|
||||
QueryText = "UPDATE @$UseFrom@$[1] SET RelationNo = '@$PARAM@$[1]', UpdateDT = SYSDATETIME() WHERE No = @$PARAM@$[2];"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "UpdateProductIDRelationNumber"
|
||||
UseFrom = "[dbo].[UIM_INFO_Product]" >
|
||||
<QueryDetail
|
||||
QueryText = "UPDATE @$UseFrom@$[1] SET RelationNo = '@$PARAM@$[1]', UpdateDT = SYSDATETIME() WHERE No = @$PARAM@$[2];"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "PublishSummaryNumberCheck"
|
||||
UseFrom = "[dbo].[UIM_HIST_Publish]" >
|
||||
<QueryDetail
|
||||
QueryText = "SELECT IDENT_CURRENT('@$UseFrom@$[1]') AS LastNo;"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
<UserQueryItem
|
||||
ID = "PublishSummaryInsert"
|
||||
UseFrom = "[dbo].[UIM_HIST_Publish]" >
|
||||
<QueryDetail
|
||||
QueryText = "INSERT INTO @$UseFrom@$[1] (QueryID, ReferenceNo, HostID, Section, ProductID, Result, Description) VALUES('@$PARAM@$[1]', @$PARAM@$[2], '@$PARAM@$[3]', '@$PARAM@$[4]', '@$PARAM@$[5]', '@$PARAM@$[6]', '@$PARAM@$[7]');"
|
||||
ReturnField = ""
|
||||
/>
|
||||
</UserQueryItem>
|
||||
|
||||
</ROOT>
|
||||
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<DBConnInfo>
|
||||
<MainConnInfo>
|
||||
<Type>MS_SQL</Type>
|
||||
<IP>192.168.0.23</IP>
|
||||
<Port>1433</Port>
|
||||
<ID>Alis</ID>
|
||||
<PW>Kefico!@34</PW>
|
||||
<SCHEMA>CPXV2</SCHEMA>
|
||||
<MAC_ADDR>-</MAC_ADDR>
|
||||
<SSPI>True</SSPI>
|
||||
</MainConnInfo>
|
||||
<ShortTermInfo>
|
||||
<Type>MS_SQL</Type>
|
||||
<IP>192.168.0.23</IP>
|
||||
<Port>1433</Port>
|
||||
<ID>Alis</ID>
|
||||
<PW>Kefico!@34</PW>
|
||||
<SCHEMA>CPXV2ShortTermLogJson</SCHEMA>
|
||||
<MAC_ADDR>-</MAC_ADDR>
|
||||
<SSPI>True</SSPI>
|
||||
</ShortTermInfo>
|
||||
<LongTermInfo>
|
||||
<Type>MS_SQL</Type>
|
||||
<IP>192.168.0.23</IP>
|
||||
<Port>1433</Port>
|
||||
<ID>Alis</ID>
|
||||
<PW>Kefico!@34</PW>
|
||||
<SCHEMA>CPXV2LongTermLogJson</SCHEMA>
|
||||
<MAC_ADDR>-</MAC_ADDR>
|
||||
<SSPI>True</SSPI>
|
||||
</LongTermInfo>
|
||||
</DBConnInfo>
|
||||
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ROOT>
|
||||
<TableDataDeleteManager USE="False">
|
||||
<!--<Management1 USE="True" TableName="HIST_TestNgResult" DateDifference="7" />-->
|
||||
<Management1 USE="True" TableName="HIST_TestResultS" DateDifference="120" />
|
||||
</TableDataDeleteManager>
|
||||
<!--
|
||||
<QueryInfo ID="PH" ProcNo="190" Table="HIST_PreHeating" DetailProcess="True"></QueryInfo>
|
||||
<QueryInfo ID="PM" ProcNo="190" Table="HIST_PreMeas" DetailProcess="True">
|
||||
<ExtractionInfo1 MO_Find="True" MO="Measured IP" Step="2140" Name="IP" UpdateTableName="STAT_ProdLoad" ToField = "Val_IP" />
|
||||
<ExtractionInfo2 MO_Find="True" MO="Measured V" Step="2200" Name="V-Measure" UpdateTableName="STAT_ProdLoad" ToField = "Val_VMeasure" />
|
||||
</QueryInfo>
|
||||
-->
|
||||
</ROOT>
|
||||
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ROOT>
|
||||
<Configure>
|
||||
<UseMapLog>True</UseMapLog>
|
||||
<MapLogEnterMutexName>SharedCPServerX_LogMutex_CPXV2</MapLogEnterMutexName>
|
||||
<MapLogAccessMutexName>CpServerX_LogAccessMutex_CPXV2</MapLogAccessMutexName>
|
||||
<MapLogFilePath>D:\CpServerXLogMappedFile_CPXV2\</MapLogFilePath>
|
||||
<MapLogFileName>CpServerX_LogSharedMemoryMap_CPXV2</MapLogFileName>
|
||||
<MapLogName>CpServerX_LogSharedData_CPXV2</MapLogName>
|
||||
|
||||
<MapInfoLogEnterMutexName>SharedCPServerX_InfoLogMutex_CPXV2</MapInfoLogEnterMutexName>
|
||||
<MapInfoLogAccessMutexName>CpServerX_InfoLogAccessMutex_CPXV2</MapInfoLogAccessMutexName>
|
||||
<MapInfoLogFilePath>D:\CpServerXLogMappedFile_CPXV2\</MapInfoLogFilePath>
|
||||
<MapInfoLogFileName>CpServerX_InfoLogSharedMemoryMap_CPXV2</MapInfoLogFileName>
|
||||
<MapInfoLogName>CpServerX_InfoLogSharedData_CPXV2</MapInfoLogName>
|
||||
</Configure>
|
||||
</ROOT>
|
||||
@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ROOT>
|
||||
<Configure>
|
||||
<UseIP>192.168.0.46</UseIP>
|
||||
<Port>-</Port>
|
||||
<Loopback>True</Loopback>
|
||||
<Title>CP-Server X</Title>
|
||||
|
||||
<ListenCommandPort Start="15050" End="15060" />
|
||||
<ListenStreamPort Start="17050" End="17060" />
|
||||
|
||||
<DistributionCommandPort Start="20000" End="21999" />
|
||||
<DistributionStreamPort Start="22000" End="23999" />
|
||||
|
||||
<UseHostInfo>True</UseHostInfo>
|
||||
<HostInfoTableName>STAT_Host</HostInfoTableName>
|
||||
<UserInfoTableName>STAT_User</UserInfoTableName>
|
||||
|
||||
<DiskMonitor1>C:\</DiskMonitor1>
|
||||
<DiskMonitor2>D:\</DiskMonitor2>
|
||||
|
||||
<LogFileSavePos>D:\Middleware Data\LOG</LogFileSavePos>
|
||||
<MESFileSavePos>D:\Middleware Data\MES</MESFileSavePos>
|
||||
|
||||
<!-- time.nist.gov -->
|
||||
<!-- time.windows.com -->
|
||||
<!-- default Windows time server {52.231.114.183} -->
|
||||
<!-- default Windows time server {10.224.20.12} -->
|
||||
<SyncTimeServerAddress Address="52.231.114.183" />
|
||||
<SyncTimePort Port="123" />
|
||||
<TimeServer-SyncTime H="2" M="0" S="0" />
|
||||
|
||||
<UseFTP>False</UseFTP>
|
||||
<IPAddressFTP>10.126.20.6</IPAddressFTP>
|
||||
<PortFTP>2121</PortFTP>
|
||||
<AccountFTP>ALISFTP</AccountFTP>
|
||||
<PasswordFTP>Kefico!@34</PasswordFTP>
|
||||
</Configure>
|
||||
</ROOT>
|
||||
@ -734,7 +734,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
|
||||
int nNum = 0;
|
||||
|
||||
Random r = new Random((int)(DateTime.Now.Ticks));
|
||||
Random r = new Random(Guid.NewGuid().GetHashCode());
|
||||
|
||||
if (bOnlyPortInfoSend == false)
|
||||
{
|
||||
|
||||
@ -523,7 +523,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("MainForm.IconOptions.Icon")));
|
||||
this.Name = "MainForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "SystemX.Net.Middleware.UI - CPXV2 v240529";
|
||||
this.Text = "SystemX.Net.Middleware.UI - CPXV2-JSON v240829";
|
||||
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
|
||||
|
||||
@ -70,7 +70,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
/// <summary>
|
||||
/// Base Variable
|
||||
/// </summary>
|
||||
private const int ALL_MANAGE_NUM = 110;
|
||||
private const int ALL_MANAGE_NUM = 310;
|
||||
|
||||
private const int PORT_DISTRIBUTION_NUM = 10;
|
||||
|
||||
@ -119,6 +119,9 @@ namespace SystemX.Net.MiddlewareUI
|
||||
{
|
||||
bool bFindResult = false;
|
||||
|
||||
//Stopwatch stTimeCheck = new Stopwatch();
|
||||
//stTimeCheck.Start();
|
||||
|
||||
foreach (ConnectInfoStore cis in thisConnInfo)
|
||||
{
|
||||
if (cis.bHostLoginState == false)
|
||||
@ -145,6 +148,8 @@ namespace SystemX.Net.MiddlewareUI
|
||||
}
|
||||
}
|
||||
|
||||
//long lTimeCheck = stTimeCheck.ElapsedMilliseconds;
|
||||
|
||||
return bFindResult;
|
||||
}
|
||||
|
||||
@ -282,7 +287,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
InitializeComponent();
|
||||
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") +
|
||||
@"Use CP-Server[X] Middleware Version for [CPXV2][v240529] " +
|
||||
@"Use CP-Server[X] Middleware Version for [CPXV2][v240829] " +
|
||||
"[SystemX.Net.MiddlewareUI : MainForm]", ConsoleColor.Green, LogMessageLevel.FATAL);
|
||||
|
||||
EnableMenuItem(GetSystemMenu(this.Handle, false), SC_CLOSE, MF_GRAYED);
|
||||
@ -648,10 +653,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
|
||||
try
|
||||
{
|
||||
thisConnInfo[e.CALL_NUMBER].strCommandEndPointInfo = strGetLocalEndPoint;
|
||||
//
|
||||
thisConnInfo[e.CALL_NUMBER].stStreamCheckTime.Restart();
|
||||
thisConnInfo[e.CALL_NUMBER].ConnectStreamCheck = true;
|
||||
thisTLLoadInfo[e.CALL_NUMBER].Initialize();
|
||||
//
|
||||
stWatchInitialTime[e.CALL_NUMBER].Restart();
|
||||
m_bInitialCallState[e.CALL_NUMBER] = true;
|
||||
@ -660,7 +662,12 @@ namespace SystemX.Net.MiddlewareUI
|
||||
ConnPool[e.CALL_NUMBER].ConnWaitTimerReset();
|
||||
|
||||
thisConnInfo[e.CALL_NUMBER].Initialize();
|
||||
thisConnInfo[e.CALL_NUMBER].ConnInfoClear();
|
||||
//
|
||||
thisConnInfo[e.CALL_NUMBER].strCommandEndPointInfo = strGetLocalEndPoint;
|
||||
thisConnInfo[e.CALL_NUMBER].stStreamCheckTime.Restart();
|
||||
|
||||
thisConnInfo[e.CALL_NUMBER].ConnectStreamCheck = true;
|
||||
thisConnInfo[e.CALL_NUMBER].ClientConnectState = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
@ -685,10 +692,8 @@ namespace SystemX.Net.MiddlewareUI
|
||||
|
||||
thisTLLoadInfo[e.CALL_NUMBER].Initialize();
|
||||
|
||||
thisConnInfo[e.CALL_NUMBER].strConnectHostID = "";
|
||||
thisConnInfo[e.CALL_NUMBER].strConnectSection = "";
|
||||
|
||||
thisConnInfo[e.CALL_NUMBER].strCommandEndPointInfo = "";
|
||||
thisConnInfo[e.CALL_NUMBER].Initialize();
|
||||
thisConnInfo[e.CALL_NUMBER].ConnInfoClear();
|
||||
|
||||
thisConnInfo[e.CALL_NUMBER].stStreamCheckTime.Restart();
|
||||
thisConnInfo[e.CALL_NUMBER].ConnectStreamCheck = false;
|
||||
@ -967,6 +972,14 @@ namespace SystemX.Net.MiddlewareUI
|
||||
dsLongTermLatestVRFYRel = null;
|
||||
}
|
||||
|
||||
public void ConnInfoClear()
|
||||
{
|
||||
strConnectHostID = "";
|
||||
strConnectSection = "";
|
||||
|
||||
strCommandEndPointInfo = "";
|
||||
}
|
||||
|
||||
public ConnectInfoStore()
|
||||
{
|
||||
//ClientConnectSocket = new Socket(SocketType.Stream, ProtocolType.Tcp);
|
||||
|
||||
@ -17,7 +17,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
{
|
||||
bool bCreateProgram = false;
|
||||
|
||||
Mutex SetMutex = new Mutex(true, "SystemX.Net.Middleware.UI CPXV2", out bCreateProgram);
|
||||
Mutex SetMutex = new Mutex(true, "SystemX.Net.Middleware.UI CPXV2-JSON", out bCreateProgram);
|
||||
|
||||
if (bCreateProgram)
|
||||
{
|
||||
|
||||
@ -63,6 +63,7 @@ namespace SystemX.Net.MiddlewareUI.UIM.Protocol_Method
|
||||
thisConnInfo.bHostLoginState = false;
|
||||
|
||||
bool bUseExist = true;
|
||||
bool bExistInformation = true;
|
||||
|
||||
if (bGetUseUIM && bGetUseSimpleLookupOption)
|
||||
bForcePass = true;
|
||||
@ -78,10 +79,16 @@ namespace SystemX.Net.MiddlewareUI.UIM.Protocol_Method
|
||||
drFindInfo = dtHostTable.Select($"HostID='{strGetHostID}' AND Section='{strGetSection}'");
|
||||
|
||||
bUseExist = Parent_.GetConnectInfoFindHost(strGetHostID, strGetSection, bGetUseUIM);
|
||||
|
||||
bExistInformation = (drFindInfo != null ? drFindInfo.Count() > 0 : false);
|
||||
|
||||
if(drFindInfo == null)
|
||||
{
|
||||
;//
|
||||
}
|
||||
}
|
||||
|
||||
if (((drFindInfo != null ? drFindInfo.Count() > 0 : false) &&
|
||||
bUseExist == false) ||
|
||||
if (bExistInformation ||
|
||||
bForcePass)
|
||||
{
|
||||
string strRegIP = string.Empty;
|
||||
@ -97,11 +104,9 @@ namespace SystemX.Net.MiddlewareUI.UIM.Protocol_Method
|
||||
strConnectIP = thisConnInfo.strCommandEndPointInfo;
|
||||
|
||||
//TODO : For Test Server Code
|
||||
if (true || strConnectIP.IndexOf(strRegIP) >= 0 || bGetUseUIM)
|
||||
if (/* true || */ strConnectIP.IndexOf(strRegIP) >= 0 || bGetUseUIM)
|
||||
{
|
||||
;//IP Address Compare Result PASS
|
||||
//
|
||||
//
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -155,7 +160,7 @@ namespace SystemX.Net.MiddlewareUI.UIM.Protocol_Method
|
||||
}
|
||||
else
|
||||
{
|
||||
if(bUseExist)
|
||||
if(bUseExist && bExistInformation)
|
||||
MakeLoginPacket.objMessage[0].Data = $"HostID={strGetHostID} Section={strGetSection} [FAIL] HOST ID already in use.";
|
||||
else
|
||||
MakeLoginPacket.objMessage[0].Data = $"HostID={strGetHostID} Section={strGetSection} [FAIL] That information does not exist.";
|
||||
|
||||
@ -103,7 +103,7 @@ namespace SystemX.Net.MiddlewareUI.UIM.Protocol_Method
|
||||
|
||||
if (string.IsNullOrEmpty(GetTestListCntID) == false)
|
||||
{
|
||||
getStreamList = Parent_.QueryStreamProcess(strGetQuery, out ucQueryByteArray, out ds, thisConnInfo.strResultTestListCntID);
|
||||
getStreamList = Parent_.QueryStreamProcess(strGetQuery, out ucQueryByteArray, out ds, thisConnInfo.strResultTestListCntID, "DOWNLOAD_TL");
|
||||
|
||||
break;
|
||||
}
|
||||
@ -123,7 +123,7 @@ namespace SystemX.Net.MiddlewareUI.UIM.Protocol_Method
|
||||
|
||||
string strGetQuery = cp.QueryFindTestList(ppPacket, true);
|
||||
|
||||
getStreamList = Parent_.QueryStreamProcess(strGetQuery, out ucQueryByteArray, out ds);
|
||||
getStreamList = Parent_.QueryStreamProcess(strGetQuery, out ucQueryByteArray, out ds, "", "CHECK_TL");
|
||||
|
||||
nByteListSize = getStreamList.Count;
|
||||
}
|
||||
|
||||
@ -196,6 +196,11 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="ALIS ICON.ico" />
|
||||
<Content Include="Cfg\CallMadeQueryInfo.xml" />
|
||||
<Content Include="Cfg\DBConnInfo.xml" />
|
||||
<Content Include="Cfg\LogProcessInfo.xml" />
|
||||
<Content Include="Cfg\MapLogOption.xml" />
|
||||
<Content Include="Cfg\ServerInformation.xml" />
|
||||
<None Include="Resources\CI.png" />
|
||||
<None Include="Resources\Kefico CI.PNG" />
|
||||
</ItemGroup>
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<OutputPath>..\..\Output.SystemX\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
@ -25,6 +25,8 @@
|
||||
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<NoWarn>
|
||||
</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@ -90,6 +92,7 @@
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>xcopy /y $(ProjectDir)$(OutputPath)$(TargetName).dll $(SolutionDir)..\Output.SystemX\</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@ -30,7 +30,7 @@ namespace SystemX.Net.XAdaptor.Manager
|
||||
public XAdaptorManager(string strConfigFilePos = "")
|
||||
{
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") +
|
||||
@"Use CP-Server[X] Adaptor Version for [CPXV2][v240529] " +
|
||||
@"Use CP-Server[X] Adaptor Version for [CPXV2][v240829] " +
|
||||
"[SystemX.Net.XAdaptor.Manager : XAdaptorManager]", ConsoleColor.Green, LogMessageLevel.FATAL);
|
||||
|
||||
strCreateConfigFilePos = string.Empty;
|
||||
@ -144,6 +144,8 @@ namespace SystemX.Net.XAdaptor.Manager
|
||||
|
||||
public IControlTestListDataSet GetTestListContainer()
|
||||
{
|
||||
//string v = (xAdaptor.CurrentTestList() as TProdTestListInfo).GetTestListCntID();
|
||||
|
||||
return xAdaptor.CurrentTestList();
|
||||
}
|
||||
|
||||
|
||||
@ -116,15 +116,23 @@ namespace SystemX.Net.XAdaptor
|
||||
strGetTestListCntID = strSetValue;
|
||||
}
|
||||
|
||||
public void SetTestListDataSet(DataSet ds)
|
||||
public void SetTestListDataSetCopy(DataSet ds)
|
||||
{
|
||||
dsQueryTestLists = new DataSet();
|
||||
dsQueryTestLists = ds.Copy();
|
||||
}
|
||||
|
||||
public void SetTestListDataSet()
|
||||
{
|
||||
if (dsQueryTestLists.Tables[0].Rows.Count == 1)
|
||||
{
|
||||
ucGetTestListData = dsQueryTestLists.Tables[0].Rows[0]["TestListData"] as byte[];
|
||||
ucGetTestListData = XDataArchive.DecompressGZipByteToByte(ucGetTestListData);
|
||||
if (dsQueryTestLists.Tables[0].Columns.Contains("TestListData"))
|
||||
{
|
||||
ucGetTestListData = dsQueryTestLists.Tables[0].Rows[0]["TestListData"] as byte[];
|
||||
ucGetTestListData = XDataArchive.DecompressGZipByteToByte(ucGetTestListData);
|
||||
}
|
||||
else
|
||||
ucGetTestListData = new byte[1];
|
||||
|
||||
strGetFileName = dsQueryTestLists.Tables[0].Rows[0]["FileName"].ToString();
|
||||
strGetVersion = dsQueryTestLists.Tables[0].Rows[0]["Version"].ToString();
|
||||
@ -170,8 +178,6 @@ namespace SystemX.Net.XAdaptor
|
||||
strGetVersion = "";
|
||||
strGetProdCode = "";
|
||||
strGetExtension = "";
|
||||
|
||||
strGetTestListCntID = "";
|
||||
}
|
||||
|
||||
public QueryGetInfo ReadInfo()
|
||||
|
||||
@ -46,19 +46,20 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
string strTestListVersion,
|
||||
string strProductionCode);
|
||||
|
||||
/*
|
||||
bool QueryTestList(uint nStationID, string strProdNo_C,
|
||||
string strTestType,
|
||||
string strTestCode,
|
||||
string strTestListVersion,
|
||||
string strProductionCode);
|
||||
|
||||
/*
|
||||
bool WaitQueryTestList(uint nStationID, string strProdNo_C,
|
||||
string strTestType,
|
||||
string strTestCode,
|
||||
string strTestListVersion,
|
||||
string strProductionCode);
|
||||
*/
|
||||
|
||||
Task<Tuple<string, int>> GetTestListQueryWithFilePath(string strFilePath, uint nStationID, string strProdNo_C,
|
||||
string strTestType,
|
||||
string strTestCode,
|
||||
@ -86,7 +87,7 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
string targetVersion,
|
||||
string targetProdCode);
|
||||
|
||||
eFileSendRecvResult SendCustomFile(string strFilePos, bool bRecvResultWait = false, ushort usPalletIndex = 0);
|
||||
//eFileSendRecvResult SendCustomFile(string strFilePos, bool bRecvResultWait = false, ushort usPalletIndex = 0);
|
||||
|
||||
eSetConfigFileResult SetConfigureFile(string strFilePos);
|
||||
}
|
||||
|
||||
@ -84,6 +84,12 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
private CancellationTokenSource SubCTS;
|
||||
private CancellationToken SubCT;
|
||||
//
|
||||
private Task taskConnectWorkProcess;
|
||||
private bool m_bTaskConnectWorkBlock;
|
||||
//
|
||||
CancellationTokenSource ConnWorkCTS;
|
||||
CancellationToken ConnWorkCT;
|
||||
//
|
||||
private bool bConnectCommandSocketFlag;
|
||||
private bool bConnectStreamSocketFlag;
|
||||
//
|
||||
@ -170,12 +176,12 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
return null;
|
||||
}
|
||||
|
||||
private enum TIMER_LOCK
|
||||
private enum TASK_RUN_SYNC_LOCK
|
||||
{
|
||||
RECONNECT_TIMER = 0
|
||||
CONN_WORKER = 0
|
||||
}
|
||||
|
||||
private bool[] m_bTimerLock;
|
||||
private bool[] TaskRunSyncLock;
|
||||
|
||||
private void InitMember()
|
||||
{
|
||||
@ -260,10 +266,24 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
{
|
||||
RecvWaitEvent -= RecvWaitEventCall;
|
||||
|
||||
ClearCommandWatchTask();
|
||||
ClearStreamWatchTask();
|
||||
|
||||
if (taskConnectWorkProcess != null)
|
||||
{
|
||||
ConnWorkCTS.Cancel();
|
||||
|
||||
m_bTaskConnectWorkBlock = true;
|
||||
|
||||
taskConnectWorkProcess.ConfigureAwait(false);
|
||||
//taskConnectWorkProcess.Wait();
|
||||
|
||||
taskConnectWorkProcess = null;
|
||||
}
|
||||
|
||||
if (bDisposing)
|
||||
{
|
||||
ClearCommandWatchTask();
|
||||
ClearStreamWatchTask();
|
||||
;//
|
||||
}
|
||||
|
||||
ClearCommandClientInstance();
|
||||
@ -276,16 +296,6 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
private void SetRetryTimer()
|
||||
{
|
||||
reConnectTimer = new WTimer();
|
||||
reConnectTimer.Enabled = false;
|
||||
reConnectTimer.Interval = 1500;
|
||||
reConnectTimer.Tick += ReConnectTimer_Tick;
|
||||
reConnectTimer.Start();
|
||||
reConnectTimer.Enabled = true;
|
||||
}
|
||||
|
||||
private bool CheckConfigFileBuildEndPoint()
|
||||
{
|
||||
bool bCheckResult = true;
|
||||
@ -411,13 +421,15 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
ClearStreamClientInstance();
|
||||
}
|
||||
|
||||
private async void ReConnectTimer_Tick(object sender, EventArgs e)
|
||||
private async void ConnWorker()
|
||||
{
|
||||
if (m_bTimerLock[(int)TIMER_LOCK.RECONNECT_TIMER] == false)
|
||||
while(ConnWorkCT.IsCancellationRequested == false &&
|
||||
m_bTaskConnectWorkBlock == false &&
|
||||
TaskRunSyncLock[(int)TASK_RUN_SYNC_LOCK.CONN_WORKER] == false)
|
||||
{
|
||||
m_bTimerLock[(int)TIMER_LOCK.RECONNECT_TIMER] = true;
|
||||
await Task.Delay(250);
|
||||
|
||||
if(SubscribeConnectInfo.bSetChangeConnect)
|
||||
if (SubscribeConnectInfo.bSetChangeConnect)
|
||||
{
|
||||
if (SubscribeConnectInfo.bReqConnectAbort == false)
|
||||
SubscribeConnectInfo.bReqConnectAbort = true;
|
||||
@ -512,8 +524,6 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
|
||||
ROUTINE_OUT:
|
||||
*/
|
||||
|
||||
m_bTimerLock[(int)TIMER_LOCK.RECONNECT_TIMER] = false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -559,8 +569,8 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
|
||||
thisConnInfo = new ClientInfoStore();
|
||||
//
|
||||
m_bTimerLock = new bool[10];
|
||||
Array.Clear(m_bTimerLock, 0, 10);
|
||||
TaskRunSyncLock = new bool[10];
|
||||
Array.Clear(TaskRunSyncLock, 0, 10);
|
||||
//
|
||||
if (ClientReadyEndPoint == false)
|
||||
CheckConfigFileBuildEndPoint();
|
||||
@ -578,8 +588,13 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
thisConnInfo.OnStreamTime();
|
||||
thisConnInfo.OnStreamCheckTime();
|
||||
//
|
||||
//if (CLIENT_AUTO_CONNECT)
|
||||
SetRetryTimer();
|
||||
ConnWorkCTS = new CancellationTokenSource();
|
||||
ConnWorkCT = ConnWorkCTS.Token;
|
||||
|
||||
m_bTaskConnectWorkBlock = false;
|
||||
taskConnectWorkProcess = new Task(new Action(ConnWorker), ConnWorkCT);
|
||||
taskConnectWorkProcess.Start();
|
||||
//
|
||||
}
|
||||
|
||||
// TODO : FTP ALIS
|
||||
|
||||
@ -353,7 +353,7 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
return bResult;
|
||||
}
|
||||
|
||||
public bool QueryTestList(uint nStationID, string strProdNo_C,
|
||||
private bool QueryTestList(uint nStationID, string strProdNo_C,
|
||||
string strTestType,
|
||||
string strTestCode,
|
||||
string strTestListVersion,
|
||||
@ -685,8 +685,14 @@ QUERY_TESTLIST:
|
||||
//
|
||||
eFileSendRecvResult sendrecvResult = eFileSendRecvResult.None;
|
||||
|
||||
string strSetBackupFilePos = strFilePos;
|
||||
string strSetBackupFileName = Path.GetFileName(strFilePos);
|
||||
|
||||
byte[] ucSetBackupFileData = null;
|
||||
|
||||
//TestListCntID
|
||||
string strGetCurrentTestListID = (mgrPRODTestList as TProdTestListInfo).GetTestListCntID();
|
||||
//(mgrPRODTestList as TProdTestListInfo).GetTestListCntID();
|
||||
string strGetCurrentTestListID = CurrentTestList().GetTestListCntID();
|
||||
|
||||
string strSetBackupInfo = targetStationName + ";" +
|
||||
targetTestListNo + ";" +
|
||||
@ -698,11 +704,6 @@ QUERY_TESTLIST:
|
||||
targetProdCode + ";" +
|
||||
strGetCurrentTestListID;
|
||||
|
||||
string strSetBackupFilePos = strFilePos;
|
||||
string strSetBackupFileName = Path.GetFileName(strFilePos);
|
||||
|
||||
byte[] ucSetBackupFileData = null;
|
||||
|
||||
//File Access Check
|
||||
Stopwatch stWaitSendTime = new Stopwatch();
|
||||
stWaitSendTime.Start();
|
||||
@ -809,6 +810,20 @@ QUERY_TESTLIST:
|
||||
}
|
||||
}
|
||||
|
||||
//TestListCntID
|
||||
//(mgrPRODTestList as TProdTestListInfo).GetTestListCntID();
|
||||
strGetCurrentTestListID = CurrentTestList().GetTestListCntID();
|
||||
|
||||
strSetBackupInfo = targetStationName + ";" +
|
||||
targetTestListNo + ";" +
|
||||
targetProcNo_P + ";" +
|
||||
targetProcNo_C + ";" +
|
||||
targetTestType + ";" +
|
||||
targetTestCode + ";" +
|
||||
targetVersion + ";" +
|
||||
targetProdCode + ";" +
|
||||
strGetCurrentTestListID;
|
||||
|
||||
thisConnInfo.OnStreamTime();
|
||||
|
||||
if (sendrecvResult == eFileSendRecvResult.None)
|
||||
@ -1102,7 +1117,7 @@ QUERY_TESTLIST:
|
||||
return sendrecvResult;
|
||||
}
|
||||
|
||||
public eFileSendRecvResult SendCustomFile(string strFilePos, bool bResultWait = false, ushort usPalletIndex = 0)
|
||||
private eFileSendRecvResult SendCustomFile(string strFilePos, bool bResultWait = false, ushort usPalletIndex = 0)
|
||||
{
|
||||
if (thisConnInfo.ConnectStreamState == false)
|
||||
return eFileSendRecvResult.StreamSocketNoConnect;
|
||||
|
||||
@ -250,6 +250,12 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
case BASE_PROTOCOL.PROTOCOL_CODE.FILE_TRANSFER:
|
||||
{
|
||||
byte[] ucFileData = objData as byte[];
|
||||
|
||||
/*
|
||||
string strGetTestListCntID = getHeader.objVarParam1[0].Data;
|
||||
|
||||
QueryTestListProcess(ucFileData, strGetTestListCntID);
|
||||
*/
|
||||
}
|
||||
break;
|
||||
case BASE_PROTOCOL.PROTOCOL_CODE.TRANSFER_RESULT:
|
||||
@ -317,9 +323,15 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
if (getHeader.usPalletIndex == ushort.MaxValue)
|
||||
{
|
||||
string strGetTestListCntID = getHeader.objVarParam1[0].Data;
|
||||
string strGetCallType = getHeader.objVarParam2[0].Data;
|
||||
|
||||
QueryTestListProcess(ucGetDatas, strGetTestListCntID);
|
||||
|
||||
if(strGetCallType.Contains("DOWNLOAD_TL"))
|
||||
QueryTestListProcess(ucGetDatas, strGetTestListCntID);
|
||||
else if (strGetCallType.Contains("CHECK_TL"))
|
||||
QueryTestListCheckProcess(ucGetDatas);
|
||||
else
|
||||
QueryTestListProcess(ucGetDatas, strGetTestListCntID);
|
||||
//
|
||||
//Task<int> tkProcTestlist = new Task<int>(new Func<int>(() => QueryTestListProcess(ucGetDatas).Result));
|
||||
//tkProcTestlist.Start();
|
||||
|
||||
|
||||
@ -26,6 +26,30 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
{
|
||||
public partial class XAdaptorPC
|
||||
{
|
||||
private bool QueryTestListCheckProcess(byte[] ucGetDatas)
|
||||
{
|
||||
bool bSetResult = false;
|
||||
|
||||
try
|
||||
{
|
||||
DataSet QueryTestList = null;
|
||||
QueryTestList = XDataArchive.DecompressByteToDataset(ucGetDatas);
|
||||
|
||||
(mgrPRODTestList as TProdTestListInfo).SetTestListDataSetCopy(QueryTestList);
|
||||
}
|
||||
catch
|
||||
{
|
||||
bSetResult = false;
|
||||
}
|
||||
|
||||
finally
|
||||
{
|
||||
;//
|
||||
}
|
||||
|
||||
return bSetResult;
|
||||
}
|
||||
|
||||
private bool QueryTestListProcess(byte[] ucGetDatas, string strGetTestListCntID)
|
||||
{
|
||||
bool bSetResult = false;
|
||||
@ -35,8 +59,8 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
DataSet QueryTestList = null;
|
||||
QueryTestList = XDataArchive.DecompressByteToDataset(ucGetDatas);
|
||||
|
||||
(mgrPRODTestList as TProdTestListInfo).SetTestListDataSet(QueryTestList);
|
||||
(mgrPRODTestList as TProdTestListInfo).SetTestListCntID(strGetTestListCntID);
|
||||
(mgrPRODTestList as TProdTestListInfo).SetTestListDataSetCopy(QueryTestList);
|
||||
(mgrPRODTestList as TProdTestListInfo).SetTestListDataSet();
|
||||
|
||||
if (XCommons.isHasRow(mgrPRODTestList.getTestListDataSet()))
|
||||
{
|
||||
@ -50,6 +74,9 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
int iCol2 = mgrPRODTestList.getTestListDataSet().Tables[0].Columns.IndexOf("FileName");
|
||||
}
|
||||
|
||||
if(string.IsNullOrEmpty(strGetTestListCntID) == false)
|
||||
(mgrPRODTestList as TProdTestListInfo).SetTestListCntID(strGetTestListCntID);
|
||||
|
||||
bSetResult = true;
|
||||
}
|
||||
|
||||
@ -184,7 +211,7 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
|
||||
if (bUseRandDistribution)
|
||||
{
|
||||
Random r = new Random((int)(DateTime.Now.Ticks));
|
||||
Random r = new Random(Guid.NewGuid().GetHashCode());
|
||||
|
||||
nPortNumber = GetDistributionPort(r, nPortNumber);
|
||||
}
|
||||
@ -246,7 +273,7 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
|
||||
if (bUseRandDistribution)
|
||||
{
|
||||
Random r = new Random((int)(DateTime.Now.Ticks));
|
||||
Random r = new Random(Guid.NewGuid().GetHashCode());
|
||||
|
||||
nPortNumber = GetDistributionPort(r, nPortNumber);
|
||||
}
|
||||
|
||||
@ -635,6 +635,8 @@ namespace SystemX.Net.XAdaptor.PC.UI
|
||||
QT_TestListVersion_Info.Text,
|
||||
QT_ProductionCode_Info.Text, false);
|
||||
|
||||
string strGetTestListID = ManagerAdaptor.GetTestListContainer().GetTestListCntID();
|
||||
|
||||
if (c2.Item2 != int.MinValue)
|
||||
{
|
||||
dataGridView1.DataSource = ManagerAdaptor.GetTestListDataSet().Tables[0];
|
||||
@ -673,6 +675,10 @@ namespace SystemX.Net.XAdaptor.PC.UI
|
||||
QT_TestCode_Info.Text,
|
||||
QT_TestListVersion_Info.Text,
|
||||
QT_ProductionCode_Info.Text);
|
||||
|
||||
string strGetTestListID = ManagerAdaptor.GetTestListContainer().GetTestListCntID();
|
||||
|
||||
label22.Text = ManagerAdaptor.GetTestListContainer().GetTestListCntID();
|
||||
}
|
||||
|
||||
|
||||
@ -854,7 +860,7 @@ namespace SystemX.Net.XAdaptor.PC.UI
|
||||
{
|
||||
if (openFileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
ManagerAdaptor.MgrConn.SendCustomFile(@openFileDialog.FileName);
|
||||
//ManagerAdaptor.MgrConn.SendCustomFile(@openFileDialog.FileName);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<OutputPath>..\..\Output.SystemX\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
@ -171,6 +171,7 @@
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>xcopy /y $(ProjectDir)$(OutputPath)$(TargetName).dll $(SolutionDir)..\Output.SystemX\</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@ -45,7 +45,7 @@ namespace SystemX.Net.DB.DBType
|
||||
|
||||
public DataTable GetHostList(bool bDBQueryCheck = false)
|
||||
{
|
||||
if(bDBQueryCheck == false)
|
||||
if (bDBQueryCheck == false)
|
||||
return HostList;
|
||||
else
|
||||
{
|
||||
@ -72,7 +72,10 @@ namespace SystemX.Net.DB.DBType
|
||||
public XDBTMSSQL()
|
||||
{
|
||||
HostList = null;
|
||||
|
||||
UserList = null;
|
||||
}
|
||||
|
||||
~XDBTMSSQL()
|
||||
{
|
||||
Dispose(false);
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<OutputPath>..\..\Output.SystemX\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
@ -169,7 +169,8 @@
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>xcopy /y $(ProjectDir)$(OutputPath)$(TargetName).dll $(SolutionDir)..\Output.SystemX\</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<OutputPath>..\..\Output.SystemX\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
@ -199,6 +199,7 @@
|
||||
<Error Condition="!Exists('..\packages\Microsoft.Data.SqlClient.SNI.1.1.0\build\net46\Microsoft.Data.SqlClient.SNI.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Data.SqlClient.SNI.1.1.0\build\net46\Microsoft.Data.SqlClient.SNI.targets'))" />
|
||||
</Target>
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>xcopy /y $(ProjectDir)$(OutputPath)$(TargetName).dll $(SolutionDir)..\Output.SystemX\</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
Reference in New Issue
Block a user