[성현모] JsonConvertTool 추가, 서머리 수량 버그수정

This commit is contained in:
SHM
2024-10-25 13:40:03 +09:00
parent 3c8bece6b6
commit b76569d02f
52 changed files with 1148 additions and 547 deletions

View File

@ -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 " +

View File

@ -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 + "' ";

View File

@ -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 + "' ";

View File

@ -21,7 +21,7 @@ namespace SystemX.Product.TRA.UIControl
NgHistory,
ProductHistory,
TestResult,
TestSummary,
TestSumamry,
TestTrend
}

View File

@ -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

View File

@ -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();
}

View File

@ -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)
{

View File

@ -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] ";

View File

@ -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);

View File

@ -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"))
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)

View File

@ -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")));

View File

@ -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);

View File

@ -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">

View File

@ -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>

View File

@ -1,5 +1,4 @@
using DevExpress.Data.Helpers;
using DevExpress.Spreadsheet;
using DevExpress.Spreadsheet;
using DevExpress.XtraPrinting;
using DevExpress.XtraVerticalGrid;
using DevExpress.XtraVerticalGrid.Rows;

View File

@ -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);

View File

@ -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,30 +275,8 @@ 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);
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;
}
if (//!string.IsNullOrEmpty(row.MeasValStr) ||
//!string.IsNullOrEmpty(row.Message) ||
((row.MeasVal == 0) ||
string.Compare(row.Result, "NONE") == 0))
continue;
//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();
@ -315,35 +285,12 @@ namespace SystemX.Product.TRA.UIControl
if (drTL == null)
continue;
drDisp[0] = drLog[0];
drDisp[1] = drTL[1].ToString();
drDisp[2] = drTL[5].ToString();
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();
bool bIsGlobal = (Convert.ToInt32(dtRowTestlistSpec[eColTestlist.IsGlobal.ToString()])) > 0 ? true : false;
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();
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.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();
@ -359,24 +306,9 @@ namespace SystemX.Product.TRA.UIControl
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)
{
}
}
return dtFinal;
}

View File

@ -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,9 +251,6 @@ namespace SystemX.Product.TRA.UIControl
DataRow drDisp = dtFinal.NewRow();
drDisp[eColDataTable.StepNo.ToString()] = Convert.ToInt32(Convert.ToInt32(drLog[eColTestSummary.StepID.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();
@ -275,35 +260,15 @@ namespace SystemX.Product.TRA.UIControl
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.Total.ToString()] = Convert.ToInt32(drLog[eColTestSummary.Total.ToString()]);
drDisp[eColDataTable.OK.ToString()] = nOK;
drDisp[eColDataTable.NG.ToString()] = nNOK;

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

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

View File

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

View File

@ -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>

View File

@ -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)
{

View File

@ -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);
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;
}
//
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();
}

View File

@ -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" />

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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)
{

View File

@ -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);

View File

@ -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);

View File

@ -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)
{

View File

@ -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.";

View File

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

View File

@ -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>

View File

@ -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>

View File

@ -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();
}

View File

@ -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)
{
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()

View File

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

View File

@ -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;
if (bDisposing)
{
ClearCommandWatchTask();
ClearStreamWatchTask();
if (taskConnectWorkProcess != null)
{
ConnWorkCTS.Cancel();
m_bTaskConnectWorkBlock = true;
taskConnectWorkProcess.ConfigureAwait(false);
//taskConnectWorkProcess.Wait();
taskConnectWorkProcess = null;
}
if (bDisposing)
{
;//
}
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,11 +421,13 @@ 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)
{
@ -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

View File

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

View File

@ -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;
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();

View File

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

View File

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

View File

@ -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>

View File

@ -72,7 +72,10 @@ namespace SystemX.Net.DB.DBType
public XDBTMSSQL()
{
HostList = null;
UserList = null;
}
~XDBTMSSQL()
{
Dispose(false);

View File

@ -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.

View File

@ -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>