Compare commits

..

7 Commits

38 changed files with 284840 additions and 298031 deletions

View File

@ -1,2 +0,0 @@
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.GridLookUpEdit, DevExpress.XtraGrid.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@ -0,0 +1,2 @@
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.GridLookUpEdit, DevExpress.XtraGrid.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@ -1,4 +1,7 @@
using System;
using DataBaseConnection.Control;
using DevExpress.Pdf.Native.BouncyCastle.Ocsp;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
@ -6,16 +9,12 @@ using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SystemX.Common.Util;
using SystemX.Product.ALIS.Interface;
using SystemX.Product.CP.TRA;
using SystemX.Product.TRA.UIControl;
using static SystemX.Product.TRA.DataManager.DMOverview;
using static SystemX.Product.CP.TRA.Commons;
using DataBaseConnection.Control;
using Newtonsoft.Json;
using SystemX.Common.Util;
using static SystemX.Product.TRA.DataManager.DMOverview;
using CPXV2Log = SystemX.Net.Platform.SystemX.Net.XEFCore.DBContext.CPXV2Log;
namespace SystemX.Product.TRA.DataManager
@ -107,14 +106,14 @@ namespace SystemX.Product.TRA.DataManager
TestSummarySelectView = eSelectDataView.DataDocumentViewC1;
ShortTermDBConn = getDBController.GetShortTermConn1();
LongTermDBConn = getDBController.GetLongTermConn1().First().Value;
LongTermDBConn = getDBController.GetLongTermConn1().Where(x => x.Key.Contains(dtStart.Year.ToString())).First().Value;
}
else if (SelectView == eSelectDataView.DataDocumentViewC2)
{
TestSummarySelectView = eSelectDataView.DataDocumentViewC2;
ShortTermDBConn = getDBController.GetShortTermConn2();
LongTermDBConn = getDBController.GetLongTermConn2().First().Value;
LongTermDBConn = getDBController.GetLongTermConn2().Where(x => x.Key.Contains(dtStart.Year.ToString())).First().Value;
}
}
@ -262,13 +261,13 @@ namespace SystemX.Product.TRA.DataManager
}
//PK 키 지정
DataColumn[] keys1 = new DataColumn[1];
keys1[0] = new DataColumn();
keys1[0] = dtResult.Columns["StepID"];
//DataColumn[] keys1 = new DataColumn[1];
//keys1[0] = new DataColumn();
//keys1[0] = dtResult.Columns["StepID"];
dtResult.PrimaryKey = keys1;
//dtResult.PrimaryKey = keys1;
return dtResult;
return dtHistVersionTL;
}
public DataTable RefineStepVersion(DataTable dtTestlist, SelectedDataCollection data)
@ -276,12 +275,12 @@ namespace SystemX.Product.TRA.DataManager
var DuplicatedSteps = dtTestlist.AsEnumerable().GroupBy(x => x[eColTestlist.StepID.ToString()]).
Select(x => new { StepID = x.Key, Count = x.Count() }).Where(x => x.Count > 1);
foreach(var value in DuplicatedSteps)
foreach (var value in DuplicatedSteps)
{
List<DataRow> vdtRow = dtTestlist.AsEnumerable().Where(x => x[eColTestlist.StepID.ToString()].ToString() == value.StepID.ToString()).ToList();
DataRow vExcRow = vdtRow.Where(x => x[eColTestlist.StepVersion.ToString()].ToString() == data.StepVersion).FirstOrDefault();
if(vExcRow == null)
if (vExcRow == null)
{
int nMaxVer = vdtRow.Max(x => Convert.ToInt32(x[eColTestlist.StepVersion.ToString()]));
@ -310,7 +309,10 @@ namespace SystemX.Product.TRA.DataManager
}
catch (Exception e)
{
//start = DateTime
string requId = testReqID?.First();
int year = Convert.ToInt32(requId.Split(';', '@')[0].Substring(0, 4));
start = new DateTime(year, 1, 1);
}
//string strGetDataTime = testReqID?.First().Split(';')[0];
@ -329,13 +331,13 @@ namespace SystemX.Product.TRA.DataManager
{
ShortTermDBConn = GetDBController.GetShortTermConn1();
LongTermDBConn = GetDBController.GetLongTermConn1().First().Value;
LongTermDBConn = GetDBController.GetLongTermConn1().Where(x => x.Key.Contains(start.Year.ToString())).First().Value;
}
else if (TestSummarySelectView == eSelectDataView.DataDocumentViewC2)
{
ShortTermDBConn = GetDBController.GetShortTermConn2();
LongTermDBConn = GetDBController.GetLongTermConn2().First().Value;
LongTermDBConn = GetDBController.GetLongTermConn2().Where(x => x.Key.Contains(start.Year.ToString())).First().Value;
}
DataTable dtResult = new DataTable();
@ -374,7 +376,7 @@ namespace SystemX.Product.TRA.DataManager
dtReader.Close();
List<CPXV2Log.Tables.HIST_TestResult> list = new List<CPXV2Log.Tables.HIST_TestResult>();
for (int i=0; i<dtResult.Rows.Count; i++)
for (int i = 0; i < dtResult.Rows.Count; i++)
{
list.AddRange(JsonConvert.DeserializeObject<List<CPXV2Log.Tables.HIST_TestResult>>(dtResult.Rows[i]["LogData"].ToString().GzipDecompress()));
}

View File

@ -103,6 +103,8 @@
this.repositoryItemProgressBar1 = new DevExpress.XtraEditors.Repository.RepositoryItemProgressBar();
this.barCheckItem1 = new DevExpress.XtraBars.BarCheckItem();
this.barCheckItemLongTerm = new DevExpress.XtraBars.BarCheckItem();
this.barEditItemStepVersion = new DevExpress.XtraBars.BarEditItem();
this.repositoryItemButtonEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit();
this.ribbonPageView = new DevExpress.XtraBars.Ribbon.RibbonPage();
this.ribbonPageGroupNavigation = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
this.ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
@ -152,6 +154,7 @@
((System.ComponentModel.ISupportInitialize)(this.repositoryItemDateEdit4.CalendarTimeProperties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.repositoryItemTextEdit7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.repositoryItemProgressBar1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.repositoryItemTimeEdit1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.repositoryItemDateTimeOffsetEdit1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.repositoryItemMemoEdit1)).BeginInit();
@ -215,10 +218,11 @@
this.barCheckItemFullScan,
this.barEditItemProgress,
this.barCheckItem1,
this.barCheckItemLongTerm});
this.barCheckItemLongTerm,
this.barEditItemStepVersion});
this.ribbonControl.Location = new System.Drawing.Point(0, 0);
this.ribbonControl.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.ribbonControl.MaxItemId = 92;
this.ribbonControl.MaxItemId = 93;
this.ribbonControl.MdiMergeStyle = DevExpress.XtraBars.Ribbon.RibbonMdiMergeStyle.Always;
this.ribbonControl.Name = "ribbonControl";
this.ribbonControl.OptionsMenuMinWidth = 440;
@ -245,10 +249,11 @@
this.repositoryItemCheckEdit1,
this.repositoryItemTextEdit7,
this.repositoryItemCheckEdit2,
this.repositoryItemProgressBar1});
this.repositoryItemProgressBar1,
this.repositoryItemButtonEdit1});
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, 160);
this.ribbonControl.StatusBar = this.ribbonStatusBar;
this.ribbonControl.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Hidden;
//
@ -752,6 +757,22 @@
this.barCheckItemLongTerm.Name = "barCheckItemLongTerm";
this.barCheckItemLongTerm.CheckedChanged += new DevExpress.XtraBars.ItemClickEventHandler(this.barCheckItemLongTerm_CheckedChanged);
//
// barEditItemStepVersion
//
this.barEditItemStepVersion.Caption = "Step Version : ";
this.barEditItemStepVersion.Edit = this.repositoryItemButtonEdit1;
this.barEditItemStepVersion.EditWidth = 160;
this.barEditItemStepVersion.Id = 92;
this.barEditItemStepVersion.Name = "barEditItemStepVersion";
//
// repositoryItemButtonEdit1
//
this.repositoryItemButtonEdit1.AutoHeight = false;
this.repositoryItemButtonEdit1.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton()});
this.repositoryItemButtonEdit1.Name = "repositoryItemButtonEdit1";
this.repositoryItemButtonEdit1.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;
//
// ribbonPageView
//
this.ribbonPageView.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] {
@ -792,6 +813,7 @@
this.ribbonPageGroup2.ItemLinks.Add(this.barEditItemParentInfo);
this.ribbonPageGroup2.ItemLinks.Add(this.barEditItemDTBegin);
this.ribbonPageGroup2.ItemLinks.Add(this.barEditItemDTEnd);
this.ribbonPageGroup2.ItemLinks.Add(this.barEditItemStepVersion);
this.ribbonPageGroup2.Name = "ribbonPageGroup2";
this.ribbonPageGroup2.Text = "Selected Data Collection";
//
@ -907,11 +929,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, 759);
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, 24);
//
// dockManager
//
@ -934,9 +956,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, 160);
this.hideContainerLeft.Name = "hideContainerLeft";
this.hideContainerLeft.Size = new System.Drawing.Size(32, 510);
this.hideContainerLeft.Size = new System.Drawing.Size(22, 599);
//
// dockPanel
//
@ -1022,7 +1044,7 @@
// MainForm
//
this.Appearance.Options.UseFont = true;
this.AutoScaleDimensions = new System.Drawing.SizeF(14F, 29F);
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackgroundImageLayoutStore = System.Windows.Forms.ImageLayout.Zoom;
this.BackgroundImageStore = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImageStore")));
@ -1060,6 +1082,7 @@
((System.ComponentModel.ISupportInitialize)(this.repositoryItemDateEdit4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.repositoryItemTextEdit7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.repositoryItemProgressBar1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.repositoryItemTimeEdit1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.repositoryItemDateTimeOffsetEdit1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.repositoryItemMemoEdit1)).EndInit();
@ -1165,5 +1188,7 @@
private System.Windows.Forms.Timer timerProc;
private DevExpress.XtraBars.BarCheckItem barCheckItem1;
private DevExpress.XtraBars.BarCheckItem barCheckItemLongTerm;
private DevExpress.XtraBars.BarEditItem barEditItemStepVersion;
private DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit repositoryItemButtonEdit1;
}
}

View File

@ -1074,6 +1074,7 @@ namespace SystemX.Product.CP.TRA
private void MainForm_Load(object sender, EventArgs e)
{
barEditItemStepVersion.EditValue = string.Empty;
SetDBConn();
}
@ -1318,6 +1319,7 @@ namespace SystemX.Product.CP.TRA
SelectAccordianElement(view.ViewID);
view.ViewData(eCurrentView, SelectedDetailData);
barEditItemStepVersion.EditValue = $"{SelectedDetailData.StepVersion}";
view.OnDetailSelect -= SetDetailTestDataView;
view.OnDetailSelect += SetDetailTestDataView;
@ -1339,7 +1341,7 @@ namespace SystemX.Product.CP.TRA
{
view = new UcTRADetailTestResult();
DateTime dtStart = DateTime.Parse(barEditItemHostHistStart.EditValue.ToString());
DateTime dtStart = DateTime.Parse(barEditItemDateStart.EditValue.ToString());
view.SetSQLConnection(eCurrentView, this, dtStart);
string strSetViewID = string.Empty;
@ -1381,7 +1383,7 @@ namespace SystemX.Product.CP.TRA
{
view = new UcTRAStepTrend();
DateTime dtStart = DateTime.Parse(barEditItemHostHistStart.EditValue.ToString());
DateTime dtStart = DateTime.Parse(barEditItemDateStart.EditValue.ToString());
view.SetSQLConnection(eCurrentView, this, dtStart);
string strSetViewID = string.Empty;
@ -1438,7 +1440,7 @@ namespace SystemX.Product.CP.TRA
view = new UcTRASummaryTestResult();
DateTime dtStart = DateTime.Parse(barEditItemHostHistStart.EditValue.ToString());
DateTime dtStart = DateTime.Parse(barEditItemDateStart.EditValue.ToString());
view.SetSQLConnection(eCurrentView, this, dtStart);
string strSetViewID = string.Empty;
@ -1469,7 +1471,14 @@ namespace SystemX.Product.CP.TRA
view.OnStepSelect += SetTestTrendDataView;
if (baseView.ContentsType == eContents.TestHistory)
{
if (Int32.TryParse(barEditItemStepVersion.EditValue.ToString(), out var value))
{
view.ViewData(SelectedDetailData, (baseView as UcTRATestHistHost).DataResult, value);
}
else
view.ViewData(SelectedDetailData, (baseView as UcTRATestHistHost).DataResult);
}
});
}
@ -1574,7 +1583,7 @@ namespace SystemX.Product.CP.TRA
view = new UcTRATestNgHist(this, bVisibleOption, barToggleSwitchItemOverviewMerge.Checked);
DateTime dtStart = DateTime.Parse(barEditItemHostHistStart.EditValue.ToString());
DateTime dtStart = DateTime.Parse(barEditItemDateStart.EditValue.ToString());
view.SetSQLConnection(eCurrentView, this, dtStart);
string strSetViewID = string.Empty;
@ -1632,7 +1641,7 @@ namespace SystemX.Product.CP.TRA
{
view = new UcTRAStepTrend();
DateTime dtStart = DateTime.Parse(barEditItemHostHistStart.EditValue.ToString());
DateTime dtStart = DateTime.Parse(barEditItemDateStart.EditValue.ToString());
view.SetSQLConnection(eCurrentView, this, dtStart);
string strSetViewID = string.Empty;
@ -2007,7 +2016,7 @@ namespace SystemX.Product.CP.TRA
SelectAccordianElement(view.ViewID);
DateTime dtStart = DateTime.Parse(barEditItemHostHistStart.EditValue.ToString());
DateTime dtStart = DateTime.Parse(barEditItemDateStart.EditValue.ToString());
DateTime dtEnd = DateTime.Parse(barEditItemHostHistEnd.EditValue.ToString());
dtEnd = dtEnd.AddHours(23.99999);

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,12 @@
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraCharts.ChartControl, DevExpress.XtraCharts.v20.2.UI, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraVerticalGrid.VGridControl, DevExpress.XtraVerticalGrid.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraVerticalGrid.VGridControl, DevExpress.XtraVerticalGrid.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit, DevExpress.XtraEditors.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit, DevExpress.XtraEditors.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraCharts.ChartControl, DevExpress.XtraCharts.v22.1.UI, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@ -1,7 +1,10 @@
DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraCharts.ChartControl, DevExpress.XtraCharts.v20.2.UI, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraVerticalGrid.VGridControl, DevExpress.XtraVerticalGrid.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@ -1784,8 +1784,8 @@
rEH4H6xB+B+sQf//rEH//6xB
</value>
</data>
<assembly alias="DevExpress.Data.v20.2" name="DevExpress.Data.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="ConnectForm.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v20.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<assembly alias="DevExpress.Data.v22.1" name="DevExpress.Data.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="ConnectForm.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIwLjIsIFZlcnNpb249MjAuMi42
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl

View File

@ -58,35 +58,36 @@
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.BonusSkins.v20.2" />
<Reference Include="DevExpress.Charts.v20.2.Core, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.Desktop.v20.2" />
<Reference Include="DevExpress.Data.v20.2" />
<Reference Include="DevExpress.DataAccess.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataVisualization.v20.2.Core, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<Reference Include="DevExpress.BonusSkins.v22.1" />
<Reference Include="DevExpress.Charts.v22.1.Core, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.Desktop.v22.1" />
<Reference Include="DevExpress.Drawing.v22.1" />
<Reference Include="DevExpress.Data.v22.1" />
<Reference Include="DevExpress.DataAccess.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataVisualization.v22.1.Core, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\DevExpress.DataVisualization.v20.2.Core.dll</HintPath>
</Reference>
<Reference Include="DevExpress.Docs.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Images.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v20.2.Core, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Pdf.v20.2.Core, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.RichEdit.v20.2.Core, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Spreadsheet.v20.2.Core, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v20.2" />
<Reference Include="DevExpress.Sparkline.v20.2.Core" />
<Reference Include="DevExpress.Utils.v20.2.UI, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraBars.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraCharts.v20.2.UI, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v20.2.Wizard, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraEditors.v20.2" />
<Reference Include="DevExpress.Printing.v20.2.Core" />
<Reference Include="DevExpress.XtraGrid.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<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="DevExpress.Docs.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Images.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v22.1.Core, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Pdf.v22.1.Core, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.RichEdit.v22.1.Core, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Spreadsheet.v22.1.Core, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v22.1" />
<Reference Include="DevExpress.Sparkline.v22.1.Core" />
<Reference Include="DevExpress.Utils.v22.1.UI, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraBars.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraCharts.v22.1.UI, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v22.1.Wizard, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraEditors.v22.1" />
<Reference Include="DevExpress.Printing.v22.1.Core" />
<Reference Include="DevExpress.XtraGrid.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraRichEdit.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraVerticalGrid.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="log4net">
<HintPath>.\log4net.dll</HintPath>
</Reference>

View File

@ -165,6 +165,7 @@
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
@ -211,6 +212,7 @@
<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>
</Reference>
<Reference Include="System.Runtime.Remoting" />
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
@ -234,6 +236,8 @@
<Reference Include="SystemX.XEFCore">
<HintPath>..\..\Output.SystemX\SystemX.XEFCore.dll</HintPath>
</Reference>
<Reference Include="UIAutomationClient" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="ChildControl.cs">

View File

@ -296,12 +296,18 @@ namespace SystemX.Product.TRA.UIControl
if (Int64.TryParse(dtRowTestlistSpec[2].ToString(), out outValue))
{
CPXV2Log.Tables.HIST_TestResult row = list.Where(x => x.StepID == outValue)?.First();
if(row == null)
if (row == null)
{
continue;
}
if (string.IsNullOrEmpty(row.MeasValStr) == true)
if (dtRowTestlistSpec.ItemArray[9].ToString() == "TEMPCELSIUS")
{
row.MeasVal = Convert.ToDecimal($"{row.Message.Split('_')[1]}");
row.MeasValStr = $"{row.Message.Split('_')[1]}";
row.Message = string.Empty;
}
else if (string.IsNullOrEmpty(row.MeasValStr) == true)
{
if (//!string.IsNullOrEmpty(row.MeasValStr) ||
//!string.IsNullOrEmpty(row.Message) ||
@ -559,7 +565,7 @@ namespace SystemX.Product.TRA.UIControl
{
string strDim = dtRowTestlist[DMTestDetail.eColTestlist.Dim.ToString()].ToString();
if (NoChartDispSpec.Contains(strDim))
if (data.MO != "TEMPCELSIUS" && NoChartDispSpec.Contains(strDim))
return null;
bool bIsGlobal = (Convert.ToInt32(dtRowTestlist[DMTestDetail.eColTestlist.IsGlobal.ToString()])) > 0 ? true : false;
@ -608,7 +614,7 @@ namespace SystemX.Product.TRA.UIControl
elemUnit.Result = strResult == "NG" || strResult == "ERROR" ? eResultType.NG : strResult == "OK" ? eResultType.OK : eResultType.NONE;
if (bOKDataOnly && elemUnit.Result != eResultType.OK)
if (bOKDataOnly && data.MO != "TEMPCELSIUS" && elemUnit.Result != eResultType.OK)
continue;
resultUnit.DataElements.Add(elemUnit);

View File

@ -1,6 +1,7 @@
using DevExpress.Utils;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using DevExpress.XtraPrinting;
using DevExpress.XtraVerticalGrid;
using DevExpress.XtraVerticalGrid.Rows;
using System;
@ -86,7 +87,7 @@ namespace SystemX.Product.TRA.UIControl
DataManager = new DMTestSummary(SelectView, DBController, dtStart);
}
public void ViewData(SelectedDataCollection data, DataTable DataList)
public void ViewData(SelectedDataCollection data, DataTable DataList, int stepVersion = -1)
{
if (data == null)
return;
@ -109,7 +110,7 @@ namespace SystemX.Product.TRA.UIControl
try
{
ShowProperties(data);
data.StepVersion = stepVersion.ToString();
SelectedData = data;
DTTestLogList = DataList;
@ -122,7 +123,12 @@ namespace SystemX.Product.TRA.UIControl
string strGetStepVersion = dr[eColList.StepVersion.ToString()].ToString();
int nCurStepVersion = int.MinValue;
if (int.TryParse(strGetStepVersion, out nCurStepVersion) == false)
if (stepVersion > -1)
{
nGetStepVersion = stepVersion;
ShowProperties(data);
}
else if (int.TryParse(strGetStepVersion, out nCurStepVersion) == false)
{
bOptionNewStepVersionBase = true;
@ -184,7 +190,7 @@ namespace SystemX.Product.TRA.UIControl
DataTable dtFinal = new DataTable();
foreach(string strCol in Enum.GetNames(typeof(eColDataTable)))
foreach (string strCol in Enum.GetNames(typeof(eColDataTable)))
{
Type typCol = typeof(string);
@ -277,7 +283,7 @@ namespace SystemX.Product.TRA.UIControl
drDisp[eColDataTable.Function.ToString()] = drTL[eColTestlist.UseFunction.ToString()].ToString();
bool bIsGlobal = (Convert.ToInt32(drTL[eColTestlist.IsGlobal.ToString()])) > 0 ? true : false;
if(bIsGlobal == true)
if (bIsGlobal == true)
{
}
@ -404,5 +410,36 @@ namespace SystemX.Product.TRA.UIControl
OnStepSelect(dataSend);
}
}
public override void ExportData()
{
FolderBrowserDialog dlg = new FolderBrowserDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
string strFileName = CreateExportFileName();
string strExpPath = dlg.SelectedPath + "\\" + strFileName;
XlsxExportOptionsEx option = new XlsxExportOptionsEx();
string strFile = strExpPath + ".xlsx";
option.ShowGridLines = true;
option.ExportType = DevExpress.Export.ExportType.WYSIWYG;
option.ExportMode = XlsxExportMode.SingleFile;
option.SheetName = "Test Summary";
gridControlMain.ExportToXlsx(strFile, option);
}
}
public string CreateExportFileName()
{
string strFileName = $"{this.ContentsType.ToString()}_{SelectedData.ProductNo}_{SelectedData.TestCode}_{SelectedData.StationName}";
strFileName += $"_{SelectedData.StartTime.ToString("yyyyMMddHHmmss")}-{SelectedData.EndTime.ToString("yyyyMMddHHmmss")}";
return strFileName;
}
}
}

View File

@ -39,6 +39,8 @@
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.labelControlOKTestTime = new DevExpress.XtraEditors.LabelControl();
this.labelControl4 = new DevExpress.XtraEditors.LabelControl();
((System.ComponentModel.ISupportInitialize)(this.gridControlMain)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gridViewMain)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
@ -122,6 +124,8 @@
//
// groupControl1
//
this.groupControl1.Controls.Add(this.labelControlOKTestTime);
this.groupControl1.Controls.Add(this.labelControl4);
this.groupControl1.Controls.Add(this.labelControlTestTime);
this.groupControl1.Controls.Add(this.labelControl3);
this.groupControl1.Controls.Add(this.labelControlTestResult);
@ -199,6 +203,22 @@
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// labelControlOKTestTime
//
this.labelControlOKTestTime.Location = new System.Drawing.Point(894, 29);
this.labelControlOKTestTime.Name = "labelControlOKTestTime";
this.labelControlOKTestTime.Size = new System.Drawing.Size(4, 14);
this.labelControlOKTestTime.TabIndex = 7;
this.labelControlOKTestTime.Text = "-";
//
// labelControl4
//
this.labelControl4.Location = new System.Drawing.Point(800, 29);
this.labelControl4.Name = "labelControl4";
this.labelControl4.Size = new System.Drawing.Size(88, 14);
this.labelControl4.TabIndex = 6;
this.labelControl4.Text = "OK Test Time : ";
//
// UcTRATestHistHost
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
@ -234,5 +254,7 @@
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraEditors.LabelControl labelControl3;
private DevExpress.XtraEditors.LabelControl labelControlTestTime;
private DevExpress.XtraEditors.LabelControl labelControlOKTestTime;
private DevExpress.XtraEditors.LabelControl labelControl4;
}
}

View File

@ -156,10 +156,19 @@ namespace SystemX.Product.TRA.UIControl
double dRatio = (((double)(nOKTestCount * 100)) / (nOKTestCount + nNGTestCount));
labelControlTestResult.Text = $"{nOKTestCount + nNGTestCount} (OK: {nOKTestCount}/NG: {nNGTestCount}) - Ratio: {dRatio.ToString(".##")}%";
//total
labelControlTestTime.Text = vnTestTime.Count > 0 ?
$"Average = {(vnTestTime.Average()/1000).ToString(".##")}s, Min = {(((double)vnTestTime.Min()) / 1000).ToString(".##")}s, Max = {(((double)vnTestTime.Max()) / 1000).ToString(".##")}s" :
$"Average = {(vnTestTime.Average() / 1000).ToString(".##")}s, Min = {(((double)vnTestTime.Min()) / 1000).ToString(".##")}s, Max = {(((double)vnTestTime.Max()) / 1000).ToString(".##")}s" :
$"Average = -, Min = -, Max = -";
//ok
List<int> vnOKTestTime = (from drData in dtResult.AsEnumerable()
where drData[DMTestHistory.eColList.TestResult.ToString()].ToString() == "OK"
let nTime = Convert.ToInt32(drData[DMTestHistory.eColList.Duration.ToString()].ToString())
select nTime).ToList();
labelControlOKTestTime.Text = vnOKTestTime.Count > 0 ?
$"Average = {(vnOKTestTime.Average() / 1000).ToString(".##")}s, Min = {(((double)vnOKTestTime.Min()) / 1000).ToString(".##")}s, Max = {(((double)vnOKTestTime.Max()) / 1000).ToString(".##")}s" :
$"Average = -, Min = -, Max = -";
}
@ -259,7 +268,7 @@ namespace SystemX.Product.TRA.UIControl
private void SetDetailDataView()
{
if(nCurrentRowSelected != int.MaxValue)
if (nCurrentRowSelected != int.MaxValue)
{
var dvRow = gridViewMain.GetRow(nCurrentRowSelected);
DataRow dtRow = (dvRow as DataRowView).Row;
@ -308,7 +317,7 @@ namespace SystemX.Product.TRA.UIControl
List<DetailTestDataCollection> vDetailData = new List<DetailTestDataCollection>();
GridView view = gridViewMain as GridView;
for(int i=0; i<view.RowCount; i++)
for (int i = 0; i < view.RowCount; i++)
{
DataRow dtRow = (view.GetRow(i) as DataRowView).Row;
DetailTestDataCollection dtContent = GetSearchInfo(dtRow);
@ -376,5 +385,10 @@ namespace SystemX.Product.TRA.UIControl
e.HighPriority = true;
}
}
private void groupControl1_Paint(object sender, PaintEventArgs e)
{
}
}
}

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
</configuration>

View File

@ -0,0 +1,29 @@
 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SystemX.Product.CP.TRA.Extract
{
public class Config
{
public string CPXV2Server { get; set; }
public string CPXV2Database { get; set; }
public string Server { get; set; }
public string DataBase { get; set; }
public string SummaryTable { get; set; }
public string ResultTable { get; set; }
public string User { get; set; }
public string Passwd { get; set; }
public string ProductNo { get; set; }
public string TestCode { get; set; }
public string StartDate { get; set; }
public string EndDate { get; set; }
public string MO { get; set; }
public int RowCount { get; set; }
}
}

View File

@ -0,0 +1,215 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Diagnostics;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace SystemX.Product.CP.TRA.Extract
{
public class DBService
{
public string CPXV2ConnectionString { get; set; }
public string ConnectionString { get; set; }
public List<TestList> GetTestList(Config config)
{
List<TestList> result = new List<TestList>();
// 1. 연결 생성
using (SqlConnection conn = new SqlConnection(CPXV2ConnectionString))
{
try
{
// 2. 실행할 쿼리 작성 (JOIN 포함)
string sql = $@"SELECT [No]
,[TestListFileNo]
,[StepID]
,[StepVersion]
,[StepDesc]
,[SpecMin]
,[SpecMax]
,[Dim]
FROM [{config.CPXV2Database}].[dbo].[VRFY_TestListFileRelease] WITH(NOLOCK) where StepDesc = '{config.MO}'";
SqlCommand cmd = new SqlCommand(sql, conn);
// 타임아웃 설정 (600만 건은 시간이 걸릴 수 있으므로 0(무제한) 또는 넉넉하게 설정)
cmd.CommandTimeout = 300;
conn.Open();
// 3. DataReader로 데이터 읽기
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
var tl = new TestList
{
TestListFileNo = Convert.ToInt32(reader["TestListFileNo"]),
StepID = Convert.ToInt32(reader["StepID"]),
StepVersion = Convert.ToInt32(reader["StepVersion"]),
StepDesc = reader["StepDesc"].ToString(),
SpecMin = reader["SpecMin"].ToString(),
SpecMax = reader["SpecMax"].ToString(),
Dim = reader["Dim"].ToString(),
};
result.Add(tl);
}
}
}
catch (SqlException ex)
{
Console.WriteLine("DB 오류 발생: " + ex.Message);
}
}
Console.WriteLine($"{config.MO} 포함 테스트리스트 개수: {result.Count}");
return result;
}
public void GetLargeData(List<TestList> testList, Config config)
{
int rowCount = 0;
int fileNo = 0;
string fileName = $"";
// 1. 연결 생성
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
try
{
// 2. 실행할 쿼리 작성 (JOIN 포함)
//string sql = $@"SELECT * FROM {config.SummaryTable} as Summary WITH(NOLOCK)
//JOIN {config.ResultTable} as Result WITH(NOLOCK) ON Summary.No = Result.No
//WHERE TestListFileNo = {tl.TestListFileNo} and StepVersion={tl.StepVersion}";
string sql = $@"SELECT
Summary.*,
Result.LogData,
TL.StepVersion AS Matched_StepVersion
FROM [{config.DataBase}].[dbo].[{config.SummaryTable}] AS Summary WITH(NOLOCK)
JOIN [{config.DataBase}].[dbo].[{config.ResultTable}] AS Result WITH(NOLOCK)
ON Summary.No = Result.No
OUTER APPLY (
SELECT TOP 1 *
FROM [{config.CPXV2Database}].[dbo].[VRFY_TestListFileRelease]
WHERE StepVersion <= Summary.StepVersion and StepDesc = '{config.MO}'
ORDER BY StepVersion DESC
) AS TL";
//TestDT
DateTime endDate = Convert.ToDateTime(config.EndDate).AddDays(1);
sql += $" where '{config.StartDate}' <= Summary.TestDT and Summary.TestDT < '{endDate.ToString("yyyy-MM-dd")}'";
//test code
if (string.IsNullOrEmpty(config.TestCode) == false)
sql += $" and TestCode = '{config.TestCode}'";
//productNo
if (string.IsNullOrEmpty(config.ProductNo) == false)
sql += $" and ProdNo_C = '{config.ProductNo}'";
SqlCommand cmd = new SqlCommand(sql, conn);
// 타임아웃 설정 (600만 건은 시간이 걸릴 수 있으므로 0(무제한) 또는 넉넉하게 설정)
cmd.CommandTimeout = 0;
conn.Open();
// 3. DataReader로 데이터 읽기
using (SqlDataReader reader = cmd.ExecuteReader())
{
bool queryLog = false;
while (reader.Read())
{
if (queryLog == false)
{
Console.ForegroundColor = ConsoleColor.DarkYellow;
Thread.Sleep(10);
Console.WriteLine($"Query: {sql}");
Console.ForegroundColor = ConsoleColor.White;
queryLog = true;
}
// 예: 데이터 처리 로직
var val = Decompression(reader["LogData"].ToString());
var date = Convert.ToDateTime(reader["TestDT"]);
var testListFileNo = Convert.ToInt32(reader["TestListFileNo"]);
var stepVersion = Convert.ToInt32(reader["Matched_StepVersion"]);
var no = Convert.ToInt32(reader["No"]);
var productNo = reader["ProdNo_C"].ToString();
var testCode = reader["TestCode"].ToString();
var host = reader["HostID"].ToString();
var productID = reader["ProductID"].ToString();
var r = JsonConvert.DeserializeObject<List<TestResult>>(val);
var tl = testList.Find(x => x.TestListFileNo == testListFileNo && x.StepVersion == stepVersion);
if(tl != null)
{
//Console.WriteLine($"Current No:{no}");
var findStep = r.Find(x => x.StepID == tl.StepID);
if (rowCount % config.RowCount == 0)
{
rowCount = 0;
fileNo += 1;
fileName = $"{config.MO}";
//testcode
if (string.IsNullOrEmpty(config.TestCode) == false)
fileName += $"_{testCode}";
if (string.IsNullOrEmpty(config.ProductNo) == false)
fileName += $"_{productNo}";
fileName += $"_{config.StartDate}_{config.EndDate}";
File.AppendAllText($"{fileName}_{fileNo}.csv", $"ProductNo,TestCode,TestDT,MO,MeasVal,MeasValStr,Host,ProductID\n");
Console.WriteLine($"Create New File: {fileName}_{fileNo}.csv");
}
if (findStep != null)
{
File.AppendAllText($"./{fileName}_{fileNo}.csv", $"{productNo},{testCode},{date.ToString("yyyy-MM-dd HH:mm:ss")},{tl.StepDesc},{findStep.MeasVal},{findStep.MeasValStr},{host},{productID}\n");
rowCount += 1;
}
}
}
}
}
catch (SqlException ex)
{
Console.WriteLine("DB 오류 발생: " + ex.Message);
}
}
}
public static string Decompression(string compressedDataStr)
{
string result = null;
byte[] buffer = Convert.FromBase64String(compressedDataStr);
using (MemoryStream stream = new MemoryStream(buffer))
{
using (GZipStream stream2 = new GZipStream(stream, CompressionMode.Decompress))
{
using (StreamReader streamReader = new StreamReader(stream2))
{
result = streamReader.ReadToEnd();
}
}
}
return result;
}
}
}

View File

@ -0,0 +1,89 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace SystemX.Product.CP.TRA.Extract
{
internal class Program
{
static void Main(string[] args)
{
bool isError = false;
var config = JsonConvert.DeserializeObject<Config>(File.ReadAllText("Config.json"));
DBService dbS = new DBService();
dbS.CPXV2ConnectionString = $"Server={config.CPXV2Server};Database=CPXV2;User Id={config.User};Password={config.Passwd};";
dbS.ConnectionString = $"Server={config.Server};Database={config.DataBase};User Id={config.User};Password={config.Passwd};";
//db check
try
{
using (SqlConnection conn = new SqlConnection(dbS.CPXV2ConnectionString))
{
conn.Open();
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.WriteLine("Config.json, CPXV2 server connect success.");
}
using (SqlConnection conn = new SqlConnection(dbS.ConnectionString))
{
conn.Open();
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.WriteLine($"Config.json, {config.DataBase} server connect success.");
}
}
catch (Exception e)
{
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.WriteLine("Config.json, Invalid Server Set.");
isError = true;
}
Console.WriteLine("");
Thread.Sleep(1000);
//mo check
if (string.IsNullOrEmpty(config.MO) == true)
{
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.WriteLine("Config.json, MO Value is Empty");
isError = true;
}
//date check
try
{
var start = Convert.ToDateTime(config.StartDate);
var end = Convert.ToDateTime(config.EndDate);
}
catch (Exception e)
{
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.WriteLine("Config.json, StartDate ~ EndDate are Invalid Format. Fix to yyyy-MM-dd");
isError = true;
}
if (isError == true)
{
return;
}
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.WriteLine($"ProductNO:{config.ProductNo}, TestCode:{config.TestCode}");
Console.WriteLine($"StartDate:{config.StartDate}, EndDate:{config.EndDate}");
Console.WriteLine($"MO:{config.MO}");
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("");
Thread.Sleep(1000);
var finsList = dbS.GetTestList(config);
dbS.GetLargeData(finsList, config);
}
}
}

View File

@ -0,0 +1,33 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
// 이러한 특성 값을 변경하세요.
[assembly: AssemblyTitle("SystemX.Product.CP.TRA.Extract")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SystemX.Product.CP.TRA.Extract")]
[assembly: AssemblyCopyright("Copyright © 2026")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
[assembly: ComVisible(false)]
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
[assembly: Guid("59074fb3-4828-42de-afb0-77b1cb629511")]
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
//
// 주 버전
// 부 버전
// 빌드 번호
// 수정 버전
//
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{59074FB3-4828-42DE-AFB0-77B1CB629511}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>SystemX.Product.CP.TRA.Extract</RootNamespace>
<AssemblyName>SystemX.Product.CP.TRA.Extract</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Config.cs" />
<Compile Include="DBService.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="TestList.cs" />
<Compile Include="TestResult.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SystemX.Product.CP.TRA.Extract
{
public class TestList
{
public int TestListFileNo { get; set; }
public int StepID { get; set; }
public int StepVersion { get; set; }
public string StepDesc { get; set; }
public string SpecMin { get; set; }
public string SpecMax { get; set; }
public string Dim { get; set; }
}
}

View File

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SystemX.Product.CP.TRA.Extract
{
public class TestResult
{
public int No { get; set; }
public int StepID { get; set; }
public double MeasVal { get; set; }
public string MeasValStr { get; set; }
}
}

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net481" />
</packages>

View File

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.33027.164
# Visual Studio Version 17
VisualStudioVersion = 17.14.36301.6 d17.14
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{18C1E9B6-823D-49DB-8253-ED32EEA21DB1}"
EndProject
@ -12,6 +12,8 @@ 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}") = "SystemX.Product.CP.TRA.Extract", "SystemX.Product.CP.TRA.Extract\SystemX.Product.CP.TRA.Extract.csproj", "{59074FB3-4828-42DE-AFB0-77B1CB629511}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -36,12 +38,20 @@ 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
{59074FB3-4828-42DE-AFB0-77B1CB629511}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{59074FB3-4828-42DE-AFB0-77B1CB629511}.Debug|Any CPU.Build.0 = Debug|Any CPU
{59074FB3-4828-42DE-AFB0-77B1CB629511}.Debug|x64.ActiveCfg = Debug|Any CPU
{59074FB3-4828-42DE-AFB0-77B1CB629511}.Debug|x64.Build.0 = Debug|Any CPU
{59074FB3-4828-42DE-AFB0-77B1CB629511}.Release|Any CPU.ActiveCfg = Release|Any CPU
{59074FB3-4828-42DE-AFB0-77B1CB629511}.Release|Any CPU.Build.0 = Release|Any CPU
{59074FB3-4828-42DE-AFB0-77B1CB629511}.Release|x64.ActiveCfg = Release|Any CPU
{59074FB3-4828-42DE-AFB0-77B1CB629511}.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

@ -1,4 +1,7 @@
using System;
using DataBaseConnection.Control;
using DevExpress.Pdf.Native.BouncyCastle.Ocsp;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
@ -6,16 +9,12 @@ using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SystemX.Common.Util;
using SystemX.Product.ALIS.Interface;
using SystemX.Product.CP.TRA;
using SystemX.Product.TRA.UIControl;
using static SystemX.Product.TRA.DataManager.DMOverview;
using static SystemX.Product.CP.TRA.Commons;
using DataBaseConnection.Control;
using Newtonsoft.Json;
using SystemX.Common.Util;
using static SystemX.Product.TRA.DataManager.DMOverview;
using CPXV2Log = SystemX.Net.Platform.SystemX.Net.XEFCore.DBContext.CPXV2Log;
namespace SystemX.Product.TRA.DataManager
@ -310,7 +309,10 @@ namespace SystemX.Product.TRA.DataManager
}
catch (Exception e)
{
//start = DateTime
string requId = testReqID?.First();
int year = Convert.ToInt32(requId.Split(';', '@')[0].Substring(0, 4));
start = new DateTime(year,1,1);
}
//string strGetDataTime = testReqID?.First().Split(';')[0];

View File

@ -1362,7 +1362,7 @@ namespace SystemX.Product.CP.TRA
{
view = new UcTRADetailTestResult();
DateTime dtStart = DateTime.Parse(barEditItemHostHistStart.EditValue.ToString());
DateTime dtStart = DateTime.Parse(barEditItemDateStart.EditValue.ToString());
view.SetSQLConnection(eCurrentView, this, dtStart);
string strSetViewID = string.Empty;
@ -1404,7 +1404,7 @@ namespace SystemX.Product.CP.TRA
{
view = new UcTRAStepTrend();
DateTime dtStart = DateTime.Parse(barEditItemHostHistStart.EditValue.ToString());
DateTime dtStart = DateTime.Parse(barEditItemDateStart.EditValue.ToString());
view.SetSQLConnection(eCurrentView, this, dtStart);
string strSetViewID = string.Empty;
@ -1461,7 +1461,7 @@ namespace SystemX.Product.CP.TRA
view = new UcTRASummaryTestResult();
DateTime dtStart = DateTime.Parse(barEditItemHostHistStart.EditValue.ToString());
DateTime dtStart = DateTime.Parse(barEditItemDateStart.EditValue.ToString());
view.SetSQLConnection(eCurrentView, this, dtStart);
string strSetViewID = string.Empty;
@ -1604,7 +1604,7 @@ namespace SystemX.Product.CP.TRA
view = new UcTRATestNgHist(this, bVisibleOption, barToggleSwitchItemOverviewMerge.Checked);
DateTime dtStart = DateTime.Parse(barEditItemHostHistStart.EditValue.ToString());
DateTime dtStart = DateTime.Parse(barEditItemDateStart.EditValue.ToString());
view.SetSQLConnection(eCurrentView, this, dtStart);
string strSetViewID = string.Empty;
@ -1662,7 +1662,7 @@ namespace SystemX.Product.CP.TRA
{
view = new UcTRAStepTrend();
DateTime dtStart = DateTime.Parse(barEditItemHostHistStart.EditValue.ToString());
DateTime dtStart = DateTime.Parse(barEditItemDateStart.EditValue.ToString());
view.SetSQLConnection(eCurrentView, this, dtStart);
string strSetViewID = string.Empty;
@ -2037,7 +2037,7 @@ namespace SystemX.Product.CP.TRA
SelectAccordianElement(view.ViewID);
DateTime dtStart = DateTime.Parse(barEditItemHostHistStart.EditValue.ToString());
DateTime dtStart = DateTime.Parse(barEditItemDateStart.EditValue.ToString());
DateTime dtEnd = DateTime.Parse(barEditItemHostHistEnd.EditValue.ToString());
dtEnd = dtEnd.AddHours(23.99999);

View File

@ -117,8 +117,8 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="DevExpress.Data.v22.2" name="DevExpress.Data.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="barStaticItemConn.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<assembly alias="DevExpress.Data.v22.1" name="DevExpress.Data.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="barStaticItemConn.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4x
Mi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAB1E
@ -286,7 +286,7 @@
Oqm3AAAAAElFTkSuQmCC
</value>
</data>
<data name="skinRibbonGalleryBarItem.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="skinRibbonGalleryBarItem.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4x
Mi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAB1E
@ -372,7 +372,7 @@
YFyDcQ3GNRj3A6wq/6eqW9GzAAAAAElFTkSuQmCC
</value>
</data>
<data name="skinPaletteRibbonGalleryBarItem.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="skinPaletteRibbonGalleryBarItem.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4x
Mi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAB1E
@ -390,7 +390,7 @@
IHdpZHRoPSI4MCIgaGVpZ2h0PSIxNCIgY2xhc3M9IlBhaW50IiAvPg0KPC9zdmc+Cw==
</value>
</data>
<data name="barButtonItemView.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="barButtonItemView.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4x
Mi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAB1E
@ -529,7 +529,7 @@
qFa/ZiSk5xl9+TxrdJ2eR5GzL+X/AgQaokxHWFksAAAAAElFTkSuQmCC
</value>
</data>
<data name="barButtonItemHostHistory.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="barButtonItemHostHistory.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4x
Mi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAB1E
@ -561,7 +561,7 @@
cz0iQmx1ZSIgLz4NCjwvc3ZnPgs=
</value>
</data>
<data name="barButtonItemHostTrend.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="barButtonItemHostTrend.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4x
Mi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAB1E
@ -590,7 +590,7 @@
L2c+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
</data>
<data name="barButtonItemExportExcel.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="barButtonItemExportExcel.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4x
Mi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAB1E
@ -655,7 +655,7 @@
Qmx1ZSIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
</value>
</data>
<data name="barButtonItemProductHistory.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="barButtonItemProductHistory.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4x
Mi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAB1E
@ -1234,7 +1234,7 @@
AcAa+4/rX3H9aS8I6FJAkZD3/uf/2Q==
</value>
</data>
<data name="barButtonItemOverview.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="barButtonItemOverview.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4x
Mi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAB1E
@ -1336,7 +1336,7 @@
Oqm3AAAAAElFTkSuQmCC
</value>
</data>
<data name="skinRibbonGalleryBarItemTheme.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="skinRibbonGalleryBarItemTheme.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4x
Mi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAB1E
@ -1619,7 +1619,7 @@
kIbzszB+HoTYZEzyOkZmH/o0Ez9KX/zIDEf8uPxfeT0Mch/+cTrvPyAMut67s0gKAAAAAElFTkSuQmCC
</value>
</data>
<data name="barButtonItemConnSelect.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="barButtonItemConnSelect.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4x
Mi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAB1E
@ -1640,7 +1640,7 @@
YzAuNC0wLjIsMC42LTAuNiwwLjQtMUwyNC4yLDI2eiIgY2xhc3M9IkJsYWNrIiAvPg0KPC9zdmc+Cw==
</value>
</data>
<data name="barEditItemProductID.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="barEditItemProductID.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4x
Mi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAB1E
@ -1659,7 +1659,7 @@
LDExLDguNFY5LjZ6IiBjbGFzcz0iQmx1ZSIgLz4NCjwvc3ZnPgs=
</value>
</data>
<data name="barCheckItemFullScan.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="barCheckItemFullScan.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4x
Mi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAB1E

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,11 @@
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit, DevExpress.XtraEditors.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraVerticalGrid.VGridControl, DevExpress.XtraVerticalGrid.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraCharts.ChartControl, DevExpress.XtraCharts.v22.1.UI, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit, DevExpress.XtraEditors.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraVerticalGrid.VGridControl, DevExpress.XtraVerticalGrid.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@ -1,7 +1,10 @@
DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit, DevExpress.XtraEditors.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraVerticalGrid.VGridControl, DevExpress.XtraVerticalGrid.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@ -1784,8 +1784,8 @@
rEH4H6xB+B+sQf//rEH//6xB
</value>
</data>
<assembly alias="DevExpress.Data.v22.2" name="DevExpress.Data.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="ConnectForm.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<assembly alias="DevExpress.Data.v22.1" name="DevExpress.Data.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="ConnectForm.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIwLjIsIFZlcnNpb249MjAuMi42
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl

View File

@ -1784,8 +1784,8 @@
rEH4H6xB+B+sQf//rEH//6xB
</value>
</data>
<assembly alias="DevExpress.Data.v20.2" name="DevExpress.Data.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="ConnectForm.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v20.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<assembly alias="DevExpress.Data.v22.2" name="DevExpress.Data.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="ConnectForm.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIwLjIsIFZlcnNpb249MjAuMi42
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl

View File

@ -58,36 +58,36 @@
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.BonusSkins.v22.2" />
<Reference Include="DevExpress.Charts.v22.2.Core, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.Desktop.v22.2" />
<Reference Include="DevExpress.Drawing.v22.2" />
<Reference Include="DevExpress.Data.v22.2" />
<Reference Include="DevExpress.DataAccess.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataVisualization.v22.2.Core, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<Reference Include="DevExpress.BonusSkins.v22.1" />
<Reference Include="DevExpress.Charts.v22.1.Core, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.Desktop.v22.1" />
<Reference Include="DevExpress.Drawing.v22.1" />
<Reference Include="DevExpress.Data.v22.1" />
<Reference Include="DevExpress.DataAccess.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataVisualization.v22.1.Core, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="DevExpress.Docs.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Images.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v22.2.Core, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Pdf.v22.2.Core, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.RichEdit.v22.2.Core, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Spreadsheet.v22.2.Core, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v22.2" />
<Reference Include="DevExpress.Sparkline.v22.2.Core" />
<Reference Include="DevExpress.Utils.v22.2.UI, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraBars.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraCharts.v22.2.UI, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v22.2.Wizard, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraEditors.v22.2" />
<Reference Include="DevExpress.Printing.v22.2.Core" />
<Reference Include="DevExpress.XtraGrid.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraRichEdit.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraVerticalGrid.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Docs.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Images.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v22.1.Core, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Pdf.v22.1.Core, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.RichEdit.v22.1.Core, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Spreadsheet.v22.1.Core, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v22.1" />
<Reference Include="DevExpress.Sparkline.v22.1.Core" />
<Reference Include="DevExpress.Utils.v22.1.UI, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraBars.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraCharts.v22.1.UI, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v22.1.Wizard, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraEditors.v22.1" />
<Reference Include="DevExpress.Printing.v22.1.Core" />
<Reference Include="DevExpress.XtraGrid.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraRichEdit.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraVerticalGrid.v22.1, Version=22.1.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="log4net">
<HintPath>.\log4net.dll</HintPath>
</Reference>

View File

@ -58,35 +58,36 @@
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.BonusSkins.v20.2" />
<Reference Include="DevExpress.Charts.v20.2.Core, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.Desktop.v20.2" />
<Reference Include="DevExpress.Data.v20.2" />
<Reference Include="DevExpress.DataAccess.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataVisualization.v20.2.Core, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<Reference Include="DevExpress.BonusSkins.v22.2" />
<Reference Include="DevExpress.Charts.v22.2.Core, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.Desktop.v22.2" />
<Reference Include="DevExpress.Drawing.v22.2" />
<Reference Include="DevExpress.Data.v22.2" />
<Reference Include="DevExpress.DataAccess.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataVisualization.v22.2.Core, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\DevExpress.DataVisualization.v20.2.Core.dll</HintPath>
</Reference>
<Reference Include="DevExpress.Docs.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Images.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v20.2.Core, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Pdf.v20.2.Core, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.RichEdit.v20.2.Core, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Spreadsheet.v20.2.Core, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v20.2" />
<Reference Include="DevExpress.Sparkline.v20.2.Core" />
<Reference Include="DevExpress.Utils.v20.2.UI, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraBars.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraCharts.v20.2.UI, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v20.2.Wizard, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraEditors.v20.2" />
<Reference Include="DevExpress.Printing.v20.2.Core" />
<Reference Include="DevExpress.XtraGrid.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v20.2, Version=20.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<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="DevExpress.Docs.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Images.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v22.2.Core, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Pdf.v22.2.Core, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.RichEdit.v22.2.Core, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Spreadsheet.v22.2.Core, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v22.2" />
<Reference Include="DevExpress.Sparkline.v22.2.Core" />
<Reference Include="DevExpress.Utils.v22.2.UI, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraBars.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraCharts.v22.2.UI, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v22.2.Wizard, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraEditors.v22.2" />
<Reference Include="DevExpress.Printing.v22.2.Core" />
<Reference Include="DevExpress.XtraGrid.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraRichEdit.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraVerticalGrid.v22.2, Version=22.2.12.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="log4net">
<HintPath>.\log4net.dll</HintPath>
</Reference>

View File

@ -1,6 +1,7 @@
using DevExpress.Utils;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using DevExpress.XtraPrinting;
using DevExpress.XtraVerticalGrid;
using DevExpress.XtraVerticalGrid.Rows;
using System;
@ -409,5 +410,35 @@ namespace SystemX.Product.TRA.UIControl
OnStepSelect(dataSend);
}
}
public override void ExportData()
{
FolderBrowserDialog dlg = new FolderBrowserDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
string strFileName = CreateExportFileName();
string strExpPath = dlg.SelectedPath + "\\" + strFileName;
XlsxExportOptionsEx option = new XlsxExportOptionsEx();
string strFile = strExpPath + ".xlsx";
option.ShowGridLines = true;
option.ExportType = DevExpress.Export.ExportType.WYSIWYG;
option.ExportMode = XlsxExportMode.SingleFile;
option.SheetName = "Test Summary";
gridControlMain.ExportToXlsx(strFile, option);
}
}
public string CreateExportFileName()
{
string strFileName = $"{this.ContentsType.ToString()}_{SelectedData.ProductNo}_{SelectedData.TestCode}_{SelectedData.StationName}";
strFileName += $"_{SelectedData.StartTime.ToString("yyyyMMddHHmmss")}-{SelectedData.EndTime.ToString("yyyyMMddHHmmss")}";
return strFileName;
}
}
}

View File

@ -39,6 +39,8 @@
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.labelControlOKTestTime = new DevExpress.XtraEditors.LabelControl();
this.labelControl4 = new DevExpress.XtraEditors.LabelControl();
((System.ComponentModel.ISupportInitialize)(this.gridControlMain)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gridViewMain)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
@ -122,6 +124,8 @@
//
// groupControl1
//
this.groupControl1.Controls.Add(this.labelControlOKTestTime);
this.groupControl1.Controls.Add(this.labelControl4);
this.groupControl1.Controls.Add(this.labelControlTestTime);
this.groupControl1.Controls.Add(this.labelControl3);
this.groupControl1.Controls.Add(this.labelControlTestResult);
@ -131,10 +135,11 @@
this.groupControl1.Size = new System.Drawing.Size(912, 53);
this.groupControl1.TabIndex = 5;
this.groupControl1.Text = "Summary";
this.groupControl1.Paint += new System.Windows.Forms.PaintEventHandler(this.groupControl1_Paint);
//
// labelControlTestTime
//
this.labelControlTestTime.Location = new System.Drawing.Point(453, 29);
this.labelControlTestTime.Location = new System.Drawing.Point(522, 28);
this.labelControlTestTime.Name = "labelControlTestTime";
this.labelControlTestTime.Size = new System.Drawing.Size(4, 14);
this.labelControlTestTime.TabIndex = 3;
@ -142,11 +147,11 @@
//
// labelControl3
//
this.labelControl3.Location = new System.Drawing.Point(379, 29);
this.labelControl3.Location = new System.Drawing.Point(416, 28);
this.labelControl3.Name = "labelControl3";
this.labelControl3.Size = new System.Drawing.Size(68, 14);
this.labelControl3.Size = new System.Drawing.Size(100, 14);
this.labelControl3.TabIndex = 2;
this.labelControl3.Text = "Test Time : ";
this.labelControl3.Text = "Total Test Time : ";
//
// labelControlTestResult
//
@ -199,6 +204,22 @@
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// labelControlOKTestTime
//
this.labelControlOKTestTime.Location = new System.Drawing.Point(885, 28);
this.labelControlOKTestTime.Name = "labelControlOKTestTime";
this.labelControlOKTestTime.Size = new System.Drawing.Size(4, 14);
this.labelControlOKTestTime.TabIndex = 5;
this.labelControlOKTestTime.Text = "-";
//
// labelControl4
//
this.labelControl4.Location = new System.Drawing.Point(791, 28);
this.labelControl4.Name = "labelControl4";
this.labelControl4.Size = new System.Drawing.Size(88, 14);
this.labelControl4.TabIndex = 4;
this.labelControl4.Text = "OK Test Time : ";
//
// UcTRATestHistHost
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
@ -234,5 +255,7 @@
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraEditors.LabelControl labelControl3;
private DevExpress.XtraEditors.LabelControl labelControlTestTime;
private DevExpress.XtraEditors.LabelControl labelControlOKTestTime;
private DevExpress.XtraEditors.LabelControl labelControl4;
}
}

View File

@ -156,11 +156,20 @@ namespace SystemX.Product.TRA.UIControl
double dRatio = (((double)(nOKTestCount * 100)) / (nOKTestCount + nNGTestCount));
labelControlTestResult.Text = $"{nOKTestCount + nNGTestCount} (OK: {nOKTestCount}/NG: {nNGTestCount}) - Ratio: {dRatio.ToString(".##")}%";
//total
labelControlTestTime.Text = vnTestTime.Count > 0 ?
$"Average = {(vnTestTime.Average()/1000).ToString(".##")}s, Min = {(((double)vnTestTime.Min()) / 1000).ToString(".##")}s, Max = {(((double)vnTestTime.Max()) / 1000).ToString(".##")}s" :
$"Average = -, Min = -, Max = -";
//ok
List<int> vnOKTestTime = (from drData in dtResult.AsEnumerable()
where drData[DMTestHistory.eColList.TestResult.ToString()].ToString() == "OK"
let nTime = Convert.ToInt32(drData[DMTestHistory.eColList.Duration.ToString()].ToString())
select nTime).ToList();
labelControlOKTestTime.Text = vnOKTestTime.Count > 0 ?
$"Average = {(vnOKTestTime.Average() / 1000).ToString(".##")}s, Min = {(((double)vnOKTestTime.Min()) / 1000).ToString(".##")}s, Max = {(((double)vnOKTestTime.Max()) / 1000).ToString(".##")}s" :
$"Average = -, Min = -, Max = -";
}
void DisplayResultTable(DataTable dtResult)
@ -376,5 +385,10 @@ namespace SystemX.Product.TRA.UIControl
e.HighPriority = true;
}
}
private void groupControl1_Paint(object sender, PaintEventArgs e)
{
}
}
}