From f865e8653c976ef6d79908cd123cbfa6e2cb61b1 Mon Sep 17 00:00:00 2001 From: "HM-CN\\zhengxuan.zhang" Date: Tue, 19 Aug 2025 16:07:09 +0800 Subject: [PATCH] =?UTF-8?q?#010=20=E4=BF=AE=E5=A4=8D=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E5=85=A5=E5=BA=93=EF=BC=8C=E5=88=86=E5=8F=91=EF=BC=8C=E5=92=8C?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=E7=95=8C=E9=9D=A2=E6=98=BE=E7=A4=BA=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E5=A2=9E=E5=8A=A0=20=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E5=89=8D=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E5=B7=B2=E7=BB=8F?= =?UTF-8?q?=E5=A4=84=E7=90=86=E8=BF=87=EF=BC=8C=E5=A2=9E=E5=8A=A0clms?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Analysis/BaseUnit/Base.cs | 25 +- .../{FAddTolerance.cs => FAddConfig.cs} | 6 +- ...nce.designer.cs => FAddConfig.designer.cs} | 4 +- .../{FAddTolerance.resx => FAddConfig.resx} | 0 .../{FToleranceSetup.cs => FConfigSetup.cs} | 10 +- ...p.designer.cs => FConfigSetup.designer.cs} | 4 +- ...FToleranceSetup.resx => FConfigSetup.resx} | 0 .../{FEditTolerance.cs => FEditConfig.cs} | 6 +- ...ce.designer.cs => FEditConfig.designer.cs} | 4 +- .../{FEditTolerance.resx => FEditConfig.resx} | 0 Analysis/CjlrForm/FSoftwareSetup.cs | 104 +- Analysis/CjlrForm/FSoftwareSetup.designer.cs | 202 +- Analysis/{BaseUnit => CjlrForm}/FileSorter.cs | 357 ++- Analysis/DAL/CjlrDAL.cs | 235 +- Analysis/DAL/Model/CJLR_MeaDataModel.cs | 35 + Analysis/DAL/Model/TMeasureResultModel.cs | 1 - Analysis/DAL/SQLHelper.cs | 6 +- Analysis/Define/Define.cs | 77 +- Analysis/FormMain.cs | 522 ++--- Analysis/FormMain.designer.cs | 818 +++---- Analysis/FormMain.resx | 3 - Analysis/NXSAnalysis.csproj | 36 +- Analysis/Program.cs | 99 +- Analysis/backup/FormMain.cs | 1181 ++++++++++ Analysis/backup/FormMain.designer.cs | 2066 +++++++++++++++++ Analysis/backup/FormMain.resx | 381 +++ Analysis/bin/x64/Debug/Debug.txt | 102 +- .../bin/x64/Debug/File/AnalysisConfig.ini | 23 +- .../bin/x64/Debug/File/CSVReportTemplate.csv | 17 + Analysis/bin/x64/Debug/Key/reg.key | 2 +- Analysis/bin/x64/Debug/NSAnalysis.exe | Bin 1806848 -> 1817600 bytes Analysis/bin/x64/Debug/NSAnalysis.pdb | Bin 337408 -> 337408 bytes 32 files changed, 4905 insertions(+), 1421 deletions(-) rename Analysis/CjlrForm/{FAddTolerance.cs => FAddConfig.cs} (97%) rename Analysis/CjlrForm/{FAddTolerance.designer.cs => FAddConfig.designer.cs} (99%) rename Analysis/CjlrForm/{FAddTolerance.resx => FAddConfig.resx} (100%) rename Analysis/CjlrForm/{FToleranceSetup.cs => FConfigSetup.cs} (95%) rename Analysis/CjlrForm/{FToleranceSetup.designer.cs => FConfigSetup.designer.cs} (99%) rename Analysis/CjlrForm/{FToleranceSetup.resx => FConfigSetup.resx} (100%) rename Analysis/CjlrForm/{FEditTolerance.cs => FEditConfig.cs} (97%) rename Analysis/CjlrForm/{FEditTolerance.designer.cs => FEditConfig.designer.cs} (99%) rename Analysis/CjlrForm/{FEditTolerance.resx => FEditConfig.resx} (100%) rename Analysis/{BaseUnit => CjlrForm}/FileSorter.cs (53%) create mode 100644 Analysis/DAL/Model/CJLR_MeaDataModel.cs create mode 100644 Analysis/backup/FormMain.cs create mode 100644 Analysis/backup/FormMain.designer.cs create mode 100644 Analysis/backup/FormMain.resx create mode 100644 Analysis/bin/x64/Debug/File/CSVReportTemplate.csv diff --git a/Analysis/BaseUnit/Base.cs b/Analysis/BaseUnit/Base.cs index 914e3e3..9238399 100644 --- a/Analysis/BaseUnit/Base.cs +++ b/Analysis/BaseUnit/Base.cs @@ -257,20 +257,19 @@ namespace BaseFunction { try { - if (rleMessage != null) - { - //rleMessage.Text = str; + //if (rleMessage != null) + //{ + // //rleMessage.Text = str; - if (rleMessage != null && rleMessage.ElementTree != null && rleMessage.ElementTree.Control.InvokeRequired) - { - rleMessage.ElementTree.Control.Invoke(new Action(() => rleMessage.Text = str)); - } - else if (rleMessage != null) - { - rleMessage.Text = str; - } - - } + // if (rleMessage != null && rleMessage.ElementTree != null && rleMessage.ElementTree.Control.InvokeRequired) + // { + // rleMessage.ElementTree.Control.Invoke(new Action(() => rleMessage.Text = str)); + // } + // else if (rleMessage != null) + // { + // rleMessage.Text = str; + // } + //} if (str.Contains("警告") || str.ToUpper().Contains("WARN")) { NLogger.Warn(str); diff --git a/Analysis/CjlrForm/FAddTolerance.cs b/Analysis/CjlrForm/FAddConfig.cs similarity index 97% rename from Analysis/CjlrForm/FAddTolerance.cs rename to Analysis/CjlrForm/FAddConfig.cs index 3a4e617..8ccb787 100644 --- a/Analysis/CjlrForm/FAddTolerance.cs +++ b/Analysis/CjlrForm/FAddConfig.cs @@ -8,12 +8,12 @@ using Telerik.WinControls.UI; namespace NSAnalysis { - public partial class FAddTolerance : Telerik.WinControls.UI.ShapedForm + public partial class FAddConfig : Telerik.WinControls.UI.ShapedForm { #region 全局变量 private CjlrDAL tmdal = new CjlrDAL(); - private FToleranceSetup gFTS; + private FConfigSetup gFTS; #endregion 全局变量 @@ -33,7 +33,7 @@ namespace NSAnalysis #endregion 鼠标事件 - public FAddTolerance(FToleranceSetup fts) + public FAddConfig(FConfigSetup fts) { InitializeComponent(); diff --git a/Analysis/CjlrForm/FAddTolerance.designer.cs b/Analysis/CjlrForm/FAddConfig.designer.cs similarity index 99% rename from Analysis/CjlrForm/FAddTolerance.designer.cs rename to Analysis/CjlrForm/FAddConfig.designer.cs index 12d9886..7e3298c 100644 --- a/Analysis/CjlrForm/FAddTolerance.designer.cs +++ b/Analysis/CjlrForm/FAddConfig.designer.cs @@ -1,6 +1,6 @@ namespace NSAnalysis { - partial class FAddTolerance + partial class FAddConfig { /// /// Required designer variable. @@ -28,7 +28,7 @@ /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FAddTolerance)); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FAddConfig)); Telerik.WinControls.UI.RadListDataItem radListDataItem4 = new Telerik.WinControls.UI.RadListDataItem(); Telerik.WinControls.UI.RadListDataItem radListDataItem5 = new Telerik.WinControls.UI.RadListDataItem(); Telerik.WinControls.UI.RadListDataItem radListDataItem6 = new Telerik.WinControls.UI.RadListDataItem(); diff --git a/Analysis/CjlrForm/FAddTolerance.resx b/Analysis/CjlrForm/FAddConfig.resx similarity index 100% rename from Analysis/CjlrForm/FAddTolerance.resx rename to Analysis/CjlrForm/FAddConfig.resx diff --git a/Analysis/CjlrForm/FToleranceSetup.cs b/Analysis/CjlrForm/FConfigSetup.cs similarity index 95% rename from Analysis/CjlrForm/FToleranceSetup.cs rename to Analysis/CjlrForm/FConfigSetup.cs index ccb8ddb..8ddb8a3 100644 --- a/Analysis/CjlrForm/FToleranceSetup.cs +++ b/Analysis/CjlrForm/FConfigSetup.cs @@ -9,7 +9,7 @@ using Telerik.WinControls.UI; namespace NSAnalysis { - public partial class FToleranceSetup : Telerik.WinControls.UI.ShapedForm + public partial class FConfigSetup : Telerik.WinControls.UI.ShapedForm { private CjlrDAL tmdal = new CjlrDAL(); public int idgvSelectRowNumber = 0; @@ -30,7 +30,7 @@ namespace NSAnalysis #endregion 鼠标事件 - public FToleranceSetup() + public FConfigSetup() { InitializeComponent(); InitStatusComboBox(); @@ -39,7 +39,7 @@ namespace NSAnalysis private void FToleranceSetup_Load(object sender, EventArgs e) { - dgvTolList.ColumnHeadersDefaultCellStyle.Font = new Font("Segoe UI", 10, FontStyle.Regular); + dgvTolList.ColumnHeadersDefaultCellStyle.Font = new Font("Segoe UI", 8, FontStyle.Regular); lpcAddTol.labPicture.Click += lpcAddTol_Click; lpcAddTol.labText.Click += lpcAddTol_Click; rtbnSearch_Click(null, null); @@ -117,7 +117,7 @@ namespace NSAnalysis private void lpcAddTol_Click(object sender, EventArgs e) { - FAddTolerance fat = new FAddTolerance(this); + FAddConfig fat = new FAddConfig(this); fat.ShowDialog(this); } @@ -165,7 +165,7 @@ namespace NSAnalysis if (buttonText == "修改" || buttonText == "Edit") { idgvSelectRowNumber = e.RowIndex; - FEditTolerance sfeditcnc = new FEditTolerance(this); + FEditConfig sfeditcnc = new FEditConfig(this); sfeditcnc.ShowDialog(); } } diff --git a/Analysis/CjlrForm/FToleranceSetup.designer.cs b/Analysis/CjlrForm/FConfigSetup.designer.cs similarity index 99% rename from Analysis/CjlrForm/FToleranceSetup.designer.cs rename to Analysis/CjlrForm/FConfigSetup.designer.cs index 781d114..03d6188 100644 --- a/Analysis/CjlrForm/FToleranceSetup.designer.cs +++ b/Analysis/CjlrForm/FConfigSetup.designer.cs @@ -2,7 +2,7 @@ namespace NSAnalysis { - partial class FToleranceSetup + partial class FConfigSetup { /// /// Required designer variable. @@ -30,7 +30,7 @@ namespace NSAnalysis /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FToleranceSetup)); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FConfigSetup)); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); diff --git a/Analysis/CjlrForm/FToleranceSetup.resx b/Analysis/CjlrForm/FConfigSetup.resx similarity index 100% rename from Analysis/CjlrForm/FToleranceSetup.resx rename to Analysis/CjlrForm/FConfigSetup.resx diff --git a/Analysis/CjlrForm/FEditTolerance.cs b/Analysis/CjlrForm/FEditConfig.cs similarity index 97% rename from Analysis/CjlrForm/FEditTolerance.cs rename to Analysis/CjlrForm/FEditConfig.cs index 4f50862..1f5d011 100644 --- a/Analysis/CjlrForm/FEditTolerance.cs +++ b/Analysis/CjlrForm/FEditConfig.cs @@ -7,13 +7,13 @@ using Telerik.WinControls.UI; namespace NSAnalysis { - public partial class FEditTolerance : Telerik.WinControls.UI.ShapedForm + public partial class FEditConfig : Telerik.WinControls.UI.ShapedForm { #region 全局变量 private CjlrDAL tmdal = new CjlrDAL(); - private FToleranceSetup gFTS; + private FConfigSetup gFTS; #endregion 全局变量 @@ -33,7 +33,7 @@ namespace NSAnalysis #endregion 鼠标事件 - public FEditTolerance(FToleranceSetup fts) + public FEditConfig(FConfigSetup fts) { InitializeComponent(); diff --git a/Analysis/CjlrForm/FEditTolerance.designer.cs b/Analysis/CjlrForm/FEditConfig.designer.cs similarity index 99% rename from Analysis/CjlrForm/FEditTolerance.designer.cs rename to Analysis/CjlrForm/FEditConfig.designer.cs index e1f430f..157eaf8 100644 --- a/Analysis/CjlrForm/FEditTolerance.designer.cs +++ b/Analysis/CjlrForm/FEditConfig.designer.cs @@ -1,6 +1,6 @@ namespace NSAnalysis { - partial class FEditTolerance + partial class FEditConfig { /// /// Required designer variable. @@ -28,7 +28,7 @@ /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FEditTolerance)); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FEditConfig)); Telerik.WinControls.UI.RadListDataItem radListDataItem6 = new Telerik.WinControls.UI.RadListDataItem(); Telerik.WinControls.UI.RadListDataItem radListDataItem7 = new Telerik.WinControls.UI.RadListDataItem(); Telerik.WinControls.UI.RadListDataItem radListDataItem1 = new Telerik.WinControls.UI.RadListDataItem(); diff --git a/Analysis/CjlrForm/FEditTolerance.resx b/Analysis/CjlrForm/FEditConfig.resx similarity index 100% rename from Analysis/CjlrForm/FEditTolerance.resx rename to Analysis/CjlrForm/FEditConfig.resx diff --git a/Analysis/CjlrForm/FSoftwareSetup.cs b/Analysis/CjlrForm/FSoftwareSetup.cs index 8b50de0..3e0c3ac 100644 --- a/Analysis/CjlrForm/FSoftwareSetup.cs +++ b/Analysis/CjlrForm/FSoftwareSetup.cs @@ -25,41 +25,6 @@ namespace NSAnalysis #endregion RadButton鼠标事件 - private string strSection = "Chery"; - - private void LoadSoftwareSetup() - { - #region Load Software Setup - - rtbIOTAddress.Text = ConfigDfn.strIOTAddress; - rtbCarTypebyVIN.Text = ConfigDfn.strIOTCarTypeAddress; - - //rtbVWUploadPath.Text = ConfigDfn.strUploadPath; - //rtbUploadPath2.Text = ConfigDfn.strUploadPath2; - - if (ConfigDfn.iStartIOTFlag == 1) - { - cbStartIOT.Checked = true; - rtbIOTAddress.Enabled = true; - } - else - { - cbStartIOT.Checked = false; - rtbIOTAddress.Enabled = false; - } - - if (ConfigDfn.iAnalysisCSVFlag == 1) - { - cbAnalysisCSV.Checked = true; - } - else - { - cbAnalysisCSV.Checked = false; - } - - #endregion Load Software Setup - } - public FSoftwareSetup() { InitializeComponent(); @@ -67,47 +32,17 @@ namespace NSAnalysis private void FSoftwareSetup_Load(object sender, EventArgs e) { - LoadSoftwareSetup(); + // 根据加载的全局变量,设置控件状态 + rtbReportPath.Text = ConfigDfn.strReportPath.Trim(); + + cbFileSorter.Checked = ConfigDfn.iEnableSort; //文件排序功能 + cbAnalysisCSV.Checked = ConfigDfn.iAnalysisCSVFlag == 1 ? true : false; //分析结果导出CSV功能 } - private void rtbnSaveSetup_Click(object sender, EventArgs e) - { - //FileIni.WriteString(ConfigDfn.strConfigFile, strSection, "tavascanUploadPath", rtbVWUploadPath.Text.Trim()); - //FileIni.WriteString(ConfigDfn.strConfigFile, strSection, "blacklabelUploadPath", rtbUploadPath2.Text.Trim()); - //FileIni.WriteString(ConfigDfn.strConfigFile, strSection, "Level2Times", rtbTolPercentage.Text.Trim()); - //FileIni.WriteString(ConfigDfn.strConfigFile, strSection, "Level3Times", rtbLevel3.Text.Trim()); - - if (cbStartIOT.Checked) - { - FileIni.WriteString(ConfigDfn.strConfigFile, strSection, "StartIOTFlag", 1.ToString()); - } - else - { - FileIni.WriteString(ConfigDfn.strConfigFile, strSection, "StartIOTFlag", 0.ToString()); - } - - if (cbAnalysisCSV.Checked) - { - FileIni.WriteString(ConfigDfn.strConfigFile, strSection, "AnalysisCSVFlag", 1.ToString()); - } - else - { - FileIni.WriteString(ConfigDfn.strConfigFile, strSection, "AnalysisCSVFlag", 0.ToString()); - } - - MessageBox.Show("保存设置完成,请重启软件,参数即可生效! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - this.Close(); - } - - private void rbtnCancel_Click(object sender, EventArgs e) - { - this.Close(); - } - - private void rbtnReportCSV2_Click(object sender, EventArgs e) + private void btn_browse_Click(object sender, EventArgs e) //浏览 { FolderBrowserDialog mFolder = new FolderBrowserDialog(); - mFolder.Description = "请选择奇瑞报告存放的路径:"; + mFolder.Description = "请选择报告存放的路径:"; mFolder.ShowDialog(); if (Directory.Exists(mFolder.SelectedPath)) { @@ -115,16 +50,23 @@ namespace NSAnalysis } } - private void cbStartIOT_CheckedChanged(object sender, EventArgs e) + private void rtbnSaveSetup_Click(object sender, EventArgs e) //保存 { - if (cbStartIOT.Checked) - { - rtbIOTAddress.Enabled = true; - } - else - { - rtbIOTAddress.Enabled = false; - } + //获取控件状态 + ConfigDfn.iEnableSort = cbFileSorter.Checked ; + ConfigDfn.iAnalysisCSVFlag = cbAnalysisCSV.Checked ? 1 : 0; + ConfigDfn.strReportPath = rtbReportPath.Text.Trim(); + + //保存配置 + ConfigDfn.SaveConfig(); + + MessageBox.Show("保存设置完成,请重启软件,参数即可生效! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + this.Close(); + } + + private void rbtnCancel_Click(object sender, EventArgs e) //取消 + { + this.Close(); } } } \ No newline at end of file diff --git a/Analysis/CjlrForm/FSoftwareSetup.designer.cs b/Analysis/CjlrForm/FSoftwareSetup.designer.cs index c1988be..fd31729 100644 --- a/Analysis/CjlrForm/FSoftwareSetup.designer.cs +++ b/Analysis/CjlrForm/FSoftwareSetup.designer.cs @@ -32,27 +32,21 @@ this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar(); this.label2 = new System.Windows.Forms.Label(); this.labTitle = new System.Windows.Forms.Label(); - this.cbStartIOT = new System.Windows.Forms.CheckBox(); - this.label20 = new System.Windows.Forms.Label(); - this.rtbIOTAddress = new Telerik.WinControls.UI.RadTextBox(); - this.label19 = new System.Windows.Forms.Label(); + this.cbFileSorter = new System.Windows.Forms.CheckBox(); this.rtbnSaveSetup = new Telerik.WinControls.UI.RadButton(); this.rbtnCancel = new Telerik.WinControls.UI.RadButton(); this.cbAnalysisCSV = new System.Windows.Forms.CheckBox(); this.label14 = new System.Windows.Forms.Label(); - this.rtbCarTypebyVIN = new Telerik.WinControls.UI.RadTextBox(); - this.label10 = new System.Windows.Forms.Label(); this.rtbReportPath = new Telerik.WinControls.UI.RadTextBox(); this.label1 = new System.Windows.Forms.Label(); - this.radButton1 = new Telerik.WinControls.UI.RadButton(); + this.btn_browse = new Telerik.WinControls.UI.RadButton(); + this.label20 = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit(); this.radTitleBar1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.rtbIOTAddress)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.rtbnSaveSetup)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbCarTypebyVIN)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.rtbReportPath)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radButton1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btn_browse)).BeginInit(); this.SuspendLayout(); // // radTitleBar1 @@ -114,52 +108,17 @@ this.labTitle.TabIndex = 0; this.labTitle.Text = "软件设置"; // - // cbStartIOT + // cbFileSorter // - this.cbStartIOT.AutoSize = true; - this.cbStartIOT.Font = new System.Drawing.Font("Segoe UI", 12F); - this.cbStartIOT.ForeColor = System.Drawing.Color.White; - this.cbStartIOT.Location = new System.Drawing.Point(268, 75); - this.cbStartIOT.Name = "cbStartIOT"; - this.cbStartIOT.Size = new System.Drawing.Size(63, 25); - this.cbStartIOT.TabIndex = 489; - this.cbStartIOT.Text = "启用"; - this.cbStartIOT.UseVisualStyleBackColor = true; - this.cbStartIOT.CheckedChanged += new System.EventHandler(this.cbStartIOT_CheckedChanged); - // - // label20 - // - this.label20.Font = new System.Drawing.Font("Segoe UI", 12F); - this.label20.ForeColor = System.Drawing.Color.White; - this.label20.Location = new System.Drawing.Point(28, 76); - this.label20.Name = "label20"; - this.label20.Size = new System.Drawing.Size(234, 21); - this.label20.TabIndex = 488; - this.label20.Text = "IOT上传功能启用:"; - this.label20.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // rtbIOTAddress - // - this.rtbIOTAddress.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbIOTAddress.Font = new System.Drawing.Font("Segoe UI", 12F); - this.rtbIOTAddress.ForeColor = System.Drawing.Color.White; - this.rtbIOTAddress.Location = new System.Drawing.Point(268, 116); - this.rtbIOTAddress.Name = "rtbIOTAddress"; - this.rtbIOTAddress.Size = new System.Drawing.Size(565, 27); - this.rtbIOTAddress.TabIndex = 487; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbIOTAddress.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbIOTAddress.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // label19 - // - this.label19.Font = new System.Drawing.Font("Segoe UI", 12F); - this.label19.ForeColor = System.Drawing.Color.White; - this.label19.Location = new System.Drawing.Point(62, 119); - this.label19.Name = "label19"; - this.label19.Size = new System.Drawing.Size(200, 21); - this.label19.TabIndex = 486; - this.label19.Text = "IOT测量数据接口地址:"; - this.label19.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.cbFileSorter.AutoSize = true; + this.cbFileSorter.Font = new System.Drawing.Font("Segoe UI", 12F); + this.cbFileSorter.ForeColor = System.Drawing.Color.White; + this.cbFileSorter.Location = new System.Drawing.Point(266, 92); + this.cbFileSorter.Name = "cbFileSorter"; + this.cbFileSorter.Size = new System.Drawing.Size(63, 25); + this.cbFileSorter.TabIndex = 489; + this.cbFileSorter.Text = "启用"; + this.cbFileSorter.UseVisualStyleBackColor = true; // // rtbnSaveSetup // @@ -167,9 +126,9 @@ this.rtbnSaveSetup.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.rtbnSaveSetup.Font = new System.Drawing.Font("Segoe UI", 12F); this.rtbnSaveSetup.ForeColor = System.Drawing.Color.White; - this.rtbnSaveSetup.Location = new System.Drawing.Point(592, 598); + this.rtbnSaveSetup.Location = new System.Drawing.Point(644, 576); this.rtbnSaveSetup.Name = "rtbnSaveSetup"; - this.rtbnSaveSetup.Size = new System.Drawing.Size(138, 47); + this.rtbnSaveSetup.Size = new System.Drawing.Size(101, 47); this.rtbnSaveSetup.TabIndex = 476; this.rtbnSaveSetup.Text = "保存设置"; this.rtbnSaveSetup.Click += new System.EventHandler(this.rtbnSaveSetup_Click); @@ -200,9 +159,9 @@ this.rbtnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.rbtnCancel.Font = new System.Drawing.Font("Segoe UI", 12F); this.rbtnCancel.ForeColor = System.Drawing.Color.White; - this.rbtnCancel.Location = new System.Drawing.Point(770, 599); + this.rbtnCancel.Location = new System.Drawing.Point(785, 577); this.rbtnCancel.Name = "rbtnCancel"; - this.rbtnCancel.Size = new System.Drawing.Size(138, 47); + this.rbtnCancel.Size = new System.Drawing.Size(101, 47); this.rbtnCancel.TabIndex = 477; this.rbtnCancel.Text = "取消"; this.rbtnCancel.Click += new System.EventHandler(this.rbtnCancel_Click); @@ -232,55 +191,34 @@ this.cbAnalysisCSV.AutoSize = true; this.cbAnalysisCSV.Font = new System.Drawing.Font("Segoe UI", 12F); this.cbAnalysisCSV.ForeColor = System.Drawing.Color.White; - this.cbAnalysisCSV.Location = new System.Drawing.Point(268, 202); + this.cbAnalysisCSV.Location = new System.Drawing.Point(266, 206); this.cbAnalysisCSV.Name = "cbAnalysisCSV"; this.cbAnalysisCSV.Size = new System.Drawing.Size(63, 25); this.cbAnalysisCSV.TabIndex = 513; this.cbAnalysisCSV.Text = "解析"; this.cbAnalysisCSV.UseVisualStyleBackColor = true; + this.cbAnalysisCSV.Visible = false; // // label14 // this.label14.Font = new System.Drawing.Font("Segoe UI", 12F); this.label14.ForeColor = System.Drawing.Color.White; - this.label14.Location = new System.Drawing.Point(25, 205); + this.label14.Location = new System.Drawing.Point(23, 209); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(237, 21); this.label14.TabIndex = 512; this.label14.Text = "是否解析CSV文件:"; this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // rtbCarTypebyVIN - // - this.rtbCarTypebyVIN.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbCarTypebyVIN.Font = new System.Drawing.Font("Segoe UI", 12F); - this.rtbCarTypebyVIN.ForeColor = System.Drawing.Color.White; - this.rtbCarTypebyVIN.Location = new System.Drawing.Point(268, 159); - this.rtbCarTypebyVIN.Name = "rtbCarTypebyVIN"; - this.rtbCarTypebyVIN.Size = new System.Drawing.Size(567, 27); - this.rtbCarTypebyVIN.TabIndex = 515; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarTypebyVIN.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarTypebyVIN.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // label10 - // - this.label10.Font = new System.Drawing.Font("Segoe UI", 12F); - this.label10.ForeColor = System.Drawing.Color.White; - this.label10.Location = new System.Drawing.Point(62, 162); - this.label10.Name = "label10"; - this.label10.Size = new System.Drawing.Size(200, 21); - this.label10.TabIndex = 514; - this.label10.Text = "获取车型接口地址:"; - this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.label14.Visible = false; // // rtbReportPath // this.rtbReportPath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); this.rtbReportPath.Font = new System.Drawing.Font("Segoe UI", 12F); this.rtbReportPath.ForeColor = System.Drawing.Color.White; - this.rtbReportPath.Location = new System.Drawing.Point(268, 243); + this.rtbReportPath.Location = new System.Drawing.Point(266, 142); this.rtbReportPath.Name = "rtbReportPath"; - this.rtbReportPath.Size = new System.Drawing.Size(567, 27); + this.rtbReportPath.Size = new System.Drawing.Size(538, 27); this.rtbReportPath.TabIndex = 516; ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbReportPath.GetChildAt(0))).Text = ""; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbReportPath.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); @@ -289,42 +227,54 @@ // this.label1.Font = new System.Drawing.Font("Segoe UI", 12F); this.label1.ForeColor = System.Drawing.Color.White; - this.label1.Location = new System.Drawing.Point(25, 248); + this.label1.Location = new System.Drawing.Point(23, 147); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(237, 21); this.label1.TabIndex = 517; this.label1.Text = "奇瑞报告存放的路径:"; this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight; // - // radButton1 + // btn_browse // - this.radButton1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.radButton1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.radButton1.Font = new System.Drawing.Font("Segoe UI", 12F); - this.radButton1.ForeColor = System.Drawing.Color.White; - this.radButton1.Location = new System.Drawing.Point(853, 244); - this.radButton1.Name = "radButton1"; - this.radButton1.Size = new System.Drawing.Size(55, 31); - this.radButton1.TabIndex = 518; - this.radButton1.Text = "浏览"; - ((Telerik.WinControls.UI.RadButtonElement)(this.radButton1.GetChildAt(0))).Text = "浏览"; - ((Telerik.WinControls.UI.RadButtonElement)(this.radButton1.GetChildAt(0))).FocusBorderWidth = 5; - ((Telerik.WinControls.UI.RadButtonElement)(this.radButton1.GetChildAt(0))).EnableHighlight = true; - ((Telerik.WinControls.UI.RadButtonElement)(this.radButton1.GetChildAt(0))).EnableBorderHighlight = true; - ((Telerik.WinControls.UI.RadButtonElement)(this.radButton1.GetChildAt(0))).BorderHighlightThickness = 3; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).Width = 2F; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).LeftWidth = 3F; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).TopWidth = 3F; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).RightWidth = 3F; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).BottomWidth = 3F; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Solid; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).GradientStyle = Telerik.WinControls.GradientStyles.Solid; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).ForeColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + this.btn_browse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btn_browse.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.btn_browse.Font = new System.Drawing.Font("Segoe UI", 12F); + this.btn_browse.ForeColor = System.Drawing.Color.White; + this.btn_browse.Location = new System.Drawing.Point(826, 138); + this.btn_browse.Name = "btn_browse"; + this.btn_browse.Size = new System.Drawing.Size(80, 31); + this.btn_browse.TabIndex = 518; + this.btn_browse.Text = "浏览"; + this.btn_browse.Click += new System.EventHandler(this.btn_browse_Click); + ((Telerik.WinControls.UI.RadButtonElement)(this.btn_browse.GetChildAt(0))).Text = "浏览"; + ((Telerik.WinControls.UI.RadButtonElement)(this.btn_browse.GetChildAt(0))).FocusBorderWidth = 5; + ((Telerik.WinControls.UI.RadButtonElement)(this.btn_browse.GetChildAt(0))).EnableHighlight = true; + ((Telerik.WinControls.UI.RadButtonElement)(this.btn_browse.GetChildAt(0))).EnableBorderHighlight = true; + ((Telerik.WinControls.UI.RadButtonElement)(this.btn_browse.GetChildAt(0))).BorderHighlightThickness = 3; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_browse.GetChildAt(0).GetChildAt(2))).Width = 2F; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_browse.GetChildAt(0).GetChildAt(2))).LeftWidth = 3F; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_browse.GetChildAt(0).GetChildAt(2))).TopWidth = 3F; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_browse.GetChildAt(0).GetChildAt(2))).RightWidth = 3F; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_browse.GetChildAt(0).GetChildAt(2))).BottomWidth = 3F; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_browse.GetChildAt(0).GetChildAt(2))).BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Solid; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_browse.GetChildAt(0).GetChildAt(2))).GradientStyle = Telerik.WinControls.GradientStyles.Solid; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_browse.GetChildAt(0).GetChildAt(2))).ForeColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_browse.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_browse.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_browse.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_browse.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_browse.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + // + // label20 + // + this.label20.Font = new System.Drawing.Font("Segoe UI", 12F); + this.label20.ForeColor = System.Drawing.Color.White; + this.label20.Location = new System.Drawing.Point(26, 93); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(234, 21); + this.label20.TabIndex = 488; + this.label20.Text = "是否启用分发功能:"; + this.label20.TextAlign = System.Drawing.ContentAlignment.MiddleRight; // // FSoftwareSetup // @@ -334,18 +284,14 @@ this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); this.BorderWidth = 0; this.ClientSize = new System.Drawing.Size(935, 672); - this.Controls.Add(this.radButton1); + this.Controls.Add(this.btn_browse); this.Controls.Add(this.label1); this.Controls.Add(this.rtbReportPath); - this.Controls.Add(this.rtbCarTypebyVIN); - this.Controls.Add(this.label10); this.Controls.Add(this.cbAnalysisCSV); this.Controls.Add(this.label14); this.Controls.Add(this.rbtnCancel); - this.Controls.Add(this.cbStartIOT); + this.Controls.Add(this.cbFileSorter); this.Controls.Add(this.label20); - this.Controls.Add(this.rtbIOTAddress); - this.Controls.Add(this.label19); this.Controls.Add(this.rtbnSaveSetup); this.Controls.Add(this.radTitleBar1); this.Font = new System.Drawing.Font("宋体", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); @@ -358,12 +304,10 @@ ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit(); this.radTitleBar1.ResumeLayout(false); this.radTitleBar1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.rtbIOTAddress)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.rtbnSaveSetup)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbCarTypebyVIN)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.rtbReportPath)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radButton1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btn_browse)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -374,18 +318,14 @@ private Telerik.WinControls.UI.RadTitleBar radTitleBar1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label labTitle; - private System.Windows.Forms.CheckBox cbStartIOT; - private System.Windows.Forms.Label label20; - private Telerik.WinControls.UI.RadTextBox rtbIOTAddress; - private System.Windows.Forms.Label label19; + private System.Windows.Forms.CheckBox cbFileSorter; private Telerik.WinControls.UI.RadButton rtbnSaveSetup; private Telerik.WinControls.UI.RadButton rbtnCancel; private System.Windows.Forms.CheckBox cbAnalysisCSV; private System.Windows.Forms.Label label14; - private Telerik.WinControls.UI.RadTextBox rtbCarTypebyVIN; - private System.Windows.Forms.Label label10; private Telerik.WinControls.UI.RadTextBox rtbReportPath; private System.Windows.Forms.Label label1; - private Telerik.WinControls.UI.RadButton radButton1; + private Telerik.WinControls.UI.RadButton btn_browse; + private System.Windows.Forms.Label label20; } } diff --git a/Analysis/BaseUnit/FileSorter.cs b/Analysis/CjlrForm/FileSorter.cs similarity index 53% rename from Analysis/BaseUnit/FileSorter.cs rename to Analysis/CjlrForm/FileSorter.cs index d5a0022..500dda8 100644 --- a/Analysis/BaseUnit/FileSorter.cs +++ b/Analysis/CjlrForm/FileSorter.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Data; using System.Globalization; using System.IO; +using System.Text; namespace NSAnalysis { @@ -20,7 +21,17 @@ namespace NSAnalysis public event Action OnLog; // 日志事件 - public event Action OnFileParsed; // 解析完成后通知文件名 + public event Action OnFileParsed; // 解析完成后通知文件名 + + // 关键流程节点日志事件 + public event Action OnProcessStep; // 处理步骤日志事件 + + // 封装 OnProcessStep 事件 + private void emitProcessStep(string message) + { + OnProcessStep?.Invoke(message); + //Console.WriteLine(message); // 控制台输出 + } public FileSorter() { @@ -49,29 +60,28 @@ namespace NSAnalysis { Trace($"[ProcessFiles] 源文件地址不存在或错误: {sourceDir}"); - //记录到数据库 - try - { - //插入分发详情 - CjlrTaskReleaseDetailModel detailModel = new CjlrTaskReleaseDetailModel - { - ModelsName = modelName, // 这里可以根据需要填写车型名称 - ModelsCode = modelCode, - Position = position, // 这里可以根据需要填写位置 - SourceFile = "", - TargetFile = "", - TaskFileName = "", - TaskStatus = 2, // 假设1表示已处理, 2表示未处理 - TaskDetail = $"源文件地址不存在或错误: {sourceDir}", - CreateDate = DateTime.Now - }; - _dal.InsertTaskDetail(detailModel); - } - catch (Exception ex) - { - Trace($"[ProcessFiles] 记录错误到数据库失败: {ex.Message}"); - } - + ////记录到数据库 + //try + //{ + // //插入分发详情 + // CjlrTaskReleaseDetailModel detailModel = new CjlrTaskReleaseDetailModel + // { + // ModelsName = modelName, // 这里可以根据需要填写车型名称 + // ModelsCode = modelCode, + // Position = position, // 这里可以根据需要填写位置 + // SourceFile = "", + // TargetFile = "", + // TaskFileName = "", + // TaskStatus = 2, // 假设1表示已处理, 2表示未处理 + // TaskDetail = $"源文件地址不存在或错误: {sourceDir}", + // CreateDate = DateTime.Now + // }; + // _dal.InsertTaskDetail(detailModel); + //} + //catch (Exception ex) + //{ + // Trace($"[ProcessFiles] 记录错误到数据库失败: {ex.Message}"); + //} } } } @@ -82,7 +92,7 @@ namespace NSAnalysis DataTable dt = _dal.SelectTaskByCondition("", "", "start"); //打印 dt - PrintDataTable(dt); + //PrintDataTable(dt); if (dt == null || dt.Rows.Count == 0) { Trace("未发现移动任务."); @@ -116,12 +126,24 @@ namespace NSAnalysis // 解析入库 AnalysisNxsCSV(file); + if (!ConfigDfn.iEnableSort) + { + return; + } // 分发逻辑 if (MatchCsvValue(file, matchStr, readRowIndex, readColIndex)) { string destFile = Path.Combine(targetDir, Path.GetFileName(file)); + if (File.Exists(destFile)) + { + // 生成备份文件名,格式如:xxx.csv.bak_20240613_153012 + string backupFile = destFile + ".bak_" + DateTime.Now.ToString("yyyyMMdd_HHmmss"); + File.Move(destFile, backupFile); + Trace($"目标文件已存在,已重命名为备份文件: {backupFile}"); + } File.Move(file, destFile); Trace($"移动完成,: {file} -> {destFile}"); + emitProcessStep($"---> 5、文件移动完成: -> {destFile}"); //插入分发详情 CjlrTaskReleaseDetailModel detailModel = new CjlrTaskReleaseDetailModel @@ -141,6 +163,7 @@ namespace NSAnalysis else { Trace($"未匹配到文件: {file}"); + emitProcessStep($"---> 5、未匹配到文件: {file}"); //记录到数据库 CjlrTaskReleaseDetailModel detailModel = new CjlrTaskReleaseDetailModel @@ -177,6 +200,8 @@ namespace NSAnalysis /// 匹配成功返回true,否则false public static bool MatchCsvValue(string filePath, string targetValue, int rowIndex, int colIndex) { + // 记录日志 输入 + MyBase.TraceWriteLine($"[MatchCsvValue] 检查文件: {filePath}, 行索引: {rowIndex}, 列索引: {colIndex}, 目标值: {targetValue}"); try { string[] lines = File.ReadAllLines(filePath); @@ -200,27 +225,66 @@ namespace NSAnalysis } } - // 编写一个打印 DataTable 对象的方法,输入是对象 - public static void PrintDataTable(DataTable dt) + // 生成单侧统计信息的方法 + private void GenerateSingleSideStatistics(string GroupName, string Position) { - if (dt == null || dt.Rows.Count == 0) + #region 统计信息显示 + + DataTable sampleData = _dal.SelectMeasureResultByCarID(ConfigDfn.strEquipNo, GroupName); + if (sampleData == null || sampleData.Rows.Count == 0) { - MyBase.TraceWriteLine("[PrintDataTable] DataTable is empty or null."); + MyBase.TraceWriteLine("没有测量数据,无法生成统计信息。"); + // 触发日志事件 + emitProcessStep(Position + " 没有测量数据,无法生成统计信息。"); return; } - foreach (DataColumn column in dt.Columns) + + // 提取分析结果 + AnalysisResult analysis = AnalysisResult.AnalyzeMeasureData(sampleData); + //AnalysisResult.DisplayAnalysisResult(analysis); + + //表格行数 + int dtRowCount = analysis.TotalCount; + //超差个数 + double OutCount = analysis.OutCount; + //Ok个数 + double OKCount = analysis.OKCount; + //异常个数 + double RejectedCount = analysis.RejectedCount; + //合格率 + double FPYPercent = analysis.FPYPercent; + + TMeasureResultModel tmrm = new TMeasureResultModel(); + + FPYPercent = OKCount / (OKCount + OutCount); + if (FPYPercent >= ConfigDfn.dFPY) { - Console.Write($"{column.ColumnName}\t"); + tmrm.Result = 1; } - MyBase.TraceWriteLine(""); - foreach (DataRow row in dt.Rows) + else if (FPYPercent >= ConfigDfn.dFPY2 && FPYPercent < ConfigDfn.dFPY) { - foreach (var item in row.ItemArray) - { - Console.Write($"{item}\t"); - } - MyBase.TraceWriteLine(""); + tmrm.Result = 1; } + else + { + tmrm.Result = 2; + } + + tmrm.CarID = ConfigDfn.strEquipNo; + tmrm.CarType = ConfigDfn.strCarModel; + tmrm.SumMeasureItems = dtRowCount; + tmrm.GoodMeasureItems = (int)OKCount; + tmrm.NoGoodMeasureItems = (int)OutCount; + tmrm.RejectMeasureItems = (int)RejectedCount; + tmrm.FPY = FPYPercent.ToString("F4"); + tmrm.Remark = Position; //区分左右侧 + tmrm.MeasureDate = ConfigDfn.strMeasureTime; + _dal.InsertTMeasureResult(tmrm); + + MyBase.TraceWriteLine("将总结果插入数据库完毕。"); + emitProcessStep($"---> 3、统计信息已生成: 位置: {Position}, 总测量项: {dtRowCount}, 合格项: {OKCount}, 不合格项: {OutCount}, 异常项: {RejectedCount}, FPY: {FPYPercent:F4}"); + + #endregion 统计信息显示 } // 导入CSV文件到数据库 @@ -228,6 +292,18 @@ namespace NSAnalysis { var records = new List(); var lineNo = 0; // 行号计数器 + var groupName = string.Empty; // 组名变量 + var position = string.Empty; // 位置变量 + + emitProcessStep($"正在处理: {filePath}"); + + // 判断文件是否已经处理过 + if (_dal.IsFileProcessed(filePath)) + { + MyBase.TraceWriteLine($"文件已处理过,跳过: {filePath}"); + emitProcessStep($"---> 2、文件已处理过,跳过: {filePath}"); + return; + } try { @@ -310,13 +386,35 @@ namespace NSAnalysis // 获取车号 MyBase.TraceWriteLine("--------------------------------------------------------"); - ConfigDfn.strEquipNo = firstRecord.ProductNum; MyBase.TraceWriteLine("车号:" + ConfigDfn.strEquipNo); - //获取车型 - ConfigDfn.strCarModel = firstRecord.Model; + + ConfigDfn.strCarModel = firstRecord.Model; //获取车型 MyBase.TraceWriteLine("车型:" + ConfigDfn.strCarModel); + + // 从 firstRecord.GroupName 中提取位置 ,使用下划线分隔 例如:X540_R,提取 R 作为位置 + groupName = firstRecord.GroupName; + MyBase.TraceWriteLine("组名:" + firstRecord.GroupName); + // 如果 GroupName 为空,则使用默认位置 + if (string.IsNullOrEmpty(firstRecord.GroupName)) + { + MyBase.TraceWriteLine("组名为空,使用默认位置。"); + ConfigDfn.strEquipPosition = "Default"; // 默认位置 + } + else + { + // 使用下划线分隔 GroupName,提取最后一部分作为位置 + var parts2 = firstRecord.GroupName.Split('_'); + + ConfigDfn.strEquipPosition = parts2.Length > 1 ? parts2[parts2.Length - 1] : firstRecord.GroupName; // 如果没有下划线,直接使用原值 + } + + // 打印提取后位置 + MyBase.TraceWriteLine("位置:" + ConfigDfn.strEquipPosition); + MyBase.TraceWriteLine("测量时间:" + ConfigDfn.strMeasureTime); + + emitProcessStep($"---> 1、解析到, 车号:{ConfigDfn.strEquipNo} 车型:{ConfigDfn.strCarModel} 位置:{ConfigDfn.strEquipPosition} 测量时间:{ConfigDfn.strMeasureTime}"); } else { @@ -338,15 +436,28 @@ namespace NSAnalysis // 逐条插入数据到数据库 foreach (var record in records) { - _dal.InsertCJLRMeaData(record); + _dal.InsertOrUpdateCJLRMeaData(record); } MyBase.TraceWriteLine("CSV文件导入到数据库成功!"); + + // 记录处理文件到数据库 + _dal.InsertProcessedFile(filePath); + + emitProcessStep($"---> 2、CSV文件导入到数据库成功"); + + #region 处理单侧统计信息 + + GenerateSingleSideStatistics(groupName, ConfigDfn.strEquipPosition); + + #endregion 处理单侧统计信息 + MyBase.TraceWriteLine("--------------------------------------------------------"); } catch (Exception ex) { MyBase.TraceWriteLine("导入CSV文件时发生错误:" + ex.Message); + emitProcessStep($"---> 2、导入CSV文件时发生错误: {ex.Message}"); } } @@ -368,7 +479,25 @@ namespace NSAnalysis // 解析完成后触发事件 if (!string.IsNullOrEmpty(ConfigDfn.strEquipNo)) { - OnFileParsed?.Invoke(ConfigDfn.strEquipNo); + // 构造 事件参数 + Trace($"触发事件,车号: {ConfigDfn.strEquipNo} 位置: {ConfigDfn.strEquipPosition}"); + OnFileParsed?.Invoke(ConfigDfn.strEquipNo, ConfigDfn.strEquipPosition); + } + + // 每次解析完一个文件后,检查是否有双侧测量结果 + bool isMeasureComplete = _dal.HasBothSidesMeasureResult(ConfigDfn.strEquipNo); + + if (isMeasureComplete) + { + MyBase.TraceWriteLine("双侧测量结果已完成,开始生成客户报告。"); + emitProcessStep($"---> 4、双侧测量结果已完成,开始生成客户报告,车号: {ConfigDfn.strEquipNo}"); + // 生成客户报告 + GenCustomerReport(ConfigDfn.strEquipNo); + } + else + { + MyBase.TraceWriteLine("双侧测量结果未完成,跳过客户报告生成。"); + emitProcessStep($"---> 4、双侧测量结果未完成,跳过客户报告生成,车号: {ConfigDfn.strEquipNo}"); } } catch (Exception ex) @@ -377,76 +506,102 @@ namespace NSAnalysis } } - private void GenCustomerReport() + // 生成客户报告函数 + private void GenCustomerReport(string strCarID) { - //#region 解析完报告后,重新生成客户模板报告 + // 从数据库获取测量数据 + DataTable dtCSVContent = _dal.SelectPointDimensionByCarID(strCarID); - //string filePath = strSaveReprotPath + DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + strCarID + ".csv"; //wsp 后期还要再改 - //string strWithoutLCarVin = strCarID.Substring(1); - //StringBuilder sb = new StringBuilder(); - ////添加表头 - //sb.Append("Measurement Info Name"); - //sb.Append(","); - //sb.Append("Measurement Info"); - //sb.AppendLine(); - //sb.Append("Date_Time"); - //sb.Append(","); - //sb.Append(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")); - //sb.AppendLine(); - //for (int i = 0; i < listCSVTitleInfo.Count; i++) - //{ - // if (listCSVTitleInfo[i].Contains("prodnum")) - // { - // listCSVTitleInfo[i] = listCSVTitleInfo[i].Replace("prodnum", "Part_ident"); - // } - // if (listCSVTitleInfo[i].Contains(strWithoutLCarVin)) - // { - // listCSVTitleInfo[i] = listCSVTitleInfo[i].Replace(strWithoutLCarVin, strCarID); - // } - // sb.Append(listCSVTitleInfo[i]); - // sb.AppendLine(); - //} - //sb.AppendLine(); - //sb.AppendLine(); - //sb.AppendLine(); - //sb.AppendLine(); - //sb.AppendLine(); - ////添加测量数据 - //sb.Append("Characteristic"); - //sb.Append(","); - //sb.Append("Extension"); - //sb.Append(","); - //sb.Append("Measured_Value"); - //sb.AppendLine(); - //foreach (DataRow row in dtCSVContent.Rows) - //{ - // sb.Append(row.ItemArray[2]); - // sb.Append(","); - // sb.Append(row.ItemArray[3]); - // sb.Append(","); - // sb.Append(row.ItemArray[7]); - // sb.AppendLine(); - //} + if (dtCSVContent == null || dtCSVContent.Rows.Count == 0) + { + MyBase.TraceWriteLine("没有找到测量数据,无法生成客户报告。"); + return; + } - //sb.Append("POP"); - //sb.Append(","); - //sb.Append("P"); - //sb.Append(","); - //sb.Append(Math.Round(FPYPercent * 100.00d, 2).ToString("F2")); - //sb.AppendLine(); - //// 将数据写入CSV文件 - //File.WriteAllText(filePath, sb.ToString()); - //MyBase.TraceWriteLine("客户csv报告生成完毕,路径为:" + filePath); + // 生成报告 + string fileName = strCarID + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv"; - //#endregion 解析完报告后,重新生成客户模板报告 + // 确保报告路径存在 + if (!Directory.Exists(ConfigDfn.strReportPath)) + { + Directory.CreateDirectory(ConfigDfn.strReportPath); + MyBase.TraceWriteLine($"创建报告目录: {ConfigDfn.strReportPath}"); + } + string savePath = Path.Combine(ConfigDfn.strReportPath, fileName); + + GenerateCsvReport(strCarID, dtCSVContent, ConfigDfn.strCSVReportTemplatePath, savePath); + + MyBase.TraceWriteLine($"客户报告已生成: {savePath}"); + emitProcessStep($"---> 5、客户报告已生成: {savePath}"); } + // 生成CSV报告函数 + private void GenerateCsvReport(string strCarID, DataTable measureData, string templatePath, string savePath) + { + // 读取模板内容 + var templateLines = File.ReadAllLines(templatePath); + + StringBuilder sb = new StringBuilder(); + + // 替换模板中的变量 + foreach (var line in templateLines) + { + string replaced = line + .Replace("{DateTime}", DateTime.Now.ToString("yyyy/MM/dd HH:mm")) + .Replace("{CarID}", strCarID); + sb.AppendLine(replaced); + } + + // 空行分隔 + sb.AppendLine(); + sb.AppendLine(); + + // 添加测量数据表头 + sb.AppendLine("Characteristic,Extension,Measured_Value"); + + // 添加测量数据内容 + foreach (DataRow row in measureData.Rows) + { + sb.AppendFormat("{0},{1},{2}\n", + row["PointName"], row["DimensionName"], row["DimensionValue"]); + } + + // 可根据实际需求添加统计行 sb.AppendLine("POP,P,99.99"); + + // 写入文件 + File.WriteAllText(savePath, sb.ToString(), Encoding.UTF8); + } + + // 日志记录方法 private void Trace(string msg) { OnLog?.Invoke(msg); MyBase.TraceWriteLine(msg); // 保持原有日志 } + // 打印 DataTable 对象的方法,输入是对象 + public static void PrintDataTable(DataTable dt) + { + if (dt == null || dt.Rows.Count == 0) + { + Console.WriteLine("[PrintDataTable] DataTable is empty or null."); + return; + } + foreach (DataColumn column in dt.Columns) + { + Console.WriteLine($"{column.ColumnName}\t"); + } + Console.WriteLine(""); + foreach (DataRow row in dt.Rows) + { + foreach (var item in row.ItemArray) + { + Console.WriteLine($"{item}\t"); + } + Console.WriteLine(""); + } + } + // 测试方法 public void test() { diff --git a/Analysis/DAL/CjlrDAL.cs b/Analysis/DAL/CjlrDAL.cs index 7dbd88a..d3de834 100644 --- a/Analysis/DAL/CjlrDAL.cs +++ b/Analysis/DAL/CjlrDAL.cs @@ -4,8 +4,6 @@ using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Text; -using System.Windows.Forms; -using Telerik.WinControls; namespace NSAnalysis.DAL { @@ -34,6 +32,7 @@ namespace NSAnalysis.DAL return dt; } + // 查询指定车辆ID的测量结果 public DataTable SelectTMeasureResultByTime(string strCarID, string strStartTime, string strEndTime) { DataTable dt = new DataTable(); @@ -98,6 +97,43 @@ namespace NSAnalysis.DAL } // 从CJLR_MeaData 中查询 总测量项 Good测量项 NoGood测量项 Reject测量项 FPY + public DataTable SelectMeasureResultByCarID(string strCarID,string strGroupName) + { + string strSql = @" + SELECT + ProductNum AS CarID, + COUNT(*) AS TotalCount, + SUM(CASE WHEN UPPER(Classification) IN ('OK','OK ','Acceptable','Acceptable ') THEN 1 ELSE 0 END) AS PassCount, + SUM(CASE WHEN UPPER(Classification) IN ('NG1','NG1 ','NG2','NG2 ') THEN 1 ELSE 0 END) AS NGCount, + SUM(CASE WHEN Classification = 'Rejected' THEN 1 ELSE 0 END) AS RejectCount, + CAST( + SUM(CASE WHEN UPPER(Classification) IN ('OK','OK ','Acceptable','Acceptable ') THEN 1 ELSE 0 END) AS FLOAT + ) / + +NULLIF( + SUM(CASE WHEN UPPER(Classification) IN ('NG1','NG1 ','NG2','NG2 ','OK','OK ','ACCEPTABLE','ACCEPTABLE ','Rejected') THEN 1 ELSE 0 END), + 0 + ) * 100 AS FPY + + FROM CJLR.dbo.CJLR_MeaData + WHERE ProductNum = @CarID and GroupName = @GroupName + GROUP BY ProductNum + + "; + + SqlParameter[] parameters = new SqlParameter[] + { + new SqlParameter("@CarID", strCarID), + new SqlParameter("@GroupName", strGroupName) + + + + }; + + DataTable dt = SQLHelper.ExecuteQuery(strSql, parameters, CommandType.Text); + return dt; + } + public DataTable SelectMeasureResultByCarID(string strCarID) { string strSql = @" @@ -125,18 +161,19 @@ NULLIF( SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@CarID", strCarID) + + + }; DataTable dt = SQLHelper.ExecuteQuery(strSql, parameters, CommandType.Text); return dt; } - // 每个测量点的上下限和偏差分析(包含合并的测量时间) public DataTable SelectMeasureDataByCarID(string strCarID) { string strSql = @"SELECT PointName, - Model, DimensionName, DimensionValue, NominalValue, @@ -199,6 +236,39 @@ ProductNum, return SQLHelper.ExecuteQuery(strSql.ToString(), parameters.ToArray(), CommandType.Text); } + // check 是否有左右两侧的测量结果 + public bool HasBothSidesMeasureResult(string carId) + { + string sql = @" + SELECT CASE + WHEN COUNT(DISTINCT Remark) = 2 THEN 1 + ELSE 0 + END AS HasBothSides + FROM CJLR.dbo.TMeasureResult + WHERE CarID = @CarID AND Remark IN ('L', 'R')"; + SqlParameter[] paras = new SqlParameter[] + { + new SqlParameter("@CarID", carId) + }; + DataTable dt = SQLHelper.ExecuteQuery(sql, paras, CommandType.Text); + return dt.Rows.Count > 0 && Convert.ToInt32(dt.Rows[0]["HasBothSides"]) == 1; + } + + // 查询指定车辆ID的测量点维度数据 + public DataTable SelectPointDimensionByCarID(string carId) + { + string sql = @" + SELECT PointName, DimensionName, DimensionValue + FROM CJLR.dbo.CJLR_MeaData + WHERE ProductNum = @CarID + ORDER BY Id"; + SqlParameter[] paras = new SqlParameter[] + { + new SqlParameter("@CarID", carId) + }; + return SQLHelper.ExecuteQuery(sql, paras, CommandType.Text); + } + #endregion @@ -328,6 +398,122 @@ ProductNum, return SQLHelper.ExecuteNonQuery(strSql, paras, CommandType.Text); } + public int InsertOrUpdateCJLRMeaData(CJLR_MeaDataModel record) + { + // 判断是否存在 + string checkSql = @" + SELECT Id FROM CJLR_MeaData + WHERE ProductNum = @ProdNum + AND PointName = @MeasPointName + AND DimensionName = @DimensionName + AND MeasureDate = @Date + AND MeasureTime = @Time"; + SqlParameter[] checkParas = new SqlParameter[] + { + new SqlParameter("@ProdNum", record.ProductNum), + new SqlParameter("@MeasPointName", record.PointName), + new SqlParameter("@DimensionName", record.DimensionName), + new SqlParameter("@Date", record.MeasureDate), + new SqlParameter("@Time", record.MeasureTime) + }; + DataTable dt = SQLHelper.ExecuteQuery(checkSql, checkParas, CommandType.Text); + + if (dt.Rows.Count > 0) + { + // 已存在,执行更新 + int id = Convert.ToInt32(dt.Rows[0]["Id"]); + string updateSql = @" + UPDATE CJLR_MeaData SET + GroupName = @MeasGroupName, + Model = @Model, + Station = @Station, + Method = @MeasMethod, + Standard = @TestStandard, + DimensionValue = @DimensionValue, + DimensionUnit = @DimensionUnit, + IsManual = @DimensionManualOverride, + Classification = @DimensionClassification, + ToleranceName0 = @ToleranceName0, + ToleranceLower0 = @ToleranceLower0, + ToleranceUpper0 = @ToleranceUpper0, + ToleranceName1 = @ToleranceName1, + ToleranceLower1 = @ToleranceLower1, + ToleranceUpper1 = @ToleranceUpper1, + NominalValue = @MeasPointNominal, + SequenceNum = @SeqNr, + CreatedAt = @CreatedAt + WHERE Id = @Id"; + SqlParameter[] updateParas = new SqlParameter[] + { + new SqlParameter("@MeasGroupName", record.GroupName ?? (object)DBNull.Value), + new SqlParameter("@Model", record.Model ?? (object)DBNull.Value), + new SqlParameter("@Station", record.Station ?? (object)DBNull.Value), + new SqlParameter("@MeasMethod", record.Method ?? (object)DBNull.Value), + new SqlParameter("@TestStandard", record.Standard ?? (object)DBNull.Value), + new SqlParameter("@DimensionValue", record.DimensionValue), + new SqlParameter("@DimensionUnit", record.DimensionUnit ?? (object)DBNull.Value), + new SqlParameter("@DimensionManualOverride", record.IsManual ? 1 : 0), + new SqlParameter("@DimensionClassification", record.Classification ?? (object)DBNull.Value), + new SqlParameter("@ToleranceName0", record.ToleranceName0 ?? (object)DBNull.Value), + new SqlParameter("@ToleranceLower0", record.ToleranceLower0), + new SqlParameter("@ToleranceUpper0", record.ToleranceUpper0), + new SqlParameter("@ToleranceName1", record.ToleranceName1 ?? (object)DBNull.Value), + new SqlParameter("@ToleranceLower1", record.ToleranceLower1), + new SqlParameter("@ToleranceUpper1", record.ToleranceUpper1), + new SqlParameter("@MeasPointNominal", record.NominalValue), + new SqlParameter("@SeqNr", record.SequenceNum), + new SqlParameter("@CreatedAt", DateTime.Now), + new SqlParameter("@Id", id) + }; + return SQLHelper.ExecuteNonQuery(updateSql, updateParas, CommandType.Text); + } + else + { + // 不存在,执行插入 + string insertSql = @" + INSERT INTO CJLR_MeaData ( + PointName, GroupName, ProductNum, Model, Station, Method, + Standard, DimensionName, DimensionValue, DimensionUnit, + IsManual, Classification, ToleranceName0, + ToleranceLower0, ToleranceUpper0, ToleranceName1, + ToleranceLower1, ToleranceUpper1, NominalValue, MeasureDate, MeasureTime, SequenceNum,CreatedAt + ) VALUES ( + @MeasPointName, @MeasGroupName, @ProdNum, @Model, @Station, @MeasMethod, + @TestStandard, @DimensionName, @DimensionValue, @DimensionUnit, + @DimensionManualOverride, @DimensionClassification, @ToleranceName0, + @ToleranceLower0, @ToleranceUpper0, @ToleranceName1, + @ToleranceLower1, @ToleranceUpper1, @MeasPointNominal, @Date, @Time, @SeqNr,@CreatedAt + )"; + SqlParameter[] insertParas = new SqlParameter[] + { + new SqlParameter("@MeasPointName", record.PointName ?? (object)DBNull.Value), + new SqlParameter("@MeasGroupName", record.GroupName ?? (object)DBNull.Value), + new SqlParameter("@ProdNum", record.ProductNum ?? (object)DBNull.Value), + new SqlParameter("@Model", record.Model ?? (object)DBNull.Value), + new SqlParameter("@Station", record.Station ?? (object)DBNull.Value), + new SqlParameter("@MeasMethod", record.Method ?? (object)DBNull.Value), + new SqlParameter("@TestStandard", record.Standard ?? (object)DBNull.Value), + new SqlParameter("@DimensionName", record.DimensionName ?? (object)DBNull.Value), + new SqlParameter("@DimensionValue", record.DimensionValue), + new SqlParameter("@DimensionUnit", record.DimensionUnit ?? (object)DBNull.Value), + new SqlParameter("@DimensionManualOverride", record.IsManual ? 1 : 0), + new SqlParameter("@DimensionClassification", record.Classification ?? (object)DBNull.Value), + new SqlParameter("@ToleranceName0", record.ToleranceName0 ?? (object)DBNull.Value), + new SqlParameter("@ToleranceLower0", record.ToleranceLower0), + new SqlParameter("@ToleranceUpper0", record.ToleranceUpper0), + new SqlParameter("@ToleranceName1", record.ToleranceName1 ?? (object)DBNull.Value), + new SqlParameter("@ToleranceLower1", record.ToleranceLower1), + new SqlParameter("@ToleranceUpper1", record.ToleranceUpper1), + new SqlParameter("@MeasPointNominal", record.NominalValue), + new SqlParameter("@Date", record.MeasureDate == default ? DateTime.Now : record.MeasureDate), + new SqlParameter("@Time", record.MeasureTime == default ? DateTime.Now.TimeOfDay : record.MeasureTime), + new SqlParameter("@SeqNr", record.SequenceNum), + new SqlParameter("@CreatedAt", DateTime.Now) + }; + return SQLHelper.ExecuteNonQuery(insertSql, insertParas, CommandType.Text); + } + } + #endregion #region Update Function @@ -405,5 +591,46 @@ ProductNum, } #endregion + + + + #region 记录文件是否已经处理 + + + // 判断文件是否已处理 + public bool IsFileProcessed(string fileName) + { + string sql = "SELECT COUNT(*) FROM CJLR_ProcessedFiles WHERE FileName = @FileName"; + SqlParameter[] paras = { new SqlParameter("@FileName", fileName) }; + DataTable dt = SQLHelper.ExecuteQuery(sql, paras, CommandType.Text); + return dt.Rows.Count > 0 && Convert.ToInt32(dt.Rows[0][0]) > 0; + } + + // 记录已处理文件 + public int InsertProcessedFile(string fileName, string taskCode = null, string position = null) + { + string sql = @"INSERT INTO CJLR_ProcessedFiles (FileName, TaskCode, Position) VALUES (@FileName, @TaskCode, @Position)"; + SqlParameter[] paras = { + new SqlParameter("@FileName", fileName), + new SqlParameter("@TaskCode", (object)taskCode ?? DBNull.Value), + new SqlParameter("@Position", (object)position ?? DBNull.Value) + }; + return SQLHelper.ExecuteNonQuery(sql, paras, CommandType.Text); + } + + // 获取已处理文件名列表 + public List GetProcessedFileNames() + { + string sql = "SELECT FileName FROM CJLR_ProcessedFiles"; + DataTable dt = SQLHelper.ExecuteQuery(sql, CommandType.Text); + var list = new List(); + foreach (DataRow row in dt.Rows) + { + list.Add(row["FileName"].ToString()); + } + return list; + } + + #endregion } } \ No newline at end of file diff --git a/Analysis/DAL/Model/CJLR_MeaDataModel.cs b/Analysis/DAL/Model/CJLR_MeaDataModel.cs new file mode 100644 index 0000000..c6932f5 --- /dev/null +++ b/Analysis/DAL/Model/CJLR_MeaDataModel.cs @@ -0,0 +1,35 @@ +using System; + +namespace NSAnalysis.Model +{ + public class CJLR_MeaDataModel + { + public int Id { get; set; } + public string PointName { get; set; } + public string GroupName { get; set; } + public string ProductNum { get; set; } + public string Model { get; set; } + public string Station { get; set; } + public string Method { get; set; } + public string Standard { get; set; } + public string DimensionName { get; set; } + public string DimensionValue { get; set; } + public string DimensionUnit { get; set; } + public bool IsManual { get; set; } + public string Classification { get; set; } + public string ToleranceName0 { get; set; } + public string ToleranceLower0 { get; set; } + public string ToleranceUpper0 { get; set; } + public string ToleranceName1 { get; set; } + public string ToleranceLower1 { get; set; } + public string ToleranceUpper1 { get; set; } + public string NominalValue { get; set; } + public DateTime MeasureDate { get; set; } + public TimeSpan MeasureTime { get; set; } + public int SequenceNum { get; set; } + public DateTime CreatedAt { get; set; } + + // 位置 + public string Position { get; set; } + } +} \ No newline at end of file diff --git a/Analysis/DAL/Model/TMeasureResultModel.cs b/Analysis/DAL/Model/TMeasureResultModel.cs index 1fff118..bc20b58 100644 --- a/Analysis/DAL/Model/TMeasureResultModel.cs +++ b/Analysis/DAL/Model/TMeasureResultModel.cs @@ -56,6 +56,5 @@ /// Remark 备注 /// public string Remark { get; set; } - } } \ No newline at end of file diff --git a/Analysis/DAL/SQLHelper.cs b/Analysis/DAL/SQLHelper.cs index 63a6df7..bd94461 100644 --- a/Analysis/DAL/SQLHelper.cs +++ b/Analysis/DAL/SQLHelper.cs @@ -14,8 +14,7 @@ namespace NSAnalysis.DAL public static int iFlag = 0; - - private static SqlConnection GetConn() + private static SqlConnection GetConn() { conn = new SqlConnection(connStr); try @@ -36,8 +35,6 @@ namespace NSAnalysis.DAL // 这里建议抛出异常而不是返回未打开的连接 throw; } - - } #region 执行不带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数 @@ -97,7 +94,6 @@ namespace NSAnalysis.DAL return res; } - #endregion 执行带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数 #region 执行不带参数的查询SQL语句或存储过程 返回DataTable类型 diff --git a/Analysis/Define/Define.cs b/Analysis/Define/Define.cs index a3a9b5d..3c0e9c9 100644 --- a/Analysis/Define/Define.cs +++ b/Analysis/Define/Define.cs @@ -52,7 +52,7 @@ namespace NSAnalysis public static string strSkinName = ""; public static string strHelpDocumentName = ""; - public static int iDeleteFlieTime; + public static string strImagePath = ""; /// @@ -84,8 +84,8 @@ namespace NSAnalysis public static double dFPY2 = 0.6; public static string strCarModel = ""; //车型 - public static string strEquipNo = ""; - public static string strEquipName = ""; + public static string strEquipNo = ""; // 车号 + public static string strEquipPosition = ""; //位置 public static string strIOTAddress = ""; public static string strIOTCarTypeAddress = ""; public static int iStartIOTFlag = 1; @@ -93,15 +93,17 @@ namespace NSAnalysis public static string strShowCarLR = ""; public static string strCOMPort = ""; - public static int iCreateReportFlag = 0; + public static bool iEnableSort = false; public static string strStationName = ""; public static string strUploadPath = ""; public static string strUploadPath2 = ""; public static double dLevel2 = 1.5; public static double dLevel3 = 2.0; - public static string strReportPath = ""; - public static string strReportPath2 = ""; + public static string strReportPath = ""; //保存CSV报告的路径 + + // csv报告模板路径 + public static string strCSVReportTemplatePath = Application.StartupPath + "\\File\\CSVReportTemplate.csv"; /// /// 公差带百分比 @@ -122,34 +124,56 @@ namespace NSAnalysis { string strSection = ""; - #region 读取系统配置参数 - strSection = "Chery"; - iDeleteFlieTime = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "DeleteDebugFileIntervalTime"); + strSkinName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ConfigSkinName"); strTheme += strSkinName; strHelpDocumentName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SoftwareHelpDocument"); strImagePath = strImageFile + FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "CNCPictureName"); bLanguage = FileIni.ReadBool(ConfigDfn.strConfigFile, strSection, "Language", 0); bRememberMe = FileIni.ReadBool(ConfigDfn.strConfigFile, strSection, "RememberMe", 0); - strNextSenseCSVEH3Path = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "NextsenseCSVEH3Path"); + //密码 strPwd = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "Password"); - iCreateReportFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "CreateReportFlag"); - strUploadPath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "tavascanUploadPath"); - strUploadPath2 = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "blacklabelUploadPath"); - dLevel2 = double.Parse(FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "Level2Times")); - dLevel3 = double.Parse(FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "Level3Times")); - strReportPath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ReportCSVPath"); - strReportPath2 = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ReportCSVPath2"); + // 启用分发功能 + iEnableSort = FileIni.ReadBool(ConfigDfn.strConfigFile, strSection, "EnableSort"); + + // 启用解析 iAnalysisCSVFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "AnalysisCSVFlag"); - iRecordEncoderFlag = FileIni.ReadInt(strConfigFile, strSection, "RecordEncoderFlag"); - iIncludeRangeFlag = FileIni.ReadInt(strConfigFile, strSection, "IncludeRangeFlag"); - iMeasureItemsCount = FileIni.ReadInt(strConfigFile, strSection, "MeasureCarItemsCount"); + // 保存报告 + strReportPath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ReportCSVPath"); + } - - #endregion 读取系统配置参数 + // 保存配置,从全局变量中读取数据,写入到配置文件中 + public static void SaveConfig() + { + try + { + MyBase.TraceWriteLine("保存配置文件——>开始"); + if (File.Exists(strConfigFile)) + { + string strSection = "Chery"; + FileIni.WriteString(strConfigFile, strSection, "ConfigSkinName", strSkinName); + FileIni.WriteString(strConfigFile, strSection, "SoftwareHelpDocument", strHelpDocumentName); + FileIni.WriteString(strConfigFile, strSection, "CNCPictureName", Path.GetFileName(strImagePath)); + FileIni.WriteBool(strConfigFile, strSection, "Language", bLanguage); + FileIni.WriteBool(strConfigFile, strSection, "RememberMe", bRememberMe ); + FileIni.WriteString(strConfigFile, strSection, "Password", strPwd); + FileIni.WriteBool(strConfigFile, strSection, "EnableSort", iEnableSort); + FileIni.WriteInt(strConfigFile, strSection, "AnalysisCSVFlag", iAnalysisCSVFlag); + FileIni.WriteString(strConfigFile, strSection, "ReportCSVPath", strReportPath); + MyBase.TraceWriteLine("保存配置文件——>完成"); + } + else + { + MyBase.TraceWriteLine("配置文件不存在!"); + } + } + catch (Exception ex) + { + MyBase.TraceWriteLine("保存配置文件错误:" + ex.ToString()); + } } public static void LoadConfigFile() @@ -159,9 +183,8 @@ namespace NSAnalysis MyBase.TraceWriteLine("加载配置文件——>开始"); if (File.Exists(strConfigFile)) { - LoadConfig(); - - DatabaseDfn.LoadConfig(); + LoadConfig(); //加载软件配置 + DatabaseDfn.LoadConfig(); //加载数据库配置 MyBase.TraceWriteLine("加载配置文件——>完成"); } else @@ -184,6 +207,10 @@ namespace NSAnalysis if (!Directory.Exists(ConfigDfn.strDFQFolder)) Directory.CreateDirectory(ConfigDfn.strDFQFolder); + //创建保存报告的路径 + if (!Directory.Exists(ConfigDfn.strReportPath)) + Directory.CreateDirectory(ConfigDfn.strReportPath); + #endregion 检测文件夹,没有则创建 } catch (Exception ex) diff --git a/Analysis/FormMain.cs b/Analysis/FormMain.cs index cbcb6a9..c79afbc 100644 --- a/Analysis/FormMain.cs +++ b/Analysis/FormMain.cs @@ -2,9 +2,9 @@ using NSAnalysis.DAL; using NSAnalysis.Model; -using NSAnalysis.Properties; using System; +using System.Collections.Generic; using System.Data; using System.Drawing; using System.IO; @@ -23,8 +23,6 @@ namespace NSAnalysis #region 全局变量 - private int[] yValues = new int[3]; - private string[] xValues = new string[3]; private DataTable dtCSVContent = new DataTable(); private CjlrDAL tmdal = new CjlrDAL(); @@ -59,6 +57,9 @@ namespace NSAnalysis #endregion 分页全局变量 + private Dictionary originalRatios = new Dictionary(); + private Dictionary originalSizes = new Dictionary(); + #endregion 全局变量 #region 主窗口事件 @@ -78,7 +79,7 @@ namespace NSAnalysis { //初始化全局变量 - MyBase.rleMessage = rleMessage; + //MyBase.rleMessage = rleMessage; rdtpStartTime.Text = DateTime.Now.ToString("yyyy-MM-dd"); rdtpEndTime.Text = DateTime.Now.ToString("yyyy-MM-dd"); @@ -89,8 +90,8 @@ namespace NSAnalysis // 订阅处理中事件 fileSorter.OnFileParsed += FileSorter_OnFileParsed; - - + fileSorter.OnProcessStep += FileSorter_OnProcessStep; + //绑定按钮 lpcSoftwareSetup.labPicture.Click += new EventHandler(lpcSoftwareSetup_Click); @@ -107,22 +108,49 @@ namespace NSAnalysis iLastMesureCount = tmdal.SelectTMeasureResultCount(); - #region 清空信息 + ClearLabel(); //清空信息 + InitTableColumns(); + StoreControlRatios(this); + } + private void FileSorter_OnProcessStep(string obj) + { + if (lbCSVFiles.InvokeRequired) + { + lbCSVFiles.Invoke(new Action(FileSorter_OnProcessStep), obj); + return; + } + + // 控件初始化检查 + if (lbCSVFiles == null) + return; + + // 超过100条时清空 + if (lbCSVFiles.Items.Count > 100) + { + lbCSVFiles.Items.Clear(); + } + + lbCSVFiles.Items.Add(obj); + + // 滚动到底部 + if (lbCSVFiles.Items.Count > 0) + { + lbCSVFiles.TopIndex = lbCSVFiles.Items.Count - 1; + } + } + + + private void ClearLabel() + { labVIN.Text = ""; - labOKCount.Text = ""; - labNGCount.Text = ""; - labRejectCount.Text = ""; - labSumMeasureCount.Text = ""; - labMeaTime.Text = ""; - labResultPercent.Text = ""; - labResult.Text = ""; labCarType.Text = ""; - #endregion 清空信息 - - InitTableColumns(); - + labOKCount_L.Text = ""; + labNGCount_L.Text = ""; + labRejectCount_L.Text = ""; + labSumMeasureCount_L.Text = ""; + labMeaTime_L.Text = ""; } private void InitTableColumns() @@ -250,19 +278,18 @@ namespace NSAnalysis }); } - private void DisplayMeasureData(string strCarID) + private void DisplayMeasureData(string strCarID) // 其中 string strCarID 是车身ID_L 或 车身ID_R { try { - #region 左侧统计和饼图、合格率 - - MyBase.TraceWriteLine("正在查询车ID为:" + strCarID + " 的测量结果。"); DataTable sampleData = tmdal.SelectMeasureResultByCarID(strCarID); - + if (sampleData == null || sampleData.Rows.Count == 0) + { + MyBase.TraceWriteLine("[DisplayMeasureData] 没有找到车ID为:" + strCarID + " 的测量数据。"); + return; + } AnalysisResult analysis = AnalysisResult.AnalyzeMeasureData(sampleData); - AnalysisResult.DisplayAnalysisResult(analysis); - - // 记录正在查询 + //AnalysisResult.DisplayAnalysisResult(analysis); //表格行数 int dtRowCount = analysis.TotalCount; @@ -274,66 +301,15 @@ namespace NSAnalysis double RejectedCount = analysis.RejectedCount; //合格率 double FPYPercent = analysis.FPYPercent; - + // 更新统计信息显示 labVIN.Text = strCarID; labCarType.Text = ConfigDfn.strCarModel; - TMeasureResultModel tmrm = new TMeasureResultModel(); - labNGCount.Text = OutCount.ToString(); - labOKCount.Text = OKCount.ToString(); - labRejectCount.Text = RejectedCount.ToString(); - labMeaTime.Text = ConfigDfn.strMeasureTime; - labSumMeasureCount.Text = dtRowCount.ToString(); - FPYPercent = OKCount / (OKCount + OutCount); - if (FPYPercent >= ConfigDfn.dFPY) - { - labResultPercent.Text = Math.Round(FPYPercent * 100.00d, 2).ToString("F2") + "%"; - labResult.Text = "合格"; - labResultPercent.ForeColor = Color.LimeGreen; - labResult.ForeColor = Color.LimeGreen; - pbResult.Image = Resources.OK; - tmrm.Result = 1; - } - else if (FPYPercent >= ConfigDfn.dFPY2 && FPYPercent < ConfigDfn.dFPY) - { - labResultPercent.Text = Math.Round(FPYPercent * 100.00d, 2).ToString("F2") + "%"; - labResult.Text = "合格"; - labResultPercent.ForeColor = Color.Yellow; - labResult.ForeColor = Color.Yellow; - pbResult.Image = Resources.OK; - tmrm.Result = 1; - } - else - { - labResultPercent.Text = Math.Round(FPYPercent * 100.00d, 2).ToString("F2") + "%"; - labResult.Text = "不合格"; - labResultPercent.ForeColor = Color.Red; - labResult.ForeColor = Color.Red; - pbResult.Image = Resources.NG; - tmrm.Result = 2; - } - xValues[0] = "合格 : " + OKCount.ToString(); - xValues[1] = "不合格 : " + OutCount.ToString(); - xValues[2] = "异常 : " + RejectedCount.ToString(); - yValues[0] = (int)OKCount; - yValues[1] = (int)OutCount; - yValues[2] = (int)RejectedCount; - chartResultPie.Series[0].Points.DataBindXY(xValues, yValues); - - string strTargetRate = Math.Round(ConfigDfn.dFPY2 * 100.00d, 2).ToString("F2") + "%"; - - tmrm.CarID = strCarID; - tmrm.CarType = ConfigDfn.strCarModel; - tmrm.SumMeasureItems = dtRowCount; - tmrm.GoodMeasureItems = (int)OKCount; - tmrm.NoGoodMeasureItems = (int)OutCount; - tmrm.RejectMeasureItems = (int)RejectedCount; - tmrm.FPY = FPYPercent.ToString("F4"); - tmrm.Remark = ""; - tmrm.MeasureDate = ConfigDfn.strMeasureTime; - tmdal.InsertTMeasureResult(tmrm); - MyBase.TraceWriteLine("将总结果插入数据库完毕。"); - - #endregion 左侧统计和饼图、合格率 + //labPosition_L.Text = "左侧"; + labOKCount_L.Text = OKCount.ToString(); + labNGCount_L.Text = OutCount.ToString(); + labRejectCount_L.Text = RejectedCount.ToString(); + labSumMeasureCount_L.Text = dtRowCount.ToString(); + labMeaTime_L.Text = ConfigDfn.strMeasureTime; #region 表单区填充 @@ -379,28 +355,18 @@ namespace NSAnalysis } } - private void FileSorter_OnFileParsed(string strCarID) + private void FileSorter_OnFileParsed(string strCarID, string Position) //形如 { // 线程安全更新 UI if (InvokeRequired) { - Invoke(new Action(FileSorter_OnFileParsed), strCarID); + Invoke(new Action(FileSorter_OnFileParsed), strCarID, Position); return; } - - // 这里可以更新界面控件,例如 ListBox、Label 等 - // 例如:listBoxParsedFiles.Items.Add(fileName); - // 或 rleMessage.Text = $"已解析: {fileName}"; - rleMessage.Text = $"已解析: {strCarID}"; - - - // 显示数据, 此时为左侧或右侧数据 - DisplayMeasureData(strCarID); - - + // 显示数据 并更新单侧汇总结果, 此时为左侧或右侧数据 + DisplayMeasureData(strCarID); } - /// 通过给定的文件流,判断文件的编码类型 /// 文件流 /// 文件的编码类型 @@ -816,312 +782,40 @@ namespace NSAnalysis e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1); } - private void tmrMonitorDBToCreateReport_Tick(object sender, EventArgs e) - { - tmrMonitorDBToCreateReport.Stop(); - int iCurrentMeasureCount = tmdal.SelectTMeasureResultCount(); - if (iCurrentMeasureCount > iLastMesureCount && (iCurrentMeasureCount == (iLastMesureCount + 1))) - { - MyBase.TraceWriteLine("监控数据库,开始生成ipn文件:"); - DataTable dtMeaResult = tmdal.SelectNewestTMeasureResult(); - string strVIN = dtMeaResult.Rows[0]["CarID"].ToString(); - DateTime dateMeaDate = Convert.ToDateTime(dtMeaResult.Rows[0]["Remark"].ToString()); - DataTable dtMeaContent = tmdal.SelectCJLRMeaDataByCarID(strVIN); - string strCarType = dtMeaContent.Rows[0][2].ToString(); - int iMeaCount = dtMeaContent.Rows.Count; - - #region 解析完报告后,重新生成客户模板报告 - - string filePath = ""; - if (strCarType.ToLower().Contains("tava")) - { - filePath = ConfigDfn.strReportPath + "\\" + strCarType + "_" + strVIN + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".ipn"; - } - else - { - filePath = ConfigDfn.strReportPath2 + "\\" + strCarType + "_" + strVIN + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".ipn"; - } - - StringBuilder sb = new StringBuilder(); - - #region 添加表头 - - sb.Append("GAUGE ID"); - sb.Append("\t"); - sb.Append("JSN"); - sb.Append("\t"); - sb.Append("MO"); - sb.Append("\t"); - sb.Append("DAY"); - sb.Append("\t"); - sb.Append("YR"); - sb.Append("\t"); - sb.Append("HR"); - sb.Append("\t"); - sb.Append("MIN"); - sb.Append("\t"); - sb.Append("SEC"); - sb.Append("\t"); - sb.Append("MODEL"); - sb.Append("\t"); - sb.Append("AuxID1"); - sb.Append("\t"); - sb.Append("AuxID2"); - sb.Append("\t"); - sb.Append("QUAL"); - sb.Append("\t"); - sb.Append("SHIFT"); - sb.Append("\t"); - sb.Append("DATA TYPE"); - sb.Append("\t"); - sb.Append("FIXTURE"); - sb.Append("\t"); - for (int i = 0; i < iMeaCount / 2; i++) - { - string strMeaPointName = dtMeaContent.Rows[i * 2]["MeasPointName"].ToString(); - string strMPF = strMeaPointName + " Flush"; - string strMPG = strMeaPointName + " Gap"; - sb.Append("D " + strMPF); - sb.Append("\t"); - sb.Append("D " + strMPG); - sb.Append("\t"); - - sb.Append("B " + strMPF); - sb.Append("\t"); - sb.Append("B " + strMPG); - sb.Append("\t"); - - sb.Append("A " + strMPF); - sb.Append("\t"); - sb.Append("A " + strMPG); - sb.Append("\t"); - - sb.Append("US " + strMPF); - sb.Append("\t"); - sb.Append("LS " + strMPF); - sb.Append("\t"); - sb.Append("US " + strMPG); - sb.Append("\t"); - sb.Append("LS " + strMPG); - sb.Append("\t"); - - sb.Append("UR " + strMPF); - sb.Append("\t"); - sb.Append("LR " + strMPF); - sb.Append("\t"); - sb.Append("UR " + strMPG); - sb.Append("\t"); - sb.Append("LR " + strMPG); - sb.Append("\t"); - - sb.Append("UT " + strMPF); - sb.Append("\t"); - sb.Append("LT " + strMPF); - sb.Append("\t"); - sb.Append("UT " + strMPG); - sb.Append("\t"); - sb.Append("LT " + strMPG); - sb.Append("\t"); - } - - #endregion 添加表头 - - sb.AppendLine(); - - #region 添加内容 - - sb.Append(ConfigDfn.strStationName); - sb.Append("\t"); - sb.Append(strVIN); - sb.Append("\t"); - sb.Append(dateMeaDate.Month.ToString()); - sb.Append("\t"); - sb.Append(dateMeaDate.Day.ToString()); - sb.Append("\t"); - sb.Append(dateMeaDate.Year.ToString().Substring(2)); - sb.Append("\t"); - sb.Append(dateMeaDate.Hour.ToString()); - sb.Append("\t"); - sb.Append(dateMeaDate.Minute.ToString()); - sb.Append("\t"); - sb.Append(dateMeaDate.Second.ToString()); - sb.Append("\t"); - if (strCarType.ToLower().Contains("tava")) - sb.Append(ConfigDfn.strUploadPath); - else - { - sb.Append(ConfigDfn.strUploadPath2); - } - sb.Append("\t"); - sb.Append("Unknow"); - sb.Append("\t"); - sb.Append("Unknow"); - sb.Append("\t"); - sb.Append("2"); - sb.Append("\t"); - sb.Append(""); - sb.Append("\t"); - sb.Append("AUTO"); - sb.Append("\t"); - sb.Append("NONE"); - sb.Append("\t"); - - double dDevFVal = 0; - double dDevGVal = 0; - - double dMeaFVal = 0; - double dMeaGVal = 0; - - double dNorFVal = 0; - double dNorGVal = 0; - - double dFUpper = 0; - double dFLower = 0; - double dGUpper = 0; - double dGLower = 0; - - double dFUpper2 = 0; - double dFLower2 = 0; - double dGUpper2 = 0; - double dGLower2 = 0; - - double dFUpper3 = 0; - double dFLower3 = 0; - double dGUpper3 = 0; - double dGLower3 = 0; - for (int i = 0; i < iMeaCount / 2; i++) - { - string strMeasureFValue = dtMeaContent.Rows[i * 2]["MeasureValue"].ToString(); - string strMeasureGValue = dtMeaContent.Rows[i * 2 + 1]["MeasureValue"].ToString(); - string strNormalFValue = dtMeaContent.Rows[i * 2]["NormalValue"].ToString(); - string strNormalGValue = dtMeaContent.Rows[i * 2 + 1]["NormalValue"].ToString(); - - dNorFVal = double.Parse(strNormalFValue); - dNorGVal = double.Parse(strNormalGValue); - dFUpper = double.Parse(dtMeaContent.Rows[i * 2]["UpperTolVal"].ToString()); - dFLower = double.Parse(dtMeaContent.Rows[i * 2]["LowerTolVal"].ToString()); - dGUpper = double.Parse(dtMeaContent.Rows[i * 2 + 1]["UpperTolVal"].ToString()); - dGLower = double.Parse(dtMeaContent.Rows[i * 2 + 1]["LowerTolVal"].ToString()); - - dFUpper2 = dFUpper * ConfigDfn.dLevel2; - dFLower2 = dFLower * ConfigDfn.dLevel2; - dGUpper2 = dGUpper * ConfigDfn.dLevel2; - dGLower2 = dGLower * ConfigDfn.dLevel2; - - dFUpper3 = dFUpper * ConfigDfn.dLevel3; - dFLower3 = dFLower * ConfigDfn.dLevel3; - dGUpper3 = dGUpper * ConfigDfn.dLevel3; - dGLower3 = dGLower * ConfigDfn.dLevel3; - - if (strMeasureFValue.Contains("inv")) - { - sb.Append("inv"); - sb.Append("\t"); - } - else - { - dMeaFVal = double.Parse(strMeasureFValue); - dDevFVal = dMeaFVal - dNorFVal; - sb.Append(dDevFVal.ToString("F3")); - sb.Append("\t"); - } - if (strMeasureGValue.Contains("inv")) - { - sb.Append("inv"); - sb.Append("\t"); - } - else - { - dMeaGVal = double.Parse(strMeasureGValue); - dDevGVal = dMeaGVal - dNorGVal; - sb.Append(dDevGVal.ToString("F3")); - sb.Append("\t"); - } - - sb.Append(strNormalFValue); - sb.Append("\t"); - sb.Append(strNormalGValue); - sb.Append("\t"); - - sb.Append(strMeasureFValue); - sb.Append("\t"); - sb.Append(strMeasureGValue); - sb.Append("\t"); - - sb.Append(dFUpper.ToString("F3")); - sb.Append("\t"); - sb.Append(dFLower.ToString("F3")); - sb.Append("\t"); - sb.Append(dGUpper.ToString("F3")); - sb.Append("\t"); - sb.Append(dGLower.ToString("F3")); - sb.Append("\t"); - - sb.Append(dFUpper2.ToString("F3")); - sb.Append("\t"); - sb.Append(dFLower2.ToString("F3")); - sb.Append("\t"); - sb.Append(dGUpper2.ToString("F3")); - sb.Append("\t"); - sb.Append(dGLower2.ToString("F3")); - sb.Append("\t"); - - sb.Append(dFUpper3.ToString("F3")); - sb.Append("\t"); - sb.Append(dFLower3.ToString("F3")); - sb.Append("\t"); - sb.Append(dGUpper3.ToString("F3")); - sb.Append("\t"); - sb.Append(dGLower3.ToString("F3")); - sb.Append("\t"); - } - - #endregion 添加内容 - - // 将数据写入CSV文件 - File.WriteAllText(filePath, sb.ToString()); - MyBase.TraceWriteLine("客户定制ipn报告生成完毕,路径为:" + filePath); - - #endregion 解析完报告后,重新生成客户模板报告 - } - iLastMesureCount = iCurrentMeasureCount; - tmrMonitorDBToCreateReport.Start(); - } - private void lpcSoftwareSetup_Click(object sender, EventArgs e) { - string strInputPwd = MyBase.InputBox("密码", "请输入密码 : ", "", "确定", "取消"); - if (strInputPwd.Contains("-999.999")) - { - return; - } - else if (strInputPwd == ConfigDfn.strPwd) + //string strInputPwd = MyBase.InputBox("密码", "请输入密码 : ", "", "确定", "取消"); + //if (strInputPwd.Contains("-999.999")) + //{ + // return; + //} + //else if (strInputPwd == ConfigDfn.strPwd) { FSoftwareSetup fss = new FSoftwareSetup(); fss.ShowDialog(this); } - else - { - MessageBox.Show("密码错误! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - } + //else + //{ + // MessageBox.Show("密码错误! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + //} } private void lpcToleranceSetup_Click(object sender, EventArgs e) { - string strInputPwd = MyBase.InputBox("密码", "请输入密码 : ", "", "确定", "取消"); - if (strInputPwd.Contains("-999.999")) + //string strInputPwd = MyBase.InputBox("密码", "请输入密码 : ", "", "确定", "取消"); + //if (strInputPwd.Contains("-999.999")) + //{ + // return; + //} + //else if (strInputPwd == ConfigDfn.strPwd) { - return; - } - else if (strInputPwd == ConfigDfn.strPwd) - { - FToleranceSetup fts = new FToleranceSetup(); + FConfigSetup fts = new FConfigSetup(); fts.ShowDialog(this); } - else - { - MessageBox.Show("密码错误! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - } + //else + //{ + // MessageBox.Show("密码错误! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + //} } private void lpcAboutSoftware_Click(object sender, EventArgs e) @@ -1136,6 +830,52 @@ namespace NSAnalysis } #endregion 按钮事件 + + private void StoreControlRatios(Control container) + { + foreach (Control ctrl in container.Controls) + { + // 存储位置比例 + originalRatios.Add(ctrl, + new PointF((float)ctrl.Left / container.Width, + (float)ctrl.Top / container.Height)); + + // 存储尺寸比例 + originalSizes.Add(ctrl, + new SizeF((float)ctrl.Width / container.Width, + (float)ctrl.Height / container.Height)); + + // 递归处理容器控件 + if (ctrl.HasChildren) StoreControlRatios(ctrl); + } + } + + private void ScaleControls(Control container) + { + foreach (var item in originalRatios) + { + if (!container.Controls.Contains(item.Key)) continue; + + // 调整位置 + item.Key.Left = (int)(container.Width * item.Value.X); + item.Key.Top = (int)(container.Height * item.Value.Y); + + // 调整大小 + if (originalSizes.TryGetValue(item.Key, out SizeF sizeRatio)) + { + item.Key.Width = (int)(container.Width * sizeRatio.Width); + item.Key.Height = (int)(container.Height * sizeRatio.Height); + } + + // 递归处理容器控件 + if (item.Key.HasChildren) ScaleControls(item.Key); + } + } + + private void FormMain_Resize(object sender, EventArgs e) + { + ScaleControls(this); + } } public class AnalysisResult diff --git a/Analysis/FormMain.designer.cs b/Analysis/FormMain.designer.cs index 801a313..d673d6a 100644 --- a/Analysis/FormMain.designer.cs +++ b/Analysis/FormMain.designer.cs @@ -35,17 +35,13 @@ namespace NSAnalysis System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend(); - System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series(); - System.Windows.Forms.DataVisualization.Charting.Title title1 = new System.Windows.Forms.DataVisualization.Charting.Title(); Telerik.WinControls.UI.RadListDataItem radListDataItem1 = new Telerik.WinControls.UI.RadListDataItem(); Telerik.WinControls.UI.RadListDataItem radListDataItem2 = new Telerik.WinControls.UI.RadListDataItem(); Telerik.WinControls.UI.RadListDataItem radListDataItem3 = new Telerik.WinControls.UI.RadListDataItem(); Telerik.WinControls.UI.RadListDataItem radListDataItem4 = new Telerik.WinControls.UI.RadListDataItem(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - System.Windows.Forms.DataVisualization.Charting.Series series2 = new System.Windows.Forms.DataVisualization.Charting.Series(); - System.Windows.Forms.DataVisualization.Charting.Title title2 = new System.Windows.Forms.DataVisualization.Charting.Title(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); + System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series(); + System.Windows.Forms.DataVisualization.Charting.Title title1 = new System.Windows.Forms.DataVisualization.Charting.Title(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); @@ -66,9 +62,22 @@ namespace NSAnalysis this.rleMessage = new Telerik.WinControls.UI.RadLabelElement(); this.RPV = new Telerik.WinControls.UI.RadPageView(); this.rpvpAnalysis = new Telerik.WinControls.UI.RadPageViewPage(); - this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.label4 = new System.Windows.Forms.Label(); - this.lbCSVFiles = new System.Windows.Forms.ListBox(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.labVIN = new System.Windows.Forms.Label(); + this.labCarType = new System.Windows.Forms.Label(); + this.labSumMeasureCount_L = new System.Windows.Forms.Label(); + this.label24 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.labRejectCount_L = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.labNGCount_L = new System.Windows.Forms.Label(); + this.labMeaTime_L = new System.Windows.Forms.Label(); + this.labOKCount_L = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label13 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.panel2 = new System.Windows.Forms.Panel(); this.dgvMeasureContent = new System.Windows.Forms.DataGridView(); this.PointName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.DimensionName = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -78,27 +87,8 @@ namespace NSAnalysis this.MeasureValue = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.MeasureDateTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Classification = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.splitContainer2 = new System.Windows.Forms.SplitContainer(); - this.labCarType = new System.Windows.Forms.Label(); - this.label24 = new System.Windows.Forms.Label(); - this.labSumMeasureCount = new System.Windows.Forms.Label(); - this.label13 = new System.Windows.Forms.Label(); - this.labRejectCount = new System.Windows.Forms.Label(); - this.label7 = new System.Windows.Forms.Label(); - this.pbResult = new System.Windows.Forms.PictureBox(); - this.labResult = new System.Windows.Forms.Label(); - this.label16 = new System.Windows.Forms.Label(); - this.labResultPercent = new System.Windows.Forms.Label(); - this.label14 = new System.Windows.Forms.Label(); - this.labMeaTime = new System.Windows.Forms.Label(); - this.label12 = new System.Windows.Forms.Label(); - this.labNGCount = new System.Windows.Forms.Label(); - this.label10 = new System.Windows.Forms.Label(); - this.labOKCount = new System.Windows.Forms.Label(); - this.label8 = new System.Windows.Forms.Label(); - this.labVIN = new System.Windows.Forms.Label(); - this.label5 = new System.Windows.Forms.Label(); - this.chartResultPie = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.panel1 = new System.Windows.Forms.Panel(); + this.lbCSVFiles = new System.Windows.Forms.ListBox(); this.rpvpSearch = new Telerik.WinControls.UI.RadPageViewPage(); this.pnlPage = new System.Windows.Forms.Panel(); this.rddlPageRecorderCount = new Telerik.WinControls.UI.RadDropDownList(); @@ -147,24 +137,16 @@ namespace NSAnalysis this.lpcSoftwareSetup = new UserControlClass.LabPictureControl(); this.lpcAboutSoftware = new UserControlClass.LabPictureControl(); this.tmSystem = new System.Windows.Forms.Timer(this.components); - this.tmrMonitorDBToCreateReport = new System.Windows.Forms.Timer(this.components); ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit(); this.radTitleBar1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.radStatusStrip1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.RPV)).BeginInit(); this.RPV.SuspendLayout(); this.rpvpAnalysis.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); - this.splitContainer1.Panel1.SuspendLayout(); - this.splitContainer1.Panel2.SuspendLayout(); - this.splitContainer1.SuspendLayout(); + this.groupBox4.SuspendLayout(); + this.panel2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dgvMeasureContent)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); - this.splitContainer2.Panel1.SuspendLayout(); - this.splitContainer2.Panel2.SuspendLayout(); - this.splitContainer2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pbResult)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.chartResultPie)).BeginInit(); + this.panel1.SuspendLayout(); this.rpvpSearch.SuspendLayout(); this.pnlPage.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.rddlPageRecorderCount)).BeginInit(); @@ -205,7 +187,7 @@ namespace NSAnalysis // this.radTitleBar1.RootElement.ApplyShapeToControl = true; this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); - this.radTitleBar1.Size = new System.Drawing.Size(1918, 40); + this.radTitleBar1.Size = new System.Drawing.Size(1546, 40); this.radTitleBar1.TabIndex = 0; this.radTitleBar1.TabStop = false; this.radTitleBar1.Text = "海克斯康间隙面差分析系统"; @@ -230,7 +212,7 @@ namespace NSAnalysis this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top; this.label2.AutoSize = true; this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image"))); - this.label2.Location = new System.Drawing.Point(793, -5); + this.label2.Location = new System.Drawing.Point(607, -5); this.label2.Name = "label2"; this.label2.Padding = new System.Windows.Forms.Padding(23, 15, 23, 15); this.label2.Size = new System.Drawing.Size(46, 52); @@ -242,11 +224,11 @@ namespace NSAnalysis this.labTitle.AutoSize = true; this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F); this.labTitle.ForeColor = System.Drawing.Color.White; - this.labTitle.Location = new System.Drawing.Point(835, 8); + this.labTitle.Location = new System.Drawing.Point(649, 8); this.labTitle.Name = "labTitle"; - this.labTitle.Size = new System.Drawing.Size(202, 25); + this.labTitle.Size = new System.Drawing.Size(240, 25); this.labTitle.TabIndex = 0; - this.labTitle.Text = "间隙面差数据分发软件"; + this.labTitle.Text = "间隙面差数据解析分发软件"; // // radStatusStrip1 // @@ -263,10 +245,10 @@ namespace NSAnalysis this.commandBarSeparator3, this.rleMessageText, this.rleMessage}); - this.radStatusStrip1.Location = new System.Drawing.Point(1, 1052); + this.radStatusStrip1.Location = new System.Drawing.Point(1, 1002); this.radStatusStrip1.Name = "radStatusStrip1"; this.radStatusStrip1.Padding = new System.Windows.Forms.Padding(0, 5, 0, 0); - this.radStatusStrip1.Size = new System.Drawing.Size(1918, 26); + this.radStatusStrip1.Size = new System.Drawing.Size(1535, 26); this.radStatusStrip1.TabIndex = 126; ((Telerik.WinControls.UI.RadStatusBarElement)(this.radStatusStrip1.GetChildAt(0))).Padding = new System.Windows.Forms.Padding(0, 5, 0, 0); ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radStatusStrip1.GetChildAt(0).GetChildAt(0))).LeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); @@ -352,7 +334,7 @@ namespace NSAnalysis this.RPV.Location = new System.Drawing.Point(1, 38); this.RPV.Name = "RPV"; this.RPV.SelectedPage = this.rpvpAnalysis; - this.RPV.Size = new System.Drawing.Size(1918, 1008); + this.RPV.Size = new System.Drawing.Size(1543, 958); this.RPV.TabIndex = 127; this.RPV.ViewMode = Telerik.WinControls.UI.PageViewMode.NavigationView; ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).DisplayMode = Telerik.WinControls.UI.NavigationViewDisplayModes.Compact; @@ -473,68 +455,207 @@ namespace NSAnalysis // this.rpvpAnalysis.AutoScroll = true; this.rpvpAnalysis.BackColor = System.Drawing.Color.Transparent; - this.rpvpAnalysis.Controls.Add(this.splitContainer1); + this.rpvpAnalysis.Controls.Add(this.groupBox4); + this.rpvpAnalysis.Controls.Add(this.panel2); + this.rpvpAnalysis.Controls.Add(this.panel1); this.rpvpAnalysis.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.rpvpAnalysis.Image = ((System.Drawing.Image)(resources.GetObject("rpvpAnalysis.Image"))); this.rpvpAnalysis.ItemSize = new System.Drawing.SizeF(46F, 46F); this.rpvpAnalysis.Location = new System.Drawing.Point(49, 35); this.rpvpAnalysis.Name = "rpvpAnalysis"; - this.rpvpAnalysis.Size = new System.Drawing.Size(1868, 972); + this.rpvpAnalysis.Size = new System.Drawing.Size(1493, 922); this.rpvpAnalysis.Text = " 分析主界面"; // - // splitContainer1 + // groupBox4 // - this.splitContainer1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer1.Location = new System.Drawing.Point(0, 0); - this.splitContainer1.Name = "splitContainer1"; + this.groupBox4.Controls.Add(this.labVIN); + this.groupBox4.Controls.Add(this.labCarType); + this.groupBox4.Controls.Add(this.labSumMeasureCount_L); + this.groupBox4.Controls.Add(this.label24); + this.groupBox4.Controls.Add(this.label10); + this.groupBox4.Controls.Add(this.labRejectCount_L); + this.groupBox4.Controls.Add(this.label5); + this.groupBox4.Controls.Add(this.labNGCount_L); + this.groupBox4.Controls.Add(this.labMeaTime_L); + this.groupBox4.Controls.Add(this.labOKCount_L); + this.groupBox4.Controls.Add(this.label7); + this.groupBox4.Controls.Add(this.label13); + this.groupBox4.Controls.Add(this.label8); + this.groupBox4.Controls.Add(this.label12); + this.groupBox4.ForeColor = System.Drawing.Color.White; + this.groupBox4.Location = new System.Drawing.Point(991, 255); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Size = new System.Drawing.Size(495, 361); + this.groupBox4.TabIndex = 199; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "解析概览"; // - // splitContainer1.Panel1 + // labVIN // - this.splitContainer1.Panel1.Controls.Add(this.label4); - this.splitContainer1.Panel1.Controls.Add(this.lbCSVFiles); - this.splitContainer1.Panel1.Controls.Add(this.dgvMeasureContent); + this.labVIN.AutoSize = true; + this.labVIN.Font = new System.Drawing.Font("微软雅黑", 13F); + this.labVIN.ForeColor = System.Drawing.Color.White; + this.labVIN.Location = new System.Drawing.Point(188, 48); + this.labVIN.Name = "labVIN"; + this.labVIN.Size = new System.Drawing.Size(215, 24); + this.labVIN.TabIndex = 200; + this.labVIN.Text = "LNNAJDDU1RDA00030"; // - // splitContainer1.Panel2 + // labCarType // - this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); - this.splitContainer1.Size = new System.Drawing.Size(1868, 972); - this.splitContainer1.SplitterDistance = 1128; - this.splitContainer1.TabIndex = 0; + this.labCarType.AutoSize = true; + this.labCarType.Font = new System.Drawing.Font("微软雅黑", 13F); + this.labCarType.ForeColor = System.Drawing.Color.White; + this.labCarType.Location = new System.Drawing.Point(188, 81); + this.labCarType.Name = "labCarType"; + this.labCarType.Size = new System.Drawing.Size(45, 24); + this.labCarType.TabIndex = 212; + this.labCarType.Text = "EH3"; // - // label4 + // labSumMeasureCount_L // - this.label4.AutoSize = true; - this.label4.Font = new System.Drawing.Font("微软雅黑", 12F); - this.label4.ForeColor = System.Drawing.Color.White; - this.label4.Location = new System.Drawing.Point(21, 14); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(233, 21); - this.label4.TabIndex = 175; - this.label4.Text = "等待读取的CSV报告文件列表:"; + this.labSumMeasureCount_L.AutoSize = true; + this.labSumMeasureCount_L.Font = new System.Drawing.Font("微软雅黑", 13F); + this.labSumMeasureCount_L.ForeColor = System.Drawing.Color.White; + this.labSumMeasureCount_L.Location = new System.Drawing.Point(188, 213); + this.labSumMeasureCount_L.Name = "labSumMeasureCount_L"; + this.labSumMeasureCount_L.Size = new System.Drawing.Size(32, 24); + this.labSumMeasureCount_L.TabIndex = 210; + this.labSumMeasureCount_L.Text = "54"; // - // lbCSVFiles + // label24 // - this.lbCSVFiles.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.lbCSVFiles.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.lbCSVFiles.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.lbCSVFiles.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.lbCSVFiles.ForeColor = System.Drawing.Color.White; - this.lbCSVFiles.FormattingEnabled = true; - this.lbCSVFiles.ItemHeight = 19; - this.lbCSVFiles.Location = new System.Drawing.Point(19, 39); - this.lbCSVFiles.Name = "lbCSVFiles"; - this.lbCSVFiles.Size = new System.Drawing.Size(1084, 173); - this.lbCSVFiles.TabIndex = 174; + this.label24.Font = new System.Drawing.Font("微软雅黑", 13F); + this.label24.ForeColor = System.Drawing.Color.White; + this.label24.Location = new System.Drawing.Point(30, 80); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(155, 24); + this.label24.TabIndex = 211; + this.label24.Text = "车辆类型 : "; + this.label24.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // label10 + // + this.label10.Font = new System.Drawing.Font("微软雅黑", 13F); + this.label10.ForeColor = System.Drawing.Color.White; + this.label10.Location = new System.Drawing.Point(17, 146); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(169, 24); + this.label10.TabIndex = 203; + this.label10.Text = "不合格测量项数 : "; + this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // labRejectCount_L + // + this.labRejectCount_L.AutoSize = true; + this.labRejectCount_L.Font = new System.Drawing.Font("微软雅黑", 13F); + this.labRejectCount_L.ForeColor = System.Drawing.Color.White; + this.labRejectCount_L.Location = new System.Drawing.Point(188, 180); + this.labRejectCount_L.Name = "labRejectCount_L"; + this.labRejectCount_L.Size = new System.Drawing.Size(21, 24); + this.labRejectCount_L.TabIndex = 208; + this.labRejectCount_L.Text = "2"; + // + // label5 + // + this.label5.Font = new System.Drawing.Font("微软雅黑", 13F); + this.label5.ForeColor = System.Drawing.Color.White; + this.label5.Location = new System.Drawing.Point(33, 47); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(152, 24); + this.label5.TabIndex = 199; + this.label5.Text = "车身编号 : "; + this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // labNGCount_L + // + this.labNGCount_L.AutoSize = true; + this.labNGCount_L.Font = new System.Drawing.Font("微软雅黑", 13F); + this.labNGCount_L.ForeColor = System.Drawing.Color.White; + this.labNGCount_L.Location = new System.Drawing.Point(188, 147); + this.labNGCount_L.Name = "labNGCount_L"; + this.labNGCount_L.Size = new System.Drawing.Size(21, 24); + this.labNGCount_L.TabIndex = 204; + this.labNGCount_L.Text = "7"; + // + // labMeaTime_L + // + this.labMeaTime_L.AutoSize = true; + this.labMeaTime_L.Font = new System.Drawing.Font("微软雅黑", 13F); + this.labMeaTime_L.ForeColor = System.Drawing.Color.White; + this.labMeaTime_L.Location = new System.Drawing.Point(188, 246); + this.labMeaTime_L.Name = "labMeaTime_L"; + this.labMeaTime_L.Size = new System.Drawing.Size(193, 24); + this.labMeaTime_L.TabIndex = 206; + this.labMeaTime_L.Text = "2023-06-01 12:23:33"; + // + // labOKCount_L + // + this.labOKCount_L.AutoSize = true; + this.labOKCount_L.Font = new System.Drawing.Font("微软雅黑", 13F); + this.labOKCount_L.ForeColor = System.Drawing.Color.White; + this.labOKCount_L.Location = new System.Drawing.Point(188, 114); + this.labOKCount_L.Name = "labOKCount_L"; + this.labOKCount_L.Size = new System.Drawing.Size(32, 24); + this.labOKCount_L.TabIndex = 202; + this.labOKCount_L.Text = "45"; + // + // label7 + // + this.label7.Font = new System.Drawing.Font("微软雅黑", 13F); + this.label7.ForeColor = System.Drawing.Color.White; + this.label7.Location = new System.Drawing.Point(13, 179); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(173, 24); + this.label7.TabIndex = 207; + this.label7.Text = "异常测量项数 : "; + this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // label13 + // + this.label13.Font = new System.Drawing.Font("微软雅黑", 13F); + this.label13.ForeColor = System.Drawing.Color.White; + this.label13.Location = new System.Drawing.Point(30, 212); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(155, 24); + this.label13.TabIndex = 209; + this.label13.Text = "测量总项数 : "; + this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // label8 + // + this.label8.Font = new System.Drawing.Font("微软雅黑", 13F); + this.label8.ForeColor = System.Drawing.Color.White; + this.label8.Location = new System.Drawing.Point(13, 113); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(173, 24); + this.label8.TabIndex = 201; + this.label8.Text = "合格测量项数 : "; + this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // label12 + // + this.label12.Font = new System.Drawing.Font("微软雅黑", 13F); + this.label12.ForeColor = System.Drawing.Color.White; + this.label12.Location = new System.Drawing.Point(21, 245); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(165, 24); + this.label12.TabIndex = 205; + this.label12.Text = "测量时间 : "; + this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // panel2 + // + this.panel2.Controls.Add(this.dgvMeasureContent); + this.panel2.Location = new System.Drawing.Point(3, 255); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(968, 664); + this.panel2.TabIndex = 216; // // dgvMeasureContent // this.dgvMeasureContent.AllowUserToAddRows = false; this.dgvMeasureContent.AllowUserToDeleteRows = false; - this.dgvMeasureContent.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); this.dgvMeasureContent.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); this.dgvMeasureContent.BorderStyle = System.Windows.Forms.BorderStyle.None; this.dgvMeasureContent.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; @@ -556,9 +677,10 @@ namespace NSAnalysis this.MeasureValue, this.MeasureDateTime, this.Classification}); + this.dgvMeasureContent.Dock = System.Windows.Forms.DockStyle.Fill; this.dgvMeasureContent.EnableHeadersVisualStyles = false; this.dgvMeasureContent.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(181)))), ((int)(((byte)(200))))); - this.dgvMeasureContent.Location = new System.Drawing.Point(21, 232); + this.dgvMeasureContent.Location = new System.Drawing.Point(0, 0); this.dgvMeasureContent.Name = "dgvMeasureContent"; this.dgvMeasureContent.ReadOnly = true; this.dgvMeasureContent.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; @@ -578,8 +700,8 @@ namespace NSAnalysis this.dgvMeasureContent.RowsDefaultCellStyle = dataGridViewCellStyle3; this.dgvMeasureContent.RowTemplate.DefaultCellStyle.Font = new System.Drawing.Font("Segoe UI", 10F); this.dgvMeasureContent.RowTemplate.Height = 38; - this.dgvMeasureContent.Size = new System.Drawing.Size(1082, 718); - this.dgvMeasureContent.TabIndex = 173; + this.dgvMeasureContent.Size = new System.Drawing.Size(968, 664); + this.dgvMeasureContent.TabIndex = 198; // // PointName // @@ -648,290 +770,29 @@ namespace NSAnalysis this.Classification.ReadOnly = true; this.Classification.Width = 150; // - // splitContainer2 + // panel1 // - this.splitContainer2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer2.Location = new System.Drawing.Point(0, 0); - this.splitContainer2.Name = "splitContainer2"; - this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal; + this.panel1.Controls.Add(this.lbCSVFiles); + this.panel1.Dock = System.Windows.Forms.DockStyle.Top; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(1493, 241); + this.panel1.TabIndex = 215; // - // splitContainer2.Panel1 + // lbCSVFiles // - this.splitContainer2.Panel1.Controls.Add(this.labCarType); - this.splitContainer2.Panel1.Controls.Add(this.label24); - this.splitContainer2.Panel1.Controls.Add(this.labSumMeasureCount); - this.splitContainer2.Panel1.Controls.Add(this.label13); - this.splitContainer2.Panel1.Controls.Add(this.labRejectCount); - this.splitContainer2.Panel1.Controls.Add(this.label7); - this.splitContainer2.Panel1.Controls.Add(this.pbResult); - this.splitContainer2.Panel1.Controls.Add(this.labResult); - this.splitContainer2.Panel1.Controls.Add(this.label16); - this.splitContainer2.Panel1.Controls.Add(this.labResultPercent); - this.splitContainer2.Panel1.Controls.Add(this.label14); - this.splitContainer2.Panel1.Controls.Add(this.labMeaTime); - this.splitContainer2.Panel1.Controls.Add(this.label12); - this.splitContainer2.Panel1.Controls.Add(this.labNGCount); - this.splitContainer2.Panel1.Controls.Add(this.label10); - this.splitContainer2.Panel1.Controls.Add(this.labOKCount); - this.splitContainer2.Panel1.Controls.Add(this.label8); - this.splitContainer2.Panel1.Controls.Add(this.labVIN); - this.splitContainer2.Panel1.Controls.Add(this.label5); - // - // splitContainer2.Panel2 - // - this.splitContainer2.Panel2.Controls.Add(this.chartResultPie); - this.splitContainer2.Size = new System.Drawing.Size(736, 972); - this.splitContainer2.SplitterDistance = 359; - this.splitContainer2.TabIndex = 0; - // - // labCarType - // - this.labCarType.AutoSize = true; - this.labCarType.Font = new System.Drawing.Font("微软雅黑", 13F); - this.labCarType.ForeColor = System.Drawing.Color.White; - this.labCarType.Location = new System.Drawing.Point(183, 60); - this.labCarType.Name = "labCarType"; - this.labCarType.Size = new System.Drawing.Size(45, 24); - this.labCarType.TabIndex = 194; - this.labCarType.Text = "EH3"; - // - // label24 - // - this.label24.Font = new System.Drawing.Font("微软雅黑", 13F); - this.label24.ForeColor = System.Drawing.Color.White; - this.label24.Location = new System.Drawing.Point(25, 59); - this.label24.Name = "label24"; - this.label24.Size = new System.Drawing.Size(155, 24); - this.label24.TabIndex = 193; - this.label24.Text = "车辆类型 : "; - this.label24.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // labSumMeasureCount - // - this.labSumMeasureCount.AutoSize = true; - this.labSumMeasureCount.Font = new System.Drawing.Font("微软雅黑", 13F); - this.labSumMeasureCount.ForeColor = System.Drawing.Color.White; - this.labSumMeasureCount.Location = new System.Drawing.Point(183, 209); - this.labSumMeasureCount.Name = "labSumMeasureCount"; - this.labSumMeasureCount.Size = new System.Drawing.Size(32, 24); - this.labSumMeasureCount.TabIndex = 192; - this.labSumMeasureCount.Text = "54"; - // - // label13 - // - this.label13.Font = new System.Drawing.Font("微软雅黑", 13F); - this.label13.ForeColor = System.Drawing.Color.White; - this.label13.Location = new System.Drawing.Point(25, 208); - this.label13.Name = "label13"; - this.label13.Size = new System.Drawing.Size(155, 24); - this.label13.TabIndex = 191; - this.label13.Text = "测量总项数 : "; - this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // labRejectCount - // - this.labRejectCount.AutoSize = true; - this.labRejectCount.Font = new System.Drawing.Font("微软雅黑", 13F); - this.labRejectCount.ForeColor = System.Drawing.Color.White; - this.labRejectCount.Location = new System.Drawing.Point(183, 171); - this.labRejectCount.Name = "labRejectCount"; - this.labRejectCount.Size = new System.Drawing.Size(21, 24); - this.labRejectCount.TabIndex = 190; - this.labRejectCount.Text = "2"; - // - // label7 - // - this.label7.Font = new System.Drawing.Font("微软雅黑", 13F); - this.label7.ForeColor = System.Drawing.Color.White; - this.label7.Location = new System.Drawing.Point(8, 170); - this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(173, 24); - this.label7.TabIndex = 189; - this.label7.Text = "异常测量项数 : "; - this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // pbResult - // - this.pbResult.Location = new System.Drawing.Point(410, 22); - this.pbResult.Name = "pbResult"; - this.pbResult.Size = new System.Drawing.Size(304, 313); - this.pbResult.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; - this.pbResult.TabIndex = 188; - this.pbResult.TabStop = false; - // - // labResult - // - this.labResult.AutoSize = true; - this.labResult.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold); - this.labResult.ForeColor = System.Drawing.Color.Lime; - this.labResult.Location = new System.Drawing.Point(183, 311); - this.labResult.Name = "labResult"; - this.labResult.Size = new System.Drawing.Size(62, 31); - this.labResult.TabIndex = 187; - this.labResult.Text = "合格"; - // - // label16 - // - this.label16.AutoSize = true; - this.label16.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold); - this.label16.ForeColor = System.Drawing.Color.White; - this.label16.Location = new System.Drawing.Point(54, 311); - this.label16.Name = "label16"; - this.label16.Size = new System.Drawing.Size(131, 31); - this.label16.TabIndex = 186; - this.label16.Text = "测量结果 : "; - // - // labResultPercent - // - this.labResultPercent.AutoSize = true; - this.labResultPercent.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold); - this.labResultPercent.ForeColor = System.Drawing.Color.Lime; - this.labResultPercent.Location = new System.Drawing.Point(183, 275); - this.labResultPercent.Name = "labResultPercent"; - this.labResultPercent.Size = new System.Drawing.Size(118, 31); - this.labResultPercent.TabIndex = 185; - this.labResultPercent.Text = "80.316%"; - // - // label14 - // - this.label14.AutoSize = true; - this.label14.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold); - this.label14.ForeColor = System.Drawing.Color.White; - this.label14.Location = new System.Drawing.Point(78, 273); - this.label14.Name = "label14"; - this.label14.Size = new System.Drawing.Size(107, 31); - this.label14.TabIndex = 184; - this.label14.Text = "合格率 : "; - // - // labMeaTime - // - this.labMeaTime.AutoSize = true; - this.labMeaTime.Font = new System.Drawing.Font("微软雅黑", 13F); - this.labMeaTime.ForeColor = System.Drawing.Color.White; - this.labMeaTime.Location = new System.Drawing.Point(183, 242); - this.labMeaTime.Name = "labMeaTime"; - this.labMeaTime.Size = new System.Drawing.Size(193, 24); - this.labMeaTime.TabIndex = 183; - this.labMeaTime.Text = "2023-06-01 12:23:33"; - // - // label12 - // - this.label12.Font = new System.Drawing.Font("微软雅黑", 13F); - this.label12.ForeColor = System.Drawing.Color.White; - this.label12.Location = new System.Drawing.Point(16, 242); - this.label12.Name = "label12"; - this.label12.Size = new System.Drawing.Size(165, 24); - this.label12.TabIndex = 182; - this.label12.Text = "测量时间 : "; - this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // labNGCount - // - this.labNGCount.AutoSize = true; - this.labNGCount.Font = new System.Drawing.Font("微软雅黑", 13F); - this.labNGCount.ForeColor = System.Drawing.Color.White; - this.labNGCount.Location = new System.Drawing.Point(183, 134); - this.labNGCount.Name = "labNGCount"; - this.labNGCount.Size = new System.Drawing.Size(21, 24); - this.labNGCount.TabIndex = 181; - this.labNGCount.Text = "7"; - // - // label10 - // - this.label10.Font = new System.Drawing.Font("微软雅黑", 13F); - this.label10.ForeColor = System.Drawing.Color.White; - this.label10.Location = new System.Drawing.Point(12, 133); - this.label10.Name = "label10"; - this.label10.Size = new System.Drawing.Size(169, 24); - this.label10.TabIndex = 180; - this.label10.Text = "不合格测量项数 : "; - this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // labOKCount - // - this.labOKCount.AutoSize = true; - this.labOKCount.Font = new System.Drawing.Font("微软雅黑", 13F); - this.labOKCount.ForeColor = System.Drawing.Color.White; - this.labOKCount.Location = new System.Drawing.Point(183, 98); - this.labOKCount.Name = "labOKCount"; - this.labOKCount.Size = new System.Drawing.Size(32, 24); - this.labOKCount.TabIndex = 179; - this.labOKCount.Text = "45"; - // - // label8 - // - this.label8.Font = new System.Drawing.Font("微软雅黑", 13F); - this.label8.ForeColor = System.Drawing.Color.White; - this.label8.Location = new System.Drawing.Point(8, 97); - this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(173, 24); - this.label8.TabIndex = 178; - this.label8.Text = "合格测量项数 : "; - this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // labVIN - // - this.labVIN.AutoSize = true; - this.labVIN.Font = new System.Drawing.Font("微软雅黑", 13F); - this.labVIN.ForeColor = System.Drawing.Color.White; - this.labVIN.Location = new System.Drawing.Point(183, 25); - this.labVIN.Name = "labVIN"; - this.labVIN.Size = new System.Drawing.Size(215, 24); - this.labVIN.TabIndex = 177; - this.labVIN.Text = "LNNAJDDU1RDA00030"; - // - // label5 - // - this.label5.Font = new System.Drawing.Font("微软雅黑", 13F); - this.label5.ForeColor = System.Drawing.Color.White; - this.label5.Location = new System.Drawing.Point(29, 24); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(152, 24); - this.label5.TabIndex = 176; - this.label5.Text = "车身编号 : "; - this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // chartResultPie - // - this.chartResultPie.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) + this.lbCSVFiles.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.chartResultPie.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - chartArea1.Name = "ChartArea1"; - this.chartResultPie.ChartAreas.Add(chartArea1); - legend1.Alignment = System.Drawing.StringAlignment.Center; - legend1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - legend1.Docking = System.Windows.Forms.DataVisualization.Charting.Docking.Bottom; - legend1.Font = new System.Drawing.Font("Segoe UI", 10F); - legend1.ForeColor = System.Drawing.Color.White; - legend1.IsTextAutoFit = false; - legend1.Name = "Legend1"; - legend1.TitleForeColor = System.Drawing.Color.White; - this.chartResultPie.Legends.Add(legend1); - this.chartResultPie.Location = new System.Drawing.Point(3, 3); - this.chartResultPie.Name = "chartResultPie"; - this.chartResultPie.Palette = System.Windows.Forms.DataVisualization.Charting.ChartColorPalette.None; - this.chartResultPie.PaletteCustomColors = new System.Drawing.Color[] { - System.Drawing.Color.Green, - System.Drawing.Color.Orange, - System.Drawing.Color.Red}; - series1.ChartArea = "ChartArea1"; - series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Pie; - series1.Font = new System.Drawing.Font("微软雅黑", 10F); - series1.LabelForeColor = System.Drawing.Color.White; - series1.Legend = "Legend1"; - series1.Name = "Series1"; - this.chartResultPie.Series.Add(series1); - this.chartResultPie.Size = new System.Drawing.Size(728, 584); - this.chartResultPie.TabIndex = 0; - this.chartResultPie.Text = "chartFPY"; - title1.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - title1.ForeColor = System.Drawing.Color.White; - title1.Name = "Title1"; - title1.Text = "合格率"; - this.chartResultPie.Titles.Add(title1); + this.lbCSVFiles.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.lbCSVFiles.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.lbCSVFiles.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.lbCSVFiles.ForeColor = System.Drawing.Color.White; + this.lbCSVFiles.FormattingEnabled = true; + this.lbCSVFiles.ItemHeight = 19; + this.lbCSVFiles.Location = new System.Drawing.Point(3, 4); + this.lbCSVFiles.Name = "lbCSVFiles"; + this.lbCSVFiles.Size = new System.Drawing.Size(1483, 230); + this.lbCSVFiles.TabIndex = 198; // // rpvpSearch // @@ -945,7 +806,7 @@ namespace NSAnalysis this.rpvpSearch.ItemSize = new System.Drawing.SizeF(46F, 46F); this.rpvpSearch.Location = new System.Drawing.Point(49, 35); this.rpvpSearch.Name = "rpvpSearch"; - this.rpvpSearch.Size = new System.Drawing.Size(1868, 972); + this.rpvpSearch.Size = new System.Drawing.Size(1493, 922); this.rpvpSearch.Text = " 查询界面"; // // pnlPage @@ -959,9 +820,9 @@ namespace NSAnalysis this.pnlPage.Controls.Add(this.labSumRecorders); this.pnlPage.Controls.Add(this.labSumPages); this.pnlPage.Controls.Add(this.labCurrentPage); - this.pnlPage.Location = new System.Drawing.Point(29, 930); + this.pnlPage.Location = new System.Drawing.Point(1, 881); this.pnlPage.Name = "pnlPage"; - this.pnlPage.Size = new System.Drawing.Size(1205, 42); + this.pnlPage.Size = new System.Drawing.Size(1159, 42); this.pnlPage.TabIndex = 177; // // rddlPageRecorderCount @@ -1197,7 +1058,7 @@ namespace NSAnalysis this.labSearchResult.BackColor = System.Drawing.Color.Transparent; this.labSearchResult.Font = new System.Drawing.Font("Segoe UI", 12F); this.labSearchResult.ForeColor = System.Drawing.Color.Red; - this.labSearchResult.Location = new System.Drawing.Point(417, 484); + this.labSearchResult.Location = new System.Drawing.Point(273, 459); this.labSearchResult.Name = "labSearchResult"; this.labSearchResult.Size = new System.Drawing.Size(452, 21); this.labSearchResult.TabIndex = 176; @@ -1222,9 +1083,9 @@ namespace NSAnalysis this.radGroupBox1.Font = new System.Drawing.Font("Segoe UI", 12F); this.radGroupBox1.ForeColor = System.Drawing.Color.White; this.radGroupBox1.HeaderText = "查询条件"; - this.radGroupBox1.Location = new System.Drawing.Point(29, 29); + this.radGroupBox1.Location = new System.Drawing.Point(3, 3); this.radGroupBox1.Name = "radGroupBox1"; - this.radGroupBox1.Size = new System.Drawing.Size(1807, 86); + this.radGroupBox1.Size = new System.Drawing.Size(1520, 86); this.radGroupBox1.TabIndex = 20; this.radGroupBox1.Text = "查询条件"; ((Telerik.WinControls.UI.RadGroupBoxElement)(this.radGroupBox1.GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(158)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); @@ -1247,7 +1108,7 @@ namespace NSAnalysis this.rtbPartID.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.rtbPartID.Font = new System.Drawing.Font("Segoe UI", 12F); this.rtbPartID.ForeColor = System.Drawing.Color.White; - this.rtbPartID.Location = new System.Drawing.Point(183, 37); + this.rtbPartID.Location = new System.Drawing.Point(106, 37); this.rtbPartID.MaxLength = 50; this.rtbPartID.Name = "rtbPartID"; this.rtbPartID.Size = new System.Drawing.Size(192, 27); @@ -1262,7 +1123,7 @@ namespace NSAnalysis this.rbtSelectFPY.Font = new System.Drawing.Font("Segoe UI", 12F); this.rbtSelectFPY.ForeColor = System.Drawing.Color.White; this.rbtSelectFPY.Image = global::NSAnalysis.Properties.Resources.search16; - this.rbtSelectFPY.Location = new System.Drawing.Point(1357, 28); + this.rbtSelectFPY.Location = new System.Drawing.Point(1127, 30); this.rbtSelectFPY.Name = "rbtSelectFPY"; this.rbtSelectFPY.Size = new System.Drawing.Size(146, 40); this.rbtSelectFPY.TabIndex = 8; @@ -1285,12 +1146,11 @@ namespace NSAnalysis this.rbtnExportCSVReport.Font = new System.Drawing.Font("Segoe UI", 12F); this.rbtnExportCSVReport.ForeColor = System.Drawing.Color.White; this.rbtnExportCSVReport.Image = global::NSAnalysis.Properties.Resources.export; - this.rbtnExportCSVReport.Location = new System.Drawing.Point(1584, 27); + this.rbtnExportCSVReport.Location = new System.Drawing.Point(1293, 30); this.rbtnExportCSVReport.Name = "rbtnExportCSVReport"; this.rbtnExportCSVReport.Size = new System.Drawing.Size(144, 40); this.rbtnExportCSVReport.TabIndex = 8; this.rbtnExportCSVReport.Text = "导出CSV报告"; - this.rbtnExportCSVReport.Visible = false; this.rbtnExportCSVReport.Click += new System.EventHandler(this.rbtnExportCSVReport_Click); this.rbtnExportCSVReport.MouseLeave += new System.EventHandler(this.btn_MouseLeave); this.rbtnExportCSVReport.MouseHover += new System.EventHandler(this.btn_MouseHover); @@ -1307,14 +1167,14 @@ namespace NSAnalysis this.rdtpStartTime.Anchor = System.Windows.Forms.AnchorStyles.Top; this.rdtpStartTime.Font = new System.Drawing.Font("Segoe UI", 12F); this.rdtpStartTime.ForeColor = System.Drawing.Color.White; - this.rdtpStartTime.Location = new System.Drawing.Point(545, 37); - this.rdtpStartTime.MinDate = new System.DateTime(2023, 6, 1, 0, 0, 0, 0); + this.rdtpStartTime.Location = new System.Drawing.Point(446, 37); + this.rdtpStartTime.MinDate = new System.DateTime(2020, 1, 1, 0, 0, 0, 0); this.rdtpStartTime.Name = "rdtpStartTime"; this.rdtpStartTime.Size = new System.Drawing.Size(140, 27); this.rdtpStartTime.TabIndex = 39; this.rdtpStartTime.TabStop = false; - this.rdtpStartTime.Text = "2023年6月1日"; - this.rdtpStartTime.Value = new System.DateTime(2023, 6, 1, 0, 0, 0, 0); + this.rdtpStartTime.Text = "2020年5月1日"; + this.rdtpStartTime.Value = new System.DateTime(2020, 5, 1, 0, 0, 0, 0); ((Telerik.WinControls.UI.RadDateTimePickerElement)(this.rdtpStartTime.GetChildAt(0))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); ((Telerik.WinControls.UI.RadDateTimePickerElement)(this.rdtpStartTime.GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); @@ -1352,7 +1212,7 @@ namespace NSAnalysis ((Telerik.WinControls.Primitives.CheckPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(2))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - ((Telerik.WinControls.UI.RadMaskedEditBoxElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1))).Text = "2023年6月1日"; + ((Telerik.WinControls.UI.RadMaskedEditBoxElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1))).Text = "2020年5月1日"; ((Telerik.WinControls.UI.RadMaskedEditBoxElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); ((Telerik.WinControls.UI.RadMaskedEditBoxElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); ((Telerik.WinControls.UI.RadMaskedEditBoxElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); @@ -1387,7 +1247,7 @@ namespace NSAnalysis this.rdtpEndTime.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); this.rdtpEndTime.Font = new System.Drawing.Font("Segoe UI", 12F); this.rdtpEndTime.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.rdtpEndTime.Location = new System.Drawing.Point(896, 37); + this.rdtpEndTime.Location = new System.Drawing.Point(797, 37); this.rdtpEndTime.MinDate = new System.DateTime(2023, 6, 1, 0, 0, 0, 0); this.rdtpEndTime.Name = "rdtpEndTime"; this.rdtpEndTime.Size = new System.Drawing.Size(140, 27); @@ -1468,7 +1328,7 @@ namespace NSAnalysis this.rbtnSearchMeaserData.Font = new System.Drawing.Font("Segoe UI", 12F); this.rbtnSearchMeaserData.ForeColor = System.Drawing.Color.White; this.rbtnSearchMeaserData.Image = global::NSAnalysis.Properties.Resources.search16; - this.rbtnSearchMeaserData.Location = new System.Drawing.Point(1142, 28); + this.rbtnSearchMeaserData.Location = new System.Drawing.Point(967, 30); this.rbtnSearchMeaserData.Name = "rbtnSearchMeaserData"; this.rbtnSearchMeaserData.Size = new System.Drawing.Size(139, 40); this.rbtnSearchMeaserData.TabIndex = 7; @@ -1489,7 +1349,7 @@ namespace NSAnalysis this.radLabel15.Anchor = System.Windows.Forms.AnchorStyles.Top; this.radLabel15.Font = new System.Drawing.Font("Segoe UI", 12F); this.radLabel15.ForeColor = System.Drawing.Color.White; - this.radLabel15.Location = new System.Drawing.Point(800, 38); + this.radLabel15.Location = new System.Drawing.Point(701, 38); this.radLabel15.Name = "radLabel15"; this.radLabel15.Size = new System.Drawing.Size(94, 25); this.radLabel15.TabIndex = 36; @@ -1500,7 +1360,7 @@ namespace NSAnalysis this.radLabel1.Anchor = System.Windows.Forms.AnchorStyles.Top; this.radLabel1.Font = new System.Drawing.Font("Segoe UI", 12F); this.radLabel1.ForeColor = System.Drawing.Color.White; - this.radLabel1.Location = new System.Drawing.Point(449, 39); + this.radLabel1.Location = new System.Drawing.Point(350, 38); this.radLabel1.Name = "radLabel1"; this.radLabel1.Size = new System.Drawing.Size(94, 25); this.radLabel1.TabIndex = 34; @@ -1511,7 +1371,7 @@ namespace NSAnalysis this.radLabel11.Anchor = System.Windows.Forms.AnchorStyles.Top; this.radLabel11.Font = new System.Drawing.Font("Segoe UI", 12F); this.radLabel11.ForeColor = System.Drawing.Color.White; - this.radLabel11.Location = new System.Drawing.Point(92, 37); + this.radLabel11.Location = new System.Drawing.Point(15, 38); this.radLabel11.Name = "radLabel11"; this.radLabel11.Size = new System.Drawing.Size(94, 25); this.radLabel11.TabIndex = 28; @@ -1523,43 +1383,43 @@ namespace NSAnalysis | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.chartFPYLine.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - chartArea2.AxisX.LabelStyle.ForeColor = System.Drawing.Color.White; - chartArea2.AxisX.LineColor = System.Drawing.Color.White; - chartArea2.AxisX.MajorGrid.LineColor = System.Drawing.Color.White; - chartArea2.AxisX.MajorGrid.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.NotSet; - chartArea2.AxisX.MajorTickMark.LineColor = System.Drawing.Color.White; - chartArea2.AxisX.MinorGrid.LineColor = System.Drawing.Color.White; - chartArea2.AxisX.MinorTickMark.LineColor = System.Drawing.Color.White; - chartArea2.AxisX.TitleForeColor = System.Drawing.Color.White; - chartArea2.AxisY.LabelStyle.ForeColor = System.Drawing.Color.White; - chartArea2.AxisY.LineColor = System.Drawing.Color.White; - chartArea2.AxisY.MajorGrid.LineColor = System.Drawing.Color.White; - chartArea2.AxisY.MajorGrid.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Dash; - chartArea2.AxisY.MajorTickMark.LineColor = System.Drawing.Color.White; - chartArea2.AxisY.MinorGrid.LineColor = System.Drawing.Color.White; - chartArea2.AxisY.MinorTickMark.LineColor = System.Drawing.Color.White; - chartArea2.AxisY.TitleForeColor = System.Drawing.Color.White; - chartArea2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - chartArea2.Name = "ChartArea1"; - this.chartFPYLine.ChartAreas.Add(chartArea2); - this.chartFPYLine.Location = new System.Drawing.Point(1240, 127); + chartArea1.AxisX.LabelStyle.ForeColor = System.Drawing.Color.White; + chartArea1.AxisX.LineColor = System.Drawing.Color.White; + chartArea1.AxisX.MajorGrid.LineColor = System.Drawing.Color.White; + chartArea1.AxisX.MajorGrid.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.NotSet; + chartArea1.AxisX.MajorTickMark.LineColor = System.Drawing.Color.White; + chartArea1.AxisX.MinorGrid.LineColor = System.Drawing.Color.White; + chartArea1.AxisX.MinorTickMark.LineColor = System.Drawing.Color.White; + chartArea1.AxisX.TitleForeColor = System.Drawing.Color.White; + chartArea1.AxisY.LabelStyle.ForeColor = System.Drawing.Color.White; + chartArea1.AxisY.LineColor = System.Drawing.Color.White; + chartArea1.AxisY.MajorGrid.LineColor = System.Drawing.Color.White; + chartArea1.AxisY.MajorGrid.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Dash; + chartArea1.AxisY.MajorTickMark.LineColor = System.Drawing.Color.White; + chartArea1.AxisY.MinorGrid.LineColor = System.Drawing.Color.White; + chartArea1.AxisY.MinorTickMark.LineColor = System.Drawing.Color.White; + chartArea1.AxisY.TitleForeColor = System.Drawing.Color.White; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + chartArea1.Name = "ChartArea1"; + this.chartFPYLine.ChartAreas.Add(chartArea1); + this.chartFPYLine.Location = new System.Drawing.Point(1166, 95); this.chartFPYLine.Name = "chartFPYLine"; - series2.BorderWidth = 3; - series2.ChartArea = "ChartArea1"; - series2.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; - series2.Color = System.Drawing.Color.Lime; - series2.MarkerSize = 9; - series2.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.Circle; - series2.Name = "Series1"; - this.chartFPYLine.Series.Add(series2); - this.chartFPYLine.Size = new System.Drawing.Size(596, 517); + series1.BorderWidth = 3; + series1.ChartArea = "ChartArea1"; + series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; + series1.Color = System.Drawing.Color.Lime; + series1.MarkerSize = 9; + series1.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.Circle; + series1.Name = "Series1"; + this.chartFPYLine.Series.Add(series1); + this.chartFPYLine.Size = new System.Drawing.Size(327, 219); this.chartFPYLine.TabIndex = 77; this.chartFPYLine.Text = "chartFPY"; - title2.Font = new System.Drawing.Font("微软雅黑", 12F); - title2.ForeColor = System.Drawing.Color.White; - title2.Name = "Title1"; - title2.Text = "合格率"; - this.chartFPYLine.Titles.Add(title2); + title1.Font = new System.Drawing.Font("微软雅黑", 12F); + title1.ForeColor = System.Drawing.Color.White; + title1.Name = "Title1"; + title1.Text = "合格率"; + this.chartFPYLine.Titles.Add(title1); this.chartFPYLine.Visible = false; // // dgvSelectMeasureData @@ -1593,7 +1453,7 @@ namespace NSAnalysis this.MeasureItemResult}); this.dgvSelectMeasureData.EnableHeadersVisualStyles = false; this.dgvSelectMeasureData.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(181)))), ((int)(((byte)(200))))); - this.dgvSelectMeasureData.Location = new System.Drawing.Point(30, 126); + this.dgvSelectMeasureData.Location = new System.Drawing.Point(3, 95); this.dgvSelectMeasureData.Name = "dgvSelectMeasureData"; this.dgvSelectMeasureData.ReadOnly = true; this.dgvSelectMeasureData.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; @@ -1612,7 +1472,7 @@ namespace NSAnalysis dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); this.dgvSelectMeasureData.RowsDefaultCellStyle = dataGridViewCellStyle6; this.dgvSelectMeasureData.RowTemplate.Height = 37; - this.dgvSelectMeasureData.Size = new System.Drawing.Size(1204, 805); + this.dgvSelectMeasureData.Size = new System.Drawing.Size(1157, 776); this.dgvSelectMeasureData.TabIndex = 174; this.dgvSelectMeasureData.RowStateChanged += new System.Windows.Forms.DataGridViewRowStateChangedEventHandler(this.dgvSelectMeasureData_RowStateChanged); // @@ -1631,7 +1491,6 @@ namespace NSAnalysis this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1"; this.dataGridViewTextBoxColumn1.ReadOnly = true; this.dataGridViewTextBoxColumn1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; - this.dataGridViewTextBoxColumn1.Width = 150; // // dataGridViewTextBoxColumn2 // @@ -1688,7 +1547,7 @@ namespace NSAnalysis this.MeasureItemResult.HeaderText = "结果"; this.MeasureItemResult.Name = "MeasureItemResult"; this.MeasureItemResult.ReadOnly = true; - this.MeasureItemResult.Width = 120; + this.MeasureItemResult.Width = 50; // // dgvFPYResult // @@ -1720,7 +1579,7 @@ namespace NSAnalysis this.SMResult}); this.dgvFPYResult.EnableHeadersVisualStyles = false; this.dgvFPYResult.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(181)))), ((int)(((byte)(200))))); - this.dgvFPYResult.Location = new System.Drawing.Point(29, 126); + this.dgvFPYResult.Location = new System.Drawing.Point(3, 95); this.dgvFPYResult.Name = "dgvFPYResult"; this.dgvFPYResult.ReadOnly = true; this.dgvFPYResult.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; @@ -1740,7 +1599,7 @@ namespace NSAnalysis this.dgvFPYResult.RowsDefaultCellStyle = dataGridViewCellStyle9; this.dgvFPYResult.RowTemplate.Height = 37; this.dgvFPYResult.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; - this.dgvFPYResult.Size = new System.Drawing.Size(1205, 798); + this.dgvFPYResult.Size = new System.Drawing.Size(1141, 748); this.dgvFPYResult.TabIndex = 175; this.dgvFPYResult.Visible = false; this.dgvFPYResult.RowStateChanged += new System.Windows.Forms.DataGridViewRowStateChangedEventHandler(this.dgvFPYResult_RowStateChanged); @@ -1760,7 +1619,6 @@ namespace NSAnalysis this.dataGridViewTextBoxColumn10.Name = "dataGridViewTextBoxColumn10"; this.dataGridViewTextBoxColumn10.ReadOnly = true; this.dataGridViewTextBoxColumn10.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; - this.dataGridViewTextBoxColumn10.Width = 150; // // dataGridViewTextBoxColumn11 // @@ -1809,6 +1667,7 @@ namespace NSAnalysis this.SMResult.HeaderText = "结果"; this.SMResult.Name = "SMResult"; this.SMResult.ReadOnly = true; + this.SMResult.Width = 50; // // rpvpSetup // @@ -1821,7 +1680,7 @@ namespace NSAnalysis this.rpvpSetup.ItemSize = new System.Drawing.SizeF(46F, 46F); this.rpvpSetup.Location = new System.Drawing.Point(49, 35); this.rpvpSetup.Name = "rpvpSetup"; - this.rpvpSetup.Size = new System.Drawing.Size(1868, 972); + this.rpvpSetup.Size = new System.Drawing.Size(1493, 922); this.rpvpSetup.Text = " 软件设置"; // // lpcToleranceSetup @@ -1830,7 +1689,7 @@ namespace NSAnalysis this.lpcToleranceSetup.Font = new System.Drawing.Font("Segoe UI", 9.75F); this.lpcToleranceSetup.ForeColor = System.Drawing.Color.White; this.lpcToleranceSetup.LabelPoint = new System.Drawing.Point(3, 59); - this.lpcToleranceSetup.LabelText = "数据分发"; + this.lpcToleranceSetup.LabelText = "文件分发设置"; this.lpcToleranceSetup.LabelTopImage = global::NSAnalysis.Properties.Resources.Config; this.lpcToleranceSetup.Location = new System.Drawing.Point(166, 37); this.lpcToleranceSetup.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); @@ -1889,11 +1748,6 @@ namespace NSAnalysis this.tmSystem.Interval = 1000; this.tmSystem.Tick += new System.EventHandler(this.tmSystem_Tick); // - // tmrMonitorDBToCreateReport - // - this.tmrMonitorDBToCreateReport.Interval = 1000; - this.tmrMonitorDBToCreateReport.Tick += new System.EventHandler(this.tmrMonitorDBToCreateReport_Tick); - // // FormMain // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 13F); @@ -1901,7 +1755,7 @@ namespace NSAnalysis this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); this.BorderWidth = 0; - this.ClientSize = new System.Drawing.Size(1920, 1080); + this.ClientSize = new System.Drawing.Size(1548, 1039); this.Controls.Add(this.RPV); this.Controls.Add(this.radStatusStrip1); this.Controls.Add(this.radTitleBar1); @@ -1914,6 +1768,7 @@ namespace NSAnalysis this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormMain_FormClosing); this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FormMain_FormClosed); this.Load += new System.EventHandler(this.FormMain_Load); + this.Resize += new System.EventHandler(this.FormMain_Resize); ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit(); this.radTitleBar1.ResumeLayout(false); this.radTitleBar1.PerformLayout(); @@ -1921,19 +1776,11 @@ namespace NSAnalysis ((System.ComponentModel.ISupportInitialize)(this.RPV)).EndInit(); this.RPV.ResumeLayout(false); this.rpvpAnalysis.ResumeLayout(false); - this.splitContainer1.Panel1.ResumeLayout(false); - this.splitContainer1.Panel1.PerformLayout(); - this.splitContainer1.Panel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); - this.splitContainer1.ResumeLayout(false); + this.groupBox4.ResumeLayout(false); + this.groupBox4.PerformLayout(); + this.panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dgvMeasureContent)).EndInit(); - this.splitContainer2.Panel1.ResumeLayout(false); - this.splitContainer2.Panel1.PerformLayout(); - this.splitContainer2.Panel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); - this.splitContainer2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.pbResult)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.chartResultPie)).EndInit(); + this.panel1.ResumeLayout(false); this.rpvpSearch.ResumeLayout(false); this.rpvpSearch.PerformLayout(); this.pnlPage.ResumeLayout(false); @@ -1987,37 +1834,14 @@ namespace NSAnalysis private Telerik.WinControls.UI.RadLabel radLabel1; private Telerik.WinControls.UI.RadTextBox rtbPartID; private Telerik.WinControls.UI.RadLabel radLabel11; - private System.Windows.Forms.SplitContainer splitContainer1; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.ListBox lbCSVFiles; - public System.Windows.Forms.DataGridView dgvMeasureContent; - private System.Windows.Forms.SplitContainer splitContainer2; - private System.Windows.Forms.Label labResult; - private System.Windows.Forms.Label label16; - private System.Windows.Forms.Label labResultPercent; - private System.Windows.Forms.Label label14; - private System.Windows.Forms.Label labMeaTime; - private System.Windows.Forms.Label label12; - private System.Windows.Forms.Label labNGCount; - private System.Windows.Forms.Label label10; - private System.Windows.Forms.Label labOKCount; - private System.Windows.Forms.Label label8; - private System.Windows.Forms.Label labVIN; - private System.Windows.Forms.Label label5; - private System.Windows.Forms.DataVisualization.Charting.Chart chartResultPie; private Telerik.WinControls.UI.RadButton rbtnExportCSVReport; private System.Windows.Forms.DataVisualization.Charting.Chart chartFPYLine; private System.Windows.Forms.Timer tmSystem; - private System.Windows.Forms.PictureBox pbResult; - private System.Windows.Forms.Label labRejectCount; - private System.Windows.Forms.Label label7; public System.Windows.Forms.DataGridView dgvSelectMeasureData; public System.Windows.Forms.DataGridView dgvFPYResult; private Telerik.WinControls.UI.RadButton rbtSelectFPY; private LabPictureControl lpcAboutSoftware; private System.Windows.Forms.Label labSearchResult; - private System.Windows.Forms.Label labSumMeasureCount; - private System.Windows.Forms.Label label13; private System.Windows.Forms.Panel pnlPage; private Telerik.WinControls.UI.RadButton rbtnFirtstPage; private Telerik.WinControls.UI.RadButton rbtnLastPage; @@ -2028,23 +1852,30 @@ namespace NSAnalysis private System.Windows.Forms.Label labSumRecorders; private System.Windows.Forms.Label labSumPages; private System.Windows.Forms.Label labCurrentPage; - private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn9; - private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn10; - private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn11; - private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn12; - private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn13; - private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn14; - private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn16; - private System.Windows.Forms.DataGridViewTextBoxColumn SMResult; private Telerik.WinControls.UI.CommandBarSeparator commandBarSeparator4; private Telerik.WinControls.UI.RadLabelElement radLabelElement2; private Telerik.WinControls.UI.RadLabelElement rleReadCSVStatus; - private System.Windows.Forms.Label labCarType; - private System.Windows.Forms.Label label24; private LabPictureControl lpcShowLog; - private System.Windows.Forms.Timer tmrMonitorDBToCreateReport; private LabPictureControl lpcSoftwareSetup; private LabPictureControl lpcToleranceSetup; + private System.Windows.Forms.Label labCarType; + private System.Windows.Forms.Label label24; + private System.Windows.Forms.ListBox lbCSVFiles; + private System.Windows.Forms.Label labSumMeasureCount_L; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label labRejectCount_L; + private System.Windows.Forms.Label labVIN; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label labOKCount_L; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.Label labNGCount_L; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Label labMeaTime_L; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel2; + public System.Windows.Forms.DataGridView dgvMeasureContent; private System.Windows.Forms.DataGridViewTextBoxColumn PointName; private System.Windows.Forms.DataGridViewTextBoxColumn DimensionName; private System.Windows.Forms.DataGridViewTextBoxColumn NormalVal; @@ -2062,5 +1893,14 @@ namespace NSAnalysis private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6; private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7; private System.Windows.Forms.DataGridViewTextBoxColumn MeasureItemResult; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn9; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn10; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn11; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn12; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn13; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn14; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn16; + private System.Windows.Forms.DataGridViewTextBoxColumn SMResult; + private System.Windows.Forms.GroupBox groupBox4; } } diff --git a/Analysis/FormMain.resx b/Analysis/FormMain.resx index 7878e21..52530a0 100644 --- a/Analysis/FormMain.resx +++ b/Analysis/FormMain.resx @@ -296,9 +296,6 @@ 17, 17 - - 128, 17 - 25 diff --git a/Analysis/NXSAnalysis.csproj b/Analysis/NXSAnalysis.csproj index be82f41..efcf897 100644 --- a/Analysis/NXSAnalysis.csproj +++ b/Analysis/NXSAnalysis.csproj @@ -69,8 +69,7 @@ true - - + HexagonTransparent.ico @@ -119,7 +118,7 @@ AboutSoftwareInfo.cs - + @@ -141,17 +140,17 @@ - + Form - - FAddTolerance.cs + + FAddConfig.cs - + Form - - FEditTolerance.cs + + FEditConfig.cs Form @@ -159,11 +158,11 @@ FSoftwareSetup.cs - + Form - - FToleranceSetup.cs + + FConfigSetup.cs Form @@ -193,17 +192,17 @@ Resources.resx True - - FAddTolerance.cs + + FAddConfig.cs - - FEditTolerance.cs + + FEditConfig.cs FSoftwareSetup.cs - - FToleranceSetup.cs + + FConfigSetup.cs ZSFDEMO.cs @@ -227,6 +226,7 @@ + diff --git a/Analysis/Program.cs b/Analysis/Program.cs index d2b8735..83825bf 100644 --- a/Analysis/Program.cs +++ b/Analysis/Program.cs @@ -1,6 +1,5 @@ using BaseFunction; using Microsoft.Win32; -using NSAnalysis; using System; using System.Diagnostics; using System.Runtime.InteropServices; @@ -83,50 +82,74 @@ namespace NSAnalysis #endregion 创建Log文件 - Application.Run(new FormMain()); - //FileSorter fileSorter = new FileSorter(); - //fileSorter.test(); - //if (gAuthorizationMode == 1) - // { - // MyBase.TraceWriteLine("Log in using the CLMS authorization."); + if (gAuthorizationMode == 1) + { + MyBase.TraceWriteLine("Log in using the CLMS authorization."); - // #region 检测CLMS + #region 检测CLMS - // /////1登陆验证 //验证内容为软件指纹文件中字符串,功能:使用MORCODE.DLL前验证使用软件是否正确,否则其他函数都不可正常调用 StringBuilder - // password = new - // StringBuilder("vravnhNYybkmDkHDPKhVIwbHMoqHktgqWHFkBTOUsZLLVLwaAOkPIFFoVffUnSqUkCApSxrWQmsKvYCdVUpZLOhuHshKFbUPezYYbyQCgUoHrFOaaLVSosAapdVagrfFSqDUzxCvVuSJodxkjBiCJdRUfhCIfyRzjLdTfkxtUHPYUHyQbzOaJFvdSbzLihYmuhLHFNUSbERcAFbnrvNQtZOCUSUnHFcySXzTbfqTgzeaWQrjoSTzEUYDkEUmqusV"); - // bool res = CLM_Login(password); if (!res) { MyBase.TraceWriteLine("CLMS Login - // Failed."); MessageBox.Show("CLMS Login fails. Please authorize the user first! ", - // "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } /////2检查许可 - // //该函数自动检查电脑中是否有当前软件的许可信息,过期/非本机电脑/其他软件 的许可证书都不会识别 res = CLM_Login_Scope(); if (!res) - // { //检查许可失败 MyBase.TraceWriteLine("CLMS check license failed! Please authorize the - // operation."); MessageBox.Show("The CLMS failed to check for permissions. Please - // authorize first! ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } - // //3获取许可模块是否可用 //输入模块ID验证模块可用性 UInt16 mod = (UInt16)gCLMSModeID;//模块ID UInt16 type = 0;//暂无定义 + /////1登陆验证 + //验证内容为软件指纹文件中字符串,功能:使用MORCODE.DLL前验证使用软件是否正确,否则其他函数都不可正常调用 + StringBuilder password = new StringBuilder("vravnhNYybkmDkHDPKhVIwbHMoqHktgqWHFkBTOUsZLLVLwaAOkPIFFoVffUnSqUkCApSxrWQmsKvYCdVUpZLOhuHshKFbUPezYYbyQCgUoHrFOaaLVSosAapdVagrfFSqDUzxCvVuSJodxkjBiCJdRUfhCIfyRzjLdTfkxtUHPYUHyQbzOaJFvdSbzLihYmuhLHFNUSbERcAFbnrvNQtZOCUSUnHFcySXzTbfqTgzeaWQrjoSTzEUYDkEUmqusV"); + bool res = CLM_Login(password); + if (!res) + { + MyBase.TraceWriteLine("CLMS Login Failed."); + MessageBox.Show("CLMS Login fails. Please authorize the user first! ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + /////2检查许可 + //该函数自动检查电脑中是否有当前软件的许可信息,过期/非本机电脑/其他软件 的许可证书都不会识别 + res = CLM_Login_Scope(); + if (!res) + { + //检查许可失败 + MyBase.TraceWriteLine("CLMS check license failed! Please authorize the operation."); + MessageBox.Show("The CLMS failed to check for permissions. Please authorize first! ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + //3获取许可模块是否可用 + //输入模块ID验证模块可用性 + UInt16 mod = (UInt16)gCLMSModeID;//模块ID + UInt16 type = 0;//暂无定义 - // res = CLM_ModuleIsLicensed(ref mod, ref type);//res true:可用 false:不可用 if (!res) { - // MyBase.TraceWriteLine("The CLMS module is unavailable!"); - // MessageBox.Show(mod.ToString() + " The CLMS module is unavailable!", "Error", - // MessageBoxButtons.OK, MessageBoxIcon.Error); return; } + res = CLM_ModuleIsLicensed(ref mod, ref type);//res true:可用 false:不可用 + if (!res) + { + MyBase.TraceWriteLine("The CLMS module is unavailable!"); + MessageBox.Show(mod.ToString() + " The CLMS module is unavailable!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } - // //4获取到期日期 int Year = 0, Month = 0, Day = 0; res = CLM_GetWarrantyExpiration(ref - // Month, ref Day, ref Year); if (!res) { //登陆验证失败 MyBase.TraceWriteLine("Login - // verification failed, authorization time is up, please contact Hexagon company for - // authorization! The maturity time is:" + Year.ToString() + "." + Month.ToString() + - // "." + Day.ToString()); MessageBox.Show("Login verification failed, authorization time - // is up, please contact Hexagon company for authorization! The maturity time is:" + - // Year.ToString() + "." + Month.ToString() + "." + Day.ToString(), "Error", - // MessageBoxButtons.OK, MessageBoxIcon.Error); return; } + //4获取到期日期 + int Year = 0, Month = 0, Day = 0; + res = CLM_GetWarrantyExpiration(ref Month, ref Day, ref Year); + if (!res) + { + //登陆验证失败 + MyBase.TraceWriteLine("Login verification failed, authorization time is up, please contact Hexagon company for authorization! The maturity time is:" + Year.ToString() + "." + Month.ToString() + "." + Day.ToString()); + MessageBox.Show("Login verification failed, authorization time is up, please contact Hexagon company for authorization! The maturity time is:" + Year.ToString() + "." + Month.ToString() + "." + Day.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } - // if (res) { ConfigDfn.strExpiredTime = Year.ToString() + "-" + Month.ToString() + "-" - // + Day.ToString(); } + if (res) + { + ConfigDfn.strExpiredTime = Year.ToString() + "-" + Month.ToString() + "-" + Day.ToString(); + } - // #endregion 检测CLMS + #endregion 检测CLMS - // Application.Run(new FormMain()); } else { MyBase.TraceWriteLine("Log in using the - // original authorization mode."); Licence.GetRegisterInfo(); Licence.Encryption_DLL(); } - } + Application.Run(new FormMain()); + } + else + { + MyBase.TraceWriteLine("Log in using the original authorization mode."); + Licence.GetRegisterInfo(); + Licence.Encryption_DLL(); + } + + } } public class Licence @@ -166,7 +189,7 @@ namespace NSAnalysis foreach (Process instance in processes) { string pro = instance.ProcessName; - if (pro.ToLower() == "cheryanalysis") + if (pro.ToLower() == "NSAnalysis") { Num++; } diff --git a/Analysis/backup/FormMain.cs b/Analysis/backup/FormMain.cs new file mode 100644 index 0000000..cbcb6a9 --- /dev/null +++ b/Analysis/backup/FormMain.cs @@ -0,0 +1,1181 @@ +using BaseFunction; + +using NSAnalysis.DAL; +using NSAnalysis.Model; +using NSAnalysis.Properties; + +using System; +using System.Data; +using System.Drawing; +using System.IO; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Telerik.WinControls; +using Telerik.WinControls.UI; + +namespace NSAnalysis +{ + public partial class FormMain : Telerik.WinControls.UI.ShapedForm + { + private Timer fileSortTimer = new Timer(); // 定时器,用于定时分发任务 + private FileSorter fileSorter = new FileSorter(); + + #region 全局变量 + + private int[] yValues = new int[3]; + private string[] xValues = new string[3]; + private DataTable dtCSVContent = new DataTable(); + + private CjlrDAL tmdal = new CjlrDAL(); + + private bool bReadCSVFlag = false; + + private int iLastMesureCount = 0; + + #region 分页全局变量 + + private DataTable PageTable = new DataTable(); + + /// + /// 每页记录数 + /// + public int pageSize = 20; + + /// + /// 总记录数 + /// + public int recordCount = 0; + + /// + /// 总页数 + /// + public int pageCount = 0; + + /// + /// 当前页 + /// + public int currentPage = 0; + + #endregion 分页全局变量 + + #endregion 全局变量 + + #region 主窗口事件 + + public FormMain() + { + InitializeComponent(); + SQLHelper.connStr = DatabaseDfn.SqlConnectStr(); + + //加载皮肤 + ThemeResolutionService.LoadPackageFile(ConfigDfn.strTheme); + this.ThemeName = ConfigDfn.strSkinName.Substring(0, ConfigDfn.strSkinName.Length - 5); + RPV.ThemeName = ConfigDfn.strSkinName.Substring(0, ConfigDfn.strSkinName.Length - 5); + } + + private void FormMain_Load(object sender, EventArgs e) + { + //初始化全局变量 + + MyBase.rleMessage = rleMessage; + rdtpStartTime.Text = DateTime.Now.ToString("yyyy-MM-dd"); + rdtpEndTime.Text = DateTime.Now.ToString("yyyy-MM-dd"); + + // 定时处理任务 + fileSortTimer.Interval = 10000; // 每60秒检查一次分发任务 + fileSortTimer.Tick += FileSortTimer_Tick; + fileSortTimer.Start(); + + // 订阅处理中事件 + fileSorter.OnFileParsed += FileSorter_OnFileParsed; + + + + //绑定按钮 + lpcSoftwareSetup.labPicture.Click += new EventHandler(lpcSoftwareSetup_Click); + lpcSoftwareSetup.labText.Click += new EventHandler(lpcSoftwareSetup_Click); + + lpcToleranceSetup.labPicture.Click += new EventHandler(lpcToleranceSetup_Click); + lpcToleranceSetup.labText.Click += new EventHandler(lpcToleranceSetup_Click); + + lpcAboutSoftware.labPicture.Click += new EventHandler(lpcAboutSoftware_Click); + lpcAboutSoftware.labText.Click += new EventHandler(lpcAboutSoftware_Click); + + lpcShowLog.labPicture.Click += new EventHandler(lpcShowLog_Click); + lpcShowLog.labText.Click += new EventHandler(lpcShowLog_Click); + + iLastMesureCount = tmdal.SelectTMeasureResultCount(); + + #region 清空信息 + + labVIN.Text = ""; + labOKCount.Text = ""; + labNGCount.Text = ""; + labRejectCount.Text = ""; + labSumMeasureCount.Text = ""; + labMeaTime.Text = ""; + labResultPercent.Text = ""; + labResult.Text = ""; + labCarType.Text = ""; + + #endregion 清空信息 + + InitTableColumns(); + + } + + private void InitTableColumns() + { + #region 测量数据表始化表 + + //创建虚拟表 + DataColumn column2 = new DataColumn("CarID", Type.GetType("System.String")); + DataColumn dcCarType = new DataColumn("CarType", Type.GetType("System.String")); + DataColumn column3 = new DataColumn("MeasPointName", Type.GetType("System.String")); + DataColumn column4 = new DataColumn("DimensionName", Type.GetType("System.String")); + DataColumn column5 = new DataColumn("NormalValue", Type.GetType("System.String")); + DataColumn column6 = new DataColumn("LowerTolVal", Type.GetType("System.String")); + DataColumn column7 = new DataColumn("UpperTolVal", Type.GetType("System.String")); + DataColumn column8 = new DataColumn("MeasureValue", Type.GetType("System.String")); + DataColumn column10 = new DataColumn("MeasureItemResult", Type.GetType("System.String")); + DataColumn column9 = new DataColumn("MeasureDate", Type.GetType("System.DateTime")); + DataColumn column1 = new DataColumn("Remark", Type.GetType("System.String")); + //将列添加到table表中 + + dtCSVContent.Columns.Add(column2); + dtCSVContent.Columns.Add(dcCarType); + dtCSVContent.Columns.Add(column3); + dtCSVContent.Columns.Add(column4); + dtCSVContent.Columns.Add(column5); + dtCSVContent.Columns.Add(column6); + dtCSVContent.Columns.Add(column7); + dtCSVContent.Columns.Add(column8); + dtCSVContent.Columns.Add(column10); + dtCSVContent.Columns.Add(column9); + dtCSVContent.Columns.Add(column1); + + #endregion 测量数据表始化表 + + #region 极差数据Table初始化 + + //创建虚拟表 + DataColumn dcCarID = new DataColumn("CarID", Type.GetType("System.String")); + DataColumn dcRangeName = new DataColumn("RangeName", Type.GetType("System.String")); + DataColumn dcRangeValue = new DataColumn("RangeValue", Type.GetType("System.String")); + DataColumn dcRangeLowUpp = new DataColumn("RangeLowUpp", Type.GetType("System.String")); + DataColumn dcResult = new DataColumn("Result", Type.GetType("System.String")); + DataColumn dcCreateTime = new DataColumn("CreateTime", Type.GetType("System.DateTime")); + DataColumn dcRemark = new DataColumn("Remark", Type.GetType("System.String")); + //将列添加到table表中 + + #endregion 极差数据Table初始化 + + #region 分页相关 + + //创建分页虚拟表 + DataColumn column11 = new DataColumn("CarID", Type.GetType("System.String")); + DataColumn column12 = new DataColumn("MeasPointName", Type.GetType("System.String")); + DataColumn column13 = new DataColumn("DimensionName", Type.GetType("System.String")); + DataColumn column14 = new DataColumn("NormalValue", Type.GetType("System.String")); + DataColumn column15 = new DataColumn("LowerTolVal", Type.GetType("System.String")); + DataColumn column16 = new DataColumn("UpperTolVal", Type.GetType("System.String")); + DataColumn column17 = new DataColumn("MeasureValue", Type.GetType("System.String")); + DataColumn column18 = new DataColumn("MeasureDate", Type.GetType("System.String")); + DataColumn column19 = new DataColumn("MeasureItemResult", Type.GetType("System.String")); + + //将列添加到table表中 + PageTable.Columns.Add(column11); + PageTable.Columns.Add(column12); + PageTable.Columns.Add(column13); + PageTable.Columns.Add(column14); + PageTable.Columns.Add(column15); + PageTable.Columns.Add(column16); + PageTable.Columns.Add(column17); + PageTable.Columns.Add(column18); + PageTable.Columns.Add(column19); + + labCurrentPage.Text = "当前页:" + currentPage.ToString(); //当前页 + labSumPages.Text = "共 " + pageCount.ToString() + " 页";//总页数 + labSumRecorders.Text = "总共 " + recordCount.ToString() + " 条记录";//总记录数 + rddlPageRecorderCount.SelectedIndex = 0; + + #endregion 分页相关 + } + + private void FormMain_FormClosing(object sender, FormClosingEventArgs e) + { + if (DialogResult.Yes == MessageBox.Show("警告:您确定要退出该软件系统吗?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)) + { + } + else + { + e.Cancel = true; + } + } + + private void FormMain_FormClosed(object sender, FormClosedEventArgs e) + { + MyBase.TraceWriteLine("-------------海克斯康面隙分析软件程序关闭---------------------"); + LogDebugDfn.strEndTime = DateTime.Now.ToString("yyyy.MM.dd HH-mm-ss"); + string CopyFileName = ConfigDfn.strFileFolder + "\\DebugFiles\\" + "Debug(" + LogDebugDfn.strStartTime + " To " + LogDebugDfn.strEndTime + ")" + ".txt"; + if (File.Exists(LogDebugDfn.strDebugFile)) + File.Copy(LogDebugDfn.strDebugFile, CopyFileName); + System.Environment.Exit(0); + } + + #endregion 主窗口事件 + + private void tmSystem_Tick(object sender, EventArgs e) + { + rleTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + if (ConfigDfn.iAnalysisCSVFlag == 1) + rleReadCSVStatus.ForeColor = bReadCSVFlag ? Color.Green : Color.White; + bReadCSVFlag = !bReadCSVFlag; + } + + private void FileSortTimer_Tick(object sender, EventArgs e) //分发定时器 + { + // 后台运行,避免阻塞UI + Task.Run(() => + { + try + { + fileSorter.ProcessFiles(); + } + catch (Exception ex) + { + MyBase.TraceWriteLine($"分发任务异常: {ex.Message}"); + } + }); + } + + private void DisplayMeasureData(string strCarID) + { + try + { + #region 左侧统计和饼图、合格率 + + MyBase.TraceWriteLine("正在查询车ID为:" + strCarID + " 的测量结果。"); + DataTable sampleData = tmdal.SelectMeasureResultByCarID(strCarID); + + AnalysisResult analysis = AnalysisResult.AnalyzeMeasureData(sampleData); + AnalysisResult.DisplayAnalysisResult(analysis); + + // 记录正在查询 + + //表格行数 + int dtRowCount = analysis.TotalCount; + //超差个数 + double OutCount = analysis.OutCount; + //Ok个数 + double OKCount = analysis.OKCount; + //异常个数 + double RejectedCount = analysis.RejectedCount; + //合格率 + double FPYPercent = analysis.FPYPercent; + + labVIN.Text = strCarID; + labCarType.Text = ConfigDfn.strCarModel; + TMeasureResultModel tmrm = new TMeasureResultModel(); + labNGCount.Text = OutCount.ToString(); + labOKCount.Text = OKCount.ToString(); + labRejectCount.Text = RejectedCount.ToString(); + labMeaTime.Text = ConfigDfn.strMeasureTime; + labSumMeasureCount.Text = dtRowCount.ToString(); + FPYPercent = OKCount / (OKCount + OutCount); + if (FPYPercent >= ConfigDfn.dFPY) + { + labResultPercent.Text = Math.Round(FPYPercent * 100.00d, 2).ToString("F2") + "%"; + labResult.Text = "合格"; + labResultPercent.ForeColor = Color.LimeGreen; + labResult.ForeColor = Color.LimeGreen; + pbResult.Image = Resources.OK; + tmrm.Result = 1; + } + else if (FPYPercent >= ConfigDfn.dFPY2 && FPYPercent < ConfigDfn.dFPY) + { + labResultPercent.Text = Math.Round(FPYPercent * 100.00d, 2).ToString("F2") + "%"; + labResult.Text = "合格"; + labResultPercent.ForeColor = Color.Yellow; + labResult.ForeColor = Color.Yellow; + pbResult.Image = Resources.OK; + tmrm.Result = 1; + } + else + { + labResultPercent.Text = Math.Round(FPYPercent * 100.00d, 2).ToString("F2") + "%"; + labResult.Text = "不合格"; + labResultPercent.ForeColor = Color.Red; + labResult.ForeColor = Color.Red; + pbResult.Image = Resources.NG; + tmrm.Result = 2; + } + xValues[0] = "合格 : " + OKCount.ToString(); + xValues[1] = "不合格 : " + OutCount.ToString(); + xValues[2] = "异常 : " + RejectedCount.ToString(); + yValues[0] = (int)OKCount; + yValues[1] = (int)OutCount; + yValues[2] = (int)RejectedCount; + chartResultPie.Series[0].Points.DataBindXY(xValues, yValues); + + string strTargetRate = Math.Round(ConfigDfn.dFPY2 * 100.00d, 2).ToString("F2") + "%"; + + tmrm.CarID = strCarID; + tmrm.CarType = ConfigDfn.strCarModel; + tmrm.SumMeasureItems = dtRowCount; + tmrm.GoodMeasureItems = (int)OKCount; + tmrm.NoGoodMeasureItems = (int)OutCount; + tmrm.RejectMeasureItems = (int)RejectedCount; + tmrm.FPY = FPYPercent.ToString("F4"); + tmrm.Remark = ""; + tmrm.MeasureDate = ConfigDfn.strMeasureTime; + tmdal.InsertTMeasureResult(tmrm); + MyBase.TraceWriteLine("将总结果插入数据库完毕。"); + + #endregion 左侧统计和饼图、合格率 + + #region 表单区填充 + + DataTable dataTable = tmdal.SelectMeasureDataByCarID(strCarID); + + // 判断是否有数据 + if (dataTable == null || dataTable.Rows.Count == 0) + { + MyBase.TraceWriteLine("没有找到车ID为:" + strCarID + " 的测量数据。"); + return; + } + dgvMeasureContent.DataSource = dataTable; + + this.dgvMeasureContent.Rows[dgvMeasureContent.Rows.Count - 1].DefaultCellStyle.ForeColor = Color.White; + if (dgvMeasureContent.Rows.Count > 0) + { + SetdgvRowBgColor(dgvMeasureContent); + for (int i = 0; i < dgvMeasureContent.Rows.Count; i++) + { + //if (dgvMeasureContent.Rows[i].Cells["MResult"].Value.ToString().ToLower().Contains("ok")) + //{ + // dgvMeasureContent.Rows[i].DefaultCellStyle.BackColor = Color.Orange; + //} + if (dgvMeasureContent.Rows[i].Cells["Classification"].Value.ToString().ToLower().Contains("ng")) + { + dgvMeasureContent.Rows[i].DefaultCellStyle.BackColor = Color.Orange; + } + else if (string.IsNullOrEmpty(dgvMeasureContent.Rows[i].Cells["Classification"].Value.ToString())) + { + dgvMeasureContent.Rows[i].DefaultCellStyle.BackColor = Color.Red; + } + else + { + } + } + } + + #endregion 表单区填充 + } + catch (Exception ex) + { + MyBase.TraceWriteLine("[AnalysisNextSenseCSV] 函数分析异常:" + ex.ToString()); + } + } + + private void FileSorter_OnFileParsed(string strCarID) + { + // 线程安全更新 UI + if (InvokeRequired) + { + Invoke(new Action(FileSorter_OnFileParsed), strCarID); + return; + } + + // 这里可以更新界面控件,例如 ListBox、Label 等 + // 例如:listBoxParsedFiles.Items.Add(fileName); + // 或 rleMessage.Text = $"已解析: {fileName}"; + rleMessage.Text = $"已解析: {strCarID}"; + + + // 显示数据, 此时为左侧或右侧数据 + DisplayMeasureData(strCarID); + + + } + + + /// 通过给定的文件流,判断文件的编码类型 + /// 文件流 + /// 文件的编码类型 + public static Encoding GetType(FileStream fs) + { + byte[] Unicode = new byte[] { 0xFF, 0xFE, 0x41 }; + byte[] UnicodeBIG = new byte[] { 0xFE, 0xFF, 0x00 }; + byte[] UTF8 = new byte[] { 0xEF, 0xBB, 0xBF }; //带BOM + System.Text.Encoding reVal = System.Text.Encoding.Default; + + System.IO.BinaryReader r = new System.IO.BinaryReader(fs, System.Text.Encoding.Default); + int i; + int.TryParse(fs.Length.ToString(), out i); + byte[] ss = r.ReadBytes(i); + if (IsUTF8Bytes(ss) || (ss[0] == 0xEF && ss[1] == 0xBB && ss[2] == 0xBF)) + { + reVal = System.Text.Encoding.UTF8; + } + else if (ss[0] == 0xFE && ss[1] == 0xFF && ss[2] == 0x00) + { + reVal = System.Text.Encoding.BigEndianUnicode; + } + else if (ss[0] == 0xFF && ss[1] == 0xFE && ss[2] == 0x41) + { + reVal = System.Text.Encoding.Unicode; + } + r.Close(); + return reVal; + } + + /// 判断是否是不带 BOM 的 UTF8 格式 + /// + /// + private static bool IsUTF8Bytes(byte[] data) + { + int charByteCounter = 1; //计算当前正分析的字符应还有的字节数 + byte curByte; //当前分析的字节. + for (int i = 0; i < data.Length; i++) + { + curByte = data[i]; + if (charByteCounter == 1) + { + if (curByte >= 0x80) + { + //判断当前 + while (((curByte <<= 1) & 0x80) != 0) + { + charByteCounter++; + } + //标记位首位若为非0 则至少以2个1开始 如:110XXXXX...........1111110X  + if (charByteCounter == 1 || charByteCounter > 6) + { + return false; + } + } + } + else + { + //若是UTF-8 此时第一位必须为1 + if ((curByte & 0xC0) != 0x80) + { + return false; + } + charByteCounter--; + } + } + if (charByteCounter > 1) + { + throw new Exception("非预期的byte格式"); + } + return true; + } + + public Encoding GetType(string FileName) + { + FileStream fs = new FileStream(FileName, FileMode.Open, FileAccess.Read); + Encoding er = GetType(fs); + fs.Close(); + return er; + } + + private void btn_MouseHover(object sender, EventArgs e) + { + RadButton btn = sender as RadButton; + btn.BackColor = Color.FromArgb(0, 151, 186); + } + + private void btn_MouseLeave(object sender, EventArgs e) + { + RadButton btn = sender as RadButton; + btn.BackColor = Color.FromArgb(19, 46, 53); + } + + public void SetdgvRowBgColor(DataGridView dgv) //设置DataGridView各行变色 + { + if (dgv.Rows.Count > 0) + { + foreach (DataGridViewRow item in dgv.Rows) + { + if (item.Index % 2 == 0) + { + item.DefaultCellStyle.BackColor = Color.FromArgb(19, 46, 53); + } + else + { + item.DefaultCellStyle.BackColor = Color.FromArgb(27, 60, 68); + } + } + } + } + + #region 按钮事件 + + #region datagridview分页功能 + + private void LoadPage() + { + if (currentPage < 1) currentPage = 1; + if (currentPage > pageCount) currentPage = pageCount; + + int beginRecord; //开始指针 + int endRecord; //结束指针 + DataTable dtTemp; + dtTemp = PageTable.Clone();//Clone方法只会复制DataTable的结构(列定义),而不会复制数据行的引用。 + + beginRecord = pageSize * (currentPage - 1); + if (currentPage == 1) beginRecord = 0; + endRecord = pageSize * currentPage; + + if (currentPage == pageCount) endRecord = recordCount; + for (int i = beginRecord; i < endRecord; i++) + { + // 使用ImportRow方法将源PageTable的行导入到目标dtTemp + dtTemp.ImportRow(PageTable.Rows[i]); + } + + dgvSelectMeasureData.Rows.Clear(); + + for (int i = 0; i < dtTemp.Rows.Count; i++) + { + dgvSelectMeasureData.Rows.Add(new object[] { dtTemp.Rows[i][0], dtTemp.Rows[i][1], dtTemp.Rows[i][2], dtTemp.Rows[i][3], dtTemp.Rows[i][4], dtTemp.Rows[i][5], dtTemp.Rows[i][6], dtTemp.Rows[i][7], dtTemp.Rows[i][8] }); + } + SetdgvRowBgColor(dgvSelectMeasureData); + for (int i = 0; i < dgvSelectMeasureData.Rows.Count; i++) + { + string strResult = dgvSelectMeasureData.Rows[i].Cells["MeasureItemResult"].Value.ToString(); + if (strResult.ToLower().Contains("ng")) + { + //dgvSelectMeasureData.Rows[i].Cells["MeasureItemResult"].Style.ForeColor = Color.Orange; + dgvSelectMeasureData.Rows[i].DefaultCellStyle.BackColor = Color.Orange; + } + if (strResult.ToLower().Contains("rej")) + { + dgvSelectMeasureData.Rows[i].Cells["MeasureItemResult"].Style.ForeColor = Color.Red; + } + } + labCurrentPage.Text = "当前页:" + currentPage.ToString(); //当前页 + labSumPages.Text = "共 " + pageCount.ToString() + " 页";//总页数 + labSumRecorders.Text = "总共 " + recordCount.ToString() + " 条记录";//总记录数 + } + + private void rbtnFirtstPage_Click(object sender, EventArgs e) + { + if (currentPage == 1) + { return; } + currentPage = 1; + LoadPage(); + } + + private void rbtnPrevPage_Click(object sender, EventArgs e) + { + if (currentPage == 1) + { return; } + currentPage--; + LoadPage(); + } + + private void rbtnNextPage_Click(object sender, EventArgs e) + { + if (currentPage == pageCount) + { return; } + currentPage++; + LoadPage(); + } + + private void rbtnLastPage_Click(object sender, EventArgs e) + { + if (currentPage == pageCount) + { return; } + currentPage = pageCount; + LoadPage(); + } + + private void rddlPageRecorderCount_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e) + { + pageSize = int.Parse(rddlPageRecorderCount.Text.Trim()); + //PageSorter(); + } + + #endregion datagridview分页功能 + + private void rbtnSearchMeaserData_Click(object sender, EventArgs e) + { + dgvFPYResult.Visible = false; + chartFPYLine.Visible = false; + rbtnExportCSVReport.Visible = false; + string strStartTime = rdtpStartTime.Value.ToString("yyyy-MM-dd") + " 00:00:00"; + string strEndTime = rdtpEndTime.Value.ToString("yyyy-MM-dd") + " 23:59:59"; + string strCarID = rtbPartID.Text.Trim(); + PageTable.Clear(); + PageTable = tmdal.SelectTMeasureDataByCarIDAndTime(strCarID, strStartTime, strEndTime); + if (PageTable.Rows.Count > 0) + { + recordCount = PageTable.Rows.Count; //记录总行数 + pageCount = (recordCount / pageSize); + if ((recordCount % pageSize) > 0) + { + pageCount++; + } + + //默认第一页 + currentPage = 1; + + LoadPage();//调用加载数据的方法 + dgvSelectMeasureData.Visible = true; + rbtnExportCSVReport.Visible = true; + pnlPage.Visible = true; + labSearchResult.Visible = false; + pnlPage.Visible = true; + } + else + { + dgvSelectMeasureData.Visible = false; + labSearchResult.Visible = true; + rbtnExportCSVReport.Visible = false; + pnlPage.Visible = false; + } + } + + private void rbtSelectFPY_Click(object sender, EventArgs e) + { + dgvSelectMeasureData.Visible = false; + rbtnExportCSVReport.Visible = false; + pnlPage.Visible = false; + string strStartTime = rdtpStartTime.Value.ToString("yyyy-MM-dd") + " 00:00:00"; + string strEndTime = rdtpEndTime.Value.ToString("yyyy-MM-dd") + " 23:59:59"; + string strCarID = rtbPartID.Text.Trim(); + DataTable dtFPY = new DataTable(); + dtFPY = tmdal.SelectTMeasureResultByTime(strCarID, strStartTime, strEndTime); + if (dtFPY.Rows.Count > 0) + { + dgvFPYResult.Visible = true; + labSearchResult.Visible = false; + rbtnExportCSVReport.Visible = true; + chartFPYLine.Visible = true; + dgvFPYResult.DataSource = dtFPY; + SetdgvRowBgColor(dgvFPYResult); + for (int i = 0; i < dgvFPYResult.Rows.Count; i++) + { + if (dgvFPYResult.Rows[i].Cells["SMResult"].Value.ToString().ToLower().Contains("不合格")) + { + dgvFPYResult.Rows[i].Cells["SMResult"].Style.ForeColor = Color.Red; + } + } + + #region 合格率折线图 + + //合格率折线图 + string[] strXDate = new string[dtFPY.Rows.Count]; + double[] dFPYResult = new double[dtFPY.Rows.Count]; + for (int i = 0; i < dtFPY.Rows.Count; i++) + { + strXDate[i] = dtFPY.Rows[i]["CarID"].ToString(); + } + for (int i = 0; i < dtFPY.Rows.Count; i++) + { + double dResult = double.Parse(dtFPY.Rows[i]["FPY"].ToString()); + dFPYResult[i] = dResult * 100.00; + } + chartFPYLine.ChartAreas[0].AxisX.LabelStyle.Angle = -50; //X轴标签倾斜角度设置 + chartFPYLine.ChartAreas[0].AxisY.LabelStyle.Format = "{0:F2}" + "%"; //设置Y轴值的格式化 带% + chartFPYLine.Series[0].Label = "#VAL%"; //设置显示Y的值 + chartFPYLine.Series[0].LabelForeColor = Color.White; + chartFPYLine.Series[0].ToolTip = "车身编号 : #VALX \r\n合格率 : #VAL%"; //鼠标移动到对应点显示数值 + chartFPYLine.Series[0].Points.DataBindXY(strXDate, dFPYResult); + + #endregion 合格率折线图 + } + else + { + dgvFPYResult.Visible = false; + labSearchResult.Visible = true; + rbtnExportCSVReport.Visible = false; + chartFPYLine.Visible = false; + } + } + + public static void ExportdgvDataToCsv(DataGridView dataGridView, string filePath) + { + StringBuilder sb = new StringBuilder(); + + // 添加列标题 + foreach (DataGridViewColumn column in dataGridView.Columns) + { + sb.Append(column.HeaderText); + sb.Append(","); + } + sb.Remove(sb.Length - 1, 1); + sb.AppendLine(); + + // 添加行数据 + foreach (DataGridViewRow row in dataGridView.Rows) + { + foreach (DataGridViewCell cell in row.Cells) + { + sb.Append(cell.Value); + sb.Append(","); + } + sb.Remove(sb.Length - 1, 1); + sb.AppendLine(); + } + + // 将数据写入CSV文件 + File.WriteAllText(filePath, sb.ToString(), Encoding.GetEncoding("GBK")); + } + + public static void ExportDataTableDataToCsv(DataTable dt, string filePath) + { + StringBuilder sb = new StringBuilder(); + + // 添加列标题 + foreach (DataColumn column in dt.Columns) + { + sb.Append(column.ColumnName); + sb.Append(","); + } + sb.Remove(sb.Length - 1, 1); + sb.AppendLine(); + + // 添加行数据 + foreach (DataRow row in dt.Rows) + { + foreach (object item in row.ItemArray) + { + sb.Append(item); + sb.Append(","); + } + sb.Remove(sb.Length - 1, 1); + sb.AppendLine(); + } + + // 将数据写入CSV文件 + File.WriteAllText(filePath, sb.ToString()); + } + + private void rbtnExportCSVReport_Click(object sender, EventArgs e) + { + string strCSVExportPath = ""; + string strExportTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"); + FolderBrowserDialog m_Folder = new FolderBrowserDialog(); + m_Folder.Description = "请选择要导出的CSV文件的路径"; + m_Folder.RootFolder = Environment.SpecialFolder.Desktop; + if (dgvFPYResult.Visible == true && dgvFPYResult.Rows.Count > 0) + { + m_Folder.ShowDialog(); + if (Directory.Exists(m_Folder.SelectedPath)) + { + strCSVExportPath = m_Folder.SelectedPath + "\\合格率" + strExportTime + ".CSV"; + + try + { + ExportdgvDataToCsv(dgvFPYResult, strCSVExportPath); + MyBase.TraceWriteLine("合格率数据导出成功,路径为:" + strCSVExportPath); + //弹窗 提示 + MessageBox.Show("合格率数据导出成功,路径为:" + strCSVExportPath, "导出成功", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + catch (Exception ex) + { + MyBase.TraceWriteLine("导出合格率数据时发生错误:" + ex.Message); + } + } + } + if (dgvSelectMeasureData.Visible == true && dgvSelectMeasureData.Rows.Count > 0) + { + m_Folder.ShowDialog(); + if (Directory.Exists(m_Folder.SelectedPath)) + { + strCSVExportPath = m_Folder.SelectedPath + "\\车身尺寸数据" + strExportTime + ".CSV"; + + try + { + ExportDataTableDataToCsv(PageTable, strCSVExportPath); + MyBase.TraceWriteLine("车身尺寸数据导出成功,路径为:" + strCSVExportPath); + + //弹窗 提示 + MessageBox.Show("车身尺寸数据导出成功,路径为:" + strCSVExportPath, "导出成功", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + catch (Exception ex) + { + MyBase.TraceWriteLine("导出车身尺寸数据时发生错误:" + ex.Message); + } + } + } + } + + private void dgvFPYResult_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e) + { + e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1); + } + + private void dgvSelectMeasureData_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e) + { + e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1); + } + + private void tmrMonitorDBToCreateReport_Tick(object sender, EventArgs e) + { + tmrMonitorDBToCreateReport.Stop(); + int iCurrentMeasureCount = tmdal.SelectTMeasureResultCount(); + if (iCurrentMeasureCount > iLastMesureCount && (iCurrentMeasureCount == (iLastMesureCount + 1))) + { + MyBase.TraceWriteLine("监控数据库,开始生成ipn文件:"); + DataTable dtMeaResult = tmdal.SelectNewestTMeasureResult(); + string strVIN = dtMeaResult.Rows[0]["CarID"].ToString(); + DateTime dateMeaDate = Convert.ToDateTime(dtMeaResult.Rows[0]["Remark"].ToString()); + DataTable dtMeaContent = tmdal.SelectCJLRMeaDataByCarID(strVIN); + string strCarType = dtMeaContent.Rows[0][2].ToString(); + int iMeaCount = dtMeaContent.Rows.Count; + + #region 解析完报告后,重新生成客户模板报告 + + string filePath = ""; + if (strCarType.ToLower().Contains("tava")) + { + filePath = ConfigDfn.strReportPath + "\\" + strCarType + "_" + strVIN + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".ipn"; + } + else + { + filePath = ConfigDfn.strReportPath2 + "\\" + strCarType + "_" + strVIN + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".ipn"; + } + + StringBuilder sb = new StringBuilder(); + + #region 添加表头 + + sb.Append("GAUGE ID"); + sb.Append("\t"); + sb.Append("JSN"); + sb.Append("\t"); + sb.Append("MO"); + sb.Append("\t"); + sb.Append("DAY"); + sb.Append("\t"); + sb.Append("YR"); + sb.Append("\t"); + sb.Append("HR"); + sb.Append("\t"); + sb.Append("MIN"); + sb.Append("\t"); + sb.Append("SEC"); + sb.Append("\t"); + sb.Append("MODEL"); + sb.Append("\t"); + sb.Append("AuxID1"); + sb.Append("\t"); + sb.Append("AuxID2"); + sb.Append("\t"); + sb.Append("QUAL"); + sb.Append("\t"); + sb.Append("SHIFT"); + sb.Append("\t"); + sb.Append("DATA TYPE"); + sb.Append("\t"); + sb.Append("FIXTURE"); + sb.Append("\t"); + for (int i = 0; i < iMeaCount / 2; i++) + { + string strMeaPointName = dtMeaContent.Rows[i * 2]["MeasPointName"].ToString(); + string strMPF = strMeaPointName + " Flush"; + string strMPG = strMeaPointName + " Gap"; + sb.Append("D " + strMPF); + sb.Append("\t"); + sb.Append("D " + strMPG); + sb.Append("\t"); + + sb.Append("B " + strMPF); + sb.Append("\t"); + sb.Append("B " + strMPG); + sb.Append("\t"); + + sb.Append("A " + strMPF); + sb.Append("\t"); + sb.Append("A " + strMPG); + sb.Append("\t"); + + sb.Append("US " + strMPF); + sb.Append("\t"); + sb.Append("LS " + strMPF); + sb.Append("\t"); + sb.Append("US " + strMPG); + sb.Append("\t"); + sb.Append("LS " + strMPG); + sb.Append("\t"); + + sb.Append("UR " + strMPF); + sb.Append("\t"); + sb.Append("LR " + strMPF); + sb.Append("\t"); + sb.Append("UR " + strMPG); + sb.Append("\t"); + sb.Append("LR " + strMPG); + sb.Append("\t"); + + sb.Append("UT " + strMPF); + sb.Append("\t"); + sb.Append("LT " + strMPF); + sb.Append("\t"); + sb.Append("UT " + strMPG); + sb.Append("\t"); + sb.Append("LT " + strMPG); + sb.Append("\t"); + } + + #endregion 添加表头 + + sb.AppendLine(); + + #region 添加内容 + + sb.Append(ConfigDfn.strStationName); + sb.Append("\t"); + sb.Append(strVIN); + sb.Append("\t"); + sb.Append(dateMeaDate.Month.ToString()); + sb.Append("\t"); + sb.Append(dateMeaDate.Day.ToString()); + sb.Append("\t"); + sb.Append(dateMeaDate.Year.ToString().Substring(2)); + sb.Append("\t"); + sb.Append(dateMeaDate.Hour.ToString()); + sb.Append("\t"); + sb.Append(dateMeaDate.Minute.ToString()); + sb.Append("\t"); + sb.Append(dateMeaDate.Second.ToString()); + sb.Append("\t"); + if (strCarType.ToLower().Contains("tava")) + sb.Append(ConfigDfn.strUploadPath); + else + { + sb.Append(ConfigDfn.strUploadPath2); + } + sb.Append("\t"); + sb.Append("Unknow"); + sb.Append("\t"); + sb.Append("Unknow"); + sb.Append("\t"); + sb.Append("2"); + sb.Append("\t"); + sb.Append(""); + sb.Append("\t"); + sb.Append("AUTO"); + sb.Append("\t"); + sb.Append("NONE"); + sb.Append("\t"); + + double dDevFVal = 0; + double dDevGVal = 0; + + double dMeaFVal = 0; + double dMeaGVal = 0; + + double dNorFVal = 0; + double dNorGVal = 0; + + double dFUpper = 0; + double dFLower = 0; + double dGUpper = 0; + double dGLower = 0; + + double dFUpper2 = 0; + double dFLower2 = 0; + double dGUpper2 = 0; + double dGLower2 = 0; + + double dFUpper3 = 0; + double dFLower3 = 0; + double dGUpper3 = 0; + double dGLower3 = 0; + for (int i = 0; i < iMeaCount / 2; i++) + { + string strMeasureFValue = dtMeaContent.Rows[i * 2]["MeasureValue"].ToString(); + string strMeasureGValue = dtMeaContent.Rows[i * 2 + 1]["MeasureValue"].ToString(); + string strNormalFValue = dtMeaContent.Rows[i * 2]["NormalValue"].ToString(); + string strNormalGValue = dtMeaContent.Rows[i * 2 + 1]["NormalValue"].ToString(); + + dNorFVal = double.Parse(strNormalFValue); + dNorGVal = double.Parse(strNormalGValue); + dFUpper = double.Parse(dtMeaContent.Rows[i * 2]["UpperTolVal"].ToString()); + dFLower = double.Parse(dtMeaContent.Rows[i * 2]["LowerTolVal"].ToString()); + dGUpper = double.Parse(dtMeaContent.Rows[i * 2 + 1]["UpperTolVal"].ToString()); + dGLower = double.Parse(dtMeaContent.Rows[i * 2 + 1]["LowerTolVal"].ToString()); + + dFUpper2 = dFUpper * ConfigDfn.dLevel2; + dFLower2 = dFLower * ConfigDfn.dLevel2; + dGUpper2 = dGUpper * ConfigDfn.dLevel2; + dGLower2 = dGLower * ConfigDfn.dLevel2; + + dFUpper3 = dFUpper * ConfigDfn.dLevel3; + dFLower3 = dFLower * ConfigDfn.dLevel3; + dGUpper3 = dGUpper * ConfigDfn.dLevel3; + dGLower3 = dGLower * ConfigDfn.dLevel3; + + if (strMeasureFValue.Contains("inv")) + { + sb.Append("inv"); + sb.Append("\t"); + } + else + { + dMeaFVal = double.Parse(strMeasureFValue); + dDevFVal = dMeaFVal - dNorFVal; + sb.Append(dDevFVal.ToString("F3")); + sb.Append("\t"); + } + if (strMeasureGValue.Contains("inv")) + { + sb.Append("inv"); + sb.Append("\t"); + } + else + { + dMeaGVal = double.Parse(strMeasureGValue); + dDevGVal = dMeaGVal - dNorGVal; + sb.Append(dDevGVal.ToString("F3")); + sb.Append("\t"); + } + + sb.Append(strNormalFValue); + sb.Append("\t"); + sb.Append(strNormalGValue); + sb.Append("\t"); + + sb.Append(strMeasureFValue); + sb.Append("\t"); + sb.Append(strMeasureGValue); + sb.Append("\t"); + + sb.Append(dFUpper.ToString("F3")); + sb.Append("\t"); + sb.Append(dFLower.ToString("F3")); + sb.Append("\t"); + sb.Append(dGUpper.ToString("F3")); + sb.Append("\t"); + sb.Append(dGLower.ToString("F3")); + sb.Append("\t"); + + sb.Append(dFUpper2.ToString("F3")); + sb.Append("\t"); + sb.Append(dFLower2.ToString("F3")); + sb.Append("\t"); + sb.Append(dGUpper2.ToString("F3")); + sb.Append("\t"); + sb.Append(dGLower2.ToString("F3")); + sb.Append("\t"); + + sb.Append(dFUpper3.ToString("F3")); + sb.Append("\t"); + sb.Append(dFLower3.ToString("F3")); + sb.Append("\t"); + sb.Append(dGUpper3.ToString("F3")); + sb.Append("\t"); + sb.Append(dGLower3.ToString("F3")); + sb.Append("\t"); + } + + #endregion 添加内容 + + // 将数据写入CSV文件 + File.WriteAllText(filePath, sb.ToString()); + MyBase.TraceWriteLine("客户定制ipn报告生成完毕,路径为:" + filePath); + + #endregion 解析完报告后,重新生成客户模板报告 + } + iLastMesureCount = iCurrentMeasureCount; + tmrMonitorDBToCreateReport.Start(); + } + + private void lpcSoftwareSetup_Click(object sender, EventArgs e) + { + string strInputPwd = MyBase.InputBox("密码", "请输入密码 : ", "", "确定", "取消"); + if (strInputPwd.Contains("-999.999")) + { + return; + } + else if (strInputPwd == ConfigDfn.strPwd) + { + FSoftwareSetup fss = new FSoftwareSetup(); + fss.ShowDialog(this); + } + else + { + MessageBox.Show("密码错误! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + + private void lpcToleranceSetup_Click(object sender, EventArgs e) + { + string strInputPwd = MyBase.InputBox("密码", "请输入密码 : ", "", "确定", "取消"); + if (strInputPwd.Contains("-999.999")) + { + return; + } + else if (strInputPwd == ConfigDfn.strPwd) + { + FToleranceSetup fts = new FToleranceSetup(); + fts.ShowDialog(this); + } + else + { + MessageBox.Show("密码错误! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + + private void lpcAboutSoftware_Click(object sender, EventArgs e) + { + AboutSoftwareInfo asi = new AboutSoftwareInfo(); + asi.ShowDialog(); + } + + private void lpcShowLog_Click(object sender, EventArgs e) + { + System.Diagnostics.Process.Start("notepad.exe", LogDebugDfn.strDebugFile); + } + + #endregion 按钮事件 + } + + public class AnalysisResult + { + public string CarID { get; set; } + public int TotalCount { get; set; } + public int OutCount { get; set; } + public int OKCount { get; set; } + public int RejectedCount { get; set; } + public double FPYPercent { get; set; } + + public static AnalysisResult AnalyzeMeasureData(DataTable dt) + { + var result = new AnalysisResult(); + + if (dt == null || dt.Rows.Count == 0) + return result; + + // Accessing the first row of the DataTable to retrieve values + var firstRow = dt.Rows[0]; + + result.CarID = firstRow["CarID"].ToString(); + result.TotalCount = Convert.ToInt32(firstRow["TotalCount"]); + result.OKCount = Convert.ToInt32(firstRow["PassCount"]); + result.OutCount = Convert.ToInt32(firstRow["NGCount"]); + result.RejectedCount = Convert.ToInt32(firstRow["RejectCount"]); + result.FPYPercent = Convert.ToDouble(firstRow["FPY"]); + + return result; + } + + public static void DisplayAnalysisResult(AnalysisResult result) + { + Console.WriteLine("===== 测量结果分析 ====="); + Console.WriteLine($"车身编号: {result.CarID}"); + Console.WriteLine($"总测量项: {result.TotalCount}"); + Console.WriteLine($"合格项(OK): {result.OKCount}"); + Console.WriteLine($"超差项(Out): {result.OutCount}"); + Console.WriteLine($"异常项(Rejected): {result.RejectedCount}"); + Console.WriteLine($"首次通过率(FPY): {result.FPYPercent:F2}%"); + } + } +} \ No newline at end of file diff --git a/Analysis/backup/FormMain.designer.cs b/Analysis/backup/FormMain.designer.cs new file mode 100644 index 0000000..801a313 --- /dev/null +++ b/Analysis/backup/FormMain.designer.cs @@ -0,0 +1,2066 @@ +using UserControlClass; + +namespace NSAnalysis +{ + partial class FormMain + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain)); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); + System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend(); + System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series(); + System.Windows.Forms.DataVisualization.Charting.Title title1 = new System.Windows.Forms.DataVisualization.Charting.Title(); + Telerik.WinControls.UI.RadListDataItem radListDataItem1 = new Telerik.WinControls.UI.RadListDataItem(); + Telerik.WinControls.UI.RadListDataItem radListDataItem2 = new Telerik.WinControls.UI.RadListDataItem(); + Telerik.WinControls.UI.RadListDataItem radListDataItem3 = new Telerik.WinControls.UI.RadListDataItem(); + Telerik.WinControls.UI.RadListDataItem radListDataItem4 = new Telerik.WinControls.UI.RadListDataItem(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); + System.Windows.Forms.DataVisualization.Charting.Series series2 = new System.Windows.Forms.DataVisualization.Charting.Series(); + System.Windows.Forms.DataVisualization.Charting.Title title2 = new System.Windows.Forms.DataVisualization.Charting.Title(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); + this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar(); + this.label2 = new System.Windows.Forms.Label(); + this.labTitle = new System.Windows.Forms.Label(); + this.radStatusStrip1 = new Telerik.WinControls.UI.RadStatusStrip(); + this.rleTimeText = new Telerik.WinControls.UI.RadLabelElement(); + this.rleTime = new Telerik.WinControls.UI.RadLabelElement(); + this.commandBarSeparator4 = new Telerik.WinControls.UI.CommandBarSeparator(); + this.radLabelElement2 = new Telerik.WinControls.UI.RadLabelElement(); + this.rleReadCSVStatus = new Telerik.WinControls.UI.RadLabelElement(); + this.commandBarSeparator3 = new Telerik.WinControls.UI.CommandBarSeparator(); + this.rleMessageText = new Telerik.WinControls.UI.RadLabelElement(); + this.rleMessage = new Telerik.WinControls.UI.RadLabelElement(); + this.RPV = new Telerik.WinControls.UI.RadPageView(); + this.rpvpAnalysis = new Telerik.WinControls.UI.RadPageViewPage(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.label4 = new System.Windows.Forms.Label(); + this.lbCSVFiles = new System.Windows.Forms.ListBox(); + this.dgvMeasureContent = new System.Windows.Forms.DataGridView(); + this.PointName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.DimensionName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.NormalVal = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.LowerTolVal = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.UpperTolVal = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.MeasureValue = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.MeasureDateTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Classification = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.labCarType = new System.Windows.Forms.Label(); + this.label24 = new System.Windows.Forms.Label(); + this.labSumMeasureCount = new System.Windows.Forms.Label(); + this.label13 = new System.Windows.Forms.Label(); + this.labRejectCount = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.pbResult = new System.Windows.Forms.PictureBox(); + this.labResult = new System.Windows.Forms.Label(); + this.label16 = new System.Windows.Forms.Label(); + this.labResultPercent = new System.Windows.Forms.Label(); + this.label14 = new System.Windows.Forms.Label(); + this.labMeaTime = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.labNGCount = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.labOKCount = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.labVIN = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.chartResultPie = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.rpvpSearch = new Telerik.WinControls.UI.RadPageViewPage(); + this.pnlPage = new System.Windows.Forms.Panel(); + this.rddlPageRecorderCount = new Telerik.WinControls.UI.RadDropDownList(); + this.rbtnFirtstPage = new Telerik.WinControls.UI.RadButton(); + this.rbtnLastPage = new Telerik.WinControls.UI.RadButton(); + this.rbtnPrevPage = new Telerik.WinControls.UI.RadButton(); + this.rbtnNextPage = new Telerik.WinControls.UI.RadButton(); + this.label3 = new System.Windows.Forms.Label(); + this.labSumRecorders = new System.Windows.Forms.Label(); + this.labSumPages = new System.Windows.Forms.Label(); + this.labCurrentPage = new System.Windows.Forms.Label(); + this.labSearchResult = new System.Windows.Forms.Label(); + this.radGroupBox1 = new Telerik.WinControls.UI.RadGroupBox(); + this.rtbPartID = new Telerik.WinControls.UI.RadTextBox(); + this.rbtSelectFPY = new Telerik.WinControls.UI.RadButton(); + this.rbtnExportCSVReport = new Telerik.WinControls.UI.RadButton(); + this.rdtpStartTime = new Telerik.WinControls.UI.RadDateTimePicker(); + this.rdtpEndTime = new Telerik.WinControls.UI.RadDateTimePicker(); + this.rbtnSearchMeaserData = new Telerik.WinControls.UI.RadButton(); + this.radLabel15 = new Telerik.WinControls.UI.RadLabel(); + this.radLabel1 = new Telerik.WinControls.UI.RadLabel(); + this.radLabel11 = new Telerik.WinControls.UI.RadLabel(); + this.chartFPYLine = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.dgvSelectMeasureData = new System.Windows.Forms.DataGridView(); + this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn5 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn6 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn7 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.MeasureItemResult = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dgvFPYResult = new System.Windows.Forms.DataGridView(); + this.dataGridViewTextBoxColumn9 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn10 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn11 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn12 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn13 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn14 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn16 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.SMResult = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.rpvpSetup = new Telerik.WinControls.UI.RadPageViewPage(); + this.lpcToleranceSetup = new UserControlClass.LabPictureControl(); + this.lpcShowLog = new UserControlClass.LabPictureControl(); + this.lpcSoftwareSetup = new UserControlClass.LabPictureControl(); + this.lpcAboutSoftware = new UserControlClass.LabPictureControl(); + this.tmSystem = new System.Windows.Forms.Timer(this.components); + this.tmrMonitorDBToCreateReport = new System.Windows.Forms.Timer(this.components); + ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit(); + this.radTitleBar1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.radStatusStrip1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.RPV)).BeginInit(); + this.RPV.SuspendLayout(); + this.rpvpAnalysis.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvMeasureContent)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); + this.splitContainer2.Panel1.SuspendLayout(); + this.splitContainer2.Panel2.SuspendLayout(); + this.splitContainer2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pbResult)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.chartResultPie)).BeginInit(); + this.rpvpSearch.SuspendLayout(); + this.pnlPage.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.rddlPageRecorderCount)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnFirtstPage)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnLastPage)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnPrevPage)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnNextPage)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.radGroupBox1)).BeginInit(); + this.radGroupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.rtbPartID)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtSelectFPY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnExportCSVReport)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rdtpStartTime)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rdtpEndTime)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnSearchMeaserData)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel15)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel11)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.chartFPYLine)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSelectMeasureData)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvFPYResult)).BeginInit(); + this.rpvpSetup.SuspendLayout(); + this.SuspendLayout(); + // + // radTitleBar1 + // + this.radTitleBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.radTitleBar1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + this.radTitleBar1.Controls.Add(this.label2); + this.radTitleBar1.Controls.Add(this.labTitle); + this.radTitleBar1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.radTitleBar1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + this.radTitleBar1.Location = new System.Drawing.Point(1, 1); + this.radTitleBar1.Name = "radTitleBar1"; + // + // + // + this.radTitleBar1.RootElement.ApplyShapeToControl = true; + this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + this.radTitleBar1.Size = new System.Drawing.Size(1918, 40); + this.radTitleBar1.TabIndex = 0; + this.radTitleBar1.TabStop = false; + this.radTitleBar1.Text = "海克斯康间隙面差分析系统"; + ((Telerik.WinControls.UI.RadTitleBarElement)(this.radTitleBar1.GetChildAt(0))).Text = "海克斯康间隙面差分析系统"; + ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).LeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).TopColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).RightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default; + // + // label2 + // + this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.label2.AutoSize = true; + this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image"))); + this.label2.Location = new System.Drawing.Point(793, -5); + this.label2.Name = "label2"; + this.label2.Padding = new System.Windows.Forms.Padding(23, 15, 23, 15); + this.label2.Size = new System.Drawing.Size(46, 52); + this.label2.TabIndex = 1; + // + // labTitle + // + this.labTitle.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.labTitle.AutoSize = true; + this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F); + this.labTitle.ForeColor = System.Drawing.Color.White; + this.labTitle.Location = new System.Drawing.Point(835, 8); + this.labTitle.Name = "labTitle"; + this.labTitle.Size = new System.Drawing.Size(202, 25); + this.labTitle.TabIndex = 0; + this.labTitle.Text = "间隙面差数据分发软件"; + // + // radStatusStrip1 + // + this.radStatusStrip1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.radStatusStrip1.Dock = System.Windows.Forms.DockStyle.None; + this.radStatusStrip1.Font = new System.Drawing.Font("Segoe UI", 9F); + this.radStatusStrip1.ForeColor = System.Drawing.Color.White; + this.radStatusStrip1.Items.AddRange(new Telerik.WinControls.RadItem[] { + this.rleTimeText, + this.rleTime, + this.commandBarSeparator4, + this.radLabelElement2, + this.rleReadCSVStatus, + this.commandBarSeparator3, + this.rleMessageText, + this.rleMessage}); + this.radStatusStrip1.Location = new System.Drawing.Point(1, 1052); + this.radStatusStrip1.Name = "radStatusStrip1"; + this.radStatusStrip1.Padding = new System.Windows.Forms.Padding(0, 5, 0, 0); + this.radStatusStrip1.Size = new System.Drawing.Size(1918, 26); + this.radStatusStrip1.TabIndex = 126; + ((Telerik.WinControls.UI.RadStatusBarElement)(this.radStatusStrip1.GetChildAt(0))).Padding = new System.Windows.Forms.Padding(0, 5, 0, 0); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radStatusStrip1.GetChildAt(0).GetChildAt(0))).LeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radStatusStrip1.GetChildAt(0).GetChildAt(0))).RightColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radStatusStrip1.GetChildAt(0).GetChildAt(0))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radStatusStrip1.GetChildAt(0).GetChildAt(0))).BottomShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.radStatusStrip1.GetChildAt(0).GetChildAt(1))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.radStatusStrip1.GetChildAt(0).GetChildAt(1))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.radStatusStrip1.GetChildAt(0).GetChildAt(1))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.radStatusStrip1.GetChildAt(0).GetChildAt(1))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + // + // rleTimeText + // + this.rleTimeText.Name = "rleTimeText"; + this.radStatusStrip1.SetSpring(this.rleTimeText, false); + this.rleTimeText.Text = "当前时间 :"; + this.rleTimeText.TextWrap = true; + this.rleTimeText.UseCompatibleTextRendering = false; + // + // rleTime + // + this.rleTime.Name = "rleTime"; + this.radStatusStrip1.SetSpring(this.rleTime, false); + this.rleTime.Text = "2023-06-01 12:23:34"; + this.rleTime.TextWrap = true; + this.rleTime.UseCompatibleTextRendering = false; + // + // commandBarSeparator4 + // + this.commandBarSeparator4.Name = "commandBarSeparator4"; + this.radStatusStrip1.SetSpring(this.commandBarSeparator4, false); + this.commandBarSeparator4.VisibleInOverflowMenu = false; + // + // radLabelElement2 + // + this.radLabelElement2.Name = "radLabelElement2"; + this.radStatusStrip1.SetSpring(this.radLabelElement2, false); + this.radLabelElement2.Text = "读取CSV文件状态:"; + this.radLabelElement2.TextWrap = true; + // + // rleReadCSVStatus + // + this.rleReadCSVStatus.Font = new System.Drawing.Font("宋体", 11F); + this.rleReadCSVStatus.Name = "rleReadCSVStatus"; + this.radStatusStrip1.SetSpring(this.rleReadCSVStatus, false); + this.rleReadCSVStatus.Text = "●"; + this.rleReadCSVStatus.TextWrap = true; + // + // commandBarSeparator3 + // + this.commandBarSeparator3.DisabledTextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault; + this.commandBarSeparator3.Name = "commandBarSeparator3"; + this.radStatusStrip1.SetSpring(this.commandBarSeparator3, false); + this.commandBarSeparator3.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault; + this.commandBarSeparator3.UseCompatibleTextRendering = false; + this.commandBarSeparator3.VisibleInOverflowMenu = false; + // + // rleMessageText + // + this.rleMessageText.Name = "rleMessageText"; + this.radStatusStrip1.SetSpring(this.rleMessageText, false); + this.rleMessageText.Text = "消息 :"; + this.rleMessageText.TextWrap = true; + this.rleMessageText.UseCompatibleTextRendering = false; + // + // rleMessage + // + this.rleMessage.Name = "rleMessage"; + this.radStatusStrip1.SetSpring(this.rleMessage, false); + this.rleMessage.Text = "软件正常启动"; + this.rleMessage.TextWrap = true; + this.rleMessage.UseCompatibleTextRendering = false; + // + // RPV + // + this.RPV.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.RPV.Controls.Add(this.rpvpAnalysis); + this.RPV.Controls.Add(this.rpvpSearch); + this.RPV.Controls.Add(this.rpvpSetup); + this.RPV.DefaultPage = this.rpvpAnalysis; + this.RPV.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.RPV.ItemSizeMode = ((Telerik.WinControls.UI.PageViewItemSizeMode)((Telerik.WinControls.UI.PageViewItemSizeMode.EqualWidth | Telerik.WinControls.UI.PageViewItemSizeMode.EqualHeight))); + this.RPV.Location = new System.Drawing.Point(1, 38); + this.RPV.Name = "RPV"; + this.RPV.SelectedPage = this.rpvpAnalysis; + this.RPV.Size = new System.Drawing.Size(1918, 1008); + this.RPV.TabIndex = 127; + this.RPV.ViewMode = Telerik.WinControls.UI.PageViewMode.NavigationView; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).DisplayMode = Telerik.WinControls.UI.NavigationViewDisplayModes.Compact; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).HeaderHeight = 35; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).ExpandedPaneWidth = 150; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).CollapsedPaneWidth = 48; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).ShowItemPinButton = true; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).StripButtons = Telerik.WinControls.UI.StripViewButtons.None; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).ItemAlignment = Telerik.WinControls.UI.StripViewItemAlignment.Near; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).ItemFitMode = Telerik.WinControls.UI.StripViewItemFitMode.None; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).ShowItemCloseButton = true; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).ItemDragMode = Telerik.WinControls.UI.PageViewItemDragMode.None; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).ItemSpacing = 1; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).ItemSizeMode = ((Telerik.WinControls.UI.PageViewItemSizeMode)((Telerik.WinControls.UI.PageViewItemSizeMode.EqualWidth | Telerik.WinControls.UI.PageViewItemSizeMode.EqualHeight))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderInnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderInnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderInnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderLeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderTopColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderRightColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderBottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderLeftShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderTopShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderRightShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BorderBottomShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).ForeColor = System.Drawing.Color.White; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(this.RPV.GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.NavigationViewItemContainer)(this.RPV.GetChildAt(0).GetChildAt(0))).BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.NavigationViewItemContainer)(this.RPV.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.NavigationViewItemContainer)(this.RPV.GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.NavigationViewItemContainer)(this.RPV.GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.NavigationViewItemContainer)(this.RPV.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.White; + ((Telerik.WinControls.UI.NavigationViewItemContainer)(this.RPV.GetChildAt(0).GetChildAt(0))).Font = new System.Drawing.Font("Segoe UI", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + ((Telerik.WinControls.UI.NavigationViewItemContainer)(this.RPV.GetChildAt(0).GetChildAt(0))).MinSize = new System.Drawing.Size(48, 0); + ((Telerik.WinControls.UI.NavigationViewItemContainer)(this.RPV.GetChildAt(0).GetChildAt(0))).MaxSize = new System.Drawing.Size(48, 0); + ((Telerik.WinControls.UI.StripViewItemLayout)(this.RPV.GetChildAt(0).GetChildAt(0).GetChildAt(0))).BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.StripViewItemLayout)(this.RPV.GetChildAt(0).GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.StripViewItemLayout)(this.RPV.GetChildAt(0).GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.StripViewItemLayout)(this.RPV.GetChildAt(0).GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.StripViewItemLayout)(this.RPV.GetChildAt(0).GetChildAt(0).GetChildAt(0))).BorderLeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.StripViewItemLayout)(this.RPV.GetChildAt(0).GetChildAt(0).GetChildAt(0))).BorderTopColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.StripViewItemLayout)(this.RPV.GetChildAt(0).GetChildAt(0).GetChildAt(0))).BorderRightColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.StripViewItemLayout)(this.RPV.GetChildAt(0).GetChildAt(0).GetChildAt(0))).BorderLeftShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.StripViewItemLayout)(this.RPV.GetChildAt(0).GetChildAt(0).GetChildAt(0))).BorderTopShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.StripViewItemLayout)(this.RPV.GetChildAt(0).GetChildAt(0).GetChildAt(0))).BorderRightShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.StripViewItemLayout)(this.RPV.GetChildAt(0).GetChildAt(0).GetChildAt(0))).FocusBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.StripViewItemLayout)(this.RPV.GetChildAt(0).GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.White; + ((Telerik.WinControls.UI.RadPageViewContentAreaElement)(this.RPV.GetChildAt(0).GetChildAt(1))).BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadPageViewContentAreaElement)(this.RPV.GetChildAt(0).GetChildAt(1))).BorderColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadPageViewContentAreaElement)(this.RPV.GetChildAt(0).GetChildAt(1))).BorderColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadPageViewContentAreaElement)(this.RPV.GetChildAt(0).GetChildAt(1))).BorderColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadPageViewContentAreaElement)(this.RPV.GetChildAt(0).GetChildAt(1))).BorderInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadPageViewContentAreaElement)(this.RPV.GetChildAt(0).GetChildAt(1))).BorderInnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadPageViewContentAreaElement)(this.RPV.GetChildAt(0).GetChildAt(1))).BorderInnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadPageViewContentAreaElement)(this.RPV.GetChildAt(0).GetChildAt(1))).BorderInnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadPageViewContentAreaElement)(this.RPV.GetChildAt(0).GetChildAt(1))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadPageViewContentAreaElement)(this.RPV.GetChildAt(0).GetChildAt(1))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadPageViewContentAreaElement)(this.RPV.GetChildAt(0).GetChildAt(1))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadPageViewContentAreaElement)(this.RPV.GetChildAt(0).GetChildAt(1))).FocusBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.RadPageViewContentAreaElement)(this.RPV.GetChildAt(0).GetChildAt(1))).ForeColor = System.Drawing.Color.White; + ((Telerik.WinControls.UI.RadPageViewContentAreaElement)(this.RPV.GetChildAt(0).GetChildAt(1))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BorderColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BorderColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BorderColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BorderInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BorderInnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BorderInnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BorderInnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).HorizontalLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).Text = " 分析主界面"; + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).FocusBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.White; + ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.HamburgerButtonElement)(this.RPV.GetChildAt(0).GetChildAt(3))).FocusBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.HamburgerButtonElement)(this.RPV.GetChildAt(0).GetChildAt(3))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.HamburgerButtonElement)(this.RPV.GetChildAt(0).GetChildAt(3))).StretchHorizontally = false; + ((Telerik.WinControls.Primitives.FillPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(0))).GradientStyle = Telerik.WinControls.GradientStyles.OfficeGlass; + ((Telerik.WinControls.Primitives.FillPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(0))).ForeColor = System.Drawing.Color.White; + ((Telerik.WinControls.Primitives.FillPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.ImagePrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(1).GetChildAt(0))).ForeColor = System.Drawing.Color.White; + ((Telerik.WinControls.Primitives.ImagePrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.TextPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(1).GetChildAt(1))).LineLimit = false; + ((Telerik.WinControls.Primitives.TextPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(1).GetChildAt(1))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); + ((Telerik.WinControls.Primitives.TextPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(1).GetChildAt(1))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.TextPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(1).GetChildAt(1))).Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + ((Telerik.WinControls.Primitives.TextPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(1).GetChildAt(1))).Alignment = System.Drawing.ContentAlignment.MiddleLeft; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(2))).ForeColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(2))).ForeColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(2))).ForeColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(2))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FocusPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(3))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.FocusPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(3))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.FocusPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(3))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.FocusPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(3))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161))))); + ((Telerik.WinControls.Primitives.FocusPrimitive)(this.RPV.GetChildAt(0).GetChildAt(3).GetChildAt(3))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + // + // rpvpAnalysis + // + this.rpvpAnalysis.AutoScroll = true; + this.rpvpAnalysis.BackColor = System.Drawing.Color.Transparent; + this.rpvpAnalysis.Controls.Add(this.splitContainer1); + this.rpvpAnalysis.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.rpvpAnalysis.Image = ((System.Drawing.Image)(resources.GetObject("rpvpAnalysis.Image"))); + this.rpvpAnalysis.ItemSize = new System.Drawing.SizeF(46F, 46F); + this.rpvpAnalysis.Location = new System.Drawing.Point(49, 35); + this.rpvpAnalysis.Name = "rpvpAnalysis"; + this.rpvpAnalysis.Size = new System.Drawing.Size(1868, 972); + this.rpvpAnalysis.Text = " 分析主界面"; + // + // splitContainer1 + // + this.splitContainer1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.Location = new System.Drawing.Point(0, 0); + this.splitContainer1.Name = "splitContainer1"; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.label4); + this.splitContainer1.Panel1.Controls.Add(this.lbCSVFiles); + this.splitContainer1.Panel1.Controls.Add(this.dgvMeasureContent); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); + this.splitContainer1.Size = new System.Drawing.Size(1868, 972); + this.splitContainer1.SplitterDistance = 1128; + this.splitContainer1.TabIndex = 0; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("微软雅黑", 12F); + this.label4.ForeColor = System.Drawing.Color.White; + this.label4.Location = new System.Drawing.Point(21, 14); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(233, 21); + this.label4.TabIndex = 175; + this.label4.Text = "等待读取的CSV报告文件列表:"; + // + // lbCSVFiles + // + this.lbCSVFiles.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lbCSVFiles.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.lbCSVFiles.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.lbCSVFiles.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.lbCSVFiles.ForeColor = System.Drawing.Color.White; + this.lbCSVFiles.FormattingEnabled = true; + this.lbCSVFiles.ItemHeight = 19; + this.lbCSVFiles.Location = new System.Drawing.Point(19, 39); + this.lbCSVFiles.Name = "lbCSVFiles"; + this.lbCSVFiles.Size = new System.Drawing.Size(1084, 173); + this.lbCSVFiles.TabIndex = 174; + // + // dgvMeasureContent + // + this.dgvMeasureContent.AllowUserToAddRows = false; + this.dgvMeasureContent.AllowUserToDeleteRows = false; + this.dgvMeasureContent.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.dgvMeasureContent.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.dgvMeasureContent.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.dgvMeasureContent.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle1.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle1.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.dgvMeasureContent.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1; + this.dgvMeasureContent.ColumnHeadersHeight = 38; + this.dgvMeasureContent.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.PointName, + this.DimensionName, + this.NormalVal, + this.LowerTolVal, + this.UpperTolVal, + this.MeasureValue, + this.MeasureDateTime, + this.Classification}); + this.dgvMeasureContent.EnableHeadersVisualStyles = false; + this.dgvMeasureContent.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(181)))), ((int)(((byte)(200))))); + this.dgvMeasureContent.Location = new System.Drawing.Point(21, 232); + this.dgvMeasureContent.Name = "dgvMeasureContent"; + this.dgvMeasureContent.ReadOnly = true; + this.dgvMeasureContent.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle2.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.dgvMeasureContent.RowHeadersDefaultCellStyle = dataGridViewCellStyle2; + this.dgvMeasureContent.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders; + dataGridViewCellStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle3.Font = new System.Drawing.Font("Segoe UI", 10F); + dataGridViewCellStyle3.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle3.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + this.dgvMeasureContent.RowsDefaultCellStyle = dataGridViewCellStyle3; + this.dgvMeasureContent.RowTemplate.DefaultCellStyle.Font = new System.Drawing.Font("Segoe UI", 10F); + this.dgvMeasureContent.RowTemplate.Height = 38; + this.dgvMeasureContent.Size = new System.Drawing.Size(1082, 718); + this.dgvMeasureContent.TabIndex = 173; + // + // PointName + // + this.PointName.DataPropertyName = "PointName"; + this.PointName.HeaderText = "测量点名称"; + this.PointName.Name = "PointName"; + this.PointName.ReadOnly = true; + this.PointName.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.PointName.Width = 150; + // + // DimensionName + // + this.DimensionName.DataPropertyName = "DimensionName"; + this.DimensionName.HeaderText = "尺寸名"; + this.DimensionName.Name = "DimensionName"; + this.DimensionName.ReadOnly = true; + this.DimensionName.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.DimensionName.Width = 80; + // + // NormalVal + // + this.NormalVal.DataPropertyName = "NominalValue"; + this.NormalVal.HeaderText = "理论值"; + this.NormalVal.Name = "NormalVal"; + this.NormalVal.ReadOnly = true; + this.NormalVal.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.NormalVal.Visible = false; + // + // LowerTolVal + // + this.LowerTolVal.DataPropertyName = "LowerLimit"; + this.LowerTolVal.HeaderText = "下限值"; + this.LowerTolVal.Name = "LowerTolVal"; + this.LowerTolVal.ReadOnly = true; + this.LowerTolVal.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + // + // UpperTolVal + // + this.UpperTolVal.DataPropertyName = "UpperLimit"; + this.UpperTolVal.HeaderText = "上限值"; + this.UpperTolVal.Name = "UpperTolVal"; + this.UpperTolVal.ReadOnly = true; + this.UpperTolVal.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + // + // MeasureValue + // + this.MeasureValue.DataPropertyName = "DimensionValue"; + this.MeasureValue.HeaderText = "实测值"; + this.MeasureValue.Name = "MeasureValue"; + this.MeasureValue.ReadOnly = true; + this.MeasureValue.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + // + // MeasureDateTime + // + this.MeasureDateTime.DataPropertyName = "MeasureDateTime"; + this.MeasureDateTime.HeaderText = "测量时间"; + this.MeasureDateTime.Name = "MeasureDateTime"; + this.MeasureDateTime.ReadOnly = true; + this.MeasureDateTime.Width = 190; + // + // Classification + // + this.Classification.DataPropertyName = "Classification"; + this.Classification.HeaderText = "结果"; + this.Classification.Name = "Classification"; + this.Classification.ReadOnly = true; + this.Classification.Width = 150; + // + // splitContainer2 + // + this.splitContainer2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer2.Location = new System.Drawing.Point(0, 0); + this.splitContainer2.Name = "splitContainer2"; + this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer2.Panel1 + // + this.splitContainer2.Panel1.Controls.Add(this.labCarType); + this.splitContainer2.Panel1.Controls.Add(this.label24); + this.splitContainer2.Panel1.Controls.Add(this.labSumMeasureCount); + this.splitContainer2.Panel1.Controls.Add(this.label13); + this.splitContainer2.Panel1.Controls.Add(this.labRejectCount); + this.splitContainer2.Panel1.Controls.Add(this.label7); + this.splitContainer2.Panel1.Controls.Add(this.pbResult); + this.splitContainer2.Panel1.Controls.Add(this.labResult); + this.splitContainer2.Panel1.Controls.Add(this.label16); + this.splitContainer2.Panel1.Controls.Add(this.labResultPercent); + this.splitContainer2.Panel1.Controls.Add(this.label14); + this.splitContainer2.Panel1.Controls.Add(this.labMeaTime); + this.splitContainer2.Panel1.Controls.Add(this.label12); + this.splitContainer2.Panel1.Controls.Add(this.labNGCount); + this.splitContainer2.Panel1.Controls.Add(this.label10); + this.splitContainer2.Panel1.Controls.Add(this.labOKCount); + this.splitContainer2.Panel1.Controls.Add(this.label8); + this.splitContainer2.Panel1.Controls.Add(this.labVIN); + this.splitContainer2.Panel1.Controls.Add(this.label5); + // + // splitContainer2.Panel2 + // + this.splitContainer2.Panel2.Controls.Add(this.chartResultPie); + this.splitContainer2.Size = new System.Drawing.Size(736, 972); + this.splitContainer2.SplitterDistance = 359; + this.splitContainer2.TabIndex = 0; + // + // labCarType + // + this.labCarType.AutoSize = true; + this.labCarType.Font = new System.Drawing.Font("微软雅黑", 13F); + this.labCarType.ForeColor = System.Drawing.Color.White; + this.labCarType.Location = new System.Drawing.Point(183, 60); + this.labCarType.Name = "labCarType"; + this.labCarType.Size = new System.Drawing.Size(45, 24); + this.labCarType.TabIndex = 194; + this.labCarType.Text = "EH3"; + // + // label24 + // + this.label24.Font = new System.Drawing.Font("微软雅黑", 13F); + this.label24.ForeColor = System.Drawing.Color.White; + this.label24.Location = new System.Drawing.Point(25, 59); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(155, 24); + this.label24.TabIndex = 193; + this.label24.Text = "车辆类型 : "; + this.label24.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // labSumMeasureCount + // + this.labSumMeasureCount.AutoSize = true; + this.labSumMeasureCount.Font = new System.Drawing.Font("微软雅黑", 13F); + this.labSumMeasureCount.ForeColor = System.Drawing.Color.White; + this.labSumMeasureCount.Location = new System.Drawing.Point(183, 209); + this.labSumMeasureCount.Name = "labSumMeasureCount"; + this.labSumMeasureCount.Size = new System.Drawing.Size(32, 24); + this.labSumMeasureCount.TabIndex = 192; + this.labSumMeasureCount.Text = "54"; + // + // label13 + // + this.label13.Font = new System.Drawing.Font("微软雅黑", 13F); + this.label13.ForeColor = System.Drawing.Color.White; + this.label13.Location = new System.Drawing.Point(25, 208); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(155, 24); + this.label13.TabIndex = 191; + this.label13.Text = "测量总项数 : "; + this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // labRejectCount + // + this.labRejectCount.AutoSize = true; + this.labRejectCount.Font = new System.Drawing.Font("微软雅黑", 13F); + this.labRejectCount.ForeColor = System.Drawing.Color.White; + this.labRejectCount.Location = new System.Drawing.Point(183, 171); + this.labRejectCount.Name = "labRejectCount"; + this.labRejectCount.Size = new System.Drawing.Size(21, 24); + this.labRejectCount.TabIndex = 190; + this.labRejectCount.Text = "2"; + // + // label7 + // + this.label7.Font = new System.Drawing.Font("微软雅黑", 13F); + this.label7.ForeColor = System.Drawing.Color.White; + this.label7.Location = new System.Drawing.Point(8, 170); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(173, 24); + this.label7.TabIndex = 189; + this.label7.Text = "异常测量项数 : "; + this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // pbResult + // + this.pbResult.Location = new System.Drawing.Point(410, 22); + this.pbResult.Name = "pbResult"; + this.pbResult.Size = new System.Drawing.Size(304, 313); + this.pbResult.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pbResult.TabIndex = 188; + this.pbResult.TabStop = false; + // + // labResult + // + this.labResult.AutoSize = true; + this.labResult.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold); + this.labResult.ForeColor = System.Drawing.Color.Lime; + this.labResult.Location = new System.Drawing.Point(183, 311); + this.labResult.Name = "labResult"; + this.labResult.Size = new System.Drawing.Size(62, 31); + this.labResult.TabIndex = 187; + this.labResult.Text = "合格"; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold); + this.label16.ForeColor = System.Drawing.Color.White; + this.label16.Location = new System.Drawing.Point(54, 311); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(131, 31); + this.label16.TabIndex = 186; + this.label16.Text = "测量结果 : "; + // + // labResultPercent + // + this.labResultPercent.AutoSize = true; + this.labResultPercent.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold); + this.labResultPercent.ForeColor = System.Drawing.Color.Lime; + this.labResultPercent.Location = new System.Drawing.Point(183, 275); + this.labResultPercent.Name = "labResultPercent"; + this.labResultPercent.Size = new System.Drawing.Size(118, 31); + this.labResultPercent.TabIndex = 185; + this.labResultPercent.Text = "80.316%"; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold); + this.label14.ForeColor = System.Drawing.Color.White; + this.label14.Location = new System.Drawing.Point(78, 273); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(107, 31); + this.label14.TabIndex = 184; + this.label14.Text = "合格率 : "; + // + // labMeaTime + // + this.labMeaTime.AutoSize = true; + this.labMeaTime.Font = new System.Drawing.Font("微软雅黑", 13F); + this.labMeaTime.ForeColor = System.Drawing.Color.White; + this.labMeaTime.Location = new System.Drawing.Point(183, 242); + this.labMeaTime.Name = "labMeaTime"; + this.labMeaTime.Size = new System.Drawing.Size(193, 24); + this.labMeaTime.TabIndex = 183; + this.labMeaTime.Text = "2023-06-01 12:23:33"; + // + // label12 + // + this.label12.Font = new System.Drawing.Font("微软雅黑", 13F); + this.label12.ForeColor = System.Drawing.Color.White; + this.label12.Location = new System.Drawing.Point(16, 242); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(165, 24); + this.label12.TabIndex = 182; + this.label12.Text = "测量时间 : "; + this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // labNGCount + // + this.labNGCount.AutoSize = true; + this.labNGCount.Font = new System.Drawing.Font("微软雅黑", 13F); + this.labNGCount.ForeColor = System.Drawing.Color.White; + this.labNGCount.Location = new System.Drawing.Point(183, 134); + this.labNGCount.Name = "labNGCount"; + this.labNGCount.Size = new System.Drawing.Size(21, 24); + this.labNGCount.TabIndex = 181; + this.labNGCount.Text = "7"; + // + // label10 + // + this.label10.Font = new System.Drawing.Font("微软雅黑", 13F); + this.label10.ForeColor = System.Drawing.Color.White; + this.label10.Location = new System.Drawing.Point(12, 133); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(169, 24); + this.label10.TabIndex = 180; + this.label10.Text = "不合格测量项数 : "; + this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // labOKCount + // + this.labOKCount.AutoSize = true; + this.labOKCount.Font = new System.Drawing.Font("微软雅黑", 13F); + this.labOKCount.ForeColor = System.Drawing.Color.White; + this.labOKCount.Location = new System.Drawing.Point(183, 98); + this.labOKCount.Name = "labOKCount"; + this.labOKCount.Size = new System.Drawing.Size(32, 24); + this.labOKCount.TabIndex = 179; + this.labOKCount.Text = "45"; + // + // label8 + // + this.label8.Font = new System.Drawing.Font("微软雅黑", 13F); + this.label8.ForeColor = System.Drawing.Color.White; + this.label8.Location = new System.Drawing.Point(8, 97); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(173, 24); + this.label8.TabIndex = 178; + this.label8.Text = "合格测量项数 : "; + this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // labVIN + // + this.labVIN.AutoSize = true; + this.labVIN.Font = new System.Drawing.Font("微软雅黑", 13F); + this.labVIN.ForeColor = System.Drawing.Color.White; + this.labVIN.Location = new System.Drawing.Point(183, 25); + this.labVIN.Name = "labVIN"; + this.labVIN.Size = new System.Drawing.Size(215, 24); + this.labVIN.TabIndex = 177; + this.labVIN.Text = "LNNAJDDU1RDA00030"; + // + // label5 + // + this.label5.Font = new System.Drawing.Font("微软雅黑", 13F); + this.label5.ForeColor = System.Drawing.Color.White; + this.label5.Location = new System.Drawing.Point(29, 24); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(152, 24); + this.label5.TabIndex = 176; + this.label5.Text = "车身编号 : "; + this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // chartResultPie + // + this.chartResultPie.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.chartResultPie.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + chartArea1.Name = "ChartArea1"; + this.chartResultPie.ChartAreas.Add(chartArea1); + legend1.Alignment = System.Drawing.StringAlignment.Center; + legend1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + legend1.Docking = System.Windows.Forms.DataVisualization.Charting.Docking.Bottom; + legend1.Font = new System.Drawing.Font("Segoe UI", 10F); + legend1.ForeColor = System.Drawing.Color.White; + legend1.IsTextAutoFit = false; + legend1.Name = "Legend1"; + legend1.TitleForeColor = System.Drawing.Color.White; + this.chartResultPie.Legends.Add(legend1); + this.chartResultPie.Location = new System.Drawing.Point(3, 3); + this.chartResultPie.Name = "chartResultPie"; + this.chartResultPie.Palette = System.Windows.Forms.DataVisualization.Charting.ChartColorPalette.None; + this.chartResultPie.PaletteCustomColors = new System.Drawing.Color[] { + System.Drawing.Color.Green, + System.Drawing.Color.Orange, + System.Drawing.Color.Red}; + series1.ChartArea = "ChartArea1"; + series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Pie; + series1.Font = new System.Drawing.Font("微软雅黑", 10F); + series1.LabelForeColor = System.Drawing.Color.White; + series1.Legend = "Legend1"; + series1.Name = "Series1"; + this.chartResultPie.Series.Add(series1); + this.chartResultPie.Size = new System.Drawing.Size(728, 584); + this.chartResultPie.TabIndex = 0; + this.chartResultPie.Text = "chartFPY"; + title1.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + title1.ForeColor = System.Drawing.Color.White; + title1.Name = "Title1"; + title1.Text = "合格率"; + this.chartResultPie.Titles.Add(title1); + // + // rpvpSearch + // + this.rpvpSearch.Controls.Add(this.pnlPage); + this.rpvpSearch.Controls.Add(this.labSearchResult); + this.rpvpSearch.Controls.Add(this.radGroupBox1); + this.rpvpSearch.Controls.Add(this.chartFPYLine); + this.rpvpSearch.Controls.Add(this.dgvSelectMeasureData); + this.rpvpSearch.Controls.Add(this.dgvFPYResult); + this.rpvpSearch.Image = ((System.Drawing.Image)(resources.GetObject("rpvpSearch.Image"))); + this.rpvpSearch.ItemSize = new System.Drawing.SizeF(46F, 46F); + this.rpvpSearch.Location = new System.Drawing.Point(49, 35); + this.rpvpSearch.Name = "rpvpSearch"; + this.rpvpSearch.Size = new System.Drawing.Size(1868, 972); + this.rpvpSearch.Text = " 查询界面"; + // + // pnlPage + // + this.pnlPage.Controls.Add(this.rddlPageRecorderCount); + this.pnlPage.Controls.Add(this.rbtnFirtstPage); + this.pnlPage.Controls.Add(this.rbtnLastPage); + this.pnlPage.Controls.Add(this.rbtnPrevPage); + this.pnlPage.Controls.Add(this.rbtnNextPage); + this.pnlPage.Controls.Add(this.label3); + this.pnlPage.Controls.Add(this.labSumRecorders); + this.pnlPage.Controls.Add(this.labSumPages); + this.pnlPage.Controls.Add(this.labCurrentPage); + this.pnlPage.Location = new System.Drawing.Point(29, 930); + this.pnlPage.Name = "pnlPage"; + this.pnlPage.Size = new System.Drawing.Size(1205, 42); + this.pnlPage.TabIndex = 177; + // + // rddlPageRecorderCount + // + this.rddlPageRecorderCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.rddlPageRecorderCount.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rddlPageRecorderCount.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; + this.rddlPageRecorderCount.Font = new System.Drawing.Font("Segoe UI", 12F); + this.rddlPageRecorderCount.ForeColor = System.Drawing.Color.White; + radListDataItem1.Text = "20"; + radListDataItem2.Text = "50"; + radListDataItem3.Text = "100"; + radListDataItem4.Text = "200"; + this.rddlPageRecorderCount.Items.Add(radListDataItem1); + this.rddlPageRecorderCount.Items.Add(radListDataItem2); + this.rddlPageRecorderCount.Items.Add(radListDataItem3); + this.rddlPageRecorderCount.Items.Add(radListDataItem4); + this.rddlPageRecorderCount.Location = new System.Drawing.Point(718, 9); + this.rddlPageRecorderCount.Name = "rddlPageRecorderCount"; + // + // + // + this.rddlPageRecorderCount.RootElement.BorderHighlightColor = System.Drawing.Color.White; + this.rddlPageRecorderCount.RootElement.EnableBorderHighlight = true; + this.rddlPageRecorderCount.RootElement.HighlightColor = System.Drawing.Color.Red; + this.rddlPageRecorderCount.Size = new System.Drawing.Size(60, 27); + this.rddlPageRecorderCount.TabIndex = 177; + this.rddlPageRecorderCount.SelectedIndexChanged += new Telerik.WinControls.UI.Data.PositionChangedEventHandler(this.rddlPageRecorderCount_SelectedIndexChanged); + ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddlPageRecorderCount.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; + ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddlPageRecorderCount.GetChildAt(0))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.RadDropDownListEditableAreaElement)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(0))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.RadDropDownTextBoxElement)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(0))).Text = ""; + ((Telerik.WinControls.UI.RadDropDownTextBoxElement)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(0))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.RadDropDownTextBoxElement)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(0))).Visibility = Telerik.WinControls.ElementVisibility.Hidden; + ((Telerik.WinControls.UI.RadTextBoxItem)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(0).GetChildAt(0))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.LightVisualButtonElement)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(0).GetChildAt(3).GetChildAt(0))).BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.LightVisualButtonElement)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(0).GetChildAt(3).GetChildAt(0))).BorderInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.UI.LightVisualButtonElement)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(0).GetChildAt(3).GetChildAt(0))).Visibility = Telerik.WinControls.ElementVisibility.Collapsed; + ((Telerik.WinControls.UI.RadDropDownListArrowButtonElement)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1))).Image = null; + ((Telerik.WinControls.UI.RadDropDownListArrowButtonElement)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1))).RippleAnimationColor = System.Drawing.Color.Red; + ((Telerik.WinControls.UI.RadDropDownListArrowButtonElement)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1))).FocusBorderColor = System.Drawing.Color.DarkRed; + ((Telerik.WinControls.UI.RadDropDownListArrowButtonElement)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1))).HighlightColor = System.Drawing.Color.Red; + ((Telerik.WinControls.UI.RadDropDownListArrowButtonElement)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(1))).BoxStyle = Telerik.WinControls.BorderBoxStyle.SingleBorder; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(1))).BottomShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(226)))), ((int)(((byte)(42)))), ((int)(((byte)(42))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.ArrowPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(2))).Direction = Telerik.WinControls.ArrowDirection.Down; + ((Telerik.WinControls.Primitives.ArrowPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(2))).ForeColor = System.Drawing.Color.Crimson; + ((Telerik.WinControls.Primitives.ArrowPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(2))).RightToLeft = true; + ((Telerik.WinControls.Primitives.OverflowPrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(3))).ShadowColor = System.Drawing.Color.Red; + ((Telerik.WinControls.Primitives.ImagePrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(4))).Image = ((System.Drawing.Image)(resources.GetObject("resource.Image"))); + ((Telerik.WinControls.Primitives.ImagePrimitive)(this.rddlPageRecorderCount.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(4))).ForeColor = System.Drawing.Color.Crimson; + // + // rbtnFirtstPage + // + this.rbtnFirtstPage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.rbtnFirtstPage.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.rbtnFirtstPage.Font = new System.Drawing.Font("Segoe UI", 11F); + this.rbtnFirtstPage.ForeColor = System.Drawing.Color.White; + this.rbtnFirtstPage.Image = global::NSAnalysis.Properties.Resources.FirstPage; + this.rbtnFirtstPage.Location = new System.Drawing.Point(2, 8); + this.rbtnFirtstPage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.rbtnFirtstPage.Name = "rbtnFirtstPage"; + this.rbtnFirtstPage.Size = new System.Drawing.Size(65, 30); + this.rbtnFirtstPage.TabIndex = 68; + this.rbtnFirtstPage.Text = "首页"; + this.rbtnFirtstPage.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + this.rbtnFirtstPage.Click += new System.EventHandler(this.rbtnFirtstPage_Click); + this.rbtnFirtstPage.MouseLeave += new System.EventHandler(this.btn_MouseLeave); + this.rbtnFirtstPage.MouseHover += new System.EventHandler(this.btn_MouseHover); + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnFirtstPage.GetChildAt(0))).Image = global::NSAnalysis.Properties.Resources.FirstPage; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnFirtstPage.GetChildAt(0))).ImageAlignment = System.Drawing.ContentAlignment.MiddleLeft; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnFirtstPage.GetChildAt(0))).TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnFirtstPage.GetChildAt(0))).DisplayStyle = Telerik.WinControls.DisplayStyle.ImageAndText; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnFirtstPage.GetChildAt(0))).Text = "首页"; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnFirtstPage.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnFirtstPage.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnFirtstPage.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnFirtstPage.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnFirtstPage.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.Transparent; + // + // rbtnLastPage + // + this.rbtnLastPage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.rbtnLastPage.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.rbtnLastPage.Font = new System.Drawing.Font("Segoe UI", 11F); + this.rbtnLastPage.ForeColor = System.Drawing.Color.White; + this.rbtnLastPage.Image = global::NSAnalysis.Properties.Resources.LastPage; + this.rbtnLastPage.ImageAlignment = System.Drawing.ContentAlignment.MiddleRight; + this.rbtnLastPage.Location = new System.Drawing.Point(235, 9); + this.rbtnLastPage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.rbtnLastPage.Name = "rbtnLastPage"; + this.rbtnLastPage.Size = new System.Drawing.Size(65, 30); + this.rbtnLastPage.TabIndex = 71; + this.rbtnLastPage.Text = "末页"; + this.rbtnLastPage.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft; + this.rbtnLastPage.Click += new System.EventHandler(this.rbtnLastPage_Click); + this.rbtnLastPage.MouseLeave += new System.EventHandler(this.btn_MouseLeave); + this.rbtnLastPage.MouseHover += new System.EventHandler(this.btn_MouseHover); + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnLastPage.GetChildAt(0))).Image = global::NSAnalysis.Properties.Resources.LastPage; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnLastPage.GetChildAt(0))).ImageAlignment = System.Drawing.ContentAlignment.MiddleRight; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnLastPage.GetChildAt(0))).TextAlignment = System.Drawing.ContentAlignment.MiddleLeft; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnLastPage.GetChildAt(0))).DisplayStyle = Telerik.WinControls.DisplayStyle.ImageAndText; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnLastPage.GetChildAt(0))).Text = "末页"; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnLastPage.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnLastPage.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnLastPage.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnLastPage.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnLastPage.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.Transparent; + // + // rbtnPrevPage + // + this.rbtnPrevPage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.rbtnPrevPage.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.rbtnPrevPage.Font = new System.Drawing.Font("Segoe UI", 11F); + this.rbtnPrevPage.ForeColor = System.Drawing.Color.White; + this.rbtnPrevPage.Image = global::NSAnalysis.Properties.Resources.PrevPage; + this.rbtnPrevPage.Location = new System.Drawing.Point(73, 8); + this.rbtnPrevPage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.rbtnPrevPage.Name = "rbtnPrevPage"; + this.rbtnPrevPage.Size = new System.Drawing.Size(75, 30); + this.rbtnPrevPage.TabIndex = 69; + this.rbtnPrevPage.Text = "上一页"; + this.rbtnPrevPage.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + this.rbtnPrevPage.Click += new System.EventHandler(this.rbtnPrevPage_Click); + this.rbtnPrevPage.MouseLeave += new System.EventHandler(this.btn_MouseLeave); + this.rbtnPrevPage.MouseHover += new System.EventHandler(this.btn_MouseHover); + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnPrevPage.GetChildAt(0))).Image = global::NSAnalysis.Properties.Resources.PrevPage; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnPrevPage.GetChildAt(0))).ImageAlignment = System.Drawing.ContentAlignment.MiddleLeft; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnPrevPage.GetChildAt(0))).TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnPrevPage.GetChildAt(0))).DisplayStyle = Telerik.WinControls.DisplayStyle.ImageAndText; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnPrevPage.GetChildAt(0))).Text = "上一页"; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnPrevPage.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnPrevPage.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnPrevPage.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnPrevPage.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnPrevPage.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.Transparent; + // + // rbtnNextPage + // + this.rbtnNextPage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.rbtnNextPage.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.rbtnNextPage.Font = new System.Drawing.Font("Segoe UI", 11F); + this.rbtnNextPage.ForeColor = System.Drawing.Color.White; + this.rbtnNextPage.Image = global::NSAnalysis.Properties.Resources.NextPage; + this.rbtnNextPage.ImageAlignment = System.Drawing.ContentAlignment.MiddleRight; + this.rbtnNextPage.Location = new System.Drawing.Point(154, 8); + this.rbtnNextPage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.rbtnNextPage.Name = "rbtnNextPage"; + this.rbtnNextPage.Size = new System.Drawing.Size(75, 30); + this.rbtnNextPage.TabIndex = 70; + this.rbtnNextPage.Text = "下一页"; + this.rbtnNextPage.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft; + this.rbtnNextPage.Click += new System.EventHandler(this.rbtnNextPage_Click); + this.rbtnNextPage.MouseLeave += new System.EventHandler(this.btn_MouseLeave); + this.rbtnNextPage.MouseHover += new System.EventHandler(this.btn_MouseHover); + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnNextPage.GetChildAt(0))).Image = global::NSAnalysis.Properties.Resources.NextPage; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnNextPage.GetChildAt(0))).ImageAlignment = System.Drawing.ContentAlignment.MiddleRight; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnNextPage.GetChildAt(0))).TextAlignment = System.Drawing.ContentAlignment.MiddleLeft; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnNextPage.GetChildAt(0))).DisplayStyle = Telerik.WinControls.DisplayStyle.ImageAndText; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnNextPage.GetChildAt(0))).Text = "下一页"; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnNextPage.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnNextPage.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnNextPage.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnNextPage.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnNextPage.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.Transparent; + // + // label3 + // + this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Segoe UI", 11F); + this.label3.ForeColor = System.Drawing.Color.White; + this.label3.Location = new System.Drawing.Point(631, 13); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(89, 20); + this.label3.TabIndex = 75; + this.label3.Text = "每页条数:"; + // + // labSumRecorders + // + this.labSumRecorders.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.labSumRecorders.AutoSize = true; + this.labSumRecorders.Font = new System.Drawing.Font("Segoe UI", 11F); + this.labSumRecorders.ForeColor = System.Drawing.Color.White; + this.labSumRecorders.Location = new System.Drawing.Point(504, 13); + this.labSumRecorders.Name = "labSumRecorders"; + this.labSumRecorders.Size = new System.Drawing.Size(121, 20); + this.labSumRecorders.TabIndex = 74; + this.labSumRecorders.Text = "总共 12234 记录"; + // + // labSumPages + // + this.labSumPages.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.labSumPages.AutoSize = true; + this.labSumPages.Font = new System.Drawing.Font("Segoe UI", 11F); + this.labSumPages.ForeColor = System.Drawing.Color.White; + this.labSumPages.Location = new System.Drawing.Point(306, 13); + this.labSumPages.Name = "labSumPages"; + this.labSumPages.Size = new System.Drawing.Size(81, 20); + this.labSumPages.TabIndex = 73; + this.labSumPages.Text = "共 1234 页"; + // + // labCurrentPage + // + this.labCurrentPage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.labCurrentPage.AutoSize = true; + this.labCurrentPage.Font = new System.Drawing.Font("Segoe UI", 11F); + this.labCurrentPage.ForeColor = System.Drawing.Color.White; + this.labCurrentPage.Location = new System.Drawing.Point(393, 13); + this.labCurrentPage.Name = "labCurrentPage"; + this.labCurrentPage.Size = new System.Drawing.Size(105, 20); + this.labCurrentPage.TabIndex = 72; + this.labCurrentPage.Text = "当前页:1223"; + // + // labSearchResult + // + this.labSearchResult.Anchor = System.Windows.Forms.AnchorStyles.None; + this.labSearchResult.AutoSize = true; + this.labSearchResult.BackColor = System.Drawing.Color.Transparent; + this.labSearchResult.Font = new System.Drawing.Font("Segoe UI", 12F); + this.labSearchResult.ForeColor = System.Drawing.Color.Red; + this.labSearchResult.Location = new System.Drawing.Point(417, 484); + this.labSearchResult.Name = "labSearchResult"; + this.labSearchResult.Size = new System.Drawing.Size(452, 21); + this.labSearchResult.TabIndex = 176; + this.labSearchResult.Text = "查询完毕,未查询到任何结果,请检查查询条件是否正确!"; + this.labSearchResult.Visible = false; + // + // radGroupBox1 + // + this.radGroupBox1.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping; + this.radGroupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.radGroupBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.radGroupBox1.Controls.Add(this.rtbPartID); + this.radGroupBox1.Controls.Add(this.rbtSelectFPY); + this.radGroupBox1.Controls.Add(this.rbtnExportCSVReport); + this.radGroupBox1.Controls.Add(this.rdtpStartTime); + this.radGroupBox1.Controls.Add(this.rdtpEndTime); + this.radGroupBox1.Controls.Add(this.rbtnSearchMeaserData); + this.radGroupBox1.Controls.Add(this.radLabel15); + this.radGroupBox1.Controls.Add(this.radLabel1); + this.radGroupBox1.Controls.Add(this.radLabel11); + this.radGroupBox1.Font = new System.Drawing.Font("Segoe UI", 12F); + this.radGroupBox1.ForeColor = System.Drawing.Color.White; + this.radGroupBox1.HeaderText = "查询条件"; + this.radGroupBox1.Location = new System.Drawing.Point(29, 29); + this.radGroupBox1.Name = "radGroupBox1"; + this.radGroupBox1.Size = new System.Drawing.Size(1807, 86); + this.radGroupBox1.TabIndex = 20; + this.radGroupBox1.Text = "查询条件"; + ((Telerik.WinControls.UI.RadGroupBoxElement)(this.radGroupBox1.GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(158)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox1.GetChildAt(0).GetChildAt(0).GetChildAt(1))).GradientStyle = Telerik.WinControls.GradientStyles.Solid; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox1.GetChildAt(0).GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.Black; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox1.GetChildAt(0).GetChildAt(0).GetChildAt(1))).InnerColor2 = System.Drawing.Color.Transparent; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox1.GetChildAt(0).GetChildAt(0).GetChildAt(1))).InnerColor3 = System.Drawing.Color.Transparent; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox1.GetChildAt(0).GetChildAt(0).GetChildAt(1))).InnerColor4 = System.Drawing.Color.Transparent; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox1.GetChildAt(0).GetChildAt(0).GetChildAt(1))).ForeColor = System.Drawing.Color.Black; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox1.GetChildAt(0).GetChildAt(0).GetChildAt(1))).CustomFontSize = 10F; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox1.GetChildAt(0).GetChildAt(0).GetChildAt(1))).Opacity = 0.3D; + ((Telerik.WinControls.UI.GroupBoxHeader)(this.radGroupBox1.GetChildAt(0).GetChildAt(1))).BackColor = System.Drawing.Color.Aqua; + ((Telerik.WinControls.Primitives.FillPrimitive)(this.radGroupBox1.GetChildAt(0).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.radGroupBox1.GetChildAt(0).GetChildAt(1).GetChildAt(0))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox1.GetChildAt(0).GetChildAt(1).GetChildAt(1))).BackColor = System.Drawing.Color.Black; + // + // rtbPartID + // + this.rtbPartID.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.rtbPartID.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.rtbPartID.Font = new System.Drawing.Font("Segoe UI", 12F); + this.rtbPartID.ForeColor = System.Drawing.Color.White; + this.rtbPartID.Location = new System.Drawing.Point(183, 37); + this.rtbPartID.MaxLength = 50; + this.rtbPartID.Name = "rtbPartID"; + this.rtbPartID.Size = new System.Drawing.Size(192, 27); + this.rtbPartID.TabIndex = 1; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbPartID.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbPartID.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + // + // rbtSelectFPY + // + this.rbtSelectFPY.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.rbtSelectFPY.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.rbtSelectFPY.Font = new System.Drawing.Font("Segoe UI", 12F); + this.rbtSelectFPY.ForeColor = System.Drawing.Color.White; + this.rbtSelectFPY.Image = global::NSAnalysis.Properties.Resources.search16; + this.rbtSelectFPY.Location = new System.Drawing.Point(1357, 28); + this.rbtSelectFPY.Name = "rbtSelectFPY"; + this.rbtSelectFPY.Size = new System.Drawing.Size(146, 40); + this.rbtSelectFPY.TabIndex = 8; + this.rbtSelectFPY.Text = "查询合格率"; + this.rbtSelectFPY.Click += new System.EventHandler(this.rbtSelectFPY_Click); + this.rbtSelectFPY.MouseLeave += new System.EventHandler(this.btn_MouseLeave); + this.rbtSelectFPY.MouseHover += new System.EventHandler(this.btn_MouseHover); + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtSelectFPY.GetChildAt(0))).Image = global::NSAnalysis.Properties.Resources.search16; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtSelectFPY.GetChildAt(0))).Text = "查询合格率"; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtSelectFPY.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtSelectFPY.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtSelectFPY.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtSelectFPY.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtSelectFPY.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + // + // rbtnExportCSVReport + // + this.rbtnExportCSVReport.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.rbtnExportCSVReport.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.rbtnExportCSVReport.Font = new System.Drawing.Font("Segoe UI", 12F); + this.rbtnExportCSVReport.ForeColor = System.Drawing.Color.White; + this.rbtnExportCSVReport.Image = global::NSAnalysis.Properties.Resources.export; + this.rbtnExportCSVReport.Location = new System.Drawing.Point(1584, 27); + this.rbtnExportCSVReport.Name = "rbtnExportCSVReport"; + this.rbtnExportCSVReport.Size = new System.Drawing.Size(144, 40); + this.rbtnExportCSVReport.TabIndex = 8; + this.rbtnExportCSVReport.Text = "导出CSV报告"; + this.rbtnExportCSVReport.Visible = false; + this.rbtnExportCSVReport.Click += new System.EventHandler(this.rbtnExportCSVReport_Click); + this.rbtnExportCSVReport.MouseLeave += new System.EventHandler(this.btn_MouseLeave); + this.rbtnExportCSVReport.MouseHover += new System.EventHandler(this.btn_MouseHover); + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnExportCSVReport.GetChildAt(0))).Image = global::NSAnalysis.Properties.Resources.export; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnExportCSVReport.GetChildAt(0))).Text = "导出CSV报告"; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnExportCSVReport.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnExportCSVReport.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnExportCSVReport.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnExportCSVReport.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnExportCSVReport.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + // + // rdtpStartTime + // + this.rdtpStartTime.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.rdtpStartTime.Font = new System.Drawing.Font("Segoe UI", 12F); + this.rdtpStartTime.ForeColor = System.Drawing.Color.White; + this.rdtpStartTime.Location = new System.Drawing.Point(545, 37); + this.rdtpStartTime.MinDate = new System.DateTime(2023, 6, 1, 0, 0, 0, 0); + this.rdtpStartTime.Name = "rdtpStartTime"; + this.rdtpStartTime.Size = new System.Drawing.Size(140, 27); + this.rdtpStartTime.TabIndex = 39; + this.rdtpStartTime.TabStop = false; + this.rdtpStartTime.Text = "2023年6月1日"; + this.rdtpStartTime.Value = new System.DateTime(2023, 6, 1, 0, 0, 0, 0); + ((Telerik.WinControls.UI.RadDateTimePickerElement)(this.rdtpStartTime.GetChildAt(0))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadDateTimePickerElement)(this.rdtpStartTime.GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(1))).LeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(1))).TopColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(1))).RightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(1))).ForeColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(1))).ForeColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(1))).ForeColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(1))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2))).BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2))).BorderInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2))).BorderInnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2))).BorderLeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2))).BorderBottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadCheckBoxElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(0))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadCheckmark)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(1))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.CheckPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(2))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadMaskedEditBoxElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1))).Text = "2023年6月1日"; + ((Telerik.WinControls.UI.RadMaskedEditBoxElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadMaskedEditBoxElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); + ((Telerik.WinControls.UI.RadMaskedEditBoxElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadTextBoxItem)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(1))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(1))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(1))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.LightVisualButtonElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(3).GetChildAt(0))).BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.LightVisualButtonElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(3).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.LightVisualButtonElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(3).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.LightVisualButtonElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(3).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.LightVisualButtonElement)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(3).GetChildAt(0))).Visibility = Telerik.WinControls.ElementVisibility.Collapsed; + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).ForeColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).ForeColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).ForeColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpStartTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + // + // rdtpEndTime + // + this.rdtpEndTime.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.rdtpEndTime.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rdtpEndTime.Font = new System.Drawing.Font("Segoe UI", 12F); + this.rdtpEndTime.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.rdtpEndTime.Location = new System.Drawing.Point(896, 37); + this.rdtpEndTime.MinDate = new System.DateTime(2023, 6, 1, 0, 0, 0, 0); + this.rdtpEndTime.Name = "rdtpEndTime"; + this.rdtpEndTime.Size = new System.Drawing.Size(140, 27); + this.rdtpEndTime.TabIndex = 38; + this.rdtpEndTime.TabStop = false; + this.rdtpEndTime.Text = "2023年6月1日"; + this.rdtpEndTime.Value = new System.DateTime(2023, 6, 1, 0, 0, 0, 0); + ((Telerik.WinControls.UI.RadDateTimePickerElement)(this.rdtpEndTime.GetChildAt(0))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadDateTimePickerElement)(this.rdtpEndTime.GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(1))).LeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(1))).TopColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(1))).RightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(1))).ForeColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(1))).ForeColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(1))).ForeColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(1))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2))).BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2))).BorderInnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2))).BorderInnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2))).BorderLeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2))).BorderBottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.StackLayoutElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadCheckBoxElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(0))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadCheckmark)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(1))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.CheckPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(1).GetChildAt(1).GetChildAt(2))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadMaskedEditBoxElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1))).Text = "2023年6月1日"; + ((Telerik.WinControls.UI.RadMaskedEditBoxElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadMaskedEditBoxElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); + ((Telerik.WinControls.UI.RadMaskedEditBoxElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.RadTextBoxItem)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(1))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(1))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(1))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.LightVisualButtonElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(3).GetChildAt(0))).BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.LightVisualButtonElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(3).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.LightVisualButtonElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(3).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.LightVisualButtonElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(3).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.UI.LightVisualButtonElement)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(3).GetChildAt(0))).Visibility = Telerik.WinControls.ElementVisibility.Collapsed; + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).ForeColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).ForeColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).ForeColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rdtpEndTime.GetChildAt(0).GetChildAt(2).GetChildAt(2).GetChildAt(1))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + // + // rbtnSearchMeaserData + // + this.rbtnSearchMeaserData.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.rbtnSearchMeaserData.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.rbtnSearchMeaserData.Font = new System.Drawing.Font("Segoe UI", 12F); + this.rbtnSearchMeaserData.ForeColor = System.Drawing.Color.White; + this.rbtnSearchMeaserData.Image = global::NSAnalysis.Properties.Resources.search16; + this.rbtnSearchMeaserData.Location = new System.Drawing.Point(1142, 28); + this.rbtnSearchMeaserData.Name = "rbtnSearchMeaserData"; + this.rbtnSearchMeaserData.Size = new System.Drawing.Size(139, 40); + this.rbtnSearchMeaserData.TabIndex = 7; + this.rbtnSearchMeaserData.Text = "查询报告"; + this.rbtnSearchMeaserData.Click += new System.EventHandler(this.rbtnSearchMeaserData_Click); + this.rbtnSearchMeaserData.MouseLeave += new System.EventHandler(this.btn_MouseLeave); + this.rbtnSearchMeaserData.MouseHover += new System.EventHandler(this.btn_MouseHover); + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnSearchMeaserData.GetChildAt(0))).Image = global::NSAnalysis.Properties.Resources.search16; + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnSearchMeaserData.GetChildAt(0))).Text = "查询报告"; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnSearchMeaserData.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnSearchMeaserData.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnSearchMeaserData.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnSearchMeaserData.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnSearchMeaserData.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + // + // radLabel15 + // + this.radLabel15.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.radLabel15.Font = new System.Drawing.Font("Segoe UI", 12F); + this.radLabel15.ForeColor = System.Drawing.Color.White; + this.radLabel15.Location = new System.Drawing.Point(800, 38); + this.radLabel15.Name = "radLabel15"; + this.radLabel15.Size = new System.Drawing.Size(94, 25); + this.radLabel15.TabIndex = 36; + this.radLabel15.Text = "结束时间:"; + // + // radLabel1 + // + this.radLabel1.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.radLabel1.Font = new System.Drawing.Font("Segoe UI", 12F); + this.radLabel1.ForeColor = System.Drawing.Color.White; + this.radLabel1.Location = new System.Drawing.Point(449, 39); + this.radLabel1.Name = "radLabel1"; + this.radLabel1.Size = new System.Drawing.Size(94, 25); + this.radLabel1.TabIndex = 34; + this.radLabel1.Text = "开始时间:"; + // + // radLabel11 + // + this.radLabel11.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.radLabel11.Font = new System.Drawing.Font("Segoe UI", 12F); + this.radLabel11.ForeColor = System.Drawing.Color.White; + this.radLabel11.Location = new System.Drawing.Point(92, 37); + this.radLabel11.Name = "radLabel11"; + this.radLabel11.Size = new System.Drawing.Size(94, 25); + this.radLabel11.TabIndex = 28; + this.radLabel11.Text = "车身编号:"; + // + // chartFPYLine + // + this.chartFPYLine.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.chartFPYLine.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + chartArea2.AxisX.LabelStyle.ForeColor = System.Drawing.Color.White; + chartArea2.AxisX.LineColor = System.Drawing.Color.White; + chartArea2.AxisX.MajorGrid.LineColor = System.Drawing.Color.White; + chartArea2.AxisX.MajorGrid.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.NotSet; + chartArea2.AxisX.MajorTickMark.LineColor = System.Drawing.Color.White; + chartArea2.AxisX.MinorGrid.LineColor = System.Drawing.Color.White; + chartArea2.AxisX.MinorTickMark.LineColor = System.Drawing.Color.White; + chartArea2.AxisX.TitleForeColor = System.Drawing.Color.White; + chartArea2.AxisY.LabelStyle.ForeColor = System.Drawing.Color.White; + chartArea2.AxisY.LineColor = System.Drawing.Color.White; + chartArea2.AxisY.MajorGrid.LineColor = System.Drawing.Color.White; + chartArea2.AxisY.MajorGrid.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Dash; + chartArea2.AxisY.MajorTickMark.LineColor = System.Drawing.Color.White; + chartArea2.AxisY.MinorGrid.LineColor = System.Drawing.Color.White; + chartArea2.AxisY.MinorTickMark.LineColor = System.Drawing.Color.White; + chartArea2.AxisY.TitleForeColor = System.Drawing.Color.White; + chartArea2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + chartArea2.Name = "ChartArea1"; + this.chartFPYLine.ChartAreas.Add(chartArea2); + this.chartFPYLine.Location = new System.Drawing.Point(1240, 127); + this.chartFPYLine.Name = "chartFPYLine"; + series2.BorderWidth = 3; + series2.ChartArea = "ChartArea1"; + series2.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; + series2.Color = System.Drawing.Color.Lime; + series2.MarkerSize = 9; + series2.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.Circle; + series2.Name = "Series1"; + this.chartFPYLine.Series.Add(series2); + this.chartFPYLine.Size = new System.Drawing.Size(596, 517); + this.chartFPYLine.TabIndex = 77; + this.chartFPYLine.Text = "chartFPY"; + title2.Font = new System.Drawing.Font("微软雅黑", 12F); + title2.ForeColor = System.Drawing.Color.White; + title2.Name = "Title1"; + title2.Text = "合格率"; + this.chartFPYLine.Titles.Add(title2); + this.chartFPYLine.Visible = false; + // + // dgvSelectMeasureData + // + this.dgvSelectMeasureData.AllowUserToAddRows = false; + this.dgvSelectMeasureData.AllowUserToDeleteRows = false; + this.dgvSelectMeasureData.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.dgvSelectMeasureData.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.dgvSelectMeasureData.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.dgvSelectMeasureData.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.dgvSelectMeasureData.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4; + this.dgvSelectMeasureData.ColumnHeadersHeight = 37; + this.dgvSelectMeasureData.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.Column2, + this.dataGridViewTextBoxColumn1, + this.dataGridViewTextBoxColumn2, + this.dataGridViewTextBoxColumn3, + this.dataGridViewTextBoxColumn4, + this.dataGridViewTextBoxColumn5, + this.dataGridViewTextBoxColumn6, + this.dataGridViewTextBoxColumn7, + this.MeasureItemResult}); + this.dgvSelectMeasureData.EnableHeadersVisualStyles = false; + this.dgvSelectMeasureData.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(181)))), ((int)(((byte)(200))))); + this.dgvSelectMeasureData.Location = new System.Drawing.Point(30, 126); + this.dgvSelectMeasureData.Name = "dgvSelectMeasureData"; + this.dgvSelectMeasureData.ReadOnly = true; + this.dgvSelectMeasureData.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; + dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle5.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle5.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.dgvSelectMeasureData.RowHeadersDefaultCellStyle = dataGridViewCellStyle5; + this.dgvSelectMeasureData.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders; + dataGridViewCellStyle6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 10F); + dataGridViewCellStyle6.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + this.dgvSelectMeasureData.RowsDefaultCellStyle = dataGridViewCellStyle6; + this.dgvSelectMeasureData.RowTemplate.Height = 37; + this.dgvSelectMeasureData.Size = new System.Drawing.Size(1204, 805); + this.dgvSelectMeasureData.TabIndex = 174; + this.dgvSelectMeasureData.RowStateChanged += new System.Windows.Forms.DataGridViewRowStateChangedEventHandler(this.dgvSelectMeasureData_RowStateChanged); + // + // Column2 + // + this.Column2.DataPropertyName = "ProductNum"; + this.Column2.HeaderText = "车身编号"; + this.Column2.Name = "Column2"; + this.Column2.ReadOnly = true; + this.Column2.Width = 170; + // + // dataGridViewTextBoxColumn1 + // + this.dataGridViewTextBoxColumn1.DataPropertyName = "PointName"; + this.dataGridViewTextBoxColumn1.HeaderText = "测量点名称"; + this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1"; + this.dataGridViewTextBoxColumn1.ReadOnly = true; + this.dataGridViewTextBoxColumn1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.dataGridViewTextBoxColumn1.Width = 150; + // + // dataGridViewTextBoxColumn2 + // + this.dataGridViewTextBoxColumn2.DataPropertyName = "DimensionName"; + this.dataGridViewTextBoxColumn2.HeaderText = "尺寸名"; + this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2"; + this.dataGridViewTextBoxColumn2.ReadOnly = true; + this.dataGridViewTextBoxColumn2.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.dataGridViewTextBoxColumn2.Width = 80; + // + // dataGridViewTextBoxColumn3 + // + this.dataGridViewTextBoxColumn3.DataPropertyName = "NominalValue"; + this.dataGridViewTextBoxColumn3.HeaderText = "理论值"; + this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3"; + this.dataGridViewTextBoxColumn3.ReadOnly = true; + this.dataGridViewTextBoxColumn3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + // + // dataGridViewTextBoxColumn4 + // + this.dataGridViewTextBoxColumn4.DataPropertyName = "LowerLimit"; + this.dataGridViewTextBoxColumn4.HeaderText = "下公差"; + this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4"; + this.dataGridViewTextBoxColumn4.ReadOnly = true; + this.dataGridViewTextBoxColumn4.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + // + // dataGridViewTextBoxColumn5 + // + this.dataGridViewTextBoxColumn5.DataPropertyName = "UpperLimit"; + this.dataGridViewTextBoxColumn5.HeaderText = "上公差"; + this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5"; + this.dataGridViewTextBoxColumn5.ReadOnly = true; + this.dataGridViewTextBoxColumn5.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + // + // dataGridViewTextBoxColumn6 + // + this.dataGridViewTextBoxColumn6.DataPropertyName = "DimensionValue"; + this.dataGridViewTextBoxColumn6.HeaderText = "实测值"; + this.dataGridViewTextBoxColumn6.Name = "dataGridViewTextBoxColumn6"; + this.dataGridViewTextBoxColumn6.ReadOnly = true; + this.dataGridViewTextBoxColumn6.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + // + // dataGridViewTextBoxColumn7 + // + this.dataGridViewTextBoxColumn7.DataPropertyName = "MeasureDateTime"; + this.dataGridViewTextBoxColumn7.HeaderText = "测量时间"; + this.dataGridViewTextBoxColumn7.Name = "dataGridViewTextBoxColumn7"; + this.dataGridViewTextBoxColumn7.ReadOnly = true; + this.dataGridViewTextBoxColumn7.Width = 190; + // + // MeasureItemResult + // + this.MeasureItemResult.DataPropertyName = "Classification"; + this.MeasureItemResult.HeaderText = "结果"; + this.MeasureItemResult.Name = "MeasureItemResult"; + this.MeasureItemResult.ReadOnly = true; + this.MeasureItemResult.Width = 120; + // + // dgvFPYResult + // + this.dgvFPYResult.AllowUserToAddRows = false; + this.dgvFPYResult.AllowUserToDeleteRows = false; + this.dgvFPYResult.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.dgvFPYResult.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.dgvFPYResult.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.dgvFPYResult.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; + dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle7.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle7.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.dgvFPYResult.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7; + this.dgvFPYResult.ColumnHeadersHeight = 37; + this.dgvFPYResult.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.dataGridViewTextBoxColumn9, + this.dataGridViewTextBoxColumn10, + this.dataGridViewTextBoxColumn11, + this.dataGridViewTextBoxColumn12, + this.dataGridViewTextBoxColumn13, + this.dataGridViewTextBoxColumn14, + this.dataGridViewTextBoxColumn16, + this.SMResult}); + this.dgvFPYResult.EnableHeadersVisualStyles = false; + this.dgvFPYResult.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(181)))), ((int)(((byte)(200))))); + this.dgvFPYResult.Location = new System.Drawing.Point(29, 126); + this.dgvFPYResult.Name = "dgvFPYResult"; + this.dgvFPYResult.ReadOnly = true; + this.dgvFPYResult.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; + dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle8.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle8.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.dgvFPYResult.RowHeadersDefaultCellStyle = dataGridViewCellStyle8; + this.dgvFPYResult.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders; + dataGridViewCellStyle9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle9.Font = new System.Drawing.Font("微软雅黑", 10F); + dataGridViewCellStyle9.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle9.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + this.dgvFPYResult.RowsDefaultCellStyle = dataGridViewCellStyle9; + this.dgvFPYResult.RowTemplate.Height = 37; + this.dgvFPYResult.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.dgvFPYResult.Size = new System.Drawing.Size(1205, 798); + this.dgvFPYResult.TabIndex = 175; + this.dgvFPYResult.Visible = false; + this.dgvFPYResult.RowStateChanged += new System.Windows.Forms.DataGridViewRowStateChangedEventHandler(this.dgvFPYResult_RowStateChanged); + // + // dataGridViewTextBoxColumn9 + // + this.dataGridViewTextBoxColumn9.DataPropertyName = "CarID"; + this.dataGridViewTextBoxColumn9.HeaderText = "车身编号"; + this.dataGridViewTextBoxColumn9.Name = "dataGridViewTextBoxColumn9"; + this.dataGridViewTextBoxColumn9.ReadOnly = true; + this.dataGridViewTextBoxColumn9.Width = 200; + // + // dataGridViewTextBoxColumn10 + // + this.dataGridViewTextBoxColumn10.DataPropertyName = "SumMeasureItems"; + this.dataGridViewTextBoxColumn10.HeaderText = "总测量项"; + this.dataGridViewTextBoxColumn10.Name = "dataGridViewTextBoxColumn10"; + this.dataGridViewTextBoxColumn10.ReadOnly = true; + this.dataGridViewTextBoxColumn10.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.dataGridViewTextBoxColumn10.Width = 150; + // + // dataGridViewTextBoxColumn11 + // + this.dataGridViewTextBoxColumn11.DataPropertyName = "GoodMeasureItems"; + this.dataGridViewTextBoxColumn11.HeaderText = "合格测量项"; + this.dataGridViewTextBoxColumn11.Name = "dataGridViewTextBoxColumn11"; + this.dataGridViewTextBoxColumn11.ReadOnly = true; + this.dataGridViewTextBoxColumn11.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + // + // dataGridViewTextBoxColumn12 + // + this.dataGridViewTextBoxColumn12.DataPropertyName = "NoGoodMeasureItems"; + this.dataGridViewTextBoxColumn12.HeaderText = "不合格测量项"; + this.dataGridViewTextBoxColumn12.Name = "dataGridViewTextBoxColumn12"; + this.dataGridViewTextBoxColumn12.ReadOnly = true; + this.dataGridViewTextBoxColumn12.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.dataGridViewTextBoxColumn12.Width = 110; + // + // dataGridViewTextBoxColumn13 + // + this.dataGridViewTextBoxColumn13.DataPropertyName = "RejectMeasureItems"; + this.dataGridViewTextBoxColumn13.HeaderText = "异常测量项"; + this.dataGridViewTextBoxColumn13.Name = "dataGridViewTextBoxColumn13"; + this.dataGridViewTextBoxColumn13.ReadOnly = true; + this.dataGridViewTextBoxColumn13.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + // + // dataGridViewTextBoxColumn14 + // + this.dataGridViewTextBoxColumn14.DataPropertyName = "FPY"; + this.dataGridViewTextBoxColumn14.HeaderText = "合格率"; + this.dataGridViewTextBoxColumn14.Name = "dataGridViewTextBoxColumn14"; + this.dataGridViewTextBoxColumn14.ReadOnly = true; + this.dataGridViewTextBoxColumn14.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + // + // dataGridViewTextBoxColumn16 + // + this.dataGridViewTextBoxColumn16.DataPropertyName = "MeasureDate"; + this.dataGridViewTextBoxColumn16.HeaderText = "测量时间"; + this.dataGridViewTextBoxColumn16.Name = "dataGridViewTextBoxColumn16"; + this.dataGridViewTextBoxColumn16.ReadOnly = true; + this.dataGridViewTextBoxColumn16.Width = 190; + // + // SMResult + // + this.SMResult.DataPropertyName = "Result"; + this.SMResult.HeaderText = "结果"; + this.SMResult.Name = "SMResult"; + this.SMResult.ReadOnly = true; + // + // rpvpSetup + // + this.rpvpSetup.Controls.Add(this.lpcToleranceSetup); + this.rpvpSetup.Controls.Add(this.lpcShowLog); + this.rpvpSetup.Controls.Add(this.lpcSoftwareSetup); + this.rpvpSetup.Controls.Add(this.lpcAboutSoftware); + this.rpvpSetup.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.rpvpSetup.Image = ((System.Drawing.Image)(resources.GetObject("rpvpSetup.Image"))); + this.rpvpSetup.ItemSize = new System.Drawing.SizeF(46F, 46F); + this.rpvpSetup.Location = new System.Drawing.Point(49, 35); + this.rpvpSetup.Name = "rpvpSetup"; + this.rpvpSetup.Size = new System.Drawing.Size(1868, 972); + this.rpvpSetup.Text = " 软件设置"; + // + // lpcToleranceSetup + // + this.lpcToleranceSetup.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.lpcToleranceSetup.Font = new System.Drawing.Font("Segoe UI", 9.75F); + this.lpcToleranceSetup.ForeColor = System.Drawing.Color.White; + this.lpcToleranceSetup.LabelPoint = new System.Drawing.Point(3, 59); + this.lpcToleranceSetup.LabelText = "数据分发"; + this.lpcToleranceSetup.LabelTopImage = global::NSAnalysis.Properties.Resources.Config; + this.lpcToleranceSetup.Location = new System.Drawing.Point(166, 37); + this.lpcToleranceSetup.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.lpcToleranceSetup.Name = "lpcToleranceSetup"; + this.lpcToleranceSetup.Size = new System.Drawing.Size(113, 85); + this.lpcToleranceSetup.TabIndex = 458; + // + // lpcShowLog + // + this.lpcShowLog.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.lpcShowLog.Font = new System.Drawing.Font("Segoe UI", 9.75F); + this.lpcShowLog.ForeColor = System.Drawing.Color.White; + this.lpcShowLog.LabelPoint = new System.Drawing.Point(2, 59); + this.lpcShowLog.LabelText = "显示LOG"; + this.lpcShowLog.LabelTopImage = global::NSAnalysis.Properties.Resources.LOG; + this.lpcShowLog.Location = new System.Drawing.Point(322, 37); + this.lpcShowLog.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.lpcShowLog.Name = "lpcShowLog"; + this.lpcShowLog.Size = new System.Drawing.Size(86, 85); + this.lpcShowLog.TabIndex = 456; + this.lpcShowLog.Click += new System.EventHandler(this.lpcShowLog_Click); + // + // lpcSoftwareSetup + // + this.lpcSoftwareSetup.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.lpcSoftwareSetup.Font = new System.Drawing.Font("Segoe UI", 9.75F); + this.lpcSoftwareSetup.ForeColor = System.Drawing.Color.White; + this.lpcSoftwareSetup.LabelPoint = new System.Drawing.Point(3, 59); + this.lpcSoftwareSetup.LabelText = "软件设置"; + this.lpcSoftwareSetup.LabelTopImage = global::NSAnalysis.Properties.Resources.setupgreen32; + this.lpcSoftwareSetup.Location = new System.Drawing.Point(37, 37); + this.lpcSoftwareSetup.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.lpcSoftwareSetup.Name = "lpcSoftwareSetup"; + this.lpcSoftwareSetup.Size = new System.Drawing.Size(86, 85); + this.lpcSoftwareSetup.TabIndex = 453; + this.lpcSoftwareSetup.Click += new System.EventHandler(this.lpcSoftwareSetup_Click); + // + // lpcAboutSoftware + // + this.lpcAboutSoftware.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.lpcAboutSoftware.Font = new System.Drawing.Font("Segoe UI", 9.75F); + this.lpcAboutSoftware.ForeColor = System.Drawing.Color.White; + this.lpcAboutSoftware.LabelPoint = new System.Drawing.Point(2, 59); + this.lpcAboutSoftware.LabelText = "关于软件"; + this.lpcAboutSoftware.LabelTopImage = global::NSAnalysis.Properties.Resources.About32; + this.lpcAboutSoftware.Location = new System.Drawing.Point(451, 37); + this.lpcAboutSoftware.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.lpcAboutSoftware.Name = "lpcAboutSoftware"; + this.lpcAboutSoftware.Size = new System.Drawing.Size(86, 85); + this.lpcAboutSoftware.TabIndex = 450; + this.lpcAboutSoftware.Click += new System.EventHandler(this.lpcAboutSoftware_Click); + // + // tmSystem + // + this.tmSystem.Enabled = true; + this.tmSystem.Interval = 1000; + this.tmSystem.Tick += new System.EventHandler(this.tmSystem_Tick); + // + // tmrMonitorDBToCreateReport + // + this.tmrMonitorDBToCreateReport.Interval = 1000; + this.tmrMonitorDBToCreateReport.Tick += new System.EventHandler(this.tmrMonitorDBToCreateReport_Tick); + // + // FormMain + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); + this.BorderWidth = 0; + this.ClientSize = new System.Drawing.Size(1920, 1080); + this.Controls.Add(this.RPV); + this.Controls.Add(this.radStatusStrip1); + this.Controls.Add(this.radTitleBar1); + this.Font = new System.Drawing.Font("宋体", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.ForeColor = System.Drawing.Color.White; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "FormMain"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "海克斯康间隙面差分析系统"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormMain_FormClosing); + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FormMain_FormClosed); + this.Load += new System.EventHandler(this.FormMain_Load); + ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit(); + this.radTitleBar1.ResumeLayout(false); + this.radTitleBar1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.radStatusStrip1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.RPV)).EndInit(); + this.RPV.ResumeLayout(false); + this.rpvpAnalysis.ResumeLayout(false); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel1.PerformLayout(); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvMeasureContent)).EndInit(); + this.splitContainer2.Panel1.ResumeLayout(false); + this.splitContainer2.Panel1.PerformLayout(); + this.splitContainer2.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); + this.splitContainer2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pbResult)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.chartResultPie)).EndInit(); + this.rpvpSearch.ResumeLayout(false); + this.rpvpSearch.PerformLayout(); + this.pnlPage.ResumeLayout(false); + this.pnlPage.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.rddlPageRecorderCount)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnFirtstPage)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnLastPage)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnPrevPage)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnNextPage)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.radGroupBox1)).EndInit(); + this.radGroupBox1.ResumeLayout(false); + this.radGroupBox1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.rtbPartID)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtSelectFPY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnExportCSVReport)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rdtpStartTime)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rdtpEndTime)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnSearchMeaserData)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel15)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel11)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.chartFPYLine)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSelectMeasureData)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvFPYResult)).EndInit(); + this.rpvpSetup.ResumeLayout(false); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private Telerik.WinControls.UI.RadTitleBar radTitleBar1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label labTitle; + private Telerik.WinControls.UI.RadStatusStrip radStatusStrip1; + private Telerik.WinControls.UI.RadLabelElement rleTimeText; + private Telerik.WinControls.UI.RadLabelElement rleTime; + private Telerik.WinControls.UI.CommandBarSeparator commandBarSeparator3; + private Telerik.WinControls.UI.RadLabelElement rleMessageText; + public Telerik.WinControls.UI.RadLabelElement rleMessage; + public Telerik.WinControls.UI.RadPageView RPV; + public Telerik.WinControls.UI.RadPageViewPage rpvpAnalysis; + public Telerik.WinControls.UI.RadPageViewPage rpvpSetup; + private Telerik.WinControls.UI.RadPageViewPage rpvpSearch; + private Telerik.WinControls.UI.RadGroupBox radGroupBox1; + private Telerik.WinControls.UI.RadDateTimePicker rdtpStartTime; + private Telerik.WinControls.UI.RadDateTimePicker rdtpEndTime; + private Telerik.WinControls.UI.RadButton rbtnSearchMeaserData; + private Telerik.WinControls.UI.RadLabel radLabel15; + private Telerik.WinControls.UI.RadLabel radLabel1; + private Telerik.WinControls.UI.RadTextBox rtbPartID; + private Telerik.WinControls.UI.RadLabel radLabel11; + private System.Windows.Forms.SplitContainer splitContainer1; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.ListBox lbCSVFiles; + public System.Windows.Forms.DataGridView dgvMeasureContent; + private System.Windows.Forms.SplitContainer splitContainer2; + private System.Windows.Forms.Label labResult; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.Label labResultPercent; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.Label labMeaTime; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Label labNGCount; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.Label labOKCount; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label labVIN; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.DataVisualization.Charting.Chart chartResultPie; + private Telerik.WinControls.UI.RadButton rbtnExportCSVReport; + private System.Windows.Forms.DataVisualization.Charting.Chart chartFPYLine; + private System.Windows.Forms.Timer tmSystem; + private System.Windows.Forms.PictureBox pbResult; + private System.Windows.Forms.Label labRejectCount; + private System.Windows.Forms.Label label7; + public System.Windows.Forms.DataGridView dgvSelectMeasureData; + public System.Windows.Forms.DataGridView dgvFPYResult; + private Telerik.WinControls.UI.RadButton rbtSelectFPY; + private LabPictureControl lpcAboutSoftware; + private System.Windows.Forms.Label labSearchResult; + private System.Windows.Forms.Label labSumMeasureCount; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.Panel pnlPage; + private Telerik.WinControls.UI.RadButton rbtnFirtstPage; + private Telerik.WinControls.UI.RadButton rbtnLastPage; + private Telerik.WinControls.UI.RadButton rbtnPrevPage; + private Telerik.WinControls.UI.RadDropDownList rddlPageRecorderCount; + private Telerik.WinControls.UI.RadButton rbtnNextPage; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label labSumRecorders; + private System.Windows.Forms.Label labSumPages; + private System.Windows.Forms.Label labCurrentPage; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn9; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn10; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn11; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn12; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn13; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn14; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn16; + private System.Windows.Forms.DataGridViewTextBoxColumn SMResult; + private Telerik.WinControls.UI.CommandBarSeparator commandBarSeparator4; + private Telerik.WinControls.UI.RadLabelElement radLabelElement2; + private Telerik.WinControls.UI.RadLabelElement rleReadCSVStatus; + private System.Windows.Forms.Label labCarType; + private System.Windows.Forms.Label label24; + private LabPictureControl lpcShowLog; + private System.Windows.Forms.Timer tmrMonitorDBToCreateReport; + private LabPictureControl lpcSoftwareSetup; + private LabPictureControl lpcToleranceSetup; + private System.Windows.Forms.DataGridViewTextBoxColumn PointName; + private System.Windows.Forms.DataGridViewTextBoxColumn DimensionName; + private System.Windows.Forms.DataGridViewTextBoxColumn NormalVal; + private System.Windows.Forms.DataGridViewTextBoxColumn LowerTolVal; + private System.Windows.Forms.DataGridViewTextBoxColumn UpperTolVal; + private System.Windows.Forms.DataGridViewTextBoxColumn MeasureValue; + private System.Windows.Forms.DataGridViewTextBoxColumn MeasureDateTime; + private System.Windows.Forms.DataGridViewTextBoxColumn Classification; + private System.Windows.Forms.DataGridViewTextBoxColumn Column2; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7; + private System.Windows.Forms.DataGridViewTextBoxColumn MeasureItemResult; + } +} diff --git a/Analysis/backup/FormMain.resx b/Analysis/backup/FormMain.resx new file mode 100644 index 0000000..7878e21 --- /dev/null +++ b/Analysis/backup/FormMain.resx @@ -0,0 +1,381 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + + iVBORw0KGgoAAAANSUhEUgAAAB4AAAAYCAYAAADtaU2/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH5AkVCAAngM/SOwAAAoNJREFU + SEu1lsvLTWEUh7cIJQbEwIRipoSRiRiIAf4AxcB1YGJgIkWhFBHKyOQrA5JigmKipIQJGZCJWwauySWX + iOf5etfu/XbrHMftV0/tvd61fr/O2e9+z2kG1GRYAUfgGjyFtwWvrblmj71/rSmwGa7Ce/jxC+yx1xln + f1ujYDlo8h26AbdhS8Hr7rozzuqh10AaC9vgNXQN5Q0shpDX1rJePfTSs69s2A1fIDOS+zANQlPBWtYr + X0HPvuFbIUJvwTG4At9KTd7BKgh5bS3W7XXGWT2s6al3Kr+yF2DjdZgByl16DsJYHsK+gtf1mr2xs/XQ + y7reS2CEJsEliOG9UGsjxFoXN5LPODbhBqilV/SaYVar1eCziIaTMAZC+yHWupyA+XC53Nsb0kOv6DXD + rGFNgIsQi/IRNFgK2+EV1OuBz24lqONgzV5nnNVDr3rGLDObRdDL+HNSq3kEM8Gv72apBb1mzTKz2VUK + f8J5GA0LoNe7nGFmc6Eq+CoMcjQGO0F5RGbrgZ71K2lm+/J72G+ChbAHPkA0ZnyCZaCGIOvRQy899TbD + upnN83Kzw5sid+MZqE26PIDp4I/BnVLrokf9dphh3cz22azxptJRqE0Cd7KGsZvnwkvIevWoZYZ1M5sn + 5eYseO6qOXAXapPgIIyHkNeHIOvVQy+ltxnWzWzPU08ejzcPhHul1uUxzIKurLmWzeilp95xuvnq9dwY + GQ6MOPKKJsINyGYyzGzWQ31c9sNPNRu66veJu5i1DoaH3KFZU4bPeByEvD4AWW+GWe3jOgxZU4ZH4SlY + C+7S06WW9WaY1WoePIOs8V9ihlmt/EPm3xP/SXja/A/0NoOspvkJxD7h7QqkS00AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAUAAAAECAYAAABGM/VAAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAACFJREFUGFdjEHXq/o+OGf4DAbIACDCAAEwCLgADCAEGBgDP4STWpID5ywAAAABJ + RU5ErkJggg== + + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH5AEGATc06Xu77gAAAihJREFU + WEft1j1rFUEUgOH1IwYLCzEKSSAQVLBRkkZ/gEYs468w1iJoY6ud2gqKIfEXWAh2GhNrP8DYRcEETaNi + YSHq+152YLKe3J1ELiLcAw8sO2fO7MfM7Fb96Mf/GIPYj0MYrXnsOdt6EgdwGlcwjwW8wErNY8/ZZo65 + 9vnrGMclLOIzfhUy1z72tcaWYx8uwDv7iWiQEva1hrWsWRSHMYfviIomX7FW8zjKSaxlTWt3jUk8RVQk + ccDbOIcjNY89Z1vUJ7H2BMI4jueIOiYvcRY7sAvOfnls2GZO1Dd5hmPYEMN4hKhD4t05gOFd3MNy7S58 + eoY5bU/iIRyzEwO4jrbJdgs7YVxEc468wkkY5uZtTY51A3tQnccnRInJF5xBir24hm/I8+5jN8y1T97W + 5JiO3VmvUUJuFc5g372PbgRHcQc/kPLe4CBc+/bJa0Qcu1rKTmzGYhZ1d3uCD3iPj8hfnRfgpCy9AFdF + 8Stwe3W+uN1GOZpF6StYxzQ6E8EJ0TYJb8I4hddotnvONsPcZntuwyQ0fK8ujSg5cWlNwXDJufTe1vJl + aM6WlmEKNwc3iahD4iaTLiLaiGxr24iceH9sRClO4DGijomTy3Xe3Io91zbxrO0YXWMMTqaSj5EDquRj + ZE1rF4Wfzhn4ONsmZzf2tYa1ij/HebieL2O7PyT23dYPSTOG4D5wFQ/g75d39q7msedsM8dc+/Qk/slP + aT/60aOoqt9oGogfMlqpmgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH5AQOAhEQGbTF3QAABH1JREFU + WEe111mobmMcx/FtnnKcDJlFiDLPM+UgQy50RIZSCDdKUUKIQm7IkIgoKQ7HPAtlvJFypSjKPBbKPP8+ + 613/09rLepe95fzqe1rredd+hv/4nJn/oLXDHeHP8FfLH+H+sF5Y7jo2/BK+Dx+0eP49LA7/m1YJq00e + Z+mS4NS3hc1abmzHrg59rdoyL+0floanw6mhNrJCuC9Y7CwDrU4Jxh4PKxmIHODE8FQwfniYkw4I7wYT + 4tdwe9gu7BHeDj+Fg0PJ+HfhvbBf2DrcHHxX83wcjg6jcvJ3Qp3mivB5+87X9fxG2CCUFoZXgt++CO+3 + z1+GK4O5vNvEkWFQTMbsPvQHGwdikWeC03wdHgoHhb72CtzzVfg5vBgODbRJeCyYm0uGYqsZtJCPnLwr + Jzww7BrGAsohdgm+XddARxcGcz8fVjcwJAHH558F7hjTgrBlyzoGRrRb4MLfwhkGpokVBJydsoaT97Vj + uCow6Ustj7ZjfutrrVCuvSesEUYl2u2Wz5myJL1OD8+FywKfb9Gye1Af/HZ2qFSkfYNCJThZYlTyXEqJ + dgHH5yWLvxz2bN4m324YBOuKBiIWeCSc07xNtH34JHwTBK+/myW1XXm9OIhiec5cD4YKOBM7XS1uk3cH + qYcHQtWFHYJva/M2d2cwpxTXMy4Nx4UmUDUWtd0HYHp53k01/mV2svibwdhOwYKXh7dCpd0F4brJYyOm + fz38GGodAWnjTVfjI7VdeXWSbpER7QKOz5nPyS3elxhgtZXDzkEZ73bH9YOYOjPcGqxpI80/gk5TGZI0 + E+mCbaPA5E7el+B9LZjHARScrcKQfGPNOW9A8NmAgLMBZu9rm/Bq2DzYwJNh2gY2Dcs24DLBHDeEkwMf + d/NfkZHn/Cig+K3ioavzg3xXDW3w2dB1pXmk60nh+rDMBaLSZcILdDUmr4gnPudjOiQIuIsCszu5xQXm + okDnhZsmj41s6IVg7lrHmg7WBMrx4ZrwRKhOdm9wGqo0rEon2gUcn3OJk9fi2wbf7t28TaxW1fXDIDau + DSeEf1zhRLAeoI3qaqK5pMI9HMr/vhU3fF4btfiScG7zNhEracPfhsOCvxuVywQraKn9UqzCOZ08lwl8 + LL1sitn53eLdUuxAPwQNbqhXzJKTuMkwl37eb6kkGAWRPBfp3GZhPi+zd6XS1oXkrjB4Fyi5w6mEXFBV + bZr4T5qhG+1DsjH9QKs/zcCQ1H0BYqeuUV1pqfsEjaUaz5D8xufuhU7eVd2mp15IbIA5faT01pVMUxHl + 8tYpNJZulyyJA9H+UeDzKt+0ZrglmJvrprrhiCBifShHXaOqYnGLlupZYxF8Jf1CnvtNtAs4zzasy9bi + n4ajwqiOCbUJ6FpuMoJPh9RSdbVuhqhwiow8l2qiXcDxec1jcW1/TrJL8eBU7nB1jdINlWITdu92yqsx + f1N5zswCjs+Z/V9P3pcJhoLFZcJiWqpCpLFIS2MqXF/mGE29+cpNhlsEpfiAZ7VdeV3uUpzKDV0E7Tz/ + ez4z8zeeNDGa23P9IwAAAABJRU5ErkJggg== + + + + 17, 17 + + + 128, 17 + + + 25 + + + + AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACt5tMNidzBKYTbviZ92LoOedi5AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAzO/jAbfp2C6J3MGShNu+h3zYujF52LkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACS3sYvgtq+anrYuquB2r22ftm7z4DZvKuL3MJWzvDkBM7w5AEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAbtSzA3nXuWh82Lqnedi5rI7dxGaB2r3Hfdi734DZvbuf4sx4jt3DNn7Z + uxIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB01bYieNe4nXrYudR52LmsmODJIoPavqJ72Lrpedi5/H3Y + u9Z92LqEfdi6TYjbwCaX4MgIl+DIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIfbwHp+2bvQedi55XnYuawAAAAAf9m8XXzY + urR52Ln/edi5/3nYuf982LrZgtm9mJfgyCCX4MgGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIbbvweG278aftm733vYufh52Lnledi5rAAA + AACN3MITiNvAZ3rYueh52Ln/edi5/3nYuft62Ln0ftm744Tavo6N3cNDld/HCgAAAAAAAAAAAAAAAAAA + AAAAAAAA2cuMB9fIhRXTwnUw08J1MNPCdTDTwnUw08J1MNPCdTDTwnUwssiKQI/PonCC0aXzgdCl/oLQ + pOmGz6O608J1MLzLkDWp0J5tktKoyYDQpf+A0KX/gNCl/4DQpf+B0aX8hNGn1IrSqKeRz59yoLhlKKC4 + ZQUAAAAAAAAAAAAAAADXyIYT18mHNNXFfW7Tw3h308J2etPCdXvTwnV708J1e9LBc3vFv3GNnrxvwZK/ + dvuRv3b/lMB58ZvBfdLTwnV708J1e8bFgJSuy5LDk8J+/5HAeP+Rv3b/kb92/5G/dv+Rv3b/kr5085e7 + bMylsFBarKg5CwAAAAAAAAAAAAAAANbGfyrXx4Js3tGbw9fIhezUxHr608J1/9PCdf/TwnX/0L5s/8qy + Tv+7lwv/upYI/7qWCP+8mxb/w6Y1/9PCdf/TwnX/08J1/9HAcP/Coyv/vJkQ/7qWCP+6lgj/upYI/7qW + CP+6lgj/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08N4KtTDeG7YyojW5dmwWeHUo3TZyom71MR6/dPC + df/Jsk7/wKIn/7qWCP+6lgj/upYI/72bFv/DpjX/08J1/9PCdf/TwnX/0sFz/824X/+/nyD/upYK/7qW + CP+6lgj/upYI/7qWCP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J2cdXFfe3g1KJu4NSiTtrL + jljay42RzMN84sKtQ/e8mhX/upYI/7qWCP+7lwn/vZsW/8OmNf/Twnb/08J2/9PCdf/SwXX/0b9u/8Sp + OP++nBn/upYI/7uXCf+7lwn/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J2/9rL + jaXd0JlL2Nu2DdjVqC67yY3Ls7FS8rGeIf+3mRH/upYJ/7qWCP+9mxb/w6Y1/9PCdv/Twnb/08J2/9PC + df/TwnX/yrNS/8KkLP+6lgr/u5cJ/7uXCf+7lwn/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPC + dXPTwnb/1sZ/99/SnYje374cuunaHonbwdiE0an6j8KB/6qnOf+5lwv/upYI/72bFv/DpjX/08J2/9PC + dv/Twnb/08J2/9PCdv/SwHH/yK9I/7yaE/+7lwn/u5cJ/7uXCf+6lgjtupYInrqWCBQAAAAAAAAAAAAA + AADTwnUq08J1c9PCdv/Twnb+18iGw8/Sn4mZ4MmNftm773vWtv591LD/gNCk/5O9dP+nqT3/t6Al/8Om + Nf/Twnb/08J2/9PCdv/Twnb/08J2/9LBdP/OuWD/xqs+/7qWCP+6lgj/u5cJ/7qWCO26lgieupYIFAAA + AAAAAAAAAAAAANPCdSrTwnVz08J2/9PCdf/UxHvnyMmLzovZudB72Ln5edi5/3nYuf952Ln/gs6g/4/B + fv+fuGb7s7Ra9NTDeP7Twnb/08J1/9PCdv/Twnb/08J1/9G+bf/Mtlj/vZsV/7qXCv+6lgj/upYI7bqW + CJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdXPTwnb/08J1/9G/bv/Dv3L/iM2d/nvWtv952Ln/eti6/3rY + uv952Ln/eta3/4XRp/WdxYjf1cV73NPDd+zTwnX408J1/9PCdf/TwnX/08J1/9C+a//Coyv/u5gO/7qW + CP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J1c9PCdv/TwnX/y7RT/7ynN/+ir07/ftKr/3nY + uf962Lr/eti6/3rYuv962Lr/edi55XnYuazWxoEp1MR8idPDeM/TwnX908J1/9PCdf/TwnX/0sBy/865 + YP++nRr/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J1/8+7Zf/EqTn/upoS/7Wb + Fv+Lxov/ftOs/3nYuf962Lr/eti6/3rYuv952Lnledi5rNbGgQjUxHwa1MR7O9XFfm3VxX3f08J399PC + df/SwXX/0sBx/8WpOf++nRr/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdHPTwnT/yLBK/8Ch + Jf+6lgn/upYJ/52zWv+HypT/edi4/3rYuv962Lr/eti6/3nYueV52LmsAAAAAAAAAADWxoEN1cV+KNTE + fHPUw3qp08J41dPCdvfTwnX/y7RV/8KkLf+6lwvtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq0sF0c9G/ + b//CpC3/vJoT/7qWCP+6lgj/sKAo/5K+dv981bL/edi5/3nYuf962Lr/edi55XnYuawAAAAAAAAAAAAA + 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 + f//wAH///AB///+Af///wH///+B////4f/8= + + + \ No newline at end of file diff --git a/Analysis/bin/x64/Debug/Debug.txt b/Analysis/bin/x64/Debug/Debug.txt index b236eea..37f2c42 100644 --- a/Analysis/bin/x64/Debug/Debug.txt +++ b/Analysis/bin/x64/Debug/Debug.txt @@ -1,87 +1,15 @@ -2025-08-18 14:16:02.926----软件Program Main函数开始执行-- -2025-08-18 14:16:02.927--加载配置文件——>开始 -2025-08-18 14:16:02.947--数据库连接 SqlServerName:127.0.0.1 -2025-08-18 14:16:02.948--数据库连接 SqlUserName:sa -2025-08-18 14:16:02.949--数据库连接 SqlPassword:Hexagon123 -2025-08-18 14:16:02.949--数据库连接 SqlDbName:CJLR -2025-08-18 14:16:02.950--加载配置文件——>完成 -2025-08-18 14:16:04.153--数据库连接 SqlServerName:127.0.0.1 -2025-08-18 14:16:04.154--数据库连接 SqlUserName:sa -2025-08-18 14:16:04.155--数据库连接 SqlPassword:Hexagon123 -2025-08-18 14:16:04.156--数据库连接 SqlDbName:CJLR -2025-08-18 14:16:04.157--数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; -2025-08-18 14:16:14.507-- -2025-08-18 14:16:14.510-- -2025-08-18 14:16:14.510-- -2025-08-18 14:16:14.511-- -2025-08-18 14:16:14.512-- -2025-08-18 14:16:14.513-- -2025-08-18 14:16:14.514-- -2025-08-18 14:16:14.515-- -2025-08-18 14:16:14.516-- -2025-08-18 14:16:14.517-- -2025-08-18 14:16:14.517-- -2025-08-18 14:16:14.519-- -2025-08-18 14:16:14.520-- -2025-08-18 14:16:14.521-- -2025-08-18 14:16:14.522--Processing Task - Source: P:\, Target: K:\X260R, ModelCode: X260 Position: R -2025-08-18 14:16:14.524--[ProcessFiles] 源文件地址不存在或错误: P:\ -2025-08-18 14:16:14.528--Processing Task - Source: D:\CJLR\DATA\Input\LLL, Target: D:\CJLR\DATA\Output\X540L, ModelCode: X540 Position: L -2025-08-18 14:16:14.533--匹配文件特征符: X540_L -2025-08-18 14:16:14.536--正在处理文件 : D:\CJLR\DATA\Input\LLL\K1902905.csv -2025-08-18 14:16:14.540--第 35 行数据为0,跳过该行:,,,,,,,,,,,,,,,,,,,,, -2025-08-18 14:16:14.541--第 36 行数据为0,跳过该行:,,,,,,,,,,,,,,,,,,,,, -2025-08-18 14:16:14.542--第 37 行数据为0,跳过该行:,,,,,,,,,,,,,,,,,,,,, -2025-08-18 14:16:19.608---------------------------------------------------------- -2025-08-18 14:16:19.609--车号:K1902905 -2025-08-18 14:16:19.610--车型:MY20 -2025-08-18 14:16:19.611--测量时间:2020-05-04 12:16:16 -2025-08-18 14:16:19.871--CSV文件导入到数据库成功! -2025-08-18 14:16:19.872---------------------------------------------------------- -2025-08-18 14:16:19.879--正在查询车ID为:K1902905 的测量结果。 -2025-08-18 14:16:19.916--将总结果插入数据库完毕。 -2025-08-18 14:16:20.094--未匹配到文件: D:\CJLR\DATA\Input\LLL\K1902905.csv -2025-08-18 14:16:20.104--Processing Task - Source: O:\, Target: L:\X260L, ModelCode: X260 Position: L -2025-08-18 14:16:20.105--[ProcessFiles] 源文件地址不存在或错误: O:\ -2025-08-18 14:16:20.108--Processing Task - Source: O:\, Target: L:\X760L, ModelCode: X760 Position: L -2025-08-18 14:16:20.109--[ProcessFiles] 源文件地址不存在或错误: O:\ -2025-08-18 14:16:20.110--Processing Task - Source: P:\, Target: K:\X760R, ModelCode: X760 Position: R -2025-08-18 14:16:20.111--[ProcessFiles] 源文件地址不存在或错误: P:\ -2025-08-18 14:16:20.117--Processing Task - Source: P:\, Target: K:\L551R 21MY, ModelCode: L551_21MY Position: R -2025-08-18 14:16:20.118--[ProcessFiles] 源文件地址不存在或错误: P:\ -2025-08-18 14:16:20.121--Processing Task - Source: O:\, Target: L:\L551L 21MY, ModelCode: L551_21MY Position: L -2025-08-18 14:16:20.122--[ProcessFiles] 源文件地址不存在或错误: O:\ -2025-08-18 14:16:20.123--Processing Task - Source: O:\, Target: L:\X540L 20MY, ModelCode: X540_24MY Position: L -2025-08-18 14:16:20.124--[ProcessFiles] 源文件地址不存在或错误: O:\ -2025-08-18 14:16:20.126--Processing Task - Source: P:\, Target: K:\X540R 20MY, ModelCode: X540_24MY Position: R -2025-08-18 14:16:20.126--[ProcessFiles] 源文件地址不存在或错误: P:\ -2025-08-18 14:16:20.128--Processing Task - Source: O:\, Target: L:\X540L, ModelCode: X540_18MY Position: L -2025-08-18 14:16:20.129--[ProcessFiles] 源文件地址不存在或错误: O:\ -2025-08-18 14:16:20.130--Processing Task - Source: O:\, Target: L:\L550L, ModelCode: L550_23MY Position: L -2025-08-18 14:16:20.132--[ProcessFiles] 源文件地址不存在或错误: O:\ -2025-08-18 14:16:20.241--Processing Task - Source: P:\, Target: K:\X540R, ModelCode: X540_18MY Position: R -2025-08-18 14:16:20.243--[ProcessFiles] 源文件地址不存在或错误: P:\ -2025-08-18 14:16:20.249--Processing Task - Source: P:\, Target: K:\L550R, ModelCode: L550_23MY Position: R -2025-08-18 14:16:20.251--[ProcessFiles] 源文件地址不存在或错误: P:\ -2025-08-18 14:16:24.571-- -2025-08-18 14:16:24.573-- -2025-08-18 14:16:24.574-- -2025-08-18 14:16:24.575-- -2025-08-18 14:16:24.579-- -2025-08-18 14:16:24.580-- -2025-08-18 14:16:24.581-- -2025-08-18 14:16:24.582-- -2025-08-18 14:16:24.583-- -2025-08-18 14:16:24.584-- -2025-08-18 14:16:24.584-- -2025-08-18 14:16:24.585-- -2025-08-18 14:16:24.586-- -2025-08-18 14:16:24.586-- -2025-08-18 14:16:24.587--Processing Task - Source: P:\, Target: K:\X260R, ModelCode: X260 Position: R -2025-08-18 14:16:24.588--[ProcessFiles] 源文件地址不存在或错误: P:\ -2025-08-18 14:16:24.598--Processing Task - Source: D:\CJLR\DATA\Input\LLL, Target: D:\CJLR\DATA\Output\X540L, ModelCode: X540 Position: L -2025-08-18 14:16:24.599--匹配文件特征符: X540_L -2025-08-18 14:16:24.600--正在处理文件 : D:\CJLR\DATA\Input\LLL\K1902905.csv -2025-08-18 14:16:24.604--第 35 行数据为0,跳过该行:,,,,,,,,,,,,,,,,,,,,, -2025-08-18 14:16:24.605--第 36 行数据为0,跳过该行:,,,,,,,,,,,,,,,,,,,,, -2025-08-18 14:16:24.605--第 37 行数据为0,跳过该行:,,,,,,,,,,,,,,,,,,,,, +2025-08-19 16:04:27.901----软件Program Main函数开始执行-- +2025-08-19 16:04:27.902--加载配置文件——>开始 +2025-08-19 16:04:27.905--数据库连接 SqlServerName:127.0.0.1 +2025-08-19 16:04:27.907--数据库连接 SqlUserName:sa +2025-08-19 16:04:27.907--数据库连接 SqlPassword:Hexagon123 +2025-08-19 16:04:27.908--数据库连接 SqlDbName:CJLR +2025-08-19 16:04:27.909--加载配置文件——>完成 +2025-08-19 16:04:27.910--Log in using the original authorization mode. +2025-08-19 16:04:43.067--软件授权成功 +2025-08-19 16:04:44.514--数据库连接 SqlServerName:127.0.0.1 +2025-08-19 16:04:44.516--数据库连接 SqlUserName:sa +2025-08-19 16:04:44.517--数据库连接 SqlPassword:Hexagon123 +2025-08-19 16:04:44.519--数据库连接 SqlDbName:CJLR +2025-08-19 16:04:44.520--数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-19 16:04:54.108---------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/File/AnalysisConfig.ini b/Analysis/bin/x64/Debug/File/AnalysisConfig.ini index ec3c2c7..7a686d5 100644 --- a/Analysis/bin/x64/Debug/File/AnalysisConfig.ini +++ b/Analysis/bin/x64/Debug/File/AnalysisConfig.ini @@ -6,30 +6,21 @@ Language =1 ;1 = 中文简 ;0 = 英语 RememberMe=1 -NextsenseCSVEH3Path=D:\cherytestEH3 -ReportCSVPath=D:\QMLTest ;1:CLMS授权 -AuthorizationMode=1 +AuthorizationMode=2 CLMSModeID=10 ;权限密码 Password=1 -;1-计算合格率时包含极差项 ;0-不包含 -IncludeRangeFlag=1 +; 生成Pi-web报告的路径 +ReportCSVPath=D:\QMLTest +CNCPictureName= +EnableSort=1 +AnalysisCSVFlag=1 -;车型检查项总数量 -MeasureCarItemsCount=50 -;连续多少辆车不满足总数量 连续几辆车小于该检测项总数量 则报警 -ContinuousCarCount=6 -StationName=ZP5_FG1 -tavascanUploadPath=VW316_8CM_ZP6_FG -blacklabelUploadPath=VW316_8CM_BLZP6_FG -Level2Times=1.5 -Level3Times=2 -ReportCSVPath2=D:\QMLTest [Timer] ;单位s @@ -41,4 +32,4 @@ TimerRefreshCMMStatus=3 SqlServerName=127.0.0.1 SqlDbName=CJLR SqlUserName=sa -SqlPassword=Hexagon123 \ No newline at end of file +SqlPassword=Hexagon123 diff --git a/Analysis/bin/x64/Debug/File/CSVReportTemplate.csv b/Analysis/bin/x64/Debug/File/CSVReportTemplate.csv new file mode 100644 index 0000000..31f1e43 --- /dev/null +++ b/Analysis/bin/x64/Debug/File/CSVReportTemplate.csv @@ -0,0 +1,17 @@ +MeasPlan.Name,CheryEH3 +vehiclecode,1 +robot.MessplanID,1 +Plant_sector,WH +Product_type,Carbody +Auto_name,EH3 +Part_type,Assembly +Part_number,EH3_5000000FAonline +Part_name,123 +prodnum,NNACDEB0RDA50893 +Production_line,11_line +Workshop,ER_QI +Operator, +Shift, +Machine, +Temperature, +Humidity, diff --git a/Analysis/bin/x64/Debug/Key/reg.key b/Analysis/bin/x64/Debug/Key/reg.key index 0b1662f..6b1b574 100644 --- a/Analysis/bin/x64/Debug/Key/reg.key +++ b/Analysis/bin/x64/Debug/Key/reg.key @@ -1 +1 @@ -E0257D210D71798C7D342413B6AE6E827FF7CDF4D9B987590FAE35D6DCCAFB886AA76997CF2A0EB6CE1262B84EAA89847CE6CDC5A6F8D2EED117805EA3C58FC41BAE98458ABC8F6E2F7D3BC1F235ECAA82954257F761B6EDE6B01E9FFEE276B41AAB0B16C34FF9D2865DF53073BE883F9187EB6EB61E90DDAAA99D8CEBD45D79C7B258FDE9888FDC6ACCD540C3DB33F837A1CD9E7A11BB9D832E332CAE39B9F387EB6710AB221145D9A6E1F2A1FA298D40262129F295BA060BED16C420C03178782B354A00BAD77335C105D312852C3ACEA15E3CA3F54D6B16970431D3E78069F9EAD8D82F39E953F2D6B51CAEE05D904F400BAFC3F41FF2152E610D26B4CDCF27B257D642BF1F30BD8A177925C11CCA10126D0A2870F62CEE7FBD251DCC6A5C68D62B656F9ADA143E07B02516F84636148A81409E1D928DFB346CD8050354C82CA074EDB89ADCBE6E31AD2D142B58B04F2577A03F4CE43586150CE1C69370F28D58DAEABCB2C5920A9759C3D210DF7422DFAA2D1CB0D95564D2A07A82B2F4B4A497C47C57CE23CB1294C515FACF9EEF0C4A6CB8300317D90ECBC6B30D2ABA0EBE5698648EB59A1B33F770C4EB0F928970D13FD27DA4B9521F223210E3B43345B22C2583B76CFAF265F453C3835D7ADAF002206BD6F4C338D19D0DCCFC21F76526CAFDDEC710742816AFD59794DA9653452A9EF92504C1D44B9ED41133C75E185B80E331B531F0535705493788E09E4B04CF0AF947157D7C9E1D6F7F55ADFF4CA2786E83F4315A170E4C7F461B43515DA399766454E68E89428308D085AF0CC75182F5F21077D3A1A42E53784A13DA35D174311F41CB0C111672D7AF1E3EA0E62530BFD5AED3055D783C8020517B9BDB734E885A536BE72FC79A53B301F6994EE89E1EC3D195C4A95C8E880A1F058A9C745242797396C1505ADE70F66B51C0028466F38DDBFBDB66351B696404DC767D0886B7E903EA892C6D667723939B66376CBABF1035635CB9 +E0257D210D71798C7D342413B6AE6E827FF7CDF4D9B987590FAE35D6DCCAFB886AA76997CF2A0EB6183A1A07A6254010415BCA8EF7EB824B6AC227D17C067A53EC3C074338CE4489D1526A6745F8326A3CCC88BA268537C2982273D504D3FBD0570E4C172917E3829DA2C9683B7D6556C8F161F85B4111525371DC60C71086CCC0DED32D5E81E9A83608FB23D8A98F0CE9A56F4559B73159E51D63588E1D1B1995354C2A43825755B0D8869373E58D59AF678076388BCAD83C36867FE0FCFB50D6200CA3AF3E09CB8A154F46BDBE1651F20EAB4AE02E0D16267C192E4B8AEB473DBD8EA87CFD59933062F5FC46B4C360507E9ABEA928539EDCA1FDE38757CB5D50CD286312A907C8659BB2CD95C1C5EB5FB3FF894808137E7F01C767C4AFF501FE74A18570277994AC542D7CF811A0AAB4B53BF5083C4EC10DE7EC55E72BCEAE80B364DDBA2515CEA190D585F349A2A704ADFD6F7EA8D23C429EEE440239844CEC4ACA624A34933816E72E71BFF1669EC74486B70E0C7DD1418C983FCBC9D35043CB2523A685435B541C7B59F511B00347D7E16E1044B337CDD4A819E499EDE975FE7A553DE2604235916CAE6FC2C906625DAE32A7C2441969B842242AAE869F95C22AE889BC2388CBECD6BD0B3074A656940CAB067C850C554E112A104F445F4F7AAA5A879F2C476B088120CEFA03CB3597CC695AF681C6A54B61DEC63E8F39B25446DAAB73608AF105A1F1C2631780E4A7A202FB03323B82115B2BFE71A26FA516FDAAA00A1D4887BEBE6DF4C8D9130C57E0DA55DAC33220C891A46CB8B73D8EFA47314D8015A7F3267D2C726ACAB59DAC92E8CD24F4D08F3B030A96489379642E982F8E4A8B25FA3979A230A6A7C6B38EEB71B0B3E65305D38AB9AD3C3433BC7A5555AAA21F3807ED4BFE97093359CB1E80BBC539B97F616E017218773297294742D0EAB299DD2FD178FAD7D01FD2FA200E6974BA95123B01367C62EF6F0ECDF715ECA67BFE83 diff --git a/Analysis/bin/x64/Debug/NSAnalysis.exe b/Analysis/bin/x64/Debug/NSAnalysis.exe index 93b377826cddb2e8326af66c06d8968f1655a79b..5b76bc23554dae833d699c9c125fc3735ed33920 100644 GIT binary patch delta 131960 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 delta 130770 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≪kK2-F$=AV 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 z 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

qmOX|V3v!DQjn+e$u2@acB}E7Xhq{sMe6 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 vD}uuu{!m(dkOk1XoB%2+Dk|2c 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 tJRtjgHG|v10ii(OB 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

Ui%Fvj6!oPgiqM9ede{T-IV1gwgQ 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 z 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%0A>bh6^>F1*uEv-TY4KF8_nLr!0hZDG&Xbmdn* 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 Dl3}2`