diff --git a/Analysis/9.Analysis.csproj b/Analysis/9.Analysis.csproj deleted file mode 100644 index 7fe680d..0000000 --- a/Analysis/9.Analysis.csproj +++ /dev/null @@ -1,313 +0,0 @@ - - - - Debug - x86 - 8.0.30703 - 2.0 - {7C83975D-A071-48E0-8A12-DAFD20525B66} - WinExe - Properties - NSAnalysis - NSAnalysis - v4.8 - 512 - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - x64 - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - x86 - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - true - bin\x64\Debug\ - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - true - - - bin\x64\Release\ - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - true - - - HexagonTransparent.ico - - - - False - bin\x64\Debug\Covert.dll - - - ..\DAL\bin\Debug\DAL.dll - - - False - bin\x64\Debug\HslCommunication.dll - - - ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll - - - ..\packages\NLog.5.3.3\lib\net46\NLog.dll - - - ..\PLCModule\PLCModule\bin\Debug\PLCModule.dll - - - - - - - - - - - - - - - - - ..\lib\RCWF\2018.3.1016.40\Telerik.WinControls.dll - True - - - - ..\lib\RCWF\2018.3.1016.40\Telerik.WinControls.UI.dll - True - - - ..\lib\RCWF\2018.3.1016.40\TelerikCommon.dll - True - - - - - Form - - - AboutSoftwareInfo.cs - - - - - - - - - - - - - Form - - - FormMain.cs - - - UserControl - - - LabPictureControl.cs - - - - - - - - Form - - - FAddTolerance.cs - - - Form - - - FEditTolerance.cs - - - Form - - - FSoftwareSetup.cs - - - Form - - - FToleranceSetup.cs - - - Form - - - ZSFDEMO.cs - - - AboutSoftwareInfo.cs - - - FormMain.cs - - - LabPictureControl.cs - - - - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - FAddTolerance.cs - - - FEditTolerance.cs - - - FSoftwareSetup.cs - - - FToleranceSetup.cs - - - ZSFDEMO.cs - - - Always - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - False - Microsoft .NET Framework 4.7 %28x86 和 x64%29 - true - - - False - .NET Framework 3.5 SP1 - false - - - - - \ No newline at end of file diff --git a/Analysis/9.Analysis.csproj.user b/Analysis/9.Analysis.csproj.user deleted file mode 100644 index 95a1d1a..0000000 --- a/Analysis/9.Analysis.csproj.user +++ /dev/null @@ -1,13 +0,0 @@ - - - - publish\ - - - - - - zh-CN - false - - \ No newline at end of file diff --git a/Analysis/AboutSoftwareInfo.cs b/Analysis/AboutSoftwareInfo.cs index e995120..cdeb76b 100644 --- a/Analysis/AboutSoftwareInfo.cs +++ b/Analysis/AboutSoftwareInfo.cs @@ -1,91 +1,87 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; +using BaseFunction; + +using System; +using System.Diagnostics; + using System.Drawing; +using System.IO; +using System.Reflection; using System.Text; using System.Windows.Forms; -using System.Text.RegularExpressions; -using System.Collections; -using System.IO; -using System.Xml; -using BaseFunction; using Telerik.WinControls.UI; -using System.Reflection; -using System.Diagnostics; namespace NSAnalysis { - public partial class AboutSoftwareInfo : Telerik.WinControls.UI.ShapedForm - { - public AboutSoftwareInfo() - { - InitializeComponent(); - } + public partial class AboutSoftwareInfo : Telerik.WinControls.UI.ShapedForm + { + public AboutSoftwareInfo() + { + InitializeComponent(); + } - private void AboutSoftwareInfo_Load(object sender, EventArgs e) - { - labelExpiryDateValue.Text = ConfigDfn.strExpiredTime;//ConfigDfn.strExpiredTime - labVersion.Text = AssemblyFileVersion; - //海克斯康制造智能技术(青岛)有限公司 / Hexagon Manufacturing Intelligence (Qingdao) Co., Ltd. - //Please send the request file to Hexagon Manufacturing Intelligence (Qingdao) Co., Ltd. - } + private void AboutSoftwareInfo_Load(object sender, EventArgs e) + { + labelExpiryDateValue.Text = ConfigDfn.strExpiredTime;//ConfigDfn.strExpiredTime + labVersion.Text = AssemblyFileVersion; + //海克斯康制造智能技术(青岛)有限公司 / Hexagon Manufacturing Intelligence (Qingdao) Co., Ltd. + //Please send the request file to Hexagon Manufacturing Intelligence (Qingdao) Co., Ltd. + } - public string AssemblyVersion - { - get - { - return Assembly.GetExecutingAssembly().GetName().Version.ToString(); - } - } + public string AssemblyVersion + { + get + { + return Assembly.GetExecutingAssembly().GetName().Version.ToString(); + } + } - public string AssemblyFileVersion - { - get { return FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location).FileVersion; } - } + public string AssemblyFileVersion + { + get { return FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location).FileVersion; } + } - private void rbtnCreateRequest_Click(object sender, EventArgs e) - { - try - { - SaveFileDialog fbd = new SaveFileDialog(); - fbd.DefaultExt = ".key"; - fbd.Filter = "KEY (*.key)|*.key"; - fbd.FileName = "Request.key"; + private void rbtnCreateRequest_Click(object sender, EventArgs e) + { + try + { + SaveFileDialog fbd = new SaveFileDialog(); + fbd.DefaultExt = ".key"; + fbd.Filter = "KEY (*.key)|*.key"; + fbd.FileName = "Request.key"; - if (fbd.ShowDialog() == DialogResult.OK) - { - using (StreamWriter sw = new StreamWriter(fbd.FileName, false, Encoding.Default)) - { - sw.WriteLine(Covert.GetSystemInfo.GetCode1() + Covert.GetSystemInfo.GetCode2()); - sw.Dispose(); + if (fbd.ShowDialog() == DialogResult.OK) + { + using (StreamWriter sw = new StreamWriter(fbd.FileName, false, Encoding.Default)) + { + sw.WriteLine(Covert.GetSystemInfo.GetCode1() + Covert.GetSystemInfo.GetCode2()); + sw.Dispose(); - MessageBox.Show("授权请求文件,保存成功!"); - return; - } - } - MyBase.TraceWriteLine("授权请求文件未生成——取消"); - } - catch (Exception ex) - { - MessageBox.Show("授权请求文件生成出错:" + ex.ToString()); - } - } + MessageBox.Show("授权请求文件,保存成功!"); + return; + } + } + MyBase.TraceWriteLine("授权请求文件未生成——取消"); + } + catch (Exception ex) + { + MessageBox.Show("授权请求文件生成出错:" + ex.ToString()); + } + } - #region RadButton鼠标事件 + #region RadButton鼠标事件 - private void btn_MouseHover(object sender, EventArgs e) - { - RadButton btn = sender as RadButton; - btn.BackColor = Color.FromArgb(0, 151, 186); - } + 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); - } + private void btn_MouseLeave(object sender, EventArgs e) + { + RadButton btn = sender as RadButton; + btn.BackColor = Color.FromArgb(19, 46, 53); + } - #endregion RadButton鼠标事件 - } + #endregion RadButton鼠标事件 + } } \ No newline at end of file diff --git a/Analysis/App.config b/Analysis/App.config index fbec9da..72a3746 100644 --- a/Analysis/App.config +++ b/Analysis/App.config @@ -1,30 +1,30 @@ - + - - + + - + - + - - + + - + \ No newline at end of file diff --git a/Analysis/BaseUnit/Base.cs b/Analysis/BaseUnit/Base.cs index 2204fd9..19e12e6 100644 --- a/Analysis/BaseUnit/Base.cs +++ b/Analysis/BaseUnit/Base.cs @@ -1,3125 +1,3144 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Windows.Forms; +using NLog; +using System; +using System.Collections; +using System.Data; +using System.Diagnostics; +using System.Drawing; using System.IO; +using System.Linq; using System.Runtime.InteropServices; using System.Text; -using System.IO.Ports; //串口读写 -using System.Drawing; -using System.Collections; -using System.Diagnostics; -using System.Data; -using System.Threading; +using System.Windows.Forms; using Telerik.WinControls.UI; -using NLog; namespace BaseFunction { - //========================================================================================== - //通用功能类 - public class NLogger - { - private static readonly Logger logger = LogManager.GetCurrentClassLogger(); - public static void Trace(string message) { logger.Trace(message); } - public static void Debug(string message) { logger.Debug(message); } - public static void Info(string message) { logger.Info(message); } - public static void Warn(string message) { logger.Warn(message); } - public static void Error(string message) { logger.Error(message); } - public static void Fatal(string message) { logger.Fatal(message); } - } - - public class MyBase - { - public static RadLabelElement rleMessage; - #region 内存回收 - - [DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize")] - public static extern int SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize); - - /// - /// 释放内存 - /// - public static void ClearMemory() - { - GC.Collect(); - GC.WaitForPendingFinalizers(); - if (Environment.OSVersion.Platform == PlatformID.Win32NT) - { - SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1); - } - } - - public static void ClearMemory_PCDMIS() - { - Process[] m_Process = Process.GetProcessesByName("PCDLRN"); - for (int i = 0; i < m_Process.Length; i++) - { - if (Environment.OSVersion.Platform == PlatformID.Win32NT) - { - SetProcessWorkingSetSize(m_Process[i].Handle, -1, -1); - } - } - } - - #endregion 内存回收 - - public static void KillSoftware(string strSoftwareName) - { - Process[] xc = Process.GetProcesses(); - try - { - foreach (Process xc1 in xc) - { - if (xc1.ProcessName.ToLower() == strSoftwareName.ToLower()) - { - xc1.Kill(); - } - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine("Kill " + strSoftwareName + " Failed: " + ex.ToString()); - } - } - - public static void DeleteAllFiles(string strPath) - { - try - { - DirectoryInfo dir = new DirectoryInfo(strPath); - FileSystemInfo[] fileinfo = dir.GetFileSystemInfos(); //返回目录中所有文件和子目录 - foreach (FileSystemInfo i in fileinfo) - { - if (i is DirectoryInfo) //判断是否文件夹 - { - DirectoryInfo subdir = new DirectoryInfo(i.FullName); - subdir.Delete(true); //删除子目录和文件 - } - else - { - File.Delete(i.FullName); //删除指定文件 - } - } - MyBase.TraceWriteLine("首次启动软件,遍历删除路径:" + strPath + "下的文件全部删除"); - } - catch (Exception e) - { - MyBase.TraceWriteLine("遍历删除路径:" + strPath + "下的文件失败:" + e.ToString()); - } - } - - #region 界面控件操作 - - /// - /// 根据指定容器和控件名字,获得控件 - /// - /// 容器 - /// 控件名字 - /// 控件 - public static object GetControlInstance(object obj, string strControlName, Form mainForm) - { - IEnumerator Controls = null;//所有控件 - Control c = null;//当前控件 - Object cResult = null;//查找结果 - if (obj.GetType() == mainForm.GetType())//窗体 - { - Controls = mainForm.Controls.GetEnumerator(); - } - else//控件 - { - Controls = ((Control)obj).Controls.GetEnumerator(); - } - while (Controls.MoveNext())//遍历操作 - { - c = (Control)Controls.Current;//当前控件 - if (c.HasChildren)//当前控件是个容器 - { - cResult = GetControlInstance(c, strControlName, mainForm);//递归查找 - if (cResult == null)//当前容器中没有,跳出,继续查找 - continue; - else//找到控件,返回 - return cResult; - } - else if (c.Name == strControlName)//不是容器,同时找到控件,返回 - { - return c; - } - } - return null;//控件不存在 - } - - /// - /// 获取主控件上的子控件的名称 - /// - /// 主控件名称 - /// 子控件名称 - /// - public static object GetChildControl(object obj, string strControlName) - { - Control m_Ctrl = null;//当前控件 - IEnumerator Controls = ((Control)obj).Controls.GetEnumerator(); - - while (Controls.MoveNext()) - { - m_Ctrl = (Control)Controls.Current;//当前控件 - if (m_Ctrl.Name == strControlName) - { - return m_Ctrl; - } - } - return null;//控件不存在 - } - - public static void AddDebugText(TextBox tb, string str, int length = 200) - { - try - { - TraceWriteLine(str); - string strTime = DateTime.Now.ToString("HH:mm:ss") + "--"; - tb.Text += (strTime + str); - tb.Text += "\r\n"; - tb.Select(tb.TextLength, 0); - tb.ScrollToCaret(); - - if (tb.Lines.Length > length) - { - tb.Clear(); - } - } - finally { } - } - - /// - /// 向RichTextBox控件中添加文本信息 - /// - /// RichTextBox控件类 - /// 要显示的文本信息内容 - /// 文本显示的颜色 - public static void AddDebugTextToRTB(RichTextBox RTB, string str, Color m_Color = new Color()) - { - try - { - TraceWriteLine(str);//将文本信息同步到debug.txt文件中 - RTB.BeginInvoke((EventHandler)delegate - { - Color SetColor = Color.Black; - if (m_Color == new Color()) - { - if (str.ToUpper().Contains("ERROR") || str.ToUpper().Contains("错误") || str.ToUpper().Contains("出错") || str.ToUpper().Contains("EXCEPTION") || str.ToUpper().Contains("异常") || str.ToUpper().Contains("失败")) - { - SetColor = Color.Red; - } - else if (str.ToUpper().Contains("WARNING") || str.ToUpper().Contains("警告")) - { - SetColor = Color.DarkOrange; - } - } - else - { - SetColor = m_Color; - } - - string strText = str + Environment.NewLine; //DateTime.Now.ToString("HH:mm:ss.fff") + "--" + - RTB.SelectionStart = RTB.TextLength; - if (string.IsNullOrEmpty(str)) - RichTextUnit.SetText(RTB, " " + Environment.NewLine, SetColor, false, 14); - else - RichTextUnit.SetText(RTB, strText, SetColor, false, 14); - - if (RTB.Lines.Length > 2000) - { - RTB.Select(0, RTB.TextLength / 2); - RTB.Cut(); - } - RTB.ScrollToCaret(); - }); - } - catch { } - } - - /// - /// 写debug文件,记录程序过程 - /// - /// 要写入日志的内容 - public static void TraceWriteLine(string str) - { - try - { - if (rleMessage != null) - { - rleMessage.Text = str; - } - if (str.Contains("警告") || str.ToUpper().Contains("WARN")) - { - - NLogger.Warn(str); - - } - else if (str.Contains("错误") || str.ToUpper().Contains("ERROR")||str.Contains("失败")) - { - NLogger.Error(str); - } - else - { - NLogger.Info(str); - } - Trace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "--" + str); - Trace.Unindent(); - Trace.Flush(); - } - catch { } - } - - public static string InputBox(string Caption, string Hint, string DefaultTxt, string btn1 = "OK", string btn2 = "Cancel", char Strstyle = '*', bool bShowData = false) - { - if (Strstyle == '\0') - Strstyle = '*'; - Form InputForm = new Form(); - InputForm.MinimizeBox = false; - InputForm.MaximizeBox = false; - InputForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; - InputForm.StartPosition = FormStartPosition.CenterScreen; - InputForm.Width = 300; - InputForm.Height = 180; - InputForm.Text = Caption; - InputForm.Font = new System.Drawing.Font("Segoe UI", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134))); - - Label lbl = new Label(); - lbl.Text = Hint; - lbl.Left = 25; - lbl.Top = 20; - lbl.Parent = InputForm; - lbl.AutoSize = true; - TextBox tb = new TextBox(); - tb.Left = 30; - tb.Top = 45; - tb.Width = 230; - tb.Parent = InputForm; - tb.Text = DefaultTxt; - if (bShowData == false) - tb.PasswordChar = Strstyle; - tb.SelectAll(); - Button btnok = new Button(); - btnok.Left = 90; - btnok.Top = 90; - btnok.Height = 30; - btnok.Parent = InputForm; - btnok.Text = btn1; - InputForm.AcceptButton = btnok;//回车响应 - btnok.DialogResult = DialogResult.OK; - - Button btncancal = new Button(); - btncancal.Left = 185; - btncancal.Top = 90; - btncancal.Height = 30; - btncancal.Parent = InputForm; - btncancal.Text = btn2; - btncancal.DialogResult = DialogResult.Cancel; - try - { - if (InputForm.ShowDialog() == DialogResult.OK) - { - return tb.Text; - } - else - { - return "-999.999"; - } - } - finally - { - InputForm.Dispose(); - } - } - - /// - /// 操作提示框,0 = 取消; 1 = 第一个按钮; 2 = 第二个按钮 - /// - /// 错误信息 - /// 标题 - /// 第一个按钮名字 - /// 第二个按钮名字 - /// 第三个按钮名字 - /// 背景颜色,默认无色,1=红色 - /// - public static int MessageBox(string strError, string Caption, string btnName1 = "YES", string btnName2 = "NO", string btnName3 = "Cancel", int iColor = 0) - { - Form ErrorForm = new Form(); - ErrorForm.MinimizeBox = false; - ErrorForm.MaximizeBox = false; - ErrorForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; - ErrorForm.StartPosition = FormStartPosition.CenterScreen; - ErrorForm.Width = 480; - ErrorForm.Height = 300; - ErrorForm.Text = Caption; - ErrorForm.Font = new System.Drawing.Font("宋体", 16F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134))); - - TextBox tb = new TextBox(); - tb.Parent = ErrorForm; - tb.Text = strError; - tb.Multiline = true; - tb.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - tb.Location = new System.Drawing.Point(20, 20); - tb.Size = new System.Drawing.Size(440, 170); - tb.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - tb.Font = new Font("宋体", 20F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel); - if (iColor == 1) - tb.BackColor = Color.Red; - - Button btnYes = new Button(); - btnYes.Location = new System.Drawing.Point(30, 210); - btnYes.Size = new System.Drawing.Size(100, 40); - btnYes.Parent = ErrorForm; - btnYes.Text = btnName1; - - btnYes.DialogResult = DialogResult.Yes; - ErrorForm.AcceptButton = btnYes;//回车响应 - - Button btnNO = new Button(); - btnNO.Location = new System.Drawing.Point(190, 210); - btnNO.Size = new System.Drawing.Size(100, 40); - btnNO.Parent = ErrorForm; - btnNO.Text = btnName2; - btnNO.DialogResult = DialogResult.No; - ErrorForm.AcceptButton = btnNO;//回车响应 - - Button btncancal = new Button(); - btncancal.Location = new System.Drawing.Point(350, 210); - btncancal.Size = new System.Drawing.Size(100, 40); - btncancal.Parent = ErrorForm; - btncancal.Text = btnName3; - btncancal.DialogResult = DialogResult.Cancel; - ErrorForm.AcceptButton = btncancal;//回车响应 - try - { - btnYes.Select(); - switch (ErrorForm.ShowDialog()) - { - case DialogResult.Yes: return 1; - case DialogResult.No: return 2; - default: return 0; - } - } - finally - { - ErrorForm.Dispose(); - } - } - - [DllImport("User32.dll")] - private static extern bool SetCursorPos(int x, int y); - - public static void SetCursorPosXY(int dx, int dy) - { - SetCursorPos(dx, dy); - } - - public static void SetCursorPosXY(Point point) - { - System.Windows.Forms.Cursor.Position = point; - } - - #endregion 界面控件操作 - - /// - /// CopyFiles 函数 - /// - /// 源路径文件夹路径 - /// 目标文件夹路径 - /// 文件夹名称 - /// - public static int CopyFiles(string strSourceFilePath, string strDesFilePath, string strRemak) - { - try - { - if (!Directory.Exists(strDesFilePath)) - { - Directory.CreateDirectory(strDesFilePath); - } - DirectoryInfo sDir = new DirectoryInfo(strSourceFilePath); - FileInfo[] fileArray = sDir.GetFiles(); - foreach (FileInfo file in fileArray) - { - file.CopyTo(strDesFilePath + "\\" + file.Name, true); - } - System.Windows.Forms.MessageBox.Show("传输" + strRemak + "文件夹中的所有文件成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return 1; - } - catch (Exception ex) - { - System.Windows.Forms.MessageBox.Show("传输" + strRemak + "文件夹中的文件错误!原因: " + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return 0; - } - } - } - - public class HardwareInfoBase - { - /// 获取指定驱动器的空间总大小(单位为B) ,只需输入代表驱动器的字母即可 - public static long GetHardDiskSpace(string str_HardDiskName) - { - long totalSize = new long(); - str_HardDiskName = str_HardDiskName + ":\\"; - System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives(); - foreach (System.IO.DriveInfo drive in drives) - { - if (drive.Name == str_HardDiskName) - { - totalSize = drive.TotalSize; - break; - } - } - return totalSize; - } - - /// 获取指定驱动器的剩余空间总大小(单位为B) ,只需输入代表驱动器的字母即可 - public static long GetHardDiskFreeSpace(string str_HardDiskName) - { - long freeSpace = new long(); - str_HardDiskName = str_HardDiskName + ":\\"; - System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives(); - foreach (System.IO.DriveInfo drive in drives) - { - if (drive.Name == str_HardDiskName) - { - freeSpace = drive.TotalFreeSpace; - break; - } - } - return freeSpace; - } - - /// 获取指定驱动器的剩余空间总大小(单位为K) ,只需输入代表驱动器的字母即可 - public static long GetHardDiskFreeSpace_K(string str_HardDiskName) - { - return GetHardDiskFreeSpace(str_HardDiskName) / 1024; - } - - /// 获取指定驱动器的剩余空间总大小(单位为M) ,只需输入代表驱动器的字母即可 - public static long GetHardDiskFreeSpace_M(string str_HardDiskName) - { - return GetHardDiskFreeSpace_K(str_HardDiskName) / 1024; - } - - /// 获取指定驱动器的剩余空间总大小(单位为G) ,只需输入代表驱动器的字母即可 - public static long GetHardDiskFreeSpace_G(string str_HardDiskName) - { - return GetHardDiskFreeSpace_M(str_HardDiskName) / 1024; - } - } - - //==================================================================================================FileIni - //Ini 文件操作类 - public class FileIni - { - [DllImport("kernel32.dll")] - public static extern IntPtr _lopen(string lpPathName, int iReadWrite); - - [DllImport("kernel32.dll")] - public static extern bool CloseHandle(IntPtr hObject); - - public const int OF_READWRITE = 2; - public const int OF_SHARE_DENY_NONE = 0x40; - public static readonly IntPtr HFILE_ERROR = new IntPtr(-1); - - //判断文件是否被占用 占用=true 未占用 = false - public static bool isFileOccupied(string path) - { - if (!File.Exists(path)) - return true; - IntPtr vHandle = _lopen(path, OF_READWRITE | OF_SHARE_DENY_NONE); - if (vHandle == HFILE_ERROR) - return true; - CloseHandle(vHandle); - return false; - } - - [DllImport("kernel32")] - private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); - - [DllImport("kernel32")] - private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); - - [DllImport("kernel32")] - private static extern int GetPrivateProfileInt(string section, string key, int def, string filePath); - - public static bool isFileExists(string path) - { - if (!(File.Exists(path))) - { - MessageBox.Show("文件:" + path + "不存在", "ini文件不存在"); - return false; - } - return true; - } - - //=====================//=====================//=====================Write data - #region 写INI参数 - - /// - /// 对ini文件进行写操作 - /// - /// ini文件路径 - /// 配置节 - /// 键名 - /// 要写入的string字符串 - public static void WriteString(string path, string section, string key, string value) - { - // section=配置节,key=键名,value=键值,path=路径 - WritePrivateProfileString(section, key, value, path); - } - - public static void WriteInt(string path, string section, string key, int value = 0) - { - string strRead = ReadString(path, section, key); - string[] strArr = strRead.Split(new char[] { ';' }); - string strNote = ";"; - string strWrite; - if (strArr.Length > 1)//保留原有注释 - { - for (int i = 1; i < strArr.Length; i++) - strNote += strArr[i]; - strWrite = value.ToString() + strNote; - } - else - { - strWrite = value.ToString(); - } - WritePrivateProfileString(section, key, strWrite, path); - } - - public static void WriteDouble(string path, string section, string key, double value = 0) - { - string strRead = ReadString(path, section, key); - string[] strArr = strRead.Split(new char[] { ';' }); - string strNote = ";"; - string strWrite; - if (strArr.Length > 1)//保留原有注释 - { - for (int i = 1; i < strArr.Length; i++) - strNote += strArr[i]; - strWrite = value.ToString() + strNote; - } - else - { - strWrite = value.ToString(); - } - WritePrivateProfileString(section, key, strWrite, path); - } - - public static void WriteBool(string path, string section, string key, bool value = false) - { - string strValue = (value ? "1" : "0"); - string strRead = ReadString(path, section, key); - string[] strArr = strRead.Split(new char[] { ';' }); - string strNote = ";"; - string strWrite; - if (strArr.Length > 1)//保留原有注释 - { - for (int i = 1; i < strArr.Length; i++) - strNote += strArr[i]; - strWrite = strValue + strNote; - } - else - { - strWrite = strValue; - } - WritePrivateProfileString(section, key, strWrite, path); - } - - #endregion 写INI参数 - - //=====================//=====================//=====================Read data - #region 读INI参数 - - /// - /// 从ini配置文件中读取字符串 - /// - /// ini文件路径 - /// 配置节名称 - /// 键名 - /// 要读取的string类型内容 - public static string ReadString(string path, string section, string key) - { - // 每次从ini中读取多少字节 // section=配置节,key=键名,temp=上面,path=路径 - System.Text.StringBuilder temp = new System.Text.StringBuilder(255); - GetPrivateProfileString(section, key, "", temp, 255, path); - String str = temp.ToString(); - string[] strArr = str.Split(new char[] { ';' }); - string strRead = ""; - if (strArr.Length > 0) - { - strRead = strArr[0]; - } - return strRead; - } - - /// - /// 从ini配置文件中读取Int类型 - /// - /// ini文件路径 - /// 配置节名称 - /// 键名 - /// 读不到时默认返回值:0 - /// 要读取的Int类型数据 - public static int ReadInt(string path, string section, string key, int defValue = 0) - { - return GetPrivateProfileInt(section, key, defValue, path); - } - - public static double ReadDouble(string path, string section, string key, double defValue = 0) - { - System.Text.StringBuilder temp = new System.Text.StringBuilder(255); - GetPrivateProfileString(section, key, defValue.ToString(), temp, 255, path); - String str = temp.ToString(); - string[] strArr = str.Split(new char[] { ';' }); - double ReData; - if (strArr.Length > 0) - { - ReData = Convert.ToDouble(strArr[0]); - } - else - { - ReData = defValue; - } - return ReData; - } - - public static bool ReadBool(string path, string section, string key, int defValue = 0) - { - int val = GetPrivateProfileInt(section, key, defValue, path); - if (val != 0) - return true; - else - return false; - } - - #endregion 读INI参数 - } - - //==================================================================================================SoundBase - /// - /// 声音播放类 - /// - public class SoundBase - { - //public static WMPLib.WindowsMediaPlayer WMPlayer = new WMPLib.WindowsMediaPlayer(); - ////方法 1 - //public static void OpenWinMediaPlayer(string FileName) - //{ - // if (!System.IO.File.Exists(FileName)) - // { - // MessageBox.Show("File does not exist!"); - // return; - // } - // WMPlayer.URL = FileName; - //} - - //public static void OpenWinMediaPlayer(WMPLib.WindowsMediaPlayer WinMediaPlayer, string FileName) - //{ - // if (!System.IO.File.Exists(FileName)) - // { - // MessageBox.Show("File does not exist!"); - // return; - // } - // WinMediaPlayer.URL = FileName; - //} - - //public static void OpenWinMediaPlayerDialogFile() - //{ - // OpenFileDialog FileDialog = new OpenFileDialog(); - // FileDialog.AddExtension = true; - // FileDialog.CheckFileExists = true; - // FileDialog.CheckPathExists = true; - // //the next sentence must be in single line - // FileDialog.Filter = "WAV文件(*.wav)|*.wav|MP3文件(*.mp3)|*.mp3|VCD文件(*.dat)|*.dat|Audio文件(*.avi)|*.avi|所有文件 (*.*)|*.*"; - // FileDialog.DefaultExt = "*.mp3"; - // if (FileDialog.ShowDialog() == DialogResult.OK) - // { - // WMPlayer.URL = FileDialog.FileName; - // } - //} - - //public static void OpenWinMediaPlayerDialogFile(WMPLib.WindowsMediaPlayer WinMediaPlayer) - //{ - // OpenFileDialog FileDialog = new OpenFileDialog(); - // FileDialog.AddExtension = true; - // FileDialog.CheckFileExists = true; - // FileDialog.CheckPathExists = true; - // //the next sentence must be in single line - // FileDialog.Filter = "WAV文件(*.wav)|*.wav|MP3文件(*.mp3)|*.mp3|VCD文件(*.dat)|*.dat|Audio文件(*.avi)|*.avi|所有文件 (*.*)|*.*"; - // FileDialog.DefaultExt = "*.mp3"; - // if (FileDialog.ShowDialog() == DialogResult.OK) - // { - // WinMediaPlayer.URL = FileDialog.FileName; - // } - //} - - //方法 2 - public static void sndPlayerPlay(string FileName) - { - if (!System.IO.File.Exists(FileName)) - { - MessageBox.Show("File does not exist!"); - return; - } - System.Media.SoundPlayer sndPlayer = new System.Media.SoundPlayer(FileName); - sndPlayer.Load(); - sndPlayer.Play(); - } - - //方法 3 - public static void SpVoicePlay(string FileName) - { - //if (!System.IO.File.Exists(FileName)) - //{ - // MessageBox.Show("File does not exist!"); - // return; - //} - //SpeechLib.SpVoiceClass pp = new SpeechLib.SpVoiceClass(); - //SpeechLib.SpFileStreamClass spFs = new SpeechLib.SpFileStreamClass(); - //spFs.Open(FileName, SpeechLib.SpeechStreamFileMode.SSFMOpenForRead, true); - //SpeechLib.ISpeechBaseStream Istream = spFs as SpeechLib.ISpeechBaseStream; - //pp.SpeakStream(Istream, SpeechLib.SpeechVoiceSpeakFlags.SVSFIsFilename); - //spFs.Close(); - } - - //方法 4 (蜂鸣器--控制台扬声器) - public static void Beep(int frequency, int duration) - { - //振动的Hz频率; //持续的时间,单位“毫秒”。 - Console.Beep(frequency, duration); - } - } - - //================================================================================================== - /// - /// 数据格式化或校验检测 - /// - internal class FormatCheckBase - { - /// - /// 检测是否为十六进制字符串,长度不够在前面添加0 - /// - /// 输入字符串 - /// 长度 - /// 输出字符串 - /// 检测结果 - public static void FormatChecking16(string strInput, int length, out string strOutput, out Boolean Valid) - { - strOutput = ""; - Valid = true; - byte temp; - if ((strInput.Length <= length) & (strInput.Length > 0)) - { - for (int i = 0; i < strInput.Length; i++) - { - try - { - temp = Convert.ToByte(strInput[i].ToString(), 16); - } - catch - { - Valid = false; - strOutput = ""; - break; - } - strOutput += strInput[i]; - } - if (Valid & (strInput.Length < length)) - { - for (int j = 0; j < length - strInput.Length; j++) - { - strOutput = "0" + strOutput; - } - } - } - else - { - Valid = false; - strOutput = ""; - } - } - - /// - /// 检测是否为十进制字符串,长度不够在前面添加0 - /// - /// 输入字符串 - /// 长度 - /// 输出字符串 - /// 检测结果 - public static bool FormatChecking10(string strInput, int length, out string strOutput) - { - strOutput = ""; - byte temp; - try - { - if ((strInput.Length <= length) & (strInput.Length > 0)) - { - for (int i = 0; i < strInput.Length; i++) - { - try - { - temp = Convert.ToByte(strInput[i].ToString(), 10); - } - catch - { - strOutput = ""; - return false; - } - strOutput += strInput[i]; - } - if (strInput.Length < length) - { - for (int j = 0; j < length - strInput.Length; j++) - { - strOutput = "0" + strOutput; - } - } - } - else - { - strOutput = ""; - return false; - } - } - catch (Exception ex) - { - MessageBox.Show("格式转换错误:" + ex.Message); - return false; - } - return true; - } - - /// - /// 每隔n个字符插入一个字符 - /// - /// 从右边开始插入 - /// 源字符串 - /// 间隔字符数 - /// 待插入值 - /// 待补充值,最后不足间隔字符数时,用此字符补齐;Supplement=""时,不补任何字符。 - /// 返回新生成字符串 - public static string InsertFormat(bool isRight, string input, int interval, string value, string Supplement) - { - if (!isRight)//从左边开始插入 - { - for (int i = interval; i < input.Length; i += interval + 1) - { - input = input.Insert(i, value); - } - if (Supplement != "") - { - do - { - if ((input.Length + 1) % (interval + 1) != 0) { input = input + Supplement; } - } while ((input.Length + 1) % (interval + 1) != 0); - } - } - else//从右边开始插入 - { - for (int i = input.Length - interval; i > 0; i -= interval) - { - input = input.Insert(i, value); - } - if (Supplement != "") - { - do - { - if ((input.Length + 1) % (interval + 1) != 0) { input = Supplement + input; } - } while ((input.Length + 1) % (interval + 1) != 0); - } - } - return input; - } - - /// - /// BCC校验,返回校验后的字符串 - /// - /// 待校验字符串 - /// 返回结果 - public static string GetBCC(string strCmd) - { - if (strCmd.Length >= 2) - { - byte[] Buffer = Encoding.Default.GetBytes(strCmd); - byte byteBCC = Buffer[0]; - for (int i = 1; i < Buffer.Length; i++) - byteBCC ^= Buffer[i]; - return Convert.ToChar(byteBCC).ToString(); - } - else - { - return null; - } - } - - /// - /// BCC校验,返回校验后的数组 - /// - /// 待校验数组 - /// 返回结果 - public static byte[] GetBCC(byte[] byteData) - { - byte[] byteWrite = new byte[byteData.Length + 1]; - if (byteData.Length >= 2) - { - byteData.CopyTo(byteWrite, 0); - byte byteBCC = byteData[0]; - for (int i = 1; i < byteData.Length; i++) - byteBCC ^= byteData[i]; - byteWrite[byteWrite.Length - 1] = byteBCC; - return byteWrite; - } - else - { - return null; - } - } - - /// - /// CRC16校验函数 - /// - public class CRC16Check - { - private const int CRC_LEN = 0; - - // Table of CRC values for high-order byte - #region - - private static readonly byte[] _auchCRCHi = new byte[] - { - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, - 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, - 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, - 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, - 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, - 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, - 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, - 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40 - }; - - #endregion - // Table of CRC values for low-order byte - #region - - private static readonly byte[] _auchCRCLo = new byte[] - { - 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, - 0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, - 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, - 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, - 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4, - 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, - 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, - 0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, - 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, - 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, - 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED, - 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, - 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, - 0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, - 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, - 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, - 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, - 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, - 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, - 0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, - 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, - 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, - 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B, - 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, - 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, - 0x43, 0x83, 0x41, 0x81, 0x80, 0x40 - }; - - #endregion - - /// - /// 计算CRC16校验值 返回一个ushort类型的值,如果要返回Crc高字节和低字节,可重写CalculateCrc16函数为: - /// - /// 待校验数组 - /// 输出高字节 - /// 输出低字节 - /// 输出校验值 - public static ushort CalculateCrc16(byte[] buffer, out byte crcHi, out byte crcLo) - { - crcHi = 0xff; // high crc byte initialized - crcLo = 0xff; // low crc byte initialized - - for (int i = 0; i < buffer.Length - CRC_LEN; i++) - { - int crcIndex = crcHi ^ buffer[i]; // calculate the crc lookup index - - crcHi = (byte)(crcLo ^ _auchCRCHi[crcIndex]); - crcLo = _auchCRCLo[crcIndex]; - } - return (ushort)(crcHi << 8 | crcLo); - } - } - } - - //==================================================================================================ConvertBase - /// - /// 数据转换类 - /// - internal class ConvertBase - { - #region 图像 <--> 数组 - - /// - /// 图像转换为Byte数组 - /// - public static byte[] ImageToByteArray(Image ImageIn) - { - MemoryStream ms = new MemoryStream(); - ImageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Png); - return ms.ToArray(); - } - - /// - /// Byte数组转换为图像 - /// - public static Image byteArrayToImage(byte[] byteArrayIn) - { - MemoryStream ms = new MemoryStream(byteArrayIn); - Image returnImage = Image.FromStream(ms); - return returnImage; - } - - #endregion - - #region 字符串 -> 字节数组 - - /// - /// 十六进制(hexadecimal)字符串转换为字节数组 - /// - /// - /// - public static byte[] HexStringToBytes(string str) - { - str = str.Replace(" ", ""); - byte[] buffer = new byte[str.Length / 2]; - for (int i = 0; i < str.Length; i += 2) - { - buffer[i / 2] = (byte)Convert.ToByte(str.Substring(i, 2), 16); - } - return buffer; - } - - /// - /// 十进制(Decimalism)字符串转换为字节数组 - /// - /// - /// - public static byte[] DecimalStringToBytes(string str) - { - str = str.Replace(" ", ""); - byte[] buffer = new byte[str.Length]; - for (int i = 0; i < str.Length; i++) - { - buffer[i] = (byte)Convert.ToByte(str.Substring(i, 1), 10); - } - return buffer; - } - - #endregion - - #region DataGridView -> DataTable 和 DataSet - - public static DataTable GetDataTableFromDataGridView(DataGridView dv) - { - DataTable dt = new DataTable(); DataColumn dc; - for (int i = 0; i < dv.Columns.Count; i++) - { - dc = new DataColumn(); - dc.ColumnName = dv.Columns[i].HeaderText.ToString(); - dt.Columns.Add(dc); - } - for (int j = 0; j < dv.Rows.Count - 1; j++) - { - DataRow dr = dt.NewRow(); - for (int x = 0; x < dv.Columns.Count; x++) - { - dr[x] = dv.Rows[j].Cells[x].Value; - } - dt.Rows.Add(dr); - } - return dt; - } - - public static DataSet GetDataSetFromDataGridView(DataGridView ucgrd) - { - DataSet ds = new DataSet(); - DataTable dt = new DataTable(); - for (int j = 0; j < ucgrd.Columns.Count; j++) - { dt.Columns.Add(ucgrd.Columns[j].HeaderCell.Value.ToString()); } - for (int j = 0; j < ucgrd.Rows.Count; j++) - { - DataRow dr = dt.NewRow(); - for (int i = 0; i < ucgrd.Columns.Count; i++) - { - if (ucgrd.Rows[j].Cells[i].Value != null) - { dr[i] = ucgrd.Rows[j].Cells[i].Value.ToString(); } - else { dr[i] = ""; } - } - dt.Rows.Add(dr); - } - ds.Tables.Add(dt); - return ds; - } - - #endregion - - #region ListBox.Items, ComboBox.Items -> string[] - - public static string[] GetStringsFromListBox(ListBox mListBox) - { - string[] strings = new string[mListBox.Items.Count]; - for (int i = 0; i < mListBox.Items.Count; i++) - { - strings[i] = mListBox.Items[i].ToString(); - } - return strings; - } - - public static string[] GetStringsFromListBox(ComboBox mComboBox) - { - string[] strings = new string[mComboBox.Items.Count]; - for (int i = 0; i < mComboBox.Items.Count; i++) - { - strings[i] = mComboBox.Items[i].ToString(); - } - return strings; - } - - public static void AddStringsToListView(ListView m_ListView, string[] strings) - { - m_ListView.Items.Clear(); - for (int i = 0; i < strings.Length; i++) - { - m_ListView.Items.Add(strings[i]); - } - } - - #endregion - - /// - /// 从SYGOLE获取的数据转换函数 - /// - public class Tool - { - //将十六进制的字符串转化为ushort - public static ushort HexString2Ushort(string s) - { - ushort value = 0; - - for (int i = 0; i < s.Length; i++) - { - if (s[i] != ' ') - { - value = (ushort)(value * 16 + HexStringToHex(s, i)); - } - } - - return value; - } - - //将字节数组形式的mac地址转化为对应的字符串 - public static string MacToString(byte[] mac) - { - string MacString = ""; - - for (int i = 0; i < 6; i++) - { - MacString += ByteToHexString(mac[i]); - if (i < 5) - { - MacString += ":"; - } - } - - return MacString; - } - - //将字符串形式的mac地址转化为对应的字节数组 - public static byte[] StringToMac(string str) - { - string temp = ""; - - for (int i = 0; i < str.Length; i++) - { - if ((str[i] != ' ') && (str[i] != ':')) - { - temp += str[i]; - } - } - - return HexStringToByte(temp, 0, 6);//6字节长度 - } - - //判断字符串是否是十六进制字符串 - public static bool ValidHexString(string str) - { - for (int i = 0; i < str.Length; i++) - { - if (! - (((str[i] >= '0') && (str[i] <= '9')) || - ((str[i] >= 'a') && (str[i] <= 'f')) || - ((str[i] >= 'A') && (str[i] <= 'F'))) - ) - { - return false; - } - } - - return true; - } - - private static string GetStringWithoutSpace(string str, int pos) - { - string temp = ""; - for (int i = pos; i < str.Length; i++) - { - if ((str[i] != ' ') && (str[i] != ':')) - { - temp += str[i]; - } - } - return temp; - } - - //将单个十六进制字符(4 bits)转化为byte - private static byte HexStringToHex(string str, int pos) - { - byte value = 0; - - if ((str[pos] >= '0') && (str[pos] <= '9')) - { - value = (byte)(str[pos] - '0'); - } - else if ((str[pos] >= 'a') && (str[pos] <= 'f')) - { - value = (byte)(str[pos] - 'a' + 10); - } - else if ((str[pos] >= 'A') && (str[pos] <= 'F')) - { - value = (byte)(str[pos] - 'A' + 10); - } - - return value; - } - - //将字符串的pos位置开始,转化为数组,转化后数组的长度为cnt - public static byte[] HexStringToByte(string str, int pos, int cnt) - { - if ((!ValidHexString(str)) || ((str.Length - pos) >> 1 < cnt)) - { - return null; - } - - byte[] data = new byte[cnt]; - - for (int i = 0; i < cnt; i++) - { - data[i] = (byte)(HexStringToHex(str, 2 * i + pos) * 16 + HexStringToHex(str, 2 * i + pos + 1)); - } - - return data; - } - - public static string bytes2String(byte[] data, int offset, int len) - { - string outString = ""; - - for (int i = offset; i < len + offset; i++) - { - outString += (char)data[i]; - } - - return outString; - } - - //将字符串的pos位置开始,转化为数组,转化后数组的长度为cnt - public static byte[] HexStringToByte(string str, int pos) - { - string tempStr = GetStringWithoutSpace(str, pos); - - return HexStringToByte(tempStr, 0, tempStr.Length >> 1); - } - - public static byte HexStringToSingleByte(string str, int pos) - { - byte temp = 0; - int len = 2; - string tempStr = GetStringWithoutSpace(str, pos); - - if (tempStr.Length == 0) - { - return 0; - } - else if (tempStr.Length < 2) - { - len = tempStr.Length; - } - else - { - len = 2; - } - - for (int i = 0; i < len; i++) - { - temp = (byte)(temp * 16 + HexStringToHex(tempStr, i)); - } - - return temp; - } - - //将字符串的pos位置开始,转化int - public static int HexStringToInt(string s, int pos) - { - string str = ""; - int len = (s.Length - pos) > 8 ? 8 : s.Length - pos; - for (int i = pos; i < len; i++) - { - str += s[i]; - } - for (int i = len; i < 8; i++) - { - str = "0" + str; - } - - if (!ValidHexString(str)) - { - return 0; - } - - int result = 0; - byte[] data = HexStringToByte(str, 0, 4); - - for (int i = 0; i < 4; i++) - { - result = (result << 8) + data[i]; - } - - return result; - } - - //将字节类型的数据转化为十六进制字符串 - public static string ByteToHexString(byte data) - { - string outString = ""; - - if (data < 16) - { - outString += "0"; - } - outString += data.ToString("X"); - - return outString; - } - - //将字节类型的数据转化为十六进制字符串 - public static string ByteToHexString(byte[] data, int pos, int length, string space) - { - string outString = ""; - - for (int i = pos; i < pos + length; i++) - { - outString += ByteToHexString(data[i]); - if (i != pos + length - 1) - { - outString += space; - } - } - - return outString; - } - - //将ushort类型的数据转化为十六进制字符串 - public static string ushortToHexString(ushort[] data, int pos, int length) - { - string outString = ""; - - for (int i = pos; i < pos + length; i++) - { - outString += ByteToHexString((byte)(data[i] >> 8)); - outString += ByteToHexString((byte)(data[i] & 0xFF)); - } - - return outString; - } - } - - //========================================================================================== - public class MyConvert - { - //string a = Convert.ToString(5, 2); - //string b = Convert.ToString(11, 8); - //string c = Convert.ToString(11, 16); - //int aa = Convert.ToInt32("101", 2);//二进制转换10进制 - //int bb = Convert.ToInt32("13", 8); //八进制转换10进制 - //int cc = Convert.ToInt32("b", 16); //十六进制转换10进制 - - #region C++转换程序(C#里面有完整的转换函数) - - //十进制转二制 - public static string DtoB(int d) - { - //Console.WriteLine(Convert.ToString(5,2)) - string str = ""; - //判断该数如果小于2,则直接输出 - if (d < 2) - { - str = d.ToString(); - } - else - { - int c; - int s = 0; - int n = d; - while (n >= 2) - { - s++; - n = n / 2; - } - int[] m = new int[s]; - int i = 0; - do - { - c = d / 2; - m[i++] = d % 2; - d = c; - } while (c >= 2); - str = d.ToString(); - for (int j = m.Length - 1; j >= 0; j--) - { - str += m[j].ToString(); - } - } - return str; - } - - //十进制转八进制 - public static string DtoO(int d) - { - string o = ""; - if (d < 8) - { - o = d.ToString(); - } - else - { - int c; - - int s = 0; - int n = d; - int temp = d; - while (n >= 8) - { - s++; - n = n / 8; - } - int[] m = new int[s]; - int i = 0; - do - { - c = d / 8; - m[i++] = d % 8; - d = c; - } while (c >= 8); - o = d.ToString(); - for (int j = m.Length - 1; j >= 0; j--) - { - o += m[j]; - } - } - return o; - } - - //十进制转十六进制 - public static string DtoX(int d) - { - string x = ""; - if (d < 16) - { - x = chang(d); - } - else - { - int c; - int s = 0; - int n = d; - int temp = d; - while (n >= 16) - { - s++; - n = n / 16; - } - string[] m = new string[s]; - int i = 0; - do - { - c = d / 16; - m[i++] = chang(d % 16);//判断是否大于10,如果大于10,则转换为A~F的格式 - d = c; - } while (c >= 16); - x = chang(d); - for (int j = m.Length - 1; j >= 0; j--) - { - x += m[j]; - } - } - return x; - } - - //判断是否为10~15之间的数,如果是则进行转换 - public static string chang(int d) - { - string x = ""; - switch (d) - { - case 10: - x = "A"; - break; - - case 11: - x = "B"; - break; - - case 12: - x = "C"; - break; - - case 13: - x = "D"; - break; - - case 14: - x = "E"; - break; - - case 15: - x = "F"; - break; - - default: - x = d.ToString(); - break; - } - return x; - } - - public static int XtoD(string instr) - { - int i = Convert.ToInt32("FF", 16); //十六进制转换10进制 - int j = Convert.ToInt32("1100", 2); - int k = Convert.ToInt32("12", 8); - return i; - } - - #endregion - } - } - - //==================================================================================================TcpBase - /// - /// 网络通讯通用类函数库 - /// - internal class TcpBase - { - /// - /// 用CMD命令测试网络连接状态 - /// - /// IP地址或网址 - /// Ping结果 连接;超时或其他结果表示未连接 - public static string CmdPing(string strIp) - { - Process p = new Process(); - p.StartInfo.FileName = "cmd.exe"; - p.StartInfo.UseShellExecute = false; - p.StartInfo.RedirectStandardInput = true; - p.StartInfo.RedirectStandardOutput = true; - p.StartInfo.RedirectStandardError = true; - p.StartInfo.CreateNoWindow = true; - p.Start(); - p.StandardInput.WriteLine("ping -n 1 " + strIp); - p.StandardInput.WriteLine("exit"); - - string strRst = p.StandardOutput.ReadToEnd(); - string pingRst = ""; - if (strRst.Contains("(0% loss)") || strRst.Contains("(0% 丢失)")) - pingRst = "连接"; - else if (strRst.Contains("Request timed out") || strRst.Contains("请求超时")) - pingRst = "超时"; - else if (strRst.Contains("Unknown host") || strRst.Contains("无法解析主机")) - pingRst = "无法解析主机"; - else if (strRst.Contains("请求找不到主机")) - pingRst = "请求找不到主机"; - else if (strRst.Contains("Destination host unreachable.")) - pingRst = "无法到达目的主机"; - else - pingRst = strRst; - p.Close(); - return pingRst; - } - } - - //==================================================================================================MyMath - /// - /// 数学函数库(算法) - /// - internal class MyMath - { - public static double GetMax(double[] Datas) - { - double Max = -9999; - try - { - if (Datas.Length == 1) - return Datas[0]; - for (int i = 0; i < Datas.Length; i++) - { - Max = Math.Max(Datas[i], Max); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - } - return Max; - } - - public static double GetMin(double[] Datas) - { - double Min = 9999; - try - { - if (Datas.Length == 1) - return Datas[0]; - for (int i = 0; i < Datas.Length; i++) - { - Min = Math.Min(Datas[i], Min); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - } - return Min; - } - - /// - /// 获取PLC读取地址数据(从起始地址偏移) - /// - /// 数据数组 - /// PLC读取地址,从0开始 - /// 返回整形数据或-1 - public static int GetPlcData(byte[] byteData, int DataAddr) - { - try - { - if (byteData == null) - { - return -1; - } - if (byteData.Length < 10 + DataAddr * 2) - { - return -1; - } - else - { - int bitH = DataAddr * 2 + 9; - int bitL = DataAddr * 2 + 10; - return byteData[bitH] * 256 + byteData[bitL]; - } - } - catch - { - return -1; - } - } - - /// - /// 获取PLC读取地址数据(从起始地址偏移) - /// - /// 数据数组 - /// PLC读取地址 - /// PLC读取起始地址 - /// 返回整形数据或-1 - public static int GetPlcData(byte[] byteData, int DataAddr, int startAddr) - { - try - { - if (byteData == null) - { - return -1; - } - if (startAddr > DataAddr) - { - //MessageBox.Show("错误:要读取的数据小于起始地址"); - return -1; - } - if (byteData.Length < 9 + (DataAddr - startAddr) * 2) - { - return -1; - } - else - { - int bitH = (DataAddr - startAddr) * 2 + 9; - int bitL = (DataAddr - startAddr) * 2 + 10; - return byteData[bitH] * 256 + byteData[bitL]; - } - } - catch - { - //MessageBox.Show("Catch错误:" + ex.Message); - return -1; - } - } - - /// - /// 获取字节的某一位 - /// - /// 从0开始 - /// - public static bool GetPlcBit(int data, int index) - { - switch (index) - { - case 0: - return (data & 0x0001) > 0; - - case 1: - return (data & 0x0002) > 0; - - case 2: - return (data & 0x0004) > 0; - - case 3: - return (data & 0x0008) > 0; - - case 4: - return (data & 0x0010) > 0; - - case 5: - return (data & 0x0020) > 0; - - case 6: - return (data & 0x0040) > 0; - - case 7: - return (data & 0x0080) > 0; - - case 8: - return (data & 0x0100) > 0; - - case 9: - return (data & 0x0200) > 0; - - case 10: - return (data & 0x0400) > 0; - - case 11: - return (data & 0x0800) > 0; - - case 12: - return (data & 0x1000) > 0; - - case 13: - return (data & 0x2000) > 0; - - case 14: - return (data & 0x4000) > 0; - - case 15: - return (data & 0x8000) > 0; - - default: - return false; - } - } - - public static bool GetPlcBitH2Low(int data, int index) - { - switch (index) - { - case 0: - return (data & 0x0100) > 0; - - case 1: - return (data & 0x0200) > 0; - - case 2: - return (data & 0x0400) > 0; - - case 3: - return (data & 0x0800) > 0; - - case 4: - return (data & 0x1000) > 0; - - case 5: - return (data & 0x2000) > 0; - - case 6: - return (data & 0x4000) > 0; - - case 7: - return (data & 0x8000) > 0; - - case 8: - return (data & 0x0001) > 0; - - case 9: - return (data & 0x0002) > 0; - - case 10: - return (data & 0x0004) > 0; - - case 11: - return (data & 0x0008) > 0; - - case 12: - return (data & 0x0010) > 0; - - case 13: - return (data & 0x0020) > 0; - - case 14: - return (data & 0x0040) > 0; - - case 15: - return (data & 0x0080) > 0; - - default: - return false; - } - } - - /// - /// 获取字节的某一位 - /// - /// 从0开始 - /// - public static bool GetPlcBit(byte[] byteData, int DataAddr, int index, int startAddr) - { - int Value = GetPlcData(byteData, DataAddr, startAddr); - bool bResult = GetPlcBit(Value, index); - return bResult; - } - - public static bool GetPlcBitH2Low(byte[] byteData, int DataAddr, int index, int startAddr) - { - int Value = GetPlcData(byteData, DataAddr, startAddr); - bool bResult = GetPlcBitH2Low(Value, index); - return bResult; - } - - /// - /// 获取单精度浮点数(float)数据 - /// - /// PLC读取总数据 - /// 获取数据的地址 - /// PLC起始地址 - /// 数据正反序 - /// - public static float GetPlcSingle(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence = true) - { - try - { - if (byteData == null) - { - return -1; - } - if (startAddr > DataAddr) - { - return -1; - } - if (byteData.Length < 9 + (DataAddr - startAddr) * 2) - { - return -1; - } - else - { - float Result = -1; - int startBit = (DataAddr - startAddr) * 2 + 9; - - byte[] arrLength = new byte[4]; - arrLength[0] = byteData[startBit + 0]; - arrLength[1] = byteData[startBit + 1]; - arrLength[2] = byteData[startBit + 2]; - arrLength[3] = byteData[startBit + 3]; - - if (PositiveSequence) - { - Result = BitConverter.ToSingle(arrLength, 0); - } - else - { - Result = BitConverter.ToSingle(arrLength.Reverse().ToArray(), 0); - } - Result = Convert.ToSingle(Math.Round(Result, 3)); - return Result; - } - } - catch - { - return -1; - } - } - - /// - /// 获取字符串(string) - /// - /// PLC读取总数据 - /// 获取数据的地址 - /// PLC起始地址 - /// 读取的地址数量(单位16) - /// 数据正反序 - /// 转换为字符串类型,2=二进制,10=十进制,16=十六进制,其他=char字符串 - /// - public static string GetPlcString(byte[] byteData, int DataAddr, int startAddr, int DataNum, bool PositiveSequence = true, int strType = 0) - { - string Result = ""; - try - { - if (byteData == null) - { - return Result; - } - if (startAddr > DataAddr + DataNum) - { - return Result; - } - if (byteData.Length < 9 + (DataAddr - startAddr) * 2) - { - return Result; - } - else - { - int startBit = (DataAddr - startAddr) * 2 + 9; - byte[] arrLength = new byte[DataNum * 2]; - for (int i = 0; i < DataNum * 2; i++) - { - arrLength[i] = byteData[startBit + i]; - } - if (!PositiveSequence) - { - arrLength = (byte[])arrLength.Reverse(); - } - switch (strType) - { - case 2: - foreach (byte b in arrLength) - { - Result += ConvertBase.MyConvert.DtoB(b); - } - break; - - case 10: - foreach (byte b in arrLength) - { - Result += b.ToString(); - } - break; - - case 16: - foreach (byte b in arrLength) - { - Result += b.ToString("X2"); - } - break; - - default: - foreach (byte b in arrLength) - { - Result += Convert.ToChar(b).ToString(); - } - break; - } - return Result.Trim(); - } - } - catch - { - return Result; - } - } - - //====================================================================== - /// - /// 字节数组(byte 8位)转化为ushort(16位)数组 - /// - public static ushort[] GetushortsFromValue(byte[] Value) - { - ushort[] rtnValues; - byte[] bytes = Value; - int Length = bytes.Length / 2; - if (bytes.Length % 2 == 0) - { - rtnValues = new ushort[Length]; - for (int i = 0; i < bytes.Length; i += 2) - { - rtnValues[i / 2] = BitConverter.ToUInt16(bytes, i); - } - } - else - { - rtnValues = new ushort[bytes.Length / 2 + 1]; - for (int i = 0; i < bytes.Length - 1; i += 2) - { - rtnValues[i / 2] = BitConverter.ToUInt16(bytes, i); - } - rtnValues[bytes.Length / 2] = bytes[bytes.Length - 1]; - } - return rtnValues; - } - - /// - /// 字符串(string)转化为ushort(16位)数组 - /// - public static ushort[] GetushortsFromValue(string Value) - { - byte[] bytes = System.Text.Encoding.Default.GetBytes(Value); - ushort[] ushorts = GetushortsFromValue(bytes); - return ushorts; - } - - /// - /// 单精度小数(float 32位)转化为ushort(16位)数组 - /// - public static ushort[] GetushortsFromValue(float Value) - { - byte[] bytes = BitConverter.GetBytes(Value); - ushort[] ushorts = GetushortsFromValue(bytes); - return ushorts; - } - - /// - /// 双精度小数(double 64位)转化为ushort(16位)数组 - /// - public static ushort[] GetushortsFromValue(double Value) - { - byte[] bytes = BitConverter.GetBytes(Value); - ushort[] ushorts = GetushortsFromValue(bytes); - return ushorts; - } - - //====================================================================== - /// - /// 字节数组(byte 8位)转化为short(16位)数组 - /// - public static short[] GetshortsFromValue(byte[] Value) - { - short[] rtnValues; - byte[] bytes = Value; - int Length = bytes.Length / 2; - if (bytes.Length % 2 == 0) - { - rtnValues = new short[Length]; - for (int i = 0; i < bytes.Length; i += 2) - { - rtnValues[i / 2] = BitConverter.ToInt16(bytes, i); - } - } - else - { - rtnValues = new short[bytes.Length / 2 + 1]; - for (int i = 0; i < bytes.Length - 1; i += 2) - { - rtnValues[i / 2] = BitConverter.ToInt16(bytes, i); - } - rtnValues[bytes.Length / 2] = bytes[bytes.Length - 1]; - } - return rtnValues; - } - - /// - /// 字符串(string)转化为short(16位)数组 - /// - public static short[] GetshortsFromValue(string Value) - { - byte[] bytes = System.Text.Encoding.Default.GetBytes(Value); - short[] shorts = GetshortsFromValue(bytes); - return shorts; - } - - /// - /// 整形(int 32位)转化为short(16位)数组 - /// - public static short[] GetshortsFromValue(int Value) - { - byte[] bytes = BitConverter.GetBytes(Value); - short[] shorts = GetshortsFromValue(bytes); - return shorts; - } - - /// - /// 单精度小数(float 32位)转化为short(16位)数组 - /// - public static short[] GetshortsFromValue(float Value) - { - byte[] bytes = BitConverter.GetBytes(Value); - short[] shorts = GetshortsFromValue(bytes); - return shorts; - } - - /// - /// 双精度小数(double 64位)转化为ushort(16位)数组 - /// - public static short[] GetshortsFromValue(double Value) - { - byte[] bytes = BitConverter.GetBytes(Value); - short[] shorts = GetshortsFromValue(bytes); - return shorts; - } - } - - internal class CodeDfn - { - public const string BlankSpace = " "; - public const string strEnter = "\r\n"; - } - - internal class PlcMath - { - #region S7协议数据处理(以字节为基础) - - public static bool GetS7BoolBit(byte data, int index) - { - switch (index) - { - case 0: return (data & 0x01) > 0; - case 1: return (data & 0x02) > 0; - case 2: return (data & 0x04) > 0; - case 3: return (data & 0x08) > 0; - case 4: return (data & 0x10) > 0; - case 5: return (data & 0x20) > 0; - case 6: return (data & 0x40) > 0; - case 7: return (data & 0x80) > 0; - default: return false; - } - } - - public static bool GetS7BoolData(byte[] byteData, int DataAddr, int startAddr, int index) - { - byte data = GetS7ByteData(byteData, DataAddr, startAddr); - return GetS7BoolBit(data, index); - } - - /// - /// 获取PLC读取地址数据(从起始地址偏移) - /// - /// 数据数组 - /// PLC读取地址 - /// PLC读取起始地址 - /// 返回整形数据或-1 - public static byte GetS7ByteData(byte[] byteData, int DataAddr, int startAddr) - { - try - { - if (byteData == null) - { - return 0; - } - if (startAddr > DataAddr) - { - MessageBox.Show("错误:获取S7字节数据, 要读取的数据小于起始地址"); - return 0; - } - if (byteData.Length < (DataAddr - startAddr)) - { - MessageBox.Show("错误:获取S7字节数据, 要读取的偏移地址超出数组长度,偏移=" + (DataAddr - startAddr) + ", 数组长度=" + byteData.Length); - return 0; - } - else - { - int bit = DataAddr - startAddr; - return byteData[bit]; - } - } - catch - { - //MessageBox.Show("Catch错误:" + ex.Message); - return 0; - } - } - - /// - /// 获取PLC读取地址数据(从起始地址偏移) - /// - /// 数据数组 - /// PLC读取地址 - /// PLC读取起始地址 - /// 返回整形数据或-1 - public static byte GetS7ByteData(byte[] byteData, int DataAddr) - { - try - { - if (byteData == null) - { - return 0; - } - if (byteData.Length < byteData.Length) - { - MessageBox.Show("获取S7字节数据,地址超出数组长度!", "警告"); - return 0; - } - return byteData[DataAddr]; - } - catch (Exception ex) - { - MessageBox.Show("Catch错误:获取S7字节数据" + ex.Message); - return 0; - } - } - - public static int GetS7WordData(byte[] byteData, int DataAddr, int startAddr) - { - try - { - if (byteData == null) - { - return -1; - } - //if (startAddr > DataAddr) - //{ - // //MessageBox.Show("错误:要读取的数据小于起始地址"); - // return -1; - //} - //if (byteData.Length < (DataAddr - startAddr) * 2) - //{ - // return -1; - //} - //else - { - int bitH = (DataAddr - startAddr) * 2; - int bitL = (DataAddr - startAddr) * 2 + 1; - return byteData[bitH] * 256 + byteData[bitL]; - } - } - catch - { - //MessageBox.Show("Catch错误:" + ex.Message); - return -1; - } - } - - /// - /// 获取字符串(string) - /// - /// PLC读取总数据 - /// 获取数据的地址 - /// PLC起始地址 - /// 读取的地址数量(单位16) - /// 数据正反序 - /// 转换为字符串类型,2=二进制,10=十进制,16=十六进制,其他=char字符串 - /// - public static string GetS7StringData(byte[] byteData, int DataAddr, int startAddr, int DataNum, int strType = 0, bool PositiveSequence = true) - { - string Result = ""; - try - { - if (byteData == null) - { - return Result; - } - if (startAddr > DataAddr + DataNum) - { - return Result; - } - if (byteData.Length < (DataAddr - startAddr)) - { - return Result; - } - else - { - int startBit = (DataAddr - startAddr); - byte[] arrLength = new byte[DataNum]; - for (int i = 0; i < DataNum; i++) - { - arrLength[i] = byteData[startBit + i]; - } - if (!PositiveSequence) - { - arrLength = (byte[])arrLength.Reverse(); - } - switch (strType) - { - case 2: - foreach (byte b in arrLength) - { - Result += ConvertBase.MyConvert.DtoB(b); - } - break; - - case 10: - foreach (byte b in arrLength) - { - Result += b.ToString(); - } - break; - - case 16: - foreach (byte b in arrLength) - { - Result += b.ToString("X2"); - } - break; - - default: - foreach (byte b in arrLength) - { - if (b >= 32) - Result += Convert.ToChar(b).ToString(); - } - break; - } - return Result.Trim(); - } - } - catch - { - return Result; - } - } - - /// - /// 获取单精度浮点数(float)数据 - /// - /// PLC读取总数据 - /// 获取数据的地址 - /// PLC起始地址 - /// 数据正反序 - /// - public static float GetPlcSingleS7(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence) - { - try - { - if (byteData == null) - { - return -1; - } - if (startAddr > DataAddr) - { - return -1; - } - if (byteData.Length < (DataAddr - startAddr)) - { - return -1; - } - else - { - float Result = -1; - int startBit = (DataAddr - startAddr); - - byte[] arrLength = new byte[4]; - arrLength[0] = byteData[startBit + 0]; - arrLength[1] = byteData[startBit + 1]; - arrLength[2] = byteData[startBit + 2]; - arrLength[3] = byteData[startBit + 3]; - - if (PositiveSequence) - { - Result = BitConverter.ToSingle(arrLength, 0); - } - else - { - Result = BitConverter.ToSingle(arrLength.Reverse().ToArray(), 0); - } - Result = Convert.ToSingle(Math.Round(Result, 3)); - return Result; - } - } - catch - { - return -1; - } - } - /// - /// 获取双精度浮点数(double)数据 - /// - /// PLC读取总数据 - /// 获取数据的地址 - /// PLC起始地址 - /// 数据正反序 - /// - public static double GetPlcDoubleS7(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence) - { - try - { - if (byteData == null) - { - return -1; - } - if (startAddr > DataAddr) - { - return -1; - } - if (byteData.Length < (DataAddr - startAddr)) - { - return -1; - } - else - { - double Result = -1; - int startBit = (DataAddr - startAddr); - - byte[] arrLength = new byte[8]; - arrLength[0] = byteData[startBit + 0]; - arrLength[1] = byteData[startBit + 1]; - arrLength[2] = byteData[startBit + 2]; - arrLength[3] = byteData[startBit + 3]; - arrLength[4] = byteData[startBit + 4]; - arrLength[5] = byteData[startBit + 5]; - arrLength[6] = byteData[startBit + 6]; - arrLength[7] = byteData[startBit + 7]; - if (PositiveSequence) - { - Result = BitConverter.ToDouble(arrLength, 0); - } - else - { - Result = BitConverter.ToDouble(arrLength.Reverse().ToArray(), 0); - } - Result = Convert.ToDouble(Math.Round(Result, 3)); - return Result; - } - } - catch - { - return -1; - } - } - #endregion - - #region ModbusTCP/FinsTCP协议数据处理(以字为基础) - - /// - /// 获取PLC读取地址数据(从起始地址偏移) - /// - /// 数据数组 - /// PLC读取地址,从0开始 - /// 返回整形数据或-1 - public static int GetPlcData(byte[] byteData, int DataAddr) - { - try - { - if (byteData == null) - { - return -1; - } - if (byteData.Length < DataAddr * 2) - { - return -1; - } - else - { - int bitH = DataAddr * 2; - int bitL = DataAddr * 2 + 1; - return byteData[bitH] * 256 + byteData[bitL]; - } - } - catch - { - return -1; - } - } - - /// - /// 获取PLC读取地址数据(从起始地址偏移) - /// - /// 数据数组 - /// PLC读取地址 - /// PLC读取起始地址 - /// 返回整形数据或-1 - public static byte GetPlcByteData(byte[] byteData, int DataAddr, int startAddr) - { - try - { - if (byteData == null) - { - return 0; - } - if (startAddr > DataAddr) - { - //MessageBox.Show("错误:要读取的数据小于起始地址"); - return 0; - } - //if (byteData.Length < (DataAddr - startAddr) * 2) - if (byteData.Length < (DataAddr - startAddr)) - { - return 0; - } - else - { - int bit = DataAddr - startAddr; - return byteData[bit]; - } - } - catch - { - //MessageBox.Show("Catch错误:" + ex.Message); - return 0; - } - } - - /// - /// 获取PLC读取地址数据(从起始地址偏移) - /// - /// 数据数组 - /// PLC读取地址 - /// PLC读取起始地址 - /// 返回整形数据或-1 - public static int GetPlcData(byte[] byteData, int DataAddr, int startAddr) - { - try - { - if (byteData == null) - { - return -1; - } - if (startAddr > DataAddr) - { - //MessageBox.Show("错误:要读取的数据小于起始地址"); - return -1; - } - if (byteData.Length < (DataAddr - startAddr) * 2) - { - return -1; - } - else - { - int bitH = (DataAddr - startAddr) * 2; - int bitL = (DataAddr - startAddr) * 2 + 1; - return byteData[bitH] * 256 + byteData[bitL]; - } - } - catch - { - //MessageBox.Show("Catch错误:" + ex.Message); - return -1; - } - } - - /// - /// 获取字节的某一位 - /// - /// 从0开始 - /// - public static bool GetPlcBit(int data, int index) - { - switch (index) - { - case 0: - return (data & 0x0001) > 0; - - case 1: - return (data & 0x0002) > 0; - - case 2: - return (data & 0x0004) > 0; - - case 3: - return (data & 0x0008) > 0; - - case 4: - return (data & 0x0010) > 0; - - case 5: - return (data & 0x0020) > 0; - - case 6: - return (data & 0x0040) > 0; - - case 7: - return (data & 0x0080) > 0; - - case 8: - return (data & 0x0100) > 0; - - case 9: - return (data & 0x0200) > 0; - - case 10: - return (data & 0x0400) > 0; - - case 11: - return (data & 0x0800) > 0; - - case 12: - return (data & 0x1000) > 0; - - case 13: - return (data & 0x2000) > 0; - - case 14: - return (data & 0x4000) > 0; - - case 15: - return (data & 0x8000) > 0; - - default: - return false; - } - } - - public static bool GetPlcBitH2Low(int data, int index) - { - switch (index) - { - case 0: - return (data & 0x0100) > 0; - - case 1: - return (data & 0x0200) > 0; - - case 2: - return (data & 0x0400) > 0; - - case 3: - return (data & 0x0800) > 0; - - case 4: - return (data & 0x1000) > 0; - - case 5: - return (data & 0x2000) > 0; - - case 6: - return (data & 0x4000) > 0; - - case 7: - return (data & 0x8000) > 0; - - case 8: - return (data & 0x0001) > 0; - - case 9: - return (data & 0x0002) > 0; - - case 10: - return (data & 0x0004) > 0; - - case 11: - return (data & 0x0008) > 0; - - case 12: - return (data & 0x0010) > 0; - - case 13: - return (data & 0x0020) > 0; - - case 14: - return (data & 0x0040) > 0; - - case 15: - return (data & 0x0080) > 0; - - default: - return false; - } - } - - /// - /// 获取字节的某一位 - /// - /// 从0开始 - /// - public static bool GetPlcBit(byte[] byteData, int DataAddr, int index, int startAddr) - { - int Value = GetPlcData(byteData, DataAddr, startAddr); - bool bResult = GetPlcBit(Value, index); - return bResult; - } - - public static bool GetPlcBitH2Low(byte[] byteData, int DataAddr, int index, int startAddr) - { - int Value = GetPlcData(byteData, DataAddr, startAddr); - bool bResult = GetPlcBitH2Low(Value, index); - return bResult; - } - - /// - /// 获取单精度浮点数(float)数据 - /// - /// PLC读取总数据 - /// 获取数据的地址 - /// PLC起始地址 - /// 数据正反序 - /// - public static float GetPlcSingle(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence) - { - try - { - if (byteData == null) - { - return -1; - } - if (startAddr > DataAddr) - { - return -1; - } - if (byteData.Length < (DataAddr - startAddr) * 2) - { - return -1; - } - else - { - float Result = -1; - int startBit = (DataAddr - startAddr) * 2; - - byte[] arrLength = new byte[4]; - arrLength[0] = byteData[startBit + 0]; - arrLength[1] = byteData[startBit + 1]; - arrLength[2] = byteData[startBit + 2]; - arrLength[3] = byteData[startBit + 3]; - - if (PositiveSequence) - { - Result = BitConverter.ToSingle(arrLength, 0); - } - else - { - Result = BitConverter.ToSingle(arrLength.Reverse().ToArray(), 0); - } - Result = Convert.ToSingle(Math.Round(Result, 3)); - return Result; - } - } - catch - { - return -1; - } - } - - /// - /// 获取字符串(string) - /// - /// PLC读取总数据 - /// 获取数据的地址 - /// PLC起始地址 - /// 读取的地址数量(单位16) - /// 数据正反序 - /// 转换为字符串类型,2=二进制,10=十进制,16=十六进制,其他=char字符串 - /// - public static string GetPlcString(byte[] byteData, int DataAddr, int startAddr, int DataNum, int strType = 0, bool PositiveSequence = true) - { - string Result = ""; - try - { - if (byteData == null) - { - return Result; - } - if (startAddr > DataAddr + DataNum) - { - return Result; - } - if (byteData.Length < (DataAddr - startAddr) * 2) - { - return Result; - } - else - { - int startBit = (DataAddr - startAddr) * 2; - byte[] arrLength = new byte[DataNum * 2]; - for (int i = 0; i < DataNum * 2; i++) - { - arrLength[i] = byteData[startBit + i]; - } - if (!PositiveSequence) - { - arrLength = (byte[])arrLength.Reverse(); - } - switch (strType) - { - case 2: - foreach (byte b in arrLength) - { - Result += ConvertBase.MyConvert.DtoB(b); - } - break; - - case 10: - foreach (byte b in arrLength) - { - Result += b.ToString(); - } - break; - - case 16: - foreach (byte b in arrLength) - { - Result += b.ToString("X2"); - } - break; - - default: - foreach (byte b in arrLength) - { - if (b >= 32) - Result += Convert.ToChar(b).ToString(); - } - break; - } - return Result.Trim(); - } - } - catch - { - return Result; - } - } - - #endregion - } - - public static class StringChange - { - #region 数据类型转换函数 - - public static byte[] Swap16Bytes(byte[] OldU16) - { - byte[] ReturnBytes = new byte[2]; - ReturnBytes[1] = OldU16[0]; - ReturnBytes[0] = OldU16[1]; - return ReturnBytes; - } - - public static bool CompareBytes(byte[] byteA, byte[] byteB, int iLen) - { - for (int i = 0; i < iLen; i++) - { - if (byteA[i] != byteB[i]) - { - return false; - } - } - return true; - } - - /// - /// 16进制字符串转换成btye数组 - /// - /// 16进制字符串 - /// - public static byte[] HexStrTorbytes(string strHex)//e.g. " 01 01" ---> { 0x01, 0x01} - { - strHex = strHex.Replace(" ", ""); - if ((strHex.Length % 2) != 0) - strHex += " "; - byte[] returnBytes = new byte[strHex.Length / 2]; - for (int i = 0; i < returnBytes.Length; i++) - returnBytes[i] = Convert.ToByte(strHex.Substring(i * 2, 2), 16); - return returnBytes; - } - - /// - /// 二进制字符串转换成16进制字符串 - /// - /// 二进制字符串 - /// 16进制字符串 - public static string Binary2HexString(string strerjinzhi) - { - string str = ""; - str = string.Format("{0:x}", Convert.ToInt32(strerjinzhi, 2)); - return str; - } - - /// - /// 西门子16进制字符串转换成2进制的二维数组 - /// - /// 16进制字符串 - /// 19:8的二维数组 - public static string[,] HexString2BinString(string hexString) - { - string[,] strTestData = new string[19, 8]; - for (int i = 0; i < hexString.Length / 2; i++) - { - string tempRes = string.Empty; - foreach (char c in hexString.Substring(i * 2, 2)) - { - int v = Convert.ToInt32(c.ToString(), 16); - int v2 = int.Parse(Convert.ToString(v, 2)); - // 去掉格式串中的空格,即可去掉每个4位二进制数之间的空格, - tempRes += string.Format("{0:d4}", v2); - } - int k = 0; - for (int j = tempRes.Length - 1; j >= 0; j--) - { - strTestData[i, k] = tempRes[j].ToString(); - k++; - } - } - - return strTestData; - } - - /// - /// 海德汉16进制字符串转换成2进制的二维数组 例如: 0X42 传入十六进制字符串42 (0100 0010), 返回二维数组(0100 0010) - /// - /// 16进制字符串 - /// 21:8的二维数组 - public static string[,] HeidenhainHexString2BinString(string hexString) - { - string[,] strTestData = new string[23, 8]; - for (int i = 0; i < hexString.Length / 2; i++) - { - string tempRes = string.Empty; - foreach (char c in hexString.Substring(i * 2, 2)) - { - int v = Convert.ToInt32(c.ToString(), 16); - int v2 = int.Parse(Convert.ToString(v, 2)); - // 去掉格式串中的空格,即可去掉每个4位二进制数之间的空格, - tempRes += string.Format("{0:d4}", v2); - } - int k = 0; - for (int j = tempRes.Length - 1; j >= 0; j--) - { - strTestData[i, k] = tempRes[j].ToString(); - k++; - } - } - - return strTestData; - } - - /// - /// byte数组转换成字符串 带空格隔开 - /// - /// byte数组 - /// 长度 - /// string - public static string bytesToHexStr(byte[] bytes, int iLen)//e.g. { 0x01,0x01} ---> " 01 01" - { - string returnStr = ""; - if (bytes != null) - { - for (int i = 0; i < iLen; i++) - { - returnStr += bytes[i].ToString("X2") + " "; - } - } - return returnStr; - } - - /// - /// byte数组转换成字符串 不带空格 - /// - /// byte数组 - /// 长度 - /// string - public static string bytesToHexStrWithoutSpace(byte[] bytes, int iLen)//e.g. { 0x01,0x01} ---> " 0101" - { - string returnStr = ""; - if (bytes != null) - { - for (int i = 0; i < iLen; i++) - { - returnStr += bytes[i].ToString("X2"); - } - } - return returnStr; - } - - /// - /// 计算CRC - /// - /// byte数组 - /// 长度 - /// CRC校验和 - public static byte CalculateCRC(byte[] pMessage, int iLength) - { - int i = 0; - byte iVerify = 0; - for (i = 0; i < iLength; i++) - { - iVerify = (byte)(iVerify + pMessage[i]); - } - - return iVerify; - } - - public static string StringToHexString(string s, Encoding encode) - { - byte[] b = encode.GetBytes(s); //按照指定编码将string编程字节数组 - string result = string.Empty; - for (int i = 0; i < b.Length; i++) //逐字节变为16进制字符,以%隔开 - { - result += "%" + Convert.ToString(b[i], 16); - } - return result; - } - - public static string HexStringToString(string hs, Encoding encode) - { - //以%分割字符串,并去掉空字符 - string[] chars = hs.Split(new char[] { '%' }, StringSplitOptions.RemoveEmptyEntries); - byte[] b = new byte[chars.Length]; - //逐个字符变为16进制字节数据 - for (int i = 0; i < chars.Length; i++) - { - b[i] = Convert.ToByte(chars[i], 16); - } - //按照指定编码将字节数组变为字符串 - return encode.GetString(b); - } - - public static short SwapInt16(this short n) - { - return (short)(((n & 0xff) << 8) | ((n >> 8) & 0xff)); - } - - public static ushort SwapUInt16(this ushort n) - { - return (ushort)(((n & 0xff) << 8) | ((n >> 8) & 0xff)); - } - - public static int SwapInt32(this int n) - { - return (int)(((SwapInt16((short)n) & 0xffff) << 0x10) | - (SwapInt16((short)(n >> 0x10)) & 0xffff)); - } - - public static uint SwapUInt32(this uint n) - { - return (uint)(((SwapUInt16((ushort)n) & 0xffff) << 0x10) | - (SwapUInt16((ushort)(n >> 0x10)) & 0xffff)); - } - - public static long SwapInt64(this long n) - { - return (long)(((SwapInt32((int)n) & 0xffffffffL) << 0x20) | - (SwapInt32((int)(n >> 0x20)) & 0xffffffffL)); - } - - public static ulong SwapUInt64(this ulong n) - { - return (ulong)(((SwapUInt32((uint)n) & 0xffffffffL) << 0x20) | - (SwapUInt32((uint)(n >> 0x20)) & 0xffffffffL)); - } - - #endregion - } + //========================================================================================== + //通用功能类 + public class NLogger + { + private static readonly Logger logger = LogManager.GetCurrentClassLogger(); + + public static void Trace(string message) + { logger.Trace(message); } + + public static void Debug(string message) + { logger.Debug(message); } + + public static void Info(string message) + { logger.Info(message); } + + public static void Warn(string message) + { logger.Warn(message); } + + public static void Error(string message) + { logger.Error(message); } + + public static void Fatal(string message) + { logger.Fatal(message); } + } + + public class MyBase + { + public static RadLabelElement rleMessage; + #region 内存回收 + + [DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize")] + public static extern int SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize); + + /// + /// 释放内存 + /// + public static void ClearMemory() + { + GC.Collect(); + GC.WaitForPendingFinalizers(); + if (Environment.OSVersion.Platform == PlatformID.Win32NT) + { + SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1); + } + } + + public static void ClearMemory_PCDMIS() + { + Process[] m_Process = Process.GetProcessesByName("PCDLRN"); + for (int i = 0; i < m_Process.Length; i++) + { + if (Environment.OSVersion.Platform == PlatformID.Win32NT) + { + SetProcessWorkingSetSize(m_Process[i].Handle, -1, -1); + } + } + } + + #endregion 内存回收 + + public static void KillSoftware(string strSoftwareName) + { + Process[] xc = Process.GetProcesses(); + try + { + foreach (Process xc1 in xc) + { + if (xc1.ProcessName.ToLower() == strSoftwareName.ToLower()) + { + xc1.Kill(); + } + } + } + catch (Exception ex) + { + MyBase.TraceWriteLine("Kill " + strSoftwareName + " Failed: " + ex.ToString()); + } + } + + public static void DeleteAllFiles(string strPath) + { + try + { + DirectoryInfo dir = new DirectoryInfo(strPath); + FileSystemInfo[] fileinfo = dir.GetFileSystemInfos(); //返回目录中所有文件和子目录 + foreach (FileSystemInfo i in fileinfo) + { + if (i is DirectoryInfo) //判断是否文件夹 + { + DirectoryInfo subdir = new DirectoryInfo(i.FullName); + subdir.Delete(true); //删除子目录和文件 + } + else + { + File.Delete(i.FullName); //删除指定文件 + } + } + MyBase.TraceWriteLine("首次启动软件,遍历删除路径:" + strPath + "下的文件全部删除"); + } + catch (Exception e) + { + MyBase.TraceWriteLine("遍历删除路径:" + strPath + "下的文件失败:" + e.ToString()); + } + } + + #region 界面控件操作 + + /// + /// 根据指定容器和控件名字,获得控件 + /// + /// 容器 + /// 控件名字 + /// 控件 + public static object GetControlInstance(object obj, string strControlName, Form mainForm) + { + IEnumerator Controls = null;//所有控件 + Control c = null;//当前控件 + Object cResult = null;//查找结果 + if (obj.GetType() == mainForm.GetType())//窗体 + { + Controls = mainForm.Controls.GetEnumerator(); + } + else//控件 + { + Controls = ((Control)obj).Controls.GetEnumerator(); + } + while (Controls.MoveNext())//遍历操作 + { + c = (Control)Controls.Current;//当前控件 + if (c.HasChildren)//当前控件是个容器 + { + cResult = GetControlInstance(c, strControlName, mainForm);//递归查找 + if (cResult == null)//当前容器中没有,跳出,继续查找 + continue; + else//找到控件,返回 + return cResult; + } + else if (c.Name == strControlName)//不是容器,同时找到控件,返回 + { + return c; + } + } + return null;//控件不存在 + } + + /// + /// 获取主控件上的子控件的名称 + /// + /// 主控件名称 + /// 子控件名称 + /// + public static object GetChildControl(object obj, string strControlName) + { + Control m_Ctrl = null;//当前控件 + IEnumerator Controls = ((Control)obj).Controls.GetEnumerator(); + + while (Controls.MoveNext()) + { + m_Ctrl = (Control)Controls.Current;//当前控件 + if (m_Ctrl.Name == strControlName) + { + return m_Ctrl; + } + } + return null;//控件不存在 + } + + public static void AddDebugText(TextBox tb, string str, int length = 200) + { + try + { + TraceWriteLine(str); + string strTime = DateTime.Now.ToString("HH:mm:ss") + "--"; + tb.Text += (strTime + str); + tb.Text += "\r\n"; + tb.Select(tb.TextLength, 0); + tb.ScrollToCaret(); + + if (tb.Lines.Length > length) + { + tb.Clear(); + } + } + finally { } + } + + /// + /// 向RichTextBox控件中添加文本信息 + /// + /// RichTextBox控件类 + /// 要显示的文本信息内容 + /// 文本显示的颜色 + public static void AddDebugTextToRTB(RichTextBox RTB, string str, Color m_Color = new Color()) + { + try + { + TraceWriteLine(str);//将文本信息同步到debug.txt文件中 + RTB.BeginInvoke((EventHandler)delegate + { + Color SetColor = Color.Black; + if (m_Color == new Color()) + { + if (str.ToUpper().Contains("ERROR") || str.ToUpper().Contains("错误") || str.ToUpper().Contains("出错") || str.ToUpper().Contains("EXCEPTION") || str.ToUpper().Contains("异常") || str.ToUpper().Contains("失败")) + { + SetColor = Color.Red; + } + else if (str.ToUpper().Contains("WARNING") || str.ToUpper().Contains("警告")) + { + SetColor = Color.DarkOrange; + } + } + else + { + SetColor = m_Color; + } + + string strText = str + Environment.NewLine; //DateTime.Now.ToString("HH:mm:ss.fff") + "--" + + RTB.SelectionStart = RTB.TextLength; + if (string.IsNullOrEmpty(str)) + RichTextUnit.SetText(RTB, " " + Environment.NewLine, SetColor, false, 14); + else + RichTextUnit.SetText(RTB, strText, SetColor, false, 14); + + if (RTB.Lines.Length > 2000) + { + RTB.Select(0, RTB.TextLength / 2); + RTB.Cut(); + } + RTB.ScrollToCaret(); + }); + } + catch { } + } + + /// + /// 写debug文件,记录程序过程 + /// + /// 要写入日志的内容 + public static void TraceWriteLine(string str) + { + try + { + if (rleMessage != null) + { + rleMessage.Text = str; + } + if (str.Contains("警告") || str.ToUpper().Contains("WARN")) + { + NLogger.Warn(str); + } + else if (str.Contains("错误") || str.ToUpper().Contains("ERROR") || str.Contains("失败")) + { + NLogger.Error(str); + } + else + { + NLogger.Info(str); + } + Trace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "--" + str); + Trace.Unindent(); + Trace.Flush(); + } + catch { } + } + + public static string InputBox(string Caption, string Hint, string DefaultTxt, string btn1 = "OK", string btn2 = "Cancel", char Strstyle = '*', bool bShowData = false) + { + if (Strstyle == '\0') + Strstyle = '*'; + Form InputForm = new Form(); + InputForm.MinimizeBox = false; + InputForm.MaximizeBox = false; + InputForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + InputForm.StartPosition = FormStartPosition.CenterScreen; + InputForm.Width = 300; + InputForm.Height = 180; + InputForm.Text = Caption; + InputForm.Font = new System.Drawing.Font("Segoe UI", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134))); + + Label lbl = new Label(); + lbl.Text = Hint; + lbl.Left = 25; + lbl.Top = 20; + lbl.Parent = InputForm; + lbl.AutoSize = true; + TextBox tb = new TextBox(); + tb.Left = 30; + tb.Top = 45; + tb.Width = 230; + tb.Parent = InputForm; + tb.Text = DefaultTxt; + if (bShowData == false) + tb.PasswordChar = Strstyle; + tb.SelectAll(); + Button btnok = new Button(); + btnok.Left = 90; + btnok.Top = 90; + btnok.Height = 30; + btnok.Parent = InputForm; + btnok.Text = btn1; + InputForm.AcceptButton = btnok;//回车响应 + btnok.DialogResult = DialogResult.OK; + + Button btncancal = new Button(); + btncancal.Left = 185; + btncancal.Top = 90; + btncancal.Height = 30; + btncancal.Parent = InputForm; + btncancal.Text = btn2; + btncancal.DialogResult = DialogResult.Cancel; + try + { + if (InputForm.ShowDialog() == DialogResult.OK) + { + return tb.Text; + } + else + { + return "-999.999"; + } + } + finally + { + InputForm.Dispose(); + } + } + + /// + /// 操作提示框,0 = 取消; 1 = 第一个按钮; 2 = 第二个按钮 + /// + /// 错误信息 + /// 标题 + /// 第一个按钮名字 + /// 第二个按钮名字 + /// 第三个按钮名字 + /// 背景颜色,默认无色,1=红色 + /// + public static int MessageBox(string strError, string Caption, string btnName1 = "YES", string btnName2 = "NO", string btnName3 = "Cancel", int iColor = 0) + { + Form ErrorForm = new Form(); + ErrorForm.MinimizeBox = false; + ErrorForm.MaximizeBox = false; + ErrorForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + ErrorForm.StartPosition = FormStartPosition.CenterScreen; + ErrorForm.Width = 480; + ErrorForm.Height = 300; + ErrorForm.Text = Caption; + ErrorForm.Font = new System.Drawing.Font("宋体", 16F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134))); + + TextBox tb = new TextBox(); + tb.Parent = ErrorForm; + tb.Text = strError; + tb.Multiline = true; + tb.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + tb.Location = new System.Drawing.Point(20, 20); + tb.Size = new System.Drawing.Size(440, 170); + tb.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + tb.Font = new Font("宋体", 20F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel); + if (iColor == 1) + tb.BackColor = Color.Red; + + Button btnYes = new Button(); + btnYes.Location = new System.Drawing.Point(30, 210); + btnYes.Size = new System.Drawing.Size(100, 40); + btnYes.Parent = ErrorForm; + btnYes.Text = btnName1; + + btnYes.DialogResult = DialogResult.Yes; + ErrorForm.AcceptButton = btnYes;//回车响应 + + Button btnNO = new Button(); + btnNO.Location = new System.Drawing.Point(190, 210); + btnNO.Size = new System.Drawing.Size(100, 40); + btnNO.Parent = ErrorForm; + btnNO.Text = btnName2; + btnNO.DialogResult = DialogResult.No; + ErrorForm.AcceptButton = btnNO;//回车响应 + + Button btncancal = new Button(); + btncancal.Location = new System.Drawing.Point(350, 210); + btncancal.Size = new System.Drawing.Size(100, 40); + btncancal.Parent = ErrorForm; + btncancal.Text = btnName3; + btncancal.DialogResult = DialogResult.Cancel; + ErrorForm.AcceptButton = btncancal;//回车响应 + try + { + btnYes.Select(); + switch (ErrorForm.ShowDialog()) + { + case DialogResult.Yes: return 1; + case DialogResult.No: return 2; + default: return 0; + } + } + finally + { + ErrorForm.Dispose(); + } + } + + [DllImport("User32.dll")] + private static extern bool SetCursorPos(int x, int y); + + public static void SetCursorPosXY(int dx, int dy) + { + SetCursorPos(dx, dy); + } + + public static void SetCursorPosXY(Point point) + { + System.Windows.Forms.Cursor.Position = point; + } + + #endregion 界面控件操作 + + /// + /// CopyFiles 函数 + /// + /// 源路径文件夹路径 + /// 目标文件夹路径 + /// 文件夹名称 + /// + public static int CopyFiles(string strSourceFilePath, string strDesFilePath, string strRemak) + { + try + { + if (!Directory.Exists(strDesFilePath)) + { + Directory.CreateDirectory(strDesFilePath); + } + DirectoryInfo sDir = new DirectoryInfo(strSourceFilePath); + FileInfo[] fileArray = sDir.GetFiles(); + foreach (FileInfo file in fileArray) + { + file.CopyTo(strDesFilePath + "\\" + file.Name, true); + } + System.Windows.Forms.MessageBox.Show("传输" + strRemak + "文件夹中的所有文件成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return 1; + } + catch (Exception ex) + { + System.Windows.Forms.MessageBox.Show("传输" + strRemak + "文件夹中的文件错误!原因: " + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return 0; + } + } + } + + public class HardwareInfoBase + { + /// + /// 获取指定驱动器的空间总大小(单位为B) ,只需输入代表驱动器的字母即可 + /// + public static long GetHardDiskSpace(string str_HardDiskName) + { + long totalSize = new long(); + str_HardDiskName = str_HardDiskName + ":\\"; + System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives(); + foreach (System.IO.DriveInfo drive in drives) + { + if (drive.Name == str_HardDiskName) + { + totalSize = drive.TotalSize; + break; + } + } + return totalSize; + } + + /// + /// 获取指定驱动器的剩余空间总大小(单位为B) ,只需输入代表驱动器的字母即可 + /// + public static long GetHardDiskFreeSpace(string str_HardDiskName) + { + long freeSpace = new long(); + str_HardDiskName = str_HardDiskName + ":\\"; + System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives(); + foreach (System.IO.DriveInfo drive in drives) + { + if (drive.Name == str_HardDiskName) + { + freeSpace = drive.TotalFreeSpace; + break; + } + } + return freeSpace; + } + + /// + /// 获取指定驱动器的剩余空间总大小(单位为K) ,只需输入代表驱动器的字母即可 + /// + public static long GetHardDiskFreeSpace_K(string str_HardDiskName) + { + return GetHardDiskFreeSpace(str_HardDiskName) / 1024; + } + + /// + /// 获取指定驱动器的剩余空间总大小(单位为M) ,只需输入代表驱动器的字母即可 + /// + public static long GetHardDiskFreeSpace_M(string str_HardDiskName) + { + return GetHardDiskFreeSpace_K(str_HardDiskName) / 1024; + } + + /// + /// 获取指定驱动器的剩余空间总大小(单位为G) ,只需输入代表驱动器的字母即可 + /// + public static long GetHardDiskFreeSpace_G(string str_HardDiskName) + { + return GetHardDiskFreeSpace_M(str_HardDiskName) / 1024; + } + } + + //==================================================================================================FileIni + //Ini 文件操作类 + public class FileIni + { + [DllImport("kernel32.dll")] + public static extern IntPtr _lopen(string lpPathName, int iReadWrite); + + [DllImport("kernel32.dll")] + public static extern bool CloseHandle(IntPtr hObject); + + public const int OF_READWRITE = 2; + public const int OF_SHARE_DENY_NONE = 0x40; + public static readonly IntPtr HFILE_ERROR = new IntPtr(-1); + + //判断文件是否被占用 占用=true 未占用 = false + public static bool isFileOccupied(string path) + { + if (!File.Exists(path)) + return true; + IntPtr vHandle = _lopen(path, OF_READWRITE | OF_SHARE_DENY_NONE); + if (vHandle == HFILE_ERROR) + return true; + CloseHandle(vHandle); + return false; + } + + [DllImport("kernel32")] + private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); + + [DllImport("kernel32")] + private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); + + [DllImport("kernel32")] + private static extern int GetPrivateProfileInt(string section, string key, int def, string filePath); + + public static bool isFileExists(string path) + { + if (!(File.Exists(path))) + { + MessageBox.Show("文件:" + path + "不存在", "ini文件不存在"); + return false; + } + return true; + } + + //=====================//=====================//=====================Write data + #region 写INI参数 + + /// + /// 对ini文件进行写操作 + /// + /// ini文件路径 + /// 配置节 + /// 键名 + /// 要写入的string字符串 + public static void WriteString(string path, string section, string key, string value) + { + // section=配置节,key=键名,value=键值,path=路径 + WritePrivateProfileString(section, key, value, path); + } + + public static void WriteInt(string path, string section, string key, int value = 0) + { + string strRead = ReadString(path, section, key); + string[] strArr = strRead.Split(new char[] { ';' }); + string strNote = ";"; + string strWrite; + if (strArr.Length > 1)//保留原有注释 + { + for (int i = 1; i < strArr.Length; i++) + strNote += strArr[i]; + strWrite = value.ToString() + strNote; + } + else + { + strWrite = value.ToString(); + } + WritePrivateProfileString(section, key, strWrite, path); + } + + public static void WriteDouble(string path, string section, string key, double value = 0) + { + string strRead = ReadString(path, section, key); + string[] strArr = strRead.Split(new char[] { ';' }); + string strNote = ";"; + string strWrite; + if (strArr.Length > 1)//保留原有注释 + { + for (int i = 1; i < strArr.Length; i++) + strNote += strArr[i]; + strWrite = value.ToString() + strNote; + } + else + { + strWrite = value.ToString(); + } + WritePrivateProfileString(section, key, strWrite, path); + } + + public static void WriteBool(string path, string section, string key, bool value = false) + { + string strValue = (value ? "1" : "0"); + string strRead = ReadString(path, section, key); + string[] strArr = strRead.Split(new char[] { ';' }); + string strNote = ";"; + string strWrite; + if (strArr.Length > 1)//保留原有注释 + { + for (int i = 1; i < strArr.Length; i++) + strNote += strArr[i]; + strWrite = strValue + strNote; + } + else + { + strWrite = strValue; + } + WritePrivateProfileString(section, key, strWrite, path); + } + + #endregion 写INI参数 + + //=====================//=====================//=====================Read data + #region 读INI参数 + + /// + /// 从ini配置文件中读取字符串 + /// + /// ini文件路径 + /// 配置节名称 + /// 键名 + /// 要读取的string类型内容 + public static string ReadString(string path, string section, string key) + { + // 每次从ini中读取多少字节 // section=配置节,key=键名,temp=上面,path=路径 + System.Text.StringBuilder temp = new System.Text.StringBuilder(255); + GetPrivateProfileString(section, key, "", temp, 255, path); + String str = temp.ToString(); + string[] strArr = str.Split(new char[] { ';' }); + string strRead = ""; + if (strArr.Length > 0) + { + strRead = strArr[0]; + } + return strRead; + } + + /// + /// 从ini配置文件中读取Int类型 + /// + /// ini文件路径 + /// 配置节名称 + /// 键名 + /// 读不到时默认返回值:0 + /// 要读取的Int类型数据 + public static int ReadInt(string path, string section, string key, int defValue = 0) + { + return GetPrivateProfileInt(section, key, defValue, path); + } + + public static double ReadDouble(string path, string section, string key, double defValue = 0) + { + System.Text.StringBuilder temp = new System.Text.StringBuilder(255); + GetPrivateProfileString(section, key, defValue.ToString(), temp, 255, path); + String str = temp.ToString(); + string[] strArr = str.Split(new char[] { ';' }); + double ReData; + if (strArr.Length > 0) + { + ReData = Convert.ToDouble(strArr[0]); + } + else + { + ReData = defValue; + } + return ReData; + } + + public static bool ReadBool(string path, string section, string key, int defValue = 0) + { + int val = GetPrivateProfileInt(section, key, defValue, path); + if (val != 0) + return true; + else + return false; + } + + #endregion 读INI参数 + } + + //==================================================================================================SoundBase + /// + /// 声音播放类 + /// + public class SoundBase + { + //public static WMPLib.WindowsMediaPlayer WMPlayer = new WMPLib.WindowsMediaPlayer(); + ////方法 1 + //public static void OpenWinMediaPlayer(string FileName) + //{ + // if (!System.IO.File.Exists(FileName)) + // { + // MessageBox.Show("File does not exist!"); + // return; + // } + // WMPlayer.URL = FileName; + //} + + //public static void OpenWinMediaPlayer(WMPLib.WindowsMediaPlayer WinMediaPlayer, string FileName) + //{ + // if (!System.IO.File.Exists(FileName)) + // { + // MessageBox.Show("File does not exist!"); + // return; + // } + // WinMediaPlayer.URL = FileName; + //} + + //public static void OpenWinMediaPlayerDialogFile() + //{ + // OpenFileDialog FileDialog = new OpenFileDialog(); + // FileDialog.AddExtension = true; + // FileDialog.CheckFileExists = true; + // FileDialog.CheckPathExists = true; + // //the next sentence must be in single line + // FileDialog.Filter = "WAV文件(*.wav)|*.wav|MP3文件(*.mp3)|*.mp3|VCD文件(*.dat)|*.dat|Audio文件(*.avi)|*.avi|所有文件 (*.*)|*.*"; + // FileDialog.DefaultExt = "*.mp3"; + // if (FileDialog.ShowDialog() == DialogResult.OK) + // { + // WMPlayer.URL = FileDialog.FileName; + // } + //} + + //public static void OpenWinMediaPlayerDialogFile(WMPLib.WindowsMediaPlayer WinMediaPlayer) + //{ + // OpenFileDialog FileDialog = new OpenFileDialog(); + // FileDialog.AddExtension = true; + // FileDialog.CheckFileExists = true; + // FileDialog.CheckPathExists = true; + // //the next sentence must be in single line + // FileDialog.Filter = "WAV文件(*.wav)|*.wav|MP3文件(*.mp3)|*.mp3|VCD文件(*.dat)|*.dat|Audio文件(*.avi)|*.avi|所有文件 (*.*)|*.*"; + // FileDialog.DefaultExt = "*.mp3"; + // if (FileDialog.ShowDialog() == DialogResult.OK) + // { + // WinMediaPlayer.URL = FileDialog.FileName; + // } + //} + + //方法 2 + public static void sndPlayerPlay(string FileName) + { + if (!System.IO.File.Exists(FileName)) + { + MessageBox.Show("File does not exist!"); + return; + } + System.Media.SoundPlayer sndPlayer = new System.Media.SoundPlayer(FileName); + sndPlayer.Load(); + sndPlayer.Play(); + } + + //方法 3 + public static void SpVoicePlay(string FileName) + { + //if (!System.IO.File.Exists(FileName)) + //{ + // MessageBox.Show("File does not exist!"); + // return; + //} + //SpeechLib.SpVoiceClass pp = new SpeechLib.SpVoiceClass(); + //SpeechLib.SpFileStreamClass spFs = new SpeechLib.SpFileStreamClass(); + //spFs.Open(FileName, SpeechLib.SpeechStreamFileMode.SSFMOpenForRead, true); + //SpeechLib.ISpeechBaseStream Istream = spFs as SpeechLib.ISpeechBaseStream; + //pp.SpeakStream(Istream, SpeechLib.SpeechVoiceSpeakFlags.SVSFIsFilename); + //spFs.Close(); + } + + //方法 4 (蜂鸣器--控制台扬声器) + public static void Beep(int frequency, int duration) + { + //振动的Hz频率; //持续的时间,单位“毫秒”。 + Console.Beep(frequency, duration); + } + } + + //================================================================================================== + /// + /// 数据格式化或校验检测 + /// + internal class FormatCheckBase + { + /// + /// 检测是否为十六进制字符串,长度不够在前面添加0 + /// + /// 输入字符串 + /// 长度 + /// 输出字符串 + /// 检测结果 + public static void FormatChecking16(string strInput, int length, out string strOutput, out Boolean Valid) + { + strOutput = ""; + Valid = true; + byte temp; + if ((strInput.Length <= length) & (strInput.Length > 0)) + { + for (int i = 0; i < strInput.Length; i++) + { + try + { + temp = Convert.ToByte(strInput[i].ToString(), 16); + } + catch + { + Valid = false; + strOutput = ""; + break; + } + strOutput += strInput[i]; + } + if (Valid & (strInput.Length < length)) + { + for (int j = 0; j < length - strInput.Length; j++) + { + strOutput = "0" + strOutput; + } + } + } + else + { + Valid = false; + strOutput = ""; + } + } + + /// + /// 检测是否为十进制字符串,长度不够在前面添加0 + /// + /// 输入字符串 + /// 长度 + /// 输出字符串 + /// 检测结果 + public static bool FormatChecking10(string strInput, int length, out string strOutput) + { + strOutput = ""; + byte temp; + try + { + if ((strInput.Length <= length) & (strInput.Length > 0)) + { + for (int i = 0; i < strInput.Length; i++) + { + try + { + temp = Convert.ToByte(strInput[i].ToString(), 10); + } + catch + { + strOutput = ""; + return false; + } + strOutput += strInput[i]; + } + if (strInput.Length < length) + { + for (int j = 0; j < length - strInput.Length; j++) + { + strOutput = "0" + strOutput; + } + } + } + else + { + strOutput = ""; + return false; + } + } + catch (Exception ex) + { + MessageBox.Show("格式转换错误:" + ex.Message); + return false; + } + return true; + } + + /// + /// 每隔n个字符插入一个字符 + /// + /// 从右边开始插入 + /// 源字符串 + /// 间隔字符数 + /// 待插入值 + /// 待补充值,最后不足间隔字符数时,用此字符补齐;Supplement=""时,不补任何字符。 + /// 返回新生成字符串 + public static string InsertFormat(bool isRight, string input, int interval, string value, string Supplement) + { + if (!isRight)//从左边开始插入 + { + for (int i = interval; i < input.Length; i += interval + 1) + { + input = input.Insert(i, value); + } + if (Supplement != "") + { + do + { + if ((input.Length + 1) % (interval + 1) != 0) { input = input + Supplement; } + } while ((input.Length + 1) % (interval + 1) != 0); + } + } + else//从右边开始插入 + { + for (int i = input.Length - interval; i > 0; i -= interval) + { + input = input.Insert(i, value); + } + if (Supplement != "") + { + do + { + if ((input.Length + 1) % (interval + 1) != 0) { input = Supplement + input; } + } while ((input.Length + 1) % (interval + 1) != 0); + } + } + return input; + } + + /// + /// BCC校验,返回校验后的字符串 + /// + /// 待校验字符串 + /// 返回结果 + public static string GetBCC(string strCmd) + { + if (strCmd.Length >= 2) + { + byte[] Buffer = Encoding.Default.GetBytes(strCmd); + byte byteBCC = Buffer[0]; + for (int i = 1; i < Buffer.Length; i++) + byteBCC ^= Buffer[i]; + return Convert.ToChar(byteBCC).ToString(); + } + else + { + return null; + } + } + + /// + /// BCC校验,返回校验后的数组 + /// + /// 待校验数组 + /// 返回结果 + public static byte[] GetBCC(byte[] byteData) + { + byte[] byteWrite = new byte[byteData.Length + 1]; + if (byteData.Length >= 2) + { + byteData.CopyTo(byteWrite, 0); + byte byteBCC = byteData[0]; + for (int i = 1; i < byteData.Length; i++) + byteBCC ^= byteData[i]; + byteWrite[byteWrite.Length - 1] = byteBCC; + return byteWrite; + } + else + { + return null; + } + } + + /// + /// CRC16校验函数 + /// + public class CRC16Check + { + private const int CRC_LEN = 0; + + // Table of CRC values for high-order byte + #region + + private static readonly byte[] _auchCRCHi = new byte[] + { + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, + 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, + 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, + 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, + 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, + 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, + 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, + 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40 + }; + + #endregion + // Table of CRC values for low-order byte + #region + + private static readonly byte[] _auchCRCLo = new byte[] + { + 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, + 0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, + 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, + 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, + 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4, + 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, + 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, + 0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, + 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, + 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, + 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED, + 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, + 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, + 0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, + 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, + 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, + 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, + 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, + 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, + 0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, + 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, + 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, + 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B, + 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, + 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, + 0x43, 0x83, 0x41, 0x81, 0x80, 0x40 + }; + + #endregion + + /// + /// 计算CRC16校验值 返回一个ushort类型的值,如果要返回Crc高字节和低字节,可重写CalculateCrc16函数为: + /// + /// 待校验数组 + /// 输出高字节 + /// 输出低字节 + /// 输出校验值 + public static ushort CalculateCrc16(byte[] buffer, out byte crcHi, out byte crcLo) + { + crcHi = 0xff; // high crc byte initialized + crcLo = 0xff; // low crc byte initialized + + for (int i = 0; i < buffer.Length - CRC_LEN; i++) + { + int crcIndex = crcHi ^ buffer[i]; // calculate the crc lookup index + + crcHi = (byte)(crcLo ^ _auchCRCHi[crcIndex]); + crcLo = _auchCRCLo[crcIndex]; + } + return (ushort)(crcHi << 8 | crcLo); + } + } + } + + //==================================================================================================ConvertBase + /// + /// 数据转换类 + /// + internal class ConvertBase + { + #region 图像 <--> 数组 + + /// + /// 图像转换为Byte数组 + /// + public static byte[] ImageToByteArray(Image ImageIn) + { + MemoryStream ms = new MemoryStream(); + ImageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Png); + return ms.ToArray(); + } + + /// + /// Byte数组转换为图像 + /// + public static Image byteArrayToImage(byte[] byteArrayIn) + { + MemoryStream ms = new MemoryStream(byteArrayIn); + Image returnImage = Image.FromStream(ms); + return returnImage; + } + + #endregion + + #region 字符串 -> 字节数组 + + /// + /// 十六进制(hexadecimal)字符串转换为字节数组 + /// + /// + /// + public static byte[] HexStringToBytes(string str) + { + str = str.Replace(" ", ""); + byte[] buffer = new byte[str.Length / 2]; + for (int i = 0; i < str.Length; i += 2) + { + buffer[i / 2] = (byte)Convert.ToByte(str.Substring(i, 2), 16); + } + return buffer; + } + + /// + /// 十进制(Decimalism)字符串转换为字节数组 + /// + /// + /// + public static byte[] DecimalStringToBytes(string str) + { + str = str.Replace(" ", ""); + byte[] buffer = new byte[str.Length]; + for (int i = 0; i < str.Length; i++) + { + buffer[i] = (byte)Convert.ToByte(str.Substring(i, 1), 10); + } + return buffer; + } + + #endregion + + #region DataGridView -> DataTable 和 DataSet + + public static DataTable GetDataTableFromDataGridView(DataGridView dv) + { + DataTable dt = new DataTable(); DataColumn dc; + for (int i = 0; i < dv.Columns.Count; i++) + { + dc = new DataColumn(); + dc.ColumnName = dv.Columns[i].HeaderText.ToString(); + dt.Columns.Add(dc); + } + for (int j = 0; j < dv.Rows.Count - 1; j++) + { + DataRow dr = dt.NewRow(); + for (int x = 0; x < dv.Columns.Count; x++) + { + dr[x] = dv.Rows[j].Cells[x].Value; + } + dt.Rows.Add(dr); + } + return dt; + } + + public static DataSet GetDataSetFromDataGridView(DataGridView ucgrd) + { + DataSet ds = new DataSet(); + DataTable dt = new DataTable(); + for (int j = 0; j < ucgrd.Columns.Count; j++) + { dt.Columns.Add(ucgrd.Columns[j].HeaderCell.Value.ToString()); } + for (int j = 0; j < ucgrd.Rows.Count; j++) + { + DataRow dr = dt.NewRow(); + for (int i = 0; i < ucgrd.Columns.Count; i++) + { + if (ucgrd.Rows[j].Cells[i].Value != null) + { dr[i] = ucgrd.Rows[j].Cells[i].Value.ToString(); } + else { dr[i] = ""; } + } + dt.Rows.Add(dr); + } + ds.Tables.Add(dt); + return ds; + } + + #endregion + + #region ListBox.Items, ComboBox.Items -> string[] + + public static string[] GetStringsFromListBox(ListBox mListBox) + { + string[] strings = new string[mListBox.Items.Count]; + for (int i = 0; i < mListBox.Items.Count; i++) + { + strings[i] = mListBox.Items[i].ToString(); + } + return strings; + } + + public static string[] GetStringsFromListBox(ComboBox mComboBox) + { + string[] strings = new string[mComboBox.Items.Count]; + for (int i = 0; i < mComboBox.Items.Count; i++) + { + strings[i] = mComboBox.Items[i].ToString(); + } + return strings; + } + + public static void AddStringsToListView(ListView m_ListView, string[] strings) + { + m_ListView.Items.Clear(); + for (int i = 0; i < strings.Length; i++) + { + m_ListView.Items.Add(strings[i]); + } + } + + #endregion + + /// + /// 从SYGOLE获取的数据转换函数 + /// + public class Tool + { + //将十六进制的字符串转化为ushort + public static ushort HexString2Ushort(string s) + { + ushort value = 0; + + for (int i = 0; i < s.Length; i++) + { + if (s[i] != ' ') + { + value = (ushort)(value * 16 + HexStringToHex(s, i)); + } + } + + return value; + } + + //将字节数组形式的mac地址转化为对应的字符串 + public static string MacToString(byte[] mac) + { + string MacString = ""; + + for (int i = 0; i < 6; i++) + { + MacString += ByteToHexString(mac[i]); + if (i < 5) + { + MacString += ":"; + } + } + + return MacString; + } + + //将字符串形式的mac地址转化为对应的字节数组 + public static byte[] StringToMac(string str) + { + string temp = ""; + + for (int i = 0; i < str.Length; i++) + { + if ((str[i] != ' ') && (str[i] != ':')) + { + temp += str[i]; + } + } + + return HexStringToByte(temp, 0, 6);//6字节长度 + } + + //判断字符串是否是十六进制字符串 + public static bool ValidHexString(string str) + { + for (int i = 0; i < str.Length; i++) + { + if (! + (((str[i] >= '0') && (str[i] <= '9')) || + ((str[i] >= 'a') && (str[i] <= 'f')) || + ((str[i] >= 'A') && (str[i] <= 'F'))) + ) + { + return false; + } + } + + return true; + } + + private static string GetStringWithoutSpace(string str, int pos) + { + string temp = ""; + for (int i = pos; i < str.Length; i++) + { + if ((str[i] != ' ') && (str[i] != ':')) + { + temp += str[i]; + } + } + return temp; + } + + //将单个十六进制字符(4 bits)转化为byte + private static byte HexStringToHex(string str, int pos) + { + byte value = 0; + + if ((str[pos] >= '0') && (str[pos] <= '9')) + { + value = (byte)(str[pos] - '0'); + } + else if ((str[pos] >= 'a') && (str[pos] <= 'f')) + { + value = (byte)(str[pos] - 'a' + 10); + } + else if ((str[pos] >= 'A') && (str[pos] <= 'F')) + { + value = (byte)(str[pos] - 'A' + 10); + } + + return value; + } + + //将字符串的pos位置开始,转化为数组,转化后数组的长度为cnt + public static byte[] HexStringToByte(string str, int pos, int cnt) + { + if ((!ValidHexString(str)) || ((str.Length - pos) >> 1 < cnt)) + { + return null; + } + + byte[] data = new byte[cnt]; + + for (int i = 0; i < cnt; i++) + { + data[i] = (byte)(HexStringToHex(str, 2 * i + pos) * 16 + HexStringToHex(str, 2 * i + pos + 1)); + } + + return data; + } + + public static string bytes2String(byte[] data, int offset, int len) + { + string outString = ""; + + for (int i = offset; i < len + offset; i++) + { + outString += (char)data[i]; + } + + return outString; + } + + //将字符串的pos位置开始,转化为数组,转化后数组的长度为cnt + public static byte[] HexStringToByte(string str, int pos) + { + string tempStr = GetStringWithoutSpace(str, pos); + + return HexStringToByte(tempStr, 0, tempStr.Length >> 1); + } + + public static byte HexStringToSingleByte(string str, int pos) + { + byte temp = 0; + int len = 2; + string tempStr = GetStringWithoutSpace(str, pos); + + if (tempStr.Length == 0) + { + return 0; + } + else if (tempStr.Length < 2) + { + len = tempStr.Length; + } + else + { + len = 2; + } + + for (int i = 0; i < len; i++) + { + temp = (byte)(temp * 16 + HexStringToHex(tempStr, i)); + } + + return temp; + } + + //将字符串的pos位置开始,转化int + public static int HexStringToInt(string s, int pos) + { + string str = ""; + int len = (s.Length - pos) > 8 ? 8 : s.Length - pos; + for (int i = pos; i < len; i++) + { + str += s[i]; + } + for (int i = len; i < 8; i++) + { + str = "0" + str; + } + + if (!ValidHexString(str)) + { + return 0; + } + + int result = 0; + byte[] data = HexStringToByte(str, 0, 4); + + for (int i = 0; i < 4; i++) + { + result = (result << 8) + data[i]; + } + + return result; + } + + //将字节类型的数据转化为十六进制字符串 + public static string ByteToHexString(byte data) + { + string outString = ""; + + if (data < 16) + { + outString += "0"; + } + outString += data.ToString("X"); + + return outString; + } + + //将字节类型的数据转化为十六进制字符串 + public static string ByteToHexString(byte[] data, int pos, int length, string space) + { + string outString = ""; + + for (int i = pos; i < pos + length; i++) + { + outString += ByteToHexString(data[i]); + if (i != pos + length - 1) + { + outString += space; + } + } + + return outString; + } + + //将ushort类型的数据转化为十六进制字符串 + public static string ushortToHexString(ushort[] data, int pos, int length) + { + string outString = ""; + + for (int i = pos; i < pos + length; i++) + { + outString += ByteToHexString((byte)(data[i] >> 8)); + outString += ByteToHexString((byte)(data[i] & 0xFF)); + } + + return outString; + } + } + + //========================================================================================== + public class MyConvert + { + //string a = Convert.ToString(5, 2); + //string b = Convert.ToString(11, 8); + //string c = Convert.ToString(11, 16); + //int aa = Convert.ToInt32("101", 2);//二进制转换10进制 + //int bb = Convert.ToInt32("13", 8); //八进制转换10进制 + //int cc = Convert.ToInt32("b", 16); //十六进制转换10进制 + + #region C++转换程序(C#里面有完整的转换函数) + + //十进制转二制 + public static string DtoB(int d) + { + //Console.WriteLine(Convert.ToString(5,2)) + string str = ""; + //判断该数如果小于2,则直接输出 + if (d < 2) + { + str = d.ToString(); + } + else + { + int c; + int s = 0; + int n = d; + while (n >= 2) + { + s++; + n = n / 2; + } + int[] m = new int[s]; + int i = 0; + do + { + c = d / 2; + m[i++] = d % 2; + d = c; + } while (c >= 2); + str = d.ToString(); + for (int j = m.Length - 1; j >= 0; j--) + { + str += m[j].ToString(); + } + } + return str; + } + + //十进制转八进制 + public static string DtoO(int d) + { + string o = ""; + if (d < 8) + { + o = d.ToString(); + } + else + { + int c; + + int s = 0; + int n = d; + int temp = d; + while (n >= 8) + { + s++; + n = n / 8; + } + int[] m = new int[s]; + int i = 0; + do + { + c = d / 8; + m[i++] = d % 8; + d = c; + } while (c >= 8); + o = d.ToString(); + for (int j = m.Length - 1; j >= 0; j--) + { + o += m[j]; + } + } + return o; + } + + //十进制转十六进制 + public static string DtoX(int d) + { + string x = ""; + if (d < 16) + { + x = chang(d); + } + else + { + int c; + int s = 0; + int n = d; + int temp = d; + while (n >= 16) + { + s++; + n = n / 16; + } + string[] m = new string[s]; + int i = 0; + do + { + c = d / 16; + m[i++] = chang(d % 16);//判断是否大于10,如果大于10,则转换为A~F的格式 + d = c; + } while (c >= 16); + x = chang(d); + for (int j = m.Length - 1; j >= 0; j--) + { + x += m[j]; + } + } + return x; + } + + //判断是否为10~15之间的数,如果是则进行转换 + public static string chang(int d) + { + string x = ""; + switch (d) + { + case 10: + x = "A"; + break; + + case 11: + x = "B"; + break; + + case 12: + x = "C"; + break; + + case 13: + x = "D"; + break; + + case 14: + x = "E"; + break; + + case 15: + x = "F"; + break; + + default: + x = d.ToString(); + break; + } + return x; + } + + public static int XtoD(string instr) + { + int i = Convert.ToInt32("FF", 16); //十六进制转换10进制 + int j = Convert.ToInt32("1100", 2); + int k = Convert.ToInt32("12", 8); + return i; + } + + #endregion + } + } + + //==================================================================================================TcpBase + /// + /// 网络通讯通用类函数库 + /// + internal class TcpBase + { + /// + /// 用CMD命令测试网络连接状态 + /// + /// IP地址或网址 + /// Ping结果 连接;超时或其他结果表示未连接 + public static string CmdPing(string strIp) + { + Process p = new Process(); + p.StartInfo.FileName = "cmd.exe"; + p.StartInfo.UseShellExecute = false; + p.StartInfo.RedirectStandardInput = true; + p.StartInfo.RedirectStandardOutput = true; + p.StartInfo.RedirectStandardError = true; + p.StartInfo.CreateNoWindow = true; + p.Start(); + p.StandardInput.WriteLine("ping -n 1 " + strIp); + p.StandardInput.WriteLine("exit"); + + string strRst = p.StandardOutput.ReadToEnd(); + string pingRst = ""; + if (strRst.Contains("(0% loss)") || strRst.Contains("(0% 丢失)")) + pingRst = "连接"; + else if (strRst.Contains("Request timed out") || strRst.Contains("请求超时")) + pingRst = "超时"; + else if (strRst.Contains("Unknown host") || strRst.Contains("无法解析主机")) + pingRst = "无法解析主机"; + else if (strRst.Contains("请求找不到主机")) + pingRst = "请求找不到主机"; + else if (strRst.Contains("Destination host unreachable.")) + pingRst = "无法到达目的主机"; + else + pingRst = strRst; + p.Close(); + return pingRst; + } + } + + //==================================================================================================MyMath + /// + /// 数学函数库(算法) + /// + internal class MyMath + { + public static double GetMax(double[] Datas) + { + double Max = -9999; + try + { + if (Datas.Length == 1) + return Datas[0]; + for (int i = 0; i < Datas.Length; i++) + { + Max = Math.Max(Datas[i], Max); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + return Max; + } + + public static double GetMin(double[] Datas) + { + double Min = 9999; + try + { + if (Datas.Length == 1) + return Datas[0]; + for (int i = 0; i < Datas.Length; i++) + { + Min = Math.Min(Datas[i], Min); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + return Min; + } + + /// + /// 获取PLC读取地址数据(从起始地址偏移) + /// + /// 数据数组 + /// PLC读取地址,从0开始 + /// 返回整形数据或-1 + public static int GetPlcData(byte[] byteData, int DataAddr) + { + try + { + if (byteData == null) + { + return -1; + } + if (byteData.Length < 10 + DataAddr * 2) + { + return -1; + } + else + { + int bitH = DataAddr * 2 + 9; + int bitL = DataAddr * 2 + 10; + return byteData[bitH] * 256 + byteData[bitL]; + } + } + catch + { + return -1; + } + } + + /// + /// 获取PLC读取地址数据(从起始地址偏移) + /// + /// 数据数组 + /// PLC读取地址 + /// PLC读取起始地址 + /// 返回整形数据或-1 + public static int GetPlcData(byte[] byteData, int DataAddr, int startAddr) + { + try + { + if (byteData == null) + { + return -1; + } + if (startAddr > DataAddr) + { + //MessageBox.Show("错误:要读取的数据小于起始地址"); + return -1; + } + if (byteData.Length < 9 + (DataAddr - startAddr) * 2) + { + return -1; + } + else + { + int bitH = (DataAddr - startAddr) * 2 + 9; + int bitL = (DataAddr - startAddr) * 2 + 10; + return byteData[bitH] * 256 + byteData[bitL]; + } + } + catch + { + //MessageBox.Show("Catch错误:" + ex.Message); + return -1; + } + } + + /// + /// 获取字节的某一位 + /// + /// 从0开始 + /// + public static bool GetPlcBit(int data, int index) + { + switch (index) + { + case 0: + return (data & 0x0001) > 0; + + case 1: + return (data & 0x0002) > 0; + + case 2: + return (data & 0x0004) > 0; + + case 3: + return (data & 0x0008) > 0; + + case 4: + return (data & 0x0010) > 0; + + case 5: + return (data & 0x0020) > 0; + + case 6: + return (data & 0x0040) > 0; + + case 7: + return (data & 0x0080) > 0; + + case 8: + return (data & 0x0100) > 0; + + case 9: + return (data & 0x0200) > 0; + + case 10: + return (data & 0x0400) > 0; + + case 11: + return (data & 0x0800) > 0; + + case 12: + return (data & 0x1000) > 0; + + case 13: + return (data & 0x2000) > 0; + + case 14: + return (data & 0x4000) > 0; + + case 15: + return (data & 0x8000) > 0; + + default: + return false; + } + } + + public static bool GetPlcBitH2Low(int data, int index) + { + switch (index) + { + case 0: + return (data & 0x0100) > 0; + + case 1: + return (data & 0x0200) > 0; + + case 2: + return (data & 0x0400) > 0; + + case 3: + return (data & 0x0800) > 0; + + case 4: + return (data & 0x1000) > 0; + + case 5: + return (data & 0x2000) > 0; + + case 6: + return (data & 0x4000) > 0; + + case 7: + return (data & 0x8000) > 0; + + case 8: + return (data & 0x0001) > 0; + + case 9: + return (data & 0x0002) > 0; + + case 10: + return (data & 0x0004) > 0; + + case 11: + return (data & 0x0008) > 0; + + case 12: + return (data & 0x0010) > 0; + + case 13: + return (data & 0x0020) > 0; + + case 14: + return (data & 0x0040) > 0; + + case 15: + return (data & 0x0080) > 0; + + default: + return false; + } + } + + /// + /// 获取字节的某一位 + /// + /// 从0开始 + /// + public static bool GetPlcBit(byte[] byteData, int DataAddr, int index, int startAddr) + { + int Value = GetPlcData(byteData, DataAddr, startAddr); + bool bResult = GetPlcBit(Value, index); + return bResult; + } + + public static bool GetPlcBitH2Low(byte[] byteData, int DataAddr, int index, int startAddr) + { + int Value = GetPlcData(byteData, DataAddr, startAddr); + bool bResult = GetPlcBitH2Low(Value, index); + return bResult; + } + + /// + /// 获取单精度浮点数(float)数据 + /// + /// PLC读取总数据 + /// 获取数据的地址 + /// PLC起始地址 + /// 数据正反序 + /// + public static float GetPlcSingle(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence = true) + { + try + { + if (byteData == null) + { + return -1; + } + if (startAddr > DataAddr) + { + return -1; + } + if (byteData.Length < 9 + (DataAddr - startAddr) * 2) + { + return -1; + } + else + { + float Result = -1; + int startBit = (DataAddr - startAddr) * 2 + 9; + + byte[] arrLength = new byte[4]; + arrLength[0] = byteData[startBit + 0]; + arrLength[1] = byteData[startBit + 1]; + arrLength[2] = byteData[startBit + 2]; + arrLength[3] = byteData[startBit + 3]; + + if (PositiveSequence) + { + Result = BitConverter.ToSingle(arrLength, 0); + } + else + { + Result = BitConverter.ToSingle(arrLength.Reverse().ToArray(), 0); + } + Result = Convert.ToSingle(Math.Round(Result, 3)); + return Result; + } + } + catch + { + return -1; + } + } + + /// + /// 获取字符串(string) + /// + /// PLC读取总数据 + /// 获取数据的地址 + /// PLC起始地址 + /// 读取的地址数量(单位16) + /// 数据正反序 + /// 转换为字符串类型,2=二进制,10=十进制,16=十六进制,其他=char字符串 + /// + public static string GetPlcString(byte[] byteData, int DataAddr, int startAddr, int DataNum, bool PositiveSequence = true, int strType = 0) + { + string Result = ""; + try + { + if (byteData == null) + { + return Result; + } + if (startAddr > DataAddr + DataNum) + { + return Result; + } + if (byteData.Length < 9 + (DataAddr - startAddr) * 2) + { + return Result; + } + else + { + int startBit = (DataAddr - startAddr) * 2 + 9; + byte[] arrLength = new byte[DataNum * 2]; + for (int i = 0; i < DataNum * 2; i++) + { + arrLength[i] = byteData[startBit + i]; + } + if (!PositiveSequence) + { + arrLength = (byte[])arrLength.Reverse(); + } + switch (strType) + { + case 2: + foreach (byte b in arrLength) + { + Result += ConvertBase.MyConvert.DtoB(b); + } + break; + + case 10: + foreach (byte b in arrLength) + { + Result += b.ToString(); + } + break; + + case 16: + foreach (byte b in arrLength) + { + Result += b.ToString("X2"); + } + break; + + default: + foreach (byte b in arrLength) + { + Result += Convert.ToChar(b).ToString(); + } + break; + } + return Result.Trim(); + } + } + catch + { + return Result; + } + } + + //====================================================================== + /// + /// 字节数组(byte 8位)转化为ushort(16位)数组 + /// + public static ushort[] GetushortsFromValue(byte[] Value) + { + ushort[] rtnValues; + byte[] bytes = Value; + int Length = bytes.Length / 2; + if (bytes.Length % 2 == 0) + { + rtnValues = new ushort[Length]; + for (int i = 0; i < bytes.Length; i += 2) + { + rtnValues[i / 2] = BitConverter.ToUInt16(bytes, i); + } + } + else + { + rtnValues = new ushort[bytes.Length / 2 + 1]; + for (int i = 0; i < bytes.Length - 1; i += 2) + { + rtnValues[i / 2] = BitConverter.ToUInt16(bytes, i); + } + rtnValues[bytes.Length / 2] = bytes[bytes.Length - 1]; + } + return rtnValues; + } + + /// + /// 字符串(string)转化为ushort(16位)数组 + /// + public static ushort[] GetushortsFromValue(string Value) + { + byte[] bytes = System.Text.Encoding.Default.GetBytes(Value); + ushort[] ushorts = GetushortsFromValue(bytes); + return ushorts; + } + + /// + /// 单精度小数(float 32位)转化为ushort(16位)数组 + /// + public static ushort[] GetushortsFromValue(float Value) + { + byte[] bytes = BitConverter.GetBytes(Value); + ushort[] ushorts = GetushortsFromValue(bytes); + return ushorts; + } + + /// + /// 双精度小数(double 64位)转化为ushort(16位)数组 + /// + public static ushort[] GetushortsFromValue(double Value) + { + byte[] bytes = BitConverter.GetBytes(Value); + ushort[] ushorts = GetushortsFromValue(bytes); + return ushorts; + } + + //====================================================================== + /// + /// 字节数组(byte 8位)转化为short(16位)数组 + /// + public static short[] GetshortsFromValue(byte[] Value) + { + short[] rtnValues; + byte[] bytes = Value; + int Length = bytes.Length / 2; + if (bytes.Length % 2 == 0) + { + rtnValues = new short[Length]; + for (int i = 0; i < bytes.Length; i += 2) + { + rtnValues[i / 2] = BitConverter.ToInt16(bytes, i); + } + } + else + { + rtnValues = new short[bytes.Length / 2 + 1]; + for (int i = 0; i < bytes.Length - 1; i += 2) + { + rtnValues[i / 2] = BitConverter.ToInt16(bytes, i); + } + rtnValues[bytes.Length / 2] = bytes[bytes.Length - 1]; + } + return rtnValues; + } + + /// + /// 字符串(string)转化为short(16位)数组 + /// + public static short[] GetshortsFromValue(string Value) + { + byte[] bytes = System.Text.Encoding.Default.GetBytes(Value); + short[] shorts = GetshortsFromValue(bytes); + return shorts; + } + + /// + /// 整形(int 32位)转化为short(16位)数组 + /// + public static short[] GetshortsFromValue(int Value) + { + byte[] bytes = BitConverter.GetBytes(Value); + short[] shorts = GetshortsFromValue(bytes); + return shorts; + } + + /// + /// 单精度小数(float 32位)转化为short(16位)数组 + /// + public static short[] GetshortsFromValue(float Value) + { + byte[] bytes = BitConverter.GetBytes(Value); + short[] shorts = GetshortsFromValue(bytes); + return shorts; + } + + /// + /// 双精度小数(double 64位)转化为ushort(16位)数组 + /// + public static short[] GetshortsFromValue(double Value) + { + byte[] bytes = BitConverter.GetBytes(Value); + short[] shorts = GetshortsFromValue(bytes); + return shorts; + } + } + + internal class CodeDfn + { + public const string BlankSpace = " "; + public const string strEnter = "\r\n"; + } + + internal class PlcMath + { + #region S7协议数据处理(以字节为基础) + + public static bool GetS7BoolBit(byte data, int index) + { + switch (index) + { + case 0: return (data & 0x01) > 0; + case 1: return (data & 0x02) > 0; + case 2: return (data & 0x04) > 0; + case 3: return (data & 0x08) > 0; + case 4: return (data & 0x10) > 0; + case 5: return (data & 0x20) > 0; + case 6: return (data & 0x40) > 0; + case 7: return (data & 0x80) > 0; + default: return false; + } + } + + public static bool GetS7BoolData(byte[] byteData, int DataAddr, int startAddr, int index) + { + byte data = GetS7ByteData(byteData, DataAddr, startAddr); + return GetS7BoolBit(data, index); + } + + /// + /// 获取PLC读取地址数据(从起始地址偏移) + /// + /// 数据数组 + /// PLC读取地址 + /// PLC读取起始地址 + /// 返回整形数据或-1 + public static byte GetS7ByteData(byte[] byteData, int DataAddr, int startAddr) + { + try + { + if (byteData == null) + { + return 0; + } + if (startAddr > DataAddr) + { + MessageBox.Show("错误:获取S7字节数据, 要读取的数据小于起始地址"); + return 0; + } + if (byteData.Length < (DataAddr - startAddr)) + { + MessageBox.Show("错误:获取S7字节数据, 要读取的偏移地址超出数组长度,偏移=" + (DataAddr - startAddr) + ", 数组长度=" + byteData.Length); + return 0; + } + else + { + int bit = DataAddr - startAddr; + return byteData[bit]; + } + } + catch + { + //MessageBox.Show("Catch错误:" + ex.Message); + return 0; + } + } + + /// + /// 获取PLC读取地址数据(从起始地址偏移) + /// + /// 数据数组 + /// PLC读取地址 + /// PLC读取起始地址 + /// 返回整形数据或-1 + public static byte GetS7ByteData(byte[] byteData, int DataAddr) + { + try + { + if (byteData == null) + { + return 0; + } + if (byteData.Length < byteData.Length) + { + MessageBox.Show("获取S7字节数据,地址超出数组长度!", "警告"); + return 0; + } + return byteData[DataAddr]; + } + catch (Exception ex) + { + MessageBox.Show("Catch错误:获取S7字节数据" + ex.Message); + return 0; + } + } + + public static int GetS7WordData(byte[] byteData, int DataAddr, int startAddr) + { + try + { + if (byteData == null) + { + return -1; + } + //if (startAddr > DataAddr) + //{ + // //MessageBox.Show("错误:要读取的数据小于起始地址"); + // return -1; + //} + //if (byteData.Length < (DataAddr - startAddr) * 2) + //{ + // return -1; + //} + //else + { + int bitH = (DataAddr - startAddr) * 2; + int bitL = (DataAddr - startAddr) * 2 + 1; + return byteData[bitH] * 256 + byteData[bitL]; + } + } + catch + { + //MessageBox.Show("Catch错误:" + ex.Message); + return -1; + } + } + + /// + /// 获取字符串(string) + /// + /// PLC读取总数据 + /// 获取数据的地址 + /// PLC起始地址 + /// 读取的地址数量(单位16) + /// 数据正反序 + /// 转换为字符串类型,2=二进制,10=十进制,16=十六进制,其他=char字符串 + /// + public static string GetS7StringData(byte[] byteData, int DataAddr, int startAddr, int DataNum, int strType = 0, bool PositiveSequence = true) + { + string Result = ""; + try + { + if (byteData == null) + { + return Result; + } + if (startAddr > DataAddr + DataNum) + { + return Result; + } + if (byteData.Length < (DataAddr - startAddr)) + { + return Result; + } + else + { + int startBit = (DataAddr - startAddr); + byte[] arrLength = new byte[DataNum]; + for (int i = 0; i < DataNum; i++) + { + arrLength[i] = byteData[startBit + i]; + } + if (!PositiveSequence) + { + arrLength = (byte[])arrLength.Reverse(); + } + switch (strType) + { + case 2: + foreach (byte b in arrLength) + { + Result += ConvertBase.MyConvert.DtoB(b); + } + break; + + case 10: + foreach (byte b in arrLength) + { + Result += b.ToString(); + } + break; + + case 16: + foreach (byte b in arrLength) + { + Result += b.ToString("X2"); + } + break; + + default: + foreach (byte b in arrLength) + { + if (b >= 32) + Result += Convert.ToChar(b).ToString(); + } + break; + } + return Result.Trim(); + } + } + catch + { + return Result; + } + } + + /// + /// 获取单精度浮点数(float)数据 + /// + /// PLC读取总数据 + /// 获取数据的地址 + /// PLC起始地址 + /// 数据正反序 + /// + public static float GetPlcSingleS7(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence) + { + try + { + if (byteData == null) + { + return -1; + } + if (startAddr > DataAddr) + { + return -1; + } + if (byteData.Length < (DataAddr - startAddr)) + { + return -1; + } + else + { + float Result = -1; + int startBit = (DataAddr - startAddr); + + byte[] arrLength = new byte[4]; + arrLength[0] = byteData[startBit + 0]; + arrLength[1] = byteData[startBit + 1]; + arrLength[2] = byteData[startBit + 2]; + arrLength[3] = byteData[startBit + 3]; + + if (PositiveSequence) + { + Result = BitConverter.ToSingle(arrLength, 0); + } + else + { + Result = BitConverter.ToSingle(arrLength.Reverse().ToArray(), 0); + } + Result = Convert.ToSingle(Math.Round(Result, 3)); + return Result; + } + } + catch + { + return -1; + } + } + + /// + /// 获取双精度浮点数(double)数据 + /// + /// PLC读取总数据 + /// 获取数据的地址 + /// PLC起始地址 + /// 数据正反序 + /// + public static double GetPlcDoubleS7(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence) + { + try + { + if (byteData == null) + { + return -1; + } + if (startAddr > DataAddr) + { + return -1; + } + if (byteData.Length < (DataAddr - startAddr)) + { + return -1; + } + else + { + double Result = -1; + int startBit = (DataAddr - startAddr); + + byte[] arrLength = new byte[8]; + arrLength[0] = byteData[startBit + 0]; + arrLength[1] = byteData[startBit + 1]; + arrLength[2] = byteData[startBit + 2]; + arrLength[3] = byteData[startBit + 3]; + arrLength[4] = byteData[startBit + 4]; + arrLength[5] = byteData[startBit + 5]; + arrLength[6] = byteData[startBit + 6]; + arrLength[7] = byteData[startBit + 7]; + if (PositiveSequence) + { + Result = BitConverter.ToDouble(arrLength, 0); + } + else + { + Result = BitConverter.ToDouble(arrLength.Reverse().ToArray(), 0); + } + Result = Convert.ToDouble(Math.Round(Result, 3)); + return Result; + } + } + catch + { + return -1; + } + } + + #endregion + + #region ModbusTCP/FinsTCP协议数据处理(以字为基础) + + /// + /// 获取PLC读取地址数据(从起始地址偏移) + /// + /// 数据数组 + /// PLC读取地址,从0开始 + /// 返回整形数据或-1 + public static int GetPlcData(byte[] byteData, int DataAddr) + { + try + { + if (byteData == null) + { + return -1; + } + if (byteData.Length < DataAddr * 2) + { + return -1; + } + else + { + int bitH = DataAddr * 2; + int bitL = DataAddr * 2 + 1; + return byteData[bitH] * 256 + byteData[bitL]; + } + } + catch + { + return -1; + } + } + + /// + /// 获取PLC读取地址数据(从起始地址偏移) + /// + /// 数据数组 + /// PLC读取地址 + /// PLC读取起始地址 + /// 返回整形数据或-1 + public static byte GetPlcByteData(byte[] byteData, int DataAddr, int startAddr) + { + try + { + if (byteData == null) + { + return 0; + } + if (startAddr > DataAddr) + { + //MessageBox.Show("错误:要读取的数据小于起始地址"); + return 0; + } + //if (byteData.Length < (DataAddr - startAddr) * 2) + if (byteData.Length < (DataAddr - startAddr)) + { + return 0; + } + else + { + int bit = DataAddr - startAddr; + return byteData[bit]; + } + } + catch + { + //MessageBox.Show("Catch错误:" + ex.Message); + return 0; + } + } + + /// + /// 获取PLC读取地址数据(从起始地址偏移) + /// + /// 数据数组 + /// PLC读取地址 + /// PLC读取起始地址 + /// 返回整形数据或-1 + public static int GetPlcData(byte[] byteData, int DataAddr, int startAddr) + { + try + { + if (byteData == null) + { + return -1; + } + if (startAddr > DataAddr) + { + //MessageBox.Show("错误:要读取的数据小于起始地址"); + return -1; + } + if (byteData.Length < (DataAddr - startAddr) * 2) + { + return -1; + } + else + { + int bitH = (DataAddr - startAddr) * 2; + int bitL = (DataAddr - startAddr) * 2 + 1; + return byteData[bitH] * 256 + byteData[bitL]; + } + } + catch + { + //MessageBox.Show("Catch错误:" + ex.Message); + return -1; + } + } + + /// + /// 获取字节的某一位 + /// + /// 从0开始 + /// + public static bool GetPlcBit(int data, int index) + { + switch (index) + { + case 0: + return (data & 0x0001) > 0; + + case 1: + return (data & 0x0002) > 0; + + case 2: + return (data & 0x0004) > 0; + + case 3: + return (data & 0x0008) > 0; + + case 4: + return (data & 0x0010) > 0; + + case 5: + return (data & 0x0020) > 0; + + case 6: + return (data & 0x0040) > 0; + + case 7: + return (data & 0x0080) > 0; + + case 8: + return (data & 0x0100) > 0; + + case 9: + return (data & 0x0200) > 0; + + case 10: + return (data & 0x0400) > 0; + + case 11: + return (data & 0x0800) > 0; + + case 12: + return (data & 0x1000) > 0; + + case 13: + return (data & 0x2000) > 0; + + case 14: + return (data & 0x4000) > 0; + + case 15: + return (data & 0x8000) > 0; + + default: + return false; + } + } + + public static bool GetPlcBitH2Low(int data, int index) + { + switch (index) + { + case 0: + return (data & 0x0100) > 0; + + case 1: + return (data & 0x0200) > 0; + + case 2: + return (data & 0x0400) > 0; + + case 3: + return (data & 0x0800) > 0; + + case 4: + return (data & 0x1000) > 0; + + case 5: + return (data & 0x2000) > 0; + + case 6: + return (data & 0x4000) > 0; + + case 7: + return (data & 0x8000) > 0; + + case 8: + return (data & 0x0001) > 0; + + case 9: + return (data & 0x0002) > 0; + + case 10: + return (data & 0x0004) > 0; + + case 11: + return (data & 0x0008) > 0; + + case 12: + return (data & 0x0010) > 0; + + case 13: + return (data & 0x0020) > 0; + + case 14: + return (data & 0x0040) > 0; + + case 15: + return (data & 0x0080) > 0; + + default: + return false; + } + } + + /// + /// 获取字节的某一位 + /// + /// 从0开始 + /// + public static bool GetPlcBit(byte[] byteData, int DataAddr, int index, int startAddr) + { + int Value = GetPlcData(byteData, DataAddr, startAddr); + bool bResult = GetPlcBit(Value, index); + return bResult; + } + + public static bool GetPlcBitH2Low(byte[] byteData, int DataAddr, int index, int startAddr) + { + int Value = GetPlcData(byteData, DataAddr, startAddr); + bool bResult = GetPlcBitH2Low(Value, index); + return bResult; + } + + /// + /// 获取单精度浮点数(float)数据 + /// + /// PLC读取总数据 + /// 获取数据的地址 + /// PLC起始地址 + /// 数据正反序 + /// + public static float GetPlcSingle(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence) + { + try + { + if (byteData == null) + { + return -1; + } + if (startAddr > DataAddr) + { + return -1; + } + if (byteData.Length < (DataAddr - startAddr) * 2) + { + return -1; + } + else + { + float Result = -1; + int startBit = (DataAddr - startAddr) * 2; + + byte[] arrLength = new byte[4]; + arrLength[0] = byteData[startBit + 0]; + arrLength[1] = byteData[startBit + 1]; + arrLength[2] = byteData[startBit + 2]; + arrLength[3] = byteData[startBit + 3]; + + if (PositiveSequence) + { + Result = BitConverter.ToSingle(arrLength, 0); + } + else + { + Result = BitConverter.ToSingle(arrLength.Reverse().ToArray(), 0); + } + Result = Convert.ToSingle(Math.Round(Result, 3)); + return Result; + } + } + catch + { + return -1; + } + } + + /// + /// 获取字符串(string) + /// + /// PLC读取总数据 + /// 获取数据的地址 + /// PLC起始地址 + /// 读取的地址数量(单位16) + /// 数据正反序 + /// 转换为字符串类型,2=二进制,10=十进制,16=十六进制,其他=char字符串 + /// + public static string GetPlcString(byte[] byteData, int DataAddr, int startAddr, int DataNum, int strType = 0, bool PositiveSequence = true) + { + string Result = ""; + try + { + if (byteData == null) + { + return Result; + } + if (startAddr > DataAddr + DataNum) + { + return Result; + } + if (byteData.Length < (DataAddr - startAddr) * 2) + { + return Result; + } + else + { + int startBit = (DataAddr - startAddr) * 2; + byte[] arrLength = new byte[DataNum * 2]; + for (int i = 0; i < DataNum * 2; i++) + { + arrLength[i] = byteData[startBit + i]; + } + if (!PositiveSequence) + { + arrLength = (byte[])arrLength.Reverse(); + } + switch (strType) + { + case 2: + foreach (byte b in arrLength) + { + Result += ConvertBase.MyConvert.DtoB(b); + } + break; + + case 10: + foreach (byte b in arrLength) + { + Result += b.ToString(); + } + break; + + case 16: + foreach (byte b in arrLength) + { + Result += b.ToString("X2"); + } + break; + + default: + foreach (byte b in arrLength) + { + if (b >= 32) + Result += Convert.ToChar(b).ToString(); + } + break; + } + return Result.Trim(); + } + } + catch + { + return Result; + } + } + + #endregion + } + + public static class StringChange + { + #region 数据类型转换函数 + + public static byte[] Swap16Bytes(byte[] OldU16) + { + byte[] ReturnBytes = new byte[2]; + ReturnBytes[1] = OldU16[0]; + ReturnBytes[0] = OldU16[1]; + return ReturnBytes; + } + + public static bool CompareBytes(byte[] byteA, byte[] byteB, int iLen) + { + for (int i = 0; i < iLen; i++) + { + if (byteA[i] != byteB[i]) + { + return false; + } + } + return true; + } + + /// + /// 16进制字符串转换成btye数组 + /// + /// 16进制字符串 + /// + public static byte[] HexStrTorbytes(string strHex)//e.g. " 01 01" ---> { 0x01, 0x01} + { + strHex = strHex.Replace(" ", ""); + if ((strHex.Length % 2) != 0) + strHex += " "; + byte[] returnBytes = new byte[strHex.Length / 2]; + for (int i = 0; i < returnBytes.Length; i++) + returnBytes[i] = Convert.ToByte(strHex.Substring(i * 2, 2), 16); + return returnBytes; + } + + /// + /// 二进制字符串转换成16进制字符串 + /// + /// 二进制字符串 + /// 16进制字符串 + public static string Binary2HexString(string strerjinzhi) + { + string str = ""; + str = string.Format("{0:x}", Convert.ToInt32(strerjinzhi, 2)); + return str; + } + + /// + /// 西门子16进制字符串转换成2进制的二维数组 + /// + /// 16进制字符串 + /// 19:8的二维数组 + public static string[,] HexString2BinString(string hexString) + { + string[,] strTestData = new string[19, 8]; + for (int i = 0; i < hexString.Length / 2; i++) + { + string tempRes = string.Empty; + foreach (char c in hexString.Substring(i * 2, 2)) + { + int v = Convert.ToInt32(c.ToString(), 16); + int v2 = int.Parse(Convert.ToString(v, 2)); + // 去掉格式串中的空格,即可去掉每个4位二进制数之间的空格, + tempRes += string.Format("{0:d4}", v2); + } + int k = 0; + for (int j = tempRes.Length - 1; j >= 0; j--) + { + strTestData[i, k] = tempRes[j].ToString(); + k++; + } + } + + return strTestData; + } + + /// + /// 海德汉16进制字符串转换成2进制的二维数组 例如: 0X42 传入十六进制字符串42 (0100 0010), 返回二维数组(0100 0010) + /// + /// 16进制字符串 + /// 21:8的二维数组 + public static string[,] HeidenhainHexString2BinString(string hexString) + { + string[,] strTestData = new string[23, 8]; + for (int i = 0; i < hexString.Length / 2; i++) + { + string tempRes = string.Empty; + foreach (char c in hexString.Substring(i * 2, 2)) + { + int v = Convert.ToInt32(c.ToString(), 16); + int v2 = int.Parse(Convert.ToString(v, 2)); + // 去掉格式串中的空格,即可去掉每个4位二进制数之间的空格, + tempRes += string.Format("{0:d4}", v2); + } + int k = 0; + for (int j = tempRes.Length - 1; j >= 0; j--) + { + strTestData[i, k] = tempRes[j].ToString(); + k++; + } + } + + return strTestData; + } + + /// + /// byte数组转换成字符串 带空格隔开 + /// + /// byte数组 + /// 长度 + /// string + public static string bytesToHexStr(byte[] bytes, int iLen)//e.g. { 0x01,0x01} ---> " 01 01" + { + string returnStr = ""; + if (bytes != null) + { + for (int i = 0; i < iLen; i++) + { + returnStr += bytes[i].ToString("X2") + " "; + } + } + return returnStr; + } + + /// + /// byte数组转换成字符串 不带空格 + /// + /// byte数组 + /// 长度 + /// string + public static string bytesToHexStrWithoutSpace(byte[] bytes, int iLen)//e.g. { 0x01,0x01} ---> " 0101" + { + string returnStr = ""; + if (bytes != null) + { + for (int i = 0; i < iLen; i++) + { + returnStr += bytes[i].ToString("X2"); + } + } + return returnStr; + } + + /// + /// 计算CRC + /// + /// byte数组 + /// 长度 + /// CRC校验和 + public static byte CalculateCRC(byte[] pMessage, int iLength) + { + int i = 0; + byte iVerify = 0; + for (i = 0; i < iLength; i++) + { + iVerify = (byte)(iVerify + pMessage[i]); + } + + return iVerify; + } + + public static string StringToHexString(string s, Encoding encode) + { + byte[] b = encode.GetBytes(s); //按照指定编码将string编程字节数组 + string result = string.Empty; + for (int i = 0; i < b.Length; i++) //逐字节变为16进制字符,以%隔开 + { + result += "%" + Convert.ToString(b[i], 16); + } + return result; + } + + public static string HexStringToString(string hs, Encoding encode) + { + //以%分割字符串,并去掉空字符 + string[] chars = hs.Split(new char[] { '%' }, StringSplitOptions.RemoveEmptyEntries); + byte[] b = new byte[chars.Length]; + //逐个字符变为16进制字节数据 + for (int i = 0; i < chars.Length; i++) + { + b[i] = Convert.ToByte(chars[i], 16); + } + //按照指定编码将字节数组变为字符串 + return encode.GetString(b); + } + + public static short SwapInt16(this short n) + { + return (short)(((n & 0xff) << 8) | ((n >> 8) & 0xff)); + } + + public static ushort SwapUInt16(this ushort n) + { + return (ushort)(((n & 0xff) << 8) | ((n >> 8) & 0xff)); + } + + public static int SwapInt32(this int n) + { + return (int)(((SwapInt16((short)n) & 0xffff) << 0x10) | + (SwapInt16((short)(n >> 0x10)) & 0xffff)); + } + + public static uint SwapUInt32(this uint n) + { + return (uint)(((SwapUInt16((ushort)n) & 0xffff) << 0x10) | + (SwapUInt16((ushort)(n >> 0x10)) & 0xffff)); + } + + public static long SwapInt64(this long n) + { + return (long)(((SwapInt32((int)n) & 0xffffffffL) << 0x20) | + (SwapInt32((int)(n >> 0x20)) & 0xffffffffL)); + } + + public static ulong SwapUInt64(this ulong n) + { + return (ulong)(((SwapUInt32((uint)n) & 0xffffffffL) << 0x20) | + (SwapUInt32((uint)(n >> 0x20)) & 0xffffffffL)); + } + + #endregion + } } \ No newline at end of file diff --git a/Analysis/BaseUnit/ImageDfn.cs b/Analysis/BaseUnit/ImageDfn.cs deleted file mode 100644 index d07db14..0000000 --- a/Analysis/BaseUnit/ImageDfn.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Drawing; -using NSAnalysis.Properties; - -namespace BaseFunction -{ - public class ImageDfn - { - /// 程序图标 - //public static Image ImgSOK = Resources.accept16; - //public static Image ImgSNG = Resources.delete16_2; - //public static Image ImgNull = Resources.Null; - //public static Image ImgNoData = Resources.NoData; - //public static Image ImgRead = Resources.read16; - //public static Image ImgTransparent = Resources.transparent; - } -} \ No newline at end of file diff --git a/Analysis/BaseUnit/NetworkCopy.cs b/Analysis/BaseUnit/NetworkCopy.cs index e53093c..33217d2 100644 --- a/Analysis/BaseUnit/NetworkCopy.cs +++ b/Analysis/BaseUnit/NetworkCopy.cs @@ -1,275 +1,282 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Drawing; using System.Runtime.InteropServices; namespace BaseFunction { - public class SharedTool : IDisposable - { - // obtains user token - [DllImport("advapi32.dll", SetLastError = true)] - static extern bool LogonUser(string pszUsername, string pszDomain, string pszPassword, int dwLogonType, int dwLogonProvider, ref IntPtr phToken); + public class SharedTool : IDisposable + { + // obtains user token + [DllImport("advapi32.dll", SetLastError = true)] + private static extern bool LogonUser(string pszUsername, string pszDomain, string pszPassword, int dwLogonType, int dwLogonProvider, ref IntPtr phToken); - // closes open handes returned by LogonUser - [DllImport("kernel32.dll", CharSet = CharSet.Auto)] - extern static bool CloseHandle(IntPtr handle); + // closes open handes returned by LogonUser + [DllImport("kernel32.dll", CharSet = CharSet.Auto)] + private static extern bool CloseHandle(IntPtr handle); - [DllImport("Advapi32.DLL")] - static extern bool ImpersonateLoggedOnUser(IntPtr hToken); + [DllImport("Advapi32.DLL")] + private static extern bool ImpersonateLoggedOnUser(IntPtr hToken); - [DllImport("Advapi32.DLL")] - static extern bool RevertToSelf(); - const int LOGON32_PROVIDER_DEFAULT = 0; - const int LOGON32_LOGON_NEWCREDENTIALS = 9;//域控中的需要用:Interactive = 2 - private bool disposed; + [DllImport("Advapi32.DLL")] + private static extern bool RevertToSelf(); - /// - /// SharedTool函数 - /// - /// 连接的电脑的IP - /// 用户名 - /// 密码 - public SharedTool(string ip, string username, string password) - { - // initialize tokens - IntPtr pExistingTokenHandle = new IntPtr(0); - IntPtr pDuplicateTokenHandle = new IntPtr(0); + private const int LOGON32_PROVIDER_DEFAULT = 0; + private const int LOGON32_LOGON_NEWCREDENTIALS = 9;//域控中的需要用:Interactive = 2 + private bool disposed; - try - { - // get handle to token - bool bImpersonated = LogonUser(username, ip, password, LOGON32_LOGON_NEWCREDENTIALS, LOGON32_PROVIDER_DEFAULT, ref pExistingTokenHandle); + /// + /// SharedTool函数 + /// + /// 连接的电脑的IP + /// 用户名 + /// 密码 + public SharedTool(string ip, string username, string password) + { + // initialize tokens + IntPtr pExistingTokenHandle = new IntPtr(0); + IntPtr pDuplicateTokenHandle = new IntPtr(0); - if (bImpersonated) - { - if (!ImpersonateLoggedOnUser(pExistingTokenHandle)) - { - int nErrorCode = Marshal.GetLastWin32Error(); - throw new Exception("ImpersonateLoggedOnUser error;Code=" + nErrorCode); - } - } - else - { - int nErrorCode = Marshal.GetLastWin32Error(); - throw new Exception("LogonUser error;Code=" + nErrorCode); - } - } - finally - { - // close handle(s) - if (pExistingTokenHandle != IntPtr.Zero) - CloseHandle(pExistingTokenHandle); - if (pDuplicateTokenHandle != IntPtr.Zero) - CloseHandle(pDuplicateTokenHandle); - } - } + try + { + // get handle to token + bool bImpersonated = LogonUser(username, ip, password, LOGON32_LOGON_NEWCREDENTIALS, LOGON32_PROVIDER_DEFAULT, ref pExistingTokenHandle); - protected virtual void Dispose(bool disposing) - { - if (!disposed) - { - RevertToSelf(); - disposed = true; - } - } + if (bImpersonated) + { + if (!ImpersonateLoggedOnUser(pExistingTokenHandle)) + { + int nErrorCode = Marshal.GetLastWin32Error(); + throw new Exception("ImpersonateLoggedOnUser error;Code=" + nErrorCode); + } + } + else + { + int nErrorCode = Marshal.GetLastWin32Error(); + throw new Exception("LogonUser error;Code=" + nErrorCode); + } + } + finally + { + // close handle(s) + if (pExistingTokenHandle != IntPtr.Zero) + CloseHandle(pExistingTokenHandle); + if (pDuplicateTokenHandle != IntPtr.Zero) + CloseHandle(pDuplicateTokenHandle); + } + } - public void Dispose() - { - Dispose(true); - } - } + protected virtual void Dispose(bool disposing) + { + if (!disposed) + { + RevertToSelf(); + disposed = true; + } + } - public class NetworkShareConnect - { - #region WNetUseConnection枚举参数 - //dwScope - const int RESOURCE_CONNECTED = 0x00000001; - const int RESOURCE_GLOBALNET = 0x00000002; - const int RESOURCE_REMEMBERED = 0x00000003; + public void Dispose() + { + Dispose(true); + } + } - //dwType - const int RESOURCETYPE_ANY = 0x00000000; - const int RESOURCETYPE_DISK = 0x00000001; - const int RESOURCETYPE_PRINT = 0x00000002; + public class NetworkShareConnect + { + #region WNetUseConnection枚举参数 - //dwDisplayType - const int RESOURCEDISPLAYTYPE_GENERIC = 0x00000000; - const int RESOURCEDISPLAYTYPE_DOMAIN = 0x00000001; - const int RESOURCEDISPLAYTYPE_SERVER = 0x00000002; - const int RESOURCEDISPLAYTYPE_SHARE = 0x00000003; - const int RESOURCEDISPLAYTYPE_FILE = 0x00000004; - const int RESOURCEDISPLAYTYPE_GROUP = 0x00000005; + //dwScope + private const int RESOURCE_CONNECTED = 0x00000001; - //dwUsage - const int RESOURCEUSAGE_CONNECTABLE = 0x00000001; - const int RESOURCEUSAGE_CONTAINER = 0x00000002; + private const int RESOURCE_GLOBALNET = 0x00000002; + private const int RESOURCE_REMEMBERED = 0x00000003; - //dwFlags - const int CONNECT_INTERACTIVE = 0x00000008; - const int CONNECT_PROMPT = 0x00000010; - const int CONNECT_REDIRECT = 0x00000080; - const int CONNECT_UPDATE_PROFILE = 0x00000001; - const int CONNECT_COMMANDLINE = 0x00000800; - const int CONNECT_CMD_SAVECRED = 0x00001000; + //dwType + private const int RESOURCETYPE_ANY = 0x00000000; - const int CONNECT_LOCALDRIVE = 0x00000100; - #endregion + private const int RESOURCETYPE_DISK = 0x00000001; + private const int RESOURCETYPE_PRINT = 0x00000002; - #region Errors参数 - const int NO_ERROR = 0; + //dwDisplayType + private const int RESOURCEDISPLAYTYPE_GENERIC = 0x00000000; - const int ERROR_ACCESS_DENIED = 5; - const int ERROR_ALREADY_ASSIGNED = 85; - const int ERROR_BAD_DEVICE = 1200; - const int ERROR_BAD_NET_NAME = 67; - const int ERROR_BAD_PROVIDER = 1204; - const int ERROR_CANCELLED = 1223; - const int ERROR_EXTENDED_ERROR = 1208; - const int ERROR_INVALID_ADDRESS = 487; - const int ERROR_INVALID_PARAMETER = 87; - const int ERROR_INVALID_PASSWORD = 1216; - const int ERROR_MORE_DATA = 234; - const int ERROR_NO_MORE_ITEMS = 259; - const int ERROR_NO_NET_OR_BAD_PATH = 1203; - const int ERROR_NO_NETWORK = 1222; + private const int RESOURCEDISPLAYTYPE_DOMAIN = 0x00000001; + private const int RESOURCEDISPLAYTYPE_SERVER = 0x00000002; + private const int RESOURCEDISPLAYTYPE_SHARE = 0x00000003; + private const int RESOURCEDISPLAYTYPE_FILE = 0x00000004; + private const int RESOURCEDISPLAYTYPE_GROUP = 0x00000005; - const int ERROR_BAD_PROFILE = 1206; - const int ERROR_CANNOT_OPEN_PROFILE = 1205; - const int ERROR_DEVICE_IN_USE = 2404; - const int ERROR_NOT_CONNECTED = 2250; - const int ERROR_OPEN_FILES = 2401; + //dwUsage + private const int RESOURCEUSAGE_CONNECTABLE = 0x00000001; - private struct ErrorClass - { - //定义错误类结构体 - public int num; - public string message; - public ErrorClass(int num, string message) - { - this.num = num; - this.message = message; - } - } + private const int RESOURCEUSAGE_CONTAINER = 0x00000002; + //dwFlags + private const int CONNECT_INTERACTIVE = 0x00000008; - //连接失败信息汇总 - private static ErrorClass[] ERROR_LIST = new ErrorClass[] { - new ErrorClass(ERROR_ACCESS_DENIED, "Error: Access Denied"), - new ErrorClass(ERROR_ALREADY_ASSIGNED, "Error: Already Assigned"), - new ErrorClass(ERROR_BAD_DEVICE, "Error: Bad Device"), - new ErrorClass(ERROR_BAD_NET_NAME, "Error: Bad Net Name"), - new ErrorClass(ERROR_BAD_PROVIDER, "Error: Bad Provider"), - new ErrorClass(ERROR_CANCELLED, "Error: Cancelled"), - new ErrorClass(ERROR_EXTENDED_ERROR, "Error: Extended Error"), - new ErrorClass(ERROR_INVALID_ADDRESS, "Error: Invalid Address"), - new ErrorClass(ERROR_INVALID_PARAMETER, "Error: Invalid Parameter"), - new ErrorClass(ERROR_INVALID_PASSWORD, "Error: Invalid Password"), - new ErrorClass(ERROR_MORE_DATA, "Error: More Data"), - new ErrorClass(ERROR_NO_MORE_ITEMS, "Error: No More Items"), - new ErrorClass(ERROR_NO_NET_OR_BAD_PATH, "Error: No Net Or Bad Path"), - new ErrorClass(ERROR_NO_NETWORK, "Error: No Network"), - new ErrorClass(ERROR_BAD_PROFILE, "Error: Bad Profile"), - new ErrorClass(ERROR_CANNOT_OPEN_PROFILE, "Error: Cannot Open Profile"), - new ErrorClass(ERROR_DEVICE_IN_USE, "Error: Device In Use"), - new ErrorClass(ERROR_EXTENDED_ERROR, "Error: Extended Error"), - new ErrorClass(ERROR_NOT_CONNECTED, "Error: Not Connected"), - new ErrorClass(ERROR_OPEN_FILES, "Error: Open Files"), - }; + private const int CONNECT_PROMPT = 0x00000010; + private const int CONNECT_REDIRECT = 0x00000080; + private const int CONNECT_UPDATE_PROFILE = 0x00000001; + private const int CONNECT_COMMANDLINE = 0x00000800; + private const int CONNECT_CMD_SAVECRED = 0x00001000; - private static string getErrorForNumber(int errNum) - { - //遍历获得错误代码 - foreach (ErrorClass er in ERROR_LIST) - { - if (er.num == errNum) return er.message; - } - return "Error: Unknown, " + errNum; - } - #endregion + private const int CONNECT_LOCALDRIVE = 0x00000100; - //调用系统函数WNetUseConnection - //用于连接共享 - [DllImport("Mpr.dll")] - private static extern int WNetUseConnection( - IntPtr hwndOwner, - NETRESOURCE lpNetResource, - string lpPassword, - string lpUserID, - int dwFlags, - string lpAccessName, - string lpBufferSize, - string lpResult - ); - //用于删除连接 - [DllImport("Mpr.dll")] - private static extern int WNetCancelConnection2( - string lpName, - int dwFlags, - bool fForce - ); + #endregion WNetUseConnection枚举参数 - [StructLayout(LayoutKind.Sequential)] - private class NETRESOURCE - { - public int dwScope = 0; - public int dwType = 0; - public int dwDisplayType = 0; - public int dwUsage = 0; - public string lpLocalName = "";//映射到本地的盘符,如"Z:"。不做驱动器映射,可为空 - public string lpRemoteName = "";//共享的网络路径 - public string lpComment = ""; - public string lpProvider = ""; - } + #region Errors参数 - /// - /// 连接共享 - /// - /// 共享网络路径 - /// 登录用户名 - /// 密码 - /// - public static string connectToShare(string remoteUNC, string username, string password) - { - return connectToRemote(remoteUNC, username, password, false); - } + private const int NO_ERROR = 0; - /// - /// 没用户密码连接 - /// - /// 共享网络路径 - /// - public static string connectToShare(string remoteUNC) - { - return connectToRemote(remoteUNC, "", "", true); - } + private const int ERROR_ACCESS_DENIED = 5; + private const int ERROR_ALREADY_ASSIGNED = 85; + private const int ERROR_BAD_DEVICE = 1200; + private const int ERROR_BAD_NET_NAME = 67; + private const int ERROR_BAD_PROVIDER = 1204; + private const int ERROR_CANCELLED = 1223; + private const int ERROR_EXTENDED_ERROR = 1208; + private const int ERROR_INVALID_ADDRESS = 487; + private const int ERROR_INVALID_PARAMETER = 87; + private const int ERROR_INVALID_PASSWORD = 1216; + private const int ERROR_MORE_DATA = 234; + private const int ERROR_NO_MORE_ITEMS = 259; + private const int ERROR_NO_NET_OR_BAD_PATH = 1203; + private const int ERROR_NO_NETWORK = 1222; - private static string connectToRemote(string remoteUNC, string username, string password, bool promptUser) - { - NETRESOURCE nr = new NETRESOURCE - { - dwType = RESOURCETYPE_DISK, - lpRemoteName = remoteUNC - }; + private const int ERROR_BAD_PROFILE = 1206; + private const int ERROR_CANNOT_OPEN_PROFILE = 1205; + private const int ERROR_DEVICE_IN_USE = 2404; + private const int ERROR_NOT_CONNECTED = 2250; + private const int ERROR_OPEN_FILES = 2401; - int ret; - if (promptUser) - ret = WNetUseConnection(IntPtr.Zero, nr, "", "", CONNECT_INTERACTIVE | CONNECT_PROMPT, null, null, null); - else - ret = WNetUseConnection(IntPtr.Zero, nr, password, username, 0, null, null, null); + private struct ErrorClass + { + //定义错误类结构体 + public int num; - if (ret == NO_ERROR) return null; - return getErrorForNumber(ret); - } + public string message; - public static string disconnectRemote(string remoteUNC) - { - int ret = WNetCancelConnection2(remoteUNC, CONNECT_UPDATE_PROFILE, false); - if (ret == NO_ERROR) return null; - return getErrorForNumber(ret); - } - } + public ErrorClass(int num, string message) + { + this.num = num; + this.message = message; + } + } -} + //连接失败信息汇总 + private static ErrorClass[] ERROR_LIST = new ErrorClass[] { + new ErrorClass(ERROR_ACCESS_DENIED, "Error: Access Denied"), + new ErrorClass(ERROR_ALREADY_ASSIGNED, "Error: Already Assigned"), + new ErrorClass(ERROR_BAD_DEVICE, "Error: Bad Device"), + new ErrorClass(ERROR_BAD_NET_NAME, "Error: Bad Net Name"), + new ErrorClass(ERROR_BAD_PROVIDER, "Error: Bad Provider"), + new ErrorClass(ERROR_CANCELLED, "Error: Cancelled"), + new ErrorClass(ERROR_EXTENDED_ERROR, "Error: Extended Error"), + new ErrorClass(ERROR_INVALID_ADDRESS, "Error: Invalid Address"), + new ErrorClass(ERROR_INVALID_PARAMETER, "Error: Invalid Parameter"), + new ErrorClass(ERROR_INVALID_PASSWORD, "Error: Invalid Password"), + new ErrorClass(ERROR_MORE_DATA, "Error: More Data"), + new ErrorClass(ERROR_NO_MORE_ITEMS, "Error: No More Items"), + new ErrorClass(ERROR_NO_NET_OR_BAD_PATH, "Error: No Net Or Bad Path"), + new ErrorClass(ERROR_NO_NETWORK, "Error: No Network"), + new ErrorClass(ERROR_BAD_PROFILE, "Error: Bad Profile"), + new ErrorClass(ERROR_CANNOT_OPEN_PROFILE, "Error: Cannot Open Profile"), + new ErrorClass(ERROR_DEVICE_IN_USE, "Error: Device In Use"), + new ErrorClass(ERROR_EXTENDED_ERROR, "Error: Extended Error"), + new ErrorClass(ERROR_NOT_CONNECTED, "Error: Not Connected"), + new ErrorClass(ERROR_OPEN_FILES, "Error: Open Files"), + }; + + private static string getErrorForNumber(int errNum) + { + //遍历获得错误代码 + foreach (ErrorClass er in ERROR_LIST) + { + if (er.num == errNum) return er.message; + } + return "Error: Unknown, " + errNum; + } + + #endregion Errors参数 + + //调用系统函数WNetUseConnection + //用于连接共享 + [DllImport("Mpr.dll")] + private static extern int WNetUseConnection( + IntPtr hwndOwner, + NETRESOURCE lpNetResource, + string lpPassword, + string lpUserID, + int dwFlags, + string lpAccessName, + string lpBufferSize, + string lpResult + ); + + //用于删除连接 + [DllImport("Mpr.dll")] + private static extern int WNetCancelConnection2( + string lpName, + int dwFlags, + bool fForce + ); + + [StructLayout(LayoutKind.Sequential)] + private class NETRESOURCE + { + public int dwScope = 0; + public int dwType = 0; + public int dwDisplayType = 0; + public int dwUsage = 0; + public string lpLocalName = "";//映射到本地的盘符,如"Z:"。不做驱动器映射,可为空 + public string lpRemoteName = "";//共享的网络路径 + public string lpComment = ""; + public string lpProvider = ""; + } + + /// + /// 连接共享 + /// + /// 共享网络路径 + /// 登录用户名 + /// 密码 + /// + public static string connectToShare(string remoteUNC, string username, string password) + { + return connectToRemote(remoteUNC, username, password, false); + } + + /// + /// 没用户密码连接 + /// + /// 共享网络路径 + /// + public static string connectToShare(string remoteUNC) + { + return connectToRemote(remoteUNC, "", "", true); + } + + private static string connectToRemote(string remoteUNC, string username, string password, bool promptUser) + { + NETRESOURCE nr = new NETRESOURCE + { + dwType = RESOURCETYPE_DISK, + lpRemoteName = remoteUNC + }; + + int ret; + if (promptUser) + ret = WNetUseConnection(IntPtr.Zero, nr, "", "", CONNECT_INTERACTIVE | CONNECT_PROMPT, null, null, null); + else + ret = WNetUseConnection(IntPtr.Zero, nr, password, username, 0, null, null, null); + + if (ret == NO_ERROR) return null; + return getErrorForNumber(ret); + } + + public static string disconnectRemote(string remoteUNC) + { + int ret = WNetCancelConnection2(remoteUNC, CONNECT_UPDATE_PROFILE, false); + if (ret == NO_ERROR) return null; + return getErrorForNumber(ret); + } + } +} \ No newline at end of file diff --git a/Analysis/BaseUnit/PlcObject.cs b/Analysis/BaseUnit/PlcObject.cs deleted file mode 100644 index bd8eb2b..0000000 --- a/Analysis/BaseUnit/PlcObject.cs +++ /dev/null @@ -1,1002 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using BaseFunction; -using HslCommunication.Profinet.Siemens; -using System.Drawing; -using PLCModule; -namespace NSAnalysis -{ - class PlcObject - { - public static PlcAddrSetup m_FormPlcAddr = new PlcAddrSetup(3, ConfigDfn.strConfigFile); - //================= - #region 外部操作指令 - - /// - /// - /// - /// - /// 1:Modebus TCP;2:FINS TCP;3:S7 - /// - public static object GetAddr_W(string strName) - { - if (ConfigPlc.PlcType == 1 || ConfigPlc.PlcType == 2) - { - if (m_FormPlcAddr.DictPlcAddr_Write.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Write[strName]; - int Result = GetIntFromString(Value[1]); - if (Result == -1) - Console.WriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[2]); - return Result; - } - else if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName]; - int Result = GetIntFromString(Value[1]); - if (Result == -1) - Console.WriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[2]); - return Result; - } - else - Console.WriteLine("获取PLC地址失败:变量名不存在:" + strName); - return -1; - } - else if (ConfigPlc.PlcType == 3) - { - if (m_FormPlcAddr.DictPlcAddr_Write.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Write[strName]; - string Result = Value[1]; - if (!string.IsNullOrEmpty(Value[2])) - { - Result += "." + Value[2]; - } - if (string.IsNullOrEmpty(Result)) - Console.WriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Result); - return Result; - } - else if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName]; - string Result = Value[1]; - if (string.IsNullOrEmpty(Result)) - Console.WriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[2]); - return Result; - } - else - Console.WriteLine("获取PLC地址失败:变量名不存在:" + strName); - return ""; - } - else - { - return ""; - } - } - - public static int GetIndexLength_W(string strName) - { - if (m_FormPlcAddr.DictPlcAddr_Write.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Write[strName]; - int Result = GetIntFromString(Value[2]); - if (Result == -1) - Console.WriteLine("获取PLC写地址Index或长度出错:名字=" + strName + ", 地址=" + Value[1]); - return Result; - } - else - Console.WriteLine("获取PLC写地址:变量名不存在:" + strName); - return -1; - } - - public static int GetAddr_R(string strName) - { - if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName]; - int Result = GetIntFromString(Value[1]); - if (Result == -1) - Console.WriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[2]); - return Result; - } - else if (m_FormPlcAddr.DictPlcAddr_Write.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Write[strName]; - int Result = GetIntFromString(Value[1]); - if (Result == -1) - Console.WriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[2]); - return Result; - } - else - Console.WriteLine("获取PLC地址失败:变量名不存在:" + strName); - return -1; - } - - public static int GetIndexLength_R(string strName) - { - if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName]; - int IndLength = GetIntFromString(Value[2]); - if (IndLength == -1) - Console.WriteLine("获取PLC读地址Index或长度出错:名字=" + strName + ", 地址=" + Value[1]); - } - else - Console.WriteLine("获取PLC读地址:变量名不存在:" + strName); - return -1; - } - #endregion - //============================================================================================================= - static int GetIntFromString(string strInput) - { - if (strInput.Length > 0) - { - try - { - int temp = Convert.ToInt32(strInput, 10); - return temp; - } - catch - { - return -1; - } - } - return -1; - } - - public static byte[] GetPlcReadDatas() - { - switch (ConfigPlc.PlcType) - { - case 1: return HslModbusTcpObj.ReadDataBytes; - case 3: return HslSiemensS7Obj.ReadDataBytes; - default: return null; - } - } - - public static int GetData_R(string strName) - { - if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName]; - if (Value[0] == SignalTypeDfn.Bool) - { - int addr = GetIntFromString(Value[1]); - int index = GetIntFromString(Value[2]); - if (addr >= 0 && index >= 0) - { - //bool bResult = PlcMath.GetPlcBitH2Low(GetPlcReadDatas(), addr, index, PlcAddrSetup.StartAddr); - bool bResult = PlcMath.GetPlcBit(GetPlcReadDatas(), addr, index, PlcAddrSetup.StartAddr); - if (bResult) - return 1; - else - return 0; - } - } - else if (Value[0] == SignalTypeDfn.Word) - { - int addr = GetIntFromString(Value[1]); - if (addr >= 0) - { - int Result = PlcMath.GetPlcData(GetPlcReadDatas(), addr, PlcAddrSetup.StartAddr); - return Result; - } - } - int m_Addr = GetIntFromString(Value[1]); - if (m_Addr == -1) - MyBase.TraceWriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[1]); - } - else - MyBase.TraceWriteLine("获取PLC读地址:变量名不存在:" + strName); - return -1; - } - - public static string GetString_R(string strName) - { - if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName]; - if (Value[0] == SignalTypeDfn.String) - { - int addr = GetIntFromString(Value[1]); - int Length = GetIntFromString(Value[2]); - if (addr >= 0 && Length >= 0) - { - string Result = PlcMath.GetPlcString(GetPlcReadDatas(), addr, PlcAddrSetup.StartAddr, Length); - Result = Result.Replace('\0', ' '); - return Result; - } - } - else if (Value[0] == SignalTypeDfn.Word) - { - int addr = GetIntFromString(Value[1]); - if (addr >= 0) - { - int Result = PlcMath.GetPlcData(GetPlcReadDatas(), addr, PlcAddrSetup.StartAddr); - return Result.ToString(); - } - } - int m_Addr = GetIntFromString(Value[1]); - if (m_Addr == -1) - MyBase.TraceWriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[1]); - } - else - MyBase.TraceWriteLine("获取PLC读地址:变量名不存在:" + strName); - return ""; - } - - - - //============================================================================================================= - #region ModbusTCP协议写入操作 - public static bool PlcWriteInt(object Addr, int data) - { - try - { - if ((int)Addr >= 0) - { - if (ConfigPlc.PlcType == 1) - { - if (HslModbusTcpObj.bConnected) - { - bool bResult = HslModbusTcpObj.WriteShort(((int)Addr).ToString(), (short)data); - if (bResult == false) - { - MyBase.TraceWriteLine("写入PLC失败:地址为" + ((int)Addr).ToString() + " ;值为:" + data.ToString()); - } - return bResult; - } - } - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:地址=" + Addr + "\r\n ex=" + ex.ToString()); - } - return false; - } - - public static bool WritePlcValue(object StartAddr, string Value, bool PositiveSequence = true) - { - try - { - if ((ushort)StartAddr > 0) - { - if (ConfigPlc.PlcType == 1) - { - if (HslModbusTcpObj.bConnected) - { - return HslModbusTcpObj.WriteString(((ushort)StartAddr).ToString(), Value); - } - } - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:StartAddr=" + StartAddr + "\r\n ex=" + ex.ToString()); - } - return false; - } - - public static bool WritePlcValue(object StartAddr, string Value, int length, bool PositiveSequence = true) - { - try - { - if ((ushort)StartAddr > 0) - { - if (ConfigPlc.PlcType == 1) - { - if (HslModbusTcpObj.bConnected) - { - return HslModbusTcpObj.WriteString(((ushort)StartAddr).ToString(), Value, length); - } - } - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:StartAddr=" + StartAddr + "\r\n ex=" + ex.ToString()); - } - return false; - } - - public static bool WritePlcValue(object StartAddr, float Value, bool PositiveSequence = true) - { - try - { - PositiveSequence = ConfigPlc.bPositiveAequence; - - if ((int)StartAddr > 0) - { - if (ConfigPlc.PlcType == 1) - { - if (HslModbusTcpObj.bConnected) - { - return HslModbusTcpObj.WriteFloat(StartAddr.ToString(), Value); - } - } - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:StartAddr=" + StartAddr + "\r\n ex=" + ex.ToString()); - } - return false; - } - - public static bool WritePlcValue(object StartAddr, double Value, bool PositiveSequence = true) - { - try - { - PositiveSequence = ConfigPlc.bPositiveAequence; - - if ((ushort)StartAddr > 0) - { - if (ConfigPlc.PlcType == 1) - { - if (HslModbusTcpObj.bConnected) - { - return HslModbusTcpObj.WriteDouble(StartAddr.ToString(), Value); - } - } - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:StartAddr=" + StartAddr + "\r\n ex=" + ex.ToString()); - } - return false; - } - - public static bool WritePlcValue(string StartAddrName, string Value, bool PositiveSequence = true) - { - try - { - object Addr = GetAddr_W(StartAddrName); - return WritePlcValue(Addr, Value, PositiveSequence); - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString()); - } - return false; - } - - public static bool WritePlcValue(string StartAddrName, float Value, bool PositiveSequence = true) - { - try - { - object Addr = GetAddr_W(StartAddrName); - return WritePlcValue(Addr, Value, ConfigPlc.bPositiveAequence); - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString()); - } - return false; - } - - public static bool WritePlcValue(string StartAddrName, double Value, bool PositiveSequence = true) - { - try - { - object Addr = GetAddr_W(StartAddrName); - return WritePlcValue(Addr, Value, PositiveSequence); - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString()); - } - return false; - } - #endregion - - - //============================================================================================================= - #region S7协议读取操作 - public static int GetS7Data_R(string strName) - { - if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName]; - if (Value[0] == SignalTypeDfn.Bool) - { - string address = Value[1]; - bool result = false; - if (HslSiemensS7Obj.ReadBool(address, out result)) - { - return result ? 1 : 0; - } - else - { - MyBase.TraceWriteLine("读PLC读地址" + address + "失败!"); - return -1; - } - } - else if (Value[0] == SignalTypeDfn.Word) - { - string address = Value[1]; - short result = 0; - if (HslSiemensS7Obj.ReadShort(address, out result)) - { - return result; - } - else - { - MyBase.TraceWriteLine("读PLC读地址" + address + "失败!"); - return -1; - } - } - } - else - MyBase.TraceWriteLine("获取PLC读地址:变量名不存在:" + strName); - return -1; - } - - public static string GetS7String_R(string strName) - { - if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName]; - if (Value[0] == SignalTypeDfn.String) - { - string addr = Value[1]; - ushort Length = (ushort)GetIntFromString(Value[2]); - if (!string.IsNullOrEmpty(addr) && Length >= 0) - { - string Result = ""; - if (HslSiemensS7Obj.ReadString(addr, Length, out Result)) - { - Result = Result.Replace('\0', ' '); - return Result; - } - else - { - MyBase.TraceWriteLine("读PLC读地址" + addr + "失败!"); - return ""; - } - } - } - else if (Value[0] == SignalTypeDfn.Word) - { - int addr = GetIntFromString(Value[1]); - if (addr >= 0) - { - int Result = PlcMath.GetPlcData(GetPlcReadDatas(), addr, PlcAddrSetup.StartAddr); - return Result.ToString(); - } - } - } - else - MyBase.TraceWriteLine("获取PLC读地址:变量名不存在:" + strName); - return ""; - } - - public static byte GetS7ByteData(string strName) - { - if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName]; - if (Value[0] == SignalTypeDfn.Bool) - { - int addr = GetIntFromString(Value[1]); - int index = GetIntFromString(Value[2]); - if (addr >= 0 && index >= 0) - { - bool bResult = PlcMath.GetS7BoolData(GetPlcReadDatas(), addr, int.Parse(PlcAddrSetup.S7ReadOffsetAddr), index); - if (bResult) - return 1; - else - return 0; - } - } - else if (Value[0] == SignalTypeDfn.Byte) - { - int addr = GetIntFromString(Value[1]); - if (addr >= 0) - { - byte Result = PlcMath.GetS7ByteData(GetPlcReadDatas(), addr, int.Parse(PlcAddrSetup.S7ReadOffsetAddr)); - return Result; - } - } - int m_Addr = GetIntFromString(Value[1]); - if (m_Addr == 0) - MyBase.TraceWriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[1]); - } - else - MyBase.TraceWriteLine("获取PLC读地址:变量名不存在:" + strName); - return 0; - } - - public static string GetS7StringData(string strName) - { - if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName]; - if (Value[0] == SignalTypeDfn.String) - { - int addr = GetIntFromString(Value[1]); - int Length = GetIntFromString(Value[2]); - if (addr >= 0 && Length >= 0) - { - string Result = PlcMath.GetS7StringData(GetPlcReadDatas(), addr, int.Parse(PlcAddrSetup.S7ReadOffsetAddr), Length); - Result = Result.Replace('\0', ' '); - return Result; - } - } - else if (Value[0] == SignalTypeDfn.Word) - { - int addr = GetIntFromString(Value[1]); - if (addr >= 0) - { - int Result = PlcMath.GetPlcData(GetPlcReadDatas(), addr, PlcAddrSetup.StartAddr); - return Result.ToString(); - } - } - int m_Addr = GetIntFromString(Value[1]); - if (m_Addr == -1) - MyBase.TraceWriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[1]); - } - else - MyBase.TraceWriteLine("获取PLC读地址:变量名不存在:" + strName); - return ""; - } - - public static float GetS7Float_R(string strName) - { - if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName]; - if (Value[0] == SignalTypeDfn.Single) - { - int addr = GetIntFromString(Value[1]); - if (addr >= 0) - { - float Result = PlcMath.GetPlcSingleS7(GetPlcReadDatas(), addr, int.Parse(PlcAddrSetup.S7ReadOffsetAddr), false); - return Result; - } - } - int m_Addr = GetIntFromString(Value[1]); - if (m_Addr == -1) - MyBase.TraceWriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[1]); - return -1; - } - else - MyBase.TraceWriteLine("获取PLC读地址:变量名不存在:" + strName); - return -1; - } - public static double GetS7Double(string strName) - { - if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName]; - if (Value[0] == SignalTypeDfn.Double) - { - int addr = GetIntFromString(Value[1]); - if (addr >= 0) - { - double Result = PlcMath.GetPlcDoubleS7(GetPlcReadDatas(), addr, int.Parse(PlcAddrSetup.S7ReadOffsetAddr), false); - return Result; - } - } - int m_Addr = GetIntFromString(Value[1]); - if (m_Addr == -1) - MyBase.TraceWriteLine("获取Double 类型 PLC读地址出错:名字=" + strName + ", 地址=" + Value[1]); - return -1; - } - else - MyBase.TraceWriteLine("获取Double 类型 PLC读地址:变量名不存在:" + strName); - return -1; - } - #endregion - - - //============================================================================================================= - #region S7协议写入操作 - public static bool S7WriteBool(string Addr, bool data) - { - - try - { - if (ConfigPlc.PlcType == 3) - { - if (HslSiemensS7Obj.bConnected) - { - return HslSiemensS7Obj.WriteBool(Addr, data); - } - } - else - { - - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:地址=" + Addr + "\r\n ex=" + ex.ToString()); - } - return false; - } - - public static bool S7WriteByte(string Addr, byte data) - { - try - { - if (ConfigPlc.PlcType == 3) - { - if (HslSiemensS7Obj.bConnected) - { - bool bWResult= HslSiemensS7Obj.WriteByte(Addr.ToString(), (byte)data); - if (bWResult == false) - { - MyBase.TraceWriteLine("写入PLC失败:地址为:" + Addr + "; 值为:" + data.ToString()); - } - return bWResult; - } - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:地址=" + Addr + "\r\n ex=" + ex.ToString()); - } - return false; - } - - public static bool S7WriteInt(string StartAddrName, float Value, bool PositiveSequence = true) - { - try - { - if (!string.IsNullOrEmpty((string)StartAddrName)) - { - if (HslSiemensS7Obj.bConnected) - { - return HslSiemensS7Obj.WriteShort((string)StartAddrName, (short)Value); - } - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString()); - } - return false; - } - - public static bool S7WritePlcValue(string StartAddrName, float Value, bool PositiveSequence = true) - { - try - { - if (HslSiemensS7Obj.bConnected) - { - return HslSiemensS7Obj.WriteFloat(StartAddrName, Value); - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString()); - } - return false; - } - - public static bool S7WritePlcValue(string StartAddrName, double Value, bool PositiveSequence = true) - { - try - { - if (HslSiemensS7Obj.bConnected) - { - return HslSiemensS7Obj.WriteDouble(StartAddrName, Value); - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString()); - } - return false; - } - - public static bool S7WritePlcValue(string StartAddrName, string Value, bool PositiveSequence = true) - { - try - { - if (HslSiemensS7Obj.bConnected) - { - return HslSiemensS7Obj.WriteString(StartAddrName, Value); - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString()); - } - return false; - } - - public static bool S7WritePlcValue(string StartAddrName, string Value, int length, bool PositiveSequence = true) - { - try - { - if (HslSiemensS7Obj.bConnected) - { - return HslSiemensS7Obj.WriteString(StartAddrName, Value, length); - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString()); - } - return false; - } - #endregion - - //============================================================================================================= - public static bool PlcReadBuffer(int StartAddr, int Length) - { - try - { - if (ConfigPlc.PlcType == 1) - { - HslModbusTcpObj.ReadDatas(StartAddr.ToString(), (ushort)Length); - } - else if (ConfigPlc.PlcType == 3) - { - HslSiemensS7Obj.ReadDatas(StartAddr.ToString(), (ushort)Length); - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine("读PLC数据出错:StartAddr=" + PlcAddrSetup.StartAddr + ",长度=" + PlcAddrSetup.Length + "\r\n ex=" + ex.ToString()); - } - return false; - } - - public static bool IsPlcConnected() - { - if (ConfigPlc.PlcType == 1) - { - return HslModbusTcpObj.GetConnectStatus(); - } - else if (ConfigPlc.PlcType == 3) - { - return HslSiemensS7Obj.GetConnectStatus(); - } - else - { - return false; - } - } - - public static bool ConnectPlc(bool bShowTip = true) - { - if (ConfigPlc.PlcType == 1) - { - if (HslModbusTcpObj.ConnectPlc(ConfigPlc.strIP, Convert.ToUInt16(ConfigPlc.strPort), ConfigPlc.strMac, bShowTip)) - { - MyBase.TraceWriteLine("PLC Modbus TCP连接成功。"); - return true; - } - else - { - MyBase.TraceWriteLine("PLC Modbus TCP 连接失败"); - } - } - else if (ConfigPlc.PlcType == 3) - { - if (HslSiemensS7Obj.ConnectPlc(SiemensPLCS.S1200, ConfigPlc.strIP)) - { - MyBase.TraceWriteLine("PLC S7连接成功。"); - return true; - } - else - { - MyBase.TraceWriteLine("PLC S7连接失败。"); - } - } - else - { - MyBase.TraceWriteLine("PLC Type is not existed! Type=" + ConfigPlc.PlcType.ToString()); - } - return false; - } - - public static void ClosePlc() - { - if (ConfigPlc.PlcType == 1) - { - HslModbusTcpObj.ClosePlc(); - } - else if (ConfigPlc.PlcType == 3) - { - HslSiemensS7Obj.ClosePlc(); - } - } - - //============================================================================================================= - public static void InsertWriteQueue(string strAddrName, object Value) - { - PlcWriteObj m_DataObj = new PlcWriteObj(); - m_DataObj.WriteAddr = GetAddr_W(strAddrName); - m_DataObj.WriteValue = Value; - PlcWriteManager.Instance.InsertQueue(m_DataObj); - } - public static void InsertWriteQueue(string strAddrName, object Value, int iLength) - { - PlcWriteObj m_DataObj = new PlcWriteObj(); - m_DataObj.WriteAddr = GetAddr_W(strAddrName); - m_DataObj.WriteValue = Value; - m_DataObj.WriteLength = iLength; - PlcWriteManager.Instance.InsertQueue(m_DataObj); - } - public static int GetWriteStringLength(string strName) - { - if (m_FormPlcAddr.DictPlcAddr_Write.ContainsKey(strName)) - { - string[] Value = m_FormPlcAddr.DictPlcAddr_Write[strName]; - if (Value[0] == SignalTypeDfn.String) - { - int addr = GetIntFromString(Value[1]); - int Length = GetIntFromString(Value[2]); - if (addr >= 0 && Length >= 0) - { - return Length; - } - else - { - return -1; - } - } - else - { - return -2; - } - } - else - { - return -3; - } - } - - public static void InsertWriteQueue(object Addr, object Value) - { - PlcWriteObj m_DataObj = new PlcWriteObj(); - m_DataObj.WriteAddr = Addr; - m_DataObj.WriteValue = Value; - PlcWriteManager.Instance.InsertQueue(m_DataObj); - } - - public static void WriteIntoPLC() - { - try - { - if (PlcWriteManager.Instance.isExitData()) - { - if (IsPlcConnected()) - { - PlcWriteObj m_Data = PlcWriteManager.Instance.OutQueue(); - - if (ConfigPlc.PlcType == 1 || ConfigPlc.PlcType == 2) - { - if (m_Data != null) - { - string strType = m_Data.WriteValue.GetType().Name; - string strValue = m_Data.WriteValue.ToString(); - switch (strType.ToLower()) - { - case "byte": - case "int": - case "int32": - case "int16": - case "uint": - case "uint16": - case "uint32": - PlcWriteInt((int)m_Data.WriteAddr, Int32.Parse(strValue)); break; - case "float": - WritePlcValue(Convert.ToUInt16(m_Data.WriteAddr), (float)m_Data.WriteValue); break; - case "double": - WritePlcValue(Convert.ToUInt16(m_Data.WriteAddr), (double)m_Data.WriteValue); break; - case "string": - int iLen = m_Data.WriteLength; - WritePlcValue(Convert.ToUInt16(m_Data.WriteAddr), m_Data.WriteValue.ToString(), iLen); - break; - default: - break; - } - if ((int)m_Data.WriteAddr < 0) - { - System.Windows.Forms.MessageBox.Show("PLC地址格式错误,地址小于0"); - } - } - } - if (ConfigPlc.PlcType == 3) - { - if (m_Data != null) - { - string strType = m_Data.WriteValue.GetType().Name; - string strValue = m_Data.WriteValue.ToString(); - string strWriteAddr = PLCModule.PlcAddrSetup.GetS7WriteAddr((string)(m_Data.WriteAddr)); - switch (strType.ToLower()) - { - case "bool": - case "boolean": - S7WriteBool(strWriteAddr, bool.Parse(strValue)); break; - case "byte": - S7WriteByte(strWriteAddr, byte.Parse(strValue)); break; - case "int": - case "int16": - case "uint": - case "uint16": - case "int32": - case "uint32": - S7WriteInt(strWriteAddr, Int32.Parse(strValue)); break; - case "single": - case "float": - S7WritePlcValue(strWriteAddr, (float)m_Data.WriteValue); break; - case "double": - S7WritePlcValue(strWriteAddr, (double)m_Data.WriteValue); break; - case "string": - int iLen = m_Data.WriteLength; - S7WritePlcValue(strWriteAddr, (string)m_Data.WriteValue, iLen); break; - default: - break; - } - if (string.IsNullOrEmpty(strWriteAddr)) - { - System.Windows.Forms.MessageBox.Show("PLC地址格式错误,地址小于0"); - } - } - } - } - System.Threading.Thread.Sleep(5); - } - else - { - System.Threading.Thread.Sleep(100); - } - } - catch (Exception ex) - { - MyBase.TraceWriteLine(ex.ToString()); - } - } - - static System.Threading.Thread m_ThreadWritePLC = null; - public static bool bStartPlcThread = false; - public static void InitWritePlcThread() - { - bStartPlcThread = true; - m_ThreadWritePLC = new System.Threading.Thread(new System.Threading.ThreadStart(ThreadWritePLC)); - if (!m_ThreadWritePLC.IsAlive) - { - m_ThreadWritePLC.IsBackground = true; - m_ThreadWritePLC.Start(); - MyBase.TraceWriteLine("启动PLC写线程!"); - } - } - - static void ThreadWritePLC() - { - while (bStartPlcThread) - { - WriteIntoPLC(); - } - } - - public static bool bWritePlcThreadStatus - { - get - { - return m_ThreadWritePLC.IsAlive && bStartPlcThread; - } - } - } - - class SignalTypeDfn - { - public const string Bool = "bool"; - public const string Byte = "byte"; - public const string Word = "word"; - public const string DWord = "dword"; - public const string Single = "single"; - public const string String = "string"; - public const string Double = "double"; - } -} diff --git a/Analysis/BaseUnit/PlcSignalDfn.cs b/Analysis/BaseUnit/PlcSignalDfn.cs deleted file mode 100644 index cecce79..0000000 --- a/Analysis/BaseUnit/PlcSignalDfn.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using BaseFunction; - -namespace NSAnalysis -{ - internal class PlcSignalDfn - { - //=========================Write to PLC ================================= - public const string SoftLive = "SoftLive"; //10; - - public const string CMMStatus = "CMMStatus"; //50; //10空闲,20忙碌 - public const string CmmError = "CmmError"; //52; //10报警, 0清除 - public const string CMMResult = "CMMResult"; //56; //10=OK, 20=NG - public const string CMMResultClear = "CMMResultClear"; //56; //10=OK, 20=NG - public const string CMMForceUnload = "CMMForceUnload"; // - public const string CMMResultKField = "CMMResultKField"; //57; //10=OK, 20=NG - - public const string CMMResultBits = "CMMResultBits"; //56; //10=OK, 20=NG - public const string CMMResultDatas = "CMMResultDatas"; //58; - - public const string Year = "Year"; //91 - public const string Mouth = "Mouth"; //92 - public const string Day = "Day"; //93 - public const string Hour = "Hour"; //94 - public const string Minute = "Minute"; //95 - public const string Second = "Second"; //96 - public const string Week = "Week"; //97 - - public const string CoordX = "CoordX"; //11-12 //坐标float,4字节,32位 - public const string CoordY = "CoordY"; //13-14 - public const string CoordZ = "CoordZ"; //15-16 - - public const string WCarType = "WCarType"; - public const string WCarColor = "WCarColor"; - public const string UnloadTray = "UnloadTray"; - public const string CancelUnloadTray = "CancelUnloadTray"; - public const string RFIDResult = "RFIDResult"; - public const string daoguienter = "daoguienter"; - public const string MeasureError = "MeasureError"; //10 :报警 - - //========================Read PLC Address================================== - public const string StartAddr = "StartAddr"; //100; - - public const string PlcLive = "PlcLive"; //110; - public const string StartCmd = "StartCmd"; //131; - public const string CmmHome = "CmmHome"; //132; - public const string CmmPartOk = "CmmPartOk"; //133; - public const string PlcMode = "PlcMode"; //151; - public const string PlcAutoRunning = "PlcAutoRunning"; - - public const string PartID = "PartID"; - public const string MachineID = "MachineID"; - public const string ProgramCode = "ProgramCode"; - public const string CarType = "CarType"; - public const string NSStartMeasure = "NSStartMeasure"; - public const string ReadVINFinishFlag = "ReadVINFinishFlag"; - public const string LeaveFirstFlag = "LeaveFirstFlag"; - public const string LeaveSecondFlag = "LeaveSecondFlag"; - public const string CarPassFlag = "CarPassFlag"; - - public const string Speed1 = "Speed1"; - public const string Speed2 = "Speed2"; - public const string R01_Pules = "R01_Pules"; - public const string R02_Pules = "R02_Pules"; - } -} \ No newline at end of file diff --git a/Analysis/BaseUnit/PlcWriteManager.cs b/Analysis/BaseUnit/PlcWriteManager.cs deleted file mode 100644 index ff1f86f..0000000 --- a/Analysis/BaseUnit/PlcWriteManager.cs +++ /dev/null @@ -1,110 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace NSAnalysis -{ - public class PlcWriteObj - { - public object WriteAddr; - public object WriteValue; - public int WriteLength; //长度,主要针对字符串 - /// - /// 0=int, 1= float, 2=double, 3=string - /// - public int DataType = 0; - - public PlcWriteObj() - { - WriteAddr = null; - WriteValue = null; - WriteLength = -1; - } - } - - public class PlcWriteManager - { - private List LstPLcWrite = new List(); - private static readonly object sync = new object(); - private static PlcWriteManager _this = null; - public static PlcWriteManager Instance - { - get - { - if (_this == null) - { - lock (sync) - { - if (_this == null) - { - _this = new PlcWriteManager(); - } - } - } - return _this; - } - } - - public PlcWriteManager() - { - - } - - public PlcWriteObj OutQueue() - { - try - { - PlcWriteObj ccmdObj = null; - lock (this) - { - if (LstPLcWrite != null && LstPLcWrite.Count > 0) - { - ccmdObj = new PlcWriteObj(); - ccmdObj = LstPLcWrite[0]; - LstPLcWrite.RemoveAt(0); - } - } - return ccmdObj; - } - catch - { - throw; - } - } - - public void RemoveQueueTop() - { - if (LstPLcWrite != null && LstPLcWrite.Count > 0) - { - LstPLcWrite.RemoveAt(0); - } - } - - public void InsertQueue(PlcWriteObj data) - { - lock (this) - { - LstPLcWrite.Add(data); - } - } - - public bool isExitData() - { - lock (this) - { - return LstPLcWrite.Count > 0; - } - } - - public static void WritePlc(object Addr, object Value, int DataType) - { - PlcWriteObj m_DataObj = new PlcWriteObj(); - m_DataObj.WriteAddr = Addr; - m_DataObj.WriteValue = Value; - m_DataObj.DataType = DataType; - Instance.InsertQueue(m_DataObj); - } - } -} diff --git a/Analysis/BaseUnit/RichTextUnit.cs b/Analysis/BaseUnit/RichTextUnit.cs index c922a82..2900c70 100644 --- a/Analysis/BaseUnit/RichTextUnit.cs +++ b/Analysis/BaseUnit/RichTextUnit.cs @@ -1,159 +1,169 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading; using System.Drawing; using System.Windows.Forms; namespace BaseFunction { - public class RichTextUnit - { - public static float m_Size = 16; - public static void SetFont(RichTextBox m_RichTextBox, Color m_Color, bool bBold = false, float Size = 16) - { - m_RichTextBox.SelectionColor = m_Color; - if (bBold) - m_RichTextBox.SelectionFont = new System.Drawing.Font("微软雅黑", Size, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel, ((byte)(134))); - else - m_RichTextBox.SelectionFont = new System.Drawing.Font("微软雅黑", Size, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134))); - } + public class RichTextUnit + { + public static float m_Size = 16; - public static void SetText(RichTextBox m_RichTextBox, string strText, Color m_Color, bool bBold = false, float Size = 16) - { - m_RichTextBox.Invoke(((EventHandler)delegate - { - RichTextUnit.SetFont(m_RichTextBox, m_Color, bBold, Size); - m_RichTextBox.SelectedText = strText; - })); - } + public static void SetFont(RichTextBox m_RichTextBox, Color m_Color, bool bBold = false, float Size = 16) + { + m_RichTextBox.SelectionColor = m_Color; + if (bBold) + m_RichTextBox.SelectionFont = new System.Drawing.Font("微软雅黑", Size, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel, ((byte)(134))); + else + m_RichTextBox.SelectionFont = new System.Drawing.Font("微软雅黑", Size, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134))); + } - public static void SetXmlText(RichTextBox m_RichTextBox, string strText, float Size = 16) - { - m_RichTextBox.Invoke(((EventHandler)delegate - { - int iFirstInx = strText.IndexOf(""); + public static void SetText(RichTextBox m_RichTextBox, string strText, Color m_Color, bool bBold = false, float Size = 16) + { + m_RichTextBox.Invoke(((EventHandler)delegate + { + RichTextUnit.SetFont(m_RichTextBox, m_Color, bBold, Size); + m_RichTextBox.SelectedText = strText; + })); + } - #region PARSE THROUGH TEXT DATA - for (int i = 0; i < strText.Length; i++) - { - if (i >= iFirstInx && i <= iSecondInx + 1) - { - RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size); - m_RichTextBox.SelectedText = strText[i].ToString(); - } - else - { - switch (strText[i]) - { - case '<': - { - RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size); - m_RichTextBox.SelectedText = strText[i].ToString(); - if (strText[i + 1] == '/') - { - m_RichTextBox.SelectedText = strText[i + 1].ToString(); - i++; - } - RichTextUnit.SetFont(m_RichTextBox, Color.DarkRed, false, Size); - } - break; - case '>': - { - RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size); - m_RichTextBox.SelectedText = strText[i].ToString(); - RichTextUnit.SetFont(m_RichTextBox, Color.Black, false, Size); - } - break; - case '/': - { - RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size); - m_RichTextBox.SelectedText = strText[i].ToString(); - } - break; - case '=': - { - if (strText[i + 1] == '"') - { - RichTextUnit.SetFont(m_RichTextBox, Color.Black, true, Size); - m_RichTextBox.SelectedText = "=" + '"'.ToString(); - i++; - } - } - break; - case '"': - { - RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size); - m_RichTextBox.SelectedText = strText[i].ToString(); - if (strText[i - 1] == '=') - RichTextUnit.SetFont(m_RichTextBox, Color.Black, true, Size); - else - RichTextUnit.SetFont(m_RichTextBox, Color.DarkRed, false, Size); - } - break; - case '!': - { - RichTextUnit.SetFont(m_RichTextBox, Color.Green, false, Size); - m_RichTextBox.SelectedText = strText[i].ToString(); - } - break; - case '\r': - { - if (strText[i + 1] == '\n') - { - m_RichTextBox.SelectedText = "\r\n"; - i++; - } - } - break; - default: - m_RichTextBox.SelectedText = strText[i].ToString(); - break; - } - } - } - #endregion + public static void SetXmlText(RichTextBox m_RichTextBox, string strText, float Size = 16) + { + m_RichTextBox.Invoke(((EventHandler)delegate + { + int iFirstInx = strText.IndexOf(""); - m_RichTextBox.SelectedText = Environment.NewLine; - })); - } + #region PARSE THROUGH TEXT DATA - public static void SetCNCText(RichTextBox m_RichTextBox, string strText, float Size = 16) - { - m_RichTextBox.Invoke(((EventHandler)delegate - { - #region PARSE THROUGH TEXT DATA - for (int i = 0; i < strText.Length; i++) - { - switch (strText[i]) - { - case '%': - RichTextUnit.SetFont(m_RichTextBox, Color.Red, false, Size); - m_RichTextBox.SelectedText = strText[i].ToString(); - break; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - RichTextUnit.SetFont(m_RichTextBox, Color.DeepSkyBlue, false, Size); - m_RichTextBox.SelectedText = strText[i].ToString(); - break; - default: - RichTextUnit.SetFont(m_RichTextBox, Color.White, false, Size); - m_RichTextBox.SelectedText = strText[i].ToString(); - break; - } - } - #endregion - })); - } - } -} + for (int i = 0; i < strText.Length; i++) + { + if (i >= iFirstInx && i <= iSecondInx + 1) + { + RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size); + m_RichTextBox.SelectedText = strText[i].ToString(); + } + else + { + switch (strText[i]) + { + case '<': + { + RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size); + m_RichTextBox.SelectedText = strText[i].ToString(); + if (strText[i + 1] == '/') + { + m_RichTextBox.SelectedText = strText[i + 1].ToString(); + i++; + } + RichTextUnit.SetFont(m_RichTextBox, Color.DarkRed, false, Size); + } + break; + + case '>': + { + RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size); + m_RichTextBox.SelectedText = strText[i].ToString(); + RichTextUnit.SetFont(m_RichTextBox, Color.Black, false, Size); + } + break; + + case '/': + { + RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size); + m_RichTextBox.SelectedText = strText[i].ToString(); + } + break; + + case '=': + { + if (strText[i + 1] == '"') + { + RichTextUnit.SetFont(m_RichTextBox, Color.Black, true, Size); + m_RichTextBox.SelectedText = "=" + '"'.ToString(); + i++; + } + } + break; + + case '"': + { + RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size); + m_RichTextBox.SelectedText = strText[i].ToString(); + if (strText[i - 1] == '=') + RichTextUnit.SetFont(m_RichTextBox, Color.Black, true, Size); + else + RichTextUnit.SetFont(m_RichTextBox, Color.DarkRed, false, Size); + } + break; + + case '!': + { + RichTextUnit.SetFont(m_RichTextBox, Color.Green, false, Size); + m_RichTextBox.SelectedText = strText[i].ToString(); + } + break; + + case '\r': + { + if (strText[i + 1] == '\n') + { + m_RichTextBox.SelectedText = "\r\n"; + i++; + } + } + break; + + default: + m_RichTextBox.SelectedText = strText[i].ToString(); + break; + } + } + } + + #endregion PARSE THROUGH TEXT DATA + + m_RichTextBox.SelectedText = Environment.NewLine; + })); + } + + public static void SetCNCText(RichTextBox m_RichTextBox, string strText, float Size = 16) + { + m_RichTextBox.Invoke(((EventHandler)delegate + { + #region PARSE THROUGH TEXT DATA + + for (int i = 0; i < strText.Length; i++) + { + switch (strText[i]) + { + case '%': + RichTextUnit.SetFont(m_RichTextBox, Color.Red, false, Size); + m_RichTextBox.SelectedText = strText[i].ToString(); + break; + + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + RichTextUnit.SetFont(m_RichTextBox, Color.DeepSkyBlue, false, Size); + m_RichTextBox.SelectedText = strText[i].ToString(); + break; + + default: + RichTextUnit.SetFont(m_RichTextBox, Color.White, false, Size); + m_RichTextBox.SelectedText = strText[i].ToString(); + break; + } + } + + #endregion PARSE THROUGH TEXT DATA + })); + } + } +} \ No newline at end of file diff --git a/Analysis/CarDataDisplayForm/FEH3LeftCarData.cs b/Analysis/CarDataDisplayForm/FEH3LeftCarData.cs deleted file mode 100644 index 3eae46d..0000000 --- a/Analysis/CarDataDisplayForm/FEH3LeftCarData.cs +++ /dev/null @@ -1,319 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; -using System.Text.RegularExpressions; -using System.Collections; -using System.IO; -using System.Xml; - -using Telerik.WinControls.UI; -using UserControlClass; -using BaseFunction; -using DAL; - -namespace NSAnalysis -{ - public partial class FEH3LeftCarData : Telerik.WinControls.UI.ShapedForm - { - #region 全局变量 - - private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL(); - private DataTable dtVINData = new DataTable(); - private string strLastVIN = ""; - CenterControl gCC = null; - #endregion 全局变量 - - public FEH3LeftCarData(CenterControl cc) - { - InitializeComponent(); - gCC = cc; - } - - /// - /// 指定屏幕显示 - /// - public void SpecifyScreenDisplay1() - { - try - { - Screen[] screens = Screen.AllScreens; - // 指定显示在第二个显示器 - Screen secondScreen = screens[1]; //1 - - // 设置窗体位置和大小 - this.StartPosition = FormStartPosition.Manual; - this.Left = secondScreen.WorkingArea.Left; - this.Top = secondScreen.WorkingArea.Top; - this.Width = secondScreen.WorkingArea.Width; - this.Height = secondScreen.WorkingArea.Height; - this.Show(); - } - catch { } - } - #region 初始化控件 - - - private void InitNextSenseControl() - { - string strNSName = ""; - UCVWNextSense ucns = null; - for (int i = 1; i <= 30; i++) - { - strNSName = "";//L0" + i.ToString(); - if(i<=9) - strNSName = "L0" + i.ToString(); - else - { - strNSName = "L" + i.ToString(); - } - ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName)); - if(ucns != null) - { - ucns.tlpBackColor = Color.White; - ucns.tlpFBackColor = Color.White; - ucns.tlpGBackColor = Color.White; - ucns.labFVal = ""; - ucns.labFLowerUpper = ""; - ucns.labGVal = ""; - ucns.labGLowerUpper = ""; - } - } - } - - #endregion 初始化控件 - - private void FEH3LeftCarData_Load(object sender, EventArgs e) - { - //InitNextSenseOneItemControl(); - InitNextSenseControl(); - labVIN.Text = ""; - tmrRefreshData.Interval = 1000; - tmrRefreshData.Start(); - SpecifyScreenDisplay1(); - } - - private void btnRefresh_Click(object sender, EventArgs e) - { - SpecifyScreenDisplay1(); - string strVIN = tmdal.SelectMaintenanceStation7VIN(); - if (strVIN.ToLower().Contains("empty")) - { - labVIN.Text = "VIN码为空"; - InitNextSenseControl(); - } - else - { - if (strVIN.Length==17) - { - string strSubVIN = strVIN;// strVIN.Substring(0, strVIN.Length - 2); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN); - MyBase.TraceWriteLine("Left EH3 UI Refresh Button (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EH3")) - { - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - } - } - if (strVIN.Length == 21) - { - string strSubVIN = strVIN.Substring(0, 17); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = strVIN.Substring(18, 3); - MyBase.TraceWriteLine("Left EH3 UI Refresh Button (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EH3")) - { - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - } - } - } - } - - private void tmrRefreshData_Tick(object sender, EventArgs e) - { - tmrRefreshData.Stop(); - string strVIN = tmdal.SelectMaintenanceStation7VIN(); - if (strLastVIN != strVIN) - { - if (strVIN.ToLower().Contains("empty")) - { - labVIN.Text = "VIN码为空"; - //InitNextSenseOneItemControl(); - InitNextSenseControl(); - } - else - { - if (strVIN.Length==17) - { - string strSubVIN = strVIN; - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN); - MyBase.TraceWriteLine("Left EH3 UI Refresh tmrRefreshData (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EH3")) - { - SpecifyScreenDisplay1(); - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L"); - if (dtVINData.Rows.Count>0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - gCC.ShowCarMeasureDataByCarType(1); - } - } - if (strVIN.Length == 21) - { - string strSubVIN = strVIN.Substring(0,17); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = strVIN.Substring(18, 3); - MyBase.TraceWriteLine("Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EH3")) - { - SpecifyScreenDisplay1(); - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - gCC.ShowCarMeasureDataByCarType(1); - } - } - } - } - strLastVIN = strVIN; - tmrRefreshData.Start(); - } - - private Color analysisColorbyStatus(string strStatus) - { - Color colStatus = new Color(); - switch (strStatus.ToLower()) - { - case "best": - colStatus = Color.Lime; - break; - - case "good": - colStatus = Color.Lime; - break; - - case "ng1": - colStatus = Color.Yellow; - break; - - case "ng2": - colStatus = Color.Red; - break; - - - default: - colStatus = Color.LightGray; - break; - } - return colStatus; - } - - private void analysisTitleColor() - { - string strNSName = ""; - UCVWNextSense ucns = null; - for (int i = 1; i <= 25; i++) - { - if (i <= 9) - strNSName = "L0" + i.ToString(); - else - { - strNSName = "L" + i.ToString(); - } - ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName)); - if (ucns != null) - { - if (ucns.tlpFBackColor == Color.Red || ucns.tlpGBackColor == Color.Red) - { - ucns.tlpBackColor = Color.Red; - } - else if (ucns.tlpFBackColor == Color.LightGray && ucns.tlpGBackColor == Color.LightGray) - { - ucns.tlpBackColor = Color.LightGray; - } - else if (ucns.tlpFBackColor == Color.Yellow && ucns.tlpGBackColor == Color.Yellow) - { - ucns.tlpBackColor = Color.Yellow; - } - else - { - ucns.tlpBackColor = Color.Lime; - } - } - } - } - - private void refreshCarUIData(DataTable dtData) - { - string strNSName = ""; - string strFGName = ""; - UCVWNextSense ucns = null; - for (int i = 0; i < dtData.Rows.Count; i++) - { - strNSName = dtData.Rows[i]["MeasPointName"].ToString().Replace("-", ""); - strFGName = dtData.Rows[i]["DimensionName"].ToString(); - ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName)); - if (ucns != null) - { - if (strFGName == "F") - { - ucns.labFVal = dtData.Rows[i]["MeasureValue"].ToString() ; - ucns.labFLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString(); - ucns.tlpFBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString()); - } - else - { - ucns.labGVal = dtData.Rows[i]["MeasureValue"].ToString(); - ucns.labGLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString(); - ucns.tlpGBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString()); - } - } - } - } - - private void FEH3LeftCarData_FormClosing(object sender, FormClosingEventArgs e) - { - e.Cancel = true; - this.Hide(); - } - } -} \ No newline at end of file diff --git a/Analysis/CarDataDisplayForm/FEH3LeftCarData.designer.cs b/Analysis/CarDataDisplayForm/FEH3LeftCarData.designer.cs deleted file mode 100644 index 393f056..0000000 --- a/Analysis/CarDataDisplayForm/FEH3LeftCarData.designer.cs +++ /dev/null @@ -1,562 +0,0 @@ -namespace NSAnalysis -{ - partial class FEH3LeftCarData - { - /// - /// 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(FEH3LeftCarData)); - this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar(); - this.label2 = new System.Windows.Forms.Label(); - this.labTitle = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.labVIN = new System.Windows.Forms.Label(); - this.tmrRefreshData = new System.Windows.Forms.Timer(this.components); - this.L10 = new UserControlClass.UCVWNextSense(); - this.L03 = new UserControlClass.UCVWNextSense(); - this.L06 = new UserControlClass.UCVWNextSense(); - this.L04 = new UserControlClass.UCVWNextSense(); - this.L02 = new UserControlClass.UCVWNextSense(); - this.L13 = new UserControlClass.UCVWNextSense(); - this.L01 = new UserControlClass.UCVWNextSense(); - this.L08 = new UserControlClass.UCVWNextSense(); - this.L12 = new UserControlClass.UCVWNextSense(); - this.L21 = new UserControlClass.UCVWNextSense(); - this.L15 = new UserControlClass.UCVWNextSense(); - this.L18 = new UserControlClass.UCVWNextSense(); - this.L16 = new UserControlClass.UCVWNextSense(); - this.L22 = new UserControlClass.UCVWNextSense(); - this.L14 = new UserControlClass.UCVWNextSense(); - this.btnRefresh = new System.Windows.Forms.Button(); - this.pictureBox2 = new System.Windows.Forms.PictureBox(); - this.pbLeftCar = new System.Windows.Forms.PictureBox(); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit(); - this.radTitleBar1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.pbLeftCar)).BeginInit(); - 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, 37); - 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(875, -5); - this.label2.Name = "label2"; - this.label2.Padding = new System.Windows.Forms.Padding(20, 14, 20, 14); - this.label2.Size = new System.Drawing.Size(40, 50); - 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(911, 7); - this.labTitle.Name = "labTitle"; - this.labTitle.Size = new System.Drawing.Size(164, 25); - this.labTitle.TabIndex = 0; - this.labTitle.Text = "左侧车身测量数据"; - // - // 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", 58F); - this.label3.Location = new System.Drawing.Point(476, 970); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(253, 104); - this.label3.TabIndex = 37; - this.label3.Text = "VIN:"; - // - // labVIN - // - this.labVIN.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.labVIN.AutoSize = true; - this.labVIN.Font = new System.Drawing.Font("Segoe UI", 58F); - this.labVIN.Location = new System.Drawing.Point(735, 970); - this.labVIN.Name = "labVIN"; - this.labVIN.Size = new System.Drawing.Size(838, 104); - this.labVIN.TabIndex = 36; - this.labVIN.Text = "LNNACDEBXRDA20251"; - // - // tmrRefreshData - // - this.tmrRefreshData.Interval = 1000; - this.tmrRefreshData.Tick += new System.EventHandler(this.tmrRefreshData_Tick); - // - // L10 - // - this.L10.BackColor = System.Drawing.Color.White; - this.L10.ForeColor = System.Drawing.Color.Black; - this.L10.labFLowerUpper = "-2.0/2.0"; - this.L10.labFText = "F"; - this.L10.labFVal = "0.3"; - this.L10.labGLowerUpper = "1.0/6.0"; - this.L10.labGText = "G"; - this.L10.labGVal = "3.7"; - this.L10.labTitleText = "L-10"; - this.L10.Location = new System.Drawing.Point(794, 787); - this.L10.Name = "L10"; - this.L10.Size = new System.Drawing.Size(220, 145); - this.L10.TabIndex = 38; - this.L10.tlpBackColor = System.Drawing.Color.Lime; - this.L10.tlpFBackColor = System.Drawing.Color.Lime; - this.L10.tlpGBackColor = System.Drawing.Color.Lime; - this.L10.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L03 - // - this.L03.BackColor = System.Drawing.Color.White; - this.L03.ForeColor = System.Drawing.Color.Black; - this.L03.labFLowerUpper = "-3.0/2.0"; - this.L03.labFText = "F"; - this.L03.labFVal = "-0.6"; - this.L03.labGLowerUpper = "1.0/6.0"; - this.L03.labGText = "G"; - this.L03.labGVal = "3.9"; - this.L03.labTitleText = "L-03"; - this.L03.Location = new System.Drawing.Point(303, 91); - this.L03.Name = "L03"; - this.L03.Size = new System.Drawing.Size(220, 145); - this.L03.TabIndex = 40; - this.L03.tlpBackColor = System.Drawing.Color.Lime; - this.L03.tlpFBackColor = System.Drawing.Color.Yellow; - this.L03.tlpGBackColor = System.Drawing.Color.Lime; - this.L03.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L06 - // - this.L06.BackColor = System.Drawing.Color.White; - this.L06.ForeColor = System.Drawing.Color.Black; - this.L06.labFLowerUpper = "-2.0/2.0"; - this.L06.labFText = "F"; - this.L06.labFVal = "-0.1"; - this.L06.labGLowerUpper = "1.0/6.0"; - this.L06.labGText = "G"; - this.L06.labGVal = "3.4"; - this.L06.labTitleText = "L-06"; - this.L06.Location = new System.Drawing.Point(519, 787); - this.L06.Name = "L06"; - this.L06.Size = new System.Drawing.Size(220, 145); - this.L06.TabIndex = 42; - this.L06.tlpBackColor = System.Drawing.Color.Lime; - this.L06.tlpFBackColor = System.Drawing.Color.Lime; - this.L06.tlpGBackColor = System.Drawing.Color.Lime; - this.L06.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L04 - // - this.L04.BackColor = System.Drawing.Color.White; - this.L04.ForeColor = System.Drawing.Color.Black; - this.L04.labFLowerUpper = "-1.0/2.0"; - this.L04.labFText = "F"; - this.L04.labFVal = "-0.1mm"; - this.L04.labGLowerUpper = "1.0/6.0"; - this.L04.labGText = "G"; - this.L04.labGVal = "3.1mm"; - this.L04.labTitleText = "L-04"; - this.L04.Location = new System.Drawing.Point(551, 91); - this.L04.Name = "L04"; - this.L04.Size = new System.Drawing.Size(220, 145); - this.L04.TabIndex = 43; - this.L04.tlpBackColor = System.Drawing.Color.Lime; - this.L04.tlpFBackColor = System.Drawing.Color.Lime; - this.L04.tlpGBackColor = System.Drawing.Color.Lime; - this.L04.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L02 - // - this.L02.BackColor = System.Drawing.Color.White; - this.L02.ForeColor = System.Drawing.Color.Black; - this.L02.labFLowerUpper = "-3.0/2.0"; - this.L02.labFText = "F"; - this.L02.labFVal = "-0.2"; - this.L02.labGLowerUpper = "1.0/6.0"; - this.L02.labGText = "G"; - this.L02.labGVal = "4.4"; - this.L02.labTitleText = "L-02"; - this.L02.Location = new System.Drawing.Point(29, 91); - this.L02.Name = "L02"; - this.L02.Size = new System.Drawing.Size(220, 145); - this.L02.TabIndex = 44; - this.L02.tlpBackColor = System.Drawing.Color.Lime; - this.L02.tlpFBackColor = System.Drawing.Color.Lime; - this.L02.tlpGBackColor = System.Drawing.Color.Lime; - this.L02.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L13 - // - this.L13.BackColor = System.Drawing.Color.White; - this.L13.ForeColor = System.Drawing.Color.Black; - this.L13.labFLowerUpper = "-1.5/1.5"; - this.L13.labFText = "F"; - this.L13.labFVal = "0.6"; - this.L13.labGLowerUpper = "2.2/4.2"; - this.L13.labGText = "G"; - this.L13.labGVal = "4.3"; - this.L13.labTitleText = "L-13"; - this.L13.Location = new System.Drawing.Point(1068, 787); - this.L13.Name = "L13"; - this.L13.Size = new System.Drawing.Size(220, 145); - this.L13.TabIndex = 45; - this.L13.tlpBackColor = System.Drawing.Color.Red; - this.L13.tlpFBackColor = System.Drawing.Color.Lime; - this.L13.tlpGBackColor = System.Drawing.Color.Red; - this.L13.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L01 - // - this.L01.BackColor = System.Drawing.Color.White; - this.L01.ForeColor = System.Drawing.Color.Black; - this.L01.labFLowerUpper = "-3.0/2.0"; - this.L01.labFText = "F"; - this.L01.labFVal = "0.7"; - this.L01.labGLowerUpper = "1.0/5.0"; - this.L01.labGText = "G"; - this.L01.labGVal = "4.1"; - this.L01.labTitleText = "L-01"; - this.L01.Location = new System.Drawing.Point(219, 787); - this.L01.Name = "L01"; - this.L01.Size = new System.Drawing.Size(220, 145); - this.L01.TabIndex = 46; - this.L01.tlpBackColor = System.Drawing.Color.Lime; - this.L01.tlpFBackColor = System.Drawing.Color.Lime; - this.L01.tlpGBackColor = System.Drawing.Color.Lime; - this.L01.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L08 - // - this.L08.BackColor = System.Drawing.Color.White; - this.L08.ForeColor = System.Drawing.Color.Black; - this.L08.labFLowerUpper = "-2.0/2.0"; - this.L08.labFText = "F"; - this.L08.labFVal = "0.3mm"; - this.L08.labGLowerUpper = "1.0/6.0"; - this.L08.labGText = "G"; - this.L08.labGVal = "3.1mm"; - this.L08.labTitleText = "L-08"; - this.L08.Location = new System.Drawing.Point(793, 86); - this.L08.Name = "L08"; - this.L08.Size = new System.Drawing.Size(220, 145); - this.L08.TabIndex = 48; - this.L08.tlpBackColor = System.Drawing.Color.Lime; - this.L08.tlpFBackColor = System.Drawing.Color.Lime; - this.L08.tlpGBackColor = System.Drawing.Color.Lime; - this.L08.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L12 - // - this.L12.BackColor = System.Drawing.Color.White; - this.L12.ForeColor = System.Drawing.Color.Black; - this.L12.labFLowerUpper = "-2.0/2.0"; - this.L12.labFText = "F"; - this.L12.labFVal = "-0.2mm"; - this.L12.labGLowerUpper = "1.0/6.0"; - this.L12.labGText = "G"; - this.L12.labGVal = "3.0mm"; - this.L12.labTitleText = "L-12"; - this.L12.Location = new System.Drawing.Point(1066, 85); - this.L12.Name = "L12"; - this.L12.Size = new System.Drawing.Size(220, 145); - this.L12.TabIndex = 49; - this.L12.tlpBackColor = System.Drawing.Color.Lime; - this.L12.tlpFBackColor = System.Drawing.Color.Lime; - this.L12.tlpGBackColor = System.Drawing.Color.Lime; - this.L12.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L21 - // - this.L21.BackColor = System.Drawing.Color.White; - this.L21.ForeColor = System.Drawing.Color.Black; - this.L21.labFLowerUpper = "-2.0/2.0"; - this.L21.labFText = "F"; - this.L21.labFVal = "-0.2"; - this.L21.labGLowerUpper = "1.0/6.0"; - this.L21.labGText = "G"; - this.L21.labGVal = "6.1"; - this.L21.labTitleText = "L-21"; - this.L21.Location = new System.Drawing.Point(1328, 787); - this.L21.Name = "L21"; - this.L21.Size = new System.Drawing.Size(220, 145); - this.L21.TabIndex = 50; - this.L21.tlpBackColor = System.Drawing.Color.Lime; - this.L21.tlpFBackColor = System.Drawing.Color.Lime; - this.L21.tlpGBackColor = System.Drawing.Color.Lime; - this.L21.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L15 - // - this.L15.BackColor = System.Drawing.Color.White; - this.L15.ForeColor = System.Drawing.Color.Black; - this.L15.labFLowerUpper = "-2.0/2.0"; - this.L15.labFText = "F"; - this.L15.labFVal = "-1.9mm"; - this.L15.labGLowerUpper = "1.0/6.0"; - this.L15.labGText = "G"; - this.L15.labGVal = "2.8mm"; - this.L15.labTitleText = "L-15"; - this.L15.Location = new System.Drawing.Point(1590, 91); - this.L15.Name = "L15"; - this.L15.Size = new System.Drawing.Size(220, 145); - this.L15.TabIndex = 56; - this.L15.tlpBackColor = System.Drawing.Color.Lime; - this.L15.tlpFBackColor = System.Drawing.Color.Lime; - this.L15.tlpGBackColor = System.Drawing.Color.Lime; - this.L15.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L18 - // - this.L18.BackColor = System.Drawing.Color.White; - this.L18.ForeColor = System.Drawing.Color.Black; - this.L18.labFLowerUpper = "0.0/4.0"; - this.L18.labFText = "F"; - this.L18.labFVal = "-2.7"; - this.L18.labGLowerUpper = "1.0/6.0"; - this.L18.labGText = "G"; - this.L18.labGVal = "2.7"; - this.L18.labTitleText = "L-18"; - this.L18.Location = new System.Drawing.Point(1696, 518); - this.L18.Name = "L18"; - this.L18.Size = new System.Drawing.Size(220, 145); - this.L18.TabIndex = 58; - this.L18.tlpBackColor = System.Drawing.Color.Red; - this.L18.tlpFBackColor = System.Drawing.Color.Red; - this.L18.tlpGBackColor = System.Drawing.Color.Lime; - this.L18.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L16 - // - this.L16.BackColor = System.Drawing.Color.White; - this.L16.ForeColor = System.Drawing.Color.Black; - this.L16.labFLowerUpper = "-2.0/2.0"; - this.L16.labFText = "F"; - this.L16.labFVal = "-2.0mm"; - this.L16.labGLowerUpper = "1.0/6.0"; - this.L16.labGText = "G"; - this.L16.labGVal = "2.7mm"; - this.L16.labTitleText = "L-16"; - this.L16.Location = new System.Drawing.Point(1697, 277); - this.L16.Name = "L16"; - this.L16.Size = new System.Drawing.Size(220, 145); - this.L16.TabIndex = 59; - this.L16.tlpBackColor = System.Drawing.Color.Lime; - this.L16.tlpFBackColor = System.Drawing.Color.Lime; - this.L16.tlpGBackColor = System.Drawing.Color.Lime; - this.L16.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L22 - // - this.L22.BackColor = System.Drawing.Color.White; - this.L22.ForeColor = System.Drawing.Color.Black; - this.L22.labFLowerUpper = "-12.0/12.0"; - this.L22.labFText = "F"; - this.L22.labFVal = "-10.0"; - this.L22.labGLowerUpper = "1.0/6.0"; - this.L22.labGText = "G"; - this.L22.labGVal = "6.0"; - this.L22.labTitleText = "L-22"; - this.L22.Location = new System.Drawing.Point(1596, 787); - this.L22.Name = "L22"; - this.L22.Size = new System.Drawing.Size(220, 145); - this.L22.TabIndex = 60; - this.L22.tlpBackColor = System.Drawing.Color.Lime; - this.L22.tlpFBackColor = System.Drawing.Color.Lime; - this.L22.tlpGBackColor = System.Drawing.Color.Lime; - this.L22.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L14 - // - this.L14.BackColor = System.Drawing.Color.White; - this.L14.ForeColor = System.Drawing.Color.Black; - this.L14.labFLowerUpper = "-2.0/2.0"; - this.L14.labFText = "F"; - this.L14.labFVal = "-1.5mm"; - this.L14.labGLowerUpper = "1.0/6.0"; - this.L14.labGText = "G"; - this.L14.labGVal = "3.2mm"; - this.L14.labTitleText = "L-14"; - this.L14.Location = new System.Drawing.Point(1327, 91); - this.L14.Name = "L14"; - this.L14.Size = new System.Drawing.Size(220, 145); - this.L14.TabIndex = 61; - this.L14.tlpBackColor = System.Drawing.Color.Lime; - this.L14.tlpFBackColor = System.Drawing.Color.Lime; - this.L14.tlpGBackColor = System.Drawing.Color.Lime; - this.L14.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // btnRefresh - // - this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.btnRefresh.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.btnRefresh.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnRefresh.Font = new System.Drawing.Font("宋体", 3F); - this.btnRefresh.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.btnRefresh.Image = global::NSAnalysis.Properties.Resources.Refresh64; - this.btnRefresh.Location = new System.Drawing.Point(1695, 978); - this.btnRefresh.Name = "btnRefresh"; - this.btnRefresh.Size = new System.Drawing.Size(86, 92); - this.btnRefresh.TabIndex = 35; - this.btnRefresh.UseVisualStyleBackColor = false; - this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click); - // - // pictureBox2 - // - this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.pictureBox2.Image = global::NSAnalysis.Properties.Resources.hexagonlogotransparent; - this.pictureBox2.Location = new System.Drawing.Point(89, 981); - this.pictureBox2.Name = "pictureBox2"; - this.pictureBox2.Size = new System.Drawing.Size(316, 83); - this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; - this.pictureBox2.TabIndex = 34; - this.pictureBox2.TabStop = false; - // - // pbLeftCar - // - this.pbLeftCar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.pbLeftCar.Image = ((System.Drawing.Image)(resources.GetObject("pbLeftCar.Image"))); - this.pbLeftCar.Location = new System.Drawing.Point(3, 40); - this.pbLeftCar.Name = "pbLeftCar"; - this.pbLeftCar.Size = new System.Drawing.Size(1916, 925); - this.pbLeftCar.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; - this.pbLeftCar.TabIndex = 1; - this.pbLeftCar.TabStop = false; - // - // FEH3LeftCarData - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); - 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.L14); - this.Controls.Add(this.L22); - this.Controls.Add(this.L16); - this.Controls.Add(this.L18); - this.Controls.Add(this.L15); - this.Controls.Add(this.L21); - this.Controls.Add(this.L12); - this.Controls.Add(this.L08); - this.Controls.Add(this.L01); - this.Controls.Add(this.L13); - this.Controls.Add(this.L03); - this.Controls.Add(this.L02); - this.Controls.Add(this.L04); - this.Controls.Add(this.L06); - this.Controls.Add(this.labVIN); - this.Controls.Add(this.L10); - this.Controls.Add(this.label3); - this.Controls.Add(this.btnRefresh); - this.Controls.Add(this.pictureBox2); - this.Controls.Add(this.pbLeftCar); - this.Controls.Add(this.radTitleBar1); - this.Font = new System.Drawing.Font("宋体", 9F); - this.ForeColor = System.Drawing.Color.White; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximumSize = new System.Drawing.Size(1920, 1080); - this.Name = "FEH3LeftCarData"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "左侧车身测量数据"; - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FEH3LeftCarData_FormClosing); - this.Load += new System.EventHandler(this.FEH3LeftCarData_Load); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit(); - this.radTitleBar1.ResumeLayout(false); - this.radTitleBar1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.pbLeftCar)).EndInit(); - 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 System.Windows.Forms.Label label3; - private System.Windows.Forms.Label labVIN; - private System.Windows.Forms.Button btnRefresh; - private System.Windows.Forms.PictureBox pictureBox2; - private System.Windows.Forms.Timer tmrRefreshData; - private System.Windows.Forms.PictureBox pbLeftCar; - private UserControlClass.UCVWNextSense L10; - private UserControlClass.UCVWNextSense L03; - private UserControlClass.UCVWNextSense L06; - private UserControlClass.UCVWNextSense L04; - private UserControlClass.UCVWNextSense L02; - private UserControlClass.UCVWNextSense L13; - private UserControlClass.UCVWNextSense L01; - private UserControlClass.UCVWNextSense L08; - private UserControlClass.UCVWNextSense L12; - private UserControlClass.UCVWNextSense L21; - private UserControlClass.UCVWNextSense L15; - private UserControlClass.UCVWNextSense L18; - private UserControlClass.UCVWNextSense L16; - private UserControlClass.UCVWNextSense L22; - private UserControlClass.UCVWNextSense L14; - } -} diff --git a/Analysis/CarDataDisplayForm/FEH3LeftCarData.resx b/Analysis/CarDataDisplayForm/FEH3LeftCarData.resx deleted file mode 100644 index 8042751..0000000 --- a/Analysis/CarDataDisplayForm/FEH3LeftCarData.resx +++ /dev/null @@ -1,2307 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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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 - - - - 17, 17 - - - - /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYa - HSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgo - KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAKTBOQDASIAAhEBAxEB/8QA - HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh - MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW - V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG - x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF - BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV - YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE - hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq - 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6n2r6D8qNq+g/Knc+tHPrQBDK8EX+taNfrio/tVn/AM9YfzFc - r8Q/+XL/AIF/SuVs7Ke+kK28bFQeXPAFAHqv2q1/56w/mKPtVr/z1h/MV5s+nWlr/wAfV+C3dYRkimeZ - pY+VILqY+pfFAHpn2q1/56w/mKPtVr/z1h/MVx9tp+mw2yzanALZG+6rSZY1DqljZ28X2i3s2uLQ9JIp - On1oA7b7Va/89YfzFH2q1/56w/mK8zD6TL94XMX0bIqRdJS5B/s+9SU9fLc7TQB6P9qtM/6yL8xQLmzz - /rYc/UV5LPBLBL5cyPG/vTHLKcZzQB66bq0BP72L/voULdWhH+ti/MV5hbaVf3EXmQW7EfWpv7C1LqLd - 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 - su05tDMP3srHpjnH4VLc+C4NK1PV/DvjfTxH4fNlFPFr9jEEMUUIUGOQ4PG7H/6qAOj+Dlk+o6v8VbGO - 7uLKSe9jjFxbkCSImI/MpIPIryn4p2seh/EK80m91LWNUuIoIpPtl7fwKzhhkDm2bp9a9X+AWp2Dat8S - 9Zt7gS6R9uWVLoAlWjSMknpzgV5n4k8bRXfjvVfEGkahdWst0BCJbPVIohJEnCZV42I9etAHCWupWVxc - zwJFdK8JAJfUbYK2fQ/Y+a90/Z3sft+jza/HrmtWWnafdyo9g11FJbyFV+ZiEhT2P4V4z4Z8X6rZeIvE - F1HrmqWz3UyM0i6hAhmwCMszREMR6gCvaf2cvEmlxzap4emuQ01/O11CktwtxJMzgmUkooUDgce9AHe/ - 8Lv+HP8A0NFt/wB+Zf8A4ij/AIXf8Of+hotv+/Mv/wARXTf8IT4X/wChe0r/AMBU/wAKP+EJ8L/9C9pX - /gKn+FAHMf8AC7/hz/0NFt/35l/+Iryr9o3WP7Y174Zar4WaC/M87S2Rkyscrbo9uc4IBI9q98/4Qnwv - /wBC9pX/AICp/hXl/wAc/AfiHVtS8H3XgbSrSVdFlaXyGkWGNcFSowSOPlPSgDsvh3qPxEvNRuk8d6No - 2n2KxZgexlLsz5HBy7cYya8I8E3vjWz+MvxFPgLTNL1CdrxhcLfylAi+Y20rhlzzn1r2LwdrHxYuPENr - D4p8OaLZ6O2fOnguNzrwcYG898dqo/CjwTrnh/4o+OtZ1S1SKw1SbfausqsWG8nkA5HB70AeUfHTUPiJ - eWvhlfHmjaLYWY1SMwvYyl2Z/Qgu3GK+m/EGml7N9R0zTbC68QW8J+xyXSD5XxwN3UD6GuE/aE8G614y - 03w5DoFsk8lnqSXMwaVUwgHJ5PNWPib4b8aSa/pfiLwNqmZrJNkuk3M7Jb3HXqAQM89/QUAedLPqsnxu - 8M3Pxet1sbxQV0dNPAe1MhP8bEs2cnp9K+lq8JtfB3jzxx470HXPH1vpuk6foj+bFZ2kvmtM+cgk5IH5 - 9K92oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigCOWCKXHmxo+Om4A1F9htf+eEX/fAqwKWgCt9htf+feL/AL4FH2G1/wCfeL/vgVZo - oAq/YLT/AJ9ov++BR9gtP+faL/vgVaooArfYLT/n2h/74FH2G0/594f++RVmjNAFb7Daf8+8P/fIo+w2 - n/PvD/3yKs5ozQBW+w2n/PvD/wB8ij7Da/8APvD/AN8irOaM0AVvsNp/z7w/98ij7Baf8+0P/fIqzmjN - AFb7Baf8+0P/AHyKPsFp/wA+0P8A3yKs5ozQBW+wWn/PtD/3yKPsNp/z7Q/98irOaM0AVfsNp/z7Q/8A - fApfsNp/z7Q/98CrNFAFb7Baf8+0P/fIo+w2n/PtD/3yKs5ozQBW+w2n/PtD/wB8ipFhjRQqIqqOgHGK - looAQADoBR+FLRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAmKMUtFABRRRQAUUUUAFFFFABRRRQAUUU - UAFFFFABRRRQAUUUUAFFFFAGe+kadJq8eqPY27alGhiS6MY8xV/uhuuOTWhRRQBUbTbJtQF+9pbtehQg - nMY3hR2z1pmq6Rp2rrAuqWNtdiCQTRCaMP5bjowz0PvV6igCNoo5EZJEUqVKEEdQe30qLT9Ps9Og8mwt - YbaL+5EgUfpVmigApkUUcQIiUIuc4UYFPooACARg8imIixrtjVVX0UYFPooASilooAMVS1bSrDV7X7Nq - lnBeW24N5U8YdcjocGrtFACdKUUUUAFQXNnbXTRNdW8MzQtvjMiBtjYxkZ6Gp6KAK2pWFpqdnJaajbQ3 - VrIMPDMgdG+oPBotLK1tLSK1tbeKG3iGEijUKqj2AqzRQBALO3F59r8iL7Vs2ebtG7b6Z644p13bQ3lt - Lb3UUc0EqlJI5FDK6nggg9RUtFAFOx0ux0+z+yWFnb21rgjyoowq8+wp62Fqv3baEfRB/hVmigCv9itO - 9tB/37H+FKlpbRuHjgiVx0ZUAIqeigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooozQAUUUUAFFGaM0AFFGaM0AFFGaM0AF - FGaM0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ - AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ - AUUUUAFFFFABRRmigAooooAKKKKACiiigAooooAKKKM0AFFGaM0AFFGaM0AFFGaM0AFFGaM0AFFGaM0A - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFcLoN/4q1jQ9P1KPUdEgS8t47gRHS5 - W2b1Dbc/aRnGcZwPpQB3VFcrt8Wf9BjQv/BTN/8AJNG3xZ/0GNC/8FM3/wAk0AdVRXK7fFn/AEGNC/8A - BTN/8k0bPFn/AEGNC/8ABTN/8k0AdVRXK7fFn/QY0L/wUzf/ACTRs8Wf9BjQv/BTN/8AJNAHVUVyuzxZ - /wBBjQv/AAUzf/JNGzxZ/wBBjQv/AAUzf/JNAHVUVyuzxZ/0GNC/8FM3/wAk1hXXifU7TWf7Kn8Q6Ml5 - 5kcRH9g3RQPIMopk8/YCewLU0m9kVGLlsrno9Fctt8Wf9BfQv/BTL/8AJNWfBuqXup2+oJqZtnubO8e2 - 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 - v97+goATj0o49KTcP8ijcP8AIoAWik3L/kGjcv8AkGgBcUYpNw/yKNw/yKAFxRik3D/Io3D/ACKAFxRi - k3D/ACKNw/yKAFqaz/18n+6v9ag3D/Iqay5mkPONq9vrQBcooooAKKKKACiiigAooooAq3v3ov8Ae/pU - FWrqJpNmzGVOeT7VD5EvpH/30f8ACgBlFP8As83pH/30f8KPs83pH/30f8KAGUU/7PN6R/8AfR/wo+zz - ekf/AH0f8KAGUU/7PN6R/wDfR/wo+zzekf8A30f8KAGUU/7PN6R/99H/AAo+zzekf/fR/wAKAGUU/wCz - zekf/fR/wo+zzekf/fR/woAjPVP99f5itGqXkTbl3CPqCfmPY/SrtABRRRQAUUUUAFFFFABWb/G/++38 - 60qptbSb2KlMEk80ARUVL9ml9U/Wj7NL6p+tAEVFS/ZpfVP1o+zS+qfrQBFRUv2aX1T9aPs0vqn60ARU - VL9ml9U/Wj7NL6p+tAEVFS/ZpfVP1o+zS+qfrQBFU9n/AK2X6L/Wm/Zpf7yfrUttC0TOWIO7HSmBPRRR - SAKKKKACiiigAooooAz5mCzybiOo/lTPMj/vD8608Um1fQflQBm70/vL+dG9P7y/nWltHoPyo2j0H5UA - Zu9P76fnRvT++n51pbR6D8qNo9B+VAGbvT++n50b0/vp+daW0eg/KjaPQflQBm70/vp+dG9P76fnWltH - oPyo2j0H5UAZu9P76fnRvT++n51pbR6D8qNo9B+VAFK0IM/DKflPQ+4q8OlJge1LQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABVUW - Y/56y/p/hVqigCt9jH/PWT9P8KPsY/56yfp/hVmigCt9jH/PWT9P8KPsY/56yfp/hVmigCt9jH/PWT9P - 8KPsY/56yfp/hVmigCt9jH/PWT9P8KPsY/56yfp/hVmigCt9jH/PWT9P8KPsY/56yfp/hVmigCt9jH/P - WT9P8KlgiEMe0EnnOTUlFABRRRQAUUUUAFFFFABRRRQAUUUUAMnjEqbSSOQeKh+yr/ff9P8ACrNFAFb7 - Kv8Aff8AT/Cj7Kv99/0/wqzRQBW+yr/ff9P8KPsq/wB9/wBP8Ks0UAVvsq/33/T/AAo+yr/ff9P8Ks0U - AVvsq/33/T/Cj7Kv99/0/wAKs0UAVvsq/wB9/wBP8KPsq/33/T/CrNFAFb7Iv/PST9P8Ks0UUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB - RRRQAUUUUAFFFFABRRRQAUUUUAf/2Q== - - - - 36 - - - - 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/CarDataDisplayForm/FEH3RightCarData.cs b/Analysis/CarDataDisplayForm/FEH3RightCarData.cs deleted file mode 100644 index 0a58d08..0000000 --- a/Analysis/CarDataDisplayForm/FEH3RightCarData.cs +++ /dev/null @@ -1,323 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; -using System.Text.RegularExpressions; -using System.Collections; -using System.IO; -using System.Xml; - -using Telerik.WinControls.UI; -using DAL; -using UserControlClass; -using BaseFunction; - -namespace NSAnalysis -{ - public partial class FEH3RightCarData : Telerik.WinControls.UI.ShapedForm - { - #region 全局变量 - - private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL(); - private DataTable dtVINData = new DataTable(); - private string strLastVIN = ""; - CenterControl gCC = null; - #endregion 全局变量 - - #region 初始化控件 - - #endregion 初始化控件 - - public FEH3RightCarData(CenterControl cc) - { - InitializeComponent(); - gCC = cc; - } - - /// - /// 指定屏幕显示 - /// - public void SpecifyScreenDisplay1() - { - try - { - Screen[] screens = Screen.AllScreens; - // 指定显示在第二个显示器 - Screen secondScreen = screens[1]; //1 - - // 设置窗体位置和大小 - this.StartPosition = FormStartPosition.Manual; - this.Left = secondScreen.WorkingArea.Left; - this.Top = secondScreen.WorkingArea.Top; - this.Width = secondScreen.WorkingArea.Width; - this.Height = secondScreen.WorkingArea.Height; - this.Show(); - } - catch { } - } - #region 初始化控件 - - - private void InitNextSenseControl() - { - string strNSName = ""; - UCVWNextSense ucns = null; - for (int i = 1; i <= 25; i++) - { - strNSName = "";//L0" + i.ToString(); - if (i <= 9) - strNSName = "R0" + i.ToString(); - else - { - strNSName = "R" + i.ToString(); - } - ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName)); - if (ucns != null) - { - ucns.tlpBackColor = Color.White; - ucns.tlpFBackColor = Color.White; - ucns.tlpGBackColor = Color.White; - ucns.labFVal = ""; - ucns.labFLowerUpper = ""; - ucns.labGVal = ""; - ucns.labGLowerUpper = ""; - } - } - } - - #endregion 初始化控件 - - private void FEH3RightCarData_Load(object sender, EventArgs e) - { - //InitNextSenseOneItemControl(); - InitNextSenseControl(); - labVIN.Text = ""; - tmrRefreshData.Interval = 1100; - tmrRefreshData.Start(); - SpecifyScreenDisplay1(); - } - - private void btnRefresh_Click(object sender, EventArgs e) - { - SpecifyScreenDisplay1(); - string strVIN = tmdal.SelectMaintenanceStation7VIN(); - if (strVIN.ToLower().Contains("empty")) - { - labVIN.Text = "VIN码为空"; - InitNextSenseControl(); - } - else - { - if (strVIN.Length==17) - { - string strSubVIN = strVIN;// strVIN.Substring(0, strVIN.Length - 2); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN); - MyBase.TraceWriteLine("Right EH3 UI Refresh Button (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EH3")) - { - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - } - } - if (strVIN.Length == 21) - { - string strSubVIN = strVIN.Substring(0, strVIN.Length - 4); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = strVIN.Substring(strVIN.Length - 3, 3); - MyBase.TraceWriteLine("Right EH3 UI Refresh Button (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EH3")) - { - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - } - } - - } - } - - private void tmrRefreshData_Tick(object sender, EventArgs e) - { - tmrRefreshData.Stop(); - string strVIN = tmdal.SelectMaintenanceStation7VIN(); - if (strLastVIN != strVIN) - { - if (strVIN.ToLower().Contains("empty")) - { - labVIN.Text = "VIN码为空"; - //InitNextSenseOneItemControl(); - InitNextSenseControl(); - } - else - { - if (strVIN.Length == 17) - { - string strSubVIN = strVIN;//.Substring(0, strVIN.Length - 2); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN); - MyBase.TraceWriteLine("Right EH3 UI Refresh tmrRefreshData (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EH3")) - { - SpecifyScreenDisplay1(); - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - gCC.ShowCarMeasureDataByCarType(1); - } - } - if (strVIN.Length == 21) - { - string strSubVIN = strVIN.Substring(0, 17); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = strVIN.Substring(18, 3); - MyBase.TraceWriteLine("Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EH3")) - { - SpecifyScreenDisplay1(); - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - gCC.ShowCarMeasureDataByCarType(1); - } - } - } - } - strLastVIN = strVIN; - tmrRefreshData.Start(); - } - - private Color analysisColorbyStatus(string strStatus) - { - Color colStatus = new Color(); - switch (strStatus.ToLower()) - { - case "best": - colStatus = Color.Lime; - break; - - case "good": - colStatus = Color.Lime; - break; - - case "ng1": - colStatus = Color.Yellow; - break; - - case "ng2": - colStatus = Color.Red; - break; - - default: - colStatus = Color.LightGray; - break; - } - return colStatus; - } - - private void analysisTitleColor() - { - string strNSName = ""; - UCVWNextSense ucns = null; - for (int i = 1; i <= 25; i++) - { - if (i <= 9) - strNSName = "R0" + i.ToString(); - else - { - strNSName = "R" + i.ToString(); - } - ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName)); - if (ucns != null) - { - if (ucns.tlpFBackColor == Color.Red || ucns.tlpGBackColor == Color.Red) - { - ucns.tlpBackColor = Color.Red; - } - else if (ucns.tlpFBackColor == Color.LightGray && ucns.tlpGBackColor == Color.LightGray) - { - ucns.tlpBackColor = Color.LightGray; - } - else if (ucns.tlpFBackColor == Color.Yellow && ucns.tlpGBackColor == Color.Yellow) - { - ucns.tlpBackColor = Color.Yellow; - } - else - { - ucns.tlpBackColor = Color.Lime; - } - } - } - } - - private void refreshCarUIData(DataTable dtData) - { - string strNSName = ""; - string strFGName = ""; - UCVWNextSense ucns = null; - for (int i = 0; i < dtData.Rows.Count; i++) - { - strNSName = dtData.Rows[i]["MeasPointName"].ToString().Replace("-", ""); - strFGName = dtData.Rows[i]["DimensionName"].ToString(); - ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName)); - if (ucns != null) - { - if (strFGName == "F") - { - ucns.labFVal = dtData.Rows[i]["MeasureValue"].ToString(); - ucns.labFLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString(); - ucns.tlpFBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString()); - } - else - { - ucns.labGVal = dtData.Rows[i]["MeasureValue"].ToString(); - ucns.labGLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString(); - ucns.tlpGBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString()); - } - } - } - } - - private void FEH3RightCarData_FormClosing(object sender, FormClosingEventArgs e) - { - e.Cancel = true; - this.Hide(); - } - } -} \ No newline at end of file diff --git a/Analysis/CarDataDisplayForm/FEH3RightCarData.designer.cs b/Analysis/CarDataDisplayForm/FEH3RightCarData.designer.cs deleted file mode 100644 index 3be3a4f..0000000 --- a/Analysis/CarDataDisplayForm/FEH3RightCarData.designer.cs +++ /dev/null @@ -1,516 +0,0 @@ -namespace NSAnalysis -{ - partial class FEH3RightCarData - { - /// - /// 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(FEH3RightCarData)); - this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar(); - this.labTitle = new System.Windows.Forms.Label(); - this.labVIN = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.tmrRefreshData = new System.Windows.Forms.Timer(this.components); - this.R14 = new UserControlClass.UCVWNextSense(); - this.R15 = new UserControlClass.UCVWNextSense(); - this.R16 = new UserControlClass.UCVWNextSense(); - this.R18 = new UserControlClass.UCVWNextSense(); - this.R10 = new UserControlClass.UCVWNextSense(); - this.R08 = new UserControlClass.UCVWNextSense(); - this.R12 = new UserControlClass.UCVWNextSense(); - this.R04 = new UserControlClass.UCVWNextSense(); - this.R02 = new UserControlClass.UCVWNextSense(); - this.R13 = new UserControlClass.UCVWNextSense(); - this.R01 = new UserControlClass.UCVWNextSense(); - this.R03 = new UserControlClass.UCVWNextSense(); - this.R06 = new UserControlClass.UCVWNextSense(); - this.btnRefresh = new System.Windows.Forms.Button(); - this.pictureBox2 = new System.Windows.Forms.PictureBox(); - this.pbRightCar = new System.Windows.Forms.PictureBox(); - this.label2 = new System.Windows.Forms.Label(); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit(); - this.radTitleBar1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.pbRightCar)).BeginInit(); - 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, 37); - 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; - // - // 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(911, 7); - this.labTitle.Name = "labTitle"; - this.labTitle.Size = new System.Drawing.Size(164, 25); - this.labTitle.TabIndex = 0; - this.labTitle.Text = "右侧车身测量数据"; - // - // labVIN - // - this.labVIN.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.labVIN.AutoSize = true; - this.labVIN.Font = new System.Drawing.Font("Segoe UI", 58F); - this.labVIN.Location = new System.Drawing.Point(755, 970); - this.labVIN.Name = "labVIN"; - this.labVIN.Size = new System.Drawing.Size(838, 104); - this.labVIN.TabIndex = 32; - this.labVIN.Text = "LNNACDEBXRDA20251"; - // - // 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", 58F); - this.label3.Location = new System.Drawing.Point(495, 969); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(253, 104); - this.label3.TabIndex = 33; - this.label3.Text = "VIN:"; - // - // tmrRefreshData - // - this.tmrRefreshData.Interval = 1000; - this.tmrRefreshData.Tick += new System.EventHandler(this.tmrRefreshData_Tick); - // - // R14 - // - this.R14.BackColor = System.Drawing.Color.White; - this.R14.ForeColor = System.Drawing.Color.Black; - this.R14.labFLowerUpper = "-2.0/2.0"; - this.R14.labFText = "F"; - this.R14.labFVal = "-0.7"; - this.R14.labGLowerUpper = "1.0/6.0"; - this.R14.labGText = "G"; - this.R14.labGVal = "3.6"; - this.R14.labTitleText = "R-14"; - this.R14.Location = new System.Drawing.Point(354, 99); - this.R14.Name = "R14"; - this.R14.Size = new System.Drawing.Size(220, 145); - this.R14.TabIndex = 34; - this.R14.tlpBackColor = System.Drawing.Color.Lime; - this.R14.tlpFBackColor = System.Drawing.Color.Lime; - this.R14.tlpGBackColor = System.Drawing.Color.Lime; - this.R14.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R15 - // - this.R15.BackColor = System.Drawing.Color.White; - this.R15.ForeColor = System.Drawing.Color.Black; - this.R15.labFLowerUpper = "-2.0/2.0"; - this.R15.labFText = "F"; - this.R15.labFVal = "-1.4"; - this.R15.labGLowerUpper = "1.0/6.0"; - this.R15.labGText = "G"; - this.R15.labGVal = "4.2"; - this.R15.labTitleText = "R-15"; - this.R15.Location = new System.Drawing.Point(94, 100); - this.R15.Name = "R15"; - this.R15.Size = new System.Drawing.Size(220, 145); - this.R15.TabIndex = 35; - this.R15.tlpBackColor = System.Drawing.Color.Lime; - this.R15.tlpFBackColor = System.Drawing.Color.Lime; - this.R15.tlpGBackColor = System.Drawing.Color.Lime; - this.R15.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R16 - // - this.R16.BackColor = System.Drawing.Color.White; - this.R16.ForeColor = System.Drawing.Color.Black; - this.R16.labFLowerUpper = "-2.0/2.0"; - this.R16.labFText = "F"; - this.R16.labFVal = "-0.9mm"; - this.R16.labGLowerUpper = "1.0/6.0"; - this.R16.labGText = "G"; - this.R16.labGVal = "2.5mm"; - this.R16.labTitleText = "R-16"; - this.R16.Location = new System.Drawing.Point(3, 288); - this.R16.Name = "R16"; - this.R16.Size = new System.Drawing.Size(220, 145); - this.R16.TabIndex = 37; - this.R16.tlpBackColor = System.Drawing.Color.Lime; - this.R16.tlpFBackColor = System.Drawing.Color.Lime; - this.R16.tlpGBackColor = System.Drawing.Color.Lime; - this.R16.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R18 - // - this.R18.BackColor = System.Drawing.Color.White; - this.R18.ForeColor = System.Drawing.Color.Black; - this.R18.labFLowerUpper = "-2.0/2.0"; - this.R18.labFText = "F"; - this.R18.labFVal = "-2.0"; - this.R18.labGLowerUpper = "1.0/6.0"; - this.R18.labGText = "G"; - this.R18.labGVal = "3.8"; - this.R18.labTitleText = "R-18"; - this.R18.Location = new System.Drawing.Point(3, 608); - this.R18.Name = "R18"; - this.R18.Size = new System.Drawing.Size(220, 145); - this.R18.TabIndex = 38; - this.R18.tlpBackColor = System.Drawing.Color.Lime; - this.R18.tlpFBackColor = System.Drawing.Color.Lime; - this.R18.tlpGBackColor = System.Drawing.Color.Lime; - this.R18.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R10 - // - this.R10.BackColor = System.Drawing.Color.White; - this.R10.ForeColor = System.Drawing.Color.Black; - this.R10.labFLowerUpper = "-2.0/2.0"; - this.R10.labFText = "F"; - this.R10.labFVal = "0.2"; - this.R10.labGLowerUpper = "1.0/6.0"; - this.R10.labGText = "G"; - this.R10.labGVal = "2.9"; - this.R10.labTitleText = "R-10"; - this.R10.Location = new System.Drawing.Point(752, 795); - this.R10.Name = "R10"; - this.R10.Size = new System.Drawing.Size(220, 145); - this.R10.TabIndex = 42; - this.R10.tlpBackColor = System.Drawing.Color.Lime; - this.R10.tlpFBackColor = System.Drawing.Color.Lime; - this.R10.tlpGBackColor = System.Drawing.Color.Lime; - this.R10.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R08 - // - this.R08.BackColor = System.Drawing.Color.White; - this.R08.ForeColor = System.Drawing.Color.Black; - this.R08.labFLowerUpper = "-2.0/2.0"; - this.R08.labFText = "F"; - this.R08.labFVal = "0.1mm"; - this.R08.labGLowerUpper = "1.0/6.0"; - this.R08.labGText = "G"; - this.R08.labGVal = "2.8mm"; - this.R08.labTitleText = "R-08"; - this.R08.Location = new System.Drawing.Point(880, 95); - this.R08.Name = "R08"; - this.R08.Size = new System.Drawing.Size(220, 145); - this.R08.TabIndex = 44; - this.R08.tlpBackColor = System.Drawing.Color.Lime; - this.R08.tlpFBackColor = System.Drawing.Color.Lime; - this.R08.tlpGBackColor = System.Drawing.Color.Lime; - this.R08.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R12 - // - this.R12.BackColor = System.Drawing.Color.White; - this.R12.ForeColor = System.Drawing.Color.Black; - this.R12.labFLowerUpper = "-2.0/2.0"; - this.R12.labFText = "F"; - this.R12.labFVal = "0.2mm"; - this.R12.labGLowerUpper = "1.0/6.0"; - this.R12.labGText = "G"; - this.R12.labGVal = "3.5mm"; - this.R12.labTitleText = "R-12"; - this.R12.Location = new System.Drawing.Point(617, 92); - this.R12.Name = "R12"; - this.R12.Size = new System.Drawing.Size(220, 145); - this.R12.TabIndex = 46; - this.R12.tlpBackColor = System.Drawing.Color.Lime; - this.R12.tlpFBackColor = System.Drawing.Color.Lime; - this.R12.tlpGBackColor = System.Drawing.Color.Lime; - this.R12.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R04 - // - this.R04.BackColor = System.Drawing.Color.White; - this.R04.ForeColor = System.Drawing.Color.Black; - this.R04.labFLowerUpper = "-2.0/2.0"; - this.R04.labFText = "F"; - this.R04.labFVal = "0.5mm"; - this.R04.labGLowerUpper = "1.0/6.0"; - this.R04.labGText = "G"; - this.R04.labGVal = "3.5mm"; - this.R04.labTitleText = "R-04"; - this.R04.Location = new System.Drawing.Point(1133, 95); - this.R04.Name = "R04"; - this.R04.Size = new System.Drawing.Size(220, 145); - this.R04.TabIndex = 48; - this.R04.tlpBackColor = System.Drawing.Color.Lime; - this.R04.tlpFBackColor = System.Drawing.Color.Lime; - this.R04.tlpGBackColor = System.Drawing.Color.Lime; - this.R04.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R02 - // - this.R02.BackColor = System.Drawing.Color.White; - this.R02.ForeColor = System.Drawing.Color.Black; - this.R02.labFLowerUpper = "-2.0/2.0"; - this.R02.labFText = "F"; - this.R02.labFVal = "-0.5mm"; - this.R02.labGLowerUpper = "1.0/6.0"; - this.R02.labGText = "G"; - this.R02.labGVal = "4.0mm"; - this.R02.labTitleText = "R-02"; - this.R02.Location = new System.Drawing.Point(1662, 95); - this.R02.Name = "R02"; - this.R02.Size = new System.Drawing.Size(220, 145); - this.R02.TabIndex = 49; - this.R02.tlpBackColor = System.Drawing.Color.Lime; - this.R02.tlpFBackColor = System.Drawing.Color.Lime; - this.R02.tlpGBackColor = System.Drawing.Color.Lime; - this.R02.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R13 - // - this.R13.BackColor = System.Drawing.Color.White; - this.R13.ForeColor = System.Drawing.Color.Black; - this.R13.labFLowerUpper = "-2.0/2.0"; - this.R13.labFText = "F"; - this.R13.labFVal = "0.1"; - this.R13.labGLowerUpper = "1.0/6.0"; - this.R13.labGText = "G"; - this.R13.labGVal = "3.8"; - this.R13.labTitleText = "R-13"; - this.R13.Location = new System.Drawing.Point(399, 795); - this.R13.Name = "R13"; - this.R13.Size = new System.Drawing.Size(220, 145); - this.R13.TabIndex = 54; - this.R13.tlpBackColor = System.Drawing.Color.Lime; - this.R13.tlpFBackColor = System.Drawing.Color.Lime; - this.R13.tlpGBackColor = System.Drawing.Color.Lime; - this.R13.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R01 - // - this.R01.BackColor = System.Drawing.Color.White; - this.R01.ForeColor = System.Drawing.Color.Black; - this.R01.labFLowerUpper = "-2.0/2.0"; - this.R01.labFText = "F"; - this.R01.labFVal = "0.4mm"; - this.R01.labGLowerUpper = "1.0/6.0"; - this.R01.labGText = "G"; - this.R01.labGVal = "3.7mm"; - this.R01.labTitleText = "R-01"; - this.R01.Location = new System.Drawing.Point(1450, 790); - this.R01.Name = "R01"; - this.R01.Size = new System.Drawing.Size(220, 145); - this.R01.TabIndex = 55; - this.R01.tlpBackColor = System.Drawing.Color.Lime; - this.R01.tlpFBackColor = System.Drawing.Color.Lime; - this.R01.tlpGBackColor = System.Drawing.Color.Lime; - this.R01.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R03 - // - this.R03.BackColor = System.Drawing.Color.White; - this.R03.ForeColor = System.Drawing.Color.Black; - this.R03.labFLowerUpper = "-3.0/2.0"; - this.R03.labFText = "F"; - this.R03.labFVal = "0.5mm"; - this.R03.labGLowerUpper = "1.0/6.0"; - this.R03.labGText = "G"; - this.R03.labGVal = "3.2mm"; - this.R03.labTitleText = "R-03"; - this.R03.Location = new System.Drawing.Point(1398, 95); - this.R03.Name = "R03"; - this.R03.Size = new System.Drawing.Size(220, 145); - this.R03.TabIndex = 56; - this.R03.tlpBackColor = System.Drawing.Color.Lime; - this.R03.tlpFBackColor = System.Drawing.Color.Lime; - this.R03.tlpGBackColor = System.Drawing.Color.Lime; - this.R03.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R06 - // - this.R06.BackColor = System.Drawing.Color.White; - this.R06.ForeColor = System.Drawing.Color.Black; - this.R06.labFLowerUpper = "-2.0/2.0"; - this.R06.labFText = "F"; - this.R06.labFVal = "0.1mm"; - this.R06.labGLowerUpper = "1.0/6.0"; - this.R06.labGText = "G"; - this.R06.labGVal = "3.6mm"; - this.R06.labTitleText = "R-06"; - this.R06.Location = new System.Drawing.Point(1137, 795); - this.R06.Name = "R06"; - this.R06.Size = new System.Drawing.Size(220, 145); - this.R06.TabIndex = 57; - this.R06.tlpBackColor = System.Drawing.Color.Lime; - this.R06.tlpFBackColor = System.Drawing.Color.Lime; - this.R06.tlpGBackColor = System.Drawing.Color.Lime; - this.R06.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // btnRefresh - // - this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.btnRefresh.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.btnRefresh.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnRefresh.Font = new System.Drawing.Font("宋体", 3F); - this.btnRefresh.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.btnRefresh.Image = global::NSAnalysis.Properties.Resources.Refresh64; - this.btnRefresh.Location = new System.Drawing.Point(1705, 978); - this.btnRefresh.Name = "btnRefresh"; - this.btnRefresh.Size = new System.Drawing.Size(92, 97); - this.btnRefresh.TabIndex = 31; - this.btnRefresh.UseVisualStyleBackColor = false; - this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click); - // - // pictureBox2 - // - this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.pictureBox2.Image = global::NSAnalysis.Properties.Resources.hexagonlogotransparent; - this.pictureBox2.Location = new System.Drawing.Point(92, 982); - this.pictureBox2.Name = "pictureBox2"; - this.pictureBox2.Size = new System.Drawing.Size(316, 83); - this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; - this.pictureBox2.TabIndex = 30; - this.pictureBox2.TabStop = false; - // - // pbRightCar - // - this.pbRightCar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.pbRightCar.Image = ((System.Drawing.Image)(resources.GetObject("pbRightCar.Image"))); - this.pbRightCar.Location = new System.Drawing.Point(2, 40); - this.pbRightCar.Name = "pbRightCar"; - this.pbRightCar.Size = new System.Drawing.Size(1916, 923); - this.pbRightCar.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; - this.pbRightCar.TabIndex = 2; - this.pbRightCar.TabStop = false; - // - // 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(875, -5); - this.label2.Name = "label2"; - this.label2.Padding = new System.Windows.Forms.Padding(20, 14, 20, 14); - this.label2.Size = new System.Drawing.Size(40, 50); - this.label2.TabIndex = 1; - // - // FEH3RightCarData - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); - 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.R02); - this.Controls.Add(this.R06); - this.Controls.Add(this.R03); - this.Controls.Add(this.R01); - this.Controls.Add(this.R13); - this.Controls.Add(this.R04); - this.Controls.Add(this.R12); - this.Controls.Add(this.R08); - this.Controls.Add(this.R10); - this.Controls.Add(this.R18); - this.Controls.Add(this.R16); - this.Controls.Add(this.R15); - this.Controls.Add(this.R14); - this.Controls.Add(this.label3); - this.Controls.Add(this.labVIN); - this.Controls.Add(this.btnRefresh); - this.Controls.Add(this.pictureBox2); - this.Controls.Add(this.pbRightCar); - this.Controls.Add(this.radTitleBar1); - this.Font = new System.Drawing.Font("宋体", 9F); - this.ForeColor = System.Drawing.Color.White; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximumSize = new System.Drawing.Size(1920, 1080); - this.Name = "FEH3RightCarData"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "右侧车身测量数据"; - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FEH3RightCarData_FormClosing); - this.Load += new System.EventHandler(this.FEH3RightCarData_Load); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit(); - this.radTitleBar1.ResumeLayout(false); - this.radTitleBar1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.pbRightCar)).EndInit(); - 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 System.Windows.Forms.PictureBox pbRightCar; - private System.Windows.Forms.PictureBox pictureBox2; - private System.Windows.Forms.Button btnRefresh; - private System.Windows.Forms.Label labVIN; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.Timer tmrRefreshData; - private UserControlClass.UCVWNextSense R14; - private UserControlClass.UCVWNextSense R15; - private UserControlClass.UCVWNextSense R16; - private UserControlClass.UCVWNextSense R18; - private UserControlClass.UCVWNextSense R10; - private UserControlClass.UCVWNextSense R08; - private UserControlClass.UCVWNextSense R12; - private UserControlClass.UCVWNextSense R04; - private UserControlClass.UCVWNextSense R02; - private UserControlClass.UCVWNextSense R13; - private UserControlClass.UCVWNextSense R01; - private UserControlClass.UCVWNextSense R03; - private UserControlClass.UCVWNextSense R06; - } -} diff --git a/Analysis/CarDataDisplayForm/FEH3RightCarData.resx b/Analysis/CarDataDisplayForm/FEH3RightCarData.resx deleted file mode 100644 index 2026d07..0000000 --- a/Analysis/CarDataDisplayForm/FEH3RightCarData.resx +++ /dev/null @@ -1,2286 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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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 - - - - 17, 17 - - - - /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYa - HSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgo - KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAKSBO0DASIAAhEBAxEB/8QA - HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh - MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW - V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG - x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF - BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV - YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE - hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq - 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6n2r6D8qNq+g/Knc+tHPrQA3avoPyo2L6D8qUiuGuvGN3HcSo - trFtRioyeaAO42r6D8qNq+g/KuC/4TS7/wCfWL8zVqDxLq067o9NDL6gGgDs9q+g/KjavoPyrlE1rWG6 - 2MKf7z4qVtT1tY95srbb6+YaAOm2L/dH5UbF9B+Vco2t6yBxYxP/ALr1Vn8T6tBzNYBF9TQB2uxP7oo2 - J/dFcH/wml5/z7RfmaX/AITS8/59ovzNAHd7E/uijYn90Vwn/CaXf/PvF+Zo/wCE0vP+faL8zQB3exP7 - oo2J/dFcH/wmt3/z7RfmaX/hNLz/AJ9ovzNAHd7E/uijYn90Vwn/AAml3/z7xfmaT/hNbv8A59ovzNAH - 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 - /wDfArsaKAOO/wCEHh/5+3/74FWdN8JR2N/DcrdO7RnO0rjNdRRQByOofDrwxqF7Ld3elxvPKdzt5jjJ - /A1VHwq8GLMZl0WISkYLh33EfXNdxRQBy2k+AvDmj3y3mnaeIblQQr72OM9epq/4Z8N6X4bt54dIthAs - 8pmlOSS7nqSTW1SCgBQKMUUUAc3feCNCvruS5ubR2mkOWImcfoDVK3+GvhS2Di30tYg53N5crruPqcHk - 12NFAGdo2i2ej2otrCMxwg52li3P1JNTalYW2pWc1pfQpNbTKUeNhwwNW6KAOLj+GXheONY47CREUYCr - cSAAfTNbmj+G9J0ewWy06wghtVYv5eN3zHqee9bFFAFT+zrP/n1g/wC/a/4Uv9nWf/PrB/37X/CrVGaA - MKLwxpMXiGTWxaIdRaMRLK3OxR2Udvwqpe+BvD1z4jg12XTYv7ThbeJhxlvUjua6ijigDj7b4faFH4pX - xA8Es2oqzMjyzMwQnrgZwK7CiigAooooAKKKKACiiigAooooAKrS2FpLex3cttA93GuxJmjBdR6BuoFW - aKACq72No92t09rA1yowJTGC4HoG61YooAr3tla30aJe20FyiOJFWaMOFYdGAPQj1qZ0RwQ6qwII5GeD - 1FOooAr2lja2abLO3hgT+7EgUfpU+BgjHHpS0UARxxRxALEiovXaowKkxkYNFFACKir0UD8KWiigAooo - oArX9jaajB5F/bQXMOQ3lzRhxkdDg1YHSlooATFLRRQBFPbQXDRtPDFKYzuQugbafUZ6GkvLS2vrdoL2 - 3huIG6xyoHU/geKmooAhhtbeC3SCCCKKBMbY0QKq/QDgUotoBc/aPJj+0bdvmbRux6Z64qWigCKe3iuI - XiuI0licYZHUMGHoQetR21haWsBgtrWCGE/8s40CqfwHFWaKAK32C0/59bf/AL9ij7BZ/wDPrb/9+xVn - FGBQBBFZ20Th4reFHHRlQA1PRiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACq8/3x9Ks - VXn++PpQBYooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAqvP98fSrFV5/vj6UAWKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKrz/AHx9KsVXn++PpQBY - ooooAKKKKACiiigAooooAKKKKACiiigAozUN5d21lD5t5cQ28WQu+Vwi5PbJqh/wkmif9BnTf/ApP8aA - NXNGayv+Ek0T/oM6b/4Ep/jR/wAJJon/AEGdN/8AAlP8aANXNGayv+Ek0T/oM6b/AOBKf40f8JJon/QZ - 03/wJT/GgDVzRmsr/hJNE/6DOm/+BKf40f8ACSaJ/wBBnTf/AAJT/GgDVzRmsr/hJNE/6DOm/wDgSn+N - H/CSaJ/0GdN/8CU/xoA1c0Vlf8JJon/QZ03/AMCU/wAaT/hJNE/6DOm/+BKf40Aa1FZP/CR6H/0GdN/8 - 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 - uf8AeX/0IVWq9PGJYyhJGcHI9jUH2T/pq/6f4UAQUVP9k/6av+n+FH2T/pq/6f4UAQUVP9k/6av+n+FH - 2T/pq/6f4UAQUVP9k/6av+n+FH2T/pq/6f4UAQUVP9k/6av+n+FH2T/pq/6f4UAQUVP9k/6av+n+FH2T - /pq/6f4UAQVasv8Aj3H+838zTPsn/TV/0/wqaCPyowuc8n+dAElFFFABRRRQAUUUUAFFFFABRRRQAUUU - UAFFFFABRRRQAUUUUAFFFFABVef74+lWKrz/AHx9KALFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVXlt98hbfjPbGe1WKKAKv2Q/8A - PU/98ij7If8Anqf++RVrmjn1oAq/ZW/56n/vkUfZW/56n/vkVaooAq/ZW/56n/vkUfZW/wCep/75FWqK - AKv2Vv8Anqf++RR9lb/nqf8AvkVaooAq/ZW/56n/AL5FH2Vv+ep/75FWqKAKv2Vv+ep/75FCWpV1YyE4 - OcYq1RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABgE9BRgegoooAMD0ooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBjxrJjcKZ9mh/uf - qamooAh+zQ/3f1NH2aH+7+pqaigCH7ND/d/U0fZof7v6mpqKAIfs0P8Ad/U0fZof7v6mpqKAIfssP939 - TR9lh/u/qamooAg+yw/3f1NH2WH+7+pqfFGKAIPskP8AdP5mplUKAB0FLRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABVef74+lWKrz/fH0oAsUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF - FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF - FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF - FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF - FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF - FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVXn++PpViq8/wB8fSgCxRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABVef74+lWKrz/fH0oAsUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVXn++PpViq8/3x9KALFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFV5/vj6UUUAf//Z - - - - 86 - - - - 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/CarDataDisplayForm/FEHYLeftCarData.cs b/Analysis/CarDataDisplayForm/FEHYLeftCarData.cs deleted file mode 100644 index 8cd21f3..0000000 --- a/Analysis/CarDataDisplayForm/FEHYLeftCarData.cs +++ /dev/null @@ -1,317 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; -using System.Text.RegularExpressions; -using System.Collections; -using System.IO; -using System.Xml; - -using Telerik.WinControls.UI; -using UserControlClass; -using BaseFunction; -using DAL; - -namespace NSAnalysis -{ - public partial class FEHYLeftCarData : Telerik.WinControls.UI.ShapedForm - { - #region 全局变量 - - private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL(); - private DataTable dtVINData = new DataTable(); - private string strLastVIN = ""; - CenterControl gCC = null; - #endregion 全局变量 - - public FEHYLeftCarData(CenterControl cc) - { - InitializeComponent(); - gCC = cc; - } - - /// - /// 指定屏幕显示 - /// - public void SpecifyScreenDisplay1() - { - try - { - Screen[] screens = Screen.AllScreens; - // 指定显示在第二个显示器 - Screen secondScreen = screens[1]; //1 - - // 设置窗体位置和大小 - this.StartPosition = FormStartPosition.Manual; - this.Left = secondScreen.WorkingArea.Left; - this.Top = secondScreen.WorkingArea.Top; - this.Width = secondScreen.WorkingArea.Width; - this.Height = secondScreen.WorkingArea.Height; - this.Show(); - } - catch { } - } - #region 初始化控件 - - - private void InitNextSenseControl() - { - string strNSName = ""; - UCVWNextSense ucns = null; - for (int i = 1; i <= 25; i++) - { - strNSName = "";//L0" + i.ToString(); - if (i <= 9) - strNSName = "L0" + i.ToString(); - else - { - strNSName = "L" + i.ToString(); - } - ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName)); - if (ucns != null) - { - ucns.tlpBackColor = Color.White; - ucns.tlpFBackColor = Color.White; - ucns.tlpGBackColor = Color.White; - ucns.labFVal = ""; - ucns.labFLowerUpper = ""; - ucns.labGVal = ""; - ucns.labGLowerUpper = ""; - } - } - } - - #endregion 初始化控件 - - private void FEHYLeftCarData_Load(object sender, EventArgs e) - { - //InitNextSenseOneItemControl(); - InitNextSenseControl(); - labVIN.Text = ""; - tmrRefreshData.Interval = 1000; - tmrRefreshData.Start(); - SpecifyScreenDisplay1(); - } - - private void btnRefresh_Click(object sender, EventArgs e) - { - SpecifyScreenDisplay1(); - string strVIN = tmdal.SelectMaintenanceStation7VIN(); - if (strVIN.ToLower().Contains("empty")) - { - labVIN.Text = "VIN码为空"; - InitNextSenseControl(); - } - else - { - if (strVIN.Length==17) - { - string strSubVIN = strVIN;// strVIN.Substring(0, strVIN.Length - 2); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN); - MyBase.TraceWriteLine("Left EHY UI Refresh Button (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EHY")) - { - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - } - } - if (strVIN.Length == 21) - { - string strSubVIN =strVIN.Substring(0, 17); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = strVIN.Substring(18, 3); - MyBase.TraceWriteLine("Left EHY UI Refresh Button (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EHY")) - { - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - } - } - } - } - - private void tmrRefreshData_Tick(object sender, EventArgs e) - { - tmrRefreshData.Stop(); - string strVIN = tmdal.SelectMaintenanceStation7VIN(); - if (strLastVIN != strVIN) - { - if (strVIN.ToLower().Contains("empty")) - { - labVIN.Text = "VIN码为空"; - InitNextSenseControl(); - } - else - { - if (strVIN.Length==17) - { - string strSubVIN = strVIN;//.Substring(0, strVIN.Length - 2); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN); - MyBase.TraceWriteLine("Left EHY UI Refresh tmrRefreshData (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EHY")) - { - SpecifyScreenDisplay1(); - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - gCC.ShowCarMeasureDataByCarType(2); - } - } - if (strVIN.Length == 21) - { - string strSubVIN = strVIN.Substring(0, 17); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = strVIN.Substring(18, 3); - MyBase.TraceWriteLine("Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EHY")) - { - SpecifyScreenDisplay1(); - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - gCC.ShowCarMeasureDataByCarType(2); - } - } - } - } - strLastVIN = strVIN; - tmrRefreshData.Start(); - } - - private Color analysisColorbyStatus(string strStatus) - { - Color colStatus = new Color(); - switch (strStatus.ToLower()) - { - case "best": - colStatus = Color.Lime; - break; - - case "good": - colStatus = Color.Lime; - break; - - case "ng1": - colStatus = Color.Yellow; - break; - - case "ng2": - colStatus = Color.Red; - break; - - default: - colStatus = Color.LightGray; - break; - } - return colStatus; - } - - private void analysisTitleColor() - { - string strNSName = ""; - UCVWNextSense ucns = null; - for (int i = 1; i <= 25; i++) - { - if (i <= 9) - strNSName = "L0" + i.ToString(); - else - { - strNSName = "L" + i.ToString(); - } - ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName)); - if (ucns != null) - { - if (ucns.tlpFBackColor == Color.Red || ucns.tlpGBackColor == Color.Red) - { - ucns.tlpBackColor = Color.Red; - } - else if (ucns.tlpFBackColor == Color.LightGray && ucns.tlpGBackColor == Color.LightGray) - { - ucns.tlpBackColor = Color.LightGray; - } - else if (ucns.tlpFBackColor == Color.Yellow && ucns.tlpGBackColor == Color.Yellow) - { - ucns.tlpBackColor = Color.Yellow; - } - else - { - ucns.tlpBackColor = Color.Lime; - } - } - } - } - - private void refreshCarUIData(DataTable dtData) - { - string strNSName = ""; - string strFGName = ""; - UCVWNextSense ucns = null; - for (int i = 0; i < dtData.Rows.Count; i++) - { - strNSName = dtData.Rows[i]["MeasPointName"].ToString().Replace("-", ""); - strFGName = dtData.Rows[i]["DimensionName"].ToString(); - ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName)); - if (ucns != null) - { - if (strFGName == "F") - { - ucns.labFVal = dtData.Rows[i]["MeasureValue"].ToString(); - ucns.labFLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString(); - ucns.tlpFBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString()); - } - else - { - ucns.labGVal = dtData.Rows[i]["MeasureValue"].ToString(); - ucns.labGLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString(); - ucns.tlpGBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString()); - } - } - } - } - - private void FEHYLeftCarData_FormClosing(object sender, FormClosingEventArgs e) - { - e.Cancel = true; - this.Hide(); - } - } -} \ No newline at end of file diff --git a/Analysis/CarDataDisplayForm/FEHYLeftCarData.designer.cs b/Analysis/CarDataDisplayForm/FEHYLeftCarData.designer.cs deleted file mode 100644 index 8ffdedb..0000000 --- a/Analysis/CarDataDisplayForm/FEHYLeftCarData.designer.cs +++ /dev/null @@ -1,562 +0,0 @@ -namespace NSAnalysis -{ - partial class FEHYLeftCarData - { - /// - /// 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(FEHYLeftCarData)); - this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar(); - this.label2 = new System.Windows.Forms.Label(); - this.labTitle = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.labVIN = new System.Windows.Forms.Label(); - this.tmrRefreshData = new System.Windows.Forms.Timer(this.components); - this.btnRefresh = new System.Windows.Forms.Button(); - this.pictureBox2 = new System.Windows.Forms.PictureBox(); - this.pbLeftCar = new System.Windows.Forms.PictureBox(); - this.L13 = new UserControlClass.UCVWNextSense(); - this.L14 = new UserControlClass.UCVWNextSense(); - this.L22 = new UserControlClass.UCVWNextSense(); - this.L16 = new UserControlClass.UCVWNextSense(); - this.L18 = new UserControlClass.UCVWNextSense(); - this.L15 = new UserControlClass.UCVWNextSense(); - this.L21 = new UserControlClass.UCVWNextSense(); - this.L12 = new UserControlClass.UCVWNextSense(); - this.L08 = new UserControlClass.UCVWNextSense(); - this.L01 = new UserControlClass.UCVWNextSense(); - this.L03 = new UserControlClass.UCVWNextSense(); - this.L02 = new UserControlClass.UCVWNextSense(); - this.L04 = new UserControlClass.UCVWNextSense(); - this.L06 = new UserControlClass.UCVWNextSense(); - this.L10 = new UserControlClass.UCVWNextSense(); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit(); - this.radTitleBar1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.pbLeftCar)).BeginInit(); - 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, 37); - 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(875, -5); - this.label2.Name = "label2"; - this.label2.Padding = new System.Windows.Forms.Padding(20, 14, 20, 14); - this.label2.Size = new System.Drawing.Size(40, 50); - 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(911, 7); - this.labTitle.Name = "labTitle"; - this.labTitle.Size = new System.Drawing.Size(164, 25); - this.labTitle.TabIndex = 0; - this.labTitle.Text = "左侧车身测量数据"; - // - // 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", 58F); - this.label3.Location = new System.Drawing.Point(502, 970); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(253, 104); - this.label3.TabIndex = 37; - this.label3.Text = "VIN:"; - // - // labVIN - // - this.labVIN.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.labVIN.AutoSize = true; - this.labVIN.Font = new System.Drawing.Font("Segoe UI", 58F); - this.labVIN.Location = new System.Drawing.Point(761, 970); - this.labVIN.Name = "labVIN"; - this.labVIN.Size = new System.Drawing.Size(838, 104); - this.labVIN.TabIndex = 36; - this.labVIN.Text = "LNNACDEBXRDA20251"; - // - // tmrRefreshData - // - this.tmrRefreshData.Interval = 1000; - this.tmrRefreshData.Tick += new System.EventHandler(this.tmrRefreshData_Tick); - // - // btnRefresh - // - this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.btnRefresh.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.btnRefresh.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnRefresh.Font = new System.Drawing.Font("宋体", 3F); - this.btnRefresh.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.btnRefresh.Image = global::NSAnalysis.Properties.Resources.Refresh64; - this.btnRefresh.Location = new System.Drawing.Point(1695, 978); - this.btnRefresh.Name = "btnRefresh"; - this.btnRefresh.Size = new System.Drawing.Size(86, 92); - this.btnRefresh.TabIndex = 35; - this.btnRefresh.UseVisualStyleBackColor = false; - this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click); - // - // pictureBox2 - // - this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.pictureBox2.Image = global::NSAnalysis.Properties.Resources.hexagonlogotransparent; - this.pictureBox2.Location = new System.Drawing.Point(100, 981); - this.pictureBox2.Name = "pictureBox2"; - this.pictureBox2.Size = new System.Drawing.Size(316, 83); - this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; - this.pictureBox2.TabIndex = 34; - this.pictureBox2.TabStop = false; - // - // pbLeftCar - // - this.pbLeftCar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.pbLeftCar.Image = ((System.Drawing.Image)(resources.GetObject("pbLeftCar.Image"))); - this.pbLeftCar.Location = new System.Drawing.Point(3, 40); - this.pbLeftCar.Name = "pbLeftCar"; - this.pbLeftCar.Size = new System.Drawing.Size(1916, 925); - this.pbLeftCar.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; - this.pbLeftCar.TabIndex = 1; - this.pbLeftCar.TabStop = false; - // - // L13 - // - this.L13.BackColor = System.Drawing.Color.White; - this.L13.ForeColor = System.Drawing.Color.Black; - this.L13.labFLowerUpper = "-2.0/2.0"; - this.L13.labFText = "F"; - this.L13.labFVal = "0.3"; - this.L13.labGLowerUpper = "1.0/6.0"; - this.L13.labGText = "G"; - this.L13.labGVal = "3.7"; - this.L13.labTitleText = "L-13"; - this.L13.Location = new System.Drawing.Point(1023, 801); - this.L13.Name = "L13"; - this.L13.Size = new System.Drawing.Size(220, 145); - this.L13.TabIndex = 62; - this.L13.tlpBackColor = System.Drawing.Color.Lime; - this.L13.tlpFBackColor = System.Drawing.Color.Lime; - this.L13.tlpGBackColor = System.Drawing.Color.Lime; - this.L13.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L14 - // - this.L14.BackColor = System.Drawing.Color.White; - this.L14.ForeColor = System.Drawing.Color.Black; - this.L14.labFLowerUpper = "-2.0/2.0"; - this.L14.labFText = "F"; - this.L14.labFVal = "-1.5mm"; - this.L14.labGLowerUpper = "1.0/6.0"; - this.L14.labGText = "G"; - this.L14.labGVal = "3.2mm"; - this.L14.labTitleText = "L-14"; - this.L14.Location = new System.Drawing.Point(1508, 100); - this.L14.Name = "L14"; - this.L14.Size = new System.Drawing.Size(220, 145); - this.L14.TabIndex = 61; - this.L14.tlpBackColor = System.Drawing.Color.Lime; - this.L14.tlpFBackColor = System.Drawing.Color.Lime; - this.L14.tlpGBackColor = System.Drawing.Color.Lime; - this.L14.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L22 - // - this.L22.BackColor = System.Drawing.Color.White; - this.L22.ForeColor = System.Drawing.Color.Black; - this.L22.labFLowerUpper = "-2.0/2.0"; - this.L22.labFText = "F"; - this.L22.labFVal = "0.0"; - this.L22.labGLowerUpper = "1.0/6.0"; - this.L22.labGText = "G"; - this.L22.labGVal = "6.0"; - this.L22.labTitleText = "L-22"; - this.L22.Location = new System.Drawing.Point(1641, 801); - this.L22.Name = "L22"; - this.L22.Size = new System.Drawing.Size(220, 145); - this.L22.TabIndex = 60; - this.L22.tlpBackColor = System.Drawing.Color.Lime; - this.L22.tlpFBackColor = System.Drawing.Color.Lime; - this.L22.tlpGBackColor = System.Drawing.Color.Lime; - this.L22.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L16 - // - this.L16.BackColor = System.Drawing.Color.White; - this.L16.ForeColor = System.Drawing.Color.Black; - this.L16.labFLowerUpper = "-2.0/2.0"; - this.L16.labFText = "F"; - this.L16.labFVal = "-2.0mm"; - this.L16.labGLowerUpper = "1.0/6.0"; - this.L16.labGText = "G"; - this.L16.labGVal = "2.7mm"; - this.L16.labTitleText = "L-16"; - this.L16.Location = new System.Drawing.Point(1696, 413); - this.L16.Name = "L16"; - this.L16.Size = new System.Drawing.Size(220, 145); - this.L16.TabIndex = 59; - this.L16.tlpBackColor = System.Drawing.Color.Lime; - this.L16.tlpFBackColor = System.Drawing.Color.Lime; - this.L16.tlpGBackColor = System.Drawing.Color.Lime; - this.L16.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L18 - // - this.L18.BackColor = System.Drawing.Color.White; - this.L18.ForeColor = System.Drawing.Color.Black; - this.L18.labFLowerUpper = "0.0/4.0"; - this.L18.labFText = "F"; - this.L18.labFVal = "-2.7"; - this.L18.labGLowerUpper = "1.0/6.0"; - this.L18.labGText = "G"; - this.L18.labGVal = "2.7"; - this.L18.labTitleText = "L-18"; - this.L18.Location = new System.Drawing.Point(1694, 596); - this.L18.Name = "L18"; - this.L18.Size = new System.Drawing.Size(220, 145); - this.L18.TabIndex = 58; - this.L18.tlpBackColor = System.Drawing.Color.Red; - this.L18.tlpFBackColor = System.Drawing.Color.Red; - this.L18.tlpGBackColor = System.Drawing.Color.Lime; - this.L18.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L15 - // - this.L15.BackColor = System.Drawing.Color.White; - this.L15.ForeColor = System.Drawing.Color.Black; - this.L15.labFLowerUpper = "-2.0/2.0"; - this.L15.labFText = "F"; - this.L15.labFVal = "-1.9mm"; - this.L15.labGLowerUpper = "1.0/6.0"; - this.L15.labGText = "G"; - this.L15.labGVal = "2.8mm"; - this.L15.labTitleText = "L-15"; - this.L15.Location = new System.Drawing.Point(1692, 255); - this.L15.Name = "L15"; - this.L15.Size = new System.Drawing.Size(220, 145); - this.L15.TabIndex = 56; - this.L15.tlpBackColor = System.Drawing.Color.Lime; - this.L15.tlpFBackColor = System.Drawing.Color.Lime; - this.L15.tlpGBackColor = System.Drawing.Color.Lime; - this.L15.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L21 - // - this.L21.BackColor = System.Drawing.Color.White; - this.L21.ForeColor = System.Drawing.Color.Black; - this.L21.labFLowerUpper = "-2.0/2.0"; - this.L21.labFText = "F"; - this.L21.labFVal = "-0.2mm"; - this.L21.labGLowerUpper = "1.0/6.0"; - this.L21.labGText = "G"; - this.L21.labGVal = "6.1mm"; - this.L21.labTitleText = "L-21"; - this.L21.Location = new System.Drawing.Point(1354, 801); - this.L21.Name = "L21"; - this.L21.Size = new System.Drawing.Size(220, 145); - this.L21.TabIndex = 50; - this.L21.tlpBackColor = System.Drawing.Color.Lime; - this.L21.tlpFBackColor = System.Drawing.Color.Lime; - this.L21.tlpGBackColor = System.Drawing.Color.Lime; - this.L21.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L12 - // - this.L12.BackColor = System.Drawing.Color.White; - this.L12.ForeColor = System.Drawing.Color.Black; - this.L12.labFLowerUpper = "-2.0/2.0"; - this.L12.labFText = "F"; - this.L12.labFVal = "-0.2mm"; - this.L12.labGLowerUpper = "1.0/6.0"; - this.L12.labGText = "G"; - this.L12.labGVal = "3.0mm"; - this.L12.labTitleText = "L-12"; - this.L12.Location = new System.Drawing.Point(1195, 105); - this.L12.Name = "L12"; - this.L12.Size = new System.Drawing.Size(220, 145); - this.L12.TabIndex = 49; - this.L12.tlpBackColor = System.Drawing.Color.Lime; - this.L12.tlpFBackColor = System.Drawing.Color.Lime; - this.L12.tlpGBackColor = System.Drawing.Color.Lime; - this.L12.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L08 - // - this.L08.BackColor = System.Drawing.Color.White; - this.L08.ForeColor = System.Drawing.Color.Black; - this.L08.labFLowerUpper = "-2.0/2.0"; - this.L08.labFText = "F"; - this.L08.labFVal = "0.3mm"; - this.L08.labGLowerUpper = "1.0/6.0"; - this.L08.labGText = "G"; - this.L08.labGVal = "3.1mm"; - this.L08.labTitleText = "L-08"; - this.L08.Location = new System.Drawing.Point(879, 103); - this.L08.Name = "L08"; - this.L08.Size = new System.Drawing.Size(220, 145); - this.L08.TabIndex = 48; - this.L08.tlpBackColor = System.Drawing.Color.Lime; - this.L08.tlpFBackColor = System.Drawing.Color.Lime; - this.L08.tlpGBackColor = System.Drawing.Color.Lime; - this.L08.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L01 - // - this.L01.BackColor = System.Drawing.Color.White; - this.L01.ForeColor = System.Drawing.Color.Black; - this.L01.labFLowerUpper = "-3.0/2.0"; - this.L01.labFText = "F"; - this.L01.labFVal = "0.7mm"; - this.L01.labGLowerUpper = "1.0/5.0"; - this.L01.labGText = "G"; - this.L01.labGVal = "4.1mm"; - this.L01.labTitleText = "L-01"; - this.L01.Location = new System.Drawing.Point(7, 581); - this.L01.Name = "L01"; - this.L01.Size = new System.Drawing.Size(220, 145); - this.L01.TabIndex = 46; - this.L01.tlpBackColor = System.Drawing.Color.Lime; - this.L01.tlpFBackColor = System.Drawing.Color.Lime; - this.L01.tlpGBackColor = System.Drawing.Color.Lime; - this.L01.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L03 - // - this.L03.BackColor = System.Drawing.Color.White; - this.L03.ForeColor = System.Drawing.Color.Black; - this.L03.labFLowerUpper = "-3.0/2.0"; - this.L03.labFText = "F"; - this.L03.labFVal = "-0.6"; - this.L03.labGLowerUpper = "1.0/6.0"; - this.L03.labGText = "G"; - this.L03.labGVal = "3.9"; - this.L03.labTitleText = "L-03"; - this.L03.Location = new System.Drawing.Point(323, 109); - this.L03.Name = "L03"; - this.L03.Size = new System.Drawing.Size(220, 145); - this.L03.TabIndex = 40; - this.L03.tlpBackColor = System.Drawing.Color.Lime; - this.L03.tlpFBackColor = System.Drawing.Color.Lime; - this.L03.tlpGBackColor = System.Drawing.Color.Lime; - this.L03.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L02 - // - this.L02.BackColor = System.Drawing.Color.White; - this.L02.ForeColor = System.Drawing.Color.Black; - this.L02.labFLowerUpper = "-3.0/2.0"; - this.L02.labFText = "F"; - this.L02.labFVal = "-0.2"; - this.L02.labGLowerUpper = "1.0/6.0"; - this.L02.labGText = "G"; - this.L02.labGVal = "4.4"; - this.L02.labTitleText = "L-02"; - this.L02.Location = new System.Drawing.Point(46, 109); - this.L02.Name = "L02"; - this.L02.Size = new System.Drawing.Size(220, 145); - this.L02.TabIndex = 44; - this.L02.tlpBackColor = System.Drawing.Color.Lime; - this.L02.tlpFBackColor = System.Drawing.Color.Lime; - this.L02.tlpGBackColor = System.Drawing.Color.Lime; - this.L02.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L04 - // - this.L04.BackColor = System.Drawing.Color.White; - this.L04.ForeColor = System.Drawing.Color.Black; - this.L04.labFLowerUpper = "-1.0/2.0"; - this.L04.labFText = "F"; - this.L04.labFVal = "-0.1"; - this.L04.labGLowerUpper = "1.0/6.0"; - this.L04.labGText = "G"; - this.L04.labGVal = "3.1"; - this.L04.labTitleText = "L-04"; - this.L04.Location = new System.Drawing.Point(604, 109); - this.L04.Name = "L04"; - this.L04.Size = new System.Drawing.Size(220, 145); - this.L04.TabIndex = 43; - this.L04.tlpBackColor = System.Drawing.Color.Lime; - this.L04.tlpFBackColor = System.Drawing.Color.Lime; - this.L04.tlpGBackColor = System.Drawing.Color.Lime; - this.L04.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L06 - // - this.L06.BackColor = System.Drawing.Color.White; - this.L06.ForeColor = System.Drawing.Color.Black; - this.L06.labFLowerUpper = "-2.0/2.0"; - this.L06.labFText = "F"; - this.L06.labFVal = "-0.1"; - this.L06.labGLowerUpper = "1.0/6.0"; - this.L06.labGText = "G"; - this.L06.labGVal = "3.4"; - this.L06.labTitleText = "L-06"; - this.L06.Location = new System.Drawing.Point(423, 801); - this.L06.Name = "L06"; - this.L06.Size = new System.Drawing.Size(220, 145); - this.L06.TabIndex = 42; - this.L06.tlpBackColor = System.Drawing.Color.Lime; - this.L06.tlpFBackColor = System.Drawing.Color.Lime; - this.L06.tlpGBackColor = System.Drawing.Color.Lime; - this.L06.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // L10 - // - this.L10.BackColor = System.Drawing.Color.White; - this.L10.ForeColor = System.Drawing.Color.Black; - this.L10.labFLowerUpper = "-2.0/2.0"; - this.L10.labFText = "F"; - this.L10.labFVal = "0.3"; - this.L10.labGLowerUpper = "1.0/6.0"; - this.L10.labGText = "G"; - this.L10.labGVal = "3.7"; - this.L10.labTitleText = "L-10"; - this.L10.Location = new System.Drawing.Point(715, 801); - this.L10.Name = "L10"; - this.L10.Size = new System.Drawing.Size(220, 145); - this.L10.TabIndex = 38; - this.L10.tlpBackColor = System.Drawing.Color.Lime; - this.L10.tlpFBackColor = System.Drawing.Color.Lime; - this.L10.tlpGBackColor = System.Drawing.Color.Lime; - this.L10.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // FEHYLeftCarData - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); - 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.L13); - this.Controls.Add(this.L14); - this.Controls.Add(this.L22); - this.Controls.Add(this.L16); - this.Controls.Add(this.L18); - this.Controls.Add(this.L15); - this.Controls.Add(this.L21); - this.Controls.Add(this.L12); - this.Controls.Add(this.L08); - this.Controls.Add(this.L01); - this.Controls.Add(this.L03); - this.Controls.Add(this.L02); - this.Controls.Add(this.L04); - this.Controls.Add(this.L06); - this.Controls.Add(this.labVIN); - this.Controls.Add(this.L10); - this.Controls.Add(this.label3); - this.Controls.Add(this.btnRefresh); - this.Controls.Add(this.pictureBox2); - this.Controls.Add(this.pbLeftCar); - this.Controls.Add(this.radTitleBar1); - this.Font = new System.Drawing.Font("宋体", 9F); - this.ForeColor = System.Drawing.Color.White; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximumSize = new System.Drawing.Size(1920, 1080); - this.Name = "FEHYLeftCarData"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "左侧车身测量数据"; - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FEHYLeftCarData_FormClosing); - this.Load += new System.EventHandler(this.FEHYLeftCarData_Load); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit(); - this.radTitleBar1.ResumeLayout(false); - this.radTitleBar1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.pbLeftCar)).EndInit(); - 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 System.Windows.Forms.Label label3; - private System.Windows.Forms.Label labVIN; - private System.Windows.Forms.Button btnRefresh; - private System.Windows.Forms.PictureBox pictureBox2; - private System.Windows.Forms.Timer tmrRefreshData; - private System.Windows.Forms.PictureBox pbLeftCar; - private UserControlClass.UCVWNextSense L10; - private UserControlClass.UCVWNextSense L03; - private UserControlClass.UCVWNextSense L06; - private UserControlClass.UCVWNextSense L04; - private UserControlClass.UCVWNextSense L02; - private UserControlClass.UCVWNextSense L01; - private UserControlClass.UCVWNextSense L08; - private UserControlClass.UCVWNextSense L12; - private UserControlClass.UCVWNextSense L21; - private UserControlClass.UCVWNextSense L15; - private UserControlClass.UCVWNextSense L18; - private UserControlClass.UCVWNextSense L16; - private UserControlClass.UCVWNextSense L22; - private UserControlClass.UCVWNextSense L14; - private UserControlClass.UCVWNextSense L13; - } -} diff --git a/Analysis/CarDataDisplayForm/FEHYLeftCarData.resx b/Analysis/CarDataDisplayForm/FEHYLeftCarData.resx deleted file mode 100644 index 50cce2e..0000000 --- a/Analysis/CarDataDisplayForm/FEHYLeftCarData.resx +++ /dev/null @@ -1,2182 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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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 - - - - 17, 17 - - - - /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYa - HSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgo - KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAKSBNcDASIAAhEBAxEB/8QA - HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh - MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW - V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG - x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF - BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV - YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE - hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq - 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6popssiRIWkYKPUmq/wDaFt/z2j/76oAtUVV/tC2/57R/99Uf - 2hbf89o/++qALVFVf7Qtv+e0f/fVH9oW3/PaP/vqgC1RVX+0Lb/ntH/31R/aFt/z2j/76oAtUVV/tC2/ - 57R/99Uf2hbf89o/++qALVFVf7Qtv+e0f/fVH9oW3/PaP/vqgC1RVX+0Lb/ntH/31R/aFt/z2j/76oAt - UVV/tC2/57R/99Uf2hbf89o/++qALVFVf7Qtv+e0f/fVH9oW3/PaP/vqgC1RVX+0Lb/ntH/31R/aFt/z - 2j/76oAtUVV/tC2/57R/99Uf2hbf89o/++qALVFVf7Qtv+e0f/fVH9oW3/PaP/vqgC1RVX7fbf8APaP/ - AL6q0DkAjoaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooA57xx/yA5PqK86hieV1jiQu7dAK9F8cf8AIDk/3hWZ - 4XtkXQLi4tQGuyCMnnH0oAwxojQoGvbmG1z0Ut835U0x6RF96S4nI9ABWdcmd5yZw5lPUNnNb2i+GnuV - FzfEwW684PU0AJpdvZ3su2205zGPvSu5wK1W03RZg0VqI5LleqeZ1rK1jWk8s2WmL5dsvDMOrVz6O0bh - kJDA5B70AbFythbzNFdadPA47hutRrbaTMf3dzPCx/56dK1dOv7bW4hZ6oAJ8Yjl6Z9qy9a0K50tixBk - h7OKAGXGizohltnW6i7mNs4rOIwcNuU+h4rQ0Br3+0oPsW7lhuHYj3rT8c2sEF3C8QCyyA71HSgDm8Cr - 0Gj388YkitJWQ9Dim6LHFJqtuk/+rLfnWr4kvNQj1WWNGmSFcbAnTHrxQBnf2FqX/PnL+VQJp1y8zRLC - 5kQZYAdBT/7Q1H/ntcfma2PBhZ9RuTMW3GM5LUAc0VwcHrUttay3Unl26F3xnArYaz0TzWJvZf8AvmtT - w7b6ZHqStZXMjy7T8pGO1AHK29jc3MjxwQPI6feA7VbGg6kR/wAecn5V0ei7Vs9WeR2jzM2XUciqoltP - +gpe/k1AGHNo1/DE0ktrIqL1JFMttLvLqESW8DyKeOKt6xOQmy2ubqZD97eDir9lawW2jQXc2oTwJKfu - p0zQBlf2Fqf/AD6SflUMul3kLKs0LIW4XI6mtzz9P/6C9z+tP8SyJZaVFZrI8/m/OsrdvoaAOau7S4tG - C3ETIT0yKjhjeaVY4lLO3QAVv6VqguljsNUHmxv8qP8AxLVnUGtvDe63sk8y8dQTK/OwGgDm7mzntZUW - 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 - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKADFFFFA - CUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUZooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKx9Z8Sado91DbXrXRuJUMiR29pNcNtBAJIjRsDJHWgDY - ormv+E20j/nnrP8A4Jrz/wCNUf8ACbaR/wA8tZ/8E15/8aoA6Wiua/4TbSP+ees/+Ca8/wDjVH/CbaR/ - zz1n/wAE15/8aoA6Wiua/wCE20j/AJ56z/4Jrz/41R/wm2kf889Z/wDBNef/ABqgDpaK5r/hNtI/556z - /wCCa8/+NUf8JtpH/PPWf/BNef8AxqgDpaK5r/hNtI/556z/AOCa8/8AjVH/AAm2kf8APPWf/BNef/Gq - AOlormv+E20j/nnrP/gmvP8A41R/wm2kf889Z/8ABNef/GqAOloqppOo2urafDfafL5trMCUfaVJwcHI - IBByDwRVugAooooAKKKKACiiigAooooAKKKKACisvWfEGl6LNbxaldCGWdWaNNjMzBdoY4UHgbl/MVQ/ - 4Tfw/wD8/wA3/gPL/wDE0AdHRXN/8Jv4f/5/n/8AAeX/AOJo/wCE38P/APP8/wD4Dy//ABNAHSUVzf8A - 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 - UtA4PldyK1njubeOaBg8UihlYdwalrGiB0nUTGeLG7clCTxFKeSPoxOfrn1ArZpJjnHl22CiiimSFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABVLVbs2dk8qANKS - EjQnG5ycKPzP9au1jr/xMNZZxgwWPyr/ALUrDk/8BU4/4E3pSbLgle72Rc0u0FjYxQby7KCXcjG9ics3 - 4kk/jVygUUWJbbd2FFFFAgooopgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRQaACsvVriRnjs - bRttzODlx/yyQdW+vYe/sDVu/u47O2eeQMQuAFUZLEnAUe5JAqtpVo8CyXF1ta9uCGlYdBjoo9gPz5Pe - lK+yLgkveZdtLaK0t44LdAkSDCqO1S0lFFiW29WLRRRQIKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUYooNABisfS/9O1C5vzkxr+4t+eAoPzt+LDH0VTUuu3EkdqsFs2Lq5byYiOoJ6t+Cgt+FW7O - 2jtLaK3gXbFEoRV9AOlJmq92DfV/1/XzJ6KKKZkFFFFAC0UUUAFFFFABRRRQAUYHpRRQAYHoKTaPQUtF - ADSintTTChqSigCLyEpfJT0qSigBojUdqXaPSlzRkUAFFGRRkUAFZV6NviDTH/6ZTx/idh/9lNauRWTq - 3y6jozelywP0MT/1xUy2NKXxfJ/ka2KMCiimZiUUUUwFooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigCve2sV5bSQTDMbjBwefqD2PvVTRrqRvMsrxs3lvgM2MeYpztf8QOfQg+1adZmsWsknk3V - moN5b52DON6nG5CffHXsQDQaQaa5JbfqadFVrK6iu7WOeEko4yM8Eex9+2Ks0ENNOzCiiigQUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRXOS+NNHjubiADVJnglaGRoNKupkDqcMA6RlTg8cE0Ad - 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 - kVLRQBF9mg/54x/98ij7NB/zxj/75FS0UARfZoP+eMf/AHyKPs0H/PGP/vkVLRQBF9mg/wCeMf8A3yKP - s0H/ADxj/wC+RUtFAEX2aD/njH/3yKPs0H/PGP8A75FS0UARfZoP+eMf/fIo+zQf88Y/++RUtFAEYgiH - SNB+FSUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAYoxRRQAYoxRRQAYoxRRQAYooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9k= - - - - 36 - - - - 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/CarDataDisplayForm/FEHYRightCarData.cs b/Analysis/CarDataDisplayForm/FEHYRightCarData.cs deleted file mode 100644 index 944d868..0000000 --- a/Analysis/CarDataDisplayForm/FEHYRightCarData.cs +++ /dev/null @@ -1,322 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; -using System.Text.RegularExpressions; -using System.Collections; -using System.IO; -using System.Xml; - -using Telerik.WinControls.UI; -using DAL; -using UserControlClass; -using BaseFunction; - -namespace NSAnalysis -{ - public partial class FEHYRightCarData : Telerik.WinControls.UI.ShapedForm - { - #region 全局变量 - - private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL(); - private DataTable dtVINData = new DataTable(); - private string strLastVIN = ""; - CenterControl gCC = null; - #endregion 全局变量 - - #region 初始化控件 - - #endregion 初始化控件 - - public FEHYRightCarData(CenterControl cc) - { - InitializeComponent(); - gCC = cc; - } - - /// - /// 指定屏幕显示 - /// - public void SpecifyScreenDisplay1() - { - try - { - Screen[] screens = Screen.AllScreens; - // 指定显示在第二个显示器 - Screen secondScreen = screens[1]; //1 - - // 设置窗体位置和大小 - this.StartPosition = FormStartPosition.Manual; - this.Left = secondScreen.WorkingArea.Left; - this.Top = secondScreen.WorkingArea.Top; - this.Width = secondScreen.WorkingArea.Width; - this.Height = secondScreen.WorkingArea.Height; - this.Show(); - } - catch { } - } - #region 初始化控件 - - - private void InitNextSenseControl() - { - string strNSName = ""; - UCVWNextSense ucns = null; - for (int i = 1; i <= 25; i++) - { - strNSName = "";//L0" + i.ToString(); - if (i <= 9) - strNSName = "R0" + i.ToString(); - else - { - strNSName = "R" + i.ToString(); - } - ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName)); - if (ucns != null) - { - ucns.tlpBackColor = Color.White; - ucns.tlpFBackColor = Color.White; - ucns.tlpGBackColor = Color.White; - ucns.labFVal = ""; - ucns.labFLowerUpper = ""; - ucns.labGVal = ""; - ucns.labGLowerUpper = ""; - } - } - } - - #endregion 初始化控件 - - private void FEHYRightCarData_Load(object sender, EventArgs e) - { - //InitNextSenseOneItemControl(); - InitNextSenseControl(); - labVIN.Text = ""; - tmrRefreshData.Interval = 1100; - tmrRefreshData.Start(); - SpecifyScreenDisplay1(); - } - - private void btnRefresh_Click(object sender, EventArgs e) - { - SpecifyScreenDisplay1(); - string strVIN = tmdal.SelectMaintenanceStation7VIN(); - if (strVIN.ToLower().Contains("empty")) - { - labVIN.Text = "VIN码为空"; - InitNextSenseControl(); - } - else - { - if (strVIN.Length == 17) - { - string strSubVIN = strVIN;//.Substring(0, strVIN.Length - 2); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN); - MyBase.TraceWriteLine("Right EHY UI Refresh Button (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EHY")) - { - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - } - } - if (strVIN.Length == 21) - { - string strSubVIN = strVIN.Substring(0, 17); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = strVIN.Substring(18, 3); - MyBase.TraceWriteLine("Right EHY UI Refresh Button (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EHY")) - { - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - } - } - } - } - - private void tmrRefreshData_Tick(object sender, EventArgs e) - { - tmrRefreshData.Stop(); - string strVIN = tmdal.SelectMaintenanceStation7VIN(); - if (strLastVIN != strVIN) - { - if (strVIN.ToLower().Contains("empty")) - { - labVIN.Text = "VIN码为空"; - //InitNextSenseOneItemControl(); - InitNextSenseControl(); - } - else - { - if (strVIN.Length == 17) - { - string strSubVIN = strVIN;//.Substring(0, strVIN.Length - 2); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN); - MyBase.TraceWriteLine("Right EHY UI Refresh tmrRefreshData (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EHY")) - { - SpecifyScreenDisplay1(); - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - gCC.ShowCarMeasureDataByCarType(2); - } - } - if (strVIN.Length == 21) - { - string strSubVIN = strVIN.Substring(0, 17); - dtVINData.Clear(); - labVIN.Text = strSubVIN; - string strCarType = strVIN.Substring(18, 3); - MyBase.TraceWriteLine("Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN); - if (strCarType.ToUpper().Contains("EHY")) - { - SpecifyScreenDisplay1(); - dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R"); - if (dtVINData.Rows.Count > 0) - { - refreshCarUIData(dtVINData); - analysisTitleColor(); - } - else - { - InitNextSenseControl(); - } - gCC.ShowCarMeasureDataByCarType(2); - } - } - } - } - strLastVIN = strVIN; - tmrRefreshData.Start(); - } - - private Color analysisColorbyStatus(string strStatus) - { - Color colStatus = new Color(); - switch (strStatus.ToLower()) - { - case "best": - colStatus = Color.Lime; - break; - - case "good": - colStatus = Color.Lime; - break; - - case "ng1": - colStatus = Color.Yellow; - break; - - case "ng2": - colStatus = Color.Red; - break; - - default: - colStatus = Color.LightGray; - break; - } - return colStatus; - } - - private void analysisTitleColor() - { - string strNSName = ""; - UCVWNextSense ucns = null; - for (int i = 1; i <= 25; i++) - { - if (i <= 9) - strNSName = "R0" + i.ToString(); - else - { - strNSName = "R" + i.ToString(); - } - ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName)); - if (ucns != null) - { - if (ucns.tlpFBackColor == Color.Red || ucns.tlpGBackColor == Color.Red) - { - ucns.tlpBackColor = Color.Red; - } - else if (ucns.tlpFBackColor == Color.LightGray && ucns.tlpGBackColor == Color.LightGray) - { - ucns.tlpBackColor = Color.LightGray; - } - else if (ucns.tlpFBackColor == Color.Yellow && ucns.tlpGBackColor == Color.Yellow) - { - ucns.tlpBackColor = Color.Yellow; - } - else - { - ucns.tlpBackColor = Color.Lime; - } - } - } - } - - private void refreshCarUIData(DataTable dtData) - { - string strNSName = ""; - string strFGName = ""; - UCVWNextSense ucns = null; - for (int i = 0; i < dtData.Rows.Count; i++) - { - strNSName = dtData.Rows[i]["MeasPointName"].ToString().Replace("-", ""); - strFGName = dtData.Rows[i]["DimensionName"].ToString(); - ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName)); - if (ucns != null) - { - if (strFGName == "F") - { - ucns.labFVal = dtData.Rows[i]["MeasureValue"].ToString(); - ucns.labFLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString(); - ucns.tlpFBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString()); - } - else - { - ucns.labGVal = dtData.Rows[i]["MeasureValue"].ToString(); - ucns.labGLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString(); - ucns.tlpGBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString()); - } - } - } - } - - private void FEHYRightCarData_FormClosing(object sender, FormClosingEventArgs e) - { - e.Cancel = true; - this.Hide(); - } - } -} \ No newline at end of file diff --git a/Analysis/CarDataDisplayForm/FEHYRightCarData.designer.cs b/Analysis/CarDataDisplayForm/FEHYRightCarData.designer.cs deleted file mode 100644 index 3e4a35b..0000000 --- a/Analysis/CarDataDisplayForm/FEHYRightCarData.designer.cs +++ /dev/null @@ -1,516 +0,0 @@ -namespace NSAnalysis -{ - partial class FEHYRightCarData - { - /// - /// 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(FEHYRightCarData)); - this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar(); - this.label2 = new System.Windows.Forms.Label(); - this.labTitle = new System.Windows.Forms.Label(); - this.labVIN = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.tmrRefreshData = new System.Windows.Forms.Timer(this.components); - this.R14 = new UserControlClass.UCVWNextSense(); - this.R15 = new UserControlClass.UCVWNextSense(); - this.R16 = new UserControlClass.UCVWNextSense(); - this.R18 = new UserControlClass.UCVWNextSense(); - this.R10 = new UserControlClass.UCVWNextSense(); - this.R08 = new UserControlClass.UCVWNextSense(); - this.R12 = new UserControlClass.UCVWNextSense(); - this.R13 = new UserControlClass.UCVWNextSense(); - this.R04 = new UserControlClass.UCVWNextSense(); - this.R02 = new UserControlClass.UCVWNextSense(); - this.R01 = new UserControlClass.UCVWNextSense(); - this.R03 = new UserControlClass.UCVWNextSense(); - this.R06 = new UserControlClass.UCVWNextSense(); - this.btnRefresh = new System.Windows.Forms.Button(); - this.pictureBox2 = new System.Windows.Forms.PictureBox(); - this.pbRightCar = new System.Windows.Forms.PictureBox(); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit(); - this.radTitleBar1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.pbRightCar)).BeginInit(); - 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, 37); - 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(875, -5); - this.label2.Name = "label2"; - this.label2.Padding = new System.Windows.Forms.Padding(20, 14, 20, 14); - this.label2.Size = new System.Drawing.Size(40, 50); - 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(911, 7); - this.labTitle.Name = "labTitle"; - this.labTitle.Size = new System.Drawing.Size(164, 25); - this.labTitle.TabIndex = 0; - this.labTitle.Text = "右侧车身测量数据"; - // - // labVIN - // - this.labVIN.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.labVIN.AutoSize = true; - this.labVIN.Font = new System.Drawing.Font("Segoe UI", 58F); - this.labVIN.Location = new System.Drawing.Point(760, 970); - this.labVIN.Name = "labVIN"; - this.labVIN.Size = new System.Drawing.Size(838, 104); - this.labVIN.TabIndex = 32; - this.labVIN.Text = "LNNACDEBXRDA20251"; - // - // 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", 58F); - this.label3.Location = new System.Drawing.Point(500, 969); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(253, 104); - this.label3.TabIndex = 33; - this.label3.Text = "VIN:"; - // - // tmrRefreshData - // - this.tmrRefreshData.Interval = 1000; - this.tmrRefreshData.Tick += new System.EventHandler(this.tmrRefreshData_Tick); - // - // R14 - // - this.R14.BackColor = System.Drawing.Color.White; - this.R14.ForeColor = System.Drawing.Color.Black; - this.R14.labFLowerUpper = "-2.0/2.0"; - this.R14.labFText = "F"; - this.R14.labFVal = "-0.7"; - this.R14.labGLowerUpper = "1.0/6.0"; - this.R14.labGText = "G"; - this.R14.labGVal = "3.4"; - this.R14.labTitleText = "R-14"; - this.R14.Location = new System.Drawing.Point(280, 115); - this.R14.Name = "R14"; - this.R14.Size = new System.Drawing.Size(220, 145); - this.R14.TabIndex = 34; - this.R14.tlpBackColor = System.Drawing.Color.Lime; - this.R14.tlpFBackColor = System.Drawing.Color.Lime; - this.R14.tlpGBackColor = System.Drawing.Color.Lime; - this.R14.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R15 - // - this.R15.BackColor = System.Drawing.Color.White; - this.R15.ForeColor = System.Drawing.Color.Black; - this.R15.labFLowerUpper = "-2.0/2.0"; - this.R15.labFText = "F"; - this.R15.labFVal = "-1.4"; - this.R15.labGLowerUpper = "1.0/6.0"; - this.R15.labGText = "G"; - this.R15.labGVal = "4.2"; - this.R15.labTitleText = "R-15"; - this.R15.Location = new System.Drawing.Point(4, 113); - this.R15.Name = "R15"; - this.R15.Size = new System.Drawing.Size(220, 145); - this.R15.TabIndex = 35; - this.R15.tlpBackColor = System.Drawing.Color.Lime; - this.R15.tlpFBackColor = System.Drawing.Color.Lime; - this.R15.tlpGBackColor = System.Drawing.Color.Lime; - this.R15.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R16 - // - this.R16.BackColor = System.Drawing.Color.White; - this.R16.ForeColor = System.Drawing.Color.Black; - this.R16.labFLowerUpper = "-2.0/2.0"; - this.R16.labFText = "F"; - this.R16.labFVal = "-0.9mm"; - this.R16.labGLowerUpper = "1.0/6.0"; - this.R16.labGText = "G"; - this.R16.labGVal = "2.5mm"; - this.R16.labTitleText = "R-16"; - this.R16.Location = new System.Drawing.Point(3, 358); - this.R16.Name = "R16"; - this.R16.Size = new System.Drawing.Size(220, 145); - this.R16.TabIndex = 37; - this.R16.tlpBackColor = System.Drawing.Color.Lime; - this.R16.tlpFBackColor = System.Drawing.Color.Lime; - this.R16.tlpGBackColor = System.Drawing.Color.Lime; - this.R16.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R18 - // - this.R18.BackColor = System.Drawing.Color.White; - this.R18.ForeColor = System.Drawing.Color.Black; - this.R18.labFLowerUpper = "-2.0/2.0"; - this.R18.labFText = "F"; - this.R18.labFVal = "-2.0"; - this.R18.labGLowerUpper = "1.0/6.0"; - this.R18.labGText = "G"; - this.R18.labGVal = "3.8"; - this.R18.labTitleText = "R-18"; - this.R18.Location = new System.Drawing.Point(2, 560); - this.R18.Name = "R18"; - this.R18.Size = new System.Drawing.Size(220, 145); - this.R18.TabIndex = 38; - this.R18.tlpBackColor = System.Drawing.Color.Lime; - this.R18.tlpFBackColor = System.Drawing.Color.Lime; - this.R18.tlpGBackColor = System.Drawing.Color.Lime; - this.R18.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R10 - // - this.R10.BackColor = System.Drawing.Color.White; - this.R10.ForeColor = System.Drawing.Color.Black; - this.R10.labFLowerUpper = "-2.0/2.0"; - this.R10.labFText = "F"; - this.R10.labFVal = "0.2mm"; - this.R10.labGLowerUpper = "1.0/6.0"; - this.R10.labGText = "G"; - this.R10.labGVal = "2.9mm"; - this.R10.labTitleText = "R-10"; - this.R10.Location = new System.Drawing.Point(844, 799); - this.R10.Name = "R10"; - this.R10.Size = new System.Drawing.Size(220, 145); - this.R10.TabIndex = 42; - this.R10.tlpBackColor = System.Drawing.Color.Lime; - this.R10.tlpFBackColor = System.Drawing.Color.Lime; - this.R10.tlpGBackColor = System.Drawing.Color.Lime; - this.R10.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R08 - // - this.R08.BackColor = System.Drawing.Color.White; - this.R08.ForeColor = System.Drawing.Color.Black; - this.R08.labFLowerUpper = "-2.0/2.0"; - this.R08.labFText = "F"; - this.R08.labFVal = "0.1"; - this.R08.labGLowerUpper = "1.0/6.0"; - this.R08.labGText = "G"; - this.R08.labGVal = "2.8"; - this.R08.labTitleText = "R-08"; - this.R08.Location = new System.Drawing.Point(856, 99); - this.R08.Name = "R08"; - this.R08.Size = new System.Drawing.Size(220, 145); - this.R08.TabIndex = 44; - this.R08.tlpBackColor = System.Drawing.Color.Lime; - this.R08.tlpFBackColor = System.Drawing.Color.Lime; - this.R08.tlpGBackColor = System.Drawing.Color.Lime; - this.R08.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R12 - // - this.R12.BackColor = System.Drawing.Color.White; - this.R12.ForeColor = System.Drawing.Color.Black; - this.R12.labFLowerUpper = "-2.0/2.0"; - this.R12.labFText = "F"; - this.R12.labFVal = "0.2mm"; - this.R12.labGLowerUpper = "1.0/6.0"; - this.R12.labGText = "G"; - this.R12.labGVal = "3.5mm"; - this.R12.labTitleText = "R-12"; - this.R12.Location = new System.Drawing.Point(560, 99); - this.R12.Name = "R12"; - this.R12.Size = new System.Drawing.Size(220, 145); - this.R12.TabIndex = 46; - this.R12.tlpBackColor = System.Drawing.Color.Lime; - this.R12.tlpFBackColor = System.Drawing.Color.Lime; - this.R12.tlpGBackColor = System.Drawing.Color.Lime; - this.R12.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R13 - // - this.R13.BackColor = System.Drawing.Color.White; - this.R13.ForeColor = System.Drawing.Color.Black; - this.R13.labFLowerUpper = "-4.0/1.0"; - this.R13.labFText = "F"; - this.R13.labFVal = "-0.6"; - this.R13.labGLowerUpper = "3.0/9.0"; - this.R13.labGText = "G"; - this.R13.labGVal = "7.3"; - this.R13.labTitleText = "R-13"; - this.R13.Location = new System.Drawing.Point(457, 799); - this.R13.Name = "R13"; - this.R13.Size = new System.Drawing.Size(220, 145); - this.R13.TabIndex = 47; - this.R13.tlpBackColor = System.Drawing.Color.Lime; - this.R13.tlpFBackColor = System.Drawing.Color.Lime; - this.R13.tlpGBackColor = System.Drawing.Color.Lime; - this.R13.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R04 - // - this.R04.BackColor = System.Drawing.Color.White; - this.R04.ForeColor = System.Drawing.Color.Black; - this.R04.labFLowerUpper = "-2.0/2.0"; - this.R04.labFText = "F"; - this.R04.labFVal = "0.5mm"; - this.R04.labGLowerUpper = "1.0/6.0"; - this.R04.labGText = "G"; - this.R04.labGVal = "3.5mm"; - this.R04.labTitleText = "R-04"; - this.R04.Location = new System.Drawing.Point(1128, 111); - this.R04.Name = "R04"; - this.R04.Size = new System.Drawing.Size(220, 145); - this.R04.TabIndex = 48; - this.R04.tlpBackColor = System.Drawing.Color.Lime; - this.R04.tlpFBackColor = System.Drawing.Color.Lime; - this.R04.tlpGBackColor = System.Drawing.Color.Lime; - this.R04.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R02 - // - this.R02.BackColor = System.Drawing.Color.White; - this.R02.ForeColor = System.Drawing.Color.Black; - this.R02.labFLowerUpper = "-2.0/2.0"; - this.R02.labFText = "F"; - this.R02.labFVal = "-0.5mm"; - this.R02.labGLowerUpper = "1.0/6.0"; - this.R02.labGText = "G"; - this.R02.labGVal = "4.0mm"; - this.R02.labTitleText = "R-02"; - this.R02.Location = new System.Drawing.Point(1688, 115); - this.R02.Name = "R02"; - this.R02.Size = new System.Drawing.Size(220, 145); - this.R02.TabIndex = 49; - this.R02.tlpBackColor = System.Drawing.Color.Lime; - this.R02.tlpFBackColor = System.Drawing.Color.Lime; - this.R02.tlpGBackColor = System.Drawing.Color.Lime; - this.R02.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R01 - // - this.R01.BackColor = System.Drawing.Color.White; - this.R01.ForeColor = System.Drawing.Color.Black; - this.R01.labFLowerUpper = "-2.0/2.0"; - this.R01.labFText = "F"; - this.R01.labFVal = "0.4mm"; - this.R01.labGLowerUpper = "1.0/6.0"; - this.R01.labGText = "G"; - this.R01.labGVal = "3.7mm"; - this.R01.labTitleText = "R-01"; - this.R01.Location = new System.Drawing.Point(1687, 723); - this.R01.Name = "R01"; - this.R01.Size = new System.Drawing.Size(220, 145); - this.R01.TabIndex = 55; - this.R01.tlpBackColor = System.Drawing.Color.Lime; - this.R01.tlpFBackColor = System.Drawing.Color.Lime; - this.R01.tlpGBackColor = System.Drawing.Color.Lime; - this.R01.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R03 - // - this.R03.BackColor = System.Drawing.Color.White; - this.R03.ForeColor = System.Drawing.Color.Black; - this.R03.labFLowerUpper = "-3.0/2.0"; - this.R03.labFText = "F"; - this.R03.labFVal = "0.5mm"; - this.R03.labGLowerUpper = "1.0/6.0"; - this.R03.labGText = "G"; - this.R03.labGVal = "3.2mm"; - this.R03.labTitleText = "R-03"; - this.R03.Location = new System.Drawing.Point(1393, 115); - this.R03.Name = "R03"; - this.R03.Size = new System.Drawing.Size(220, 145); - this.R03.TabIndex = 56; - this.R03.tlpBackColor = System.Drawing.Color.Lime; - this.R03.tlpFBackColor = System.Drawing.Color.Lime; - this.R03.tlpGBackColor = System.Drawing.Color.Lime; - this.R03.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // R06 - // - this.R06.BackColor = System.Drawing.Color.White; - this.R06.ForeColor = System.Drawing.Color.Black; - this.R06.labFLowerUpper = "-2.0/2.0"; - this.R06.labFText = "F"; - this.R06.labFVal = "0.1mm"; - this.R06.labGLowerUpper = "1.0/6.0"; - this.R06.labGText = "G"; - this.R06.labGVal = "3.6mm"; - this.R06.labTitleText = "R-06"; - this.R06.Location = new System.Drawing.Point(1186, 799); - this.R06.Name = "R06"; - this.R06.Size = new System.Drawing.Size(220, 145); - this.R06.TabIndex = 57; - this.R06.tlpBackColor = System.Drawing.Color.Lime; - this.R06.tlpFBackColor = System.Drawing.Color.Lime; - this.R06.tlpGBackColor = System.Drawing.Color.Lime; - this.R06.tlpTitleBackSize = new System.Drawing.Size(216, 49); - // - // btnRefresh - // - this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.btnRefresh.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.btnRefresh.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnRefresh.Font = new System.Drawing.Font("宋体", 3F); - this.btnRefresh.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.btnRefresh.Image = global::NSAnalysis.Properties.Resources.Refresh64; - this.btnRefresh.Location = new System.Drawing.Point(1705, 978); - this.btnRefresh.Name = "btnRefresh"; - this.btnRefresh.Size = new System.Drawing.Size(92, 97); - this.btnRefresh.TabIndex = 31; - this.btnRefresh.UseVisualStyleBackColor = false; - this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click); - // - // pictureBox2 - // - this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.pictureBox2.Image = global::NSAnalysis.Properties.Resources.hexagonlogotransparent; - this.pictureBox2.Location = new System.Drawing.Point(98, 982); - this.pictureBox2.Name = "pictureBox2"; - this.pictureBox2.Size = new System.Drawing.Size(316, 83); - this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; - this.pictureBox2.TabIndex = 30; - this.pictureBox2.TabStop = false; - // - // pbRightCar - // - this.pbRightCar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.pbRightCar.Image = ((System.Drawing.Image)(resources.GetObject("pbRightCar.Image"))); - this.pbRightCar.Location = new System.Drawing.Point(2, 40); - this.pbRightCar.Name = "pbRightCar"; - this.pbRightCar.Size = new System.Drawing.Size(1916, 923); - this.pbRightCar.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; - this.pbRightCar.TabIndex = 2; - this.pbRightCar.TabStop = false; - // - // FEHYRightCarData - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); - 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.R02); - this.Controls.Add(this.R06); - this.Controls.Add(this.R03); - this.Controls.Add(this.R01); - this.Controls.Add(this.R04); - this.Controls.Add(this.R13); - this.Controls.Add(this.R12); - this.Controls.Add(this.R08); - this.Controls.Add(this.R10); - this.Controls.Add(this.R18); - this.Controls.Add(this.R16); - this.Controls.Add(this.R15); - this.Controls.Add(this.R14); - this.Controls.Add(this.label3); - this.Controls.Add(this.labVIN); - this.Controls.Add(this.btnRefresh); - this.Controls.Add(this.pictureBox2); - this.Controls.Add(this.pbRightCar); - this.Controls.Add(this.radTitleBar1); - this.Font = new System.Drawing.Font("宋体", 9F); - this.ForeColor = System.Drawing.Color.White; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximumSize = new System.Drawing.Size(1920, 1080); - this.Name = "FEHYRightCarData"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "右侧车身测量数据"; - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FEHYRightCarData_FormClosing); - this.Load += new System.EventHandler(this.FEHYRightCarData_Load); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit(); - this.radTitleBar1.ResumeLayout(false); - this.radTitleBar1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.pbRightCar)).EndInit(); - 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 System.Windows.Forms.PictureBox pbRightCar; - private System.Windows.Forms.PictureBox pictureBox2; - private System.Windows.Forms.Button btnRefresh; - private System.Windows.Forms.Label labVIN; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.Timer tmrRefreshData; - private UserControlClass.UCVWNextSense R14; - private UserControlClass.UCVWNextSense R15; - private UserControlClass.UCVWNextSense R16; - private UserControlClass.UCVWNextSense R18; - private UserControlClass.UCVWNextSense R10; - private UserControlClass.UCVWNextSense R08; - private UserControlClass.UCVWNextSense R12; - private UserControlClass.UCVWNextSense R13; - private UserControlClass.UCVWNextSense R04; - private UserControlClass.UCVWNextSense R02; - private UserControlClass.UCVWNextSense R01; - private UserControlClass.UCVWNextSense R03; - private UserControlClass.UCVWNextSense R06; - } -} diff --git a/Analysis/CarDataDisplayForm/FEHYRightCarData.resx b/Analysis/CarDataDisplayForm/FEHYRightCarData.resx deleted file mode 100644 index 0a028bc..0000000 --- a/Analysis/CarDataDisplayForm/FEHYRightCarData.resx +++ /dev/null @@ -1,2229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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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 - - - - 17, 17 - - - - /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYa - HSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgo - KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAKQBRIDASIAAhEBAxEB/8QA - HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh - MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW - V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG - x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF - BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV - YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE - hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq - 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6nT/Vj6U7uaan+rH0p3c0AAooHSuI1jxRe2mpTW8SRlEPdaAO - 3orzweL9Q/uRflTo/FepyNtjhR29FGaAPQaK4qPWdecZFooHuMVPFqWuyHAhgB9CaAOuorkptQ1+JgHg - hGfeon1bX16Wsbf7vNAHZUVwM3ibWIT++tVT3IqL/hMNQ/55x/lQB6HRXnn/AAmGof8APOP8qP8AhMNQ - /wCecf5UAeh0V55/wl+of884fyo/4S/UP+eUP5UAeh0V55/wl+of88ofyo/4S/UP+eUP5UAeh0V55/wl - +of88ofyo/4S/UP+eUP5UAeh0V55/wAJfqH/ADyh/Kj/AIS/UP8AnlD+VAHodFeef8JfqH/PKH8qP+Ev - 1D/nlD+VAHodFeef8JfqH/PKH8qP+Ev1D/nlD+VAHodFeef8JfqH/PKH8qP+Ev1D/nlD+VAHodFcd4c8 - RXeo6j5EyRqMZ4Fb+ta3YaJarc6pcpbwswQM5wMmgDSorCm8VaTDr9torXKf2hcR+ZHHn7y1uUALRRWT - rviHTNBW3bVrpLZbiQRRs5wCx7UAa1FNjdZI0dCCjAMCO4NOoAKKxdL8T6Vqmr32m2dyJLuy/wBcv92k - 8Q+J9L8PtZrqlwITeSeVDn+JvT9aANuimI+aztG1/TdZkuo9Nuo53tX8uVVPKn3oA1KKxfEPifS/D8lg - mq3Aha+lEEGf4nPatqgAooooAKKKyrXxDpl3c39vbXUckthxcqp/1fGeaANWisW28U6Lc6cl/HqEH2R3 - Mays2AWHUVLaeItIvLhYLTUbWaVuiJICTQBq0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RTZX2Rs2C2ATgdTQA6iuB+H/AMT9J8YTX9n5cum6vZM4m0+64lVVJ+b3GMH2pv8AwuT4f/8AQz2P5n/C - gD0CiuR8PfEfwl4j1NNP0TW7a8vHBZYo85IAyT0qn4/+J+geBdQtLPXGnWa5jMkYjQtkA4NAHdUVwngv - 4o+HvF6Xs2mSTR2lntEtxcL5aBmOAuT3qpY/FTTpfHWt+H7y3Npb6XsD6hLMoiZnxsXHXJz+lAHo1FVN - S1G103TbjUL2ZYrOCJppJTyFQDJPHtXFf8Lk+H//AEM9j+bf4UAegUV5/wD8Lk+H/wD0M9j+bf4Uf8Lk - +H//AEM9j+bf4UAegUVU0rUrTVtOt7/Tp1ntLhd8Ui5wy+ozXJ6z8R9K0PxxbeHNYinsxdRBre+lGIJX - J/1YPrQB29FcR8RfiJY+Cp9KtZLS41HUNSm8qC0tSDIw7sB7cV2NpP8AaLeOQo0bMoYxv95c9j70ATUU - VwPxG+JNt4K1nQdLbTLrUr3V5THDFbsoYcgd+Dyw7igDvqKjt5DLbxSNG0bOoYo3VcjoakoAKK4bw/8A - EjTNc8fav4Wsra6afTQPMuVXdET3XI6GmfFb4i2/w9j0Z7rTp71dSuTbL5LhSjcY69etAHeUVzHgfxzo - PjS3uJNBvVmktnMc8RBV4z7g9veq/wATPHVp4A0e31PULG8urSScRSPbqD5IP8bZ7UAdfRXEz/FXwRbN - Etx4k0+IyxrKheTAKt0Oau6L8QvCetzyw6Tr1jdPEAz+XJkKD056UAdTRXD+E/HyeIPG/iHw6mnyRNo5 - XfceYGSQN0wMZq74y+IPhzwbeWdt4ivjaSXas0P7pn3Y6/dBoA6vNFecf8Lq8B/9Bpv/AAEm/wDiK0fD - vxS8I+I9Zh0rRtU+030wZlj8mROFGScsoFAHbUUUUAFFFFABRUck8URxLLGh/wBpgKal1buwVJ4mY9lY - GgCaimedEZNgkTeP4c80sjhFLMQAOpJwBQA6iojcQhA5ljCHo24YqUEEAg5B9KACimLNG0hQOpcdVzzT - 6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAbH/ - AKtfpThTY/8AVr9KcKACvL9fieXxJcRRjc7sABXqFea6vdfYvFb3GN2x849aALE9hY6GiPeqbi6bkRnh - RWfda7cyDbDst07LGBxXTalaWviaKKe0nVbhB0J/SqGm+DpvPDXzqIx2U8mgDI0221HVptqSPs7ux4Fa - 1zdW3h9BDaYnvP45GOQKteJ9Q/sq1Sw0+MxhhhmA6CuKZssWYksepNAHTWmuR6gDb6yoZW+7KOCtVdU0 - m80399azyPbtyrKelYfUV0nhTVpkuFspgZYJOACM7aAMu31m9hPMgkHo4zWjZPYazMIJoRa3LD5JE6E+ - 4rX13wok7NNp5CueSnY1HpHh+LS5BeanMuY+QvYUAcxqdhNp120M4JI6HsaitYXurqOCMfM5xWh4o1Rd - T1APD/qkG1T6+9UdNuvsd/BcYyEPP0oA2bu00TTZPs915k1wPvEcYqHzNA/54TfnVu/06z1O5a7t76KI - yclXPINVT4ei/wCglB/31QBHp0Flf66kEULra7c47k1Sv7KaK8njihlMYbCnb1FaWiRxaf4jRPtCMiLy - wPFLqPiK9W9nWKSIoG44oAybSzme4iV4JdrMAeO1bcmhQN4iFjEWSEJvPNVrPxHem7hWSSPyy4BO3Fba - 3cH/AAlhl86MoYsZz3oAzZINIilKm0umK8ZwaY66OF3NZ3QUdyDWtI928zFNUtgpOcE9KhuIbi6jMcms - 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 - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA2P/Vr9 - KcKbH/q1+lOFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFADY/uL9KMiuc1LxO9lq7aXaaLqOpXEdtHcSN - bPAqors6qCZJEJOY26A1H/wk+o/9Cfrf/f8Asv8A5IoA6nIoyK5b/hJ9R/6E/W/+/wDZf/JFH/CT6j/0 - J+t/9/7L/wCSKAOpyKMiuW/4SfUf+hP1v/v/AGX/AMkUf8JPqP8A0J+t/wDf+y/+SKAOpyKM1y3/AAk+ - o/8AQn63/wB/7L/5Io/4SfUf+hP1v/v/AGX/AMkUAdTRXLf8JPqX/Qoa3/3/ALL/AOSKX/hJ9S/6FDW/ - +/8AZf8AyRQB1FFcv/wk+pf9Chrf/f8Asv8A5Io/4SfUv+hQ1v8A7/2X/wAkUAdRRXL/APCT6l/0KGt/ - 9/7L/wCSKbF4vkXVdOstR0DVNP8At0phimnkt3TeEZ8Hy5WPRT2oA6qiiigAooooAKKKKACiiigAoooo - AKKKzNa13TtF8galceU05IiURs7PgZOAoJ4oA06M1zH/AAnXh/8A5+5//AOb/wCIpf8AhOvD/wDz9z/+ - Ac3/AMRQB02aM1zP/CdeH/8An7n/APAOb/4ij/hOvD//AD9z/wDgHN/8RQB02aM1zP8AwnXh/wD5+5// - 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 - r/aP2U/aPN8/b5z+V5uMeZ5Wdm//AGtufetiuV/4QXS/+frWP/BlP/8AFUf8ILpX/PzrH/gyn/8AiqAO - qorlf+EF0r/n51j/AMGU/wD8VR/wgulf8/Osf+DKf/4qgDqqK5X/AIQXSv8An51j/wAGU/8A8VR/wgul - f8/Osf8Agyn/APiqAOqorlf+EF0r/n51j/wZT/8AxVJ/wgulf8/Wsf8Agyn/APiqALNj/wAlUuf+wLH/ - AOj3rs65fwz4YsNF1We7tDdyTyQCJnuLl5jt3ZAG4nHNdQOlABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFADV+4v0FOpq/cX6CnUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFQXv/AB7P+H86nqC9/wCPZ/w/nQBV - ooooAKKKKACiiigAooooAKKKKACiiigAq5Z/8ekH+4v8qp1cs/8Aj0g/3F/lQBLRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFABRRRQAUUUUAFFFFAFK8/4+E/3TUZ71Jef8fCf7pqM96AAUUCigAooooAKKKKACiiig - AooooAO1Kn+vh/3v6Gk7Uqf6+H/e/oaANCiiigAooooAKKKKACiiigAooooAKKKKACiiigArPb/Xy/73 - 9BWhWe3+ul/3v6CgBKKKKACiiigAooooAKKKKACiiigAooooAltP9e/+6P5mrhqnaf69/wDdH8zVw0AF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUANX7i/QU6mr9xfoKdQAUUUUAFFFFABRRRQ - AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ - AVFcqzQMFGWqWigDPEc3eJvzH+NO2Sf88m/Mf41eooAoeXL/AM8m/Mf40eXL/wA8m/Mf41fooAz/AC5f - +eTfmP8AGjy5f+eTfmP8a0MUYoAoeXL/AM8m/Mf40eXL/wA8m/Mf41fooAz/AC5f+eTfmP8AGjy5f+eT - fmP8a0MUYoAoeXL/AM8m/Mf40eXL/wA8m/Mf41fooAoeXL/zyb8x/jVu2BW3iDdQoH6VJRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBSvP+PhP901HV6SNJB86K31GaZ9lt/wDnjH/3yKAK - lFW/stv/AM8Y/wDvkUfZbf8A54x/98igCpRVv7Lb/wDPGP8A75FH2W3/AOeMf/fIoAqUVb+y2/8Azxj/ - AO+RR9lt/wDnjH/3yKAKmKMVc+zQf88Y/wDvkUfZoP8AnjH/AN8igCnijFXPs0H/ADxj/wC+RR9mg/54 - x/8AfIoAp0qf6+H/AHv6GrX2a3/54x/98inLBCrBkjRSO4UCgCSiiigAooooAKKKKACiiigAooooAKKK - KACiiigAqk8EvmOV2bWORliO30q7RQBQ+zz/AN2L/vs/4Uv2ef8Auxf99n/Cr1FAFH7PP/di/wC+z/hR - 9nn/ALsX/fZ/wq9RQBR+zz/3Yv8Avs/4UfZ5/wC7F/32f8KvUUAUfs8/92L/AL7P+FH2ef8Auxf99n/C - r1FAFH7PP/di/wC+z/hR9nn/ALsX/fZ/wq9RQBR8if8Aux/99n/CjyJ/7sf/AH2f8KvUUAVbeJ0lZnC/ - dA4JNWqKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAGr9xfoKdTV+4v0FOoAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAMUYoooAMUYoooAMUYoooAMUYoooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigBq/cX6CnU1fuL9BTqACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKAP//Z - - - - 86 - - - - 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/Define/Define.cs b/Analysis/Define/Define.cs index cc90385..547bfbd 100644 --- a/Analysis/Define/Define.cs +++ b/Analysis/Define/Define.cs @@ -19,306 +19,340 @@ using BaseFunction; using System; -using System.Collections.Generic; using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Web; using System.Windows.Forms; namespace NSAnalysis { - public class LogDebugDfn - { - public static string strDebugFile = Application.StartupPath + "\\Debug.txt"; //保存操作log的文件 - public static string strStartTime = "";//程序启动时间 - public static string strEndTime = ""; //程序关闭时间 - } + public class LogDebugDfn + { + public static string strDebugFile = Application.StartupPath + "\\Debug.txt"; //保存操作log的文件 + public static string strStartTime = "";//程序启动时间 + public static string strEndTime = ""; //程序关闭时间 + } - public class ConfigDfn - { - #region 全局变量 + public class ConfigDfn + { + #region 全局变量 - public static string strKeyFolder = Application.StartupPath + "\\Key"; - public static string strFileFolder = Application.StartupPath + "\\File"; - public static string strDFQFolder = Application.StartupPath + "\\DFQFiles"; - public static string strDebugFileFolder = Application.StartupPath + "\\File\\DebugFiles\\"; - public static string strThemePath = Application.StartupPath + "\\ThemeSkin\\"; - public static string strTheme = Application.StartupPath + "\\ThemeSkin\\"; + public static string strKeyFolder = Application.StartupPath + "\\Key"; + public static string strFileFolder = Application.StartupPath + "\\File"; + public static string strDFQFolder = Application.StartupPath + "\\DFQFiles"; + public static string strDebugFileFolder = Application.StartupPath + "\\File\\DebugFiles\\"; + public static string strThemePath = Application.StartupPath + "\\ThemeSkin\\"; + public static string strTheme = Application.StartupPath + "\\ThemeSkin\\"; - /// CheryAnalysisConfig.ini绝对路径地址 - public static string strConfigFile = Application.StartupPath + "\\File\\AnalysisConfig.ini"; + /// + /// CheryAnalysisConfig.ini绝对路径地址 + /// + public static string strConfigFile = Application.StartupPath + "\\File\\AnalysisConfig.ini"; - public static string strImageFile = Application.StartupPath + "\\Images\\"; - public static string strExpiredTime = ""; + public static string strImageFile = Application.StartupPath + "\\Images\\"; + public static string strExpiredTime = ""; - public static string strSkinName = ""; - public static string strHelpDocumentName = ""; - public static int iDeleteFlieTime; - public static string strImagePath = ""; + public static string strSkinName = ""; + public static string strHelpDocumentName = ""; + public static int iDeleteFlieTime; + public static string strImagePath = ""; - /// true =中文 false =英语 - public static bool bLanguage = true; + /// + /// true =中文 false =英语 + /// + public static bool bLanguage = true; - public static bool bRememberMe = false; - public static string UserName = ""; - public static string Password = ""; + public static bool bRememberMe = false; + public static string UserName = ""; + public static string Password = ""; - public static int gtm1_60 = 5000; - public static int gtmRMIDMode = 5000; - public static int gtmRCMMStatus = 6000; + public static int gtm1_60 = 5000; + public static int gtmRMIDMode = 5000; + public static int gtmRCMMStatus = 6000; - public static string strNextSenseCSVEH3Path = ""; - public static string strNextSenseCSVEHYPath = ""; - public static string strNextSenseSelfMeasurePath = ""; - public static string strPLCIP = ""; + public static string strNextSenseCSVEH3Path = ""; + public static string strNextSenseCSVEHYPath = ""; + public static string strNextSenseSelfMeasurePath = ""; + public static string strPLCIP = ""; - /// NextSense 测量结果 - public static bool bMeasureResult = false; + /// + /// NextSense 测量结果 + /// + public static bool bMeasureResult = false; - public static string strMeasureTime = ""; + public static string strMeasureTime = ""; - public static double dFPY = 0.8; - public static double dFPY2 = 0.6; + public static double dFPY = 0.8; + public static double dFPY2 = 0.6; - public static string strCarModel = ""; - public static string strEquipNo = ""; - public static string strEquipName = ""; - public static string strIOTAddress = ""; - public static string strIOTCarTypeAddress = ""; - public static int iStartIOTFlag = 1; - public static int iShowCarDataFlag = 0; - public static string strShowCarLR=""; - public static string strCOMPort = ""; + public static string strCarModel = ""; + public static string strEquipNo = ""; + public static string strEquipName = ""; + public static string strIOTAddress = ""; + public static string strIOTCarTypeAddress = ""; + public static int iStartIOTFlag = 1; + public static int iShowCarDataFlag = 0; + public static string strShowCarLR = ""; + public static string strCOMPort = ""; - public static int iCreateReportFlag = 0; - public static string strStationName = ""; - public static string strUploadPath = ""; - public static string strUploadPath2 = ""; - public static double dLevel2 = 1.5; + public static int iCreateReportFlag = 0; + 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 double dTolerancePer = 0.0; - public static double dExceptionTolerancePer = 0.0; - public static string strPwd = ""; - public static int iAnalysisCSVFlag=1; - public static int iRecordEncoderFlag = 0; - public static int iIncludeRangeFlag = 0; - public static int iMeasureItemsCount = 0; - public static int iFailedCarCount = 0; - #endregion 全局变量 + public static double dLevel3 = 2.0; + public static string strReportPath = ""; + public static string strReportPath2 = ""; - public static void LoadConfig() - { - string strSection = ""; + /// + /// 公差带百分比 + /// + public static double dTolerancePer = 0.0; - #region 读取系统配置参数 + public static double dExceptionTolerancePer = 0.0; + public static string strPwd = ""; + public static int iAnalysisCSVFlag = 1; + public static int iRecordEncoderFlag = 0; + public static int iIncludeRangeFlag = 0; + public static int iMeasureItemsCount = 0; + public static int iFailedCarCount = 0; - 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"); - strNextSenseCSVEHYPath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "NextsenseCSVEHYPath"); - strNextSenseSelfMeasurePath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "NextseneSelfMeasurePath"); - dFPY = double.Parse(FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "FPY")); - dFPY2 = double.Parse(FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "FPY2")); - strCarModel = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "CarModel"); - strEquipNo = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "EquipmentNo"); - strEquipName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "EquipmentName"); - iStartIOTFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "StartIOTFlag"); - strIOTAddress = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "IOTAddress"); - strIOTCarTypeAddress = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "IOTCarTypeAddr"); - iShowCarDataFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "ShowDataFlag"); - strShowCarLR = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ShowData"); - dTolerancePer = FileIni.ReadDouble(ConfigDfn.strConfigFile, strSection, "TolerancePercentage"); - dExceptionTolerancePer = FileIni.ReadDouble(strConfigFile, strSection, "ExceptionPercentage"); - strPwd = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "Password"); - strCOMPort = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "COMPort"); + #endregion 全局变量 - iCreateReportFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "CreateReportFlag"); - strStationName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "StationName"); - 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"); - iAnalysisCSVFlag= FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "AnalysisCSVFlag"); - iRecordEncoderFlag = FileIni.ReadInt(strConfigFile, strSection, "RecordEncoderFlag"); + public static void LoadConfig() + { + 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"); + strNextSenseCSVEHYPath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "NextsenseCSVEHYPath"); + strNextSenseSelfMeasurePath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "NextseneSelfMeasurePath"); + dFPY = double.Parse(FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "FPY")); + dFPY2 = double.Parse(FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "FPY2")); + strCarModel = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "CarModel"); + strEquipNo = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "EquipmentNo"); + strEquipName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "EquipmentName"); + iStartIOTFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "StartIOTFlag"); + strIOTAddress = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "IOTAddress"); + strIOTCarTypeAddress = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "IOTCarTypeAddr"); + iShowCarDataFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "ShowDataFlag"); + strShowCarLR = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ShowData"); + dTolerancePer = FileIni.ReadDouble(ConfigDfn.strConfigFile, strSection, "TolerancePercentage"); + dExceptionTolerancePer = FileIni.ReadDouble(strConfigFile, strSection, "ExceptionPercentage"); + strPwd = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "Password"); + strCOMPort = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "COMPort"); + + iCreateReportFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "CreateReportFlag"); + strStationName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "StationName"); + 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"); + 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"); - iFailedCarCount = FileIni.ReadInt(strConfigFile, strSection, "ContinuousCarCount"); - #endregion 读取系统配置参数 + iMeasureItemsCount = FileIni.ReadInt(strConfigFile, strSection, "MeasureCarItemsCount"); + iFailedCarCount = FileIni.ReadInt(strConfigFile, strSection, "ContinuousCarCount"); - #region 读[PLC] 参数 + #endregion 读取系统配置参数 - strSection = "PLC"; - strPLCIP = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ModbusTcp_IP"); + #region 读[PLC] 参数 - #endregion 读[PLC] 参数 + strSection = "PLC"; + strPLCIP = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ModbusTcp_IP"); - #region 读[Timer] 参数 + #endregion 读[PLC] 参数 - strSection = "Timer"; - gtm1_60 = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "TimerFixedStorage") * 1000; - gtmRMIDMode = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "TimerRefreshMIDMode") * 1000; - gtmRCMMStatus = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "TimerRefreshCMMStatus") * 1000; + #region 读[Timer] 参数 - #endregion 读[Timer] 参数 - } + strSection = "Timer"; + gtm1_60 = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "TimerFixedStorage") * 1000; + gtmRMIDMode = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "TimerRefreshMIDMode") * 1000; + gtmRCMMStatus = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "TimerRefreshCMMStatus") * 1000; - public static void LoadConfigFile() - { - try - { - #region 检查DLL是否存在 + #endregion 读[Timer] 参数 + } - //if (!File.Exists(Application.StartupPath + "\\Fwlib32.dll")) - // MyBase.TraceWriteLine("错误:Fwlib32.dll 文件丢失,程序将不能正确运行!"); - //else - // MyBase.TraceWriteLine("Fwlib32.dll 文件存在!"); + public static void LoadConfigFile() + { + try + { + #region 检查DLL是否存在 - #endregion 检查DLL是否存在 + //if (!File.Exists(Application.StartupPath + "\\Fwlib32.dll")) + // MyBase.TraceWriteLine("错误:Fwlib32.dll 文件丢失,程序将不能正确运行!"); + //else + // MyBase.TraceWriteLine("Fwlib32.dll 文件存在!"); - MyBase.TraceWriteLine("加载配置文件——>开始"); - if (File.Exists(strConfigFile)) - { - LoadConfig(); - ConfigPlc.LoadConfig(); - DatabaseDfn.LoadConfig(); - MyBase.TraceWriteLine("加载配置文件——>完成"); - } - else - { - MyBase.TraceWriteLine("配置文件不存在!"); - } + #endregion 检查DLL是否存在 - #region 检测文件夹,没有则创建 + MyBase.TraceWriteLine("加载配置文件——>开始"); + if (File.Exists(strConfigFile)) + { + LoadConfig(); + + DatabaseDfn.LoadConfig(); + MyBase.TraceWriteLine("加载配置文件——>完成"); + } + else + { + MyBase.TraceWriteLine("配置文件不存在!"); + } - if (!Directory.Exists(ConfigDfn.strFileFolder)) - Directory.CreateDirectory(ConfigDfn.strFileFolder); - if (!Directory.Exists(ConfigDfn.strDebugFileFolder)) - Directory.CreateDirectory(ConfigDfn.strDebugFileFolder); - if (!Directory.Exists(ConfigDfn.strKeyFolder)) - Directory.CreateDirectory(ConfigDfn.strKeyFolder); - if (!Directory.Exists(ConfigDfn.strThemePath)) - Directory.CreateDirectory(ConfigDfn.strThemePath); - if (!Directory.Exists(ConfigDfn.strImageFile)) - Directory.CreateDirectory(ConfigDfn.strImageFile); - if (!Directory.Exists(ConfigDfn.strDFQFolder)) - Directory.CreateDirectory(ConfigDfn.strDFQFolder); + #region 检测文件夹,没有则创建 - #endregion 检测文件夹,没有则创建 - } - catch (Exception ex) - { - MyBase.TraceWriteLine("加载配置文件错误:" + ex.ToString()); - } - } - } + if (!Directory.Exists(ConfigDfn.strFileFolder)) + Directory.CreateDirectory(ConfigDfn.strFileFolder); + if (!Directory.Exists(ConfigDfn.strDebugFileFolder)) + Directory.CreateDirectory(ConfigDfn.strDebugFileFolder); + if (!Directory.Exists(ConfigDfn.strKeyFolder)) + Directory.CreateDirectory(ConfigDfn.strKeyFolder); + if (!Directory.Exists(ConfigDfn.strThemePath)) + Directory.CreateDirectory(ConfigDfn.strThemePath); + if (!Directory.Exists(ConfigDfn.strImageFile)) + Directory.CreateDirectory(ConfigDfn.strImageFile); + if (!Directory.Exists(ConfigDfn.strDFQFolder)) + Directory.CreateDirectory(ConfigDfn.strDFQFolder); - public class PLCDfn - { - /// 上料完成状态 10=OK,其他=false - public static int CmmPartOk = -1; + #endregion 检测文件夹,没有则创建 + } + catch (Exception ex) + { + MyBase.TraceWriteLine("加载配置文件错误:" + ex.ToString()); + } + } + } - /// 清除测量结果标志位 - public static int CMMResultClear = -1; + public class PLCDfn + { + /// + /// 上料完成状态 10=OK,其他=false + /// + public static int CmmPartOk = -1; - /// PLC心跳状态: 0 1 定时闪烁 - public static bool bPlcLiveHeart = false; + /// + /// 清除测量结果标志位 + /// + public static int CMMResultClear = -1; - /// CMM外部急停(PLC给出) - public static bool bCMMEmengency = false; + /// + /// PLC心跳状态: 0 1 定时闪烁 + /// + public static bool bPlcLiveHeart = false; - /// PLC当前模式10:手动;20:自动;30:联机自动;40:脱机运行 - public static int bPLCMode; + /// + /// CMM外部急停(PLC给出) + /// + public static bool bCMMEmengency = false; - /// PLC自动运行 - public static bool bAllowHome = false; + /// + /// PLC当前模式10:手动;20:自动;30:联机自动;40:脱机运行 + /// + public static int bPLCMode; - /// 托盘到位状态:10:托盘到位;0 :默认 - public static int TrayStatus; + /// + /// PLC自动运行 + /// + public static bool bAllowHome = false; - /// 允许启动指令:0=禁止启动, 1611或10 = 允许启动, -1= 未知(PLC未连接) - public static int StartCmd = -1; + /// + /// 托盘到位状态:10:托盘到位;0 :默认 + /// + public static int TrayStatus; - /// 启动测量:10:开始测量;0 :默认 - public static int NSStartMeasure; + /// + /// 允许启动指令:0=禁止启动, 1611或10 = 允许启动, -1= 未知(PLC未连接) + /// + public static int StartCmd = -1; - public static int CarPassFlag; - /// 读码完成:10:默认为;0 :默认 - public static int ReadVINFinishFlag; + /// + /// 启动测量:10:开始测量;0 :默认 + /// + public static int NSStartMeasure; - /// 从工位1流向工位2:10:station1->2;0 :默认 - public static int Station1To2; + public static int CarPassFlag; - /// 从工位2流向工位3:10:station1->2;0 :默认 - public static int Station2To3; + /// + /// 读码完成:10:默认为;0 :默认 + /// + public static int ReadVINFinishFlag; - /// 工件ID - public static string PartID = ""; + /// + /// 从工位1流向工位2:10:station1->2;0 :默认 + /// + public static int Station1To2; - /// 1:EH3;2:EHY - public static int CarType; + /// + /// 从工位2流向工位3:10:station1->2;0 :默认 + /// + public static int Station2To3; - /// PLC心跳状态: 0 1 定时闪烁 - public static bool bPlcLiveTick = false; - } + /// + /// 工件ID + /// + public static string PartID = ""; - public class HYPLCDfn - { - public static int testValue = 1; - } + /// + /// 1:EH3;2:EHY + /// + public static int CarType; - public class DatabaseDfn - { - public static string SqlServerName = ""; - public static string SqlDbName = ""; - public static string SqlUserName = ""; - public static string SqlPassword = ""; + /// + /// PLC心跳状态: 0 1 定时闪烁 + /// + public static bool bPlcLiveTick = false; + } - public static string SqlConnectStr() - { - string strConnectString = ""; + public class HYPLCDfn + { + public static int testValue = 1; + } - LoadConfig(); + public class DatabaseDfn + { + public static string SqlServerName = ""; + public static string SqlDbName = ""; + public static string SqlUserName = ""; + public static string SqlPassword = ""; + + public static string SqlConnectStr() + { + string strConnectString = ""; + + LoadConfig(); strConnectString = @"Data Source=" + SqlServerName - + ";initial Catalog=" + SqlDbName - + ";User ID=" + SqlUserName - + ";password=" + SqlPassword + ";"; + + ";initial Catalog=" + SqlDbName + + ";User ID=" + SqlUserName + + ";password=" + SqlPassword + ";"; MyBase.TraceWriteLine("数据库连接字符串:" + strConnectString); return strConnectString; - } - - public static void LoadConfig() - { - string strSection = "MSDB"; - SqlServerName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlServerName"); - SqlUserName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlUserName"); - SqlPassword = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlPassword"); - SqlDbName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlDbName"); + } + public static void LoadConfig() + { + string strSection = "MSDB"; + SqlServerName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlServerName"); + SqlUserName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlUserName"); + SqlPassword = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlPassword"); + SqlDbName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlDbName"); //写入日志的 MyBase.TraceWriteLine("数据库连接 SqlServerName:" + SqlServerName); MyBase.TraceWriteLine("数据库连接 SqlUserName:" + SqlUserName); MyBase.TraceWriteLine("数据库连接 SqlPassword:" + SqlPassword); MyBase.TraceWriteLine("数据库连接 SqlDbName:" + SqlDbName); - } } } \ No newline at end of file diff --git a/Analysis/Define/MyExtensions.cs b/Analysis/Define/MyExtensions.cs deleted file mode 100644 index 09bb0d4..0000000 --- a/Analysis/Define/MyExtensions.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace NSAnalysis -{ - public static class EnumerableExtensions - { - public static double StandardDeviation(this IEnumerable values) - { - double avg = values.Average(); - double sum = values.Sum(d => Math.Pow(d - avg, 2)); - return Math.Sqrt((sum) / (values.Count() - 1)); - } - } -} \ No newline at end of file diff --git a/Analysis/FSoftwareSetup.cs b/Analysis/FSoftwareSetup.cs index 8f7f3b0..8b50de0 100644 --- a/Analysis/FSoftwareSetup.cs +++ b/Analysis/FSoftwareSetup.cs @@ -1,17 +1,9 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; +using BaseFunction; +using System; using System.Drawing; -using System.Text; -using System.Windows.Forms; -using System.Text.RegularExpressions; -using System.Collections; using System.IO; -using System.Xml; - +using System.Windows.Forms; using Telerik.WinControls.UI; -using BaseFunction; namespace NSAnalysis { diff --git a/Analysis/FormMain.cs b/Analysis/FormMain.cs index 0ca9334..1636d4b 100644 --- a/Analysis/FormMain.cs +++ b/Analysis/FormMain.cs @@ -1,9 +1,9 @@ using BaseFunction; using DAL; -using HslCommunication.Profinet.Siemens; + using Newtonsoft.Json; using NSAnalysis.Properties; -using PLCModule; + using System; using System.Collections.Generic; using System.Data; @@ -91,8 +91,6 @@ namespace NSAnalysis InitializeComponent(); SQLHelper.connStr = DatabaseDfn.SqlConnectStr(); - - #region 加载皮肤 ThemeResolutionService.LoadPackageFile(ConfigDfn.strTheme); @@ -461,7 +459,7 @@ namespace NSAnalysis { aryLineContent = strLine.Split(','); MyBase.TraceWriteLine("解析出NextSense CSV中的VIN为:" + aryLineContent[1]); - strCarID = tmdal.SelectVINByCSVVIN(aryLineContent[1]); + //strCarID = tmdal.SelectVINByCSVVIN(aryLineContent[1]); MyBase.TraceWriteLine("通过CSV VIN从数据库中获取的完整VIN为:" + strCarID); if (strCarID.ToLower().Contains("nofind")) { @@ -588,7 +586,7 @@ namespace NSAnalysis if (iCurrentMeasureItemsFailedCount >= ConfigDfn.iFailedCarCount) { MyBase.TraceWriteLine("iCurrentMeasureItemsFailedCount=" + iCurrentMeasureItemsFailedCount.ToString() + "超过报警数量" + ConfigDfn.iFailedCarCount.ToString() + " ;给PLC发送报警10。"); - PlcObject.InsertWriteQueue(PlcSignalDfn.MeasureError, (byte)10); + } // 单个报告内 invalued 项超过某个值 @@ -597,8 +595,6 @@ namespace NSAnalysis #endregion 解析EH3 CSV报告 - - #region 界面显示功能 labCarType.Text = "EH3"; @@ -617,7 +613,7 @@ namespace NSAnalysis labResult.ForeColor = Color.LimeGreen; pbResult.Image = Resources.OK; //tmrm.Result = 1; - PlcObject.InsertWriteQueue(PlcSignalDfn.CMMResult, (byte)10); + } else if (FPYPercent >= ConfigDfn.dFPY2 && FPYPercent < ConfigDfn.dFPY) { @@ -627,7 +623,7 @@ namespace NSAnalysis labResult.ForeColor = Color.Yellow; pbResult.Image = Resources.OK; //tmrm.Result = 1; - PlcObject.InsertWriteQueue(PlcSignalDfn.CMMResult, (byte)20); + } else { @@ -637,7 +633,7 @@ namespace NSAnalysis labResult.ForeColor = Color.Red; pbResult.Image = Resources.NG; //tmrm.Result = 2; - PlcObject.InsertWriteQueue(PlcSignalDfn.CMMResult, (byte)30); + } xValues[0] = "合格 : " + OKCount.ToString(); xValues[1] = "不合格 : " + OutCount.ToString(); @@ -695,73 +691,34 @@ namespace NSAnalysis //{ // #region 解析完报告后,重新生成客户模板报告 - // 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 (dtAllRangeDate.Rows.Count > 0) - // { - // foreach (DataRow row in dtAllRangeDate.Rows) - // { - // sb.Append(row.ItemArray[2]); - // sb.Append(","); - // sb.Append("G"); - // sb.Append(","); - // sb.Append(row.ItemArray[3]); - // sb.AppendLine(); - // } - // } - // 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 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 + // (dtAllRangeDate.Rows.Count > 0) { foreach (DataRow row in + // dtAllRangeDate.Rows) { sb.Append(row.ItemArray[2]); sb.Append(","); + // sb.Append("G"); sb.Append(","); sb.Append(row.ItemArray[3]); + // sb.AppendLine(); } } 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); // #endregion 解析完报告后,重新生成客户模板报告 //} @@ -1127,7 +1084,7 @@ namespace NSAnalysis } } - #endregion 解析Nextsense CSV文件功能 + #endregion 界面显示功能 #region Home Page @@ -1481,33 +1438,7 @@ namespace NSAnalysis } } - private void lpcRange_Click(object sender, EventArgs e) - { - } - - private void lpcPLCAddress_Click(object sender, EventArgs e) - { - string strInputPwd = MyBase.InputBox("密码", "请输入密码 : ", "", "确定", "取消"); - if (strInputPwd.Contains("-999.999")) - { - return; - } - else if (strInputPwd == ConfigDfn.strPwd) - { - PlcAddrSetup PLCAS = new PlcAddrSetup(3, ConfigDfn.strConfigFile); - PLCAS.Show(); - } - else - { - MessageBox.Show("密码错误! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - } - - private void lpcPLCTest_Click(object sender, EventArgs e) - { - FormDebugSiemensS7 FDS7 = new FormDebugSiemensS7(SiemensPLCS.S1200); - FDS7.Show(); - } + private void lpcAboutSoftware_Click(object sender, EventArgs e) { @@ -1598,9 +1529,6 @@ namespace NSAnalysis { } - - - private void tmrMonitorDBToCreateReport_Tick(object sender, EventArgs e) { tmrMonitorDBToCreateReport.Stop(); @@ -1881,7 +1809,9 @@ namespace NSAnalysis { } } + #endregion + public class CheryIOTData { /// @@ -2062,4 +1992,4 @@ namespace NSAnalysis return JsonToObject>(jsonText); } } -} +} \ No newline at end of file diff --git a/Analysis/FormMain.designer.cs b/Analysis/FormMain.designer.cs index d3b4701..3dec989 100644 --- a/Analysis/FormMain.designer.cs +++ b/Analysis/FormMain.designer.cs @@ -32,26 +32,26 @@ namespace NSAnalysis { 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(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); + System.Windows.Forms.DataVisualization.Charting.Legend legend2 = new System.Windows.Forms.DataVisualization.Charting.Legend(); + System.Windows.Forms.DataVisualization.Charting.Series series3 = new System.Windows.Forms.DataVisualization.Charting.Series(); + System.Windows.Forms.DataVisualization.Charting.Title title3 = new System.Windows.Forms.DataVisualization.Charting.Title(); + Telerik.WinControls.UI.RadListDataItem radListDataItem5 = new Telerik.WinControls.UI.RadListDataItem(); + Telerik.WinControls.UI.RadListDataItem radListDataItem6 = new Telerik.WinControls.UI.RadListDataItem(); + Telerik.WinControls.UI.RadListDataItem radListDataItem7 = new Telerik.WinControls.UI.RadListDataItem(); + Telerik.WinControls.UI.RadListDataItem radListDataItem8 = new Telerik.WinControls.UI.RadListDataItem(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea4 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); + System.Windows.Forms.DataVisualization.Charting.Series series4 = new System.Windows.Forms.DataVisualization.Charting.Series(); + System.Windows.Forms.DataVisualization.Charting.Title title4 = new System.Windows.Forms.DataVisualization.Charting.Title(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = 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(); @@ -61,16 +61,7 @@ namespace NSAnalysis this.commandBarSeparator4 = new Telerik.WinControls.UI.CommandBarSeparator(); this.radLabelElement2 = new Telerik.WinControls.UI.RadLabelElement(); this.rleReadCSVStatus = new Telerik.WinControls.UI.RadLabelElement(); - this.commandBarSeparator1 = new Telerik.WinControls.UI.CommandBarSeparator(); - this.rlePLCText = new Telerik.WinControls.UI.RadLabelElement(); - this.rlePLCStatus = new Telerik.WinControls.UI.RadLabelElement(); - this.commandBarSeparator2 = new Telerik.WinControls.UI.CommandBarSeparator(); - this.radLabelElement1 = new Telerik.WinControls.UI.RadLabelElement(); - this.rlePLCHeart = new Telerik.WinControls.UI.RadLabelElement(); this.commandBarSeparator3 = new Telerik.WinControls.UI.CommandBarSeparator(); - this.radLabelElement3 = new Telerik.WinControls.UI.RadLabelElement(); - this.rleReadDBStatus = new Telerik.WinControls.UI.RadLabelElement(); - this.commandBarSeparator5 = 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(); @@ -159,10 +150,6 @@ namespace NSAnalysis this.lpcAboutSoftware = new UserControlClass.LabPictureControl(); this.tmSystem = new System.Windows.Forms.Timer(this.components); this.tmReadNextsenseCSV = new System.Windows.Forms.Timer(this.components); - this.tmrReadPLCData = new System.Windows.Forms.Timer(this.components); - this.tmrRefreshPLCStatus = new System.Windows.Forms.Timer(this.components); - this.tmrHeartBeatConnect = new System.Windows.Forms.Timer(this.components); - this.tmrWritePLCLive = 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(); @@ -260,9 +247,9 @@ namespace NSAnalysis 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(240, 25); + this.labTitle.Size = new System.Drawing.Size(164, 25); this.labTitle.TabIndex = 0; - this.labTitle.Text = "海克斯康间隙面差分析系统"; + this.labTitle.Text = "间隙面差分发软件"; // // radStatusStrip1 // @@ -276,16 +263,7 @@ namespace NSAnalysis this.commandBarSeparator4, this.radLabelElement2, this.rleReadCSVStatus, - this.commandBarSeparator1, - this.rlePLCText, - this.rlePLCStatus, - this.commandBarSeparator2, - this.radLabelElement1, - this.rlePLCHeart, this.commandBarSeparator3, - this.radLabelElement3, - this.rleReadDBStatus, - this.commandBarSeparator5, this.rleMessageText, this.rleMessage}); this.radStatusStrip1.Location = new System.Drawing.Point(1, 1052); @@ -340,58 +318,6 @@ namespace NSAnalysis this.rleReadCSVStatus.Text = "●"; this.rleReadCSVStatus.TextWrap = true; // - // commandBarSeparator1 - // - this.commandBarSeparator1.DisabledTextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault; - this.commandBarSeparator1.Name = "commandBarSeparator1"; - this.radStatusStrip1.SetSpring(this.commandBarSeparator1, false); - this.commandBarSeparator1.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault; - this.commandBarSeparator1.UseCompatibleTextRendering = false; - this.commandBarSeparator1.VisibleInOverflowMenu = false; - // - // rlePLCText - // - this.rlePLCText.Name = "rlePLCText"; - this.radStatusStrip1.SetSpring(this.rlePLCText, false); - this.rlePLCText.Text = "PLC连接状态:"; - this.rlePLCText.TextWrap = true; - this.rlePLCText.UseCompatibleTextRendering = false; - // - // rlePLCStatus - // - this.rlePLCStatus.Font = new System.Drawing.Font("宋体", 11F); - this.rlePLCStatus.Name = "rlePLCStatus"; - this.radStatusStrip1.SetSpring(this.rlePLCStatus, false); - this.rlePLCStatus.Text = "●"; - this.rlePLCStatus.TextWrap = true; - this.rlePLCStatus.UseCompatibleTextRendering = false; - // - // commandBarSeparator2 - // - this.commandBarSeparator2.DisabledTextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault; - this.commandBarSeparator2.Name = "commandBarSeparator2"; - this.radStatusStrip1.SetSpring(this.commandBarSeparator2, false); - this.commandBarSeparator2.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault; - this.commandBarSeparator2.UseCompatibleTextRendering = false; - this.commandBarSeparator2.VisibleInOverflowMenu = false; - // - // radLabelElement1 - // - this.radLabelElement1.Name = "radLabelElement1"; - this.radStatusStrip1.SetSpring(this.radLabelElement1, false); - this.radLabelElement1.Text = "PLC心跳:"; - this.radLabelElement1.TextWrap = true; - this.radLabelElement1.UseCompatibleTextRendering = false; - // - // rlePLCHeart - // - this.rlePLCHeart.Font = new System.Drawing.Font("宋体", 11F); - this.rlePLCHeart.Name = "rlePLCHeart"; - this.radStatusStrip1.SetSpring(this.rlePLCHeart, false); - this.rlePLCHeart.Text = "●"; - this.rlePLCHeart.TextWrap = true; - this.rlePLCHeart.UseCompatibleTextRendering = false; - // // commandBarSeparator3 // this.commandBarSeparator3.DisabledTextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault; @@ -401,27 +327,6 @@ namespace NSAnalysis this.commandBarSeparator3.UseCompatibleTextRendering = false; this.commandBarSeparator3.VisibleInOverflowMenu = false; // - // radLabelElement3 - // - this.radLabelElement3.Name = "radLabelElement3"; - this.radStatusStrip1.SetSpring(this.radLabelElement3, false); - this.radLabelElement3.Text = "读取数据库状态:"; - this.radLabelElement3.TextWrap = true; - // - // rleReadDBStatus - // - this.rleReadDBStatus.Font = new System.Drawing.Font("宋体", 11F); - this.rleReadDBStatus.Name = "rleReadDBStatus"; - this.radStatusStrip1.SetSpring(this.rleReadDBStatus, false); - this.rleReadDBStatus.Text = "●"; - this.rleReadDBStatus.TextWrap = true; - // - // commandBarSeparator5 - // - this.commandBarSeparator5.Name = "commandBarSeparator5"; - this.radStatusStrip1.SetSpring(this.commandBarSeparator5, false); - this.commandBarSeparator5.VisibleInOverflowMenu = false; - // // rleMessageText // this.rleMessageText.Name = "rleMessageText"; @@ -449,7 +354,7 @@ namespace NSAnalysis 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, 42); this.RPV.Name = "RPV"; - this.RPV.SelectedPage = this.rpvpSetup; + 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; @@ -532,7 +437,7 @@ namespace NSAnalysis ((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))).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))))); @@ -636,14 +541,14 @@ namespace NSAnalysis 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; + dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle10.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle10.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle10.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.dgvMeasureContent.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle10; this.dgvMeasureContent.ColumnHeadersHeight = 38; this.dgvMeasureContent.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.DimensionID, @@ -660,20 +565,20 @@ namespace NSAnalysis 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; + dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle11.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle11.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle11.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle11.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + dataGridViewCellStyle11.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.dgvMeasureContent.RowHeadersDefaultCellStyle = dataGridViewCellStyle11; 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; + dataGridViewCellStyle12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle12.Font = new System.Drawing.Font("Segoe UI", 10F); + dataGridViewCellStyle12.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle12.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + this.dgvMeasureContent.RowsDefaultCellStyle = dataGridViewCellStyle12; 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, 846); @@ -993,18 +898,18 @@ namespace NSAnalysis | 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); + chartArea3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + chartArea3.Name = "ChartArea1"; + this.chartResultPie.ChartAreas.Add(chartArea3); + legend2.Alignment = System.Drawing.StringAlignment.Center; + legend2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + legend2.Docking = System.Windows.Forms.DataVisualization.Charting.Docking.Bottom; + legend2.Font = new System.Drawing.Font("Segoe UI", 10F); + legend2.ForeColor = System.Drawing.Color.White; + legend2.IsTextAutoFit = false; + legend2.Name = "Legend1"; + legend2.TitleForeColor = System.Drawing.Color.White; + this.chartResultPie.Legends.Add(legend2); this.chartResultPie.Location = new System.Drawing.Point(3, 3); this.chartResultPie.Name = "chartResultPie"; this.chartResultPie.Palette = System.Windows.Forms.DataVisualization.Charting.ChartColorPalette.None; @@ -1012,21 +917,21 @@ namespace NSAnalysis 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); + series3.ChartArea = "ChartArea1"; + series3.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Pie; + series3.Font = new System.Drawing.Font("微软雅黑", 10F); + series3.LabelForeColor = System.Drawing.Color.White; + series3.Legend = "Legend1"; + series3.Name = "Series1"; + this.chartResultPie.Series.Add(series3); 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); + title3.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + title3.ForeColor = System.Drawing.Color.White; + title3.Name = "Title1"; + title3.Text = "合格率"; + this.chartResultPie.Titles.Add(title3); // // rpvpSearch // @@ -1066,14 +971,14 @@ namespace NSAnalysis 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); + radListDataItem5.Text = "20"; + radListDataItem6.Text = "50"; + radListDataItem7.Text = "100"; + radListDataItem8.Text = "200"; + this.rddlPageRecorderCount.Items.Add(radListDataItem5); + this.rddlPageRecorderCount.Items.Add(radListDataItem6); + this.rddlPageRecorderCount.Items.Add(radListDataItem7); + this.rddlPageRecorderCount.Items.Add(radListDataItem8); this.rddlPageRecorderCount.Location = new System.Drawing.Point(718, 9); this.rddlPageRecorderCount.Name = "rddlPageRecorderCount"; // @@ -1618,43 +1523,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); + chartArea4.AxisX.LabelStyle.ForeColor = System.Drawing.Color.White; + chartArea4.AxisX.LineColor = System.Drawing.Color.White; + chartArea4.AxisX.MajorGrid.LineColor = System.Drawing.Color.White; + chartArea4.AxisX.MajorGrid.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.NotSet; + chartArea4.AxisX.MajorTickMark.LineColor = System.Drawing.Color.White; + chartArea4.AxisX.MinorGrid.LineColor = System.Drawing.Color.White; + chartArea4.AxisX.MinorTickMark.LineColor = System.Drawing.Color.White; + chartArea4.AxisX.TitleForeColor = System.Drawing.Color.White; + chartArea4.AxisY.LabelStyle.ForeColor = System.Drawing.Color.White; + chartArea4.AxisY.LineColor = System.Drawing.Color.White; + chartArea4.AxisY.MajorGrid.LineColor = System.Drawing.Color.White; + chartArea4.AxisY.MajorGrid.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Dash; + chartArea4.AxisY.MajorTickMark.LineColor = System.Drawing.Color.White; + chartArea4.AxisY.MinorGrid.LineColor = System.Drawing.Color.White; + chartArea4.AxisY.MinorTickMark.LineColor = System.Drawing.Color.White; + chartArea4.AxisY.TitleForeColor = System.Drawing.Color.White; + chartArea4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + chartArea4.Name = "ChartArea1"; + this.chartFPYLine.ChartAreas.Add(chartArea4); 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); + series4.BorderWidth = 3; + series4.ChartArea = "ChartArea1"; + series4.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; + series4.Color = System.Drawing.Color.Lime; + series4.MarkerSize = 9; + series4.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.Circle; + series4.Name = "Series1"; + this.chartFPYLine.Series.Add(series4); 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); + title4.Font = new System.Drawing.Font("微软雅黑", 12F); + title4.ForeColor = System.Drawing.Color.White; + title4.Name = "Title1"; + title4.Text = "合格率"; + this.chartFPYLine.Titles.Add(title4); this.chartFPYLine.Visible = false; // // dgvSelectMeasureData @@ -1667,14 +1572,14 @@ namespace NSAnalysis 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; + dataGridViewCellStyle13.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle13.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle13.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle13.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle13.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle13.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.dgvSelectMeasureData.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle13; this.dgvSelectMeasureData.ColumnHeadersHeight = 37; this.dgvSelectMeasureData.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column2, @@ -1692,20 +1597,20 @@ namespace NSAnalysis 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; + dataGridViewCellStyle14.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle14.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle14.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle14.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle14.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + dataGridViewCellStyle14.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.dgvSelectMeasureData.RowHeadersDefaultCellStyle = dataGridViewCellStyle14; 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; + dataGridViewCellStyle15.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle15.Font = new System.Drawing.Font("微软雅黑", 10F); + dataGridViewCellStyle15.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle15.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + this.dgvSelectMeasureData.RowsDefaultCellStyle = dataGridViewCellStyle15; this.dgvSelectMeasureData.RowTemplate.Height = 37; this.dgvSelectMeasureData.Size = new System.Drawing.Size(1204, 805); this.dgvSelectMeasureData.TabIndex = 174; @@ -1795,14 +1700,14 @@ namespace NSAnalysis 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; + dataGridViewCellStyle16.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle16.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle16.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle16.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle16.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle16.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.dgvFPYResult.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle16; this.dgvFPYResult.ColumnHeadersHeight = 37; this.dgvFPYResult.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn9, @@ -1819,20 +1724,20 @@ namespace NSAnalysis 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; + dataGridViewCellStyle17.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle17.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle17.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle17.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle17.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + dataGridViewCellStyle17.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle17.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.dgvFPYResult.RowHeadersDefaultCellStyle = dataGridViewCellStyle17; 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; + dataGridViewCellStyle18.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + dataGridViewCellStyle18.Font = new System.Drawing.Font("微软雅黑", 10F); + dataGridViewCellStyle18.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle18.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + this.dgvFPYResult.RowsDefaultCellStyle = dataGridViewCellStyle18; this.dgvFPYResult.RowTemplate.Height = 37; this.dgvFPYResult.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.dgvFPYResult.Size = new System.Drawing.Size(1205, 798); @@ -2021,22 +1926,6 @@ namespace NSAnalysis this.tmReadNextsenseCSV.Interval = 300; this.tmReadNextsenseCSV.Tick += new System.EventHandler(this.tmReadNextsenseCSV_Tick); // - // tmrReadPLCData - // - this.tmrReadPLCData.Interval = 300; - // - // tmrRefreshPLCStatus - // - this.tmrRefreshPLCStatus.Interval = 500; - // - // tmrHeartBeatConnect - // - this.tmrHeartBeatConnect.Interval = 1000; - // - // tmrWritePLCLive - // - this.tmrWritePLCLive.Interval = 1000; - // // tmrMonitorDBToCreateReport // this.tmrMonitorDBToCreateReport.Interval = 1000; @@ -2120,12 +2009,6 @@ namespace NSAnalysis private Telerik.WinControls.UI.RadStatusStrip radStatusStrip1; private Telerik.WinControls.UI.RadLabelElement rleTimeText; private Telerik.WinControls.UI.RadLabelElement rleTime; - private Telerik.WinControls.UI.CommandBarSeparator commandBarSeparator1; - private Telerik.WinControls.UI.RadLabelElement rlePLCText; - private Telerik.WinControls.UI.RadLabelElement rlePLCStatus; - private Telerik.WinControls.UI.CommandBarSeparator commandBarSeparator2; - private Telerik.WinControls.UI.RadLabelElement radLabelElement1; - private Telerik.WinControls.UI.RadLabelElement rlePLCHeart; private Telerik.WinControls.UI.CommandBarSeparator commandBarSeparator3; private Telerik.WinControls.UI.RadLabelElement rleMessageText; public Telerik.WinControls.UI.RadLabelElement rleMessage; @@ -2171,10 +2054,6 @@ namespace NSAnalysis private Telerik.WinControls.UI.RadButton rbtSelectFPY; private LabPictureControl lpcAboutSoftware; private System.Windows.Forms.Label labSearchResult; - private System.Windows.Forms.Timer tmrReadPLCData; - private System.Windows.Forms.Timer tmrRefreshPLCStatus; - private System.Windows.Forms.Timer tmrHeartBeatConnect; - private System.Windows.Forms.Timer tmrWritePLCLive; private System.Windows.Forms.Label labSumMeasureCount; private System.Windows.Forms.Label label13; private System.Windows.Forms.Panel pnlPage; @@ -2212,9 +2091,6 @@ namespace NSAnalysis private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7; private System.Windows.Forms.DataGridViewTextBoxColumn MeasureItemResult; private System.Windows.Forms.Timer tmrMonitorDBToCreateReport; - private Telerik.WinControls.UI.RadLabelElement radLabelElement3; - private Telerik.WinControls.UI.RadLabelElement rleReadDBStatus; - private Telerik.WinControls.UI.CommandBarSeparator commandBarSeparator5; private System.Windows.Forms.DataGridViewTextBoxColumn DimensionID; private System.Windows.Forms.DataGridViewTextBoxColumn DimensionName; private System.Windows.Forms.DataGridViewTextBoxColumn NormalVal; diff --git a/Analysis/FormMain.resx b/Analysis/FormMain.resx index 26553b0..a80429b 100644 --- a/Analysis/FormMain.resx +++ b/Analysis/FormMain.resx @@ -150,6 +150,65 @@ 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 + 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== @@ -176,21 +235,11 @@ 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== @@ -251,68 +300,14 @@ 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 127, 14 - - 310, 14 - - - 463, 14 - - - 640, 18 - - - 821, 18 - - 970, 18 + 310, 14 61 diff --git a/Analysis/LabPictureControl.cs b/Analysis/LabPictureControl.cs deleted file mode 100644 index 861858b..0000000 --- a/Analysis/LabPictureControl.cs +++ /dev/null @@ -1,82 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Linq; -using System.Text; -using System.Windows.Forms; - -namespace UserControlClass -{ - public partial class LabPictureControl : UserControl - { - public LabPictureControl() - { - InitializeComponent(); - } - - /// - /// 添加LabelText属性,可以对labelText进行设置 - /// - public string LabelText - { - get { return labText.Text; } - set { labText.Text = value; } - } - - /// - /// 上面Label的图片图片连接 - /// - public Image LabelTopImage - { - get { return labPicture.Image; } - set { labPicture.Image = value; } - } - - /// - /// 文字位置坐标 - /// - public Point LabelPoint - { - get { return labText.Location; } - set { labText.Location = value; } - } - - private void labPicture_MouseHover(object sender, EventArgs e) - { - LabPictureControl lpc = (LabPictureControl)(sender as Label).Parent; - lpc.BackColor = Color.FromArgb(0, 151, 186); - } - - private void labPicture_MouseLeave(object sender, EventArgs e) - { - LabPictureControl lpc = (LabPictureControl)(sender as Label).Parent; - lpc.BackColor = Color.FromArgb(19, 46, 53); - } - - private void labText_MouseHover(object sender, EventArgs e) - { - LabPictureControl lpc = (LabPictureControl)(sender as Label).Parent; - lpc.BackColor = Color.FromArgb(0, 151, 186); - } - - private void labText_MouseLeave(object sender, EventArgs e) - { - LabPictureControl lpc = (LabPictureControl)(sender as Label).Parent; - lpc.BackColor = Color.FromArgb(19, 46, 53); - } - - private void LabPictureControl_MouseHover(object sender, EventArgs e) - { - LabPictureControl lpc = sender as LabPictureControl; - lpc.BackColor = Color.FromArgb(0, 151, 186); - } - - private void LabPictureControl_MouseLeave(object sender, EventArgs e) - { - LabPictureControl lpc = sender as LabPictureControl; - lpc.BackColor = Color.FromArgb(19, 46, 53); - } - } -} \ No newline at end of file diff --git a/Analysis/LabPictureControl.designer.cs b/Analysis/LabPictureControl.designer.cs deleted file mode 100644 index 9899bbd..0000000 --- a/Analysis/LabPictureControl.designer.cs +++ /dev/null @@ -1,84 +0,0 @@ -namespace UserControlClass -{ - public partial class LabPictureControl - { - /// - /// 必需的设计器变量。 - /// - private System.ComponentModel.IContainer components = null; - - /// - /// 清理所有正在使用的资源。 - /// - /// 如果应释放托管资源,为 true;否则为 false。 - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region 组件设计器生成的代码 - - /// - /// 设计器支持所需的方法 - 不要 - /// 使用代码编辑器修改此方法的内容。 - /// - private void InitializeComponent() - { - this.labText = new System.Windows.Forms.Label(); - this.labPicture = new System.Windows.Forms.Label(); - this.SuspendLayout(); - // - // labText - // - this.labText.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.labText.Location = new System.Drawing.Point(2, 59); - this.labText.Name = "labText"; - this.labText.Size = new System.Drawing.Size(83, 25); - this.labText.TabIndex = 1; - this.labText.Text = "添加抽屉"; - this.labText.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.labText.MouseLeave += new System.EventHandler(this.labText_MouseLeave); - this.labText.MouseHover += new System.EventHandler(this.labText_MouseHover); - // - // labPicture - // - this.labPicture.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.labPicture.Location = new System.Drawing.Point(0, 3); - this.labPicture.Name = "labPicture"; - this.labPicture.Padding = new System.Windows.Forms.Padding(17, 21, 17, 21); - this.labPicture.Size = new System.Drawing.Size(86, 54); - this.labPicture.TabIndex = 0; - this.labPicture.MouseLeave += new System.EventHandler(this.labPicture_MouseLeave); - this.labPicture.MouseHover += new System.EventHandler(this.labPicture_MouseHover); - // - // LabPictureControl - // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.Controls.Add(this.labText); - this.Controls.Add(this.labPicture); - this.Font = new System.Drawing.Font("Segoe UI", 9.75F); - this.ForeColor = System.Drawing.Color.White; - this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); - this.Name = "LabPictureControl"; - this.Size = new System.Drawing.Size(86, 85); - this.MouseLeave += new System.EventHandler(this.LabPictureControl_MouseLeave); - this.MouseHover += new System.EventHandler(this.LabPictureControl_MouseHover); - this.ResumeLayout(false); - - } - - #endregion - - public System.Windows.Forms.Label labPicture; - public System.Windows.Forms.Label labText; - } -} diff --git a/Analysis/LabPictureControl.resx b/Analysis/LabPictureControl.resx deleted file mode 100644 index 1af7de1..0000000 --- a/Analysis/LabPictureControl.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - \ No newline at end of file diff --git a/Analysis/Model/SQLHelper.cs b/Analysis/Model/SQLHelper.cs deleted file mode 100644 index a703f7c..0000000 --- a/Analysis/Model/SQLHelper.cs +++ /dev/null @@ -1,317 +0,0 @@ - -using System; -using System.Collections.Generic; -using System.Data; -using System.Data.SqlClient; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace DAL -{ - public class SQLHelper - { - private static SqlConnection conn = null; - private static SqlCommand cmd = null; - private static SqlDataReader sdr = null; - public static string connStr = ""; - - public static int iFlag = 0; - - private static SqlConnection GetConn() - { - conn = new SqlConnection(connStr); - if (conn.State == ConnectionState.Closed) - { - try - { - conn.Open(); - } - catch (Exception ex) - { - if (iFlag == 0) - { - iFlag++;//必须放在前面,这样才起左右,放在后面,不会赋值 如果不点击确定的话 - - //MyBase.TraceWriteLine(" 数据库打开连接失败" +ex.ToString()); - MessageBox.Show("数据库打开连接失败,请检查数据库是否正确连接!原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - return conn; - } - } - return conn; - } - - #region 执行不带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数 - - /// - /// 执行不带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数 - /// - /// 增删改SQL语句或存储过程 - /// 命令类型 - /// 返回受影响的行数 - public static int ExecuteNonQuery(string cmdText, CommandType ct) - { - int res = 0; - try - { - cmd = new SqlCommand(cmdText, GetConn()); - cmd.CommandType = ct; - res = cmd.ExecuteNonQuery(); //返回受影响的行数 - } - catch (Exception ex) - { - throw ex; - } - finally - { - if (conn.State == ConnectionState.Open) - { - conn.Close(); - } - } - return res; - } - - #endregion 执行不带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数 - - #region 执行带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数 - - /// - /// 执行带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数 - /// - /// 增删改SQL语句或存储过程 - /// 命令类型 - /// 返回受影响的行数 - public static int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct) - { - int res = 0; - - using (cmd = new SqlCommand(cmdText, GetConn())) - { - cmd.CommandType = ct; - cmd.Parameters.AddRange(paras); - res = cmd.ExecuteNonQuery(); - } - return res; - } - - #endregion 执行带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数 - - #region 执行不带参数的查询SQL语句或存储过程 返回DataTable类型 - - /// - /// 执行不带参数的查询SQL语句或存储过程 返回DataTable类型 - /// - /// 查询SQL语句或存储过程 - /// 命令类型 - /// DataTable型 - public static DataTable ExecuteQuery(string cmdText, CommandType ct) - { - DataTable dt = new DataTable(); - cmd = new SqlCommand(cmdText, GetConn()); - cmd.CommandType = ct; - using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) - { - dt.Load(sdr); - } - return dt; - } - - #endregion 执行不带参数的查询SQL语句或存储过程 返回DataTable类型 - - #region 执行带参数的查询SQL语句或存储过程 返回DataTable类型 - - /// - /// 执行带参数的查询SQL语句或存储过程 返回DataTable类型 - /// - /// 查询SQL语句或存储过程 - /// 参数集合 - /// 命令类型 - /// DataTable型 - public static DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct) - { - DataTable dt = new DataTable(); - cmd = new SqlCommand(cmdText, GetConn()); - cmd.CommandType = ct; - cmd.Parameters.AddRange(paras); - using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) - { - dt.Load(sdr); - } - return dt; - } - - #endregion 执行带参数的查询SQL语句或存储过程 返回DataTable类型 - - /// - /// 执行SQL语句并返回DataSet - /// - /// SQL语句 - /// - public static DataSet ExecuteDs(String Sqlstr) - { - using (SqlDataAdapter da = new SqlDataAdapter(Sqlstr, GetConn())) - { - DataSet ds = new DataSet(); - da.Fill(ds); - return ds; - } - } - - /// - /// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值) - /// - /// 数据库连接 - /// 存储过程名 - /// 存储过程参数 - /// SqlCommand - private static SqlCommand BuildQueryCommand(SqlConnection connection, string storedProcName, SqlParameter[] parameters) - { - SqlCommand command = new SqlCommand(storedProcName, connection); - command.CommandType = CommandType.StoredProcedure; - foreach (SqlParameter parameter in parameters) - { - if (parameter != null) - { - // 检查未分配值的输出参数,将其分配以DBNull.Value. - if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) && (parameter.Value == null)) - { - parameter.Value = DBNull.Value; - } - command.Parameters.Add(parameter); - } - } - - return command; - } - - /// - /// 执行存储过程 - /// - /// 存储过程名 - /// 存储过程参数 - /// DataSet结果中的表名 - /// DataSet - public static DataSet RunProcedure(string storedProcName, SqlParameter[] parameters, string tableName) - { - using (SqlConnection connection = new SqlConnection(connStr)) - { - DataSet dataSet = new DataSet(); - connection.Open(); - SqlDataAdapter sqlDA = new SqlDataAdapter(); - sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters); - sqlDA.Fill(dataSet, tableName); - connection.Close(); - return dataSet; - } - } - - #region 使用SqlBulkCopy插入测量数据 - - /// - /// 要插入的数据表的结构,与函数内部定义的映射表要一模一样 - /// - /// 要插入的数据表 - public static int InsertMeasureDataToDB(DataTable InsertDT) - { - int iResult = 1; - using (SqlBulkCopy bulkCopy = new SqlBulkCopy(GetConn())) - { - try - { - bulkCopy.DestinationTableName = "TMeasureData";//要插入的表的表明,创造映射关系,比下面的直接写表名称 更加灵活 - bulkCopy.ColumnMappings.Add("CarID", "CarID");//映射字段名 DataTable列名 ,数据库 对应的列名 - bulkCopy.ColumnMappings.Add("CarType", "CarType");//映射字段名 DataTable列名 ,数据库 对应的列名 - bulkCopy.ColumnMappings.Add("MeasPointName", "MeasPointName"); - bulkCopy.ColumnMappings.Add("DimensionName", "DimensionName"); - bulkCopy.ColumnMappings.Add("NormalValue", "NormalValue"); - bulkCopy.ColumnMappings.Add("LowerTolVal", "LowerTolVal"); - bulkCopy.ColumnMappings.Add("UpperTolVal", "UpperTolVal"); - bulkCopy.ColumnMappings.Add("MeasureValue", "MeasureValue"); - bulkCopy.ColumnMappings.Add("MeasureItemResult", "MeasureItemResult"); - bulkCopy.ColumnMappings.Add("MeasureDate", "MeasureDate"); - bulkCopy.ColumnMappings.Add("Remark", "Remark"); - bulkCopy.WriteToServer(InsertDT); - } - catch (Exception ex) - { - MessageBox.Show("批量插入测量数据到数据库失败!原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); - iResult = -1; - } - } - return iResult; - } - - - #endregion 使用SqlBulkCopy插入测量数据 - - #region 使用SqlBulkCopy插入批量数据方法 - - /// - /// 要插入的数据表的结构,与函数内部定义的映射表要一模一样 - /// - /// 要插入的数据表 - public static void TWorkpieceListToSQLServer(DataTable InsertDT) - { - using (SqlBulkCopy bulkCopy = new SqlBulkCopy(GetConn())) - { - try - { - bulkCopy.DestinationTableName = "TWorkpieceList";//要插入的表的表明,创造映射关系,比下面的直接写表名称 更加灵活 - bulkCopy.ColumnMappings.Add("WorkpieceID", "WorkpieceID");//映射字段名 DataTable列名 ,数据库 对应的列名 - bulkCopy.ColumnMappings.Add("DrawerID", "DrawerID"); - bulkCopy.ColumnMappings.Add("WorkpieceType", "WorkpieceType"); - bulkCopy.ColumnMappings.Add("TrayType", "TrayType"); - bulkCopy.ColumnMappings.Add("WorkpieceStatus", "WorkpieceStatus"); - bulkCopy.ColumnMappings.Add("WorkpiecePos", "WorkpiecePos"); - bulkCopy.WriteToServer(InsertDT); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - finally - { - // Close the SqlDataReader. The SqlBulkCopy - // object is automatically closed at the end - // of the using block. - } - } - } - - #endregion 使用SqlBulkCopy插入批量数据方法 - - #region 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 - - /// - /// 使用SqlBulkCopy将DataTable中的数据批量插入数据库中,用此函数,创建的InsertDataTable类型必须跟数据库中的类型,列数一模一样 - /// - /// 数据库中对应的表名 - /// 数据集 - public static void SqlBulkCopyInsert(string strDBTableName, DataTable InsertDataTable) - { - try - { - using (SqlBulkCopy sqlRevdBulkCopy = new SqlBulkCopy(GetConn()))//引用SqlBulkCopy - { - sqlRevdBulkCopy.DestinationTableName = strDBTableName;//数据库中对应的表名 - - sqlRevdBulkCopy.NotifyAfter = InsertDataTable.Rows.Count;//有几行数据 - - sqlRevdBulkCopy.WriteToServer(InsertDataTable);//数据导入数据库 - - sqlRevdBulkCopy.Close();//关闭连接 - } - } - catch (Exception ex) - { - Console.WriteLine("数据库处理出错,SqlBulkCopyInsert,原因:" + ex.Message); - throw (ex); - } - } - - #endregion 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 - } -} \ No newline at end of file diff --git a/Analysis/Model/TMeasureDataModel.cs b/Analysis/Model/TMeasureDataModel.cs index 2a2e6b1..70d508b 100644 --- a/Analysis/Model/TMeasureDataModel.cs +++ b/Analysis/Model/TMeasureDataModel.cs @@ -1,69 +1,65 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace DAL +namespace DAL { - public class TMeasureDataModel - { - /// - /// Id - /// - public int? Id { get; set; } + public class TMeasureDataModel + { + /// + /// Id + /// + public int? Id { get; set; } - /// - /// 车身ID - /// - public string CarID { get; set; } - /// - /// 车身类型 - /// - public string CarType{ get; set; } - /// - /// 测量点名称 - /// - public string MeasPointName { get; set; } + /// + /// 车身ID + /// + public string CarID { get; set; } - /// - /// 测点尺寸名称:F面差 G间隙 - /// - public string DimensionName { get; set; } + /// + /// 车身类型 + /// + public string CarType { get; set; } - /// - /// 测量值 - /// - public string MeasureValue { get; set; } + /// + /// 测量点名称 + /// + public string MeasPointName { get; set; } - /// - /// 测量结果 :Good NoGood Rejected - /// - public string MeasureItemResult { get; set; } + /// + /// 测点尺寸名称:F面差 G间隙 + /// + public string DimensionName { get; set; } - /// - /// 标准值 - /// - public string NormalValue { get; set; } + /// + /// 测量值 + /// + public string MeasureValue { get; set; } - /// - /// 测量时间 - /// - public string MeasureDate { get; set; } + /// + /// 测量结果 :Good NoGood Rejected + /// + public string MeasureItemResult { get; set; } - /// - /// 下公差 - /// - public string LowerTolVal { get; set; } + /// + /// 标准值 + /// + public string NormalValue { get; set; } - /// - /// 上公差 - /// - public string UpperTolVal { get; set; } + /// + /// 测量时间 + /// + public string MeasureDate { get; set; } - /// - /// 备注 - /// - public string Remark { get; set; } - } + /// + /// 下公差 + /// + public string LowerTolVal { get; set; } + + /// + /// 上公差 + /// + public string UpperTolVal { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + } } \ No newline at end of file diff --git a/Analysis/Model/TMeasureMSSQLDAL.cs b/Analysis/Model/TMeasureMSSQLDAL.cs deleted file mode 100644 index 14bfa42..0000000 --- a/Analysis/Model/TMeasureMSSQLDAL.cs +++ /dev/null @@ -1,366 +0,0 @@ -using System.Data; -using System.Data.SqlClient; - -namespace DAL -{ - public class TMeasureMSSQLDAL - { - #region Select Function - - public int SelectTMeasureResultCount() - { - string strSql = "select COUNT(*) from TMeasureResult"; - DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return int.Parse(dt.Rows[0][0].ToString()); - } - - public string SelectNo6MeasureResult() - { - string strSql = "select top 6 CarID from TMeasureResult order by MeasureDate desc"; - DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return dt.Rows[5][0].ToString(); - } - - public DataTable SelectNewestTMeasureResult() - { - string strSql = "select top(1) Id,CarID,MeasureDate,Remark from TMeasureResult order by MeasureDate DESC"; - DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return dt; - } - - public DataTable SelectTMeasureDataByVIN(string strVIN) - { - string strSql = "select * from TMeasureData where CarID ='" + strVIN + "'"; - DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return dt; - } - - public string SelectOneMeasureValueByCondition(string strCarID, string strMeaPointName, string strDimensionName = "G") - { - DataTable dt = new DataTable(); - string strSql = "select MeasureValue from TMeasureData where CarID = '" + strCarID + "' and MeasPointName = '" + strMeaPointName + "' and DimensionName = '" + strDimensionName + "'"; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - if (dt.Rows.Count == 1) - { - return dt.Rows[0][0].ToString(); - } - else - { - return "NoFind"; - } - } - - public bool CheckVINExistInDB(string strVIN) - { - bool bReusult = false; - string strSql = "select Id from TMeasureResult where CarID = '" + strVIN + "'"; - DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - if (dt.Rows.Count >= 2) - { - bReusult = true; - } - return bReusult; - } - - public string SelectCarTypeByVIN(string strVIN) - { - string strSql = "select CarType from TMeasureResult where CarID = '" + strVIN + "'"; - DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - if (dt.Rows.Count == 1) - { - return dt.Rows[0][0].ToString(); - } - else - { - return "unknown"; - } - } - - public DataTable SelectMeasureValuebyMeasureNameAndSize(string strMeasureName, string strSizeName, int topCount) - { - string strSql = "select top " + topCount.ToString() + " MeasureValue,NormalValue ,LowerTolVal,UpperTolVal from TMeasureData where MeasPointName='" + strMeasureName + "' and DimensionName='" + strSizeName + "' order by MeasureDate DESC "; - return SQLHelper.ExecuteQuery(strSql, CommandType.Text); - } - - public DataTable SelectAllMeasPointName() - { - string strSql = "select distinct MeasPointName from TMeasureData"; - return SQLHelper.ExecuteQuery(strSql, CommandType.Text); - } - - public DataTable SelectTMeasureDataByCarIDAndTime(string strCarID, string strStartTime, string strEndTime) - { - DataTable dt = new DataTable(); - string strSql = "select CarID, MeasPointName,DimensionName,NormalValue ,LowerTolVal,UpperTolVal,MeasureValue, MeasureDate, MeasureItemResult from TMeasureData where CarID like '%" + strCarID + "%' and MeasureDate >= '" + strStartTime + "' and MeasureDate <= '" + strEndTime + "'"; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return dt; - } - - public DataTable SelectTMeasureDataByCarIDAndMPN(string strCarID, string strMeaPointName) - { - DataTable dt = new DataTable(); - string strSql = "select MeasPointName,DimensionName,LowerTolVal,UpperTolVal,MeasureValue, MeasureItemResult,Remark from TMeasureData where CarID like '%" + strCarID + "%' and MeasPointName like '%" + strMeaPointName + "%' COLLATE Chinese_PRC_CS_AI_WS "; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return dt; - } - - public DataTable SelectMeasureItems(string strCarID, string strMeaPointName) - { - DataTable dt = new DataTable(); - string strSql = "select distinct MeasPointName from TMeasureData where CarID like '%" + strCarID + "%' and MeasPointName like '%" + strMeaPointName + "%' COLLATE Chinese_PRC_CS_AI_WS "; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return dt; - } - - public DataTable SelectAllTMeasureResult() - { - DataTable dt = new DataTable(); - string strSql = "select * from TMeasureResult"; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return dt; - } - - public DataTable SelectTMeasureResultByTime(string strCarID, string strStartTime, string strEndTime) - { - DataTable dt = new DataTable(); - string strSql = "select CarID,SumMeasureItems,GoodMeasureItems,NoGoodMeasureItems,RejectMeasureItems,FPY,MeasureDate,case Result when 1 then '合格' else '不合格' end as Result from TMeasureResult where CarID like '%" + strCarID + "%' and MeasureDate >= '" + strStartTime + "' and MeasureDate <= '" + strEndTime + "'"; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return dt; - } - - public string SelectMaintenanceStation7VIN() - { - DataTable dt = new DataTable(); - string strSql = "select Station7PartID from MaintenanceInfo where Id=1"; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return dt.Rows[0][0].ToString(); - } - - public string SelectMaintenanceStationVINbyStationNo(int sno) - { - DataTable dt = new DataTable(); - string strSql = ""; - switch (sno) - { - case 1: - strSql = "select Station1PartID from MaintenanceInfo where Id=1"; - break; - - case 2: - strSql = "select Station2PartID from MaintenanceInfo where Id=1"; - break; - - case 3: - strSql = "select Station3PartID from MaintenanceInfo where Id=1"; - break; - - case 4: - strSql = "select Station4PartID from MaintenanceInfo where Id=1"; - break; - - case 5: - strSql = "select Station5PartID from MaintenanceInfo where Id=1"; - break; - - case 6: - strSql = "select Station6PartID from MaintenanceInfo where Id=1"; - break; - - case 7: - strSql = "select Station7PartID from MaintenanceInfo where Id=1"; - break; - } - if (strSql == "") - { - return "empty"; - } - else - { - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - if (dt.Rows[0][0] == null) - { - return "empty"; - } - else - { - return dt.Rows[0][0].ToString(); - } - } - } - - public DataTable SelectAllToleranceByCondition(string strCartType, string strMeaPointName, string strDimensionName) - { - DataTable dt = new DataTable(); - string strSql = "select Id,CarType,MeasurePointName,DimensionName,TolLower,TolUpper, Remark from TTolerance where CarType like '%" + strCartType + "%' and MeasurePointName like '%" + strMeaPointName + "%' and DimensionName like '%" + strDimensionName + "%'"; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return dt; - } - - public DataTable SelectAllRangeByCondition(string strCartType, string strMeaPointName) - { - DataTable dt = new DataTable(); - string strSql = "select Id,CarType,RangeName,RangePoint,RangeLower,RangeUpper, Remark from TRange where CarType like '%" + strCartType + "%' and RangeName like '%" + strMeaPointName + "%' "; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return dt; - } - - public DataTable SelectOneToleranceByCondition(string strCartType, string strMeaPointName, string strDimensionName) - { - DataTable dt = new DataTable(); - string strSql = "select TolLower,TolUpper from TTolerance where CarType = '" + strCartType + "' and MeasurePointName = '" + strMeaPointName + "' and DimensionName = '" + strDimensionName + "'"; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return dt; - } - - public DataTable SelectRangeDatabyCarID(string strCarID) - { - DataTable dt = new DataTable(); - string strSql = "select * from TRangeData where CarID = '" + strCarID + "'"; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return dt; - } - - public DataTable SelectRangeByCarType(string strCarType) - { - DataTable dt = new DataTable(); - string strSql = "select RangeName,RangePoint,RangeLower,RangeUpper from TRange where CarType = '" + strCarType + "'"; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - return dt; - } - - public bool CheckMeaPointNameExit(string strCartType, string strMeaPointName, string strDimensionName) - { - DataTable dt = new DataTable(); - string strSql = "select Id,CarType,MeasurePointName,DimensionName,TolLower,TolUpper, Remark from TTolerance where CarType = '" + strCartType + "' and MeasurePointName = '" + strMeaPointName + "' and DimensionName = '" + strDimensionName + "'"; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - if (dt.Rows.Count > 0) - { - return true; - } - else - { - return false; - } - } - - public bool CheckRangeNameExit(string strCartType, string strRangeName) - { - DataTable dt = new DataTable(); - string strSql = "select Id,CarType from TRange where CarType = '" + strCartType + "' and RangeName = '" + strRangeName + "'"; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - if (dt.Rows.Count > 0) - { - return true; - } - else - { - return false; - } - } - - public string SelectVINByCSVVIN(string strCSVVIN) - { - DataTable dt = new DataTable(); - string strSql = "select CarVIN from TTempSaveVIN where CarVIN like '%" + strCSVVIN + "'"; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - if (dt.Rows.Count == 1) - return dt.Rows[0][0].ToString(); - else - { - return "NoFind"; - } - } - - public int CheckMRVINExistOrNotByVIN(string strVIN) - { - DataTable dt = new DataTable(); - string strSql = "select CarID from TMeasureResult where CarID = '" + strVIN + "'"; - dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); - if (dt.Rows.Count == 1) - return 1; - else - { - return 0; - } - } - - #endregion - - #region Insert Function - - public int InsertTTolerance(TToleranceModel ttm) - { - string strSql = "insert into TTolerance (CarType,MeasurePointName,DimensionName,TolLower,TolUpper,CreateTime,Remark) values " + - "(@CarType,@MeasurePointName,@DimensionName,@TolLower,@TolUpper,@CreateTime,@Remark)"; - SqlParameter[] paras = new SqlParameter[] - { - new SqlParameter("@CarType",ttm.CarType), - new SqlParameter("@MeasurePointName",ttm.MeasurePointName), - new SqlParameter("@DimensionName",ttm.DimensionName), - new SqlParameter("@TolLower",ttm.TolLower), - new SqlParameter("@TolUpper",ttm.TolUpper), - new SqlParameter("@CreateTime",ttm.CreateTime), - new SqlParameter("@Remark",ttm.Remark), - }; - return SQLHelper.ExecuteNonQuery(strSql, paras, CommandType.Text); - } - - //public int InsertTMeasureResult(TMeasureResultModel tmrm) - //{ - // string strSql = "insert into TMeasureResult (CarID,CarType,SumMeasureItems,GoodMeasureItems,NoGoodMeasureItems,RejectMeasureItems,FPY,MeasureDate,Result,Remark) values " + - // "(@CarID,@CarType,@SumMeasureItems,@GoodMeasureItems,@NoGoodMeasureItems,@RejectMeasureItems,@FPY,@MeasureDate,@Result,@Remark)"; - // SqlParameter[] paras = new SqlParameter[] - // { - // new SqlParameter("@CarID",tmrm.CarID), - // new SqlParameter("@CarType",tmrm.CarType), - // new SqlParameter("@SumMeasureItems",tmrm.SumMeasureItems), - // new SqlParameter("@GoodMeasureItems",tmrm.GoodMeasureItems), - // new SqlParameter("@NoGoodMeasureItems",tmrm.NoGoodMeasureItems), - // new SqlParameter("@RejectMeasureItems",tmrm.RejectMeasureItems), - // new SqlParameter("@FPY",tmrm.FPY), - // new SqlParameter("@MeasureDate",tmrm.MeasureDate), - // new SqlParameter("@Result",tmrm.Result), - // new SqlParameter("@Remark",tmrm.Remark), - // }; - // return SQLHelper.ExecuteNonQuery(strSql, paras, CommandType.Text); - //} - - public int InsertTMeasureDatabyDataTable(DataTable dt) - { - return SQLHelper.InsertMeasureDataToDB(dt); - } - - #endregion - - #region Update Function - - public int UpdateTTolerance(TToleranceModel ttm) - { - string strSql = "update TTolerance set CarType=@CarType,MeasurePointName=@MeasurePointName,DimensionName=@DimensionName,TolLower=@TolLower,TolUpper=@TolUpper,CreateTime=@CreateTime,Remark=@Remark where Id=" + ttm.Id.ToString(); - SqlParameter[] paras = new SqlParameter[] - { - new SqlParameter("@Id",ttm.Id), - new SqlParameter("@CarType",ttm.CarType), - new SqlParameter("@MeasurePointName",ttm.MeasurePointName), - new SqlParameter("@DimensionName",ttm.DimensionName), - new SqlParameter("@TolLower",ttm.TolLower), - new SqlParameter("@TolUpper",ttm.TolUpper), - new SqlParameter("@CreateTime",ttm.CreateTime), - new SqlParameter("@Remark",ttm.Remark), - }; - return SQLHelper.ExecuteNonQuery(strSql, paras, CommandType.Text); - } - - #endregion - - #region Delete Function - - public int DeleteOneTolerance(string strObjIDPk) - { - string strOle = "delete from TTolerance where Id = " + strObjIDPk; - return SQLHelper.ExecuteNonQuery(strOle, CommandType.Text); - } - - #endregion - } -} \ No newline at end of file diff --git a/Analysis/Model/TMeasureResultModel.cs b/Analysis/Model/TMeasureResultModel.cs index 3f0e375..abd96a8 100644 --- a/Analysis/Model/TMeasureResultModel.cs +++ b/Analysis/Model/TMeasureResultModel.cs @@ -1,64 +1,60 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace DAL +namespace DAL { - public class TMeasureResultModel - { - /// - /// Id - /// - public int? Id { get; set; } + public class TMeasureResultModel + { + /// + /// Id + /// + public int? Id { get; set; } - /// - /// 车身ID - /// - public string CarID { get; set; } - /// - /// 车身类型 - /// - public string CarType { get; set; } - /// - /// SumMeasureItems 总测量项数量 - /// - public int? SumMeasureItems { get; set; } + /// + /// 车身ID + /// + public string CarID { get; set; } - /// - /// GoodMeasureItems - /// - public int? GoodMeasureItems { get; set; } + /// + /// 车身类型 + /// + public string CarType { get; set; } - /// - /// NoGoodMeasureItems - /// - public int? NoGoodMeasureItems { get; set; } + /// + /// SumMeasureItems 总测量项数量 + /// + public int? SumMeasureItems { get; set; } - /// - /// RejectMeasureItems - /// - public int? RejectMeasureItems { get; set; } + /// + /// GoodMeasureItems + /// + public int? GoodMeasureItems { get; set; } - /// - /// FPY 合格率 - /// - public string FPY { get; set; } + /// + /// NoGoodMeasureItems + /// + public int? NoGoodMeasureItems { get; set; } - /// - /// MeasureDate 测量时间 - /// - public string MeasureDate { get; set; } + /// + /// RejectMeasureItems + /// + public int? RejectMeasureItems { get; set; } - /// - /// Result:测量总结果:1:OK 2:NG - /// - public int? Result { get; set; } + /// + /// FPY 合格率 + /// + public string FPY { get; set; } - /// - /// Remark 备注 - /// - public string Remark { get; set; } - } + /// + /// MeasureDate 测量时间 + /// + public string MeasureDate { get; set; } + + /// + /// Result:测量总结果:1:OK 2:NG + /// + public int? Result { get; set; } + + /// + /// Remark 备注 + /// + public string Remark { get; set; } + } } \ No newline at end of file diff --git a/Analysis/Model/TToleranceModel.cs b/Analysis/Model/TToleranceModel.cs deleted file mode 100644 index e81797f..0000000 --- a/Analysis/Model/TToleranceModel.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace DAL -{ - public class TToleranceModel - { - /// - /// Id - /// - public int? Id { get; set; } - - /// - /// 车身类型 - /// - public string CarType { get; set; } - - /// - /// MeasurePointName - /// - public string MeasurePointName { get; set; } - - /// - /// DimensionName - /// - public string DimensionName { get; set; } - - /// - /// TolLower - /// - public double TolLower { get; set; } - - /// - /// TolUpper - /// - public double TolUpper { get; set; } - - /// - /// Remark 备注 - /// - public string Remark { get; set; } - - /// - /// CreateTime 测量时间 - /// - public string CreateTime { get; set; } - } -} \ No newline at end of file diff --git a/Analysis/NLog.config b/Analysis/NLog.config index 3cfa512..c43a78a 100644 --- a/Analysis/NLog.config +++ b/Analysis/NLog.config @@ -49,7 +49,7 @@ - + insert into TLogInfo(LogTime,LogLevel,LogMessage,LogAction,LogAmount,LogStackTrack) values (@LogTime, @LogLevel, @LogMessage,@LogAction,@LogAmount, @LogStackTrack); diff --git a/Analysis/Program.cs b/Analysis/Program.cs index c8b8d81..18a9f9d 100644 --- a/Analysis/Program.cs +++ b/Analysis/Program.cs @@ -1,279 +1,243 @@ -using System; +using BaseFunction; +using Microsoft.Win32; +using System; using System.Diagnostics; -using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Windows.Forms; -using BaseFunction; -using Microsoft.Win32; namespace NSAnalysis { - internal static class Program - { - #region CLMS 授权 + internal static class Program + { + #region CLMS 授权 - /// - /// 功能:使用MORCODE.DLL前验证使用软件是否正确,否则其他函数都不可正常调用 - /// - /// 验证内容为软件指纹文件中字符串 - /// - /// TRUE :该软件可正常调用 - /// FALSE :该软件不可正常调用 - /// - [DllImport("MORCODE.dll", EntryPoint = "CLM_Login", CallingConvention = CallingConvention.Cdecl)] - public static extern bool CLM_Login(StringBuilder str); + /// + /// 功能:使用MORCODE.DLL前验证使用软件是否正确,否则其他函数都不可正常调用 + /// + /// 验证内容为软件指纹文件中字符串 + /// TRUE :该软件可正常调用 FALSE :该软件不可正常调用 + [DllImport("MORCODE.dll", EntryPoint = "CLM_Login", CallingConvention = CallingConvention.Cdecl)] + public static extern bool CLM_Login(StringBuilder str); - /// - /// 退出前执行一次,释放内存,记录使用信息 - /// - /// - [DllImport("MORCODE.dll", EntryPoint = "CLM_Logout", CallingConvention = CallingConvention.Cdecl)] - public static extern bool CLM_Logout(); + /// + /// 退出前执行一次,释放内存,记录使用信息 + /// + /// + [DllImport("MORCODE.dll", EntryPoint = "CLM_Logout", CallingConvention = CallingConvention.Cdecl)] + public static extern bool CLM_Logout(); - /// - /// 自动检查电脑中是否有当前软件的许可信息,过期/非本机电脑/其他软件 的许可证书都不会识别 - /// - /// - /// TRUE :有该软件许可证书 - /// FALSE :没有该软件许可证书 - /// - [DllImport("MORCODE.dll", EntryPoint = "CLM_Login_Scope", CallingConvention = CallingConvention.Cdecl)] - public static extern bool CLM_Login_Scope(); + /// + /// 自动检查电脑中是否有当前软件的许可信息,过期/非本机电脑/其他软件 的许可证书都不会识别 + /// + /// TRUE :有该软件许可证书 FALSE :没有该软件许可证书 + [DllImport("MORCODE.dll", EntryPoint = "CLM_Login_Scope", CallingConvention = CallingConvention.Cdecl)] + public static extern bool CLM_Login_Scope(); - /// - /// 输入模块ID验证模块可用性 - /// - /// 模块ID - /// 暂无定义 - /// - /// TRUE :该模块可用 - /// FALSE :该模块不可用 - /// - [DllImport("MORCODE.dll", EntryPoint = "CLM_ModuleIsLicensed", CallingConvention = CallingConvention.Cdecl)] - public static extern bool CLM_ModuleIsLicensed(ref UInt16 mod, ref UInt16 type); + /// + /// 输入模块ID验证模块可用性 + /// + /// 模块ID + /// 暂无定义 + /// TRUE :该模块可用 FALSE :该模块不可用 + [DllImport("MORCODE.dll", EntryPoint = "CLM_ModuleIsLicensed", CallingConvention = CallingConvention.Cdecl)] + public static extern bool CLM_ModuleIsLicensed(ref UInt16 mod, ref UInt16 type); - /// - /// 获取到期日期 - /// - /// - /// - /// - /// + /// + /// 获取到期日期 + /// + /// + /// + /// + /// - [DllImport("MORCODE.dll", EntryPoint = "CLM_GetWarrantyExpiration", CallingConvention = CallingConvention.Cdecl)] - public static extern bool CLM_GetWarrantyExpiration(ref int mon, ref int day, ref int year); + [DllImport("MORCODE.dll", EntryPoint = "CLM_GetWarrantyExpiration", CallingConvention = CallingConvention.Cdecl)] + public static extern bool CLM_GetWarrantyExpiration(ref int mon, ref int day, ref int year); - private static int gCLMSModeID = 0; - private static int gAuthorizationMode = 0; + private static int gCLMSModeID = 0; + private static int gAuthorizationMode = 0; - #endregion CLMS 授权 + #endregion CLMS 授权 - /// - /// The main entry point for the application. - /// - [STAThread] - private static void Main() - { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); + /// + /// The main entry point for the application. + /// + [STAThread] + private static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); - #region 创建Log文件 + #region 创建Log文件 - LogDebugDfn.strStartTime = DateTime.Now.ToString("yyyy.MM.dd HH-mm-ss"); - System.IO.TextWriter log = new System.IO.StreamWriter(LogDebugDfn.strDebugFile); //Debug.txt - TextWriterTraceListener logger = new TextWriterTraceListener(log); - Trace.Listeners.Add(logger); - MyBase.TraceWriteLine("--软件Program Main函数开始执行--"); //写入log文件 - ConfigDfn.LoadConfigFile(); //加载配置参数 + LogDebugDfn.strStartTime = DateTime.Now.ToString("yyyy.MM.dd HH-mm-ss"); + System.IO.TextWriter log = new System.IO.StreamWriter(LogDebugDfn.strDebugFile); //Debug.txt + TextWriterTraceListener logger = new TextWriterTraceListener(log); + Trace.Listeners.Add(logger); + MyBase.TraceWriteLine("--软件Program Main函数开始执行--"); //写入log文件 + ConfigDfn.LoadConfigFile(); //加载配置参数 - gCLMSModeID = FileIni.ReadInt(ConfigDfn.strConfigFile, "Chery", "CLMSModeID", 1); - gAuthorizationMode = FileIni.ReadInt(ConfigDfn.strConfigFile, "Chery", "AuthorizationMode", 1); + gCLMSModeID = FileIni.ReadInt(ConfigDfn.strConfigFile, "Chery", "CLMSModeID", 1); + gAuthorizationMode = FileIni.ReadInt(ConfigDfn.strConfigFile, "Chery", "AuthorizationMode", 1); #endregion 创建Log文件 - Application.Run(new FormMain()); + Application.Run(new FToleranceSetup()); //if (gAuthorizationMode == 1) - // { - // MyBase.TraceWriteLine("Log in using the CLMS authorization."); + // { + // 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 - { - //=============================================================== + public class Licence + { + //=============================================================== - #region 1、加密动态库加密 + #region 1、加密动态库加密 - public static void Encryption_DLL() - { - Covert.Program Mycheck = new Covert.Program(); - if (Mycheck.CheckLicence(Application.StartupPath + "\\Key\\reg.key", "PCControl")) - { - MyBase.TraceWriteLine("软件授权成功"); - ConfigDfn.strExpiredTime = Covert.Parameter.ExpiredTime.ToString("yyyy-MM-dd HH:mm:ss"); - if (IsSoftwareRunning()) - { - MessageBox.Show("库位管理软件已经存在,请关闭后重新尝试!", "警告"); - System.Environment.Exit(0); - return; - } - Application.Run(new FormMain()); - } - else - { - MessageBox.Show("Did not pass the certification!\r\n" + Covert.Parameter.ExpiredTime.ToString()); - BaseFunction.MyBase.TraceWriteLine("软件授权失败"); - } - } + public static void Encryption_DLL() + { + Covert.Program Mycheck = new Covert.Program(); + if (Mycheck.CheckLicence(Application.StartupPath + "\\Key\\reg.key", "PCControl")) + { + MyBase.TraceWriteLine("软件授权成功"); + ConfigDfn.strExpiredTime = Covert.Parameter.ExpiredTime.ToString("yyyy-MM-dd HH:mm:ss"); + if (IsSoftwareRunning()) + { + MessageBox.Show("库位管理软件已经存在,请关闭后重新尝试!", "警告"); + System.Environment.Exit(0); + return; + } + Application.Run(new FormMain()); + } + else + { + MessageBox.Show("Did not pass the certification!\r\n" + Covert.Parameter.ExpiredTime.ToString()); + BaseFunction.MyBase.TraceWriteLine("软件授权失败"); + } + } - #endregion 1、加密动态库加密 + #endregion 1、加密动态库加密 - private static bool IsSoftwareRunning() - { - int Num = 0; - Process[] processes = Process.GetProcesses(); - foreach (Process instance in processes) - { - string pro = instance.ProcessName; - if (pro.ToLower() == "cheryanalysis") - { - Num++; - } - } - if (Num > 1) - return true; - else - return false; - } + private static bool IsSoftwareRunning() + { + int Num = 0; + Process[] processes = Process.GetProcesses(); + foreach (Process instance in processes) + { + string pro = instance.ProcessName; + if (pro.ToLower() == "cheryanalysis") + { + Num++; + } + } + if (Num > 1) + return true; + else + return false; + } - //=============================================================== + //=============================================================== - #region 读取注册表信息,准备各种时间 + #region 读取注册表信息,准备各种时间 - private static string PassWord = ""; - private static string PassData = ""; - private static Int64 PassNow = 0; - private static Int64 LtOk = 20160101080000; //开始日期 - private static Int64 LtOk2now; + private static string PassWord = ""; + private static string PassData = ""; + private static Int64 PassNow = 0; + private static Int64 LtOk = 20160101080000; //开始日期 + private static Int64 LtOk2now; - public static void GetRegisterInfo() - { - LtOk2now = Convert.ToInt64(System.DateTime.Now.ToString("yyyyMMddHHmmss")); - RegistryKey pregkey; - RegistryKey pregkey1; - RegistryKey pregkey2; - bool RegKey = false; - try - { - do - { - pregkey = Registry.CurrentUser.OpenSubKey("software", true); - pregkey1 = Registry.CurrentUser.OpenSubKey("software\\sunpike", true); - pregkey2 = Registry.CurrentUser.OpenSubKey("software\\sunpike\\PCControl", true); - if (pregkey1 != null) - { - if (pregkey2 != null) - { - if (pregkey2.GetValue("Pass") == null) { pregkey2.SetValue("Pass", ""); } - if (pregkey2.GetValue("Data") == null) { pregkey2.SetValue("Data", ""); } - if (pregkey2.GetValue("Now") == null) { pregkey2.SetValue("Now", LtOk.ToString()); } + public static void GetRegisterInfo() + { + LtOk2now = Convert.ToInt64(System.DateTime.Now.ToString("yyyyMMddHHmmss")); + RegistryKey pregkey; + RegistryKey pregkey1; + RegistryKey pregkey2; + bool RegKey = false; + try + { + do + { + pregkey = Registry.CurrentUser.OpenSubKey("software", true); + pregkey1 = Registry.CurrentUser.OpenSubKey("software\\sunpike", true); + pregkey2 = Registry.CurrentUser.OpenSubKey("software\\sunpike\\PCControl", true); + if (pregkey1 != null) + { + if (pregkey2 != null) + { + if (pregkey2.GetValue("Pass") == null) { pregkey2.SetValue("Pass", ""); } + if (pregkey2.GetValue("Data") == null) { pregkey2.SetValue("Data", ""); } + if (pregkey2.GetValue("Now") == null) { pregkey2.SetValue("Now", LtOk.ToString()); } - PassWord = pregkey2.GetValue("Pass").ToString(); - PassData = pregkey2.GetValue("Data").ToString(); - PassNow = Convert.ToInt64(pregkey2.GetValue("Now").ToString());//上次结束APP的时间 - RegKey = true; - } - else { pregkey1.CreateSubKey("PCControl"); } - } - else { pregkey.CreateSubKey("sunpike"); } - } while (!RegKey); - if (LtOk2now > PassNow) - pregkey2.SetValue("Data", LtOk.ToString()); - else - pregkey2.SetValue("Now", LtOk.ToString()); - pregkey.Close(); - pregkey1.Close(); - pregkey2.Close(); - } - catch - { - MyBase.TraceWriteLine("--读取注册信息时遭到破坏。"); - MessageBox.Show("读取注册信息时遭到破坏。"); - // - //有一个复位的方法,就是客户打电话给我,我给他一串数据(时间加校验码),填入后,通过校验是合适的时间,就恢复这串码中的时间, - //举例: - //目前是2014年03月19日11点30分15秒: - // 20140319113015 --加密--> 3分十位2年千位4年个位1秒十位3校验位(前4位相加之和保证个位是3)1年十位1时个位1时十位5秒个位3校验位(前4位相加之和保证个位是3)0月十位0年百位1日十位0分个位2校验位(前4位相加之和保证个位是3)3月个位9日个位0校验位(前2位相加之和保证个位是3) - // 3 2 4 1 3 1 1 1 5 5 0 0 1 0 2 3 0 0 - // 324131115500102300 - return; - } - } + PassWord = pregkey2.GetValue("Pass").ToString(); + PassData = pregkey2.GetValue("Data").ToString(); + PassNow = Convert.ToInt64(pregkey2.GetValue("Now").ToString());//上次结束APP的时间 + RegKey = true; + } + else { pregkey1.CreateSubKey("PCControl"); } + } + else { pregkey.CreateSubKey("sunpike"); } + } while (!RegKey); + if (LtOk2now > PassNow) + pregkey2.SetValue("Data", LtOk.ToString()); + else + pregkey2.SetValue("Now", LtOk.ToString()); + pregkey.Close(); + pregkey1.Close(); + pregkey2.Close(); + } + catch + { + MyBase.TraceWriteLine("--读取注册信息时遭到破坏。"); + MessageBox.Show("读取注册信息时遭到破坏。"); + // + //有一个复位的方法,就是客户打电话给我,我给他一串数据(时间加校验码),填入后,通过校验是合适的时间,就恢复这串码中的时间, + //举例: + //目前是2014年03月19日11点30分15秒: + // 20140319113015 --加密--> 3分十位2年千位4年个位1秒十位3校验位(前4位相加之和保证个位是3)1年十位1时个位1时十位5秒个位3校验位(前4位相加之和保证个位是3)0月十位0年百位1日十位0分个位2校验位(前4位相加之和保证个位是3)3月个位9日个位0校验位(前2位相加之和保证个位是3) + // 3 2 4 1 3 1 1 1 5 5 0 0 1 0 2 3 0 0 + // 324131115500102300 + return; + } + } - #endregion 读取注册表信息,准备各种时间 - } + #endregion 读取注册表信息,准备各种时间 + } } \ No newline at end of file diff --git a/Analysis/Properties/AssemblyInfo.cs b/Analysis/Properties/AssemblyInfo.cs index 15ffaec..162c06e 100644 --- a/Analysis/Properties/AssemblyInfo.cs +++ b/Analysis/Properties/AssemblyInfo.cs @@ -1,10 +1,8 @@ using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. +// General Information about an assembly is controlled through the following set of attributes. +// Change these attribute values to modify the information associated with an assembly. [assembly: AssemblyTitle("Hexagon NSAnalysis")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] @@ -14,9 +12,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. +// Setting ComVisible to false makes the types in this assembly not visible to COM components. If +// you need to access a type in this assembly from COM, set the ComVisible attribute to true on that type. [assembly: ComVisible(false)] // The following GUID is for the ID of the typelib if this project is exposed to COM @@ -24,14 +21,10 @@ using System.Runtime.InteropServices; // Version information for an assembly consists of the following four values: // -// Major Version -// Minor Version -// Build Number -// Revision +// Major Version Minor Version Build Number Revision // -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] +// You can specify all the values or you can default the Build and Revision Numbers by using the '*' +// as shown below: [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("2025.03.03.1")] [assembly: AssemblyFileVersion("2025.03.03.1")] //奇瑞总装软件 diff --git a/Analysis/Range/FAddRange.cs b/Analysis/Range/FAddRange.cs deleted file mode 100644 index 144e041..0000000 --- a/Analysis/Range/FAddRange.cs +++ /dev/null @@ -1,182 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; -using BaseFunction; -using System.Text.RegularExpressions; -using System.Collections; -using System.IO; -using System.Xml; -using DAL; -using Telerik.WinControls.UI; - -namespace NSAnalysis -{ - public partial class FAddRange : Telerik.WinControls.UI.ShapedForm - { - #region 全局变量 - - //private TMeasureSQLiteDAL tmdal = new TMeasureSQLiteDAL(); - - private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL(); - private FRangeSetup gFTS; - - #endregion 全局变量 - - #region 鼠标事件 - - 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); - } - - #endregion 鼠标事件 - - private void InitLanguage() - { - if (!ConfigDfn.bLanguage) - { - this.Text = "Add Tolerance"; - labTitle.Text = "Add Tolerance"; - radLabel5.Text = "CNC ID : "; - radLabel2.Text = "CNC Name : "; - radLabel4.Text = "CNC Location : "; - radLabel3.Text = "CNC Type : "; - radLabel7.Text = "CNC IP : "; - radLabel1.Text = "Remark : "; - rbtnOK.Text = "Add"; - rbtnCancel.Text = "Cancel"; - } - } - - public FAddRange(FRangeSetup fts) - { - InitializeComponent(); - InitLanguage(); - gFTS = fts; - } - - private void SFAddCNC_Load(object sender, EventArgs e) - { - - } - - private void rbtnOK_Click(object sender, EventArgs e) - { - #region 防愚操作 - - string strCarType = rtbCarType.Text.Trim(); - string strMesPointName = rtbMesPointName.Text.Trim(); - - string strDimensionName = rtbRangePointName.Text.Trim(); - if (string.IsNullOrEmpty(rtbCarType.Text.Trim())) - { - MessageBox.Show("车身类型不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - - if (string.IsNullOrEmpty(rtbMesPointName.Text.Trim())) - { - MessageBox.Show("极差编号名称不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - - if (string.IsNullOrEmpty(rtbRangePointName.Text.Trim())) - { - MessageBox.Show("极差包含点位不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - else - { - if (!rtbRangePointName.Text.Trim().Contains(",")) - { - MessageBox.Show("极差包含点位必须用英文逗号隔开,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - } - - if (string.IsNullOrEmpty(rtbLower.Text.Trim())) - { - MessageBox.Show("下限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - if (string.IsNullOrEmpty(rtbUpper.Text.Trim())) - { - MessageBox.Show("上限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - if (!string.IsNullOrEmpty(rtbLower.Text.Trim())) - { - try - { - double dtemp = double.Parse(rtbLower.Text.Trim()); - } - catch (Exception) - { - MessageBox.Show("下限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - } - if (!string.IsNullOrEmpty(rtbUpper.Text.Trim())) - { - try - { - double dtemp = double.Parse(rtbUpper.Text.Trim()); - } - catch (Exception) - { - MessageBox.Show("上限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - } - if (tmdal.CheckRangeNameExit(strCarType, strMesPointName)) - { - MessageBox.Show("该车身类型下,已经存在该极差编号,请修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - - return; - } - - #endregion 防愚操作 - - TRangeModel ttm = new TRangeModel(); - ttm.CarType = strCarType; - ttm.RangeName = strMesPointName; - ttm.RangePoint = strDimensionName; - ttm.RangeLower = double.Parse(rtbLower.Text.Trim()); - ttm.RangeUpper = double.Parse(rtbUpper.Text.Trim()); - ttm.Remark = rtbRemark.Text.Trim(); - ttm.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); - - try - { - tmdal.InsertNewRange(ttm); - } - catch (Exception ex) - { - MessageBox.Show("添加极差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - - MyBase.TraceWriteLine("添加极差带信息失败,原因:" + ex.ToString()); - return; - } - - MessageBox.Show("添加极差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - - gFTS.rtbnSearch_Click(null, null); - } - - private void rbtnCancel_Click(object sender, EventArgs e) - { - this.Close(); - } - } -} \ No newline at end of file diff --git a/Analysis/Range/FAddRange.designer.cs b/Analysis/Range/FAddRange.designer.cs deleted file mode 100644 index da783f8..0000000 --- a/Analysis/Range/FAddRange.designer.cs +++ /dev/null @@ -1,482 +0,0 @@ -namespace NSAnalysis -{ - partial class FAddRange - { - /// - /// 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() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FAddRange)); - this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar(); - this.label2 = new System.Windows.Forms.Label(); - this.labTitle = new System.Windows.Forms.Label(); - this.radLabel7 = new Telerik.WinControls.UI.RadLabel(); - this.radLabel3 = new Telerik.WinControls.UI.RadLabel(); - this.radLabel4 = new Telerik.WinControls.UI.RadLabel(); - this.radLabel2 = new Telerik.WinControls.UI.RadLabel(); - this.radLabel5 = new Telerik.WinControls.UI.RadLabel(); - this.rtbCarType = new Telerik.WinControls.UI.RadTextBox(); - this.rtbMesPointName = new Telerik.WinControls.UI.RadTextBox(); - this.rtbUpper = new Telerik.WinControls.UI.RadTextBox(); - this.rbtnCancel = new Telerik.WinControls.UI.RadButton(); - this.rbtnOK = new Telerik.WinControls.UI.RadButton(); - this.label1 = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.label4 = new System.Windows.Forms.Label(); - this.rtbLower = new Telerik.WinControls.UI.RadTextBox(); - this.rtbRemark = new Telerik.WinControls.UI.RadTextBox(); - this.radLabel1 = new Telerik.WinControls.UI.RadLabel(); - this.label5 = new System.Windows.Forms.Label(); - this.rtbRangePointName = new Telerik.WinControls.UI.RadTextBox(); - this.label6 = new System.Windows.Forms.Label(); - this.radLabel6 = new Telerik.WinControls.UI.RadLabel(); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit(); - this.radTitleBar1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbRemark)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbRangePointName)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).BeginInit(); - 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(373, 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(117, -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(159, 8); - this.labTitle.Name = "labTitle"; - this.labTitle.Size = new System.Drawing.Size(107, 25); - this.labTitle.TabIndex = 0; - this.labTitle.Text = "添加极差带"; - // - // radLabel7 - // - this.radLabel7.AutoSize = false; - this.radLabel7.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel7.ForeColor = System.Drawing.Color.White; - this.radLabel7.Location = new System.Drawing.Point(4, 236); - this.radLabel7.Name = "radLabel7"; - this.radLabel7.Size = new System.Drawing.Size(148, 23); - this.radLabel7.TabIndex = 29; - this.radLabel7.Text = "上限值:"; - this.radLabel7.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel3 - // - this.radLabel3.AutoSize = false; - this.radLabel3.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel3.ForeColor = System.Drawing.Color.White; - this.radLabel3.Location = new System.Drawing.Point(4, 198); - this.radLabel3.Name = "radLabel3"; - this.radLabel3.Size = new System.Drawing.Size(148, 23); - this.radLabel3.TabIndex = 28; - this.radLabel3.Text = "下限值:"; - this.radLabel3.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel4 - // - this.radLabel4.AutoSize = false; - this.radLabel4.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel4.ForeColor = System.Drawing.Color.White; - this.radLabel4.Location = new System.Drawing.Point(4, 141); - this.radLabel4.Name = "radLabel4"; - this.radLabel4.Size = new System.Drawing.Size(148, 23); - this.radLabel4.TabIndex = 27; - this.radLabel4.Text = "极差包含点位:"; - this.radLabel4.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel2 - // - this.radLabel2.AutoSize = false; - this.radLabel2.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel2.ForeColor = System.Drawing.Color.White; - this.radLabel2.Location = new System.Drawing.Point(4, 101); - this.radLabel2.Name = "radLabel2"; - this.radLabel2.Size = new System.Drawing.Size(148, 23); - this.radLabel2.TabIndex = 26; - this.radLabel2.Text = "极差编号名称:"; - this.radLabel2.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel5 - // - this.radLabel5.AutoSize = false; - this.radLabel5.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel5.ForeColor = System.Drawing.Color.White; - this.radLabel5.Location = new System.Drawing.Point(4, 60); - this.radLabel5.Name = "radLabel5"; - this.radLabel5.Size = new System.Drawing.Size(148, 23); - this.radLabel5.TabIndex = 25; - this.radLabel5.Text = "车身类型:"; - this.radLabel5.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // rtbCarType - // - this.rtbCarType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbCarType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbCarType.ForeColor = System.Drawing.Color.White; - this.rtbCarType.Location = new System.Drawing.Point(158, 60); - this.rtbCarType.Name = "rtbCarType"; - this.rtbCarType.Size = new System.Drawing.Size(173, 23); - this.rtbCarType.TabIndex = 1; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarType.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarType.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // rtbMesPointName - // - this.rtbMesPointName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbMesPointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbMesPointName.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbMesPointName.ForeColor = System.Drawing.Color.White; - this.rtbMesPointName.Location = new System.Drawing.Point(158, 101); - this.rtbMesPointName.Name = "rtbMesPointName"; - this.rtbMesPointName.Size = new System.Drawing.Size(173, 23); - this.rtbMesPointName.TabIndex = 2; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbMesPointName.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbMesPointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // rtbUpper - // - this.rtbUpper.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbUpper.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbUpper.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbUpper.ForeColor = System.Drawing.Color.White; - this.rtbUpper.Location = new System.Drawing.Point(158, 235); - this.rtbUpper.MaxLength = 15; - this.rtbUpper.Name = "rtbUpper"; - this.rtbUpper.Size = new System.Drawing.Size(173, 23); - this.rtbUpper.TabIndex = 5; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbUpper.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbUpper.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // rbtnCancel - // - this.rbtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rbtnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.rbtnCancel.Font = new System.Drawing.Font("微软雅黑", 11F); - this.rbtnCancel.ForeColor = System.Drawing.Color.White; - this.rbtnCancel.Location = new System.Drawing.Point(246, 336); - this.rbtnCancel.Name = "rbtnCancel"; - this.rbtnCancel.Size = new System.Drawing.Size(85, 30); - this.rbtnCancel.TabIndex = 10; - this.rbtnCancel.Text = "取消"; - this.rbtnCancel.Click += new System.EventHandler(this.rbtnCancel_Click); - this.rbtnCancel.MouseLeave += new System.EventHandler(this.btn_MouseLeave); - this.rbtnCancel.MouseHover += new System.EventHandler(this.btn_MouseHover); - ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnCancel.GetChildAt(0))).Text = "取消"; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - // - // rbtnOK - // - this.rbtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rbtnOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.rbtnOK.Font = new System.Drawing.Font("微软雅黑", 11F); - this.rbtnOK.ForeColor = System.Drawing.Color.White; - this.rbtnOK.Location = new System.Drawing.Point(118, 336); - this.rbtnOK.Name = "rbtnOK"; - this.rbtnOK.Size = new System.Drawing.Size(85, 30); - this.rbtnOK.TabIndex = 9; - this.rbtnOK.Text = "添加"; - this.rbtnOK.Click += new System.EventHandler(this.rbtnOK_Click); - this.rbtnOK.MouseLeave += new System.EventHandler(this.btn_MouseLeave); - this.rbtnOK.MouseHover += new System.EventHandler(this.btn_MouseHover); - ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnOK.GetChildAt(0))).Text = "添加"; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - // - // label1 - // - this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label1.AutoSize = true; - this.label1.Font = new System.Drawing.Font("宋体", 12F); - this.label1.ForeColor = System.Drawing.Color.Red; - this.label1.Location = new System.Drawing.Point(336, 238); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(15, 16); - this.label1.TabIndex = 34; - this.label1.Text = "*"; - // - // label3 - // - this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label3.AutoSize = true; - this.label3.Font = new System.Drawing.Font("宋体", 12F); - this.label3.ForeColor = System.Drawing.Color.Red; - this.label3.Location = new System.Drawing.Point(336, 201); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(15, 16); - this.label3.TabIndex = 35; - this.label3.Text = "*"; - // - // label4 - // - this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label4.AutoSize = true; - this.label4.Font = new System.Drawing.Font("宋体", 12F); - this.label4.ForeColor = System.Drawing.Color.Red; - this.label4.Location = new System.Drawing.Point(336, 66); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(15, 16); - this.label4.TabIndex = 36; - this.label4.Text = "*"; - // - // rtbLower - // - this.rtbLower.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbLower.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbLower.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbLower.ForeColor = System.Drawing.Color.White; - this.rtbLower.Location = new System.Drawing.Point(158, 198); - this.rtbLower.Name = "rtbLower"; - this.rtbLower.Size = new System.Drawing.Size(173, 23); - this.rtbLower.TabIndex = 4; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbLower.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbLower.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // rtbRemark - // - this.rtbRemark.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbRemark.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbRemark.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbRemark.ForeColor = System.Drawing.Color.White; - this.rtbRemark.Location = new System.Drawing.Point(158, 275); - this.rtbRemark.Name = "rtbRemark"; - this.rtbRemark.Size = new System.Drawing.Size(173, 23); - this.rtbRemark.TabIndex = 37; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbRemark.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbRemark.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // radLabel1 - // - this.radLabel1.AutoSize = false; - this.radLabel1.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel1.ForeColor = System.Drawing.Color.White; - this.radLabel1.Location = new System.Drawing.Point(4, 275); - this.radLabel1.Name = "radLabel1"; - this.radLabel1.Size = new System.Drawing.Size(148, 23); - this.radLabel1.TabIndex = 38; - this.radLabel1.Text = "备注:"; - this.radLabel1.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // label5 - // - this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label5.AutoSize = true; - this.label5.Font = new System.Drawing.Font("宋体", 12F); - this.label5.ForeColor = System.Drawing.Color.Red; - this.label5.Location = new System.Drawing.Point(337, 108); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(15, 16); - this.label5.TabIndex = 40; - this.label5.Text = "*"; - // - // rtbRangePointName - // - this.rtbRangePointName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbRangePointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbRangePointName.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbRangePointName.ForeColor = System.Drawing.Color.White; - this.rtbRangePointName.Location = new System.Drawing.Point(158, 141); - this.rtbRangePointName.Name = "rtbRangePointName"; - this.rtbRangePointName.Size = new System.Drawing.Size(173, 23); - this.rtbRangePointName.TabIndex = 41; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbRangePointName.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbRangePointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // label6 - // - this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label6.AutoSize = true; - this.label6.Font = new System.Drawing.Font("宋体", 12F); - this.label6.ForeColor = System.Drawing.Color.Red; - this.label6.Location = new System.Drawing.Point(337, 148); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(15, 16); - this.label6.TabIndex = 42; - this.label6.Text = "*"; - // - // radLabel6 - // - this.radLabel6.AutoSize = false; - this.radLabel6.Font = new System.Drawing.Font("微软雅黑", 9F); - this.radLabel6.ForeColor = System.Drawing.Color.Red; - this.radLabel6.Location = new System.Drawing.Point(158, 170); - this.radLabel6.Name = "radLabel6"; - this.radLabel6.Size = new System.Drawing.Size(194, 23); - this.radLabel6.TabIndex = 43; - this.radLabel6.Text = "极差包含点位必须用英文逗号隔开"; - // - // FAddRange - // - this.AcceptButton = this.rbtnOK; - 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(375, 392); - this.Controls.Add(this.radLabel6); - this.Controls.Add(this.label6); - this.Controls.Add(this.rtbRangePointName); - this.Controls.Add(this.label5); - this.Controls.Add(this.rtbRemark); - this.Controls.Add(this.radLabel1); - this.Controls.Add(this.rtbLower); - this.Controls.Add(this.label4); - this.Controls.Add(this.label3); - this.Controls.Add(this.label1); - this.Controls.Add(this.rbtnCancel); - this.Controls.Add(this.rbtnOK); - this.Controls.Add(this.rtbUpper); - this.Controls.Add(this.rtbMesPointName); - this.Controls.Add(this.rtbCarType); - this.Controls.Add(this.radLabel7); - this.Controls.Add(this.radLabel3); - this.Controls.Add(this.radLabel4); - this.Controls.Add(this.radLabel2); - this.Controls.Add(this.radLabel5); - 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.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "FAddRange"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "添加极差带"; - this.Load += new System.EventHandler(this.SFAddCNC_Load); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit(); - this.radTitleBar1.ResumeLayout(false); - this.radTitleBar1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbRemark)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbRangePointName)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).EndInit(); - 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.RadLabel radLabel7; - private Telerik.WinControls.UI.RadLabel radLabel3; - private Telerik.WinControls.UI.RadLabel radLabel4; - private Telerik.WinControls.UI.RadLabel radLabel2; - private Telerik.WinControls.UI.RadLabel radLabel5; - private Telerik.WinControls.UI.RadTextBox rtbCarType; - private Telerik.WinControls.UI.RadTextBox rtbMesPointName; - private Telerik.WinControls.UI.RadTextBox rtbUpper; - private Telerik.WinControls.UI.RadButton rbtnCancel; - private Telerik.WinControls.UI.RadButton rbtnOK; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.Label label4; - private Telerik.WinControls.UI.RadTextBox rtbLower; - private Telerik.WinControls.UI.RadTextBox rtbRemark; - private Telerik.WinControls.UI.RadLabel radLabel1; - private System.Windows.Forms.Label label5; - private Telerik.WinControls.UI.RadTextBox rtbRangePointName; - private System.Windows.Forms.Label label6; - private Telerik.WinControls.UI.RadLabel radLabel6; - } -} diff --git a/Analysis/Range/FAddRange.resx b/Analysis/Range/FAddRange.resx deleted file mode 100644 index a346816..0000000 --- a/Analysis/Range/FAddRange.resx +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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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 - 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/Range/FEditRange.cs b/Analysis/Range/FEditRange.cs deleted file mode 100644 index 0336b43..0000000 --- a/Analysis/Range/FEditRange.cs +++ /dev/null @@ -1,192 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; -using BaseFunction; -using System.Text.RegularExpressions; -using System.Collections; -using System.IO; -using System.Xml; - -using Telerik.WinControls.UI; -using DAL; - -namespace NSAnalysis -{ - public partial class FEditRange : Telerik.WinControls.UI.ShapedForm - { - #region 全局变量 - //private TMeasureSQLiteDAL tmdal = new TMeasureSQLiteDAL(); - private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL(); - private FRangeSetup gFTS; - - #endregion 全局变量 - - #region 鼠标事件 - - 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); - } - - #endregion 鼠标事件 - - private void InitLanguage() - { - if (!ConfigDfn.bLanguage) - { - this.Text = "Edit CNC"; - labTitle.Text = "Edit CNC"; - radLabel5.Text = "CNC ID : "; - radLabel2.Text = "CNC Name : "; - radLabel4.Text = "CNC Location : "; - radLabel3.Text = "CNC Type : "; - radLabel7.Text = "CNC IP : "; - - radLabel1.Text = "Remark : "; - - rbtnOK.Text = "Edit"; - rbtnCancel.Text = "Cancel"; - } - } - - public FEditRange(FRangeSetup fts) - { - InitializeComponent(); - InitLanguage(); - gFTS = fts; - } - - private void SFAddCNC_Load(object sender, EventArgs e) - { - rtbCarType.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["CarType"].Value.ToString(); - rtbMesPointName.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["MeasurePointName"].Value.ToString(); - rtbRangePointName.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["DimensionName"].Value.ToString(); - rtbLower.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["TolLower"].Value.ToString(); - rtbUpper.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["TolUpper"].Value.ToString(); - - rtbRemark.Text = (gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["Remark"].Value.ToString()); - } - - private void rbtnOK_Click(object sender, EventArgs e) - { - #region 防愚操作 - - string strCarType = rtbCarType.Text.Trim(); - string strMesPointName = rtbMesPointName.Text.Trim(); - - string strRangePoint = rtbRangePointName.Text.Trim(); - if (string.IsNullOrEmpty(rtbCarType.Text.Trim())) - { - MessageBox.Show("车身类型不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - - if (string.IsNullOrEmpty(rtbMesPointName.Text.Trim())) - { - MessageBox.Show("极差编号名称不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - if (string.IsNullOrEmpty(rtbRangePointName.Text.Trim())) - { - MessageBox.Show("极差包含点位不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - else - { - if (!rtbRangePointName.Text.Trim().Contains(",")) - { - MessageBox.Show("极差包含点位必须用英文逗号隔开,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - } - - if (string.IsNullOrEmpty(rtbLower.Text.Trim())) - { - MessageBox.Show("下限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - if (string.IsNullOrEmpty(rtbUpper.Text.Trim())) - { - MessageBox.Show("上限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - if (!string.IsNullOrEmpty(rtbLower.Text.Trim())) - { - try - { - double dtemp = double.Parse(rtbLower.Text.Trim()); - } - catch (Exception) - { - MessageBox.Show("下限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - } - if (!string.IsNullOrEmpty(rtbUpper.Text.Trim())) - { - try - { - double dtemp = double.Parse(rtbUpper.Text.Trim()); - } - catch (Exception) - { - MessageBox.Show("上限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - } - if (rtbCarType.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["CarType"].Value.ToString() || rtbMesPointName.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["MeasurePointName"].Value.ToString()) - { - if (tmdal.CheckRangeNameExit(strCarType, strMesPointName)) - { - MessageBox.Show("该车身类型下,已经存在该极差编号,请修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - - return; - } - } - - #endregion 防愚操作 - - try - { - TRangeModel ttm = new TRangeModel(); - ttm.Id = int.Parse(gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["Id"].Value.ToString()); - ttm.CarType = strCarType; - ttm.RangeName = strMesPointName; - ttm.RangePoint = strRangePoint; - ttm.RangeLower = double.Parse(rtbLower.Text.Trim()); - ttm.RangeUpper = double.Parse(rtbUpper.Text.Trim()); - ttm.Remark = rtbRemark.Text.Trim(); - ttm.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); - tmdal.UpdateTRange(ttm); - } - catch (Exception ex) - { - MessageBox.Show("修改极差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - - return; - } - - MessageBox.Show("修改极差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - - gFTS.rtbnSearch_Click(null, null); - - this.Close(); - } - - private void rbtnCancel_Click(object sender, EventArgs e) - { - this.Close(); - } - } -} \ No newline at end of file diff --git a/Analysis/Range/FEditRange.designer.cs b/Analysis/Range/FEditRange.designer.cs deleted file mode 100644 index 77581cf..0000000 --- a/Analysis/Range/FEditRange.designer.cs +++ /dev/null @@ -1,482 +0,0 @@ -namespace NSAnalysis -{ - partial class FEditRange - { - /// - /// 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() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FEditRange)); - this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar(); - this.label2 = new System.Windows.Forms.Label(); - this.labTitle = new System.Windows.Forms.Label(); - this.radLabel7 = new Telerik.WinControls.UI.RadLabel(); - this.radLabel3 = new Telerik.WinControls.UI.RadLabel(); - this.radLabel4 = new Telerik.WinControls.UI.RadLabel(); - this.radLabel2 = new Telerik.WinControls.UI.RadLabel(); - this.radLabel5 = new Telerik.WinControls.UI.RadLabel(); - this.rtbCarType = new Telerik.WinControls.UI.RadTextBox(); - this.rtbMesPointName = new Telerik.WinControls.UI.RadTextBox(); - this.rtbUpper = new Telerik.WinControls.UI.RadTextBox(); - this.rbtnCancel = new Telerik.WinControls.UI.RadButton(); - this.rbtnOK = new Telerik.WinControls.UI.RadButton(); - this.label1 = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.label4 = new System.Windows.Forms.Label(); - this.rtbLower = new Telerik.WinControls.UI.RadTextBox(); - this.rtbRemark = new Telerik.WinControls.UI.RadTextBox(); - this.radLabel1 = new Telerik.WinControls.UI.RadLabel(); - this.label5 = new System.Windows.Forms.Label(); - this.rtbRangePointName = new Telerik.WinControls.UI.RadTextBox(); - this.radLabel6 = new Telerik.WinControls.UI.RadLabel(); - this.label6 = new System.Windows.Forms.Label(); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit(); - this.radTitleBar1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbRemark)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbRangePointName)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).BeginInit(); - 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(373, 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(115, -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(157, 8); - this.labTitle.Name = "labTitle"; - this.labTitle.Size = new System.Drawing.Size(107, 25); - this.labTitle.TabIndex = 0; - this.labTitle.Text = "修改极差带"; - // - // radLabel7 - // - this.radLabel7.AutoSize = false; - this.radLabel7.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel7.ForeColor = System.Drawing.Color.White; - this.radLabel7.Location = new System.Drawing.Point(1, 248); - this.radLabel7.Name = "radLabel7"; - this.radLabel7.Size = new System.Drawing.Size(152, 23); - this.radLabel7.TabIndex = 29; - this.radLabel7.Text = "上限值:"; - this.radLabel7.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel3 - // - this.radLabel3.AutoSize = false; - this.radLabel3.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel3.ForeColor = System.Drawing.Color.White; - this.radLabel3.Location = new System.Drawing.Point(6, 210); - this.radLabel3.Name = "radLabel3"; - this.radLabel3.Size = new System.Drawing.Size(147, 23); - this.radLabel3.TabIndex = 28; - this.radLabel3.Text = "下限值:"; - this.radLabel3.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel4 - // - this.radLabel4.AutoSize = false; - this.radLabel4.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel4.ForeColor = System.Drawing.Color.White; - this.radLabel4.Location = new System.Drawing.Point(6, 142); - this.radLabel4.Name = "radLabel4"; - this.radLabel4.Size = new System.Drawing.Size(147, 23); - this.radLabel4.TabIndex = 27; - this.radLabel4.Text = "极差包含点位:"; - this.radLabel4.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel2 - // - this.radLabel2.AutoSize = false; - this.radLabel2.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel2.ForeColor = System.Drawing.Color.White; - this.radLabel2.Location = new System.Drawing.Point(6, 102); - this.radLabel2.Name = "radLabel2"; - this.radLabel2.Size = new System.Drawing.Size(147, 23); - this.radLabel2.TabIndex = 26; - this.radLabel2.Text = "极差编号名称:"; - this.radLabel2.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel5 - // - this.radLabel5.AutoSize = false; - this.radLabel5.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel5.ForeColor = System.Drawing.Color.White; - this.radLabel5.Location = new System.Drawing.Point(6, 61); - this.radLabel5.Name = "radLabel5"; - this.radLabel5.Size = new System.Drawing.Size(147, 23); - this.radLabel5.TabIndex = 25; - this.radLabel5.Text = "车身类型:"; - this.radLabel5.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // rtbCarType - // - this.rtbCarType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbCarType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbCarType.ForeColor = System.Drawing.Color.White; - this.rtbCarType.Location = new System.Drawing.Point(160, 61); - this.rtbCarType.Name = "rtbCarType"; - this.rtbCarType.Size = new System.Drawing.Size(173, 23); - this.rtbCarType.TabIndex = 1; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarType.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarType.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // rtbMesPointName - // - this.rtbMesPointName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbMesPointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbMesPointName.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbMesPointName.ForeColor = System.Drawing.Color.White; - this.rtbMesPointName.Location = new System.Drawing.Point(160, 102); - this.rtbMesPointName.Name = "rtbMesPointName"; - this.rtbMesPointName.Size = new System.Drawing.Size(173, 23); - this.rtbMesPointName.TabIndex = 2; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbMesPointName.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbMesPointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // rtbUpper - // - this.rtbUpper.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbUpper.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbUpper.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbUpper.ForeColor = System.Drawing.Color.White; - this.rtbUpper.Location = new System.Drawing.Point(160, 247); - this.rtbUpper.MaxLength = 15; - this.rtbUpper.Name = "rtbUpper"; - this.rtbUpper.Size = new System.Drawing.Size(173, 23); - this.rtbUpper.TabIndex = 5; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbUpper.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbUpper.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // rbtnCancel - // - this.rbtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rbtnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.rbtnCancel.Font = new System.Drawing.Font("微软雅黑", 11F); - this.rbtnCancel.ForeColor = System.Drawing.Color.White; - this.rbtnCancel.Location = new System.Drawing.Point(248, 338); - this.rbtnCancel.Name = "rbtnCancel"; - this.rbtnCancel.Size = new System.Drawing.Size(85, 30); - this.rbtnCancel.TabIndex = 10; - this.rbtnCancel.Text = "取消"; - this.rbtnCancel.Click += new System.EventHandler(this.rbtnCancel_Click); - this.rbtnCancel.MouseLeave += new System.EventHandler(this.btn_MouseLeave); - this.rbtnCancel.MouseHover += new System.EventHandler(this.btn_MouseHover); - ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnCancel.GetChildAt(0))).Text = "取消"; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - // - // rbtnOK - // - this.rbtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rbtnOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.rbtnOK.Font = new System.Drawing.Font("微软雅黑", 11F); - this.rbtnOK.ForeColor = System.Drawing.Color.White; - this.rbtnOK.Location = new System.Drawing.Point(120, 338); - this.rbtnOK.Name = "rbtnOK"; - this.rbtnOK.Size = new System.Drawing.Size(85, 30); - this.rbtnOK.TabIndex = 9; - this.rbtnOK.Text = "修改"; - this.rbtnOK.Click += new System.EventHandler(this.rbtnOK_Click); - this.rbtnOK.MouseLeave += new System.EventHandler(this.btn_MouseLeave); - this.rbtnOK.MouseHover += new System.EventHandler(this.btn_MouseHover); - ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnOK.GetChildAt(0))).Text = "修改"; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - // - // label1 - // - this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label1.AutoSize = true; - this.label1.Font = new System.Drawing.Font("宋体", 12F); - this.label1.ForeColor = System.Drawing.Color.Red; - this.label1.Location = new System.Drawing.Point(339, 65); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(15, 16); - this.label1.TabIndex = 35; - this.label1.Text = "*"; - // - // label3 - // - this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label3.AutoSize = true; - this.label3.Font = new System.Drawing.Font("宋体", 12F); - this.label3.ForeColor = System.Drawing.Color.Red; - this.label3.Location = new System.Drawing.Point(339, 250); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(15, 16); - this.label3.TabIndex = 36; - this.label3.Text = "*"; - // - // label4 - // - this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label4.AutoSize = true; - this.label4.Font = new System.Drawing.Font("宋体", 12F); - this.label4.ForeColor = System.Drawing.Color.Red; - this.label4.Location = new System.Drawing.Point(339, 217); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(15, 16); - this.label4.TabIndex = 37; - this.label4.Text = "*"; - // - // rtbLower - // - this.rtbLower.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbLower.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbLower.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbLower.ForeColor = System.Drawing.Color.White; - this.rtbLower.Location = new System.Drawing.Point(160, 210); - this.rtbLower.Name = "rtbLower"; - this.rtbLower.Size = new System.Drawing.Size(173, 23); - this.rtbLower.TabIndex = 4; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbLower.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbLower.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // rtbRemark - // - this.rtbRemark.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbRemark.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbRemark.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbRemark.ForeColor = System.Drawing.Color.White; - this.rtbRemark.Location = new System.Drawing.Point(163, 286); - this.rtbRemark.Name = "rtbRemark"; - this.rtbRemark.Size = new System.Drawing.Size(173, 23); - this.rtbRemark.TabIndex = 39; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbRemark.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbRemark.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // radLabel1 - // - this.radLabel1.AutoSize = false; - this.radLabel1.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel1.ForeColor = System.Drawing.Color.White; - this.radLabel1.Location = new System.Drawing.Point(9, 286); - this.radLabel1.Name = "radLabel1"; - this.radLabel1.Size = new System.Drawing.Size(148, 23); - this.radLabel1.TabIndex = 40; - this.radLabel1.Text = "备注:"; - this.radLabel1.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // label5 - // - this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label5.AutoSize = true; - this.label5.Font = new System.Drawing.Font("宋体", 12F); - this.label5.ForeColor = System.Drawing.Color.Red; - this.label5.Location = new System.Drawing.Point(339, 106); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(15, 16); - this.label5.TabIndex = 42; - this.label5.Text = "*"; - // - // rtbRangePointName - // - this.rtbRangePointName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbRangePointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbRangePointName.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbRangePointName.ForeColor = System.Drawing.Color.White; - this.rtbRangePointName.Location = new System.Drawing.Point(159, 142); - this.rtbRangePointName.Name = "rtbRangePointName"; - this.rtbRangePointName.Size = new System.Drawing.Size(173, 23); - this.rtbRangePointName.TabIndex = 43; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbRangePointName.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbRangePointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // radLabel6 - // - this.radLabel6.AutoSize = false; - this.radLabel6.Font = new System.Drawing.Font("微软雅黑", 9F); - this.radLabel6.ForeColor = System.Drawing.Color.Red; - this.radLabel6.Location = new System.Drawing.Point(159, 171); - this.radLabel6.Name = "radLabel6"; - this.radLabel6.Size = new System.Drawing.Size(194, 23); - this.radLabel6.TabIndex = 44; - this.radLabel6.Text = "极差包含点位必须用英文逗号隔开"; - // - // label6 - // - this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label6.AutoSize = true; - this.label6.Font = new System.Drawing.Font("宋体", 12F); - this.label6.ForeColor = System.Drawing.Color.Red; - this.label6.Location = new System.Drawing.Point(338, 145); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(15, 16); - this.label6.TabIndex = 45; - this.label6.Text = "*"; - // - // FEditRange - // - this.AcceptButton = this.rbtnOK; - 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(375, 399); - this.Controls.Add(this.label6); - this.Controls.Add(this.radLabel6); - this.Controls.Add(this.rtbRangePointName); - this.Controls.Add(this.label5); - this.Controls.Add(this.rtbRemark); - this.Controls.Add(this.radLabel1); - this.Controls.Add(this.rtbLower); - this.Controls.Add(this.label4); - this.Controls.Add(this.label3); - this.Controls.Add(this.label1); - this.Controls.Add(this.rbtnCancel); - this.Controls.Add(this.rbtnOK); - this.Controls.Add(this.rtbUpper); - this.Controls.Add(this.rtbMesPointName); - this.Controls.Add(this.rtbCarType); - this.Controls.Add(this.radLabel7); - this.Controls.Add(this.radLabel3); - this.Controls.Add(this.radLabel4); - this.Controls.Add(this.radLabel2); - this.Controls.Add(this.radLabel5); - 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.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "FEditRange"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "修改极差带"; - this.Load += new System.EventHandler(this.SFAddCNC_Load); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit(); - this.radTitleBar1.ResumeLayout(false); - this.radTitleBar1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbRemark)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbRangePointName)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).EndInit(); - 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.RadLabel radLabel7; - private Telerik.WinControls.UI.RadLabel radLabel3; - private Telerik.WinControls.UI.RadLabel radLabel4; - private Telerik.WinControls.UI.RadLabel radLabel2; - private Telerik.WinControls.UI.RadLabel radLabel5; - private Telerik.WinControls.UI.RadTextBox rtbCarType; - private Telerik.WinControls.UI.RadTextBox rtbMesPointName; - private Telerik.WinControls.UI.RadTextBox rtbUpper; - private Telerik.WinControls.UI.RadButton rbtnCancel; - private Telerik.WinControls.UI.RadButton rbtnOK; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.Label label4; - private Telerik.WinControls.UI.RadTextBox rtbLower; - private Telerik.WinControls.UI.RadTextBox rtbRemark; - private Telerik.WinControls.UI.RadLabel radLabel1; - private System.Windows.Forms.Label label5; - private Telerik.WinControls.UI.RadTextBox rtbRangePointName; - private Telerik.WinControls.UI.RadLabel radLabel6; - private System.Windows.Forms.Label label6; - } -} diff --git a/Analysis/Range/FEditRange.resx b/Analysis/Range/FEditRange.resx deleted file mode 100644 index a346816..0000000 --- a/Analysis/Range/FEditRange.resx +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAABqdJREFUWEe1lnlQE1ccx61HPXEqFEdtx0GtZ1uPTq3V1mPafxjbomO1VVtrj1E7 - VfHgMOQggCggoAUUCEqCEIwElQAaslnIJrsBkpAGstlkNxFF28HqqONU7WhFeX27SWg8qFHxN/Mdluzb - 9/38fu/93m6/5wkAwAAx6pqytEITue1M5Qbfzy8/JFbroJUVTaEK24UF62vM0UsravKSMancd/vlBsz6 - lXLi4qivq1qWTJRihklS9dUVVSWdKlJwwjfk5cU6pXX8UmXT1jlluDZUgt4ano90rVJJu3NNaZ11roSX - A8CWex9GjZlVii9/76i+8K1irDFcgl4elq8FU0tUIF6XCypJEQTg9S0AW+of1LbwbQg1O6besXqKDCsP - K0RvjCjQPhgCzYfmI2CFqgQcNKcBDZPQiTB9XAGlUjngG1XLynly4tjYooYrrClnXICCYQVaMLIQAQWW - NKCiRH0L8HE5MWruUf38KcU6bXhR/aWQfO2dofnerP1640gtWFktg+ZCoKH5zwWwGMMGrjtlDhOLQX/f - T95YVtUcEVnZ/O2YovorsNxd0Lwnc1YjCzVgtrwSZDZlArWLD6DxMwFkN1GhySbnwvVq20+LKogfFyux - Eb5b3thUb5uxTtMSEyHTgZBC9CFz9nq8tAYsh2tfDbNHYPZa5ukVEAPQX4x1DNltYibsNbs+5+OOrO/U - VjRCqpOOlWCv+4Z5IwanZuzQtcVEVZtB+OH6xwAiT5aBjMZMLnNWQQGw5kbHpD0m+pDA6Li0HrHdX3Dc - eH1IPiId8SSAGD0Zsw2zg3flOAgr8kKwmuZruxonzD4YANhJApyKFBLOXB7hcO4ykDfhvPc/OdkMwiT1 - /w8QizvAUpUJTD6qhy3Htp0WrK0tBgfhzoeGnLFfjwJkGOkQcSM5TUhQMXycqoDGzjicvBMH51x1uoVL - DJ4jvQPEQQB28Aa0FcyvMILQIi0YffgMt/FOOBJ7Mn8UgC212EiPS8AdHyUaqa1CI9UR7zOOM5Bgh56E - 8zWCccU6MPjQUwDi2YegvoTE8xT1IKqqFJ54j5sHAqQ0O6bDrDN24WRrrIF8wBn7tBOaf4/YOHN2PwUN - EA33wk6MAEesad1ql+AhAPa6DrbiMfuev9ONRzr4jc52mPE1WO67geasNuvawNtlOGxj72YOGoBvdPy5 - z2SyIcy+NoTh/8Oa+lViSwGJhgNgQ52sa01tzW0e7uj2P8f+9V9v1dnBarUVdlUDd4oGDRBvILv3mFyE - lLRlmC5IsrWM6MYZp6CbPX7lbUkgtiEPLKxQgMkldWDuMaLHNFBwKbjSL6ps6ummoJcgscl5p5jsSMc8 - njfPdaLj9WfTmQr77nvJ+AEwX6EEwwsQbsLRMLPeANiNF1ll4trZf54EDZBlcZcXtrZ/pqLpkGMkMzPL - hLasqK69OUFaDUZJ6rjW7A3Av/Yrai3gHW/bPQMATu0QGp3XS8kL0WXUxahsi3t1lsWTIySsv396Er8D - X1IPlfNRAM4clp7dwB/CNh57RNcz9qkACRCAh5PRaRbadcrduabUcSE23cygCYSDa6uoGjOYWqrvAWDl - B/BnzSoGAqzX/AYiZBiXfeB4Vr0CiE3UjOQm15bD9vNEajN9jU9Q9wIn3gLbKarGAtff206sRsN3xqMA - 2/V2ru1ek/xXrUD1CgDfVmEZZvp9UaMzehdu3wUn48NjWeDXTr1dsB1rzI5GpYY4XW5XPJYDeNjBv0SG - w6R/jNjYdDDXcpJIxPMAT58D2DGBim3IubUZLbAuq5KvnVlaOtxn7Y0cj2fwHtwTHmukZvemzObaJUdb - D2yXt6XckrcmdctbU66Ute7Vsvd+taBzZW3HtyrIHHM5bNVAye1J9xX2VEpBZiikbTk7N2pk0zZaJYN8 - 1sGH2pMzWEtnjEPdog6EFtwNfBmhrrwwgzt9k4bhX/YfWBqG1wX/vw3PkT907tT9eHvWp9ZOyTBushcJ - /dk0PsoktgUCNDCJ6xBaeNpv7pXQ3cAkFzZ3FERQlPJV7uG+iNPk9onwc7wYmlAsgOVi/kSdO6VUS/Ov - IHTCfZQWuRBGlIrQoi/wc3unYB2yIezXtu/xFw+lctWAOpr3s5YWKFgAon3/xnp3cjPKCDsamCTUelHG - M5zL/kBDiUN9j/R9EOdzZ+k8yb/At2NlgydJjTKiVtSdVKk/m/kVANjAPs34ScEaMJfVMw3t6bm6s6lp - qEc4R0mJ+26dgwn6qipE706fjsJ1VnvEI8VA/PC3/lOjX79/AdonQT85iOsDAAAAAElFTkSuQmCC - - - - - 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/Range/FRangeSetup.cs b/Analysis/Range/FRangeSetup.cs deleted file mode 100644 index bfb4273..0000000 --- a/Analysis/Range/FRangeSetup.cs +++ /dev/null @@ -1,144 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; -using System.Text.RegularExpressions; -using System.Collections; -using System.IO; -using System.Xml; - -using Telerik.WinControls.UI; -using DAL; - -namespace NSAnalysis -{ - public partial class FRangeSetup : Telerik.WinControls.UI.ShapedForm - { - private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL(); - public int idgvSelectRowNumber = 0; - - #region 鼠标事件 - - 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); - } - - #endregion 鼠标事件 - - public FRangeSetup() - { - InitializeComponent(); - } - - private void FToleranceSetup_Load(object sender, EventArgs e) - { - dgvTolList.ColumnHeadersDefaultCellStyle.Font = new Font("Segoe UI", 10, FontStyle.Regular); - lpcAddTol.labPicture.Click += lpcAddTol_Click; - lpcAddTol.labText.Click += lpcAddTol_Click; - rtbnSearch_Click(null, null); - } - - public void rtbnSearch_Click(object sender, EventArgs e) - { - DataTable dt = tmdal.SelectAllRangeByCondition(rtbCarModel.Text.Trim(), rtbMesPointName.Text.Trim()); - - if (dt.Rows.Count > 0) - { - dgvTolList.DataSource = dt; - SetdgvRowBgColor(dgvTolList); - labSearchResult.Visible = false; - } - else - { - dgvTolList.DataSource = dt; - labSearchResult.Visible = true; - } - } - - /// - /// 设置DataGridView各行变色 - /// - /// DataGridView - public void SetdgvRowBgColor(DataGridView dgv) - { - 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); - } - } - } - } - - private void dgvTolList_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e) - { - e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1); - } - - private void lpcAddTol_Click(object sender, EventArgs e) - { - FAddRange fat = new FAddRange(this); - fat.ShowDialog(this); - } - - private void dgvTolList_CellContentClick(object sender, DataGridViewCellEventArgs e) - { - string buttonText = ""; - if (e.RowIndex < 0 || e.ColumnIndex < 0) - { - return; - } - try - { - buttonText = dgvTolList.Columns[e.ColumnIndex].HeaderText; - } - catch (Exception) - { - buttonText = " "; - } - if (buttonText == "删除") - { - if (DialogResult.Yes == MessageBox.Show("您确定要删除该条极差带信息吗,注意:删除后不可恢复!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)) - { - string iObjIDPk = dgvTolList.Rows[e.RowIndex].Cells["Id"].Value.ToString(); - try - { - tmdal.DeleteOneRange(iObjIDPk); - } - catch (Exception ex) - { - MessageBox.Show("删除极差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - MessageBox.Show("删除极差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - rtbnSearch_Click(null, null); - } - } - - if (buttonText == "修改" || buttonText == "Edit") - { - idgvSelectRowNumber = e.RowIndex; - FEditRange sfeditcnc = new FEditRange(this); - sfeditcnc.ShowDialog(); - } - } - } -} \ No newline at end of file diff --git a/Analysis/Range/FRangeSetup.designer.cs b/Analysis/Range/FRangeSetup.designer.cs deleted file mode 100644 index f3d9f64..0000000 --- a/Analysis/Range/FRangeSetup.designer.cs +++ /dev/null @@ -1,522 +0,0 @@ -namespace NSAnalysis -{ - partial class FRangeSetup - { - /// - /// 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() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FRangeSetup)); - 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(); - this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar(); - this.label2 = new System.Windows.Forms.Label(); - this.labTitle = new System.Windows.Forms.Label(); - this.dgvTolList = new System.Windows.Forms.DataGridView(); - this.radGroupBox7 = new Telerik.WinControls.UI.RadGroupBox(); - this.rtbnSearch = new Telerik.WinControls.UI.RadButton(); - this.rtbDimensionName = new Telerik.WinControls.UI.RadTextBox(); - this.label3 = new System.Windows.Forms.Label(); - this.rtbMesPointName = new Telerik.WinControls.UI.RadTextBox(); - this.label1 = new System.Windows.Forms.Label(); - this.rtbCarModel = new Telerik.WinControls.UI.RadTextBox(); - this.label15 = new System.Windows.Forms.Label(); - this.dataGridViewImageColumn1 = new System.Windows.Forms.DataGridViewImageColumn(); - this.dataGridViewImageColumn2 = new System.Windows.Forms.DataGridViewImageColumn(); - this.lpcAddTol = new UserControlClass.LabPictureControl(); - this.labSearchResult = new System.Windows.Forms.Label(); - this.Id = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.CarType = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.MeasurePointName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.DimensionName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.TolLower = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.TolUpper = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.Remark = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.CNCEdit = new System.Windows.Forms.DataGridViewImageColumn(); - this.CNCDelete = new System.Windows.Forms.DataGridViewImageColumn(); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit(); - this.radTitleBar1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dgvTolList)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radGroupBox7)).BeginInit(); - this.radGroupBox7.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.rtbnSearch)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbDimensionName)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbCarModel)).BeginInit(); - 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(930, 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(367, -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(409, 8); - this.labTitle.Name = "labTitle"; - this.labTitle.Size = new System.Drawing.Size(107, 25); - this.labTitle.TabIndex = 0; - this.labTitle.Text = "极差带设置"; - // - // dgvTolList - // - this.dgvTolList.AllowUserToAddRows = false; - this.dgvTolList.AllowUserToDeleteRows = false; - this.dgvTolList.AllowUserToOrderColumns = true; - this.dgvTolList.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.dgvTolList.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; - this.dgvTolList.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.dgvTolList.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.dgvTolList.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", 11F); - 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.dgvTolList.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1; - this.dgvTolList.ColumnHeadersHeight = 40; - this.dgvTolList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { - this.Id, - this.CarType, - this.MeasurePointName, - this.DimensionName, - this.TolLower, - this.TolUpper, - this.Remark, - this.CNCEdit, - this.CNCDelete}); - this.dgvTolList.EnableHeadersVisualStyles = false; - this.dgvTolList.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(181)))), ((int)(((byte)(200))))); - this.dgvTolList.Location = new System.Drawing.Point(22, 153); - this.dgvTolList.Name = "dgvTolList"; - this.dgvTolList.ReadOnly = true; - this.dgvTolList.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", 11F); - 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.dgvTolList.RowHeadersDefaultCellStyle = dataGridViewCellStyle2; - this.dgvTolList.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", 9.75F); - dataGridViewCellStyle3.ForeColor = System.Drawing.Color.White; - dataGridViewCellStyle3.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - this.dgvTolList.RowsDefaultCellStyle = dataGridViewCellStyle3; - this.dgvTolList.RowTemplate.DefaultCellStyle.Font = new System.Drawing.Font("Segoe UI", 11F); - this.dgvTolList.RowTemplate.Height = 40; - this.dgvTolList.Size = new System.Drawing.Size(887, 775); - this.dgvTolList.TabIndex = 17; - this.dgvTolList.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvTolList_CellContentClick); - this.dgvTolList.RowStateChanged += new System.Windows.Forms.DataGridViewRowStateChangedEventHandler(this.dgvTolList_RowStateChanged); - // - // radGroupBox7 - // - this.radGroupBox7.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping; - this.radGroupBox7.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.radGroupBox7.Controls.Add(this.rtbnSearch); - this.radGroupBox7.Controls.Add(this.rtbDimensionName); - this.radGroupBox7.Controls.Add(this.label3); - this.radGroupBox7.Controls.Add(this.rtbMesPointName); - this.radGroupBox7.Controls.Add(this.label1); - this.radGroupBox7.Controls.Add(this.rtbCarModel); - this.radGroupBox7.Controls.Add(this.label15); - this.radGroupBox7.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.radGroupBox7.HeaderAlignment = Telerik.WinControls.UI.HeaderAlignment.Center; - this.radGroupBox7.HeaderText = "查询条件"; - this.radGroupBox7.Location = new System.Drawing.Point(160, 51); - this.radGroupBox7.Name = "radGroupBox7"; - // - // - // - this.radGroupBox7.RootElement.ShadowDepth = 2; - this.radGroupBox7.Size = new System.Drawing.Size(749, 94); - this.radGroupBox7.TabIndex = 456; - this.radGroupBox7.Text = "查询条件"; - ((Telerik.WinControls.UI.RadGroupBoxElement)(this.radGroupBox7.GetChildAt(0))).HeaderAlignment = Telerik.WinControls.UI.HeaderAlignment.Center; - ((Telerik.WinControls.UI.GroupBoxContent)(this.radGroupBox7.GetChildAt(0).GetChildAt(0))).Opacity = 1D; - ((Telerik.WinControls.Primitives.FillPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.Transparent; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(0).GetChildAt(1))).Width = 1F; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(0).GetChildAt(1))).BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Solid; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(0).GetChildAt(1))).GradientStyle = Telerik.WinControls.GradientStyles.Solid; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(0).GetChildAt(1))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); - ((Telerik.WinControls.UI.GroupBoxHeader)(this.radGroupBox7.GetChildAt(0).GetChildAt(1))).GroupBoxStyle = Telerik.WinControls.UI.RadGroupBoxStyle.Standard; - ((Telerik.WinControls.Primitives.FillPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(0))).ForeColor = System.Drawing.Color.White; - ((Telerik.WinControls.Primitives.FillPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - ((Telerik.WinControls.Primitives.FillPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(0))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None; - ((Telerik.WinControls.Primitives.TextPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(2).GetChildAt(1))).Text = "查询条件"; - ((Telerik.WinControls.Primitives.TextPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(2).GetChildAt(1))).LineLimit = false; - ((Telerik.WinControls.Primitives.TextPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(2).GetChildAt(1))).ForeColor = System.Drawing.Color.White; - ((Telerik.WinControls.Primitives.TextPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(2).GetChildAt(1))).Alignment = System.Drawing.ContentAlignment.MiddleLeft; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(2).GetChildAt(1))).BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Solid; - // - // rtbnSearch - // - this.rtbnSearch.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.rtbnSearch.Font = new System.Drawing.Font("Segoe UI", 12F); - this.rtbnSearch.ForeColor = System.Drawing.Color.White; - this.rtbnSearch.Location = new System.Drawing.Point(626, 28); - this.rtbnSearch.Name = "rtbnSearch"; - this.rtbnSearch.Size = new System.Drawing.Size(88, 51); - this.rtbnSearch.TabIndex = 461; - this.rtbnSearch.Text = "查询"; - this.rtbnSearch.Click += new System.EventHandler(this.rtbnSearch_Click); - this.rtbnSearch.MouseLeave += new System.EventHandler(this.btn_MouseLeave); - this.rtbnSearch.MouseHover += new System.EventHandler(this.btn_MouseHover); - ((Telerik.WinControls.UI.RadButtonElement)(this.rtbnSearch.GetChildAt(0))).Text = "查询"; - ((Telerik.WinControls.UI.RadButtonElement)(this.rtbnSearch.GetChildAt(0))).FocusBorderWidth = 5; - ((Telerik.WinControls.UI.RadButtonElement)(this.rtbnSearch.GetChildAt(0))).EnableHighlight = true; - ((Telerik.WinControls.UI.RadButtonElement)(this.rtbnSearch.GetChildAt(0))).EnableBorderHighlight = true; - ((Telerik.WinControls.UI.RadButtonElement)(this.rtbnSearch.GetChildAt(0))).BorderHighlightThickness = 3; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).Width = 2F; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).LeftWidth = 3F; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).TopWidth = 3F; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).RightWidth = 3F; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).BottomWidth = 3F; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Solid; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).GradientStyle = Telerik.WinControls.GradientStyles.Solid; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).ForeColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - // - // rtbDimensionName - // - this.rtbDimensionName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbDimensionName.Font = new System.Drawing.Font("Segoe UI", 12F); - this.rtbDimensionName.ForeColor = System.Drawing.Color.White; - this.rtbDimensionName.Location = new System.Drawing.Point(443, 51); - this.rtbDimensionName.Name = "rtbDimensionName"; - this.rtbDimensionName.ReadOnly = true; - this.rtbDimensionName.Size = new System.Drawing.Size(140, 27); - this.rtbDimensionName.TabIndex = 460; - this.rtbDimensionName.Text = "G"; - this.rtbDimensionName.Visible = false; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbDimensionName.GetChildAt(0))).Text = "G"; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbDimensionName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Font = new System.Drawing.Font("Segoe UI", 12F); - this.label3.ForeColor = System.Drawing.Color.White; - this.label3.Location = new System.Drawing.Point(443, 27); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(95, 21); - this.label3.TabIndex = 459; - this.label3.Text = "尺寸名称:"; - this.label3.Visible = false; - // - // rtbMesPointName - // - this.rtbMesPointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbMesPointName.Font = new System.Drawing.Font("Segoe UI", 12F); - this.rtbMesPointName.ForeColor = System.Drawing.Color.White; - this.rtbMesPointName.Location = new System.Drawing.Point(237, 52); - this.rtbMesPointName.Name = "rtbMesPointName"; - this.rtbMesPointName.Size = new System.Drawing.Size(140, 27); - this.rtbMesPointName.TabIndex = 458; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbMesPointName.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbMesPointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Font = new System.Drawing.Font("Segoe UI", 12F); - this.label1.ForeColor = System.Drawing.Color.White; - this.label1.Location = new System.Drawing.Point(233, 28); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(129, 21); - this.label1.TabIndex = 457; - this.label1.Text = "测量点位名称:"; - // - // rtbCarModel - // - this.rtbCarModel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbCarModel.Font = new System.Drawing.Font("Segoe UI", 12F); - this.rtbCarModel.ForeColor = System.Drawing.Color.White; - this.rtbCarModel.Location = new System.Drawing.Point(42, 52); - this.rtbCarModel.Name = "rtbCarModel"; - this.rtbCarModel.Size = new System.Drawing.Size(140, 27); - this.rtbCarModel.TabIndex = 456; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarModel.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarModel.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // label15 - // - this.label15.AutoSize = true; - this.label15.Font = new System.Drawing.Font("Segoe UI", 12F); - this.label15.ForeColor = System.Drawing.Color.White; - this.label15.Location = new System.Drawing.Point(42, 28); - this.label15.Name = "label15"; - this.label15.Size = new System.Drawing.Size(95, 21); - this.label15.TabIndex = 455; - this.label15.Text = "车身类型:"; - // - // dataGridViewImageColumn1 - // - this.dataGridViewImageColumn1.HeaderText = "修改"; - this.dataGridViewImageColumn1.Image = ((System.Drawing.Image)(resources.GetObject("dataGridViewImageColumn1.Image"))); - this.dataGridViewImageColumn1.Name = "dataGridViewImageColumn1"; - this.dataGridViewImageColumn1.ReadOnly = true; - this.dataGridViewImageColumn1.ToolTipText = "点击修改机床信息"; - this.dataGridViewImageColumn1.Width = 45; - // - // dataGridViewImageColumn2 - // - this.dataGridViewImageColumn2.HeaderText = "删除"; - this.dataGridViewImageColumn2.Image = ((System.Drawing.Image)(resources.GetObject("dataGridViewImageColumn2.Image"))); - this.dataGridViewImageColumn2.Name = "dataGridViewImageColumn2"; - this.dataGridViewImageColumn2.ReadOnly = true; - this.dataGridViewImageColumn2.ToolTipText = "点击删除机床信息"; - this.dataGridViewImageColumn2.Width = 45; - // - // lpcAddTol - // - this.lpcAddTol.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.lpcAddTol.Font = new System.Drawing.Font("Segoe UI", 9.75F); - this.lpcAddTol.ForeColor = System.Drawing.Color.White; - this.lpcAddTol.LabelPoint = new System.Drawing.Point(2, 59); - this.lpcAddTol.LabelText = "添加公差带"; - this.lpcAddTol.LabelTopImage = global::NSAnalysis.Properties.Resources.add_32; - this.lpcAddTol.Location = new System.Drawing.Point(22, 60); - this.lpcAddTol.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); - this.lpcAddTol.Name = "lpcAddTol"; - this.lpcAddTol.Size = new System.Drawing.Size(115, 85); - this.lpcAddTol.TabIndex = 18; - this.lpcAddTol.Click += new System.EventHandler(this.lpcAddTol_Click); - // - // labSearchResult - // - this.labSearchResult.Anchor = System.Windows.Forms.AnchorStyles.None; - this.labSearchResult.AutoSize = true; - this.labSearchResult.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.labSearchResult.Font = new System.Drawing.Font("Segoe UI", 12F); - this.labSearchResult.ForeColor = System.Drawing.Color.Red; - this.labSearchResult.Location = new System.Drawing.Point(240, 465); - this.labSearchResult.Name = "labSearchResult"; - this.labSearchResult.Size = new System.Drawing.Size(452, 21); - this.labSearchResult.TabIndex = 457; - this.labSearchResult.Text = "查询完毕,未查询到任何结果,请检查查询条件是否正确!"; - this.labSearchResult.Visible = false; - // - // Id - // - this.Id.DataPropertyName = "Id"; - this.Id.HeaderText = "Id"; - this.Id.Name = "Id"; - this.Id.ReadOnly = true; - this.Id.Visible = false; - this.Id.Width = 46; - // - // CarType - // - this.CarType.DataPropertyName = "CarType"; - this.CarType.HeaderText = "车身类型"; - this.CarType.Name = "CarType"; - this.CarType.ReadOnly = true; - this.CarType.Width = 97; - // - // MeasurePointName - // - this.MeasurePointName.DataPropertyName = "RangeName"; - this.MeasurePointName.HeaderText = "极差编号名称"; - this.MeasurePointName.Name = "MeasurePointName"; - this.MeasurePointName.ReadOnly = true; - this.MeasurePointName.Width = 129; - // - // DimensionName - // - this.DimensionName.DataPropertyName = "RangePoint"; - this.DimensionName.HeaderText = "极差包含点位"; - this.DimensionName.Name = "DimensionName"; - this.DimensionName.ReadOnly = true; - this.DimensionName.Width = 129; - // - // TolLower - // - this.TolLower.DataPropertyName = "RangeLower"; - this.TolLower.HeaderText = "下限值"; - this.TolLower.Name = "TolLower"; - this.TolLower.ReadOnly = true; - this.TolLower.Width = 81; - // - // TolUpper - // - this.TolUpper.DataPropertyName = "RangeUpper"; - this.TolUpper.HeaderText = "上限值"; - this.TolUpper.Name = "TolUpper"; - this.TolUpper.ReadOnly = true; - this.TolUpper.Width = 81; - // - // Remark - // - this.Remark.DataPropertyName = "Remark"; - this.Remark.HeaderText = "备注"; - this.Remark.Name = "Remark"; - this.Remark.ReadOnly = true; - this.Remark.Width = 65; - // - // CNCEdit - // - this.CNCEdit.HeaderText = "修改"; - this.CNCEdit.Image = ((System.Drawing.Image)(resources.GetObject("CNCEdit.Image"))); - this.CNCEdit.Name = "CNCEdit"; - this.CNCEdit.ReadOnly = true; - this.CNCEdit.ToolTipText = "点击修改极差信息"; - this.CNCEdit.Width = 46; - // - // CNCDelete - // - this.CNCDelete.HeaderText = "删除"; - this.CNCDelete.Image = ((System.Drawing.Image)(resources.GetObject("CNCDelete.Image"))); - this.CNCDelete.Name = "CNCDelete"; - this.CNCDelete.ReadOnly = true; - this.CNCDelete.ToolTipText = "点击删除极差信息"; - this.CNCDelete.Width = 46; - // - // FRangeSetup - // - this.AcceptButton = this.rtbnSearch; - 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(932, 950); - this.Controls.Add(this.labSearchResult); - this.Controls.Add(this.radGroupBox7); - this.Controls.Add(this.lpcAddTol); - this.Controls.Add(this.dgvTolList); - 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 = "FRangeSetup"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "极差带设置"; - this.Load += new System.EventHandler(this.FToleranceSetup_Load); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit(); - this.radTitleBar1.ResumeLayout(false); - this.radTitleBar1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dgvTolList)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radGroupBox7)).EndInit(); - this.radGroupBox7.ResumeLayout(false); - this.radGroupBox7.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.rtbnSearch)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbDimensionName)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbCarModel)).EndInit(); - 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 UserControlClass.LabPictureControl lpcAddTol; - public System.Windows.Forms.DataGridView dgvTolList; - private System.Windows.Forms.DataGridViewImageColumn dataGridViewImageColumn1; - private System.Windows.Forms.DataGridViewImageColumn dataGridViewImageColumn2; - private Telerik.WinControls.UI.RadGroupBox radGroupBox7; - private Telerik.WinControls.UI.RadTextBox rtbDimensionName; - private System.Windows.Forms.Label label3; - private Telerik.WinControls.UI.RadTextBox rtbMesPointName; - private System.Windows.Forms.Label label1; - private Telerik.WinControls.UI.RadTextBox rtbCarModel; - private System.Windows.Forms.Label label15; - private Telerik.WinControls.UI.RadButton rtbnSearch; - private System.Windows.Forms.Label labSearchResult; - private System.Windows.Forms.DataGridViewTextBoxColumn Id; - private System.Windows.Forms.DataGridViewTextBoxColumn CarType; - private System.Windows.Forms.DataGridViewTextBoxColumn MeasurePointName; - private System.Windows.Forms.DataGridViewTextBoxColumn DimensionName; - private System.Windows.Forms.DataGridViewTextBoxColumn TolLower; - private System.Windows.Forms.DataGridViewTextBoxColumn TolUpper; - private System.Windows.Forms.DataGridViewTextBoxColumn Remark; - private System.Windows.Forms.DataGridViewImageColumn CNCEdit; - private System.Windows.Forms.DataGridViewImageColumn CNCDelete; - } -} diff --git a/Analysis/Range/FRangeSetup.resx b/Analysis/Range/FRangeSetup.resx deleted file mode 100644 index af4acbe..0000000 --- a/Analysis/Range/FRangeSetup.resx +++ /dev/null @@ -1,332 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAACcQAAAnEAGUaVEZAAAAB3RJ - TUUH4wEJBBo3E/VSvgAAAfdJREFUOE+VkF1IU2EYx593uoKkAq+ii6C7qBmkQh8SWAR9XIgO1Loob4I2 - CCIkbyILAi+jIAgqw7IgaqJURsWCTffh5tuO66xpgTQ7LG+sseOZuEr/PQcOS7Pa+sEP3ov/7714qBQM - wyDtZhd5icoS1fb6ZI3dwdI4W5SFl000n7xHAIRs3nlKVpXN8Ccqx3ui28qt1V+Aco0Wg+cIFSTmsmm3 - JsN6yFkL6RBQd9hV6Sh3WNOVmDGU64TPEIhedOcj7bqWUpCOS8iW3Xi9Wcw82WCrt+bLKcSJYcFvN0ZP - 6wgeRD7UBuPLByR9Xv1hzRZXO9/ESn7xxzjSBIT3A8/Wwni6Tw8GBt0b+SY9bSesyuKf8eB6oJd0dJML - lSTCPcfpvsdjlUzxWHAsXOi0iW+3KyjXXWmVTMlx1yqBWzYyLZBJx2l+oo/QWyUQu/p/sUkmPUYqHyQ/ - 8di1KM9w3Fh6bJJJv2UT27OfItN59TLHBzheV1ps8vXjCGU1eVafCmNu8gV+hFqBB6s55msXi02m3/vW - zKYCz3OTXuTG+xf06A3te1/dyTsAjYYGaCimsLEVFmhobKj13L2ipWT/7LvAo1eRoYEO/xvlCIeHeLjU - w+xWdvkHu+r2bjp/6cJR/8jwMV9szOlX4k4eNLMtv9nKVrNLPiD6CcD+vhesM7RbAAAAAElFTkSuQmCC - - - - True - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH5AECByowmpX4DgAAA4VJREFU - OE9tkntMU1ccx799XKCtK1LSFuhgUB8B10sJUG5ZC0u4itt8DdFJm4CwBIZEcYaXW9xwiWFbtriHbsn+ - cQ+nyDLBPSymCMmcJGUkU7olIg+dlIGUIgyxXMrI2bnVGP/YST73/vJ9JL+cHIhHaNoOoWErltytED46 - iAdRQHBvRtgTjzgTQiB8Wgeh9WMI1TYINXkPzdnqfCw0bINw1Bm5fHx/ZejIbuviJ3WY4YCA04QZipfm - Fj/cj9BRZ/pyc0n1UiWnWqh5HrOVuTR0YBOmyjKZ4BvFh0OHNgtLbzv+mG8q4uY/qMWdTOB9Wp5/bx/m - 33KwQrPTE6rduBxs3P5uoDRDEaiiW4xV2Ji5+h1ND8rMwUW7jCwWp5D7b77i9b++lQscew3TzRWYbtzF - 3j9S4glSL0gzC6Xm0OyhLS3jpVkqTDZXxd0rt/bN5TFkzoow/+xMITONxd6xfYU5vtptpnuHd3tETfRm - RewMmSm3/j7RsOcZ+OmKE+X5/N1C/YjfKiF+DmECLyeTu3VFN6bqiwem6TxFtTA0M7lJP/J3WR4/KV7i - X8ca4M+V4bbTzo8VaEfGcyRkPAdk3AIy8WI8mXjJQHx09lHNR707NHPLYeOnxM479cDtgw7cbKyBzyrD - 4E4LP5yvGRq1SMhoNsho1iPEmWrUuzlYZOF9VikG66tx60CJuAPgLX0B/ZV7cO05Hfo3m6r+zFWHbtDi - k1Dt377CDbUDuVr86tgIzy7bw/JXWauRzANuqxEu+1pTr83Qey07ggxkIsz1R4jaVVvC9Yv2FM7NGfEF - p8TXtAtFEfCj+Wm0W5LYHove05fJkH768H77HzzU67bovN9nG7ifaOd4Nn2ynamJOMvq2U5zrOdKBkOu - mvGYX9IVYyJPalfMcuIya7zfslqud50ROG3Uay+kRfdcZuWkJx2P6Xo2ctiVpuNdqTrevSFyuJsF6aa6 - +O9iZaQ9Vd13am1sEtoSE1f9YFx1wpUmXblEzUsmkJ/Xy0c6kqP5blaOyyYZxFnUOqnXSTMXafZCiurE - 2cS4p9AWr8Hp1THq7wwRJzvWS1ba10iHzsUpCrpYCc7oDDijTYCbBc7FRRWcN0qHOtZJVtoSmJPfqKPV - rfH0EgFG/EgqFMqkzzXyUy2ayFehiFUhgpFJVCp6y0oakcsQpVG2xERUfBYj+3KvQpEESCWAEv8B4hme - YYujYuAAAAAASUVORK5CYII= - - - - - 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 - YYujYuAAAAAASUVORK5CYII= - - - - - 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/Tolerance/FAddTolerance.cs b/Analysis/Tolerance/FAddTolerance.cs index 359cee2..e5c3d78 100644 --- a/Analysis/Tolerance/FAddTolerance.cs +++ b/Analysis/Tolerance/FAddTolerance.cs @@ -1,5 +1,6 @@ using BaseFunction; using DAL; +using NSAnalysis.Model; using System; using System.Drawing; using System.Windows.Forms; @@ -8,152 +9,194 @@ using Telerik.WinControls.UI; namespace NSAnalysis { public partial class FAddTolerance : Telerik.WinControls.UI.ShapedForm - { - #region 全局变量 + { + #region 全局变量 - //private TMeasureSQLiteDAL tmdal = new TMeasureSQLiteDAL(); + private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL(); + private FToleranceSetup gFTS; - private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL(); - private FToleranceSetup gFTS; + #endregion 全局变量 - #endregion 全局变量 + #region 鼠标事件 - #region 鼠标事件 + private void btn_MouseHover(object sender, EventArgs e) + { + RadButton btn = sender as RadButton; + btn.BackColor = Color.FromArgb(0, 151, 186); + } - 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); + } - private void btn_MouseLeave(object sender, EventArgs e) - { - RadButton btn = sender as RadButton; - btn.BackColor = Color.FromArgb(19, 46, 53); - } + #endregion 鼠标事件 - #endregion 鼠标事件 + public FAddTolerance(FToleranceSetup fts) + { + InitializeComponent(); - private void InitLanguage() - { - if (!ConfigDfn.bLanguage) - { - this.Text = "Add Tolerance"; - labTitle.Text = "Add Tolerance"; - radLabel5.Text = "CNC ID : "; - radLabel2.Text = "CNC Name : "; - radLabel4.Text = "CNC Location : "; - radLabel3.Text = "CNC Type : "; - radLabel7.Text = "CNC IP : "; - radLabel1.Text = "Remark : "; - rbtnOK.Text = "Add"; - rbtnCancel.Text = "Cancel"; - } - } + gFTS = fts; + } - public FAddTolerance(FToleranceSetup fts) - { - InitializeComponent(); - InitLanguage(); - gFTS = fts; - } + private void SFAddCNC_Load(object sender, EventArgs e) + { + rddl_ReadType.SelectedIndex = 0; + rddl_Position.SelectedIndex = 0; + rddl_Status.SelectedIndex = 0; + } - private void SFAddCNC_Load(object sender, EventArgs e) - { - rddlDimensionName.SelectedIndex = 0; - } + private void rbtnOK_Click(object sender, EventArgs e) + { + #region 防愚操作 - private void rbtnOK_Click(object sender, EventArgs e) - { - #region 防愚操作 + string strCarName = rtbCarName.Text.Trim(); + string strCarType = rtbCarType.Text.Trim(); + string strReadType = rddl_ReadType.Text.Trim(); + string strPosition = rddl_Position.Text.Trim(); + string strStatus = rddl_Status.Text.Trim(); - string strCarType = rtbCarType.Text.Trim(); - string strMesPointName = rtbMesPointName.Text.Trim(); + if (string.IsNullOrEmpty(rtbCarName.Text.Trim())) + { + MessageBox.Show("车型名称不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } - string strDimensionName = rddlDimensionName.Text.Trim(); - if (string.IsNullOrEmpty(rtbCarType.Text.Trim())) - { - MessageBox.Show("车身类型不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } + if (string.IsNullOrEmpty(rtbCarType.Text.Trim())) + { + MessageBox.Show("车型代码不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } + if (string.IsNullOrEmpty(rtb_sourceFilePath.Text.Trim())) + { + MessageBox.Show("源文件路径不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } + if (string.IsNullOrEmpty(rtb_targetFilePath.Text.Trim())) + { + MessageBox.Show("目标文件路径不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } - if (string.IsNullOrEmpty(rtbMesPointName.Text.Trim())) - { - MessageBox.Show("测量点位名称不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - if (string.IsNullOrEmpty(rtbLower.Text.Trim())) - { - MessageBox.Show("下限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - if (string.IsNullOrEmpty(rtbUpper.Text.Trim())) - { - MessageBox.Show("上限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - if (!string.IsNullOrEmpty(rtbLower.Text.Trim())) - { - try - { - double dtemp = double.Parse(rtbLower.Text.Trim()); - } - catch (Exception) - { - MessageBox.Show("下限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - } - if (!string.IsNullOrEmpty(rtbUpper.Text.Trim())) - { - try - { - double dtemp = double.Parse(rtbUpper.Text.Trim()); - } - catch (Exception) - { - MessageBox.Show("上限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - } - if (tmdal.CheckMeaPointNameExit(strCarType, strMesPointName, strDimensionName)) - { - MessageBox.Show("该车身类型下,已经存在该测量点位名称和尺寸名称,请修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + // 对于分发配置,strReadType 进行转换 ,文件内容 对应1 文件名称对应2 + if (string.IsNullOrEmpty(strReadType) || (strReadType != "文件内容" && strReadType != "文件名称")) + { + MessageBox.Show("请选择正确的读取类型! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } - return; - } + if (strReadType.Equals("文件名称")) + { + strReadType = "2"; // 文件名称 + } + else if (strReadType.Equals("文件内容")) + { + strReadType = "1"; // 文件内容 + } - #endregion 防愚操作 + if (tmdal.CheckTaskExit(strCarName, strCarType, strReadType)) + { + MessageBox.Show("该车身类型下,已经存在该测量点位名称和尺寸名称,请修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - TToleranceModel ttm = new TToleranceModel(); - ttm.CarType = strCarType; - ttm.MeasurePointName = strMesPointName; - ttm.DimensionName = strDimensionName; - ttm.TolLower = double.Parse(rtbLower.Text.Trim()); - ttm.TolUpper = double.Parse(rtbUpper.Text.Trim()); - ttm.Remark = rtbRemark.Text.Trim(); - ttm.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + return; + } - try - { - tmdal.InsertTTolerance(ttm); - } - catch (Exception ex) - { - MessageBox.Show("添加公差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + #endregion 防愚操作 - MyBase.TraceWriteLine("添加公差带信息失败,原因:" + ex.ToString()); - return; - } + //数据转换 + if (strPosition.Equals("左侧")) + { + strPosition = "R"; // 左侧 + } + else if (strPosition.Equals("右侧")) + { + strPosition = "L"; // 右侧 + } - MessageBox.Show("添加公差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + if(strStatus.Equals("启动")) + { + strStatus = "start"; // 启动 + } + else if (strStatus.Equals("停止")) + { + strStatus = "stop"; // 停止 + } - gFTS.rtbnSearch_Click(null, null); - } + //添加分发配置 + CJLR_TASK_RELEASE cJLR_TASK_RELEASE = new CJLR_TASK_RELEASE(); + cJLR_TASK_RELEASE.ModelsName = strCarName; + cJLR_TASK_RELEASE.ModelsCode = strCarType; + cJLR_TASK_RELEASE.Position = strPosition; + cJLR_TASK_RELEASE.SourceFile = rtb_sourceFilePath.Text.Trim(); + cJLR_TASK_RELEASE.TargetFile = rtb_targetFilePath.Text.Trim(); + cJLR_TASK_RELEASE.ReadType = int.Parse(strReadType); + cJLR_TASK_RELEASE.IsDelete = 1; //默认未删除 - private void rbtnCancel_Click(object sender, EventArgs e) - { - this.Close(); - } - } + cJLR_TASK_RELEASE.Status = strStatus; + + try + { + tmdal.InsertTask(cJLR_TASK_RELEASE); + } + catch (Exception ex) + { + MessageBox.Show("添加分发配置失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + + MyBase.TraceWriteLine("添加分发配置失败,原因:" + ex.ToString()); + return; + } + + MessageBox.Show("添加分发配置成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + + gFTS.rtbnSearch_Click(null, null); + } + + private void rbtnCancel_Click(object sender, EventArgs e) + { + this.Close(); + } + + private void btn_sourceFile_Click(object sender, EventArgs e) //原路径 + { + // 创建 FolderBrowserDialog 实例 + FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog + { + Description = "选择源文件夹" + }; + + // 显示文件夹浏览对话框 + if (folderBrowserDialog.ShowDialog() == DialogResult.OK) + { + // 设置选中的文件夹路径到文本框 + rtb_sourceFilePath.Text = folderBrowserDialog.SelectedPath; + } + else + { + // 显示未选择文件夹的提示信息 + MessageBox.Show("未选择源文件夹", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + + private void btn_targetFile_Click(object sender, EventArgs e) //目标路径 + { + // 创建 FolderBrowserDialog 实例 + FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog + { + Description = "选择目标文件夹" + }; + + // 显示文件夹浏览对话框 + if (folderBrowserDialog.ShowDialog() == DialogResult.OK) + { + // 设置选中的文件夹路径到文本框 + rtb_targetFilePath.Text = folderBrowserDialog.SelectedPath; + } + else + { + // 显示未选择文件夹的提示信息 + MessageBox.Show("未选择目标文件夹", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + } } \ No newline at end of file diff --git a/Analysis/Tolerance/FAddTolerance.designer.cs b/Analysis/Tolerance/FAddTolerance.designer.cs index 62d665b..ea9da4a 100644 --- a/Analysis/Tolerance/FAddTolerance.designer.cs +++ b/Analysis/Tolerance/FAddTolerance.designer.cs @@ -28,410 +28,499 @@ /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FAddTolerance)); - Telerik.WinControls.UI.RadListDataItem radListDataItem1 = new Telerik.WinControls.UI.RadListDataItem(); - Telerik.WinControls.UI.RadListDataItem radListDataItem2 = new Telerik.WinControls.UI.RadListDataItem(); - this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar(); - this.label2 = new System.Windows.Forms.Label(); - this.labTitle = new System.Windows.Forms.Label(); - this.radLabel7 = new Telerik.WinControls.UI.RadLabel(); - this.radLabel3 = new Telerik.WinControls.UI.RadLabel(); - this.radLabel4 = new Telerik.WinControls.UI.RadLabel(); - this.radLabel2 = new Telerik.WinControls.UI.RadLabel(); - this.radLabel5 = new Telerik.WinControls.UI.RadLabel(); - this.rtbCarType = new Telerik.WinControls.UI.RadTextBox(); - this.rtbMesPointName = new Telerik.WinControls.UI.RadTextBox(); - this.rtbUpper = new Telerik.WinControls.UI.RadTextBox(); - this.rbtnCancel = new Telerik.WinControls.UI.RadButton(); - this.rbtnOK = new Telerik.WinControls.UI.RadButton(); - this.label1 = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.label4 = new System.Windows.Forms.Label(); - this.rtbLower = new Telerik.WinControls.UI.RadTextBox(); - this.rtbRemark = new Telerik.WinControls.UI.RadTextBox(); - this.radLabel1 = new Telerik.WinControls.UI.RadLabel(); - this.rddlDimensionName = new Telerik.WinControls.UI.RadDropDownList(); - this.label5 = new System.Windows.Forms.Label(); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit(); - this.radTitleBar1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbRemark)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rddlDimensionName)).BeginInit(); - this.SuspendLayout(); - // - // radTitleBar1 - // - this.radTitleBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FAddTolerance)); + 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(); + Telerik.WinControls.UI.RadListDataItem radListDataItem5 = new Telerik.WinControls.UI.RadListDataItem(); + this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar(); + this.label2 = new System.Windows.Forms.Label(); + this.labTitle = new System.Windows.Forms.Label(); + this.rbtnCancel = new Telerik.WinControls.UI.RadButton(); + this.rbtnOK = new Telerik.WinControls.UI.RadButton(); + this.btn_targetFile = new Telerik.WinControls.UI.RadButton(); + this.btn_sourceFile = new Telerik.WinControls.UI.RadButton(); + this.label9 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.rddl_Status = new Telerik.WinControls.UI.RadDropDownList(); + this.radLabel6 = new Telerik.WinControls.UI.RadLabel(); + this.rddl_Position = new Telerik.WinControls.UI.RadDropDownList(); + this.radLabel1 = new Telerik.WinControls.UI.RadLabel(); + this.rddl_ReadType = new Telerik.WinControls.UI.RadDropDownList(); + this.rtb_sourceFilePath = new Telerik.WinControls.UI.RadTextBox(); + this.rtb_targetFilePath = new Telerik.WinControls.UI.RadTextBox(); + this.rtbCarType = new Telerik.WinControls.UI.RadTextBox(); + this.rtbCarName = new Telerik.WinControls.UI.RadTextBox(); + this.radLabel7 = new Telerik.WinControls.UI.RadLabel(); + this.radLabel3 = new Telerik.WinControls.UI.RadLabel(); + this.radLabel4 = new Telerik.WinControls.UI.RadLabel(); + this.radLabel2 = new Telerik.WinControls.UI.RadLabel(); + this.radLabel5 = new Telerik.WinControls.UI.RadLabel(); + ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit(); + this.radTitleBar1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btn_targetFile)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btn_sourceFile)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rddl_Status)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rddl_Position)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rddl_ReadType)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtb_sourceFilePath)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtb_targetFilePath)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtbCarName)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).BeginInit(); + 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(373, 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(117, -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(159, 8); - this.labTitle.Name = "labTitle"; - this.labTitle.Size = new System.Drawing.Size(107, 25); - this.labTitle.TabIndex = 0; - this.labTitle.Text = "添加公差带"; - // - // radLabel7 - // - this.radLabel7.AutoSize = false; - this.radLabel7.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel7.ForeColor = System.Drawing.Color.White; - this.radLabel7.Location = new System.Drawing.Point(4, 219); - this.radLabel7.Name = "radLabel7"; - this.radLabel7.Size = new System.Drawing.Size(148, 23); - this.radLabel7.TabIndex = 29; - this.radLabel7.Text = "上限值:"; - this.radLabel7.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel3 - // - this.radLabel3.AutoSize = false; - this.radLabel3.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel3.ForeColor = System.Drawing.Color.White; - this.radLabel3.Location = new System.Drawing.Point(4, 181); - this.radLabel3.Name = "radLabel3"; - this.radLabel3.Size = new System.Drawing.Size(148, 23); - this.radLabel3.TabIndex = 28; - this.radLabel3.Text = "下限值:"; - this.radLabel3.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel4 - // - this.radLabel4.AutoSize = false; - this.radLabel4.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel4.ForeColor = System.Drawing.Color.White; - this.radLabel4.Location = new System.Drawing.Point(4, 141); - this.radLabel4.Name = "radLabel4"; - this.radLabel4.Size = new System.Drawing.Size(148, 23); - this.radLabel4.TabIndex = 27; - this.radLabel4.Text = "尺寸名称:"; - this.radLabel4.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel2 - // - this.radLabel2.AutoSize = false; - this.radLabel2.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel2.ForeColor = System.Drawing.Color.White; - this.radLabel2.Location = new System.Drawing.Point(4, 101); - this.radLabel2.Name = "radLabel2"; - this.radLabel2.Size = new System.Drawing.Size(148, 23); - this.radLabel2.TabIndex = 26; - this.radLabel2.Text = "测量点位名称:"; - this.radLabel2.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel5 - // - this.radLabel5.AutoSize = false; - this.radLabel5.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel5.ForeColor = System.Drawing.Color.White; - this.radLabel5.Location = new System.Drawing.Point(4, 60); - this.radLabel5.Name = "radLabel5"; - this.radLabel5.Size = new System.Drawing.Size(148, 23); - this.radLabel5.TabIndex = 25; - this.radLabel5.Text = "车身类型:"; - this.radLabel5.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // rtbCarType - // - this.rtbCarType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbCarType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbCarType.ForeColor = System.Drawing.Color.White; - this.rtbCarType.Location = new System.Drawing.Point(158, 60); - this.rtbCarType.Name = "rtbCarType"; - this.rtbCarType.Size = new System.Drawing.Size(173, 23); - this.rtbCarType.TabIndex = 1; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarType.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarType.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // rtbMesPointName - // - this.rtbMesPointName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbMesPointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbMesPointName.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbMesPointName.ForeColor = System.Drawing.Color.White; - this.rtbMesPointName.Location = new System.Drawing.Point(158, 101); - this.rtbMesPointName.Name = "rtbMesPointName"; - this.rtbMesPointName.Size = new System.Drawing.Size(173, 23); - this.rtbMesPointName.TabIndex = 2; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbMesPointName.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbMesPointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // rtbUpper - // - this.rtbUpper.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbUpper.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbUpper.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbUpper.ForeColor = System.Drawing.Color.White; - this.rtbUpper.Location = new System.Drawing.Point(158, 218); - this.rtbUpper.MaxLength = 15; - this.rtbUpper.Name = "rtbUpper"; - this.rtbUpper.Size = new System.Drawing.Size(173, 23); - this.rtbUpper.TabIndex = 5; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbUpper.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbUpper.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // rbtnCancel - // - this.rbtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rbtnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.rbtnCancel.Font = new System.Drawing.Font("微软雅黑", 11F); - this.rbtnCancel.ForeColor = System.Drawing.Color.White; - this.rbtnCancel.Location = new System.Drawing.Point(246, 312); - this.rbtnCancel.Name = "rbtnCancel"; - this.rbtnCancel.Size = new System.Drawing.Size(85, 30); - this.rbtnCancel.TabIndex = 10; - this.rbtnCancel.Text = "取消"; - this.rbtnCancel.Click += new System.EventHandler(this.rbtnCancel_Click); - this.rbtnCancel.MouseLeave += new System.EventHandler(this.btn_MouseLeave); - this.rbtnCancel.MouseHover += new System.EventHandler(this.btn_MouseHover); - ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnCancel.GetChildAt(0))).Text = "取消"; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - // - // rbtnOK - // - this.rbtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rbtnOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.rbtnOK.Font = new System.Drawing.Font("微软雅黑", 11F); - this.rbtnOK.ForeColor = System.Drawing.Color.White; - this.rbtnOK.Location = new System.Drawing.Point(118, 312); - this.rbtnOK.Name = "rbtnOK"; - this.rbtnOK.Size = new System.Drawing.Size(85, 30); - this.rbtnOK.TabIndex = 9; - this.rbtnOK.Text = "添加"; - this.rbtnOK.Click += new System.EventHandler(this.rbtnOK_Click); - this.rbtnOK.MouseLeave += new System.EventHandler(this.btn_MouseLeave); - this.rbtnOK.MouseHover += new System.EventHandler(this.btn_MouseHover); - ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnOK.GetChildAt(0))).Text = "添加"; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - // - // label1 - // - this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label1.AutoSize = true; - this.label1.Font = new System.Drawing.Font("宋体", 12F); - this.label1.ForeColor = System.Drawing.Color.Red; - this.label1.Location = new System.Drawing.Point(336, 221); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(15, 16); - this.label1.TabIndex = 34; - this.label1.Text = "*"; - // - // label3 - // - this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label3.AutoSize = true; - this.label3.Font = new System.Drawing.Font("宋体", 12F); - this.label3.ForeColor = System.Drawing.Color.Red; - this.label3.Location = new System.Drawing.Point(336, 184); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(15, 16); - this.label3.TabIndex = 35; - this.label3.Text = "*"; - // - // label4 - // - this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label4.AutoSize = true; - this.label4.Font = new System.Drawing.Font("宋体", 12F); - this.label4.ForeColor = System.Drawing.Color.Red; - this.label4.Location = new System.Drawing.Point(336, 66); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(15, 16); - this.label4.TabIndex = 36; - this.label4.Text = "*"; - // - // rtbLower - // - this.rtbLower.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbLower.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbLower.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbLower.ForeColor = System.Drawing.Color.White; - this.rtbLower.Location = new System.Drawing.Point(158, 181); - this.rtbLower.Name = "rtbLower"; - this.rtbLower.Size = new System.Drawing.Size(173, 23); - this.rtbLower.TabIndex = 4; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbLower.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbLower.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // rtbRemark - // - this.rtbRemark.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbRemark.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbRemark.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbRemark.ForeColor = System.Drawing.Color.White; - this.rtbRemark.Location = new System.Drawing.Point(158, 258); - this.rtbRemark.Name = "rtbRemark"; - this.rtbRemark.Size = new System.Drawing.Size(173, 23); - this.rtbRemark.TabIndex = 37; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbRemark.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbRemark.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // radLabel1 - // - this.radLabel1.AutoSize = false; - this.radLabel1.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel1.ForeColor = System.Drawing.Color.White; - this.radLabel1.Location = new System.Drawing.Point(4, 258); - this.radLabel1.Name = "radLabel1"; - this.radLabel1.Size = new System.Drawing.Size(148, 23); - this.radLabel1.TabIndex = 38; - this.radLabel1.Text = "备注:"; - this.radLabel1.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // rddlDimensionName - // - this.rddlDimensionName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rddlDimensionName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rddlDimensionName.DropDownHeight = 50; - this.rddlDimensionName.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; - this.rddlDimensionName.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rddlDimensionName.ForeColor = System.Drawing.Color.White; - radListDataItem1.Text = "F"; - radListDataItem2.Text = "G"; - this.rddlDimensionName.Items.Add(radListDataItem1); - this.rddlDimensionName.Items.Add(radListDataItem2); - this.rddlDimensionName.Location = new System.Drawing.Point(158, 143); - this.rddlDimensionName.Name = "rddlDimensionName"; - this.rddlDimensionName.Size = new System.Drawing.Size(173, 23); - this.rddlDimensionName.TabIndex = 39; - ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddlDimensionName.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlDimensionName.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlDimensionName.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddlDimensionName.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.rddlDimensionName.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // label5 - // - this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label5.AutoSize = true; - this.label5.Font = new System.Drawing.Font("宋体", 12F); - this.label5.ForeColor = System.Drawing.Color.Red; - this.label5.Location = new System.Drawing.Point(337, 108); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(15, 16); - this.label5.TabIndex = 40; - this.label5.Text = "*"; - // - // FAddTolerance - // - this.AcceptButton = this.rbtnOK; - 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(375, 366); - this.Controls.Add(this.label5); - this.Controls.Add(this.rddlDimensionName); - this.Controls.Add(this.rtbRemark); - this.Controls.Add(this.radLabel1); - this.Controls.Add(this.rtbLower); - this.Controls.Add(this.label4); - this.Controls.Add(this.label3); - this.Controls.Add(this.label1); - this.Controls.Add(this.rbtnCancel); - this.Controls.Add(this.rbtnOK); - this.Controls.Add(this.rtbUpper); - this.Controls.Add(this.rtbMesPointName); - this.Controls.Add(this.rtbCarType); - this.Controls.Add(this.radLabel7); - this.Controls.Add(this.radLabel3); - this.Controls.Add(this.radLabel4); - this.Controls.Add(this.radLabel2); - this.Controls.Add(this.radLabel5); - 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.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "FAddTolerance"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "添加公差带"; - this.Load += new System.EventHandler(this.SFAddCNC_Load); - ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit(); - this.radTitleBar1.ResumeLayout(false); - this.radTitleBar1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbRemark)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rddlDimensionName)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); + 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(631, 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(246, -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(288, 8); + this.labTitle.Name = "labTitle"; + this.labTitle.Size = new System.Drawing.Size(88, 25); + this.labTitle.TabIndex = 0; + this.labTitle.Text = "添加配置"; + // + // rbtnCancel + // + this.rbtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rbtnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.rbtnCancel.Font = new System.Drawing.Font("微软雅黑", 11F); + this.rbtnCancel.ForeColor = System.Drawing.Color.White; + this.rbtnCancel.Location = new System.Drawing.Point(524, 374); + this.rbtnCancel.Name = "rbtnCancel"; + this.rbtnCancel.Size = new System.Drawing.Size(85, 30); + this.rbtnCancel.TabIndex = 10; + this.rbtnCancel.Text = "取消"; + this.rbtnCancel.Click += new System.EventHandler(this.rbtnCancel_Click); + this.rbtnCancel.MouseLeave += new System.EventHandler(this.btn_MouseLeave); + this.rbtnCancel.MouseHover += new System.EventHandler(this.btn_MouseHover); + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnCancel.GetChildAt(0))).Text = "取消"; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + // + // rbtnOK + // + this.rbtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rbtnOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.rbtnOK.Font = new System.Drawing.Font("微软雅黑", 11F); + this.rbtnOK.ForeColor = System.Drawing.Color.White; + this.rbtnOK.Location = new System.Drawing.Point(396, 374); + this.rbtnOK.Name = "rbtnOK"; + this.rbtnOK.Size = new System.Drawing.Size(85, 30); + this.rbtnOK.TabIndex = 9; + this.rbtnOK.Text = "添加"; + this.rbtnOK.Click += new System.EventHandler(this.rbtnOK_Click); + this.rbtnOK.MouseLeave += new System.EventHandler(this.btn_MouseLeave); + this.rbtnOK.MouseHover += new System.EventHandler(this.btn_MouseHover); + ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnOK.GetChildAt(0))).Text = "添加"; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + // + // btn_targetFile + // + this.btn_targetFile.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btn_targetFile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.btn_targetFile.Font = new System.Drawing.Font("微软雅黑", 11F); + this.btn_targetFile.ForeColor = System.Drawing.Color.White; + this.btn_targetFile.Location = new System.Drawing.Point(383, 184); + this.btn_targetFile.Name = "btn_targetFile"; + this.btn_targetFile.Size = new System.Drawing.Size(50, 30); + this.btn_targetFile.TabIndex = 72; + this.btn_targetFile.Text = "浏览"; + this.btn_targetFile.Click += new System.EventHandler(this.btn_targetFile_Click); + ((Telerik.WinControls.UI.RadButtonElement)(this.btn_targetFile.GetChildAt(0))).Text = "浏览"; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_targetFile.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_targetFile.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + // + // btn_sourceFile + // + this.btn_sourceFile.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btn_sourceFile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.btn_sourceFile.Font = new System.Drawing.Font("微软雅黑", 11F); + this.btn_sourceFile.ForeColor = System.Drawing.Color.White; + this.btn_sourceFile.Location = new System.Drawing.Point(383, 144); + this.btn_sourceFile.Name = "btn_sourceFile"; + this.btn_sourceFile.Size = new System.Drawing.Size(50, 30); + this.btn_sourceFile.TabIndex = 71; + this.btn_sourceFile.Text = "浏览"; + this.btn_sourceFile.Click += new System.EventHandler(this.btn_sourceFile_Click); + ((Telerik.WinControls.UI.RadButtonElement)(this.btn_sourceFile.GetChildAt(0))).Text = "浏览"; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_sourceFile.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_sourceFile.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Font = new System.Drawing.Font("微软雅黑", 11F); + this.label9.Location = new System.Drawing.Point(451, 183); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(106, 20); + this.label9.TabIndex = 70; + this.label9.Text = "如:K:\\X260R"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Font = new System.Drawing.Font("微软雅黑", 11F); + this.label8.Location = new System.Drawing.Point(451, 147); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(58, 20); + this.label8.TabIndex = 69; + this.label8.Text = "如:P:\\"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("微软雅黑", 11F); + this.label7.Location = new System.Drawing.Point(451, 109); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(76, 20); + this.label7.TabIndex = 68; + this.label7.Text = "如:X260"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("微软雅黑", 11F); + this.label6.Location = new System.Drawing.Point(451, 67); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(166, 20); + this.label6.TabIndex = 67; + this.label6.Text = "名称例如:X260R_C11"; + // + // rddl_Status + // + this.rddl_Status.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rddl_Status.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rddl_Status.DropDownHeight = 50; + this.rddl_Status.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; + this.rddl_Status.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rddl_Status.ForeColor = System.Drawing.Color.White; + radListDataItem1.Tag = "start"; + radListDataItem1.Text = "启动"; + radListDataItem2.Tag = "stop"; + radListDataItem2.Text = "暂停"; + this.rddl_Status.Items.Add(radListDataItem1); + this.rddl_Status.Items.Add(radListDataItem2); + this.rddl_Status.Location = new System.Drawing.Point(194, 305); + this.rddl_Status.Name = "rddl_Status"; + this.rddl_Status.Size = new System.Drawing.Size(239, 23); + this.rddl_Status.TabIndex = 66; + ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_Status.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Status.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Status.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_Status.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.rddl_Status.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + // + // radLabel6 + // + this.radLabel6.AutoSize = false; + this.radLabel6.Font = new System.Drawing.Font("微软雅黑", 11F); + this.radLabel6.ForeColor = System.Drawing.Color.White; + this.radLabel6.Location = new System.Drawing.Point(40, 304); + this.radLabel6.Name = "radLabel6"; + this.radLabel6.Size = new System.Drawing.Size(147, 23); + this.radLabel6.TabIndex = 65; + this.radLabel6.Text = "运行状态:"; + this.radLabel6.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + // + // rddl_Position + // + this.rddl_Position.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rddl_Position.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rddl_Position.DropDownHeight = 50; + this.rddl_Position.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; + this.rddl_Position.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rddl_Position.ForeColor = System.Drawing.Color.White; + radListDataItem3.Tag = "L"; + radListDataItem3.Text = "左侧"; + radListDataItem4.Tag = "R"; + radListDataItem4.Text = "右侧"; + this.rddl_Position.Items.Add(radListDataItem3); + this.rddl_Position.Items.Add(radListDataItem4); + this.rddl_Position.Location = new System.Drawing.Point(194, 265); + this.rddl_Position.Name = "rddl_Position"; + this.rddl_Position.Size = new System.Drawing.Size(239, 23); + this.rddl_Position.TabIndex = 64; + ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_Position.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Position.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Position.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_Position.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.rddl_Position.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + // + // radLabel1 + // + this.radLabel1.AutoSize = false; + this.radLabel1.Font = new System.Drawing.Font("微软雅黑", 11F); + this.radLabel1.ForeColor = System.Drawing.Color.White; + this.radLabel1.Location = new System.Drawing.Point(40, 265); + this.radLabel1.Name = "radLabel1"; + this.radLabel1.Size = new System.Drawing.Size(147, 23); + this.radLabel1.TabIndex = 63; + this.radLabel1.Text = "车型位置:"; + this.radLabel1.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + // + // rddl_ReadType + // + this.rddl_ReadType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rddl_ReadType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rddl_ReadType.DropDownHeight = 50; + this.rddl_ReadType.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; + this.rddl_ReadType.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rddl_ReadType.ForeColor = System.Drawing.Color.White; + radListDataItem5.Tag = "2"; + radListDataItem5.Text = "文件内容"; + this.rddl_ReadType.Items.Add(radListDataItem5); + this.rddl_ReadType.Location = new System.Drawing.Point(194, 221); + this.rddl_ReadType.Name = "rddl_ReadType"; + this.rddl_ReadType.Size = new System.Drawing.Size(239, 23); + this.rddl_ReadType.TabIndex = 62; + ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_ReadType.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_ReadType.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_ReadType.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_ReadType.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.rddl_ReadType.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + // + // rtb_sourceFilePath + // + this.rtb_sourceFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rtb_sourceFilePath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rtb_sourceFilePath.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtb_sourceFilePath.ForeColor = System.Drawing.Color.White; + this.rtb_sourceFilePath.Location = new System.Drawing.Point(194, 147); + this.rtb_sourceFilePath.Name = "rtb_sourceFilePath"; + this.rtb_sourceFilePath.Size = new System.Drawing.Size(173, 23); + this.rtb_sourceFilePath.TabIndex = 55; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_sourceFilePath.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtb_sourceFilePath.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + // + // rtb_targetFilePath + // + this.rtb_targetFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rtb_targetFilePath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rtb_targetFilePath.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtb_targetFilePath.ForeColor = System.Drawing.Color.White; + this.rtb_targetFilePath.Location = new System.Drawing.Point(194, 184); + this.rtb_targetFilePath.MaxLength = 15; + this.rtb_targetFilePath.Name = "rtb_targetFilePath"; + this.rtb_targetFilePath.Size = new System.Drawing.Size(173, 23); + this.rtb_targetFilePath.TabIndex = 56; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_targetFilePath.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtb_targetFilePath.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + // + // rtbCarType + // + this.rtbCarType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rtbCarType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtbCarType.ForeColor = System.Drawing.Color.White; + this.rtbCarType.Location = new System.Drawing.Point(194, 108); + this.rtbCarType.Name = "rtbCarType"; + this.rtbCarType.Size = new System.Drawing.Size(239, 23); + this.rtbCarType.TabIndex = 54; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarType.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarType.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + // + // rtbCarName + // + this.rtbCarName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rtbCarName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rtbCarName.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtbCarName.ForeColor = System.Drawing.Color.White; + this.rtbCarName.Location = new System.Drawing.Point(194, 67); + this.rtbCarName.Name = "rtbCarName"; + this.rtbCarName.Size = new System.Drawing.Size(239, 23); + this.rtbCarName.TabIndex = 53; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarName.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + // + // radLabel7 + // + this.radLabel7.AutoSize = false; + this.radLabel7.Font = new System.Drawing.Font("微软雅黑", 11F); + this.radLabel7.ForeColor = System.Drawing.Color.White; + this.radLabel7.Location = new System.Drawing.Point(35, 187); + this.radLabel7.Name = "radLabel7"; + this.radLabel7.Size = new System.Drawing.Size(152, 23); + this.radLabel7.TabIndex = 61; + this.radLabel7.Text = "目标文件路径:"; + this.radLabel7.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + // + // radLabel3 + // + this.radLabel3.AutoSize = false; + this.radLabel3.Font = new System.Drawing.Font("微软雅黑", 11F); + this.radLabel3.ForeColor = System.Drawing.Color.White; + this.radLabel3.Location = new System.Drawing.Point(40, 148); + this.radLabel3.Name = "radLabel3"; + this.radLabel3.Size = new System.Drawing.Size(147, 23); + this.radLabel3.TabIndex = 60; + this.radLabel3.Text = "源文件路径:"; + this.radLabel3.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + // + // radLabel4 + // + this.radLabel4.AutoSize = false; + this.radLabel4.Font = new System.Drawing.Font("微软雅黑", 11F); + this.radLabel4.ForeColor = System.Drawing.Color.White; + this.radLabel4.Location = new System.Drawing.Point(40, 226); + this.radLabel4.Name = "radLabel4"; + this.radLabel4.Size = new System.Drawing.Size(147, 23); + this.radLabel4.TabIndex = 59; + this.radLabel4.Text = "读取方式:"; + this.radLabel4.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + // + // radLabel2 + // + this.radLabel2.AutoSize = false; + this.radLabel2.Font = new System.Drawing.Font("微软雅黑", 11F); + this.radLabel2.ForeColor = System.Drawing.Color.White; + this.radLabel2.Location = new System.Drawing.Point(40, 109); + this.radLabel2.Name = "radLabel2"; + this.radLabel2.Size = new System.Drawing.Size(147, 23); + this.radLabel2.TabIndex = 58; + this.radLabel2.Text = "车型代码:"; + this.radLabel2.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + // + // radLabel5 + // + this.radLabel5.AutoSize = false; + this.radLabel5.Font = new System.Drawing.Font("微软雅黑", 11F); + this.radLabel5.ForeColor = System.Drawing.Color.White; + this.radLabel5.Location = new System.Drawing.Point(40, 70); + this.radLabel5.Name = "radLabel5"; + this.radLabel5.Size = new System.Drawing.Size(147, 23); + this.radLabel5.TabIndex = 57; + this.radLabel5.Text = "车型名称:"; + this.radLabel5.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + // + // FAddTolerance + // + this.AcceptButton = this.rbtnOK; + 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(633, 426); + this.Controls.Add(this.btn_targetFile); + this.Controls.Add(this.btn_sourceFile); + this.Controls.Add(this.label9); + this.Controls.Add(this.label8); + this.Controls.Add(this.label7); + this.Controls.Add(this.label6); + this.Controls.Add(this.rddl_Status); + this.Controls.Add(this.radLabel6); + this.Controls.Add(this.rddl_Position); + this.Controls.Add(this.radLabel1); + this.Controls.Add(this.rddl_ReadType); + this.Controls.Add(this.rtb_sourceFilePath); + this.Controls.Add(this.rtb_targetFilePath); + this.Controls.Add(this.rtbCarType); + this.Controls.Add(this.rtbCarName); + this.Controls.Add(this.radLabel7); + this.Controls.Add(this.radLabel3); + this.Controls.Add(this.radLabel4); + this.Controls.Add(this.radLabel2); + this.Controls.Add(this.radLabel5); + this.Controls.Add(this.rbtnCancel); + this.Controls.Add(this.rbtnOK); + 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.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FAddTolerance"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "添加公差带"; + this.Load += new System.EventHandler(this.SFAddCNC_Load); + ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit(); + this.radTitleBar1.ResumeLayout(false); + this.radTitleBar1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btn_targetFile)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btn_sourceFile)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rddl_Status)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rddl_Position)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rddl_ReadType)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtb_sourceFilePath)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtb_targetFilePath)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtbCarName)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); } @@ -440,23 +529,27 @@ private Telerik.WinControls.UI.RadTitleBar radTitleBar1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label labTitle; - private Telerik.WinControls.UI.RadLabel radLabel7; - private Telerik.WinControls.UI.RadLabel radLabel3; - private Telerik.WinControls.UI.RadLabel radLabel4; - private Telerik.WinControls.UI.RadLabel radLabel2; - private Telerik.WinControls.UI.RadLabel radLabel5; - private Telerik.WinControls.UI.RadTextBox rtbCarType; - private Telerik.WinControls.UI.RadTextBox rtbMesPointName; - private Telerik.WinControls.UI.RadTextBox rtbUpper; private Telerik.WinControls.UI.RadButton rbtnCancel; private Telerik.WinControls.UI.RadButton rbtnOK; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.Label label4; - private Telerik.WinControls.UI.RadTextBox rtbLower; - private Telerik.WinControls.UI.RadTextBox rtbRemark; - private Telerik.WinControls.UI.RadLabel radLabel1; - private Telerik.WinControls.UI.RadDropDownList rddlDimensionName; - private System.Windows.Forms.Label label5; - } + private Telerik.WinControls.UI.RadButton btn_targetFile; + private Telerik.WinControls.UI.RadButton btn_sourceFile; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label6; + private Telerik.WinControls.UI.RadDropDownList rddl_Status; + private Telerik.WinControls.UI.RadLabel radLabel6; + private Telerik.WinControls.UI.RadDropDownList rddl_Position; + private Telerik.WinControls.UI.RadLabel radLabel1; + private Telerik.WinControls.UI.RadDropDownList rddl_ReadType; + private Telerik.WinControls.UI.RadTextBox rtb_sourceFilePath; + private Telerik.WinControls.UI.RadTextBox rtb_targetFilePath; + private Telerik.WinControls.UI.RadTextBox rtbCarType; + private Telerik.WinControls.UI.RadTextBox rtbCarName; + private Telerik.WinControls.UI.RadLabel radLabel7; + private Telerik.WinControls.UI.RadLabel radLabel3; + private Telerik.WinControls.UI.RadLabel radLabel4; + private Telerik.WinControls.UI.RadLabel radLabel2; + private Telerik.WinControls.UI.RadLabel radLabel5; + } } diff --git a/Analysis/Tolerance/FEditTolerance.cs b/Analysis/Tolerance/FEditTolerance.cs index b6092df..3f74a49 100644 --- a/Analysis/Tolerance/FEditTolerance.cs +++ b/Analysis/Tolerance/FEditTolerance.cs @@ -1,177 +1,131 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; +using DAL; +using System; using System.Drawing; -using System.Text; using System.Windows.Forms; -using BaseFunction; -using System.Text.RegularExpressions; -using System.Collections; -using System.IO; -using System.Xml; - using Telerik.WinControls.UI; -using DAL; namespace NSAnalysis { - public partial class FEditTolerance : Telerik.WinControls.UI.ShapedForm - { - #region 全局变量 - //private TMeasureSQLiteDAL tmdal = new TMeasureSQLiteDAL(); - private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL(); - private FToleranceSetup gFTS; + public partial class FEditTolerance : Telerik.WinControls.UI.ShapedForm + { + #region 全局变量 - #endregion 全局变量 + private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL(); - #region 鼠标事件 + private FToleranceSetup gFTS; - private void btn_MouseHover(object sender, EventArgs e) - { - RadButton btn = sender as RadButton; - btn.BackColor = Color.FromArgb(0, 151, 186); - } + #endregion 全局变量 - private void btn_MouseLeave(object sender, EventArgs e) - { - RadButton btn = sender as RadButton; - btn.BackColor = Color.FromArgb(19, 46, 53); - } + #region 鼠标事件 - #endregion 鼠标事件 + private void btn_MouseHover(object sender, EventArgs e) + { + RadButton btn = sender as RadButton; + btn.BackColor = Color.FromArgb(0, 151, 186); + } - private void InitLanguage() - { - if (!ConfigDfn.bLanguage) - { - this.Text = "Edit CNC"; - labTitle.Text = "Edit CNC"; - radLabel5.Text = "CNC ID : "; - radLabel2.Text = "CNC Name : "; - radLabel4.Text = "CNC Location : "; - radLabel3.Text = "CNC Type : "; - radLabel7.Text = "CNC IP : "; + private void btn_MouseLeave(object sender, EventArgs e) + { + RadButton btn = sender as RadButton; + btn.BackColor = Color.FromArgb(19, 46, 53); + } - radLabel1.Text = "Remark : "; + #endregion 鼠标事件 - rbtnOK.Text = "Edit"; - rbtnCancel.Text = "Cancel"; - } - } + - public FEditTolerance(FToleranceSetup fts) - { - InitializeComponent(); - InitLanguage(); - gFTS = fts; - } + public FEditTolerance(FToleranceSetup fts) + { + InitializeComponent(); + + gFTS = fts; + } - private void SFAddCNC_Load(object sender, EventArgs e) - { - rtbCarType.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["CarType"].Value.ToString(); - rtbMesPointName.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["MeasurePointName"].Value.ToString(); - rddlDimensionName.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["DimensionName"].Value.ToString(); - rtbLower.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["TolLower"].Value.ToString(); - rtbUpper.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["TolUpper"].Value.ToString(); + private void FEditTolerance_Load(object sender, EventArgs e) + { - } + rtbCarName.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["modelsName"].Value.ToString(); + rtbCarType.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["modelsCode"].Value.ToString(); + rtb_sourceFilePath.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["sourceFile"].Value.ToString(); + rtb_targetFilePath.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["targetFile"].Value.ToString(); - private void rbtnOK_Click(object sender, EventArgs e) - { - #region 防愚操作 + rddl_ReadType.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["readType"].Value.ToString(); + rddl_Position.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["position"].Value.ToString(); + rddl_Status.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["status"].Value.ToString(); + } - string strCarType = rtbCarType.Text.Trim(); - string strMesPointName = rtbMesPointName.Text.Trim(); + private void rbtnOK_Click(object sender, EventArgs e) + { + #region 防愚操作 - string strDimensionName = rddlDimensionName.Text.Trim(); - if (string.IsNullOrEmpty(rtbCarType.Text.Trim())) - { - MessageBox.Show("车身类型不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } + string strCarType = rtbCarType.Text.Trim(); + //string strMesPointName = rtbMesPointName.Text.Trim(); - if (string.IsNullOrEmpty(rtbMesPointName.Text.Trim())) - { - MessageBox.Show("测量点位名称不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - if (string.IsNullOrEmpty(rtbLower.Text.Trim())) - { - MessageBox.Show("下限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - if (string.IsNullOrEmpty(rtbUpper.Text.Trim())) - { - MessageBox.Show("上限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - if (!string.IsNullOrEmpty(rtbLower.Text.Trim())) - { - try - { - double dtemp = double.Parse(rtbLower.Text.Trim()); - } - catch (Exception) - { - MessageBox.Show("下限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - } - if (!string.IsNullOrEmpty(rtbUpper.Text.Trim())) - { - try - { - double dtemp = double.Parse(rtbUpper.Text.Trim()); - } - catch (Exception) - { - MessageBox.Show("上限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - } - if (rtbCarType.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["CarType"].Value.ToString() || rtbMesPointName.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["MeasurePointName"].Value.ToString() || rddlDimensionName.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["DimensionName"].Value.ToString()) - { - if (tmdal.CheckMeaPointNameExit(strCarType, strMesPointName, strDimensionName)) - { - MessageBox.Show("该车身类型下,已经存在该测量点位名称和尺寸名称,请修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + //string strDimensionName = rddlDimensionName.Text.Trim(); + //if (string.IsNullOrEmpty(rtbCarType.Text.Trim())) + //{ + // MessageBox.Show("车身类型不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + // return; + //} - return; - } - } + //if (string.IsNullOrEmpty(rtbMesPointName.Text.Trim())) + //{ + // MessageBox.Show("测量点位名称不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + // return; + //} + //if (string.IsNullOrEmpty(rtbLower.Text.Trim())) + //{ + // MessageBox.Show("下限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + // return; + //} + //if (string.IsNullOrEmpty(rtbUpper.Text.Trim())) + //{ + // MessageBox.Show("上限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + // return; + //} + + //if (rtbCarType.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["CarType"].Value.ToString() || rtbMesPointName.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["MeasurePointName"].Value.ToString() || rddlDimensionName.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["DimensionName"].Value.ToString()) + //{ + // if (tmdal.CheckTaskExit(strCarType, strMesPointName, strDimensionName)) + // { + // MessageBox.Show("该车身类型下,已经存在该测量点位名称和尺寸名称,请修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - #endregion 防愚操作 + // return; + // } + //} - try - { - TToleranceModel ttm = new TToleranceModel(); - ttm.Id = int.Parse(gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["Id"].Value.ToString()); - ttm.CarType = strCarType; - ttm.MeasurePointName = strMesPointName; - ttm.DimensionName = strDimensionName; - ttm.TolLower = double.Parse(rtbLower.Text.Trim()); - ttm.TolUpper = double.Parse(rtbUpper.Text.Trim()); - //ttm.Remark = rtbRemark.Text.Trim(); - ttm.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); - tmdal.UpdateTTolerance(ttm); - } - catch (Exception ex) - { - MessageBox.Show("修改公差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + #endregion 防愚操作 - return; - } + //try + //{ + // TToleranceModel ttm = new TToleranceModel(); + // ttm.Id = int.Parse(gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["Id"].Value.ToString()); + // ttm.CarType = strCarType; + // ttm.MeasurePointName = strMesPointName; + // ttm.DimensionName = strDimensionName; + // ttm.TolLower = double.Parse(rtbLower.Text.Trim()); + // ttm.TolUpper = double.Parse(rtbUpper.Text.Trim()); + // //ttm.Remark = rtbRemark.Text.Trim(); + // ttm.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + // tmdal.UpdateTTolerance(ttm); + //} + //catch (Exception ex) + //{ + // MessageBox.Show("修改公差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - MessageBox.Show("修改公差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + // return; + //} - gFTS.rtbnSearch_Click(null, null); + //MessageBox.Show("修改公差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - this.Close(); - } + //gFTS.rtbnSearch_Click(null, null); - private void rbtnCancel_Click(object sender, EventArgs e) - { - this.Close(); - } - } + //this.Close(); + } + + private void rbtnCancel_Click(object sender, EventArgs e) + { + this.Close(); + } + } } \ No newline at end of file diff --git a/Analysis/Tolerance/FEditTolerance.designer.cs b/Analysis/Tolerance/FEditTolerance.designer.cs index 73cb85d..a28c4d4 100644 --- a/Analysis/Tolerance/FEditTolerance.designer.cs +++ b/Analysis/Tolerance/FEditTolerance.designer.cs @@ -34,52 +34,51 @@ Telerik.WinControls.UI.RadListDataItem radListDataItem3 = new Telerik.WinControls.UI.RadListDataItem(); 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(); this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar(); this.label2 = new System.Windows.Forms.Label(); this.labTitle = new System.Windows.Forms.Label(); + this.rbtnCancel = new Telerik.WinControls.UI.RadButton(); + this.rbtnOK = new Telerik.WinControls.UI.RadButton(); + this.btn_targetFile = new Telerik.WinControls.UI.RadButton(); + this.btn_sourceFile = new Telerik.WinControls.UI.RadButton(); + this.label9 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.rddl_Status = new Telerik.WinControls.UI.RadDropDownList(); + this.radLabel6 = new Telerik.WinControls.UI.RadLabel(); + this.rddl_Position = new Telerik.WinControls.UI.RadDropDownList(); + this.radLabel1 = new Telerik.WinControls.UI.RadLabel(); + this.rddl_ReadType = new Telerik.WinControls.UI.RadDropDownList(); + this.rtb_sourceFilePath = new Telerik.WinControls.UI.RadTextBox(); + this.rtb_targetFilePath = new Telerik.WinControls.UI.RadTextBox(); + this.rtbCarType = new Telerik.WinControls.UI.RadTextBox(); + this.rtbCarName = new Telerik.WinControls.UI.RadTextBox(); this.radLabel7 = new Telerik.WinControls.UI.RadLabel(); this.radLabel3 = new Telerik.WinControls.UI.RadLabel(); this.radLabel4 = new Telerik.WinControls.UI.RadLabel(); this.radLabel2 = new Telerik.WinControls.UI.RadLabel(); this.radLabel5 = new Telerik.WinControls.UI.RadLabel(); - this.rtbCarType = new Telerik.WinControls.UI.RadTextBox(); - this.rtbMesPointName = new Telerik.WinControls.UI.RadTextBox(); - this.rtbUpper = new Telerik.WinControls.UI.RadTextBox(); - this.rbtnCancel = new Telerik.WinControls.UI.RadButton(); - this.rbtnOK = new Telerik.WinControls.UI.RadButton(); - this.rtbLower = new Telerik.WinControls.UI.RadTextBox(); - this.rddlDimensionName = new Telerik.WinControls.UI.RadDropDownList(); - this.radDropDownList1 = new Telerik.WinControls.UI.RadDropDownList(); - this.radLabel1 = new Telerik.WinControls.UI.RadLabel(); - this.radDropDownList2 = new Telerik.WinControls.UI.RadDropDownList(); - this.radLabel6 = new Telerik.WinControls.UI.RadLabel(); - this.label6 = new System.Windows.Forms.Label(); - this.label7 = new System.Windows.Forms.Label(); - this.label8 = new System.Windows.Forms.Label(); - this.label9 = new System.Windows.Forms.Label(); - this.radButton1 = new Telerik.WinControls.UI.RadButton(); - this.radButton2 = new Telerik.WinControls.UI.RadButton(); ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit(); this.radTitleBar1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btn_targetFile)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btn_sourceFile)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rddl_Status)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rddl_Position)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rddl_ReadType)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtb_sourceFilePath)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtb_targetFilePath)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtbCarName)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rddlDimensionName)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radDropDownList1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radDropDownList2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radButton1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radButton2)).BeginInit(); this.SuspendLayout(); // // radTitleBar1 @@ -98,7 +97,7 @@ // 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(552, 40); + this.radTitleBar1.Size = new System.Drawing.Size(631, 40); this.radTitleBar1.TabIndex = 0; this.radTitleBar1.TabStop = false; this.radTitleBar1.Text = "修改公差带"; @@ -123,7 +122,7 @@ 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(205, -5); + this.label2.Location = new System.Drawing.Point(244, -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); @@ -135,119 +134,19 @@ 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(247, 8); + this.labTitle.Location = new System.Drawing.Point(286, 8); this.labTitle.Name = "labTitle"; this.labTitle.Size = new System.Drawing.Size(88, 25); this.labTitle.TabIndex = 0; this.labTitle.Text = "修改配置"; // - // radLabel7 - // - this.radLabel7.AutoSize = false; - this.radLabel7.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel7.ForeColor = System.Drawing.Color.White; - this.radLabel7.Location = new System.Drawing.Point(4, 178); - this.radLabel7.Name = "radLabel7"; - this.radLabel7.Size = new System.Drawing.Size(152, 23); - this.radLabel7.TabIndex = 29; - this.radLabel7.Text = "目标文件路径:"; - this.radLabel7.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel3 - // - this.radLabel3.AutoSize = false; - this.radLabel3.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel3.ForeColor = System.Drawing.Color.White; - this.radLabel3.Location = new System.Drawing.Point(9, 139); - this.radLabel3.Name = "radLabel3"; - this.radLabel3.Size = new System.Drawing.Size(147, 23); - this.radLabel3.TabIndex = 28; - this.radLabel3.Text = "源文件路径:"; - this.radLabel3.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel4 - // - this.radLabel4.AutoSize = false; - this.radLabel4.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel4.ForeColor = System.Drawing.Color.White; - this.radLabel4.Location = new System.Drawing.Point(9, 217); - this.radLabel4.Name = "radLabel4"; - this.radLabel4.Size = new System.Drawing.Size(147, 23); - this.radLabel4.TabIndex = 27; - this.radLabel4.Text = "读取方式:"; - this.radLabel4.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel2 - // - this.radLabel2.AutoSize = false; - this.radLabel2.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel2.ForeColor = System.Drawing.Color.White; - this.radLabel2.Location = new System.Drawing.Point(9, 100); - this.radLabel2.Name = "radLabel2"; - this.radLabel2.Size = new System.Drawing.Size(147, 23); - this.radLabel2.TabIndex = 26; - this.radLabel2.Text = "车型代码:"; - this.radLabel2.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // radLabel5 - // - this.radLabel5.AutoSize = false; - this.radLabel5.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel5.ForeColor = System.Drawing.Color.White; - this.radLabel5.Location = new System.Drawing.Point(9, 61); - this.radLabel5.Name = "radLabel5"; - this.radLabel5.Size = new System.Drawing.Size(147, 23); - this.radLabel5.TabIndex = 25; - this.radLabel5.Text = "车型名称:"; - this.radLabel5.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; - // - // rtbCarType - // - this.rtbCarType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbCarType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbCarType.ForeColor = System.Drawing.Color.White; - this.rtbCarType.Location = new System.Drawing.Point(162, 55); - this.rtbCarType.Name = "rtbCarType"; - this.rtbCarType.Size = new System.Drawing.Size(173, 23); - this.rtbCarType.TabIndex = 1; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarType.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarType.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // rtbMesPointName - // - this.rtbMesPointName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbMesPointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbMesPointName.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbMesPointName.ForeColor = System.Drawing.Color.White; - this.rtbMesPointName.Location = new System.Drawing.Point(162, 96); - this.rtbMesPointName.Name = "rtbMesPointName"; - this.rtbMesPointName.Size = new System.Drawing.Size(173, 23); - this.rtbMesPointName.TabIndex = 2; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbMesPointName.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbMesPointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // - // rtbUpper - // - this.rtbUpper.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbUpper.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbUpper.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbUpper.ForeColor = System.Drawing.Color.White; - this.rtbUpper.Location = new System.Drawing.Point(162, 172); - this.rtbUpper.MaxLength = 15; - this.rtbUpper.Name = "rtbUpper"; - this.rtbUpper.Size = new System.Drawing.Size(173, 23); - this.rtbUpper.TabIndex = 5; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbUpper.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbUpper.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - // // rbtnCancel // this.rbtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.rbtnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.rbtnCancel.Font = new System.Drawing.Font("微软雅黑", 11F); this.rbtnCancel.ForeColor = System.Drawing.Color.White; - this.rbtnCancel.Location = new System.Drawing.Point(422, 373); + this.rbtnCancel.Location = new System.Drawing.Point(501, 373); this.rbtnCancel.Name = "rbtnCancel"; this.rbtnCancel.Size = new System.Drawing.Size(85, 30); this.rbtnCancel.TabIndex = 10; @@ -265,7 +164,7 @@ this.rbtnOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.rbtnOK.Font = new System.Drawing.Font("微软雅黑", 11F); this.rbtnOK.ForeColor = System.Drawing.Color.White; - this.rbtnOK.Location = new System.Drawing.Point(294, 373); + this.rbtnOK.Location = new System.Drawing.Point(373, 373); this.rbtnOK.Name = "rbtnOK"; this.rbtnOK.Size = new System.Drawing.Size(85, 30); this.rbtnOK.TabIndex = 9; @@ -280,184 +179,281 @@ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48))))); ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); // - // rtbLower + // btn_targetFile // - this.rtbLower.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rtbLower.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbLower.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rtbLower.ForeColor = System.Drawing.Color.White; - this.rtbLower.Location = new System.Drawing.Point(162, 135); - this.rtbLower.Name = "rtbLower"; - this.rtbLower.Size = new System.Drawing.Size(173, 23); - this.rtbLower.TabIndex = 4; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbLower.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbLower.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.btn_targetFile.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btn_targetFile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.btn_targetFile.Font = new System.Drawing.Font("微软雅黑", 11F); + this.btn_targetFile.ForeColor = System.Drawing.Color.White; + this.btn_targetFile.Location = new System.Drawing.Point(376, 193); + this.btn_targetFile.Name = "btn_targetFile"; + this.btn_targetFile.Size = new System.Drawing.Size(50, 30); + this.btn_targetFile.TabIndex = 92; + this.btn_targetFile.Text = "浏览"; + ((Telerik.WinControls.UI.RadButtonElement)(this.btn_targetFile.GetChildAt(0))).Text = "浏览"; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_targetFile.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_targetFile.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); // - // rddlDimensionName + // btn_sourceFile // - this.rddlDimensionName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.rddlDimensionName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rddlDimensionName.DropDownHeight = 50; - this.rddlDimensionName.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; - this.rddlDimensionName.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.rddlDimensionName.ForeColor = System.Drawing.Color.White; - radListDataItem1.Tag = "1"; - radListDataItem1.Text = "文件名称"; - radListDataItem2.Tag = "2"; - radListDataItem2.Text = "文件内容"; - this.rddlDimensionName.Items.Add(radListDataItem1); - this.rddlDimensionName.Items.Add(radListDataItem2); - this.rddlDimensionName.Location = new System.Drawing.Point(162, 209); - this.rddlDimensionName.Name = "rddlDimensionName"; - this.rddlDimensionName.Size = new System.Drawing.Size(173, 23); - this.rddlDimensionName.TabIndex = 41; - ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddlDimensionName.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlDimensionName.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlDimensionName.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddlDimensionName.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.rddlDimensionName.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.btn_sourceFile.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btn_sourceFile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.btn_sourceFile.Font = new System.Drawing.Font("微软雅黑", 11F); + this.btn_sourceFile.ForeColor = System.Drawing.Color.White; + this.btn_sourceFile.Location = new System.Drawing.Point(376, 153); + this.btn_sourceFile.Name = "btn_sourceFile"; + this.btn_sourceFile.Size = new System.Drawing.Size(50, 30); + this.btn_sourceFile.TabIndex = 91; + this.btn_sourceFile.Text = "浏览"; + ((Telerik.WinControls.UI.RadButtonElement)(this.btn_sourceFile.GetChildAt(0))).Text = "浏览"; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_sourceFile.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_sourceFile.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); // - // radDropDownList1 + // label9 // - this.radDropDownList1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.radDropDownList1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.radDropDownList1.DropDownHeight = 50; - this.radDropDownList1.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; - this.radDropDownList1.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.radDropDownList1.ForeColor = System.Drawing.Color.White; - radListDataItem3.Tag = "L"; - radListDataItem3.Text = "左侧"; - radListDataItem4.Tag = "R"; - radListDataItem4.Text = "右侧"; - this.radDropDownList1.Items.Add(radListDataItem3); - this.radDropDownList1.Items.Add(radListDataItem4); - this.radDropDownList1.Location = new System.Drawing.Point(162, 253); - this.radDropDownList1.Name = "radDropDownList1"; - this.radDropDownList1.Size = new System.Drawing.Size(173, 23); - this.radDropDownList1.TabIndex = 44; - ((Telerik.WinControls.UI.RadDropDownListElement)(this.radDropDownList1.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radDropDownList1.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radDropDownList1.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - ((Telerik.WinControls.Primitives.FillPrimitive)(this.radDropDownList1.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.radDropDownList1.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.label9.AutoSize = true; + this.label9.Font = new System.Drawing.Font("微软雅黑", 11F); + this.label9.Location = new System.Drawing.Point(444, 192); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(106, 20); + this.label9.TabIndex = 90; + this.label9.Text = "如:K:\\X260R"; // - // radLabel1 + // label8 // - this.radLabel1.AutoSize = false; - this.radLabel1.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radLabel1.ForeColor = System.Drawing.Color.White; - this.radLabel1.Location = new System.Drawing.Point(9, 256); - this.radLabel1.Name = "radLabel1"; - this.radLabel1.Size = new System.Drawing.Size(147, 23); - this.radLabel1.TabIndex = 43; - this.radLabel1.Text = "车型位置:"; - this.radLabel1.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + this.label8.AutoSize = true; + this.label8.Font = new System.Drawing.Font("微软雅黑", 11F); + this.label8.Location = new System.Drawing.Point(444, 156); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(58, 20); + this.label8.TabIndex = 89; + this.label8.Text = "如:P:\\"; // - // radDropDownList2 + // label7 // - this.radDropDownList2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.radDropDownList2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.radDropDownList2.DropDownHeight = 50; - this.radDropDownList2.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; - this.radDropDownList2.Font = new System.Drawing.Font("微软雅黑", 9.75F); - this.radDropDownList2.ForeColor = System.Drawing.Color.White; - radListDataItem5.Tag = "start"; - radListDataItem5.Text = "启动"; - radListDataItem6.Tag = "stop"; - radListDataItem6.Text = "暂停"; - this.radDropDownList2.Items.Add(radListDataItem5); - this.radDropDownList2.Items.Add(radListDataItem6); - this.radDropDownList2.Location = new System.Drawing.Point(162, 293); - this.radDropDownList2.Name = "radDropDownList2"; - this.radDropDownList2.Size = new System.Drawing.Size(173, 23); - this.radDropDownList2.TabIndex = 46; - ((Telerik.WinControls.UI.RadDropDownListElement)(this.radDropDownList2.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radDropDownList2.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radDropDownList2.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - ((Telerik.WinControls.Primitives.FillPrimitive)(this.radDropDownList2.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.radDropDownList2.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("微软雅黑", 11F); + this.label7.Location = new System.Drawing.Point(444, 118); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(76, 20); + this.label7.TabIndex = 88; + this.label7.Text = "如:X260"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("微软雅黑", 11F); + this.label6.Location = new System.Drawing.Point(444, 76); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(166, 20); + this.label6.TabIndex = 87; + this.label6.Text = "名称例如:X260R_C11"; + // + // rddl_Status + // + this.rddl_Status.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rddl_Status.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rddl_Status.DropDownHeight = 50; + this.rddl_Status.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; + this.rddl_Status.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rddl_Status.ForeColor = System.Drawing.Color.White; + radListDataItem1.Tag = "start"; + radListDataItem1.Text = "启动"; + radListDataItem2.Tag = "stop"; + radListDataItem2.Text = "暂停"; + this.rddl_Status.Items.Add(radListDataItem1); + this.rddl_Status.Items.Add(radListDataItem2); + this.rddl_Status.Location = new System.Drawing.Point(187, 314); + this.rddl_Status.Name = "rddl_Status"; + this.rddl_Status.Size = new System.Drawing.Size(239, 23); + this.rddl_Status.TabIndex = 86; + ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_Status.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Status.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Status.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_Status.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.rddl_Status.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); // // radLabel6 // this.radLabel6.AutoSize = false; this.radLabel6.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel6.ForeColor = System.Drawing.Color.White; - this.radLabel6.Location = new System.Drawing.Point(9, 295); + this.radLabel6.Location = new System.Drawing.Point(33, 313); this.radLabel6.Name = "radLabel6"; this.radLabel6.Size = new System.Drawing.Size(147, 23); - this.radLabel6.TabIndex = 45; + this.radLabel6.TabIndex = 85; this.radLabel6.Text = "运行状态:"; this.radLabel6.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; // - // label6 + // rddl_Position // - this.label6.AutoSize = true; - this.label6.Font = new System.Drawing.Font("微软雅黑", 11F); - this.label6.Location = new System.Drawing.Point(356, 56); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(166, 20); - this.label6.TabIndex = 47; - this.label6.Text = "名称例如:X260R_C11"; + this.rddl_Position.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rddl_Position.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rddl_Position.DropDownHeight = 50; + this.rddl_Position.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; + this.rddl_Position.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rddl_Position.ForeColor = System.Drawing.Color.White; + radListDataItem3.Tag = "L"; + radListDataItem3.Text = "左侧"; + radListDataItem4.Tag = "R"; + radListDataItem4.Text = "右侧"; + this.rddl_Position.Items.Add(radListDataItem3); + this.rddl_Position.Items.Add(radListDataItem4); + this.rddl_Position.Location = new System.Drawing.Point(187, 274); + this.rddl_Position.Name = "rddl_Position"; + this.rddl_Position.Size = new System.Drawing.Size(239, 23); + this.rddl_Position.TabIndex = 84; + ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_Position.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Position.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Position.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_Position.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.rddl_Position.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); // - // label7 + // radLabel1 // - this.label7.AutoSize = true; - this.label7.Font = new System.Drawing.Font("微软雅黑", 11F); - this.label7.Location = new System.Drawing.Point(356, 98); - this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(76, 20); - this.label7.TabIndex = 48; - this.label7.Text = "如:X260"; + this.radLabel1.AutoSize = false; + this.radLabel1.Font = new System.Drawing.Font("微软雅黑", 11F); + this.radLabel1.ForeColor = System.Drawing.Color.White; + this.radLabel1.Location = new System.Drawing.Point(33, 274); + this.radLabel1.Name = "radLabel1"; + this.radLabel1.Size = new System.Drawing.Size(147, 23); + this.radLabel1.TabIndex = 83; + this.radLabel1.Text = "车型位置:"; + this.radLabel1.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; // - // label8 + // rddl_ReadType // - this.label8.AutoSize = true; - this.label8.Font = new System.Drawing.Font("微软雅黑", 11F); - this.label8.Location = new System.Drawing.Point(356, 137); - this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(58, 20); - this.label8.TabIndex = 49; - this.label8.Text = "如:P:\\"; + this.rddl_ReadType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rddl_ReadType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rddl_ReadType.DropDownHeight = 50; + this.rddl_ReadType.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; + this.rddl_ReadType.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rddl_ReadType.ForeColor = System.Drawing.Color.White; + radListDataItem5.Tag = "2"; + radListDataItem5.Text = "文件内容"; + this.rddl_ReadType.Items.Add(radListDataItem5); + this.rddl_ReadType.Location = new System.Drawing.Point(187, 230); + this.rddl_ReadType.Name = "rddl_ReadType"; + this.rddl_ReadType.Size = new System.Drawing.Size(239, 23); + this.rddl_ReadType.TabIndex = 82; + ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_ReadType.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_ReadType.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_ReadType.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_ReadType.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.rddl_ReadType.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); // - // label9 + // rtb_sourceFilePath // - this.label9.AutoSize = true; - this.label9.Font = new System.Drawing.Font("微软雅黑", 11F); - this.label9.Location = new System.Drawing.Point(356, 173); - this.label9.Name = "label9"; - this.label9.Size = new System.Drawing.Size(106, 20); - this.label9.TabIndex = 50; - this.label9.Text = "如:K:\\X260R"; + this.rtb_sourceFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rtb_sourceFilePath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rtb_sourceFilePath.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtb_sourceFilePath.ForeColor = System.Drawing.Color.White; + this.rtb_sourceFilePath.Location = new System.Drawing.Point(187, 156); + this.rtb_sourceFilePath.Name = "rtb_sourceFilePath"; + this.rtb_sourceFilePath.Size = new System.Drawing.Size(173, 23); + this.rtb_sourceFilePath.TabIndex = 75; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_sourceFilePath.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtb_sourceFilePath.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); // - // radButton1 + // rtb_targetFilePath // - this.radButton1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | 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("微软雅黑", 11F); - this.radButton1.ForeColor = System.Drawing.Color.White; - this.radButton1.Location = new System.Drawing.Point(353, 208); - this.radButton1.Name = "radButton1"; - this.radButton1.Size = new System.Drawing.Size(50, 30); - this.radButton1.TabIndex = 51; - this.radButton1.Text = "浏览"; - ((Telerik.WinControls.UI.RadButtonElement)(this.radButton1.GetChildAt(0))).Text = "浏览"; - ((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))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + this.rtb_targetFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rtb_targetFilePath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rtb_targetFilePath.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtb_targetFilePath.ForeColor = System.Drawing.Color.White; + this.rtb_targetFilePath.Location = new System.Drawing.Point(187, 193); + this.rtb_targetFilePath.MaxLength = 15; + this.rtb_targetFilePath.Name = "rtb_targetFilePath"; + this.rtb_targetFilePath.Size = new System.Drawing.Size(173, 23); + this.rtb_targetFilePath.TabIndex = 76; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_targetFilePath.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtb_targetFilePath.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); // - // radButton2 + // rtbCarType // - this.radButton2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.radButton2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); - this.radButton2.Font = new System.Drawing.Font("微软雅黑", 11F); - this.radButton2.ForeColor = System.Drawing.Color.White; - this.radButton2.Location = new System.Drawing.Point(353, 248); - this.radButton2.Name = "radButton2"; - this.radButton2.Size = new System.Drawing.Size(50, 30); - this.radButton2.TabIndex = 52; - this.radButton2.Text = "浏览"; - ((Telerik.WinControls.UI.RadButtonElement)(this.radButton2.GetChildAt(0))).Text = "浏览"; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton2.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton2.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186))))); + this.rtbCarType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rtbCarType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtbCarType.ForeColor = System.Drawing.Color.White; + this.rtbCarType.Location = new System.Drawing.Point(187, 117); + this.rtbCarType.Name = "rtbCarType"; + this.rtbCarType.Size = new System.Drawing.Size(239, 23); + this.rtbCarType.TabIndex = 74; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarType.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarType.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + // + // rtbCarName + // + this.rtbCarName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rtbCarName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rtbCarName.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtbCarName.ForeColor = System.Drawing.Color.White; + this.rtbCarName.Location = new System.Drawing.Point(187, 76); + this.rtbCarName.Name = "rtbCarName"; + this.rtbCarName.Size = new System.Drawing.Size(239, 23); + this.rtbCarName.TabIndex = 73; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarName.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + // + // radLabel7 + // + this.radLabel7.AutoSize = false; + this.radLabel7.Font = new System.Drawing.Font("微软雅黑", 11F); + this.radLabel7.ForeColor = System.Drawing.Color.White; + this.radLabel7.Location = new System.Drawing.Point(28, 196); + this.radLabel7.Name = "radLabel7"; + this.radLabel7.Size = new System.Drawing.Size(152, 23); + this.radLabel7.TabIndex = 81; + this.radLabel7.Text = "目标文件路径:"; + this.radLabel7.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + // + // radLabel3 + // + this.radLabel3.AutoSize = false; + this.radLabel3.Font = new System.Drawing.Font("微软雅黑", 11F); + this.radLabel3.ForeColor = System.Drawing.Color.White; + this.radLabel3.Location = new System.Drawing.Point(33, 157); + this.radLabel3.Name = "radLabel3"; + this.radLabel3.Size = new System.Drawing.Size(147, 23); + this.radLabel3.TabIndex = 80; + this.radLabel3.Text = "源文件路径:"; + this.radLabel3.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + // + // radLabel4 + // + this.radLabel4.AutoSize = false; + this.radLabel4.Font = new System.Drawing.Font("微软雅黑", 11F); + this.radLabel4.ForeColor = System.Drawing.Color.White; + this.radLabel4.Location = new System.Drawing.Point(33, 235); + this.radLabel4.Name = "radLabel4"; + this.radLabel4.Size = new System.Drawing.Size(147, 23); + this.radLabel4.TabIndex = 79; + this.radLabel4.Text = "读取方式:"; + this.radLabel4.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + // + // radLabel2 + // + this.radLabel2.AutoSize = false; + this.radLabel2.Font = new System.Drawing.Font("微软雅黑", 11F); + this.radLabel2.ForeColor = System.Drawing.Color.White; + this.radLabel2.Location = new System.Drawing.Point(33, 118); + this.radLabel2.Name = "radLabel2"; + this.radLabel2.Size = new System.Drawing.Size(147, 23); + this.radLabel2.TabIndex = 78; + this.radLabel2.Text = "车型代码:"; + this.radLabel2.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; + // + // radLabel5 + // + this.radLabel5.AutoSize = false; + this.radLabel5.Font = new System.Drawing.Font("微软雅黑", 11F); + this.radLabel5.ForeColor = System.Drawing.Color.White; + this.radLabel5.Location = new System.Drawing.Point(33, 79); + this.radLabel5.Name = "radLabel5"; + this.radLabel5.Size = new System.Drawing.Size(147, 23); + this.radLabel5.TabIndex = 77; + this.radLabel5.Text = "车型名称:"; + this.radLabel5.TextAlignment = System.Drawing.ContentAlignment.MiddleRight; // // FEditTolerance // @@ -467,29 +463,29 @@ 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(554, 426); - this.Controls.Add(this.radButton2); - this.Controls.Add(this.radButton1); + this.ClientSize = new System.Drawing.Size(633, 426); + this.Controls.Add(this.btn_targetFile); + this.Controls.Add(this.btn_sourceFile); this.Controls.Add(this.label9); this.Controls.Add(this.label8); this.Controls.Add(this.label7); this.Controls.Add(this.label6); - this.Controls.Add(this.radDropDownList2); + this.Controls.Add(this.rddl_Status); this.Controls.Add(this.radLabel6); - this.Controls.Add(this.radDropDownList1); + this.Controls.Add(this.rddl_Position); this.Controls.Add(this.radLabel1); - this.Controls.Add(this.rddlDimensionName); - this.Controls.Add(this.rtbLower); - this.Controls.Add(this.rbtnCancel); - this.Controls.Add(this.rbtnOK); - this.Controls.Add(this.rtbUpper); - this.Controls.Add(this.rtbMesPointName); + this.Controls.Add(this.rddl_ReadType); + this.Controls.Add(this.rtb_sourceFilePath); + this.Controls.Add(this.rtb_targetFilePath); this.Controls.Add(this.rtbCarType); + this.Controls.Add(this.rtbCarName); this.Controls.Add(this.radLabel7); this.Controls.Add(this.radLabel3); this.Controls.Add(this.radLabel4); this.Controls.Add(this.radLabel2); this.Controls.Add(this.radLabel5); + this.Controls.Add(this.rbtnCancel); + this.Controls.Add(this.rbtnOK); 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; @@ -499,28 +495,28 @@ this.Name = "FEditTolerance"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "修改公差带"; - this.Load += new System.EventHandler(this.SFAddCNC_Load); + this.Load += new System.EventHandler(this.FEditTolerance_Load); ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit(); this.radTitleBar1.ResumeLayout(false); this.radTitleBar1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btn_targetFile)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btn_sourceFile)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rddl_Status)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rddl_Position)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rddl_ReadType)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtb_sourceFilePath)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtb_targetFilePath)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtbCarName)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rddlDimensionName)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radDropDownList1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radDropDownList2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radButton1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radButton2)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -531,27 +527,27 @@ private Telerik.WinControls.UI.RadTitleBar radTitleBar1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label labTitle; - private Telerik.WinControls.UI.RadLabel radLabel7; - private Telerik.WinControls.UI.RadLabel radLabel3; - private Telerik.WinControls.UI.RadLabel radLabel4; - private Telerik.WinControls.UI.RadLabel radLabel2; - private Telerik.WinControls.UI.RadLabel radLabel5; - private Telerik.WinControls.UI.RadTextBox rtbCarType; - private Telerik.WinControls.UI.RadTextBox rtbMesPointName; - private Telerik.WinControls.UI.RadTextBox rtbUpper; private Telerik.WinControls.UI.RadButton rbtnCancel; private Telerik.WinControls.UI.RadButton rbtnOK; - private Telerik.WinControls.UI.RadTextBox rtbLower; - private Telerik.WinControls.UI.RadDropDownList rddlDimensionName; - private Telerik.WinControls.UI.RadDropDownList radDropDownList1; - private Telerik.WinControls.UI.RadLabel radLabel1; - private Telerik.WinControls.UI.RadDropDownList radDropDownList2; - private Telerik.WinControls.UI.RadLabel radLabel6; - private System.Windows.Forms.Label label6; - private System.Windows.Forms.Label label7; - private System.Windows.Forms.Label label8; + private Telerik.WinControls.UI.RadButton btn_targetFile; + private Telerik.WinControls.UI.RadButton btn_sourceFile; private System.Windows.Forms.Label label9; - private Telerik.WinControls.UI.RadButton radButton1; - private Telerik.WinControls.UI.RadButton radButton2; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label6; + private Telerik.WinControls.UI.RadDropDownList rddl_Status; + private Telerik.WinControls.UI.RadLabel radLabel6; + private Telerik.WinControls.UI.RadDropDownList rddl_Position; + private Telerik.WinControls.UI.RadLabel radLabel1; + private Telerik.WinControls.UI.RadDropDownList rddl_ReadType; + private Telerik.WinControls.UI.RadTextBox rtb_sourceFilePath; + private Telerik.WinControls.UI.RadTextBox rtb_targetFilePath; + private Telerik.WinControls.UI.RadTextBox rtbCarType; + private Telerik.WinControls.UI.RadTextBox rtbCarName; + private Telerik.WinControls.UI.RadLabel radLabel7; + private Telerik.WinControls.UI.RadLabel radLabel3; + private Telerik.WinControls.UI.RadLabel radLabel4; + private Telerik.WinControls.UI.RadLabel radLabel2; + private Telerik.WinControls.UI.RadLabel radLabel5; } } diff --git a/Analysis/Tolerance/FToleranceSetup.cs b/Analysis/Tolerance/FToleranceSetup.cs index c786114..ad94b8d 100644 --- a/Analysis/Tolerance/FToleranceSetup.cs +++ b/Analysis/Tolerance/FToleranceSetup.cs @@ -1,144 +1,199 @@ -using System; +using DAL; +using System; using System.Collections.Generic; -using System.ComponentModel; using System.Data; using System.Drawing; -using System.Text; +using System.Linq; using System.Windows.Forms; -using System.Text.RegularExpressions; -using System.Collections; -using System.IO; -using System.Xml; - using Telerik.WinControls.UI; -using DAL; namespace NSAnalysis { - public partial class FToleranceSetup : Telerik.WinControls.UI.ShapedForm - { - private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL(); - public int idgvSelectRowNumber = 0; + public partial class FToleranceSetup : Telerik.WinControls.UI.ShapedForm + { + private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL(); + public int idgvSelectRowNumber = 0; - #region 鼠标事件 + #region 鼠标事件 - private void btn_MouseHover(object sender, EventArgs e) - { - RadButton btn = sender as RadButton; - btn.BackColor = Color.FromArgb(0, 151, 186); - } + 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); - } + private void btn_MouseLeave(object sender, EventArgs e) + { + RadButton btn = sender as RadButton; + btn.BackColor = Color.FromArgb(19, 46, 53); + } - #endregion 鼠标事件 + #endregion 鼠标事件 - public FToleranceSetup() - { - InitializeComponent(); - } + public FToleranceSetup() + { + InitializeComponent(); + InitStatusComboBox(); + SQLHelper.connStr = DatabaseDfn.SqlConnectStr(); + } - private void FToleranceSetup_Load(object sender, EventArgs e) - { - dgvTolList.ColumnHeadersDefaultCellStyle.Font = new Font("Segoe UI", 10, FontStyle.Regular); - lpcAddTol.labPicture.Click += lpcAddTol_Click; - lpcAddTol.labText.Click += lpcAddTol_Click; - rtbnSearch_Click(null, null); - } + private void FToleranceSetup_Load(object sender, EventArgs e) + { + dgvTolList.ColumnHeadersDefaultCellStyle.Font = new Font("Segoe UI", 10, FontStyle.Regular); + lpcAddTol.labPicture.Click += lpcAddTol_Click; + lpcAddTol.labText.Click += lpcAddTol_Click; + rtbnSearch_Click(null, null); + } - public void rtbnSearch_Click(object sender, EventArgs e) - { - //DataTable dt = tmdal.SelectAllToleranceByCondition(rtbCarModel.Text.Trim(), rtbMesPointName.Text.Trim(), rtbDimensionName.Text.Trim()); + // 初始化ComboBox数据源 + private void InitStatusComboBox() + { + var statusList = new List>(); + statusList.Add(new KeyValuePair("全部", "all")); + statusList.Add(new KeyValuePair("启动", "start")); + statusList.Add(new KeyValuePair("停止", "stop")); - //if (dt.Rows.Count > 0) - //{ - // dgvTolList.DataSource = dt; - // SetdgvRowBgColor(dgvTolList); - // labSearchResult.Visible = false; - //} - //else - //{ - // dgvTolList.DataSource = dt; - // labSearchResult.Visible = true; - //} - } + CB_TaskStatus.DataSource = statusList; + CB_TaskStatus.DisplayMember = "Key"; + CB_TaskStatus.ValueMember = "Value"; - /// - /// 设置DataGridView各行变色 - /// - /// DataGridView - public void SetdgvRowBgColor(DataGridView dgv) - { - 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); - } - } - } - } + // 设置默认选中项为“全部” + } - private void dgvTolList_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e) - { - e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1); - } + // 获取选中状态值 + private string GetSelectedStatus() + { + if (CB_TaskStatus.SelectedIndex < 0) + return string.Empty; - private void lpcAddTol_Click(object sender, EventArgs e) - { - FAddTolerance fat = new FAddTolerance(this); - fat.ShowDialog(this); - } + return CB_TaskStatus.SelectedValue.ToString(); + } - private void dgvTolList_CellContentClick(object sender, DataGridViewCellEventArgs e) - { - string buttonText = ""; - if (e.RowIndex < 0 || e.ColumnIndex < 0) - { - return; - } - try - { - buttonText = dgvTolList.Columns[e.ColumnIndex].HeaderText; - } - catch (Exception) - { - buttonText = " "; - } - if (buttonText == "删除") - { - if (DialogResult.Yes == MessageBox.Show("您确定要删除该条公差带信息吗,注意:删除后不可恢复!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)) - { - string iObjIDPk = dgvTolList.Rows[e.RowIndex].Cells["Id"].Value.ToString(); - try - { - tmdal.DeleteOneTolerance(iObjIDPk); - } - catch (Exception ex) - { - MessageBox.Show("删除公差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - MessageBox.Show("删除公差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - rtbnSearch_Click(null, null); - } - } + public void rtbnSearch_Click(object sender, EventArgs e) + { + DataTable dt = tmdal.SelectTaskByCondition(rtbCarName.Text.Trim(), rtbCarModel.Text.Trim(), GetSelectedStatus()); - if (buttonText == "修改" || buttonText == "Edit") - { - idgvSelectRowNumber = e.RowIndex; - FEditTolerance sfeditcnc = new FEditTolerance(this); - sfeditcnc.ShowDialog(); - } - } - } + if (dt.Rows.Count > 0) + { + dgvTolList.AutoGenerateColumns = false; + dgvTolList.DataSource = dt; + SetdgvRowBgColor(dgvTolList); + labSearchResult.Visible = false; + } + else + { + dgvTolList.AutoGenerateColumns = false; + dgvTolList.DataSource = dt; + labSearchResult.Visible = true; + } + } + + /// + /// 设置DataGridView各行变色 + /// + /// DataGridView + public void SetdgvRowBgColor(DataGridView dgv) + { + 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); + } + } + } + } + + private void dgvTolList_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e) + { + e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1); + } + + private void lpcAddTol_Click(object sender, EventArgs e) + { + FAddTolerance fat = new FAddTolerance(this); + fat.ShowDialog(this); + } + + private void dgvTolList_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + string buttonText = ""; + if (e.RowIndex < 0 || e.ColumnIndex < 0) + { + return; + } + try + { + buttonText = dgvTolList.Columns[e.ColumnIndex].HeaderText; + } + catch (Exception) + { + buttonText = " "; + } + if (buttonText == "删除") + { + if (DialogResult.Yes == MessageBox.Show("您确定要删除该条分发配置吗,注意:删除后不可恢复!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)) + { + string modelName = dgvTolList.Rows[e.RowIndex].Cells["modelsName"].Value.ToString(); + string modelsCode = dgvTolList.Rows[e.RowIndex].Cells["modelsCode"].Value.ToString(); + + if (string.IsNullOrEmpty(modelsCode) || string.IsNullOrEmpty(modelName)) + { + MessageBox.Show("分发配置代码或名称不能为空,无法删除!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } + try + { + tmdal.UpdateIsDelete(modelName,modelsCode); + } + catch (Exception ex) + { + MessageBox.Show("删除分发配置失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } + MessageBox.Show("删除分发配置成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + rtbnSearch_Click(null, null); + } + } + + if (buttonText == "修改" || buttonText == "Edit") + { + idgvSelectRowNumber = e.RowIndex; + FEditTolerance sfeditcnc = new FEditTolerance(this); + sfeditcnc.ShowDialog(); + } + } + + private void dgvTolList_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) + { + if (dgvTolList.Columns + .Cast() + .Any(c => c.DataPropertyName == "status" && c.Index == e.ColumnIndex)) + + { + switch (e.Value.ToString()) + { + case "start": e.Value = "启动"; break; + case "stop": e.Value = "停止"; break; + } + } + + if (dgvTolList.Columns + .Cast() + .Any(c => c.DataPropertyName == "readType" && c.Index == e.ColumnIndex)) + { + switch (e.Value.ToString()) + { + case "1": e.Value = "文件名称"; break; + case "2": e.Value = "文件内容"; break; + } + } + } + } } \ No newline at end of file diff --git a/Analysis/Tolerance/FToleranceSetup.designer.cs b/Analysis/Tolerance/FToleranceSetup.designer.cs index 62fc07c..09e5ded 100644 --- a/Analysis/Tolerance/FToleranceSetup.designer.cs +++ b/Analysis/Tolerance/FToleranceSetup.designer.cs @@ -39,23 +39,25 @@ namespace NSAnalysis this.labTitle = new System.Windows.Forms.Label(); this.dgvTolList = new System.Windows.Forms.DataGridView(); this.radGroupBox7 = new Telerik.WinControls.UI.RadGroupBox(); + this.CB_TaskStatus = new System.Windows.Forms.ComboBox(); this.rtbnSearch = new Telerik.WinControls.UI.RadButton(); this.label3 = new System.Windows.Forms.Label(); - this.rtbMesPointName = new Telerik.WinControls.UI.RadTextBox(); - this.label1 = new System.Windows.Forms.Label(); this.rtbCarModel = new Telerik.WinControls.UI.RadTextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.rtbCarName = new Telerik.WinControls.UI.RadTextBox(); this.label15 = new System.Windows.Forms.Label(); this.dataGridViewImageColumn1 = new System.Windows.Forms.DataGridViewImageColumn(); this.dataGridViewImageColumn2 = new System.Windows.Forms.DataGridViewImageColumn(); this.lpcAddTol = new UserControlClass.LabPictureControl(); this.labSearchResult = new System.Windows.Forms.Label(); - this.comboBox1 = new System.Windows.Forms.ComboBox(); this.Id = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.CarType = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.MeasurePointName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.modelsName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.modelsCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.DimensionName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.TolLower = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.TolUpper = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.sourceFile = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.targetFile = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Status = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.readType = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.CreateTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.CNCEdit = new System.Windows.Forms.DataGridViewImageColumn(); this.CNCDelete = new System.Windows.Forms.DataGridViewImageColumn(); @@ -65,8 +67,8 @@ namespace NSAnalysis ((System.ComponentModel.ISupportInitialize)(this.radGroupBox7)).BeginInit(); this.radGroupBox7.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.rtbnSearch)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.rtbCarModel)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtbCarName)).BeginInit(); this.SuspendLayout(); // // radTitleBar1 @@ -85,11 +87,11 @@ 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(930, 40); + this.radTitleBar1.Size = new System.Drawing.Size(1112, 40); this.radTitleBar1.TabIndex = 0; this.radTitleBar1.TabStop = false; - this.radTitleBar1.Text = "公差带设置"; - ((Telerik.WinControls.UI.RadTitleBarElement)(this.radTitleBar1.GetChildAt(0))).Text = "公差带设置"; + 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))))); @@ -110,7 +112,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(367, -5); + this.label2.Location = new System.Drawing.Point(458, -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); @@ -122,11 +124,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(409, 8); + this.labTitle.Location = new System.Drawing.Point(500, 8); this.labTitle.Name = "labTitle"; - this.labTitle.Size = new System.Drawing.Size(88, 25); + this.labTitle.Size = new System.Drawing.Size(126, 25); this.labTitle.TabIndex = 0; - this.labTitle.Text = "分发设置"; + this.labTitle.Text = "文件分发设置"; // // dgvTolList // @@ -151,11 +153,13 @@ namespace NSAnalysis this.dgvTolList.ColumnHeadersHeight = 40; this.dgvTolList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Id, - this.CarType, - this.MeasurePointName, + this.modelsName, + this.modelsCode, this.DimensionName, - this.TolLower, - this.TolUpper, + this.sourceFile, + this.targetFile, + this.Status, + this.readType, this.CreateTime, this.CNCEdit, this.CNCDelete}); @@ -181,9 +185,10 @@ namespace NSAnalysis this.dgvTolList.RowsDefaultCellStyle = dataGridViewCellStyle3; this.dgvTolList.RowTemplate.DefaultCellStyle.Font = new System.Drawing.Font("Segoe UI", 11F); this.dgvTolList.RowTemplate.Height = 40; - this.dgvTolList.Size = new System.Drawing.Size(887, 775); + this.dgvTolList.Size = new System.Drawing.Size(1069, 775); this.dgvTolList.TabIndex = 17; this.dgvTolList.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvTolList_CellContentClick); + this.dgvTolList.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.dgvTolList_CellFormatting); this.dgvTolList.RowStateChanged += new System.Windows.Forms.DataGridViewRowStateChangedEventHandler(this.dgvTolList_RowStateChanged); // // radGroupBox7 @@ -191,12 +196,12 @@ namespace NSAnalysis this.radGroupBox7.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping; this.radGroupBox7.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.radGroupBox7.Controls.Add(this.comboBox1); + this.radGroupBox7.Controls.Add(this.CB_TaskStatus); this.radGroupBox7.Controls.Add(this.rtbnSearch); this.radGroupBox7.Controls.Add(this.label3); - this.radGroupBox7.Controls.Add(this.rtbMesPointName); - this.radGroupBox7.Controls.Add(this.label1); this.radGroupBox7.Controls.Add(this.rtbCarModel); + this.radGroupBox7.Controls.Add(this.label1); + this.radGroupBox7.Controls.Add(this.rtbCarName); this.radGroupBox7.Controls.Add(this.label15); this.radGroupBox7.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.radGroupBox7.HeaderAlignment = Telerik.WinControls.UI.HeaderAlignment.Center; @@ -207,7 +212,7 @@ namespace NSAnalysis // // this.radGroupBox7.RootElement.ShadowDepth = 2; - this.radGroupBox7.Size = new System.Drawing.Size(749, 94); + this.radGroupBox7.Size = new System.Drawing.Size(931, 94); this.radGroupBox7.TabIndex = 456; this.radGroupBox7.Text = "查询条件"; ((Telerik.WinControls.UI.RadGroupBoxElement)(this.radGroupBox7.GetChildAt(0))).HeaderAlignment = Telerik.WinControls.UI.HeaderAlignment.Center; @@ -228,6 +233,19 @@ namespace NSAnalysis ((Telerik.WinControls.Primitives.TextPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(2).GetChildAt(1))).Alignment = System.Drawing.ContentAlignment.MiddleLeft; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(2).GetChildAt(1))).BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Solid; // + // CB_TaskStatus + // + this.CB_TaskStatus.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.CB_TaskStatus.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.CB_TaskStatus.Font = new System.Drawing.Font("Segoe UI", 12F); + this.CB_TaskStatus.ForeColor = System.Drawing.Color.White; + this.CB_TaskStatus.FormattingEnabled = true; + this.CB_TaskStatus.ItemHeight = 21; + this.CB_TaskStatus.Location = new System.Drawing.Point(447, 52); + this.CB_TaskStatus.Name = "CB_TaskStatus"; + this.CB_TaskStatus.Size = new System.Drawing.Size(140, 29); + this.CB_TaskStatus.TabIndex = 459; + // // rtbnSearch // this.rtbnSearch.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); @@ -271,17 +289,17 @@ namespace NSAnalysis this.label3.TabIndex = 459; this.label3.Text = "运行状态:"; // - // rtbMesPointName + // rtbCarModel // - this.rtbMesPointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbMesPointName.Font = new System.Drawing.Font("Segoe UI", 12F); - this.rtbMesPointName.ForeColor = System.Drawing.Color.White; - this.rtbMesPointName.Location = new System.Drawing.Point(237, 52); - this.rtbMesPointName.Name = "rtbMesPointName"; - this.rtbMesPointName.Size = new System.Drawing.Size(140, 27); - this.rtbMesPointName.TabIndex = 458; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbMesPointName.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbMesPointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rtbCarModel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rtbCarModel.Font = new System.Drawing.Font("Segoe UI", 12F); + this.rtbCarModel.ForeColor = System.Drawing.Color.White; + this.rtbCarModel.Location = new System.Drawing.Point(237, 52); + this.rtbCarModel.Name = "rtbCarModel"; + this.rtbCarModel.Size = new System.Drawing.Size(140, 27); + this.rtbCarModel.TabIndex = 458; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarModel.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarModel.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); // // label1 // @@ -294,17 +312,17 @@ namespace NSAnalysis this.label1.TabIndex = 457; this.label1.Text = "车型代码:"; // - // rtbCarModel + // rtbCarName // - this.rtbCarModel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbCarModel.Font = new System.Drawing.Font("Segoe UI", 12F); - this.rtbCarModel.ForeColor = System.Drawing.Color.White; - this.rtbCarModel.Location = new System.Drawing.Point(42, 52); - this.rtbCarModel.Name = "rtbCarModel"; - this.rtbCarModel.Size = new System.Drawing.Size(140, 27); - this.rtbCarModel.TabIndex = 456; - ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarModel.GetChildAt(0))).Text = ""; - ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarModel.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rtbCarName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.rtbCarName.Font = new System.Drawing.Font("Segoe UI", 12F); + this.rtbCarName.ForeColor = System.Drawing.Color.White; + this.rtbCarName.Location = new System.Drawing.Point(42, 52); + this.rtbCarName.Name = "rtbCarName"; + this.rtbCarName.Size = new System.Drawing.Size(140, 27); + this.rtbCarName.TabIndex = 456; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarName.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); // // label15 // @@ -357,29 +375,13 @@ namespace NSAnalysis this.labSearchResult.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); this.labSearchResult.Font = new System.Drawing.Font("Segoe UI", 12F); this.labSearchResult.ForeColor = System.Drawing.Color.Red; - this.labSearchResult.Location = new System.Drawing.Point(240, 465); + this.labSearchResult.Location = new System.Drawing.Point(331, 465); this.labSearchResult.Name = "labSearchResult"; this.labSearchResult.Size = new System.Drawing.Size(452, 21); this.labSearchResult.TabIndex = 457; this.labSearchResult.Text = "查询完毕,未查询到任何结果,请检查查询条件是否正确!"; this.labSearchResult.Visible = false; // - // comboBox1 - // - this.comboBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.comboBox1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.comboBox1.Font = new System.Drawing.Font("宋体", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.comboBox1.FormattingEnabled = true; - this.comboBox1.ItemHeight = 19; - this.comboBox1.Items.AddRange(new object[] { - "全部", - "启动", - "暂停"}); - this.comboBox1.Location = new System.Drawing.Point(447, 52); - this.comboBox1.Name = "comboBox1"; - this.comboBox1.Size = new System.Drawing.Size(140, 27); - this.comboBox1.TabIndex = 459; - // // Id // this.Id.DataPropertyName = "Id"; @@ -389,53 +391,68 @@ namespace NSAnalysis this.Id.Visible = false; this.Id.Width = 45; // - // CarType + // modelsName // - this.CarType.DataPropertyName = "CarType"; - this.CarType.HeaderText = "车型名称"; - this.CarType.Name = "CarType"; - this.CarType.ReadOnly = true; - this.CarType.Width = 65; + this.modelsName.DataPropertyName = "modelsName"; + this.modelsName.HeaderText = "车型名称"; + this.modelsName.Name = "modelsName"; + this.modelsName.ReadOnly = true; + this.modelsName.Width = 65; // - // MeasurePointName + // modelsCode // - this.MeasurePointName.DataPropertyName = "MeasurePointName"; - this.MeasurePointName.HeaderText = "车型代码"; - this.MeasurePointName.Name = "MeasurePointName"; - this.MeasurePointName.ReadOnly = true; - this.MeasurePointName.Width = 65; + this.modelsCode.DataPropertyName = "modelsCode"; + this.modelsCode.HeaderText = "车型代码"; + this.modelsCode.Name = "modelsCode"; + this.modelsCode.ReadOnly = true; + this.modelsCode.Width = 65; // // DimensionName // - this.DimensionName.DataPropertyName = "DimensionName"; + this.DimensionName.DataPropertyName = "position"; this.DimensionName.HeaderText = "车型位置"; this.DimensionName.Name = "DimensionName"; this.DimensionName.ReadOnly = true; this.DimensionName.Width = 65; // - // TolLower + // sourceFile // - this.TolLower.DataPropertyName = "TolLower"; - this.TolLower.HeaderText = "运行状态"; - this.TolLower.Name = "TolLower"; - this.TolLower.ReadOnly = true; - this.TolLower.Width = 65; + this.sourceFile.DataPropertyName = "sourceFile"; + this.sourceFile.HeaderText = "源路径"; + this.sourceFile.Name = "sourceFile"; + this.sourceFile.ReadOnly = true; + this.sourceFile.Width = 65; // - // TolUpper + // targetFile // - this.TolUpper.DataPropertyName = "TolUpper"; - this.TolUpper.HeaderText = "读取方式"; - this.TolUpper.Name = "TolUpper"; - this.TolUpper.ReadOnly = true; - this.TolUpper.Width = 65; + this.targetFile.DataPropertyName = "targetFile"; + this.targetFile.HeaderText = "目标路径"; + this.targetFile.Name = "targetFile"; + this.targetFile.ReadOnly = true; + this.targetFile.Width = 65; + // + // Status + // + this.Status.DataPropertyName = "status"; + this.Status.HeaderText = "运行状态"; + this.Status.Name = "Status"; + this.Status.ReadOnly = true; + this.Status.Width = 65; + // + // readType + // + this.readType.DataPropertyName = "readType"; + this.readType.HeaderText = "读取方式"; + this.readType.Name = "readType"; + this.readType.ReadOnly = true; + this.readType.Width = 65; // // CreateTime // - this.CreateTime.DataPropertyName = "CreateTime"; + this.CreateTime.DataPropertyName = "create_date"; this.CreateTime.HeaderText = "创建时间"; this.CreateTime.Name = "CreateTime"; this.CreateTime.ReadOnly = true; - this.CreateTime.Visible = false; this.CreateTime.Width = 65; // // CNCEdit @@ -444,7 +461,7 @@ namespace NSAnalysis this.CNCEdit.Image = ((System.Drawing.Image)(resources.GetObject("CNCEdit.Image"))); this.CNCEdit.Name = "CNCEdit"; this.CNCEdit.ReadOnly = true; - this.CNCEdit.ToolTipText = "点击修改公差信息"; + this.CNCEdit.ToolTipText = "点击修改配置"; this.CNCEdit.Width = 34; // // CNCDelete @@ -453,7 +470,7 @@ namespace NSAnalysis this.CNCDelete.Image = ((System.Drawing.Image)(resources.GetObject("CNCDelete.Image"))); this.CNCDelete.Name = "CNCDelete"; this.CNCDelete.ReadOnly = true; - this.CNCDelete.ToolTipText = "点击删除公差信息"; + this.CNCDelete.ToolTipText = "点击删除配置"; this.CNCDelete.Width = 34; // // FToleranceSetup @@ -464,7 +481,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(932, 950); + this.ClientSize = new System.Drawing.Size(1114, 950); this.Controls.Add(this.labSearchResult); this.Controls.Add(this.radGroupBox7); this.Controls.Add(this.lpcAddTol); @@ -475,7 +492,7 @@ namespace NSAnalysis this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "FToleranceSetup"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "公差带设置"; + this.Text = "文件分发设置"; this.Load += new System.EventHandler(this.FToleranceSetup_Load); ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit(); this.radTitleBar1.ResumeLayout(false); @@ -485,8 +502,8 @@ namespace NSAnalysis this.radGroupBox7.ResumeLayout(false); this.radGroupBox7.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.rtbnSearch)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.rtbCarModel)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rtbCarName)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -503,19 +520,21 @@ namespace NSAnalysis private System.Windows.Forms.DataGridViewImageColumn dataGridViewImageColumn2; private Telerik.WinControls.UI.RadGroupBox radGroupBox7; private System.Windows.Forms.Label label3; - private Telerik.WinControls.UI.RadTextBox rtbMesPointName; - private System.Windows.Forms.Label label1; private Telerik.WinControls.UI.RadTextBox rtbCarModel; + private System.Windows.Forms.Label label1; + private Telerik.WinControls.UI.RadTextBox rtbCarName; private System.Windows.Forms.Label label15; private Telerik.WinControls.UI.RadButton rtbnSearch; private System.Windows.Forms.Label labSearchResult; - private System.Windows.Forms.ComboBox comboBox1; + private System.Windows.Forms.ComboBox CB_TaskStatus; private System.Windows.Forms.DataGridViewTextBoxColumn Id; - private System.Windows.Forms.DataGridViewTextBoxColumn CarType; - private System.Windows.Forms.DataGridViewTextBoxColumn MeasurePointName; + private System.Windows.Forms.DataGridViewTextBoxColumn modelsName; + private System.Windows.Forms.DataGridViewTextBoxColumn modelsCode; private System.Windows.Forms.DataGridViewTextBoxColumn DimensionName; - private System.Windows.Forms.DataGridViewTextBoxColumn TolLower; - private System.Windows.Forms.DataGridViewTextBoxColumn TolUpper; + private System.Windows.Forms.DataGridViewTextBoxColumn sourceFile; + private System.Windows.Forms.DataGridViewTextBoxColumn targetFile; + private System.Windows.Forms.DataGridViewTextBoxColumn Status; + private System.Windows.Forms.DataGridViewTextBoxColumn readType; private System.Windows.Forms.DataGridViewTextBoxColumn CreateTime; private System.Windows.Forms.DataGridViewImageColumn CNCEdit; private System.Windows.Forms.DataGridViewImageColumn CNCDelete; diff --git a/Analysis/Tolerance/FToleranceSetup.resx b/Analysis/Tolerance/FToleranceSetup.resx index 835152e..52d2697 100644 --- a/Analysis/Tolerance/FToleranceSetup.resx +++ b/Analysis/Tolerance/FToleranceSetup.resx @@ -155,19 +155,25 @@ True - + True - + True True - + True - + + True + + + True + + True diff --git a/Analysis/ZSFDEMO.cs b/Analysis/ZSFDEMO.cs index 6c2f742..23f2196 100644 --- a/Analysis/ZSFDEMO.cs +++ b/Analysis/ZSFDEMO.cs @@ -1,32 +1,16 @@ using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; -using System.Text.RegularExpressions; -using System.Collections; -using System.IO; -using System.Xml; - -using Telerik.WinControls.UI; namespace NSAnalysis { - public partial class ZSFDEMO : Telerik.WinControls.UI.ShapedForm - { - #region 全局变量 - #endregion + public partial class ZSFDEMO : Telerik.WinControls.UI.ShapedForm + { + public ZSFDEMO() + { + InitializeComponent(); + } - public ZSFDEMO() - { - InitializeComponent(); - } - - private void ZSFDEMO_Load(object sender, EventArgs e) - { - - } - } -} + private void ZSFDEMO_Load(object sender, EventArgs e) + { + } + } +} \ No newline at end of file diff --git a/Analysis/bin/x64/2024.10.24 奇瑞总装增加极差新功能升级包.zip b/Analysis/bin/x64/2024.10.24 奇瑞总装增加极差新功能升级包.zip deleted file mode 100644 index 93736d2..0000000 Binary files a/Analysis/bin/x64/2024.10.24 奇瑞总装增加极差新功能升级包.zip and /dev/null differ diff --git a/Analysis/bin/x64/Debug/DataBase/CheryAnalysisDB.db b/Analysis/bin/x64/Debug/DataBase/CheryAnalysisDB.db deleted file mode 100644 index 2789702..0000000 Binary files a/Analysis/bin/x64/Debug/DataBase/CheryAnalysisDB.db and /dev/null differ diff --git a/Analysis/bin/x64/Debug/Debug.txt b/Analysis/bin/x64/Debug/Debug.txt index fd49dd1..914603d 100644 --- a/Analysis/bin/x64/Debug/Debug.txt +++ b/Analysis/bin/x64/Debug/Debug.txt @@ -1,17 +1,12 @@ -2025-08-04 11:42:26.704----软件Program Main函数开始执行-- -2025-08-04 11:42:26.707--加载配置文件——>开始 -2025-08-04 11:42:26.727--数据库连接 SqlServerName:127.0.0.1 -2025-08-04 11:42:26.728--数据库连接 SqlUserName:sa -2025-08-04 11:42:26.729--数据库连接 SqlPassword:Hexagon123 -2025-08-04 11:42:26.729--数据库连接 SqlDbName:NextSenseStandardDB -2025-08-04 11:42:26.729--加载配置文件——>完成 -2025-08-04 11:42:28.483--数据库连接 SqlServerName:127.0.0.1 -2025-08-04 11:42:28.484--数据库连接 SqlUserName:sa -2025-08-04 11:42:28.485--数据库连接 SqlPassword:Hexagon123 -2025-08-04 11:42:28.486--数据库连接 SqlDbName:NextSenseStandardDB -2025-08-04 11:42:28.486--数据库连接字符串:Data Source=127.0.0.1;initial Catalog=NextSenseStandardDB;User ID=sa;password=Hexagon123; -2025-08-04 11:42:28.853-- 进入显示车身模式!显示车身界面。 -2025-08-04 11:42:28.854-- 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-08-04 11:42:28.856--软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-08-04 11:42:28.857--软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-08-04 11:42:32.820---------------海克斯康面隙分析软件程序关闭--------------------- +2025-08-04 16:45:31.230----软件Program Main函数开始执行-- +2025-08-04 16:45:31.232--加载配置文件——>开始 +2025-08-04 16:45:31.327--加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:45:32.142--数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:45:32.143--数据库连接 SqlUserName:sa +2025-08-04 16:45:32.144--数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:45:32.146--数据库连接 SqlDbName:CJLR +2025-08-04 16:45:32.147--数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; diff --git a/Analysis/bin/x64/Debug/EncoderLogs/2024-09-27.csv b/Analysis/bin/x64/Debug/EncoderLogs/2024-09-27.csv deleted file mode 100644 index c8a6990..0000000 --- a/Analysis/bin/x64/Debug/EncoderLogs/2024-09-27.csv +++ /dev/null @@ -1,939 +0,0 @@ -2024-09-27 11:38:12.1539,1,2,3,15.237 -2024-09-27 11:38:12.4648,1,2,3,15.237 -2024-09-27 11:38:12.7780,1,2,3,15.237 -2024-09-27 11:38:13.0880,1,2,3,15.237 -2024-09-27 11:38:13.4020,1,2,3,15.237 -2024-09-27 11:38:13.7121,1,2,3,15.237 -2024-09-27 11:38:14.0272,1,2,3,15.237 -2024-09-27 11:38:14.3376,1,2,3,15.237 -2024-09-27 11:38:14.6516,1,2,3,15.237 -2024-09-27 11:38:14.9626,1,2,3,15.237 -2024-09-27 11:38:15.2741,1,2,3,15.237 -2024-09-27 11:38:15.5873,1,2,3,15.237 -2024-09-27 11:38:15.9019,1,2,3,15.237 -2024-09-27 11:38:16.2117,1,2,3,15.237 -2024-09-27 11:38:16.5243,1,2,3,15.237 -2024-09-27 11:38:16.8406,1,2,3,15.237 -2024-09-27 11:38:17.1494,1,2,3,15.237 -2024-09-27 11:38:17.4627,1,2,3,15.237 -2024-09-27 11:38:17.7754,1,2,3,15.237 -2024-09-27 11:38:18.0891,1,2,3,15.237 -2024-09-27 11:38:18.4009,1,2,3,15.237 -2024-09-27 11:38:18.7127,1,2,3,15.237 -2024-09-27 11:38:19.0284,1,2,3,15.237 -2024-09-27 11:38:19.3359,1,2,3,15.237 -2024-09-27 11:38:19.6513,1,2,3,15.237 -2024-09-27 11:38:19.9629,1,2,3,15.237 -2024-09-27 11:38:20.2777,1,2,3,15.237 -2024-09-27 11:38:20.5886,1,2,3,15.237 -2024-09-27 11:38:20.9022,1,2,3,15.237 -2024-09-27 11:38:21.2134,1,2,3,15.237 -2024-09-27 11:38:21.5270,1,2,3,15.237 -2024-09-27 11:38:21.8371,1,2,3,15.237 -2024-09-27 11:38:22.1514,1,2,3,15.237 -2024-09-27 11:38:22.4623,1,2,3,15.237 -2024-09-27 11:38:22.7774,1,2,3,15.237 -2024-09-27 11:38:23.0862,1,2,3,15.237 -2024-09-27 11:38:23.3999,1,2,3,15.237 -2024-09-27 11:38:23.7119,1,2,3,15.237 -2024-09-27 11:38:24.0266,1,2,3,15.237 -2024-09-27 11:38:24.3371,1,2,3,15.237 -2024-09-27 11:38:24.6511,1,2,3,15.237 -2024-09-27 11:38:24.9627,1,2,3,15.237 -2024-09-27 11:38:25.2761,1,2,3,15.237 -2024-09-27 11:38:25.5871,1,2,3,15.237 -2024-09-27 11:38:25.8988,1,2,3,15.237 -2024-09-27 11:38:26.2130,1,2,3,15.237 -2024-09-27 11:38:26.5270,1,2,3,15.237 -2024-09-27 11:38:26.8360,1,2,3,15.237 -2024-09-27 11:38:27.1516,1,2,3,15.237 -2024-09-27 11:38:27.4619,1,2,3,15.237 -2024-09-27 11:38:27.7771,1,2,3,15.237 -2024-09-27 11:38:28.0883,1,2,3,15.237 -2024-09-27 11:38:28.3985,1,2,3,15.237 -2024-09-27 11:38:28.7111,1,2,3,15.237 -2024-09-27 11:38:29.0257,1,2,3,15.237 -2024-09-27 11:38:29.3379,1,2,3,15.237 -2024-09-27 11:38:29.6499,1,2,3,15.237 -2024-09-27 11:38:29.9624,1,2,3,15.237 -2024-09-27 11:38:30.2754,1,2,3,15.237 -2024-09-27 11:38:30.5869,1,2,3,15.237 -2024-09-27 11:38:30.9022,1,2,3,15.237 -2024-09-27 11:38:31.2139,1,2,3,15.237 -2024-09-27 11:38:31.5248,1,2,3,15.237 -2024-09-27 11:38:31.8394,1,2,3,15.237 -2024-09-27 11:38:32.1512,1,2,3,15.237 -2024-09-27 11:38:32.4607,1,2,3,15.237 -2024-09-27 11:38:32.7748,1,2,3,15.237 -2024-09-27 11:38:33.0886,1,2,3,15.237 -2024-09-27 11:38:33.3998,1,2,3,15.237 -2024-09-27 11:38:33.7115,1,2,3,15.237 -2024-09-27 11:38:34.0271,1,2,3,15.237 -2024-09-27 11:38:34.3382,1,2,3,15.237 -2024-09-27 11:38:34.6487,1,2,3,15.237 -2024-09-27 11:38:34.9626,1,2,3,15.237 -2024-09-27 11:38:35.2754,1,2,3,15.237 -2024-09-27 11:38:35.5888,1,2,3,15.237 -2024-09-27 11:38:35.8994,1,2,3,115.237 -2024-09-27 11:38:36.2117,1,2,3,115.237 -2024-09-27 11:38:36.5282,1,2,3,115.237 -2024-09-27 11:38:36.8361,1,2,3,115.237 -2024-09-27 11:38:37.1530,1,2,3,115.237 -2024-09-27 11:38:37.4637,1,2,3,115.237 -2024-09-27 11:38:37.7752,1,2,3,115.237 -2024-09-27 11:38:38.0869,1,2,3,115.237 -2024-09-27 11:38:38.3984,1,2,3,115.237 -2024-09-27 11:38:38.7124,1,2,3,115.237 -2024-09-27 11:38:39.0248,1,2,3,115.237 -2024-09-27 11:38:39.3380,1,2,3,115.237 -2024-09-27 11:38:39.6482,1,2,3,115.237 -2024-09-27 11:38:39.9613,1,2,3,115.237 -2024-09-27 11:38:40.2748,1,2,3,115.237 -2024-09-27 11:38:40.5860,1,2,3,115.237 -2024-09-27 11:38:40.9005,1,2,3,115.237 -2024-09-27 11:38:41.2146,1,2,3,115.237 -2024-09-27 11:38:41.5246,1,2,3,115.237 -2024-09-27 11:38:41.8367,1,2,3,115.237 -2024-09-27 11:38:42.1505,1,2,3,115.237 -2024-09-27 11:38:42.4616,1,2,3,115.237 -2024-09-27 11:38:42.7760,1,2,3,115.237 -2024-09-27 11:38:43.0865,1,2,3,115.237 -2024-09-27 11:38:43.3998,1,2,3,115.237 -2024-09-27 11:38:43.7101,1,2,3,115.237 -2024-09-27 11:38:44.0233,1,2,3,115.237 -2024-09-27 11:38:44.3379,1,2,3,115.237 -2024-09-27 11:38:44.6498,1,2,3,115.237 -2024-09-27 11:38:44.9633,1,2,3,115.237 -2024-09-27 11:38:45.2785,1,2,3,115.237 -2024-09-27 11:38:45.5856,1,2,3,115.237 -2024-09-27 11:38:45.8990,1,2,3,115.237 -2024-09-27 11:38:46.2109,1,2,3,115.237 -2024-09-27 11:38:46.5251,1,2,3,115.237 -2024-09-27 11:38:46.8381,1,2,3,115.237 -2024-09-27 11:38:47.1483,1,2,3,115.237 -2024-09-27 11:38:47.4623,1,2,3,115.237 -2024-09-27 11:38:47.7764,1,2,3,115.237 -2024-09-27 11:38:48.0855,1,2,3,115.237 -2024-09-27 11:38:48.3999,1,2,3,115.237 -2024-09-27 11:38:48.7125,1,2,3,115.237 -2024-09-27 11:38:49.0233,1,2,3,115.237 -2024-09-27 11:38:49.3372,1,2,3,115.237 -2024-09-27 11:38:49.6496,1,2,3,115.237 -2024-09-27 11:38:49.9606,1,2,3,115.237 -2024-09-27 11:38:50.2728,1,2,3,115.237 -2024-09-27 11:38:50.5868,1,2,3,115.237 -2024-09-27 11:38:50.8985,1,2,3,115.237 -2024-09-27 11:38:51.2111,1,2,3,115.237 -2024-09-27 11:38:51.5265,1,2,3,115.237 -2024-09-27 11:38:51.8367,1,2,3,115.237 -2024-09-27 11:38:52.1507,1,2,3,115.237 -2024-09-27 11:38:52.4606,1,2,3,115.237 -2024-09-27 11:38:52.7737,1,2,3,115.237 -2024-09-27 11:38:53.0864,1,2,3,115.237 -2024-09-27 11:38:53.4027,1,2,3,115.237 -2024-09-27 11:38:53.7148,1,2,3,115.237 -2024-09-27 11:38:54.0261,1,2,3,115.237 -2024-09-27 11:38:54.3356,1,2,3,115.237 -2024-09-27 11:38:54.6498,1,2,3,115.237 -2024-09-27 11:38:54.9615,1,2,3,115.237 -2024-09-27 11:38:55.2753,1,2,3,115.237 -2024-09-27 11:38:55.5884,1,2,3,115.237 -2024-09-27 11:38:55.9010,1,2,3,115.237 -2024-09-27 11:38:56.2145,1,2,3,115.237 -2024-09-27 11:38:56.5268,1,2,3,115.237 -2024-09-27 11:38:56.8364,1,2,3,115.237 -2024-09-27 11:38:57.1490,1,2,3,115.237 -2024-09-27 11:38:57.4632,1125.237,2,3,115.237 -2024-09-27 11:38:57.7728,1125.237,2,3,115.237 -2024-09-27 11:38:58.0870,1125.237,2,3,115.237 -2024-09-27 11:38:58.4004,1125.237,2,3,115.237 -2024-09-27 11:38:58.7111,1125.237,2,3,115.237 -2024-09-27 11:38:59.0228,1125.237,2,3,115.237 -2024-09-27 11:38:59.3378,1125.237,2,3,115.237 -2024-09-27 11:38:59.6494,1125.237,2,3,115.237 -2024-09-27 11:38:59.9627,1125.237,2,3,115.237 -2024-09-27 11:39:00.2729,1125.237,2,3,115.237 -2024-09-27 11:39:00.5879,1125.237,2,3,115.237 -2024-09-27 11:39:00.8978,1125.237,2,3,115.237 -2024-09-27 11:39:01.2102,1125.237,2,3,115.237 -2024-09-27 11:39:01.5255,1125.237,2,3,115.237 -2024-09-27 11:39:01.8377,1125.237,2,3,115.237 -2024-09-27 11:39:02.1510,1125.237,2,3,115.237 -2024-09-27 11:39:02.4605,1125.237,2,3,115.237 -2024-09-27 11:39:02.7768,1125.237,2,3,115.237 -2024-09-27 11:39:03.0857,1125.237,2,3,115.237 -2024-09-27 11:39:03.3992,1125.237,2,3,115.237 -2024-09-27 11:39:03.7104,1125.237,2,3,115.237 -2024-09-27 11:39:04.0230,1125.237,2,3,115.237 -2024-09-27 11:39:04.3367,1125.237,2,3,115.237 -2024-09-27 11:39:04.6517,1125.237,2,3,115.237 -2024-09-27 11:39:04.9625,1125.237,2,3,115.237 -2024-09-27 11:39:05.2730,1125.237,2,3,115.237 -2024-09-27 11:39:05.5898,1125.237,2,3,115.237 -2024-09-27 11:39:05.8974,1125.237,2,3,115.237 -2024-09-27 11:39:06.2114,1125.237,2,3,115.237 -2024-09-27 11:39:06.5227,1125.237,2,3,115.237 -2024-09-27 11:39:06.8372,1125.237,2,3,115.237 -2024-09-27 11:39:07.1499,1125.237,2,3,115.237 -2024-09-27 11:39:07.4600,1125.237,2,3,115.237 -2024-09-27 11:39:07.7754,1125.237,2,3,115.237 -2024-09-27 11:39:08.0868,1125.237,2,3,115.237 -2024-09-27 11:39:08.3994,1125.237,2,3,115.237 -2024-09-27 11:39:08.7128,1125.237,2,3,115.237 -2024-09-27 11:39:09.0223,1125.237,2,3,115.237 -2024-09-27 11:39:09.3382,1125.237,2,3,115.237 -2024-09-27 11:39:09.6515,1125.237,2,3,115.237 -2024-09-27 11:39:09.9609,1125.237,2,3,115.237 -2024-09-27 11:39:10.2737,1125.237,2,3,115.237 -2024-09-27 11:39:10.5877,1125.237,2,3,115.237 -2024-09-27 11:39:10.8977,1125.237,2,3,115.237 -2024-09-27 11:39:11.2118,1125.237,2,3,115.237 -2024-09-27 11:39:11.5251,1125.237,2,3,115.237 -2024-09-27 11:39:11.8356,1125.237,2,3,115.237 -2024-09-27 11:39:12.1501,1125.237,2,3,115.237 -2024-09-27 11:39:12.4617,1125.237,2,3,115.237 -2024-09-27 11:39:12.7744,1125.237,2,3,115.237 -2024-09-27 11:39:13.0850,1125.237,2,3,115.237 -2024-09-27 11:39:13.3994,1125.237,2,3,115.237 -2024-09-27 11:39:13.7124,1125.237,2,3,115.237 -2024-09-27 11:39:14.0246,1125.237,2,3,115.237 -2024-09-27 11:39:14.3373,1125.237,2,3,115.237 -2024-09-27 11:39:14.6490,1125.237,2,3,115.237 -2024-09-27 11:39:14.9603,1125.237,2,3,115.237 -2024-09-27 11:39:15.2746,1125.237,2,3,115.237 -2024-09-27 11:39:15.5853,1125.237,2,3,115.237 -2024-09-27 11:39:15.9009,1125.237,2,3,115.237 -2024-09-27 11:39:16.2100,1125.237,2,3,115.237 -2024-09-27 11:39:16.5235,1125.237,2,3,115.237 -2024-09-27 11:39:16.8364,1125.237,2,3,115.237 -2024-09-27 11:39:17.1474,1125.237,2,3,115.237 -2024-09-27 11:39:17.4602,1125.237,2,3,115.237 -2024-09-27 11:39:17.7746,1125.237,2,3,115.237 -2024-09-27 11:39:18.0859,1125.237,2,3,115.237 -2024-09-27 11:39:18.3982,1125.237,2,3,115.237 -2024-09-27 11:39:18.7120,1125.237,2,3,115.237 -2024-09-27 11:39:19.0225,1125.237,2,3,115.237 -2024-09-27 11:39:19.3361,1125.237,2,3,115.237 -2024-09-27 11:39:19.6488,1125.237,2,3,115.237 -2024-09-27 11:39:19.9600,1125.237,2,3,115.237 -2024-09-27 11:39:20.2772,1125.237,2,3,115.237 -2024-09-27 11:39:20.5867,1125.237,2,3,115.237 -2024-09-27 11:39:20.8972,1125.237,2,3,115.237 -2024-09-27 11:39:21.2111,1125.237,2,3,115.237 -2024-09-27 11:39:21.5242,1125.237,2,3,115.237 -2024-09-27 11:39:21.8359,1125.237,2,3,115.237 -2024-09-27 11:39:22.1483,1125.237,2,3,115.237 -2024-09-27 11:39:22.4631,1125.237,2,3,115.237 -2024-09-27 11:39:22.7742,1125.237,2,3,115.237 -2024-09-27 11:39:23.0862,1125.237,2,3,115.237 -2024-09-27 11:39:23.3996,1125.237,2,3,115.237 -2024-09-27 11:39:23.7134,1125.237,2,3,115.237 -2024-09-27 11:39:24.0246,1125.237,2,3,115.237 -2024-09-27 11:39:24.3357,1125.237,2,3,115.237 -2024-09-27 11:39:24.6502,1125.237,2,3,115.237 -2024-09-27 11:39:24.9609,1125.237,2,3,115.237 -2024-09-27 11:39:25.2746,1125.237,2,3,115.237 -2024-09-27 11:39:25.5860,1125.237,2,3,115.237 -2024-09-27 11:39:25.9001,1125.237,2,3,115.237 -2024-09-27 11:39:26.2131,1125.237,2,3,115.237 -2024-09-27 11:39:26.5226,1125.237,2,3,115.237 -2024-09-27 11:39:26.8378,1125.237,2,3,115.237 -2024-09-27 11:39:27.1465,1125.237,2,3,115.237 -2024-09-27 11:39:27.4609,1125.237,2,3,115.237 -2024-09-27 11:39:27.7733,1125.237,2,3,115.237 -2024-09-27 11:39:28.0853,1125.237,2,3,115.237 -2024-09-27 11:39:28.3983,1125.237,2,3,115.237 -2024-09-27 11:39:28.7111,1125.237,2,3,115.237 -2024-09-27 11:39:29.0275,1125.237,2,3,115.237 -2024-09-27 11:39:29.3344,1125.237,2,3,115.237 -2024-09-27 11:39:29.6484,1125.237,2,3,115.237 -2024-09-27 11:39:29.9637,1125.237,2,3,115.237 -2024-09-27 11:39:30.2722,1125.237,2,3,115.237 -2024-09-27 11:39:30.5857,1125.237,2,3,115.237 -2024-09-27 11:39:30.8976,1125.237,2,3,115.237 -2024-09-27 11:39:31.2118,1125.237,2,3,115.237 -2024-09-27 11:39:31.5241,1125.237,2,3,115.237 -2024-09-27 11:39:31.8378,1125.237,2,3,115.237 -2024-09-27 11:39:32.1495,1125.237,2,3,115.237 -2024-09-27 11:39:32.4608,1125.237,2,3,115.237 -2024-09-27 11:39:32.7730,1125.237,2,3,115.237 -2024-09-27 11:39:33.0855,1125.237,2,3,115.237 -2024-09-27 11:39:33.3985,1125.237,2,3,115.237 -2024-09-27 11:39:33.7122,1125.237,2,3,115.237 -2024-09-27 11:39:34.0233,1125.237,2,3,115.237 -2024-09-27 11:39:34.3344,1125.237,2,3,115.237 -2024-09-27 11:39:34.6497,1125.237,2,3,115.237 -2024-09-27 11:39:34.9610,1125.237,2,3,115.237 -2024-09-27 11:39:35.2733,1125.237,2,3,115.237 -2024-09-27 11:39:35.5884,1125.237,2,3,115.237 -2024-09-27 11:39:35.8984,1125.237,2,3,115.237 -2024-09-27 11:39:36.2103,1125.237,2,3,115.237 -2024-09-27 11:39:36.5224,1125.237,2,3,115.237 -2024-09-27 11:39:36.8373,1125.237,2,3,115.237 -2024-09-27 11:39:37.1480,1125.237,2,3,115.237 -2024-09-27 11:39:37.4621,1125.237,2,3,115.237 -2024-09-27 11:39:37.7753,1125.237,2,3,115.237 -2024-09-27 11:39:38.0869,1125.237,2,3,115.237 -2024-09-27 11:39:38.3980,1125.237,2,3,115.237 -2024-09-27 11:39:38.7104,1125.237,2,3,115.237 -2024-09-27 11:39:39.0235,1125.237,2,3,115.237 -2024-09-27 11:39:39.3366,1125.237,2,3,115.237 -2024-09-27 11:39:39.6485,1125.237,2,3,115.237 -2024-09-27 11:39:39.9622,1125.237,2,3,115.237 -2024-09-27 11:39:40.2723,1125.237,2,3,115.237 -2024-09-27 11:39:40.5858,1125.237,2,3,115.237 -2024-09-27 11:39:40.8984,1125.237,2,3,115.237 -2024-09-27 11:39:41.2106,1125.237,2,3,115.237 -2024-09-27 11:39:41.5227,1125.237,2,3,115.237 -2024-09-27 11:39:41.8354,1125.237,2,3,115.237 -2024-09-27 11:39:42.1512,1125.237,2,3,115.237 -2024-09-27 11:39:42.4602,1125.237,2,3,115.237 -2024-09-27 11:39:42.7750,1125.237,2,3,115.237 -2024-09-27 11:39:43.0846,1125.237,2,3,115.237 -2024-09-27 11:39:43.3986,1125.237,2,3,115.237 -2024-09-27 11:39:43.7094,1125.237,2,3,115.237 -2024-09-27 11:39:44.0235,1125.237,2,3,115.237 -2024-09-27 11:39:44.3364,1125.237,2,3,115.237 -2024-09-27 11:39:44.6471,1125.237,2,3,115.237 -2024-09-27 11:39:44.9626,1125.237,2,3,115.237 -2024-09-27 11:39:45.2747,1125.237,2,3,115.237 -2024-09-27 11:39:45.5848,1125.237,2,3,115.237 -2024-09-27 11:39:45.8981,1125.237,2,3,115.237 -2024-09-27 11:39:46.2102,1125.237,2,3,115.237 -2024-09-27 11:39:46.5236,1125.237,2,3,115.237 -2024-09-27 11:39:46.8359,1125.237,2,3,115.237 -2024-09-27 11:39:47.1472,1125.237,2,3,115.237 -2024-09-27 11:39:47.4599,1125.237,2,3,115.237 -2024-09-27 11:39:47.7761,1125.237,2,3,115.237 -2024-09-27 11:39:48.0853,1125.237,2,3,115.237 -2024-09-27 11:39:48.3976,1125.237,2,3,115.237 -2024-09-27 11:39:48.7135,1125.237,2,3,115.237 -2024-09-27 11:39:49.0228,1125.237,2,3,115.237 -2024-09-27 11:39:49.3353,1125.237,2,3,115.237 -2024-09-27 11:39:49.6472,1125.237,2,3,115.237 -2024-09-27 11:39:49.9609,1125.237,2,3,115.237 -2024-09-27 11:39:50.2747,1125.237,2,3,115.237 -2024-09-27 11:39:50.5858,1125.237,2,3,115.237 -2024-09-27 11:39:50.8985,1125.237,2,3,115.237 -2024-09-27 11:39:51.2092,1125.237,2,3,115.237 -2024-09-27 11:39:51.5232,1125.237,2,3,115.237 -2024-09-27 11:39:51.8340,1125.237,2,3,115.237 -2024-09-27 11:39:52.1490,1125.237,2,3,115.237 -2024-09-27 11:39:52.4610,1125.237,2,3,115.237 -2024-09-27 11:39:52.7728,1125.237,2,3,115.237 -2024-09-27 11:39:53.0871,1125.237,2,3,115.237 -2024-09-27 11:39:53.3993,1125.237,2,3,115.237 -2024-09-27 11:39:53.7115,1125.237,2,3,115.237 -2024-09-27 11:39:54.0218,1125.237,2,3,115.237 -2024-09-27 11:39:54.3351,1125.237,2,3,115.237 -2024-09-27 11:39:54.6475,1125.237,2,3,115.237 -2024-09-27 11:39:54.9596,1125.237,2,3,115.237 -2024-09-27 11:39:55.2762,1125.237,2,3,115.237 -2024-09-27 11:39:55.5840,1125.237,2,3,115.237 -2024-09-27 11:39:55.8985,1125.237,2,3,115.237 -2024-09-27 11:39:56.2091,1125.237,2,3,115.237 -2024-09-27 11:39:56.5217,1125.237,2,3,115.237 -2024-09-27 11:39:56.8355,1125.237,2,3,115.237 -2024-09-27 11:39:57.1466,1125.237,2,3,115.237 -2024-09-27 11:39:57.4609,1125.237,2,3,115.237 -2024-09-27 11:39:57.7727,1125.237,2,3,115.237 -2024-09-27 11:39:58.0859,1125.237,2,3,115.237 -2024-09-27 11:39:58.3984,1125.237,2,3,115.237 -2024-09-27 11:39:58.7098,1125.237,2,3,115.237 -2024-09-27 11:39:59.0236,1125.237,2,3,115.237 -2024-09-27 11:39:59.3351,1125.237,2,3,115.237 -2024-09-27 11:39:59.6494,1125.237,2,3,115.237 -2024-09-27 11:39:59.9592,1125.237,2,3,115.237 -2024-09-27 11:40:00.2725,1125.237,2,3,115.237 -2024-09-27 11:40:00.5845,1125.237,2,3,115.237 -2024-09-27 11:40:00.8975,1125.237,2,3,115.237 -2024-09-27 11:40:01.2093,1125.237,2,3,115.237 -2024-09-27 11:40:01.5242,1125.237,2,3,115.237 -2024-09-27 11:40:01.8367,1125.237,2,3,115.237 -2024-09-27 11:40:02.1479,1125.237,2,3,115.237 -2024-09-27 11:40:02.4601,1125.237,2,3,115.237 -2024-09-27 11:40:02.7721,1125.237,2,3,115.237 -2024-09-27 11:40:03.0850,1125.237,2,3,115.237 -2024-09-27 11:40:03.3970,1125.237,2,3,115.237 -2024-09-27 11:40:03.7119,1125.237,2,3,115.237 -2024-09-27 11:40:04.0231,1125.237,2,3,115.237 -2024-09-27 11:40:04.3343,1125.237,2,3,115.237 -2024-09-27 11:40:04.6472,1125.237,2,3,115.237 -2024-09-27 11:40:04.9590,1125.237,2,3,115.237 -2024-09-27 11:40:05.2722,1125.237,2,3,115.237 -2024-09-27 11:40:05.5875,1125.237,2,3,115.237 -2024-09-27 11:40:05.8964,1125.237,2,3,115.237 -2024-09-27 11:40:06.2105,1125.237,2,3,115.237 -2024-09-27 11:40:06.5249,1125.237,2,3,115.237 -2024-09-27 11:40:06.8360,1125.237,2,3,115.237 -2024-09-27 11:40:07.1465,1125.237,2,3,115.237 -2024-09-27 11:40:07.4602,1125.237,2,3,115.237 -2024-09-27 11:40:07.7747,1125.237,2,3,115.237 -2024-09-27 11:40:08.0843,1125.237,2,3,115.237 -2024-09-27 11:40:08.3982,1125.237,2,3,115.237 -2024-09-27 11:40:08.7089,1125.237,2,3,115.237 -2024-09-27 11:40:09.0226,1125.237,2,3,115.237 -2024-09-27 11:40:09.3371,1125.237,2,3,115.237 -2024-09-27 11:40:09.6470,1125.237,2,3,115.237 -2024-09-27 11:40:09.9596,1125.237,2,3,115.237 -2024-09-27 11:40:10.2728,1125.237,2,3,115.237 -2024-09-27 11:40:10.5882,1125.237,2,3,115.237 -2024-09-27 11:40:10.8981,1125.237,2,3,115.237 -2024-09-27 11:40:11.2088,1125.237,2,3,115.237 -2024-09-27 11:40:11.5234,1125.237,2,3,115.237 -2024-09-27 11:40:11.8350,1125.237,2,3,115.237 -2024-09-27 11:40:12.1473,1125.237,2,3,115.237 -2024-09-27 11:40:12.4587,1125.237,2,3,115.237 -2024-09-27 11:40:12.7741,1125.237,2,3,115.237 -2024-09-27 11:40:13.0863,1125.237,2,3,115.237 -2024-09-27 11:40:13.3984,1125.237,2,3,115.237 -2024-09-27 11:40:13.7094,1125.237,2,3,115.237 -2024-09-27 11:40:14.0228,1125.237,2,3,115.237 -2024-09-27 11:40:14.3343,1125.237,2,3,115.237 -2024-09-27 11:40:14.6502,1125.237,2,3,115.237 -2024-09-27 11:40:14.9620,1125.237,2,3,115.237 -2024-09-27 11:40:15.2742,1125.237,2,3,115.237 -2024-09-27 11:40:15.5842,1125.237,2,3,115.237 -2024-09-27 11:40:15.8977,1125.237,2,3,115.237 -2024-09-27 11:40:16.2096,1125.237,2,3,115.237 -2024-09-27 11:40:16.5230,1125.237,2,3,115.237 -2024-09-27 11:40:16.8343,1125.237,2,3,115.237 -2024-09-27 11:40:17.1473,1125.237,2,3,115.237 -2024-09-27 11:40:17.4597,1125.237,2,3,115.237 -2024-09-27 11:40:17.7714,1125.237,2,3,115.237 -2024-09-27 11:40:18.0834,1125.237,2,3,115.237 -2024-09-27 11:40:18.3986,1125.237,2,3,115.237 -2024-09-27 11:40:18.7121,1125.237,2,3,115.237 -2024-09-27 11:40:19.0228,1125.237,2,3,115.237 -2024-09-27 11:40:19.3369,1125.237,2,3,115.237 -2024-09-27 11:40:19.6467,1125.237,2,3,115.237 -2024-09-27 11:40:19.9601,1125.237,2,3,115.237 -2024-09-27 11:40:20.2718,1125.237,2,3,115.237 -2024-09-27 11:40:20.5850,1125.237,2,3,115.237 -2024-09-27 11:40:20.8985,1125.237,2,3,115.237 -2024-09-27 11:40:21.2088,1125.237,2,3,115.237 -2024-09-27 11:40:21.5230,1125.237,2,3,115.237 -2024-09-27 11:40:21.8361,1125.237,2,3,115.237 -2024-09-27 11:40:22.1479,1125.237,2,3,115.237 -2024-09-27 11:40:22.4595,1125.237,2,3,115.237 -2024-09-27 11:40:22.7738,1125.237,2,3,115.237 -2024-09-27 11:40:23.0843,1125.237,2,3,115.237 -2024-09-27 11:40:23.3989,1125.237,2,3,115.237 -2024-09-27 11:40:23.7100,1125.237,2,3,115.237 -2024-09-27 11:40:24.0230,1125.237,2,3,115.237 -2024-09-27 11:40:24.3338,1125.237,2,3,115.237 -2024-09-27 11:40:24.6460,1125.237,2,3,115.237 -2024-09-27 11:40:24.9587,1125.237,2,3,115.237 -2024-09-27 11:40:25.2727,1125.237,2,3,115.237 -2024-09-27 11:40:25.5849,1125.237,2,3,115.237 -2024-09-27 11:40:25.9008,1125.237,2,3,115.237 -2024-09-27 11:40:26.2085,1125.237,2,3,115.237 -2024-09-27 11:40:26.5225,1125.237,2,3,115.237 -2024-09-27 11:40:26.8353,1125.237,2,3,115.237 -2024-09-27 11:40:27.1487,1125.237,2,3,115.237 -2024-09-27 11:40:27.4592,1125.237,2,3,115.237 -2024-09-27 11:40:27.7730,1125.237,2,3,115.237 -2024-09-27 11:40:28.0869,1125.237,2,3,115.237 -2024-09-27 11:40:28.3960,1125.237,2,3,115.237 -2024-09-27 11:40:28.7084,1125.237,2,3,115.237 -2024-09-27 11:40:29.0221,1125.237,2,3,115.237 -2024-09-27 11:40:29.3343,1125.237,2,3,115.237 -2024-09-27 11:40:29.6460,1125.237,2,3,115.237 -2024-09-27 11:40:29.9599,1125.237,2,3,115.237 -2024-09-27 11:40:30.2750,1125.237,2,3,115.237 -2024-09-27 11:40:30.5847,1125.237,2,3,115.237 -2024-09-27 11:40:30.8988,1125.237,2,3,115.237 -2024-09-27 11:40:31.2084,1125.237,2,3,115.237 -2024-09-27 11:40:31.5231,1125.237,2,3,115.237 -2024-09-27 11:40:31.8375,1125.237,2,3,115.237 -2024-09-27 11:40:32.1489,1125.237,2,3,115.237 -2024-09-27 11:40:32.4614,1125.237,2,3,115.237 -2024-09-27 11:40:32.7734,1125.237,2,3,115.237 -2024-09-27 11:40:33.0857,1125.237,2,3,115.237 -2024-09-27 11:40:33.3980,1125.237,2,3,115.237 -2024-09-27 11:40:33.7095,1125.237,2,3,115.237 -2024-09-27 11:40:34.0221,1125.237,2,3,115.237 -2024-09-27 11:40:34.3342,1125.237,2,3,115.237 -2024-09-27 11:40:34.6495,1125.237,2,3,115.237 -2024-09-27 11:40:34.9600,1125.237,2,3,115.237 -2024-09-27 11:40:35.2722,1125.237,2,3,115.237 -2024-09-27 11:40:35.5864,1125.237,2,3,115.237 -2024-09-27 11:40:35.8981,1125.237,2,3,115.237 -2024-09-27 11:40:36.2098,1125.237,2,3,115.237 -2024-09-27 11:40:36.5220,1125.237,2,3,115.237 -2024-09-27 11:40:36.8367,1125.237,2,3,115.237 -2024-09-27 11:40:37.1484,1125.237,2,3,115.237 -2024-09-27 11:40:37.4619,1125.237,2,3,115.237 -2024-09-27 11:40:37.7730,1125.237,2,3,115.237 -2024-09-27 11:40:38.0849,1125.237,2,3,115.237 -2024-09-27 11:40:38.3959,1125.237,2,3,115.237 -2024-09-27 11:40:38.7081,1125.237,2,3,115.237 -2024-09-27 11:40:39.0232,1125.237,2,3,115.237 -2024-09-27 11:40:39.3345,1125.237,2,3,115.237 -2024-09-27 11:40:39.6491,1125.237,2,3,115.237 -2024-09-27 11:40:39.9593,1125.237,2,3,115.237 -2024-09-27 11:40:40.2735,1125.237,2,3,115.237 -2024-09-27 11:40:40.5860,1125.237,2,3,115.237 -2024-09-27 11:40:40.8977,1125.237,2,3,115.237 -2024-09-27 11:40:41.2106,1125.237,2,3,115.237 -2024-09-27 11:40:41.5219,1125.237,2,3,115.237 -2024-09-27 11:40:41.8340,1125.237,2,3,115.237 -2024-09-27 11:40:42.1460,1125.237,2,3,115.237 -2024-09-27 11:40:42.4592,1125.237,2,3,115.237 -2024-09-27 11:40:42.7732,1125.237,2,3,115.237 -2024-09-27 11:40:43.0858,1125.237,2,3,115.237 -2024-09-27 11:40:43.3986,1125.237,2,3,115.237 -2024-09-27 11:40:43.7089,1125.237,2,3,115.237 -2024-09-27 11:40:44.0216,1125.237,2,3,115.237 -2024-09-27 11:40:44.3344,1125.237,2,3,115.237 -2024-09-27 11:40:44.6458,1125.237,2,3,115.237 -2024-09-27 11:40:44.9584,1125.237,2,3,115.237 -2024-09-27 11:40:45.2730,1125.237,2,3,115.237 -2024-09-27 11:40:45.5843,1125.237,2,3,115.237 -2024-09-27 11:40:45.8958,1125.237,2,3,115.237 -2024-09-27 11:40:46.2086,1125.237,2,3,115.237 -2024-09-27 11:40:46.5207,1125.237,2,3,115.237 -2024-09-27 11:40:46.8333,1125.237,2,3,115.237 -2024-09-27 11:40:47.1496,1125.237,2,3,115.237 -2024-09-27 11:40:47.4599,1125.237,2,3,115.237 -2024-09-27 11:40:47.7732,1125.237,2,3,115.237 -2024-09-27 11:40:48.0837,1125.237,2,3,115.237 -2024-09-27 11:40:48.3976,1125.237,2,3,115.237 -2024-09-27 11:40:48.7108,1125.237,2,3,115.237 -2024-09-27 11:40:49.0213,1125.237,2,3,115.237 -2024-09-27 11:40:49.3348,1125.237,2,3,115.237 -2024-09-27 11:40:49.6487,1125.237,2,3,115.237 -2024-09-27 11:40:49.9602,1125.237,2,3,115.237 -2024-09-27 11:40:50.2712,1125.237,2,3,115.237 -2024-09-27 11:40:50.5839,1125.237,2,3,115.237 -2024-09-27 11:40:50.8963,1125.237,2,3,115.237 -2024-09-27 11:40:51.2094,1125.237,2,3,115.237 -2024-09-27 11:40:51.5232,1125.237,2,3,115.237 -2024-09-27 11:40:51.8363,1125.237,2,3,115.237 -2024-09-27 11:40:52.1491,1125.237,2,3,115.237 -2024-09-27 11:40:52.4603,1125.237,2,3,115.237 -2024-09-27 11:40:52.7724,1125.237,2,3,115.237 -2024-09-27 11:40:53.0851,1125.237,2,3,115.237 -2024-09-27 11:40:53.3953,1125.237,2,3,115.237 -2024-09-27 11:40:53.7080,1125.237,2,3,115.237 -2024-09-27 11:40:54.0227,1125.237,2,3,115.237 -2024-09-27 11:40:54.3352,1125.237,2,3,115.237 -2024-09-27 11:40:54.6489,1125.237,2,3,115.237 -2024-09-27 11:40:54.9574,1125.237,2,3,115.237 -2024-09-27 11:40:55.2723,1125.237,2,3,115.237 -2024-09-27 11:40:55.5863,1125.237,2,3,115.237 -2024-09-27 11:40:55.8973,1125.237,2,3,115.237 -2024-09-27 11:40:56.2079,1125.237,2,3,115.237 -2024-09-27 11:40:56.5223,1125.237,2,3,115.237 -2024-09-27 11:40:56.8343,1125.237,2,3,115.237 -2024-09-27 11:40:57.1461,1125.237,2,3,115.237 -2024-09-27 11:40:57.4587,1125.237,2,3,115.237 -2024-09-27 11:40:57.7717,1125.237,2,3,115.237 -2024-09-27 11:40:58.0849,1125.237,2,3,115.237 -2024-09-27 11:40:58.3964,1125.237,2,3,115.237 -2024-09-27 11:40:58.7101,1125.237,2,3,115.237 -2024-09-27 11:40:59.0203,1125.237,2,3,115.237 -2024-09-27 11:40:59.3348,1125.237,2,3,115.237 -2024-09-27 11:40:59.6451,1125.237,2,3,115.237 -2024-09-27 11:40:59.9593,1125.237,2,3,115.237 -2024-09-27 11:41:00.2709,1125.237,2,3,115.237 -2024-09-27 11:41:00.5849,1125.237,2,3,115.237 -2024-09-27 11:41:00.9005,1125.237,2,3,115.237 -2024-09-27 11:41:01.2112,1125.237,2,3,115.237 -2024-09-27 11:41:01.5228,1125.237,2,3,115.237 -2024-09-27 11:41:01.8335,1125.237,2,3,115.237 -2024-09-27 11:41:02.1478,1125.237,2,3,115.237 -2024-09-27 11:41:02.4599,1125.237,2,3,115.237 -2024-09-27 11:41:02.7737,1125.237,2,3,115.237 -2024-09-27 11:41:03.0839,1125.237,2,3,115.237 -2024-09-27 11:41:03.3980,1125.237,2,3,115.237 -2024-09-27 11:41:03.7094,1125.237,2,3,115.237 -2024-09-27 11:41:04.0200,1125.237,2,3,115.237 -2024-09-27 11:41:04.3343,1125.237,2,3,115.237 -2024-09-27 11:41:04.6463,1125.237,2,3,115.237 -2024-09-27 11:41:04.9612,1125.237,2,3,115.237 -2024-09-27 11:41:05.2731,1125.237,2,3,115.237 -2024-09-27 11:41:05.5839,1125.237,2,3,115.237 -2024-09-27 11:41:05.8956,1125.237,2,3,115.237 -2024-09-27 11:41:06.2091,1125.237,2,3,115.237 -2024-09-27 11:41:06.5228,1125.237,2,3,115.237 -2024-09-27 11:41:06.8330,1125.237,2,3,115.237 -2024-09-27 11:41:07.1476,1125.237,2,3,115.237 -2024-09-27 11:41:07.4612,1125.237,2,3,115.237 -2024-09-27 11:41:07.7707,1125.237,2,3,115.237 -2024-09-27 11:41:08.0837,1125.237,2,3,115.237 -2024-09-27 11:41:08.3967,1125.237,2,3,115.237 -2024-09-27 11:41:08.7112,1125.237,2,3,115.237 -2024-09-27 11:41:09.0224,1125.237,2,3,115.237 -2024-09-27 11:41:09.3360,1125.237,2,3,115.237 -2024-09-27 11:41:09.6461,1125.237,2,3,115.237 -2024-09-27 11:41:09.9600,1125.237,2,3,115.237 -2024-09-27 11:41:10.2705,1125.237,2,3,115.237 -2024-09-27 11:41:10.5835,1125.237,2,3,115.237 -2024-09-27 11:41:10.8974,1125.237,2,3,115.237 -2024-09-27 11:41:11.2077,1125.237,2,3,115.237 -2024-09-27 11:41:11.5232,1125.237,2,3,115.237 -2024-09-27 11:41:11.8347,1125.237,2,3,115.237 -2024-09-27 11:41:12.1453,1125.237,2,3,115.237 -2024-09-27 11:41:12.4605,1125.237,2,3,115.237 -2024-09-27 11:41:12.7715,1125.237,2,3,115.237 -2024-09-27 11:41:13.0856,1125.237,2,3,115.237 -2024-09-27 11:41:13.3968,1125.237,2,3,115.237 -2024-09-27 11:41:13.7079,1125.237,2,3,115.237 -2024-09-27 11:41:14.0214,1125.237,2,3,115.237 -2024-09-27 11:41:14.3335,1125.237,2,3,115.237 -2024-09-27 11:41:14.6466,1125.237,2,3,115.237 -2024-09-27 11:41:14.9580,1125.237,2,3,115.237 -2024-09-27 11:41:15.2700,1125.237,2,3,115.237 -2024-09-27 11:41:15.5836,1125.237,2,3,115.237 -2024-09-27 11:41:15.8960,1125.237,2,3,115.237 -2024-09-27 11:41:16.2106,1125.237,2,3,115.237 -2024-09-27 11:41:16.5198,1125.237,2,3,115.237 -2024-09-27 11:41:16.8326,1125.237,2,3,115.237 -2024-09-27 11:41:17.1457,1125.237,2,3,115.237 -2024-09-27 11:41:17.4580,1125.237,2,3,115.237 -2024-09-27 11:41:17.7703,1125.237,2,3,115.237 -2024-09-27 11:41:18.0841,1125.237,2,3,115.237 -2024-09-27 11:41:18.3965,1125.237,2,3,115.237 -2024-09-27 11:41:18.7110,1125.237,2,3,115.237 -2024-09-27 11:41:19.0214,1125.237,2,3,115.237 -2024-09-27 11:41:19.3322,1125.237,2,3,115.237 -2024-09-27 11:41:19.6460,1125.237,2,3,115.237 -2024-09-27 11:41:19.9566,1125.237,2,3,115.237 -2024-09-27 11:41:20.2716,1125.237,2,3,115.237 -2024-09-27 11:41:20.5862,1125.237,2,3,115.237 -2024-09-27 11:41:20.8977,1125.237,2,3,115.237 -2024-09-27 11:41:21.2093,1125.237,2,3,115.237 -2024-09-27 11:41:21.5202,1125.237,2,3,115.237 -2024-09-27 11:41:21.8338,1125.237,2,3,115.237 -2024-09-27 11:41:22.1474,1125.237,2,3,115.237 -2024-09-27 11:41:22.4574,1125.237,2,3,115.237 -2024-09-27 11:41:22.7717,1125.237,2,3,115.237 -2024-09-27 11:41:23.0842,1125.237,2,3,115.237 -2024-09-27 11:41:23.3949,1125.237,2,3,115.237 -2024-09-27 11:41:23.7090,1125.237,2,3,115.237 -2024-09-27 11:41:24.0202,1125.237,2,3,115.237 -2024-09-27 11:41:24.3326,1125.237,2,3,115.237 -2024-09-27 11:41:24.6451,1125.237,2,3,115.237 -2024-09-27 11:41:24.9596,1125.237,2,3,115.237 -2024-09-27 11:41:25.2700,1125.237,2,3,115.237 -2024-09-27 11:41:25.5837,1125.237,2,3,115.237 -2024-09-27 11:41:25.8965,1125.237,2,3,115.237 -2024-09-27 11:41:26.2082,1125.237,2,3,115.237 -2024-09-27 11:41:26.5224,1125.237,2,3,115.237 -2024-09-27 11:41:26.8334,1125.237,2,3,115.237 -2024-09-27 11:41:27.1502,1125.237,2,3,115.237 -2024-09-27 11:41:27.4584,1125.237,2,3,115.237 -2024-09-27 11:41:27.7727,1125.237,2,3,115.237 -2024-09-27 11:41:28.0836,1125.237,2,3,115.237 -2024-09-27 11:41:28.3968,1125.237,2,3,115.237 -2024-09-27 11:41:28.7091,1125.237,2,3,115.237 -2024-09-27 11:41:29.0234,1125.237,2,3,115.237 -2024-09-27 11:41:29.3345,1125.237,2,3,115.237 -2024-09-27 11:41:29.6472,1125.237,2,3,115.237 -2024-09-27 11:41:29.9605,1125.237,2,3,115.237 -2024-09-27 11:41:30.2708,1125.237,2,3,115.237 -2024-09-27 11:41:30.5840,1125.237,2,3,115.237 -2024-09-27 11:41:30.8947,1125.237,2,3,115.237 -2024-09-27 11:41:31.2100,1125.237,2,3,115.237 -2024-09-27 11:41:31.5234,1125.237,2,3,115.237 -2024-09-27 11:41:31.8344,1125.237,2,3,115.237 -2024-09-27 11:41:32.1447,1125.237,2,3,115.237 -2024-09-27 11:41:32.4581,1125.237,2,3,115.237 -2024-09-27 11:41:32.7718,1125.237,2,3,115.237 -2024-09-27 11:41:33.0854,1125.237,2,3,115.237 -2024-09-27 11:41:33.3955,1125.237,2,3,115.237 -2024-09-27 11:41:33.7098,1125.237,2,3,115.237 -2024-09-27 11:41:34.0221,1125.237,2,3,115.237 -2024-09-27 11:41:34.3336,1125.237,2,3,115.237 -2024-09-27 11:41:34.6446,1125.237,2,3,115.237 -2024-09-27 11:41:34.9586,1125.237,2,3,115.237 -2024-09-27 11:41:35.2716,1125.237,2,3,115.237 -2024-09-27 11:41:35.5836,1125.237,2,3,115.237 -2024-09-27 11:41:35.8984,1125.237,2,3,115.237 -2024-09-27 11:41:36.2086,1125.237,2,3,115.237 -2024-09-27 11:41:36.5199,1125.237,2,3,115.237 -2024-09-27 11:41:36.8348,1125.237,2,3,115.237 -2024-09-27 11:41:37.1474,1125.237,2,3,115.237 -2024-09-27 11:41:37.4589,1125.237,2,3,115.237 -2024-09-27 11:41:37.7716,1125.237,2,3,115.237 -2024-09-27 11:41:38.0838,1125.237,2,3,115.237 -2024-09-27 11:41:38.3961,1125.237,2,3,115.237 -2024-09-27 11:41:38.7091,1125.237,2,3,115.237 -2024-09-27 11:41:39.0212,1125.237,2,3,115.237 -2024-09-27 11:41:39.3343,1125.237,2,3,115.237 -2024-09-27 11:41:39.6468,1125.237,2,3,115.237 -2024-09-27 11:41:39.9581,1125.237,2,3,115.237 -2024-09-27 11:41:40.2705,1125.237,2,3,115.237 -2024-09-27 11:41:40.5825,1125.237,2,3,115.237 -2024-09-27 11:41:40.8953,1125.237,2,3,115.237 -2024-09-27 11:41:41.2086,1125.237,2,3,115.237 -2024-09-27 11:41:41.5205,1125.237,2,3,115.237 -2024-09-27 11:41:41.8327,1125.237,2,3,115.237 -2024-09-27 11:41:42.1473,1125.237,2,3,115.237 -2024-09-27 11:41:42.4600,1125.237,2,3,115.237 -2024-09-27 11:41:42.7720,1125.237,2,3,115.237 -2024-09-27 11:41:43.0821,1125.237,2,3,115.237 -2024-09-27 11:41:43.3947,1125.237,2,3,115.237 -2024-09-27 11:41:43.7091,1125.237,2,3,115.237 -2024-09-27 11:41:44.0245,1125.237,2,3,115.237 -2024-09-27 11:41:44.3321,1125.237,2,3,115.237 -2024-09-27 11:41:44.6480,1125.237,2,3,115.237 -2024-09-27 11:41:44.9603,1125.237,2,3,115.237 -2024-09-27 11:41:45.2738,1125.237,2,3,115.237 -2024-09-27 11:41:45.5826,1125.237,2,3,115.237 -2024-09-27 11:41:45.8959,1125.237,2,3,115.237 -2024-09-27 11:41:46.2085,1125.237,2,3,115.237 -2024-09-27 11:41:46.5215,1125.237,2,3,115.237 -2024-09-27 11:41:46.8359,1125.237,2,3,115.237 -2024-09-27 11:41:47.1448,1125.237,2,3,115.237 -2024-09-27 11:41:47.4586,1125.237,2,3,115.237 -2024-09-27 11:41:47.7700,1125.237,2,3,115.237 -2024-09-27 11:41:48.0851,1125.237,2,3,115.237 -2024-09-27 11:41:48.3962,1125.237,2,3,115.237 -2024-09-27 11:41:48.7105,1125.237,2,3,115.237 -2024-09-27 11:41:49.0218,1125.237,2,3,115.237 -2024-09-27 11:41:49.3335,1125.237,2,3,115.237 -2024-09-27 11:41:49.6455,1125.237,2,3,115.237 -2024-09-27 11:41:49.9582,1125.237,2,3,115.237 -2024-09-27 11:41:50.2713,1125.237,2,3,115.237 -2024-09-27 11:41:50.5833,1125.237,2,3,115.237 -2024-09-27 11:41:50.8956,1125.237,2,3,115.237 -2024-09-27 11:41:51.2091,1125.237,2,3,115.237 -2024-09-27 11:41:51.5213,1125.237,2,3,115.237 -2024-09-27 11:41:51.8336,1125.237,2,3,115.237 -2024-09-27 11:41:52.1469,1125.237,2,3,115.237 -2024-09-27 11:41:52.4607,1125.237,2,3,115.237 -2024-09-27 11:41:52.7707,1125.237,2,3,115.237 -2024-09-27 11:41:53.0820,1125.237,2,3,115.237 -2024-09-27 11:41:53.4003,1125.237,2,3,115.237 -2024-09-27 11:41:53.7085,1125.237,2,3,115.237 -2024-09-27 11:41:54.0203,1125.237,2,3,115.237 -2024-09-27 11:41:54.3350,1125.237,2,3,115.237 -2024-09-27 11:41:54.6467,1125.237,2,3,115.237 -2024-09-27 11:41:54.9589,1125.237,2,3,115.237 -2024-09-27 11:41:55.2734,1125.237,2,3,115.237 -2024-09-27 11:41:55.5867,1125.237,2,3,115.237 -2024-09-27 11:41:55.8966,1125.237,2,3,115.237 -2024-09-27 11:41:56.2084,1125.237,2,3,115.237 -2024-09-27 11:41:56.5193,1125.237,2,3,115.237 -2024-09-27 11:41:56.8320,1125.237,2,3,115.237 -2024-09-27 11:41:57.1481,1125.237,2,3,115.237 -2024-09-27 11:41:57.4575,1125.237,2,3,115.237 -2024-09-27 11:41:57.7729,1125.237,2,3,115.237 -2024-09-27 11:41:58.0834,1125.237,2,3,115.237 -2024-09-27 11:41:58.3950,1125.237,2,3,115.237 -2024-09-27 11:41:58.7104,1125.237,2,3,115.237 -2024-09-27 11:41:59.0201,1125.237,2,3,115.237 -2024-09-27 11:41:59.3357,1125.237,2,3,115.237 -2024-09-27 11:41:59.6464,1125.237,2,3,115.237 -2024-09-27 11:41:59.9618,1125.237,2,3,115.237 -2024-09-27 11:42:00.2725,1125.237,2,3,115.237 -2024-09-27 11:42:00.5842,1125.237,2,3,115.237 -2024-09-27 11:42:00.8974,1125.237,2,3,115.237 -2024-09-27 11:42:01.2106,1125.237,2,3,115.237 -2024-09-27 11:42:01.5211,1125.237,2,3,115.237 -2024-09-27 11:42:01.8341,1125.237,2,3,115.237 -2024-09-27 11:42:02.1491,1125.237,2,3,115.237 -2024-09-27 11:42:02.4572,1125.237,2,3,115.237 -2024-09-27 11:42:02.7708,1125.237,2,3,115.237 -2024-09-27 11:42:03.0832,1125.237,2,3,115.237 -2024-09-27 11:42:03.3942,1125.237,2,3,115.237 -2024-09-27 11:42:03.7097,1125.237,2,3,115.237 -2024-09-27 11:42:04.0205,1125.237,2,3,115.237 -2024-09-27 11:42:04.3366,1125.237,2,3,115.237 -2024-09-27 11:42:04.6447,1125.237,2,3,115.237 -2024-09-27 11:42:04.9591,1125.237,2,3,115.237 -2024-09-27 11:42:05.2731,1125.237,2,3,115.237 -2024-09-27 11:42:05.5857,1125.237,2,3,115.237 -2024-09-27 11:42:05.8949,1125.237,2,3,115.237 -2024-09-27 11:42:06.2079,1125.237,2,3,115.237 -2024-09-27 11:42:06.5225,1125.237,2,3,115.237 -2024-09-27 11:42:06.8349,1125.237,2,3,115.237 -2024-09-27 11:42:07.1469,1125.237,2,3,115.237 -2024-09-27 11:42:07.4571,1125.237,2,3,115.237 -2024-09-27 11:42:07.7706,1125.237,2,3,115.237 -2024-09-27 11:42:08.0836,1125.237,2,3,115.237 -2024-09-27 11:42:08.3991,1125.237,2,3,115.237 -2024-09-27 11:42:08.7078,1125.237,2,3,115.237 -2024-09-27 11:42:09.0200,1125.237,2,3,115.237 -2024-09-27 11:42:09.3332,1125.237,2,3,115.237 -2024-09-27 11:42:09.6477,1125.237,2,3,115.237 -2024-09-27 11:42:09.9585,1125.237,2,3,115.237 -2024-09-27 11:42:10.2717,1125.237,2,3,115.237 -2024-09-27 11:42:10.5818,1125.237,2,3,115.237 -2024-09-27 11:42:10.8979,1125.237,2,3,115.237 -2024-09-27 11:42:11.2081,1125.237,2,3,115.237 -2024-09-27 11:42:11.5202,1125.237,2,3,115.237 -2024-09-27 11:42:11.8327,1125.237,2,3,115.237 -2024-09-27 11:42:12.1447,1125.237,2,3,115.237 -2024-09-27 11:42:12.4595,1125.237,2,3,115.237 -2024-09-27 11:42:12.7693,1125.237,2,3,115.237 -2024-09-27 11:42:13.0849,1125.237,2,3,115.237 -2024-09-27 11:42:13.3960,1125.237,2,3,115.237 -2024-09-27 11:42:13.7080,1125.237,2,3,115.237 -2024-09-27 11:42:14.0192,1125.237,2,3,115.237 -2024-09-27 11:42:14.3350,1125.237,2,3,115.237 -2024-09-27 11:42:14.6448,1125.237,2,3,115.237 -2024-09-27 11:42:14.9599,1125.237,2,3,115.237 -2024-09-27 11:42:15.2728,1125.237,2,3,115.237 -2024-09-27 11:42:15.5828,1125.237,2,3,115.237 -2024-09-27 11:42:15.8975,1125.237,2,3,115.237 -2024-09-27 11:42:16.2073,1125.237,2,3,115.237 -2024-09-27 11:42:16.5220,1125.237,2,3,115.237 -2024-09-27 11:42:16.8353,1125.237,2,3,115.237 -2024-09-27 11:42:17.1444,1125.237,2,3,115.237 -2024-09-27 11:42:17.4591,1125.237,2,3,115.237 -2024-09-27 11:42:17.7730,1125.237,2,3,115.237 -2024-09-27 11:42:18.0824,1125.237,2,3,115.237 -2024-09-27 11:42:18.3962,1125.237,2,3,115.237 -2024-09-27 11:42:18.7085,1125.237,2,3,115.237 -2024-09-27 11:42:19.0192,1125.237,2,3,115.237 -2024-09-27 11:42:19.3327,1125.237,2,3,115.237 -2024-09-27 11:42:19.6492,1125.237,2,3,115.237 -2024-09-27 11:42:19.9584,1125.237,2,3,115.237 -2024-09-27 11:42:20.2704,1125.237,2,3,115.237 -2024-09-27 11:42:20.5862,1125.237,2,3,115.237 -2024-09-27 11:42:20.8968,1125.237,2,3,115.237 -2024-09-27 11:42:21.2066,1125.237,2,3,115.237 -2024-09-27 11:42:21.5220,1125.237,2,3,115.237 -2024-09-27 11:42:21.8355,1125.237,2,3,115.237 -2024-09-27 11:42:22.1457,1125.237,2,3,115.237 -2024-09-27 11:42:22.4596,1125.237,2,3,115.237 -2024-09-27 11:42:22.7710,1125.237,2,3,115.237 -2024-09-27 11:42:23.0833,1125.237,2,3,115.237 -2024-09-27 11:42:23.3978,1125.237,2,3,115.237 -2024-09-27 11:42:23.7093,1125.237,2,3,115.237 -2024-09-27 11:42:24.0210,1125.237,2,3,115.237 -2024-09-27 11:42:24.3317,1125.237,2,3,115.237 -2024-09-27 11:42:24.6481,1125.237,2,3,115.237 -2024-09-27 11:42:24.9580,1125.237,2,3,115.237 -2024-09-27 11:42:25.2720,1125.237,2,3,115.237 -2024-09-27 11:42:25.5821,1125.237,2,3,115.237 -2024-09-27 11:42:25.8961,1125.237,2,3,115.237 -2024-09-27 11:42:26.2080,1125.237,2,3,115.237 -2024-09-27 11:42:26.5214,1125.237,2,3,115.237 -2024-09-27 11:42:26.8331,1125.237,2,3,115.237 -2024-09-27 11:42:27.1444,1125.237,2,3,115.237 -2024-09-27 11:42:27.4565,1125.237,2,3,115.237 -2024-09-27 11:42:27.7713,1125.237,2,3,115.237 -2024-09-27 11:42:28.0826,1125.237,2,3,115.237 -2024-09-27 11:42:28.3962,1125.237,2,3,115.237 -2024-09-27 11:42:28.7074,1125.237,2,3,115.237 -2024-09-27 11:42:29.0205,1125.237,2,3,115.237 -2024-09-27 11:42:29.3322,1125.237,2,3,115.237 -2024-09-27 11:42:29.6476,1125.237,2,3,115.237 -2024-09-27 11:42:29.9602,1125.237,2,3,115.237 -2024-09-27 11:42:30.2720,1125.237,2,3,115.237 -2024-09-27 11:42:30.5853,1125.237,2,3,115.237 -2024-09-27 11:42:30.8972,1125.237,2,3,115.237 -2024-09-27 11:42:31.2081,1125.237,2,3,115.237 -2024-09-27 11:42:31.5195,1125.237,2,3,115.237 -2024-09-27 11:42:31.8324,1125.237,2,3,115.237 -2024-09-27 11:42:32.1477,1125.237,2,3,115.237 -2024-09-27 11:42:32.4580,1125.237,2,3,115.237 -2024-09-27 11:42:32.7706,1125.237,2,3,115.237 -2024-09-27 11:42:33.0831,1125.237,2,3,115.237 -2024-09-27 11:42:33.3962,1125.237,2,3,115.237 -2024-09-27 11:42:33.7079,1125.237,2,3,115.237 -2024-09-27 11:42:34.0222,1125.237,2,3,115.237 -2024-09-27 11:42:34.3335,1125.237,2,3,115.237 -2024-09-27 11:42:34.6444,1125.237,2,3,115.237 -2024-09-27 11:42:34.9619,1125.237,2,3,115.237 -2024-09-27 11:42:35.2718,1125.237,2,3,115.237 -2024-09-27 11:42:35.5828,1125.237,2,3,115.237 -2024-09-27 11:42:35.8952,1125.237,2,3,115.237 -2024-09-27 11:42:36.2082,1125.237,2,3,115.237 -2024-09-27 11:42:36.5230,1125.237,2,3,115.237 -2024-09-27 11:42:36.8348,1125.237,2,3,115.237 -2024-09-27 11:42:37.1468,1125.237,2,3,115.237 -2024-09-27 11:42:37.4565,1125.237,2,3,115.237 -2024-09-27 11:42:37.7705,1125.237,2,3,115.237 -2024-09-27 11:42:38.0835,1125.237,2,3,115.237 -2024-09-27 11:42:38.3973,1125.237,2,3,115.237 -2024-09-27 11:42:38.7064,1125.237,2,3,115.237 -2024-09-27 11:42:39.0196,1125.237,2,3,115.237 -2024-09-27 11:42:39.3370,1125.237,2,3,115.237 -2024-09-27 11:42:39.6454,1125.237,2,3,115.237 -2024-09-27 11:42:39.9572,1125.237,2,3,115.237 -2024-09-27 11:42:40.2721,1125.237,2,3,115.237 -2024-09-27 11:42:40.5835,1125.237,2,3,115.237 -2024-09-27 11:42:40.8966,1125.237,2,3,115.237 -2024-09-27 11:42:41.2098,1125.237,2,3,115.237 -2024-09-27 11:42:41.5237,1125.237,2,3,115.237 -2024-09-27 11:42:41.8324,1125.237,2,3,115.237 -2024-09-27 11:42:42.1462,1125.237,2,3,115.237 -2024-09-27 11:42:42.4589,1125.237,2,3,115.237 -2024-09-27 11:42:42.7700,1125.237,2,3,115.237 -2024-09-27 11:42:43.0821,1125.237,2,3,115.237 -2024-09-27 11:42:43.3944,1125.237,2,3,115.237 -2024-09-27 11:42:43.7083,1125.237,2,3,115.237 -2024-09-27 11:42:44.0215,1125.237,2,3,115.237 -2024-09-27 11:42:44.3315,1125.237,2,3,115.237 -2024-09-27 11:42:44.6458,1125.237,2,3,115.237 -2024-09-27 11:42:44.9612,1125.237,2,3,115.237 -2024-09-27 11:42:45.2721,1125.237,2,3,115.237 -2024-09-27 11:42:45.5825,1125.237,2,3,115.237 -2024-09-27 11:42:45.8958,1125.237,2,3,115.237 -2024-09-27 11:42:46.2080,1125.237,2,3,115.237 -2024-09-27 11:42:46.5193,1125.237,2,3,115.237 -2024-09-27 11:42:46.8351,1125.237,2,3,115.237 -2024-09-27 11:42:47.1473,1125.237,2,3,115.237 -2024-09-27 11:42:47.4570,1125.237,2,3,115.237 -2024-09-27 11:42:47.7695,1125.237,2,3,115.237 -2024-09-27 11:42:48.0825,1125.237,2,3,115.237 -2024-09-27 11:42:48.3958,1125.237,2,3,115.237 -2024-09-27 11:42:48.7076,1125.237,2,3,115.237 -2024-09-27 11:42:49.0211,1125.237,2,3,115.237 -2024-09-27 11:42:49.3314,1125.237,2,3,115.237 -2024-09-27 11:42:49.6454,1125.237,2,3,115.237 -2024-09-27 11:42:49.9590,1125.237,2,3,115.237 -2024-09-27 11:42:50.2721,1125.237,2,3,115.237 -2024-09-27 11:42:50.5826,1125.237,2,3,115.237 -2024-09-27 11:42:50.8953,1125.237,2,3,115.237 -2024-09-27 11:42:51.2083,1125.237,2,3,115.237 -2024-09-27 11:42:51.5194,1125.237,2,3,115.237 -2024-09-27 11:42:51.8341,1125.237,2,3,115.237 -2024-09-27 11:42:52.1465,1125.237,2,3,115.237 -2024-09-27 11:42:52.4596,1125.237,2,3,115.237 -2024-09-27 11:42:52.7702,1125.237,2,3,115.237 -2024-09-27 11:42:53.0840,1125.237,2,3,115.237 -2024-09-27 11:42:53.3974,1125.237,2,3,115.237 -2024-09-27 11:42:53.7069,1125.237,2,3,115.237 -2024-09-27 11:42:54.0189,1125.237,2,3,115.237 -2024-09-27 11:42:54.3331,1125.237,2,3,115.237 -2024-09-27 11:42:54.6484,1125.237,2,3,115.237 -2024-09-27 11:42:54.9573,1125.237,2,3,115.237 -2024-09-27 11:42:55.2717,1125.237,2,3,115.237 -2024-09-27 11:42:55.5827,1125.237,2,3,115.237 -2024-09-27 11:42:55.8954,1125.237,2,3,115.237 -2024-09-27 11:42:56.2070,1125.237,2,3,115.237 -2024-09-27 11:42:56.5218,1125.237,2,3,115.237 -2024-09-27 11:42:56.8336,1125.237,2,3,115.237 -2024-09-27 11:42:57.1482,1125.237,2,3,115.237 -2024-09-27 11:42:57.4586,1125.237,2,3,115.237 -2024-09-27 11:42:57.7689,1125.237,2,3,115.237 -2024-09-27 11:42:58.0812,1125.237,2,3,115.237 -2024-09-27 11:42:58.3953,1125.237,2,3,115.237 -2024-09-27 11:42:58.7067,1125.237,2,3,115.237 -2024-09-27 11:42:59.0232,1125.237,2,3,115.237 -2024-09-27 11:42:59.3347,1125.237,2,3,115.237 -2024-09-27 11:42:59.6450,1125.237,2,3,115.237 -2024-09-27 11:42:59.9572,1125.237,2,3,115.237 -2024-09-27 11:43:00.2696,1125.237,2,3,115.237 -2024-09-27 11:43:00.5822,1125.237,2,3,115.237 -2024-09-27 11:43:00.8973,1125.237,2,3,115.237 -2024-09-27 11:43:01.2111,1125.237,2,3,115.237 -2024-09-27 11:43:01.5199,1125.237,2,3,115.237 -2024-09-27 11:43:01.8345,1125.237,2,3,115.237 -2024-09-27 11:43:02.1472,1125.237,2,3,115.237 -2024-09-27 11:43:02.4579,1125.237,2,3,115.237 -2024-09-27 11:43:02.7696,1125.237,2,3,115.237 -2024-09-27 11:43:03.2643,1125.237,2,3,115.237 -2024-09-27 11:43:03.5693,1125.237,2,3,115.237 -2024-09-27 11:43:03.8782,1125.237,2,3,115.237 -2024-09-27 11:43:04.1920,1125.237,2,3,115.237 -2024-09-27 11:43:04.5077,1125.237,2,3,115.237 -2024-09-27 11:43:04.8184,1125.237,2,3,115.237 -2024-09-27 11:43:05.1303,1125.237,2,3,115.237 -2024-09-27 11:43:05.4422,1125.237,2,3,115.237 diff --git a/Analysis/bin/x64/Debug/File/AnalysisConfig.ini b/Analysis/bin/x64/Debug/File/AnalysisConfig.ini index 7a676df..14d8012 100644 --- a/Analysis/bin/x64/Debug/File/AnalysisConfig.ini +++ b/Analysis/bin/x64/Debug/File/AnalysisConfig.ini @@ -9,27 +9,19 @@ RememberMe=1 NextsenseCSVEH3Path=D:\cherytestEH3 NextsenseCSVEHYPath=D:\cherytestEHY NextseneSelfMeasurePath=D:\test -FPY=0.8 -FPY2=0.6 ReportCSVPath=D:\QMLTest CLMSModeID=10 ;1:CLMS授权 AuthorizationMode=1 -;CarModel 初始化车型 -CarModel=EHY -EquipmentNo=NS002 -EquipmentName=Hexagon + ;1:上传IOT;0:不上传IOT StartIOTFlag=0 IOTAddress=http://10.188.2.56:9337/web/httpServlet/api/saveGfResult IOTCarTypeAddr=http://10.188.2.56:9337/web/httpServlet/api/queryGFModelAndMaterial -;显示车身数据:1:显示;0:不显示 -ShowDataFlag=1 -;L显示左侧车身界面;R-显示右侧车身界面 -ShowData=R + TolerancePercentage=1.5 ExceptionPercentage=6 @@ -40,8 +32,7 @@ Password=1 CreateReportFlag=1 ;1:解析csv 0:不解析 AnalysisCSVFlag=1 -;1-打印编码器log;0-不打印 -RecordEncoderFlag=0 + ;1-计算合格率时包含极差项 ;0-不包含 IncludeRangeFlag=1 @@ -70,7 +61,7 @@ TimerRefreshCMMStatus=3 [MSDB] SqlServerName=127.0.0.1 -SqlDbName=NextSenseStandardDB +SqlDbName=CJLR SqlUserName=sa SqlPassword=Hexagon123 diff --git a/Analysis/bin/x64/Debug/NLog.config b/Analysis/bin/x64/Debug/NLog.config index 3cfa512..c43a78a 100644 --- a/Analysis/bin/x64/Debug/NLog.config +++ b/Analysis/bin/x64/Debug/NLog.config @@ -49,7 +49,7 @@ - + insert into TLogInfo(LogTime,LogLevel,LogMessage,LogAction,LogAmount,LogStackTrack) values (@LogTime, @LogLevel, @LogMessage,@LogAction,@LogAmount, @LogStackTrack); diff --git a/Analysis/bin/x64/Debug/NSAnalysis.exe b/Analysis/bin/x64/Debug/NSAnalysis.exe index cdbd947..08e335f 100644 Binary files a/Analysis/bin/x64/Debug/NSAnalysis.exe and b/Analysis/bin/x64/Debug/NSAnalysis.exe differ diff --git a/Analysis/bin/x64/Debug/NSAnalysis.pdb b/Analysis/bin/x64/Debug/NSAnalysis.pdb index 468a045..b52863d 100644 Binary files a/Analysis/bin/x64/Debug/NSAnalysis.pdb and b/Analysis/bin/x64/Debug/NSAnalysis.pdb differ diff --git a/Analysis/bin/x64/Debug/PLCModule.dll.config b/Analysis/bin/x64/Debug/PLCModule.dll.config deleted file mode 100644 index 2c3f83c..0000000 --- a/Analysis/bin/x64/Debug/PLCModule.dll.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/Analysis/bin/x64/Debug/PLCModule.pdb b/Analysis/bin/x64/Debug/PLCModule.pdb deleted file mode 100644 index 1fce5fb..0000000 Binary files a/Analysis/bin/x64/Debug/PLCModule.pdb and /dev/null differ diff --git a/Analysis/bin/x64/Debug/logs/2024-09-21.log b/Analysis/bin/x64/Debug/logs/2024-09-21.log deleted file mode 100644 index 9a13cb5..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-09-21.log +++ /dev/null @@ -1,48 +0,0 @@ -2024-09-21 17:00:55.9019 [INFO] : --软件Program Main函数开始执行-- -2024-09-21 17:00:55.9250 [INFO] : 加载配置文件——>开始 -2024-09-21 17:00:55.9461 [INFO] : 加载配置文件——>完成 -2024-09-21 17:00:55.9461 [INFO] : Log in using the CLMS authorization. -2024-09-21 17:00:59.7480 [INFO] : 进入显示车身模式!显示车身界面。 -2024-09-21 17:01:01.2389 [INFO] : 启动PLC写线程! -2024-09-21 17:01:01.2389 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-09-21 17:01:01.2389 [INFO] : 连接PLC.... -2024-09-21 17:01:01.2389 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-09-21 17:01:01.2389 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-09-21 17:01:02.1187 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-21 17:01:02.2865 [INFO] : 显示左侧EH3车身数据界面。 -2024-09-21 17:01:02.4696 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-21 17:01:03.6923 [ERROR] : PLC S7连接失败。 -2024-09-21 17:01:03.7065 [ERROR] : 连接PLC失败 -2024-09-21 17:02:51.3391 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-09-21 17:48:29.8048 [INFO] : --软件Program Main函数开始执行-- -2024-09-21 17:48:29.8244 [INFO] : 加载配置文件——>开始 -2024-09-21 17:48:29.8454 [INFO] : 加载配置文件——>完成 -2024-09-21 17:48:29.8454 [INFO] : Log in using the CLMS authorization. -2024-09-21 17:48:32.2503 [INFO] : 进入显示车身模式!显示车身界面。 -2024-09-21 17:48:32.9998 [INFO] : 启动PLC写线程! -2024-09-21 17:48:32.9998 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-09-21 17:48:32.9998 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-09-21 17:48:32.9998 [INFO] : 连接PLC.... -2024-09-21 17:48:32.9998 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-09-21 17:48:33.6655 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-21 17:48:33.8172 [INFO] : 显示左侧EH3车身数据界面。 -2024-09-21 17:48:34.0023 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-21 17:48:35.0265 [ERROR] : PLC S7连接失败。 -2024-09-21 17:48:35.0265 [ERROR] : 连接PLC失败 -2024-09-21 17:51:57.4352 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-09-21 17:52:26.0157 [INFO] : --软件Program Main函数开始执行-- -2024-09-21 17:52:26.0316 [INFO] : 加载配置文件——>开始 -2024-09-21 17:52:26.0486 [INFO] : 加载配置文件——>完成 -2024-09-21 17:52:26.0486 [INFO] : Log in using the CLMS authorization. -2024-09-21 17:52:28.6580 [INFO] : 进入显示车身模式!显示车身界面。 -2024-09-21 17:52:29.8033 [INFO] : 启动PLC写线程! -2024-09-21 17:52:29.8033 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-09-21 17:52:29.8043 [INFO] : 连接PLC.... -2024-09-21 17:52:29.8043 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-09-21 17:52:29.8043 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-09-21 17:52:30.4382 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-21 17:52:30.5932 [INFO] : 显示左侧EH3车身数据界面。 -2024-09-21 17:52:30.7444 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-21 17:52:31.8313 [ERROR] : PLC S7连接失败。 -2024-09-21 17:52:31.8313 [ERROR] : 连接PLC失败 -2024-09-21 17:54:17.2184 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2024-09-23.log b/Analysis/bin/x64/Debug/logs/2024-09-23.log deleted file mode 100644 index e94d269..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-09-23.log +++ /dev/null @@ -1,52 +0,0 @@ -2024-09-23 08:58:35.8137 [INFO] : --软件Program Main函数开始执行-- -2024-09-23 08:58:35.8137 [INFO] : 加载配置文件——>开始 -2024-09-23 08:58:35.8362 [INFO] : 加载配置文件——>完成 -2024-09-23 08:58:35.8362 [INFO] : Log in using the CLMS authorization. -2024-09-23 08:58:37.5700 [INFO] : 进入显示车身模式!显示车身界面。 -2024-09-23 08:58:38.3574 [INFO] : 启动PLC写线程! -2024-09-23 08:58:38.3574 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-09-23 08:58:38.3574 [INFO] : 连接PLC.... -2024-09-23 08:58:38.3574 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-09-23 08:58:38.3574 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-09-23 08:58:38.8978 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-23 08:58:38.9786 [INFO] : 显示左侧EH3车身数据界面。 -2024-09-23 08:58:39.0958 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-23 08:58:40.4005 [ERROR] : PLC S7连接失败。 -2024-09-23 08:58:40.4005 [ERROR] : 连接PLC失败 -2024-09-23 08:58:48.1574 [INFO] : Left EH3 UI Refresh Button:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-23 08:58:48.7524 [INFO] : Left EH3 UI Refresh Button:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-23 08:58:49.0584 [INFO] : Left EH3 UI Refresh Button:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-23 09:01:45.3858 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-09-23 09:01:49.8169 [INFO] : --软件Program Main函数开始执行-- -2024-09-23 09:01:49.8169 [INFO] : 加载配置文件——>开始 -2024-09-23 09:01:49.8309 [INFO] : 加载配置文件——>完成 -2024-09-23 09:01:49.8309 [INFO] : Log in using the CLMS authorization. -2024-09-23 09:01:51.3166 [INFO] : 进入显示车身模式!显示车身界面。 -2024-09-23 09:01:51.7625 [INFO] : 启动PLC写线程! -2024-09-23 09:01:51.7625 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-09-23 09:01:51.7625 [INFO] : 连接PLC.... -2024-09-23 09:01:51.7625 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-09-23 09:01:51.7625 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-09-23 09:01:52.3728 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-23 09:01:52.4631 [INFO] : 显示左侧EH3车身数据界面。 -2024-09-23 09:01:52.5773 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-23 09:01:53.8034 [ERROR] : PLC S7连接失败。 -2024-09-23 09:01:53.8034 [ERROR] : 连接PLC失败 -2024-09-23 09:02:03.0005 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-09-23 13:40:50.7856 [INFO] : --软件Program Main函数开始执行-- -2024-09-23 13:40:50.7976 [INFO] : 加载配置文件——>开始 -2024-09-23 13:40:50.8095 [INFO] : 加载配置文件——>完成 -2024-09-23 13:40:50.8095 [INFO] : Log in using the CLMS authorization. -2024-09-23 13:40:52.6730 [INFO] : 进入显示车身模式!显示车身界面。 -2024-09-23 13:40:53.3877 [INFO] : 启动PLC写线程! -2024-09-23 13:40:53.3877 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-09-23 13:40:53.3877 [INFO] : 连接PLC.... -2024-09-23 13:40:53.3877 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-09-23 13:40:53.3877 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-09-23 13:40:53.9235 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-23 13:40:54.0187 [INFO] : 显示左侧EH3车身数据界面。 -2024-09-23 13:40:54.1578 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-23 13:40:55.4907 [ERROR] : PLC S7连接失败。 -2024-09-23 13:40:55.4907 [ERROR] : 连接PLC失败 -2024-09-23 13:40:59.5166 [INFO] : Left EH3 UI Refresh Button:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-23 13:41:15.9000 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2024-09-27.log b/Analysis/bin/x64/Debug/logs/2024-09-27.log deleted file mode 100644 index 5686626..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-09-27.log +++ /dev/null @@ -1,1494 +0,0 @@ -2024-09-27 09:57:25.9808 [INFO] : --软件Program Main函数开始执行-- -2024-09-27 09:57:25.9808 [INFO] : 加载配置文件——>开始 -2024-09-27 09:57:26.0052 [INFO] : 加载配置文件——>完成 -2024-09-27 09:57:26.0052 [INFO] : Log in using the CLMS authorization. -2024-09-27 09:57:28.4030 [INFO] : 进入显示车身模式!显示车身界面。 -2024-09-27 09:57:29.5607 [INFO] : 启动PLC写线程! -2024-09-27 09:57:29.5607 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-09-27 09:57:29.5607 [INFO] : 连接PLC.... -2024-09-27 09:57:29.5607 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-09-27 09:57:29.5607 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-09-27 09:57:30.1513 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 09:57:30.3503 [INFO] : 显示左侧EH3车身数据界面。 -2024-09-27 09:57:30.4862 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 09:57:31.6407 [ERROR] : PLC S7连接失败。 -2024-09-27 09:57:31.6407 [ERROR] : 连接PLC失败 -2024-09-27 10:09:58.9966 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-09-27 10:58:01.1809 [INFO] : --软件Program Main函数开始执行-- -2024-09-27 10:58:01.1974 [INFO] : 加载配置文件——>开始 -2024-09-27 10:58:01.2175 [INFO] : 加载配置文件——>完成 -2024-09-27 10:58:01.2196 [INFO] : Log in using the CLMS authorization. -2024-09-27 10:58:03.4360 [INFO] : 进入显示车身模式!显示车身界面。 -2024-09-27 10:58:04.2843 [INFO] : 启动PLC写线程! -2024-09-27 10:58:04.2843 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-09-27 10:58:04.2843 [INFO] : 连接PLC.... -2024-09-27 10:58:04.2843 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-09-27 10:58:04.2843 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-09-27 10:58:04.9036 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 10:58:05.1041 [INFO] : 显示左侧EH3车身数据界面。 -2024-09-27 10:58:05.2593 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 10:58:06.3002 [ERROR] : PLC S7连接失败。 -2024-09-27 10:58:06.3002 [ERROR] : 连接PLC失败 -2024-09-27 10:59:44.8132 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-09-27 10:59:49.7419 [INFO] : --软件Program Main函数开始执行-- -2024-09-27 10:59:49.7544 [INFO] : 加载配置文件——>开始 -2024-09-27 10:59:49.7544 [INFO] : 加载配置文件——>完成 -2024-09-27 10:59:49.7544 [INFO] : Log in using the CLMS authorization. -2024-09-27 10:59:51.4852 [INFO] : 进入显示车身模式!显示车身界面。 -2024-09-27 10:59:52.1391 [INFO] : 启动PLC写线程! -2024-09-27 10:59:52.1391 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-09-27 10:59:52.1391 [INFO] : 连接PLC.... -2024-09-27 10:59:52.1391 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-09-27 10:59:52.1391 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-09-27 10:59:52.7591 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 10:59:52.9505 [INFO] : 显示左侧EH3车身数据界面。 -2024-09-27 10:59:53.1196 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 10:59:54.1537 [ERROR] : PLC S7连接失败。 -2024-09-27 10:59:54.1537 [ERROR] : 连接PLC失败 -2024-09-27 11:10:37.7048 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-09-27 11:29:50.3128 [INFO] : --软件Program Main函数开始执行-- -2024-09-27 11:29:50.3296 [INFO] : 加载配置文件——>开始 -2024-09-27 11:29:50.3475 [INFO] : 加载配置文件——>完成 -2024-09-27 11:29:50.3475 [INFO] : Log in using the CLMS authorization. -2024-09-27 11:29:52.6833 [INFO] : 进入显示车身模式!显示车身界面。 -2024-09-27 11:29:53.9108 [INFO] : 启动PLC写线程! -2024-09-27 11:29:53.9108 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-09-27 11:29:53.9108 [INFO] : 连接PLC.... -2024-09-27 11:29:53.9108 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-09-27 11:29:53.9108 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-09-27 11:29:54.4845 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 11:29:54.7014 [INFO] : 显示左侧EH3车身数据界面。 -2024-09-27 11:29:54.8315 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 11:29:55.9291 [ERROR] : PLC S7连接失败。 -2024-09-27 11:29:55.9291 [ERROR] : 连接PLC失败 -2024-09-27 11:31:57.0780 [INFO] : 启动PLC写线程! -2024-09-27 11:31:57.0780 [INFO] : 连接PLC.... -2024-09-27 11:31:57.0780 [INFO] : PLC S7连接成功。 -2024-09-27 11:31:57.0890 [INFO] : 连接PLC成功 -2024-09-27 11:31:57.4230 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:31:57.7340 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:31:58.0457 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:31:58.3539 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:31:58.6687 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:31:58.9832 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:31:59.2927 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:31:59.6054 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:31:59.9194 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:00.2303 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:00.5435 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:00.8587 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:01.1687 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:01.4818 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:01.7945 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:02.1081 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:02.4168 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:02.7306 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:03.0456 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:03.3575 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:03.6702 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:03.9800 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:04.2941 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:04.6051 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:04.9201 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:05.2311 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:05.5431 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:05.8556 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:06.1681 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:06.4842 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:06.7927 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:07.1052 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:07.4202 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:07.7308 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:08.0426 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:08.3558 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:08.6690 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:08.9828 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:09.2944 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:09.6076 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:09.9187 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:10.2298 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:10.5434 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:10.8569 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:11.1683 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:11.4809 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:11.7934 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:12.1085 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:12.4197 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:12.7319 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:13.0452 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:13.3548 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:13.6709 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:13.9815 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:14.2944 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:14.6075 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:14.9201 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:15.2313 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:15.5433 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:15.8574 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:16.1704 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:16.4820 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:16.7938 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:17.1070 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:17.4210 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:17.7334 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:18.0434 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:18.3561 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:18.6673 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:18.9805 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:19.2932 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:19.6092 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:19.9186 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:20.2305 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:20.5465 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:20.8560 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:21.1687 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:21.4815 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:21.7948 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:22.1087 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:22.4187 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:22.7306 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:23.0429 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:23.3549 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:23.6705 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:23.9834 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:24.2934 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:24.6078 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:24.9176 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:25.2330 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:25.5461 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:25.8563 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:26.1693 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:26.4804 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:26.7929 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:27.1053 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:27.4184 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:27.7330 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:28.0462 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:28.3592 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:28.6670 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:28.9803 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:29.2950 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:29.6066 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:29.9175 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:30.2326 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:30.5448 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:30.8570 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:31.1695 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:31.4822 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:31.7924 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:32.1059 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:32.4183 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:32.7356 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:33.0459 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:33.3590 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:33.6681 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:33.9801 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:34.2930 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:34.6049 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:34.9206 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:35.2310 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:35.5464 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:35.8582 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:36.1675 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:36.4832 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:36.7936 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:37.1082 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:37.4189 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:37.7311 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:38.0416 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:38.3544 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:38.6699 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:38.9798 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:39.2939 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:39.6070 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:39.9177 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:40.2327 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:40.5439 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:40.8559 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:41.1677 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:41.4849 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:41.7934 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:42.1053 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:42.4182 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:42.7317 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:43.0472 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:43.3587 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:43.6686 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:43.9822 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:44.2955 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:44.6050 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:44.9174 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:45.2301 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:45.5439 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:45.8564 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:46.1690 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:46.4801 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:46.7950 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:47.1047 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:47.4178 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:47.7336 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:48.0434 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:48.3578 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:48.6688 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:48.9810 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:49.2936 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:49.6063 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:49.9193 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:50.2328 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:50.5441 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:50.8556 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:51.1680 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:51.4803 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:51.7937 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:52.1071 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:52.4207 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:52.7314 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:53.0439 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:53.3557 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:53.6703 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:53.9821 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:54.2937 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:54.6075 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:54.9184 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:55.2297 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:55.5425 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:55.8548 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:56.1673 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:56.4799 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:56.7944 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:57.1066 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:57.4194 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:57.7326 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:58.0453 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:58.3559 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:58.6686 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:58.9817 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:59.2921 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:59.6060 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:32:59.9184 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:00.2303 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:00.5422 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:00.8552 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:01.1686 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:01.4799 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:01.7940 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:02.1058 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:02.4177 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:02.7298 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:03.0433 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:03.3557 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:03.6707 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:03.9818 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:04.2932 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:04.6052 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:04.9183 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:05.2315 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:05.5441 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:05.8558 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:06.1692 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:06.4826 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:06.7931 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:07.1060 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:07.4193 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:07.7316 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:08.0433 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:08.3573 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:08.6694 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:08.9801 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:09.2953 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:09.6051 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:09.9204 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:10.2316 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:10.5452 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:10.8548 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:11.1685 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:11.4809 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:11.7929 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:12.1068 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:12.4175 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:12.7319 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:13.0454 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:13.3548 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:13.6677 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:13.9825 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:14.2943 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:14.6066 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:14.9180 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:15.2325 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:15.5438 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:15.8581 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:16.1670 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:16.4821 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:16.7928 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:17.1049 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:17.4181 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:17.7291 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:18.0447 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:18.3562 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:18.6717 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:18.9843 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:19.2937 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:19.6062 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:19.9173 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:20.2300 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:20.5427 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:20.8567 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:21.1682 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:21.4812 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:21.7926 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:22.1060 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:22.4180 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:22.7333 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:23.0445 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:23.3551 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:23.6680 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:23.9824 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:24.2939 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:24.6066 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:24.9187 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:25.2313 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:25.5422 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:25.8565 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:26.1693 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:26.4806 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:26.7920 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:27.1046 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:27.4216 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:27.7303 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:28.0448 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:28.3549 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:28.6673 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:28.9808 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:29.2933 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:29.6085 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:29.9185 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:30.2322 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:30.5437 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:30.8560 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:31.1674 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:31.4823 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:31.7930 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:32.1051 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:32.4186 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:32.7323 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:33.0433 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:33.3567 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:33.6712 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:33.9854 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:34.2955 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:34.6056 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:34.9172 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:35.2308 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:35.5421 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:35.8564 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:36.1693 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:36.4826 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:36.7949 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:37.1053 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:37.4195 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:37.7323 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:38.0425 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:38.3572 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:38.6682 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:38.9813 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:39.2956 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:39.6057 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:39.9179 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:40.2325 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:40.5466 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:40.8564 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:41.1672 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:41.4818 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:41.7919 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:42.1061 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:42.4213 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:42.7311 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:43.0421 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:43.3544 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:43.6686 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:43.9802 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:44.2959 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:44.6049 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:44.9216 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:45.2300 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:45.5421 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:45.8578 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:46.1675 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:46.4818 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:46.7931 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:47.1086 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:47.4175 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:47.7324 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:48.0423 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:48.3565 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:48.6700 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:48.9807 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:49.2944 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:49.6045 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:49.9174 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:50.2304 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:50.5459 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:50.8557 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:51.1676 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:51.4824 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:51.7930 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:52.1045 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:52.4168 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:52.7328 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:53.0437 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:53.3565 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:53.6702 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:53.9802 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:54.2928 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:54.6064 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:54.9177 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:55.2297 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:55.5421 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:55.8559 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:56.1699 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:56.4833 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:56.7931 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:57.1060 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:57.4202 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:57.7297 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:58.0447 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:58.3554 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:58.6680 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:58.9807 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:59.2944 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:59.6070 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:33:59.9194 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:00.2332 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:00.5418 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:00.8560 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:01.1670 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:01.4817 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:01.7945 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:02.1064 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:02.4182 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:02.7337 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:03.0461 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:03.3568 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:03.6687 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:03.9807 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:04.2920 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:04.6054 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:04.9205 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:05.2315 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:05.5456 [FATAL] : -1,-1,-1,-1 -2024-09-27 11:34:05.7753 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-09-27 11:34:10.6407 [INFO] : --软件Program Main函数开始执行-- -2024-09-27 11:34:10.6548 [INFO] : 加载配置文件——>开始 -2024-09-27 11:34:10.6548 [INFO] : 加载配置文件——>完成 -2024-09-27 11:34:10.6548 [INFO] : Log in using the CLMS authorization. -2024-09-27 11:34:12.4358 [INFO] : 进入显示车身模式!显示车身界面。 -2024-09-27 11:34:13.2403 [INFO] : 启动PLC写线程! -2024-09-27 11:34:13.2403 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-09-27 11:34:13.2403 [INFO] : 连接PLC.... -2024-09-27 11:34:13.2403 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-09-27 11:34:13.2403 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-09-27 11:34:13.2569 [INFO] : PLC S7连接成功。 -2024-09-27 11:34:13.3950 [INFO] : 连接PLC成功 -2024-09-27 11:34:13.8105 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 11:34:14.0092 [INFO] : 显示左侧EH3车身数据界面。 -2024-09-27 11:34:14.1560 [FATAL] : 2.64299988746643,3.48300004005432,0,0 -2024-09-27 11:34:14.2022 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 11:34:14.4640 [FATAL] : 2.64299988746643,3.48300004005432,0,0 -2024-09-27 11:34:14.7781 [FATAL] : 2.64299988746643,3.48300004005432,0,0 -2024-09-27 11:34:15.0902 [FATAL] : 2.64299988746643,3.48300004005432,0,0 -2024-09-27 11:34:15.4036 [FATAL] : 2.64299988746643,3.48300004005432,0,0 -2024-09-27 11:34:15.7137 [FATAL] : 2.64299988746643,3.48300004005432,0,0 -2024-09-27 11:34:16.0252 [FATAL] : 2.64299988746643,3.48300004005432,0,0 -2024-09-27 11:34:16.3524 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-09-27 11:37:55.4831 [INFO] : --软件Program Main函数开始执行-- -2024-09-27 11:37:55.5024 [INFO] : 加载配置文件——>开始 -2024-09-27 11:37:55.5082 [INFO] : 加载配置文件——>完成 -2024-09-27 11:37:55.5082 [INFO] : Log in using the CLMS authorization. -2024-09-27 11:37:58.0775 [INFO] : 进入显示车身模式!显示车身界面。 -2024-09-27 11:38:02.7190 [INFO] : 启动PLC写线程! -2024-09-27 11:38:02.7190 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-09-27 11:38:02.7190 [INFO] : 连接PLC.... -2024-09-27 11:38:02.7190 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-09-27 11:38:02.7190 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-09-27 11:38:02.7429 [INFO] : PLC S7连接成功。 -2024-09-27 11:38:02.9123 [INFO] : 连接PLC成功 -2024-09-27 11:38:03.2860 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 11:38:06.6803 [INFO] : 显示左侧EH3车身数据界面。 -2024-09-27 11:38:12.1539 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:12.1812 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 11:38:12.4648 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:12.7780 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:13.0880 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:13.4020 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:13.7121 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:14.0272 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:14.3376 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:14.6516 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:14.9626 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:15.2741 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:15.5873 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:15.9019 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:16.2117 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:16.5243 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:16.8406 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:17.1494 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:17.4627 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:17.7754 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:18.0891 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:18.4009 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:18.7127 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:19.0284 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:19.3359 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:19.6513 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:19.9629 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:20.2777 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:20.5886 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:20.9022 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:21.2134 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:21.5270 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:21.8371 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:22.1514 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:22.4623 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:22.7774 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:23.0862 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:23.3999 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:23.7119 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:24.0266 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:24.3371 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:24.6511 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:24.9627 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:25.2761 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:25.5871 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:25.8988 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:26.2130 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:26.5270 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:26.8360 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:27.1516 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:27.4619 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:27.7771 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:28.0883 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:28.3985 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:28.7111 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:29.0257 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:29.3379 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:29.6499 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:29.9624 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:30.2754 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:30.5869 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:30.9022 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:31.2139 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:31.5248 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:31.8394 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:32.1512 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:32.4607 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:32.7748 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:33.0886 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:33.3998 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:33.7115 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:34.0271 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:34.3382 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:34.6487 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:34.9626 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:35.2754 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:35.5888 [FATAL] : 1,2,3,15.237 -2024-09-27 11:38:35.8994 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:36.2117 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:36.5282 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:36.8361 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:37.1530 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:37.4637 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:37.7752 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:38.0869 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:38.3984 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:38.7124 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:39.0248 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:39.3380 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:39.6482 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:39.9613 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:40.2748 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:40.5860 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:40.9005 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:41.2146 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:41.5246 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:41.8367 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:42.1505 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:42.4616 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:42.7760 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:43.0865 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:43.3998 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:43.7101 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:44.0233 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:44.3379 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:44.6498 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:44.9633 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:45.2785 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:45.5856 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:45.8990 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:46.2109 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:46.5251 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:46.8381 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:47.1483 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:47.4623 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:47.7764 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:48.0855 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:48.3999 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:48.7125 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:49.0233 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:49.3372 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:49.6496 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:49.9606 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:50.2728 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:50.5868 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:50.8985 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:51.2111 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:51.5265 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:51.8367 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:52.1507 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:52.4606 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:52.7737 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:53.0864 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:53.4027 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:53.7148 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:54.0261 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:54.3356 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:54.6498 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:54.9615 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:55.2753 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:55.5884 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:55.9010 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:56.2145 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:56.5268 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:56.8364 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:57.1490 [FATAL] : 1,2,3,115.237 -2024-09-27 11:38:57.4632 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:38:57.7728 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:38:58.0870 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:38:58.4004 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:38:58.7111 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:38:59.0228 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:38:59.3378 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:38:59.6494 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:38:59.9627 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:00.2729 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:00.5879 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:00.8978 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:01.2102 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:01.5255 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:01.8377 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:02.1510 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:02.4605 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:02.7768 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:03.0857 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:03.3992 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:03.7104 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:04.0230 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:04.3367 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:04.6517 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:04.9625 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:05.2730 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:05.5898 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:05.8974 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:06.2114 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:06.5227 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:06.8372 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:07.1499 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:07.4600 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:07.7754 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:08.0868 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:08.3994 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:08.7128 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:09.0223 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:09.3382 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:09.6515 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:09.9609 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:10.2737 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:10.5877 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:10.8977 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:11.2118 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:11.5251 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:11.8356 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:12.1501 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:12.4617 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:12.7744 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:13.0850 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:13.3994 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:13.7124 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:14.0246 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:14.3373 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:14.6490 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:14.9603 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:15.2746 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:15.5853 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:15.9009 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:16.2100 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:16.5235 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:16.8364 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:17.1474 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:17.4602 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:17.7746 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:18.0859 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:18.3982 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:18.7120 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:19.0225 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:19.3361 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:19.6488 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:19.9600 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:20.2772 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:20.5867 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:20.8972 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:21.2111 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:21.5242 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:21.8359 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:22.1483 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:22.4631 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:22.7742 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:23.0862 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:23.3996 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:23.7134 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:24.0246 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:24.3357 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:24.6502 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:24.9609 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:25.2746 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:25.5860 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:25.9001 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:26.2131 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:26.5226 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:26.8378 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:27.1465 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:27.4609 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:27.7733 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:28.0853 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:28.3983 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:28.7111 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:29.0275 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:29.3344 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:29.6484 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:29.9637 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:30.2722 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:30.5857 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:30.8976 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:31.2118 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:31.5241 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:31.8378 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:32.1495 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:32.4608 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:32.7730 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:33.0855 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:33.3985 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:33.7122 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:34.0233 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:34.3344 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:34.6497 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:34.9610 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:35.2733 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:35.5884 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:35.8984 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:36.2103 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:36.5224 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:36.8373 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:37.1480 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:37.4621 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:37.7753 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:38.0869 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:38.3980 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:38.7104 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:39.0235 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:39.3366 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:39.6485 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:39.9622 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:40.2723 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:40.5858 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:40.8984 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:41.2106 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:41.5227 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:41.8354 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:42.1512 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:42.4602 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:42.7750 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:43.0846 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:43.3986 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:43.7094 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:44.0235 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:44.3364 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:44.6471 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:44.9626 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:45.2747 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:45.5848 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:45.8981 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:46.2102 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:46.5236 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:46.8359 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:47.1472 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:47.4599 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:47.7761 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:48.0853 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:48.3976 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:48.7135 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:49.0228 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:49.3353 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:49.6472 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:49.9609 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:50.2747 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:50.5858 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:50.8985 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:51.2092 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:51.5232 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:51.8340 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:52.1490 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:52.4610 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:52.7728 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:53.0871 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:53.3993 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:53.7115 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:54.0218 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:54.3351 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:54.6475 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:54.9596 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:55.2762 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:55.5840 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:55.8985 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:56.2091 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:56.5217 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:56.8355 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:57.1466 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:57.4609 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:57.7727 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:58.0859 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:58.3984 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:58.7098 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:59.0236 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:59.3351 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:59.6494 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:39:59.9592 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:00.2725 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:00.5845 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:00.8975 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:01.2093 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:01.5242 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:01.8367 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:02.1479 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:02.4601 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:02.7721 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:03.0850 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:03.3970 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:03.7119 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:04.0231 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:04.3343 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:04.6472 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:04.9590 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:05.2722 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:05.5875 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:05.8964 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:06.2105 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:06.5249 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:06.8360 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:07.1465 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:07.4602 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:07.7747 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:08.0843 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:08.3982 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:08.7089 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:09.0226 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:09.3371 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:09.6470 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:09.9596 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:10.2728 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:10.5882 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:10.8981 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:11.2088 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:11.5234 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:11.8350 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:12.1473 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:12.4587 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:12.7741 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:13.0863 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:13.3984 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:13.7094 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:14.0228 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:14.3343 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:14.6502 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:14.9620 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:15.2742 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:15.5842 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:15.8977 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:16.2096 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:16.5230 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:16.8343 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:17.1473 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:17.4597 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:17.7714 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:18.0834 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:18.3986 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:18.7121 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:19.0228 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:19.3369 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:19.6467 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:19.9601 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:20.2718 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:20.5850 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:20.8985 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:21.2088 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:21.5230 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:21.8361 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:22.1479 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:22.4595 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:22.7738 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:23.0843 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:23.3989 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:23.7100 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:24.0230 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:24.3338 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:24.6460 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:24.9587 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:25.2727 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:25.5849 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:25.9008 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:26.2085 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:26.5225 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:26.8353 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:27.1487 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:27.4592 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:27.7730 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:28.0869 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:28.3960 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:28.7084 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:29.0221 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:29.3343 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:29.6460 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:29.9599 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:30.2750 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:30.5847 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:30.8988 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:31.2084 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:31.5231 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:31.8375 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:32.1489 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:32.4614 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:32.7734 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:33.0857 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:33.3980 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:33.7095 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:34.0221 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:34.3342 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:34.6495 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:34.9600 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:35.2722 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:35.5864 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:35.8981 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:36.2098 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:36.5220 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:36.8367 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:37.1484 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:37.4619 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:37.7730 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:38.0849 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:38.3959 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:38.7081 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:39.0232 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:39.3345 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:39.6491 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:39.9593 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:40.2735 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:40.5860 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:40.8977 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:41.2106 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:41.5219 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:41.8340 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:42.1460 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:42.4592 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:42.7732 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:43.0858 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:43.3986 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:43.7089 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:44.0216 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:44.3344 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:44.6458 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:44.9584 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:45.2730 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:45.5843 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:45.8958 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:46.2086 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:46.5207 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:46.8333 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:47.1496 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:47.4599 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:47.7732 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:48.0837 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:48.3976 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:48.7108 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:49.0213 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:49.3348 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:49.6487 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:49.9602 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:50.2712 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:50.5839 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:50.8963 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:51.2094 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:51.5232 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:51.8363 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:52.1491 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:52.4603 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:52.7724 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:53.0851 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:53.3953 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:53.7080 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:54.0227 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:54.3352 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:54.6489 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:54.9574 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:55.2723 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:55.5863 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:55.8973 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:56.2079 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:56.5223 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:56.8343 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:57.1461 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:57.4587 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:57.7717 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:58.0849 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:58.3964 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:58.7101 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:59.0203 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:59.3348 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:59.6451 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:40:59.9593 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:00.2709 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:00.5849 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:00.9005 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:01.2112 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:01.5228 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:01.8335 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:02.1478 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:02.4599 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:02.7737 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:03.0839 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:03.3980 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:03.7094 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:04.0200 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:04.3343 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:04.6463 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:04.9612 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:05.2731 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:05.5839 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:05.8956 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:06.2091 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:06.5228 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:06.8330 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:07.1476 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:07.4612 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:07.7707 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:08.0837 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:08.3967 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:08.7112 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:09.0224 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:09.3360 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:09.6461 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:09.9600 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:10.2705 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:10.5835 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:10.8974 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:11.2077 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:11.5232 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:11.8347 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:12.1453 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:12.4605 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:12.7715 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:13.0856 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:13.3968 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:13.7079 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:14.0214 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:14.3335 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:14.6466 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:14.9580 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:15.2700 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:15.5836 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:15.8960 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:16.2106 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:16.5198 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:16.8326 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:17.1457 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:17.4580 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:17.7703 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:18.0841 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:18.3965 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:18.7110 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:19.0214 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:19.3322 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:19.6460 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:19.9566 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:20.2716 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:20.5862 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:20.8977 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:21.2093 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:21.5202 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:21.8338 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:22.1474 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:22.4574 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:22.7717 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:23.0842 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:23.3949 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:23.7090 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:24.0202 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:24.3326 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:24.6451 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:24.9596 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:25.2700 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:25.5837 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:25.8965 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:26.2082 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:26.5224 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:26.8334 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:27.1502 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:27.4584 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:27.7727 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:28.0836 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:28.3968 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:28.7091 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:29.0234 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:29.3345 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:29.6472 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:29.9605 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:30.2708 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:30.5840 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:30.8947 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:31.2100 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:31.5234 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:31.8344 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:32.1447 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:32.4581 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:32.7718 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:33.0854 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:33.3955 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:33.7098 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:34.0221 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:34.3336 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:34.6446 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:34.9586 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:35.2716 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:35.5836 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:35.8984 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:36.2086 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:36.5199 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:36.8348 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:37.1474 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:37.4589 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:37.7716 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:38.0838 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:38.3961 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:38.7091 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:39.0212 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:39.3343 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:39.6468 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:39.9581 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:40.2705 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:40.5825 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:40.8953 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:41.2086 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:41.5205 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:41.8327 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:42.1473 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:42.4600 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:42.7720 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:43.0821 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:43.3947 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:43.7091 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:44.0245 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:44.3321 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:44.6480 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:44.9603 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:45.2738 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:45.5826 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:45.8959 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:46.2085 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:46.5215 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:46.8359 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:47.1448 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:47.4586 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:47.7700 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:48.0851 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:48.3962 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:48.7105 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:49.0218 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:49.3335 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:49.6455 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:49.9582 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:50.2713 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:50.5833 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:50.8956 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:51.2091 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:51.5213 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:51.8336 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:52.1469 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:52.4607 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:52.7707 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:53.0820 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:53.4003 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:53.7085 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:54.0203 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:54.3350 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:54.6467 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:54.9589 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:55.2734 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:55.5867 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:55.8966 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:56.2084 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:56.5193 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:56.8320 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:57.1481 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:57.4575 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:57.7729 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:58.0834 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:58.3950 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:58.7104 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:59.0201 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:59.3357 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:59.6464 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:41:59.9618 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:00.2725 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:00.5842 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:00.8974 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:01.2106 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:01.5211 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:01.8341 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:02.1491 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:02.4572 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:02.7708 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:03.0832 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:03.3942 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:03.7097 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:04.0205 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:04.3366 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:04.6447 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:04.9591 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:05.2731 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:05.5857 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:05.8949 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:06.2079 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:06.5225 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:06.8349 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:07.1469 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:07.4571 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:07.7706 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:08.0836 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:08.3991 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:08.7078 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:09.0200 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:09.3332 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:09.6477 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:09.9585 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:10.2717 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:10.5818 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:10.8979 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:11.2081 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:11.5202 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:11.8327 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:12.1447 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:12.4595 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:12.7693 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:13.0849 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:13.3960 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:13.7080 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:14.0192 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:14.3350 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:14.6448 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:14.9599 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:15.2728 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:15.5828 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:15.8975 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:16.2073 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:16.5220 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:16.8353 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:17.1444 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:17.4591 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:17.7730 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:18.0824 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:18.3962 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:18.7085 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:19.0192 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:19.3327 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:19.6492 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:19.9584 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:20.2704 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:20.5862 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:20.8968 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:21.2066 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:21.5220 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:21.8355 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:22.1457 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:22.4596 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:22.7710 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:23.0833 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:23.3978 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:23.7093 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:24.0210 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:24.3317 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:24.6481 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:24.9580 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:25.2720 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:25.5821 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:25.8961 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:26.2080 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:26.5214 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:26.8331 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:27.1444 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:27.4565 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:27.7713 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:28.0826 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:28.3962 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:28.7074 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:29.0205 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:29.3322 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:29.6476 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:29.9602 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:30.2720 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:30.5853 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:30.8972 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:31.2081 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:31.5195 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:31.8324 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:32.1477 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:32.4580 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:32.7706 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:33.0831 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:33.3962 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:33.7079 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:34.0222 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:34.3335 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:34.6444 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:34.9619 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:35.2718 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:35.5828 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:35.8952 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:36.2082 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:36.5230 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:36.8348 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:37.1468 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:37.4565 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:37.7705 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:38.0835 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:38.3973 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:38.7064 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:39.0196 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:39.3370 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:39.6454 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:39.9572 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:40.2721 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:40.5835 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:40.8966 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:41.2098 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:41.5237 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:41.8324 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:42.1462 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:42.4589 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:42.7700 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:43.0821 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:43.3944 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:43.7083 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:44.0215 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:44.3315 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:44.6458 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:44.9612 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:45.2721 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:45.5825 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:45.8958 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:46.2080 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:46.5193 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:46.8351 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:47.1473 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:47.4570 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:47.7695 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:48.0825 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:48.3958 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:48.7076 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:49.0211 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:49.3314 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:49.6454 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:49.9590 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:50.2721 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:50.5826 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:50.8953 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:51.2083 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:51.5194 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:51.8341 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:52.1465 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:52.4596 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:52.7702 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:53.0840 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:53.3974 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:53.7069 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:54.0189 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:54.3331 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:54.6484 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:54.9573 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:55.2717 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:55.5827 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:55.8954 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:56.2070 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:56.5218 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:56.8336 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:57.1482 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:57.4586 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:57.7689 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:58.0812 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:58.3953 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:58.7067 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:59.0232 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:59.3347 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:59.6450 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:42:59.9572 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:00.2696 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:00.5822 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:00.8973 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:01.2111 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:01.5199 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:01.8345 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:02.1472 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:02.4579 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:02.7696 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:03.2643 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:03.5693 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:03.8782 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:04.1920 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:04.5077 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:04.8184 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:05.1303 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:43:05.4422 [FATAL] : 1125.237,2,3,115.237 -2024-09-27 11:44:55.5553 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-09-27 13:27:12.9534 [INFO] : --软件Program Main函数开始执行-- -2024-09-27 13:27:12.9534 [INFO] : 加载配置文件——>开始 -2024-09-27 13:27:12.9534 [INFO] : 加载配置文件——>完成 -2024-09-27 13:27:12.9534 [INFO] : Log in using the CLMS authorization. -2024-09-27 13:27:14.8742 [INFO] : 进入显示车身模式!显示车身界面。 -2024-09-27 13:27:15.3909 [INFO] : 启动PLC写线程! -2024-09-27 13:27:15.3909 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-09-27 13:27:15.3909 [INFO] : 连接PLC.... -2024-09-27 13:27:15.3909 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-09-27 13:27:15.3909 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-09-27 13:27:15.3909 [INFO] : PLC S7连接成功。 -2024-09-27 13:27:15.5325 [INFO] : 连接PLC成功 -2024-09-27 13:27:15.9305 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 13:27:16.0765 [INFO] : 显示左侧EH3车身数据界面。 -2024-09-27 13:27:16.2083 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 13:37:15.6402 [INFO] : PLC心跳检测10分钟内未变化,断开PLC,进行PLC重连! -2024-09-27 13:37:15.6563 [INFO] : PLC断开,重连! -2024-09-27 13:37:15.6583 [INFO] : PLC S7连接成功。 -2024-09-27 13:37:16.6638 [INFO] : 重新连接PLC成功! -2024-09-27 13:41:11.0555 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-09-27 13:43:12.2093 [INFO] : --软件Program Main函数开始执行-- -2024-09-27 13:43:12.2237 [INFO] : 加载配置文件——>开始 -2024-09-27 13:43:12.2384 [INFO] : 加载配置文件——>完成 -2024-09-27 13:43:12.2384 [INFO] : Log in using the CLMS authorization. -2024-09-27 13:43:14.2705 [INFO] : 进入显示车身模式!显示车身界面。 -2024-09-27 13:43:15.1350 [INFO] : 启动PLC写线程! -2024-09-27 13:43:15.1350 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-09-27 13:43:15.1350 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-09-27 13:43:15.1350 [INFO] : 连接PLC.... -2024-09-27 13:43:15.1350 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-09-27 13:43:15.2069 [INFO] : PLC S7连接成功。 -2024-09-27 13:43:15.2822 [INFO] : 连接PLC成功 -2024-09-27 13:43:15.6409 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 13:43:15.7991 [INFO] : 显示左侧EH3车身数据界面。 -2024-09-27 13:43:15.9368 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 13:43:25.0367 [INFO] : Left EH3 UI Refresh Button:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-09-27 13:43:39.0334 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2024-10-08.log b/Analysis/bin/x64/Debug/logs/2024-10-08.log deleted file mode 100644 index b3777b6..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-10-08.log +++ /dev/null @@ -1,16 +0,0 @@ -2024-10-08 13:29:47.7936 [INFO] : --软件Program Main函数开始执行-- -2024-10-08 13:29:47.8050 [INFO] : 加载配置文件——>开始 -2024-10-08 13:29:47.8168 [INFO] : 加载配置文件——>完成 -2024-10-08 13:29:47.8168 [INFO] : Log in using the CLMS authorization. -2024-10-08 13:29:49.6682 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-08 13:29:50.4355 [INFO] : 启动PLC写线程! -2024-10-08 13:29:50.4355 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-08 13:29:50.4355 [INFO] : 连接PLC.... -2024-10-08 13:29:50.4355 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-08 13:29:50.4355 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-08 13:29:51.0390 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-10-08 13:29:51.1585 [INFO] : 显示左侧EH3车身数据界面。 -2024-10-08 13:29:51.2848 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-10-08 13:29:52.4839 [ERROR] : PLC S7连接失败。 -2024-10-08 13:29:52.4839 [ERROR] : 连接PLC失败 -2024-10-08 13:30:24.7725 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2024-10-12.log b/Analysis/bin/x64/Debug/logs/2024-10-12.log deleted file mode 100644 index 61657c3..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-10-12.log +++ /dev/null @@ -1,96 +0,0 @@ -2024-10-12 13:51:47.9983 [INFO] : --软件Program Main函数开始执行-- -2024-10-12 13:51:48.0134 [INFO] : 加载配置文件——>开始 -2024-10-12 13:51:48.0134 [INFO] : 加载配置文件——>完成 -2024-10-12 13:51:48.0134 [INFO] : Log in using the CLMS authorization. -2024-10-12 13:51:49.8664 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-12 13:51:50.3342 [INFO] : 启动PLC写线程! -2024-10-12 13:51:50.3342 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-12 13:51:50.3342 [INFO] : 连接PLC.... -2024-10-12 13:51:50.3342 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-12 13:51:50.3342 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-12 13:51:50.9243 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-10-12 13:51:51.0839 [INFO] : 显示左侧EH3车身数据界面。 -2024-10-12 13:51:51.2198 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-10-12 13:51:52.3946 [ERROR] : PLC S7连接失败。 -2024-10-12 13:51:52.3946 [ERROR] : 连接PLC失败 -2024-10-12 13:52:10.3443 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-12 15:32:37.1682 [INFO] : --软件Program Main函数开始执行-- -2024-10-12 15:32:37.1682 [INFO] : 加载配置文件——>开始 -2024-10-12 15:32:37.1862 [INFO] : 加载配置文件——>完成 -2024-10-12 15:32:37.1862 [INFO] : Log in using the CLMS authorization. -2024-10-12 15:32:38.8678 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-12 15:32:39.4205 [INFO] : 启动PLC写线程! -2024-10-12 15:32:39.4205 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-12 15:32:39.4205 [INFO] : 连接PLC.... -2024-10-12 15:32:39.4205 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-12 15:32:39.4205 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-12 15:32:39.9222 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-10-12 15:32:40.0866 [INFO] : 显示左侧EH3车身数据界面。 -2024-10-12 15:32:40.2238 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-10-12 15:32:41.4787 [ERROR] : PLC S7连接失败。 -2024-10-12 15:32:41.4787 [ERROR] : 连接PLC失败 -2024-10-12 15:33:25.4024 [INFO] : 存在EH3 CSV文件,开始解析: -2024-10-12 15:33:25.4024 [INFO] : Copy D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-10-12 15:33:25.4024 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-12 15:33:25.4024 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23084 -2024-10-12 15:33:25.4024 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-10-12 15:33:25.4024 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-10-12 15:33:25.4488 [ERROR] : EH3 L-21 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.4488 [ERROR] : EH3 L-21 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.4488 [ERROR] : EH3 L-22 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.4488 [ERROR] : EH3 L-22 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.4488 [ERROR] : EH3 L-14 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.4488 [ERROR] : EH3 L-14 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.4654 [ERROR] : EH3 L-15 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.4654 [ERROR] : EH3 L-15 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.4654 [ERROR] : EH3 L-16 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.4654 [ERROR] : EH3 L-16 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.4826 [ERROR] : EH3 L-18 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.4826 [ERROR] : EH3 L-18 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.6030 [ERROR] : EH3 R-14 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.6111 [ERROR] : EH3 R-14 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.6111 [ERROR] : EH3 R-15 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.6300 [ERROR] : EH3 R-15 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.6388 [ERROR] : EH3 R-16 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.6388 [ERROR] : EH3 R-16 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.6388 [ERROR] : EH3 R-18 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.6557 [ERROR] : EH3 R-18 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:33:25.7032 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。 -2024-10-12 15:33:25.7032 [INFO] : 解析NextSense EH3 CSV 报告完毕! -2024-10-12 15:33:25.7293 [INFO] : 将EH3总结果插入数据库完毕。 -2024-10-12 15:33:25.7293 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-12 15:33:25.7293 [INFO] : EH3数据生成报告功能未启用! -2024-10-12 15:33:25.7293 [INFO] : 数据上传IOT功能未启用! -2024-10-12 15:35:29.8196 [INFO] : 存在EH3 CSV文件,开始解析: -2024-10-12 15:35:29.8196 [INFO] : Copy D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-10-12 15:35:29.8196 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-12 15:35:29.8196 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23085 -2024-10-12 15:35:29.8196 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:WNNBBDEC8RDA23085 -2024-10-12 15:35:29.8196 [INFO] : 在数据库表TTempSaveVIN中删除该VIN:WNNBBDEC8RDA23085 -2024-10-12 15:35:29.8580 [ERROR] : EH3 L-21 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:29.8580 [ERROR] : EH3 L-21 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:29.8580 [ERROR] : EH3 L-22 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:29.8580 [ERROR] : EH3 L-22 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:29.8694 [ERROR] : EH3 L-14 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:29.8694 [ERROR] : EH3 L-14 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:29.8694 [ERROR] : EH3 L-15 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:29.8694 [ERROR] : EH3 L-15 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:29.8850 [ERROR] : EH3 L-16 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:29.8850 [ERROR] : EH3 L-16 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:29.8850 [ERROR] : EH3 L-18 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:29.8850 [ERROR] : EH3 L-18 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:30.0049 [ERROR] : EH3 R-14 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:30.0129 [ERROR] : EH3 R-14 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:30.0129 [ERROR] : EH3 R-15 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:30.0279 [ERROR] : EH3 R-15 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:30.0373 [ERROR] : EH3 R-16 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:30.0373 [ERROR] : EH3 R-16 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:30.0373 [ERROR] : EH3 R-18 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:30.0545 [ERROR] : EH3 R-18 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2024-10-12 15:35:30.0875 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。 -2024-10-12 15:35:30.0875 [INFO] : 解析NextSense EH3 CSV 报告完毕! -2024-10-12 15:35:30.0875 [INFO] : 将EH3总结果插入数据库完毕。 -2024-10-12 15:35:30.0875 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-12 15:35:30.0875 [INFO] : EH3数据生成报告功能未启用! -2024-10-12 15:35:30.0875 [INFO] : 数据上传IOT功能未启用! -2024-10-12 15:37:17.0987 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2024-10-22.log b/Analysis/bin/x64/Debug/logs/2024-10-22.log deleted file mode 100644 index 3a8fff3..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-10-22.log +++ /dev/null @@ -1,32 +0,0 @@ -2024-10-22 10:11:33.2937 [INFO] : --软件Program Main函数开始执行-- -2024-10-22 10:11:33.2937 [INFO] : 加载配置文件——>开始 -2024-10-22 10:11:33.3170 [INFO] : 加载配置文件——>完成 -2024-10-22 10:11:33.3170 [INFO] : Log in using the CLMS authorization. -2024-10-22 10:11:34.9861 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-22 10:11:35.6488 [INFO] : 启动PLC写线程! -2024-10-22 10:11:35.6488 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-22 10:11:35.6488 [INFO] : 连接PLC.... -2024-10-22 10:11:35.6488 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-22 10:11:35.6488 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-22 10:11:36.1538 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-10-22 10:11:36.3181 [INFO] : 显示左侧EH3车身数据界面。 -2024-10-22 10:11:36.4690 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-10-22 10:11:37.6955 [ERROR] : PLC S7连接失败。 -2024-10-22 10:11:37.6955 [ERROR] : 连接PLC失败 -2024-10-22 10:19:20.3929 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-22 11:42:00.4117 [INFO] : --软件Program Main函数开始执行-- -2024-10-22 11:42:00.4117 [INFO] : 加载配置文件——>开始 -2024-10-22 11:42:00.4326 [INFO] : 加载配置文件——>完成 -2024-10-22 11:42:00.4326 [INFO] : Log in using the CLMS authorization. -2024-10-22 11:42:01.9976 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-22 11:42:02.6044 [INFO] : 启动PLC写线程! -2024-10-22 11:42:02.6044 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-22 11:42:02.6044 [INFO] : 连接PLC.... -2024-10-22 11:42:02.6044 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-22 11:42:02.6044 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-22 11:42:03.0922 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-10-22 11:42:03.2706 [INFO] : 显示左侧EH3车身数据界面。 -2024-10-22 11:42:03.4162 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-10-22 11:42:04.6519 [ERROR] : PLC S7连接失败。 -2024-10-22 11:42:04.6519 [ERROR] : 连接PLC失败 -2024-10-22 13:50:01.1628 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2024-10-23.log b/Analysis/bin/x64/Debug/logs/2024-10-23.log deleted file mode 100644 index 3dd2b96..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-10-23.log +++ /dev/null @@ -1,294 +0,0 @@ -2024-10-23 10:04:56.3174 [INFO] : --软件Program Main函数开始执行-- -2024-10-23 10:05:00.3004 [INFO] : 加载配置文件——>开始 -2024-10-23 10:05:00.3167 [INFO] : 加载配置文件——>完成 -2024-10-23 10:05:00.3167 [INFO] : Log in using the CLMS authorization. -2024-10-23 10:05:02.3946 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-23 10:05:03.3208 [INFO] : 启动PLC写线程! -2024-10-23 10:05:03.3208 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-23 10:05:03.3208 [INFO] : 连接PLC.... -2024-10-23 10:05:03.3208 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-23 10:05:03.3208 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-23 10:05:03.8579 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-10-23 10:05:04.0519 [INFO] : 显示左侧EH3车身数据界面。 -2024-10-23 10:05:04.1963 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-10-23 10:05:05.3853 [ERROR] : PLC S7连接失败。 -2024-10-23 10:05:05.3853 [ERROR] : 连接PLC失败 -2024-10-23 10:06:27.7542 [INFO] : 存在EHY CSV文件,开始解析: -2024-10-23 10:06:30.1222 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-10-23 10:06:30.1222 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-23 10:06:30.1261 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23999 -2024-10-23 10:06:30.1261 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-10-23 10:06:30.1261 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-10-23 10:06:36.3555 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2024-10-23 10:06:36.3555 [INFO] : 解析NextSense EHY CSV 报告完毕! -2024-10-23 10:06:36.3804 [INFO] : 将总结果插入数据库完毕。 -2024-10-23 10:06:36.3804 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-23 10:06:36.3804 [INFO] : iCreateReportFlag=0 : EHY数据生成报告功能未启用! -2024-10-23 10:06:36.3804 [INFO] : EHY数据上传IOT功能未启用! -2024-10-23 10:07:56.5082 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-23 10:08:01.0826 [INFO] : --软件Program Main函数开始执行-- -2024-10-23 10:08:01.0826 [INFO] : 加载配置文件——>开始 -2024-10-23 10:08:01.0957 [INFO] : 加载配置文件——>完成 -2024-10-23 10:08:01.0957 [INFO] : Log in using the CLMS authorization. -2024-10-23 10:08:03.2131 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-23 10:08:03.9328 [INFO] : 启动PLC写线程! -2024-10-23 10:08:03.9328 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-23 10:08:03.9328 [INFO] : 连接PLC.... -2024-10-23 10:08:03.9328 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-23 10:08:03.9328 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-23 10:08:04.5510 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-10-23 10:08:04.7347 [INFO] : 显示左侧EH3车身数据界面。 -2024-10-23 10:08:04.8636 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303 -2024-10-23 10:08:06.0531 [ERROR] : PLC S7连接失败。 -2024-10-23 10:08:06.0531 [ERROR] : 连接PLC失败 -2024-10-23 10:09:30.0979 [INFO] : 存在EHY CSV文件,开始解析: -2024-10-23 10:09:30.0979 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-10-23 10:09:30.0979 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-23 10:09:30.0979 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23998 -2024-10-23 10:09:30.0979 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-10-23 10:09:30.0979 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-10-23 10:09:30.5658 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2024-10-23 10:09:30.5658 [INFO] : 解析NextSense EHY CSV 报告完毕! -2024-10-23 10:09:30.5854 [INFO] : 将总结果插入数据库完毕。 -2024-10-23 10:09:30.5854 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-23 10:09:30.5943 [INFO] : 开始生成客户所需要的CSV格式文件: -2024-10-23 10:09:30.5943 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241023100930_LNNBBDEC8RDA23998.csv -2024-10-23 10:09:30.7341 [INFO] : Update To IOT Data Content: {"serno":"20241023100930734","requestData":[{"vin":"LNNBBDEC8RDA23998","model":"EHY","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-23 10:09:30","targetRate":"60.00%","rate":"89.29%","GapList":[{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-01","actualValue":"3.7","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-02","actualValue":"3.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"}]}]} -2024-10-23 10:09:40.7881 [ERROR] : EHY数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时 - 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) - 在 System.Net.HttpWebRequest.GetRequestStream() - 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1266 -2024-10-23 10:09:40.7881 [ERROR] : EHY数据上传IOT失败! -2024-10-23 11:00:37.5378 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-23 13:14:43.3743 [INFO] : --软件Program Main函数开始执行-- -2024-10-23 13:14:43.3743 [INFO] : 加载配置文件——>开始 -2024-10-23 13:14:43.3980 [INFO] : 加载配置文件——>完成 -2024-10-23 13:14:43.3980 [INFO] : Log in using the CLMS authorization. -2024-10-23 13:14:45.3305 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-23 13:14:46.3625 [INFO] : 启动PLC写线程! -2024-10-23 13:14:46.3625 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-23 13:14:46.3625 [INFO] : 连接PLC.... -2024-10-23 13:14:46.3625 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-23 13:14:46.3625 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-23 13:14:48.4154 [ERROR] : PLC S7连接失败。 -2024-10-23 13:14:48.4154 [ERROR] : 连接PLC失败 -2024-10-23 13:15:11.4963 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-23 14:02:03.4498 [INFO] : --软件Program Main函数开始执行-- -2024-10-23 14:02:03.4613 [INFO] : 加载配置文件——>开始 -2024-10-23 14:02:03.4613 [INFO] : 加载配置文件——>完成 -2024-10-23 14:02:03.4613 [INFO] : Log in using the CLMS authorization. -2024-10-23 14:02:05.1381 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-23 14:02:05.7326 [INFO] : 启动PLC写线程! -2024-10-23 14:02:05.7326 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-23 14:02:05.7326 [INFO] : 连接PLC.... -2024-10-23 14:02:05.7326 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-23 14:02:05.7326 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-23 14:02:07.7914 [ERROR] : PLC S7连接失败。 -2024-10-23 14:02:07.7914 [ERROR] : 连接PLC失败 -2024-10-23 14:03:31.3437 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-23 14:20:01.8223 [INFO] : --软件Program Main函数开始执行-- -2024-10-23 14:20:01.8338 [INFO] : 加载配置文件——>开始 -2024-10-23 14:20:01.8475 [INFO] : 加载配置文件——>完成 -2024-10-23 14:20:01.8475 [INFO] : Log in using the CLMS authorization. -2024-10-23 14:20:03.7521 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-23 14:20:04.6498 [INFO] : 启动PLC写线程! -2024-10-23 14:20:04.6498 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-23 14:20:04.6498 [INFO] : 连接PLC.... -2024-10-23 14:20:04.6498 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-23 14:20:04.6498 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-23 14:20:06.7141 [ERROR] : PLC S7连接失败。 -2024-10-23 14:20:06.7141 [ERROR] : 连接PLC失败 -2024-10-23 14:29:31.8066 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-23 14:29:33.1442 [INFO] : --软件Program Main函数开始执行-- -2024-10-23 14:29:33.1442 [INFO] : 加载配置文件——>开始 -2024-10-23 14:29:33.1598 [INFO] : 加载配置文件——>完成 -2024-10-23 14:29:33.1598 [INFO] : Log in using the CLMS authorization. -2024-10-23 14:29:34.8100 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-23 14:29:35.6439 [INFO] : 启动PLC写线程! -2024-10-23 14:29:35.6439 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-23 14:29:35.6439 [INFO] : 连接PLC.... -2024-10-23 14:29:35.6439 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-23 14:29:35.6439 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-23 14:29:37.6987 [ERROR] : PLC S7连接失败。 -2024-10-23 14:29:37.6987 [ERROR] : 连接PLC失败 -2024-10-23 14:31:00.9365 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-23 14:31:07.5510 [INFO] : --软件Program Main函数开始执行-- -2024-10-23 14:31:07.5510 [INFO] : 加载配置文件——>开始 -2024-10-23 14:31:07.5510 [INFO] : 加载配置文件——>完成 -2024-10-23 14:31:07.5510 [INFO] : Log in using the CLMS authorization. -2024-10-23 14:31:09.1709 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-23 14:31:09.9346 [INFO] : 启动PLC写线程! -2024-10-23 14:31:09.9346 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-23 14:31:09.9346 [INFO] : 连接PLC.... -2024-10-23 14:31:09.9346 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-23 14:31:09.9346 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-23 14:31:11.9773 [ERROR] : PLC S7连接失败。 -2024-10-23 14:31:11.9773 [ERROR] : 连接PLC失败 -2024-10-23 14:33:40.9002 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-23 14:36:36.3807 [INFO] : --软件Program Main函数开始执行-- -2024-10-23 14:36:36.3807 [INFO] : 加载配置文件——>开始 -2024-10-23 14:36:36.3807 [INFO] : 加载配置文件——>完成 -2024-10-23 14:36:36.3930 [INFO] : Log in using the CLMS authorization. -2024-10-23 14:36:37.9213 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-23 14:36:38.6950 [INFO] : 启动PLC写线程! -2024-10-23 14:36:38.6950 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-23 14:36:38.6950 [INFO] : 连接PLC.... -2024-10-23 14:36:38.6950 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-23 14:36:38.6950 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-23 14:36:40.7571 [ERROR] : PLC S7连接失败。 -2024-10-23 14:36:40.7571 [ERROR] : 连接PLC失败 -2024-10-23 14:37:57.1822 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-23 14:38:53.7067 [INFO] : --软件Program Main函数开始执行-- -2024-10-23 14:38:53.7185 [INFO] : 加载配置文件——>开始 -2024-10-23 14:38:53.7185 [INFO] : 加载配置文件——>完成 -2024-10-23 14:38:53.7308 [INFO] : Log in using the CLMS authorization. -2024-10-23 14:38:55.6340 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-23 14:38:56.7717 [INFO] : 启动PLC写线程! -2024-10-23 14:38:56.7717 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-23 14:38:56.7717 [INFO] : 连接PLC.... -2024-10-23 14:38:56.7717 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-23 14:38:56.7717 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-23 14:38:58.8738 [ERROR] : PLC S7连接失败。 -2024-10-23 14:38:58.8738 [ERROR] : 连接PLC失败 -2024-10-23 14:41:08.9543 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-23 14:41:12.7458 [INFO] : --软件Program Main函数开始执行-- -2024-10-23 14:41:12.7458 [INFO] : 加载配置文件——>开始 -2024-10-23 14:41:12.7615 [INFO] : 加载配置文件——>完成 -2024-10-23 14:41:12.7615 [INFO] : Log in using the CLMS authorization. -2024-10-23 14:41:14.2639 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-23 14:41:15.0677 [INFO] : 启动PLC写线程! -2024-10-23 14:41:15.0677 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-23 14:41:15.0677 [INFO] : 连接PLC.... -2024-10-23 14:41:15.0677 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-23 14:41:15.0677 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-23 14:41:17.1234 [ERROR] : PLC S7连接失败。 -2024-10-23 14:41:17.1234 [ERROR] : 连接PLC失败 -2024-10-23 14:41:46.0880 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-23 14:45:28.8317 [INFO] : --软件Program Main函数开始执行-- -2024-10-23 14:45:28.8317 [INFO] : 加载配置文件——>开始 -2024-10-23 14:45:28.8464 [INFO] : 加载配置文件——>完成 -2024-10-23 14:45:28.8464 [INFO] : Log in using the CLMS authorization. -2024-10-23 14:45:30.3738 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-23 14:45:31.1593 [INFO] : 启动PLC写线程! -2024-10-23 14:45:31.1593 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-23 14:45:31.1593 [INFO] : 连接PLC.... -2024-10-23 14:45:31.1593 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-23 14:45:31.1593 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-23 14:45:33.2069 [ERROR] : PLC S7连接失败。 -2024-10-23 14:45:33.2069 [ERROR] : 连接PLC失败 -2024-10-23 14:47:11.0158 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-23 16:47:36.2974 [INFO] : --软件Program Main函数开始执行-- -2024-10-23 16:47:36.3106 [INFO] : 加载配置文件——>开始 -2024-10-23 16:47:36.3261 [INFO] : 加载配置文件——>完成 -2024-10-23 16:47:36.3261 [INFO] : Log in using the CLMS authorization. -2024-10-23 16:47:38.3732 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-23 16:47:39.4171 [INFO] : 启动PLC写线程! -2024-10-23 16:47:39.4171 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-23 16:47:39.4171 [INFO] : 连接PLC.... -2024-10-23 16:47:39.4171 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-23 16:47:39.4171 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-23 16:47:41.4666 [ERROR] : PLC S7连接失败。 -2024-10-23 16:47:41.4666 [ERROR] : 连接PLC失败 -2024-10-23 16:49:19.5651 [INFO] : 存在EHY CSV文件,开始解析: -2024-10-23 16:49:19.5651 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-10-23 16:49:19.5701 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-23 16:49:19.5701 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23997 -2024-10-23 16:49:19.5701 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-10-23 16:49:19.5701 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-10-23 16:49:19.8688 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2024-10-23 16:49:19.8688 [INFO] : 解析NextSense EHY CSV 报告完毕! -2024-10-23 16:49:19.8926 [INFO] : 将总结果插入数据库完毕。 -2024-10-23 16:49:19.8926 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-23 16:49:19.8976 [INFO] : LNNBBDEC8RDA23997 EHY开始计算极差:============ -2024-10-23 16:49:19.9197 [INFO] : LNNBBDEC8RDA23997 EHY计算极差完成,并插入数据库:============ -2024-10-23 16:49:19.9557 [INFO] : 开始生成客户所需要的CSV格式文件: -2024-10-23 16:49:19.9557 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241023164919_LNNBBDEC8RDA23997.csv -2024-10-23 16:49:20.0835 [INFO] : Update To IOT Data Content: {"serno":"20241023164920083","requestData":[{"vin":"LNNBBDEC8RDA23997","model":"EHY","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-23 16:49:19","targetRate":"60.00%","rate":"89.29%","GapList":[{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-01","actualValue":"3.7","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-02","actualValue":"3.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD01L","actualValue":"0.3","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD07","actualValue":"0.2","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]} -2024-10-23 16:49:30.1367 [ERROR] : EHY数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时 - 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) - 在 System.Net.HttpWebRequest.GetRequestStream() - 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1396 -2024-10-23 16:49:30.1367 [ERROR] : EHY数据上传IOT失败! -2024-10-23 16:55:26.0299 [INFO] : 存在EHY CSV文件,开始解析: -2024-10-23 16:55:26.0299 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-10-23 16:55:26.0299 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-23 16:55:26.0299 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23996 -2024-10-23 16:55:26.0299 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-10-23 16:55:26.0299 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-10-23 16:55:26.2711 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2024-10-23 16:55:26.2711 [INFO] : 解析NextSense EHY CSV 报告完毕! -2024-10-23 16:55:26.2711 [INFO] : 将总结果插入数据库完毕。 -2024-10-23 16:55:26.2711 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-23 16:55:26.2805 [INFO] : LNNBBDEC8RDA23996 EHY开始计算极差:============ -2024-10-23 16:55:26.2961 [INFO] : LNNBBDEC8RDA23996 EHY计算极差完成,并插入数据库:============ -2024-10-23 16:55:26.3266 [INFO] : 开始生成客户所需要的CSV格式文件: -2024-10-23 16:55:26.3266 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241023165526_LNNBBDEC8RDA23996.csv -2024-10-23 16:55:26.3266 [INFO] : Update To IOT Data Content: {"serno":"20241023165526328","requestData":[{"vin":"LNNBBDEC8RDA23996","model":"EHY","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-23 16:55:26","targetRate":"60.00%","rate":"89.09%","GapList":[{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-01","actualValue":"","controlLine":"-1.7/0.3","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-01","actualValue":"3.7","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-02","actualValue":"3.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD01L","actualValue":"0.3","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD07","actualValue":"0.2","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]} -2024-10-23 16:55:36.3605 [ERROR] : EHY数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时 - 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) - 在 System.Net.HttpWebRequest.GetRequestStream() - 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1396 -2024-10-23 16:55:36.3605 [ERROR] : EHY数据上传IOT失败! -2024-10-23 16:56:48.3579 [INFO] : 存在EHY CSV文件,开始解析: -2024-10-23 16:56:48.3579 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-10-23 16:56:48.3579 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-23 16:56:48.3579 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23995 -2024-10-23 16:56:48.3579 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-10-23 16:56:48.3579 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-10-23 16:56:48.6501 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2024-10-23 16:56:48.6511 [INFO] : 解析NextSense EHY CSV 报告完毕! -2024-10-23 16:56:48.6511 [INFO] : 将总结果插入数据库完毕。 -2024-10-23 16:56:48.6511 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-23 16:56:48.6511 [INFO] : LNNBBDEC8RDA23995 EHY开始计算极差:============ -2024-10-23 16:56:48.6511 [INFO] : L-01G G 查询的测量值为inv -2024-10-23 16:56:48.6725 [INFO] : L-01G G 查询的测量值为inv -2024-10-23 16:56:48.6725 [INFO] : LNNBBDEC8RDA23995 EHY计算极差完成,并插入数据库:============ -2024-10-23 16:56:48.7121 [INFO] : 开始生成客户所需要的CSV格式文件: -2024-10-23 16:56:48.7121 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241023165648_LNNBBDEC8RDA23995.csv -2024-10-23 16:56:48.7141 [INFO] : Update To IOT Data Content: {"serno":"20241023165648714","requestData":[{"vin":"LNNBBDEC8RDA23995","model":"EHY","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-23 16:56:48","targetRate":"60.00%","rate":"89.09%","GapList":[{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-01","actualValue":"","controlLine":"2.4/4.2","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-02","actualValue":"3.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD01L","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD07","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]} -2024-10-23 16:56:58.7366 [ERROR] : EHY数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时 - 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) - 在 System.Net.HttpWebRequest.GetRequestStream() - 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1396 -2024-10-23 16:56:58.7366 [ERROR] : EHY数据上传IOT失败! -2024-10-23 16:58:42.4020 [INFO] : 存在EH3 CSV文件,开始解析: -2024-10-23 16:58:42.4020 [INFO] : Copy D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-10-23 16:58:42.4020 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-23 16:58:42.4020 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA22999 -2024-10-23 16:58:42.4020 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-10-23 16:58:42.4020 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-10-23 16:58:42.6358 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。 -2024-10-23 16:58:42.6358 [INFO] : 解析NextSense EH3 CSV 报告完毕! -2024-10-23 16:58:42.6358 [INFO] : 将EH3总结果插入数据库完毕。 -2024-10-23 16:58:42.6358 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-23 16:58:42.6358 [INFO] : LNNBBDEC8RDA22999 EH3开始计算极差:============ -2024-10-23 16:58:42.6358 [INFO] : L-01G G 查询的测量值为inv -2024-10-23 16:58:42.6524 [INFO] : L-01G G 查询的测量值为inv -2024-10-23 16:58:42.6524 [INFO] : LNNBBDEC8RDA22999 EH3计算极差完成,并插入数据库:============ -2024-10-23 16:58:42.6817 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241023165842_LNNBBDEC8RDA22999.csv -2024-10-23 16:58:42.6817 [INFO] : Update To IOT Data Content: {"serno":"20241023165842682","requestData":[{"vin":"LNNBBDEC8RDA22999","model":"EH3","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-23 16:58:42","targetRate":"60.00%","rate":"89.09%","GapList":[{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-01","actualValue":"","controlLine":"2.4/4.2","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-02","actualValue":"2.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD01L","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD07","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]} -2024-10-23 16:58:52.7129 [ERROR] : EH3数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时 - 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) - 在 System.Net.HttpWebRequest.GetRequestStream() - 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1396 -2024-10-23 16:58:52.7129 [ERROR] : EH3数据上传IOT失败! -2024-10-23 16:59:51.4632 [INFO] : 存在EH3 CSV文件,开始解析: -2024-10-23 16:59:51.4632 [INFO] : Copy D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-10-23 16:59:51.4632 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-23 16:59:51.4632 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA22998 -2024-10-23 16:59:51.4632 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-10-23 16:59:51.4632 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-10-23 16:59:51.7086 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。 -2024-10-23 16:59:51.7086 [INFO] : 解析NextSense EH3 CSV 报告完毕! -2024-10-23 16:59:51.7152 [INFO] : 将EH3总结果插入数据库完毕。 -2024-10-23 16:59:51.7152 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-23 16:59:51.7152 [INFO] : LNNBBDEC8RDA22998 EH3开始计算极差:============ -2024-10-23 16:59:51.7345 [INFO] : LNNBBDEC8RDA22998 EH3计算极差完成,并插入数据库:============ -2024-10-23 16:59:51.7581 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241023165951_LNNBBDEC8RDA22998.csv -2024-10-23 16:59:51.7581 [INFO] : Update To IOT Data Content: {"serno":"20241023165951759","requestData":[{"vin":"LNNBBDEC8RDA22998","model":"EH3","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-23 16:59:51","targetRate":"60.00%","rate":"89.29%","GapList":[{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-01","actualValue":"2.6","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-02","actualValue":"2.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD01L","actualValue":"1.3","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD07","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]} -2024-10-23 17:00:01.7805 [ERROR] : EH3数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时 - 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) - 在 System.Net.HttpWebRequest.GetRequestStream() - 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1396 -2024-10-23 17:00:01.7805 [ERROR] : EH3数据上传IOT失败! -2024-10-23 17:01:05.8332 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2024-10-24.log b/Analysis/bin/x64/Debug/logs/2024-10-24.log deleted file mode 100644 index fa70061..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-10-24.log +++ /dev/null @@ -1,32 +0,0 @@ -2024-10-24 14:19:09.8451 [INFO] : --软件Program Main函数开始执行-- -2024-10-24 14:19:09.8558 [INFO] : 加载配置文件——>开始 -2024-10-24 14:19:09.8558 [INFO] : 加载配置文件——>完成 -2024-10-24 14:19:09.8558 [INFO] : Log in using the CLMS authorization. -2024-10-24 14:19:11.7946 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-24 14:19:12.8062 [INFO] : 启动PLC写线程! -2024-10-24 14:19:12.8062 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-24 14:19:12.8062 [INFO] : 连接PLC.... -2024-10-24 14:19:12.8082 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-24 14:19:12.8082 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-24 14:19:13.3777 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-24 14:19:13.3885 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-24 14:19:13.5659 [INFO] : 显示左侧EHY车身数据界面。 -2024-10-24 14:19:14.8698 [ERROR] : PLC S7连接失败。 -2024-10-24 14:19:14.8788 [ERROR] : 连接PLC失败 -2024-10-24 14:21:12.4495 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-24 14:31:31.8417 [INFO] : --软件Program Main函数开始执行-- -2024-10-24 14:31:31.8551 [INFO] : 加载配置文件——>开始 -2024-10-24 14:31:31.8551 [INFO] : 加载配置文件——>完成 -2024-10-24 14:31:31.8551 [INFO] : Log in using the CLMS authorization. -2024-10-24 14:31:33.7788 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-24 14:31:34.2886 [INFO] : 启动PLC写线程! -2024-10-24 14:31:34.2886 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-24 14:31:34.2886 [INFO] : 连接PLC.... -2024-10-24 14:31:34.2886 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-24 14:31:34.2886 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-24 14:31:34.9032 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-24 14:31:35.1371 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-24 14:31:35.2962 [INFO] : 显示左侧EHY车身数据界面。 -2024-10-24 14:31:36.3452 [ERROR] : PLC S7连接失败。 -2024-10-24 14:31:36.3452 [ERROR] : 连接PLC失败 -2024-10-24 14:33:43.0475 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2024-10-25.log b/Analysis/bin/x64/Debug/logs/2024-10-25.log deleted file mode 100644 index f803a96..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-10-25.log +++ /dev/null @@ -1,48 +0,0 @@ -2024-10-25 08:54:53.4485 [INFO] : --软件Program Main函数开始执行-- -2024-10-25 08:54:53.4605 [INFO] : 加载配置文件——>开始 -2024-10-25 08:54:53.4759 [INFO] : 加载配置文件——>完成 -2024-10-25 08:54:53.4759 [INFO] : Log in using the CLMS authorization. -2024-10-25 08:54:55.4776 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-25 08:54:56.4966 [INFO] : 启动PLC写线程! -2024-10-25 08:54:56.4966 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-25 08:54:56.4966 [INFO] : 连接PLC.... -2024-10-25 08:54:56.4966 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-25 08:54:56.4966 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-25 08:54:57.0338 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-25 08:54:57.0566 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-25 08:54:57.2322 [INFO] : 显示左侧EHY车身数据界面。 -2024-10-25 08:54:58.6023 [ERROR] : PLC S7连接失败。 -2024-10-25 08:54:58.6023 [ERROR] : 连接PLC失败 -2024-10-25 08:58:15.7830 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-25 10:24:13.4677 [INFO] : --软件Program Main函数开始执行-- -2024-10-25 10:24:13.4677 [INFO] : 加载配置文件——>开始 -2024-10-25 10:24:13.4924 [INFO] : 加载配置文件——>完成 -2024-10-25 10:24:13.4924 [INFO] : Log in using the CLMS authorization. -2024-10-25 10:24:15.3397 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-25 10:24:16.0226 [INFO] : 启动PLC写线程! -2024-10-25 10:24:16.0226 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-25 10:24:16.0226 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-25 10:24:16.0226 [INFO] : 连接PLC.... -2024-10-25 10:24:16.0226 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-25 10:24:16.5304 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-25 10:24:16.7679 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-25 10:24:16.9615 [INFO] : 显示左侧EHY车身数据界面。 -2024-10-25 10:24:18.0774 [ERROR] : PLC S7连接失败。 -2024-10-25 10:24:18.0774 [ERROR] : 连接PLC失败 -2024-10-25 10:29:12.0287 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-25 21:10:49.2901 [INFO] : --软件Program Main函数开始执行-- -2024-10-25 21:10:49.2901 [INFO] : 加载配置文件——>开始 -2024-10-25 21:10:49.3134 [INFO] : 加载配置文件——>完成 -2024-10-25 21:10:49.3134 [INFO] : Log in using the CLMS authorization. -2024-10-25 21:10:51.9005 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-25 21:10:53.0414 [INFO] : 启动PLC写线程! -2024-10-25 21:10:53.0414 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-25 21:10:53.0414 [INFO] : 连接PLC.... -2024-10-25 21:10:53.0414 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-25 21:10:53.0414 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-25 21:10:53.2467 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-25 21:10:53.8082 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-25 21:10:54.1766 [INFO] : 显示左侧EHY车身数据界面。 -2024-10-25 21:10:55.0985 [ERROR] : PLC S7连接失败。 -2024-10-25 21:10:55.1033 [ERROR] : 连接PLC失败 -2024-10-25 21:13:13.5219 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2024-10-28.log b/Analysis/bin/x64/Debug/logs/2024-10-28.log deleted file mode 100644 index 011a1c5..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-10-28.log +++ /dev/null @@ -1,131 +0,0 @@ -2024-10-28 11:09:57.9723 [INFO] : --软件Program Main函数开始执行-- -2024-10-28 11:09:57.9723 [INFO] : 加载配置文件——>开始 -2024-10-28 11:09:57.9948 [INFO] : 加载配置文件——>完成 -2024-10-28 11:09:57.9948 [INFO] : Log in using the CLMS authorization. -2024-10-28 11:09:59.9602 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-28 11:10:00.9633 [INFO] : 启动PLC写线程! -2024-10-28 11:10:00.9633 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-28 11:10:00.9633 [INFO] : 连接PLC.... -2024-10-28 11:10:00.9633 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-28 11:10:00.9633 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-28 11:10:01.4599 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-28 11:10:01.4599 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-28 11:10:01.6433 [INFO] : 显示左侧EHY车身数据界面。 -2024-10-28 11:10:03.0548 [ERROR] : PLC S7连接失败。 -2024-10-28 11:10:03.0548 [ERROR] : 连接PLC失败 -2024-10-28 11:34:00.3505 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-28 11:39:22.9612 [INFO] : --软件Program Main函数开始执行-- -2024-10-28 11:39:22.9732 [INFO] : 加载配置文件——>开始 -2024-10-28 11:39:22.9732 [INFO] : 加载配置文件——>完成 -2024-10-28 11:39:22.9732 [INFO] : Log in using the CLMS authorization. -2024-10-28 11:39:24.5599 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-28 11:39:24.9829 [INFO] : 启动PLC写线程! -2024-10-28 11:39:24.9829 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-28 11:39:24.9829 [INFO] : 连接PLC.... -2024-10-28 11:39:24.9829 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-28 11:39:24.9829 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-28 11:39:25.6191 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-28 11:39:25.8262 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-28 11:39:26.0277 [INFO] : 显示左侧EHY车身数据界面。 -2024-10-28 11:39:27.0385 [ERROR] : PLC S7连接失败。 -2024-10-28 11:39:27.0385 [ERROR] : 连接PLC失败 -2024-10-28 11:40:59.6375 [INFO] : 存在EHY CSV文件,开始解析: -2024-10-28 11:40:59.6409 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-10-28 11:40:59.6409 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-28 11:40:59.6409 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23989 -2024-10-28 11:40:59.6409 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-10-28 11:40:59.6409 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-10-28 11:40:59.9067 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2024-10-28 11:40:59.9067 [INFO] : 解析NextSense EHY CSV 报告完毕! -2024-10-28 11:40:59.9067 [INFO] : LNNBBDEC8RDA23989 EHY开始计算极差:============ -2024-10-28 11:40:59.9305 [INFO] : LNNBBDEC8RDA23989 EHY计算极差完成,并插入数据库:============ -2024-10-28 11:41:00.0671 [INFO] : 将总结果插入数据库完毕。 -2024-10-28 11:41:00.0671 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-28 11:41:00.0671 [INFO] : 开始生成客户所需要的CSV格式文件: -2024-10-28 11:41:00.0671 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241028114100_LNNBBDEC8RDA23989.csv -2024-10-28 11:41:00.2120 [INFO] : Update To IOT Data Content: {"serno":"20241028114100211","requestData":[{"vin":"LNNBBDEC8RDA23989","model":"EHY","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-28 11:40:59","targetRate":"60.00%","rate":"89.29%","GapList":[{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-01","actualValue":"2.6","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-02","actualValue":"2.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD01L","actualValue":"1.3","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD07","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]} -2024-10-28 11:41:10.2676 [ERROR] : EHY数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时 - 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) - 在 System.Net.HttpWebRequest.GetRequestStream() - 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1449 -2024-10-28 11:41:10.2676 [ERROR] : EHY数据上传IOT失败! -2024-10-28 11:44:14.3919 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-28 11:45:28.7062 [INFO] : --软件Program Main函数开始执行-- -2024-10-28 11:45:28.7062 [INFO] : 加载配置文件——>开始 -2024-10-28 11:45:28.7266 [INFO] : 加载配置文件——>完成 -2024-10-28 11:45:28.7266 [INFO] : Log in using the CLMS authorization. -2024-10-28 11:45:30.6378 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-28 11:45:31.5423 [INFO] : 启动PLC写线程! -2024-10-28 11:45:31.5423 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-28 11:45:31.5423 [INFO] : 连接PLC.... -2024-10-28 11:45:31.5423 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-28 11:45:31.5423 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-28 11:45:32.0060 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-28 11:45:32.0615 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-28 11:45:32.2256 [INFO] : 显示左侧EHY车身数据界面。 -2024-10-28 11:45:33.6410 [ERROR] : PLC S7连接失败。 -2024-10-28 11:45:33.6410 [ERROR] : 连接PLC失败 -2024-10-28 11:45:50.1109 [INFO] : 存在EHY CSV文件,开始解析: -2024-10-28 11:45:50.1109 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-10-28 11:45:50.1109 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-28 11:45:50.1109 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23988 -2024-10-28 11:45:50.1109 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-10-28 11:45:50.1109 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-10-28 11:45:50.5023 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2024-10-28 11:45:50.5023 [INFO] : 解析NextSense EHY CSV 报告完毕! -2024-10-28 11:45:50.5023 [INFO] : LNNBBDEC8RDA23988 EHY开始计算极差:============ -2024-10-28 11:45:50.5288 [INFO] : LNNBBDEC8RDA23988 EHY计算极差完成,并插入数据库:============ -2024-10-28 11:45:50.6315 [INFO] : 计算合格率的时:包含极差计算项! -2024-10-28 11:45:50.6486 [INFO] : 将总结果插入数据库完毕。 -2024-10-28 11:45:50.6486 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-28 11:45:50.6486 [INFO] : 开始生成客户所需要的CSV格式文件: -2024-10-28 11:45:50.6486 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241028114550_LNNBBDEC8RDA23988.csv -2024-10-28 11:45:50.6486 [INFO] : EHY数据上传IOT功能未启用! -2024-10-28 11:51:09.3510 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-28 13:04:32.5072 [INFO] : --软件Program Main函数开始执行-- -2024-10-28 13:04:32.5072 [INFO] : 加载配置文件——>开始 -2024-10-28 13:04:32.5406 [INFO] : 加载配置文件——>完成 -2024-10-28 13:04:32.5406 [INFO] : Log in using the CLMS authorization. -2024-10-28 13:04:35.2191 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-28 13:04:36.2499 [INFO] : 启动PLC写线程! -2024-10-28 13:04:36.2499 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-28 13:04:36.2499 [INFO] : 连接PLC.... -2024-10-28 13:04:36.2499 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-28 13:04:36.2499 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-28 13:04:36.9419 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-28 13:04:36.9569 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-28 13:04:37.1866 [INFO] : 显示左侧EHY车身数据界面。 -2024-10-28 13:04:38.3876 [ERROR] : PLC S7连接失败。 -2024-10-28 13:04:38.5630 [ERROR] : 连接PLC失败 -2024-10-28 13:04:54.8953 [INFO] : 存在EHY CSV文件,开始解析: -2024-10-28 13:04:54.8994 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-10-28 13:04:54.8994 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-28 13:04:54.8994 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23986 -2024-10-28 13:04:54.9152 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-10-28 13:04:54.9152 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-10-28 13:04:55.2717 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2024-10-28 13:04:55.2717 [INFO] : 解析NextSense EHY CSV 报告完毕! -2024-10-28 13:04:55.2717 [INFO] : LNNBBDEC8RDA23986 EHY开始计算极差:============ -2024-10-28 13:04:55.3138 [INFO] : LNNBBDEC8RDA23986 EHY计算极差完成,并插入数据库:============ -2024-10-28 13:04:55.6991 [INFO] : 计算合格率的时:包含极差计算项! -2024-10-28 13:04:55.7237 [INFO] : 将总结果插入数据库完毕。 -2024-10-28 13:04:55.7264 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-28 13:04:55.7264 [INFO] : 开始生成客户所需要的CSV格式文件: -2024-10-28 13:04:55.7264 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241028130455_LNNBBDEC8RDA23986.csv -2024-10-28 13:04:55.7264 [INFO] : EHY数据上传IOT功能未启用! -2024-10-28 13:06:51.7277 [INFO] : 存在EHY CSV文件,开始解析: -2024-10-28 13:06:51.7277 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-10-28 13:06:51.7277 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-28 13:06:51.7277 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23985 -2024-10-28 13:06:51.7277 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-10-28 13:06:51.7277 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-10-28 13:06:52.0731 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2024-10-28 13:06:52.0731 [INFO] : 解析NextSense EHY CSV 报告完毕! -2024-10-28 13:06:52.0731 [INFO] : LNNBBDEC8RDA23985 EHY开始计算极差:============ -2024-10-28 13:06:52.1132 [INFO] : LNNBBDEC8RDA23985 EHY计算极差完成,并插入数据库:============ -2024-10-28 13:06:52.2336 [INFO] : 将总结果插入数据库完毕。 -2024-10-28 13:06:52.2336 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-28 13:06:52.2432 [INFO] : 开始生成客户所需要的CSV格式文件: -2024-10-28 13:06:52.2432 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241028130652_LNNBBDEC8RDA23985.csv -2024-10-28 13:06:52.2432 [INFO] : EHY数据上传IOT功能未启用! -2024-10-28 13:07:22.3402 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2024-10-29.log b/Analysis/bin/x64/Debug/logs/2024-10-29.log deleted file mode 100644 index 63ca56c..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-10-29.log +++ /dev/null @@ -1,15 +0,0 @@ -2024-10-29 08:39:25.7460 [INFO] : --软件Program Main函数开始执行-- -2024-10-29 08:39:25.7604 [INFO] : 加载配置文件——>开始 -2024-10-29 08:39:25.7604 [INFO] : 加载配置文件——>完成 -2024-10-29 08:39:25.7604 [INFO] : Log in using the CLMS authorization. -2024-10-29 08:39:27.8604 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-29 08:39:28.7505 [INFO] : 启动PLC写线程! -2024-10-29 08:39:28.7505 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-29 08:39:28.7505 [INFO] : 连接PLC.... -2024-10-29 08:39:28.7505 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-29 08:39:28.7505 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-29 08:39:29.2731 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-29 08:39:29.2731 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-29 08:39:29.4676 [INFO] : 显示左侧EHY车身数据界面。 -2024-10-29 08:39:30.8631 [ERROR] : PLC S7连接失败。 -2024-10-29 08:39:30.8631 [ERROR] : 连接PLC失败 diff --git a/Analysis/bin/x64/Debug/logs/2024-10-30.log b/Analysis/bin/x64/Debug/logs/2024-10-30.log deleted file mode 100644 index 7f71f75..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-10-30.log +++ /dev/null @@ -1,68 +0,0 @@ -2024-10-30 19:15:25.9273 [INFO] : --软件Program Main函数开始执行-- -2024-10-30 19:15:25.9406 [INFO] : 加载配置文件——>开始 -2024-10-30 19:15:25.9599 [INFO] : 加载配置文件——>完成 -2024-10-30 19:15:25.9599 [INFO] : Log in using the CLMS authorization. -2024-10-30 19:15:28.5359 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-30 19:15:29.8510 [INFO] : 启动PLC写线程! -2024-10-30 19:15:29.8510 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-30 19:15:29.8510 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-30 19:15:29.8510 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-30 19:15:29.8510 [INFO] : 连接PLC.... -2024-10-30 19:15:30.8794 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-30 19:15:30.8899 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-30 19:15:31.1795 [INFO] : 显示左侧EHY车身数据界面。 -2024-10-30 19:15:31.9943 [ERROR] : PLC S7连接失败。 -2024-10-30 19:15:31.9943 [ERROR] : 连接PLC失败 -2024-10-30 19:41:03.5489 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-30 19:41:09.2521 [INFO] : --软件Program Main函数开始执行-- -2024-10-30 19:41:09.3190 [INFO] : 加载配置文件——>开始 -2024-10-30 19:41:09.3374 [INFO] : 加载配置文件——>完成 -2024-10-30 19:41:09.3419 [INFO] : Log in using the CLMS authorization. -2024-10-30 19:41:12.7135 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-30 19:41:13.9867 [INFO] : 启动PLC写线程! -2024-10-30 19:41:13.9867 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-30 19:41:13.9867 [INFO] : 连接PLC.... -2024-10-30 19:41:13.9867 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-30 19:41:13.9867 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-30 19:41:14.5559 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-30 19:41:14.5595 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-30 19:41:14.8776 [INFO] : 显示左侧EHY车身数据界面。 -2024-10-30 19:41:16.1479 [ERROR] : PLC S7连接失败。 -2024-10-30 19:41:16.1479 [ERROR] : 连接PLC失败 -2024-10-30 19:42:16.2455 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-10-30 19:42:24.9076 [INFO] : --软件Program Main函数开始执行-- -2024-10-30 19:42:24.9318 [INFO] : 加载配置文件——>开始 -2024-10-30 19:42:24.9375 [INFO] : 加载配置文件——>完成 -2024-10-30 19:42:24.9375 [INFO] : Log in using the CLMS authorization. -2024-10-30 19:42:27.6564 [INFO] : 进入显示车身模式!显示车身界面。 -2024-10-30 19:42:28.4533 [INFO] : 启动PLC写线程! -2024-10-30 19:42:28.4533 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-10-30 19:42:28.4533 [INFO] : 连接PLC.... -2024-10-30 19:42:28.4901 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-10-30 19:42:28.4901 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-10-30 19:42:29.3068 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-30 19:42:29.3448 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-10-30 19:42:29.6262 [INFO] : 显示左侧EHY车身数据界面。 -2024-10-30 19:42:30.5471 [ERROR] : PLC S7连接失败。 -2024-10-30 19:42:30.5471 [ERROR] : 连接PLC失败 -2024-10-30 19:42:41.4254 [INFO] : 存在EHY CSV文件,开始解析: -2024-10-30 19:42:41.4254 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-10-30 19:42:41.4254 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-30 19:42:41.4349 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23981 -2024-10-30 19:42:41.4349 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-10-30 19:42:41.4349 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-10-30 19:42:41.8289 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2024-10-30 19:42:41.8289 [INFO] : 解析NextSense EHY CSV 报告完毕! -2024-10-30 19:42:41.8289 [INFO] : LNNBBDEC8RDA23981 EHY开始计算极差:============ -2024-10-30 19:42:41.8822 [INFO] : LNNBBDEC8RDA23981 EHY计算极差完成,并插入数据库:============ -2024-10-30 19:42:42.3510 [INFO] : 计算合格率的时:包含极差计算项! -2024-10-30 19:42:42.3744 [INFO] : 将总结果插入数据库完毕。 -2024-10-30 19:42:42.3744 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-10-30 19:42:42.3744 [INFO] : 开始生成客户所需要的CSV格式文件: -2024-10-30 19:42:42.3744 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241030194242_LNNBBDEC8RDA23981.csv -2024-10-30 19:46:30.5684 [INFO] : Update To IOT Data Content: {"serno":"20241030194630568","requestData":[{"vin":"LNNBBDEC8RDA23981","model":"EHY","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-30 19:42:41","targetRate":"60.00%","rate":"87.84%","GapList":[{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-01","actualValue":"2.6","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-02","actualValue":"2.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD01L","actualValue":"1.3","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD07","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]} -2024-10-30 19:46:40.7087 [ERROR] : EHY数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时 - 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) - 在 System.Net.HttpWebRequest.GetRequestStream() - 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1488 -2024-10-30 19:46:40.7087 [ERROR] : EHY数据上传IOT失败! diff --git a/Analysis/bin/x64/Debug/logs/2024-11-04.log b/Analysis/bin/x64/Debug/logs/2024-11-04.log deleted file mode 100644 index 3840fb8..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-11-04.log +++ /dev/null @@ -1,40 +0,0 @@ -2024-11-04 13:57:14.4424 [INFO] : --软件Program Main函数开始执行-- -2024-11-04 13:57:14.4534 [INFO] : 加载配置文件——>开始 -2024-11-04 13:57:14.4534 [INFO] : 加载配置文件——>完成 -2024-11-04 13:57:14.4645 [INFO] : Log in using the CLMS authorization. -2024-11-04 13:57:16.3121 [INFO] : 进入显示车身模式!显示车身界面。 -2024-11-04 13:57:17.1323 [INFO] : 启动PLC写线程! -2024-11-04 13:57:17.1323 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-11-04 13:57:17.1323 [INFO] : 连接PLC.... -2024-11-04 13:57:17.1323 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-11-04 13:57:17.1370 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-11-04 13:57:17.6566 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-11-04 13:57:17.6787 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-11-04 13:57:17.8484 [INFO] : 显示左侧EHY车身数据界面。 -2024-11-04 13:57:19.2413 [ERROR] : PLC S7连接失败。 -2024-11-04 13:57:19.2413 [ERROR] : 连接PLC失败 -2024-11-04 13:58:33.2828 [INFO] : 存在EHY CSV文件,开始解析: -2024-11-04 13:58:33.2828 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-11-04 13:58:33.2828 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv -2024-11-04 13:58:33.2828 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23979 -2024-11-04 13:58:33.2921 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-11-04 13:58:33.2921 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-11-04 13:58:33.6369 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2024-11-04 13:58:33.6369 [INFO] : 解析NextSense EHY CSV 报告完毕! -2024-11-04 13:58:33.6369 [INFO] : LNNBBDEC8RDA23979 EHY开始计算极差:============ -2024-11-04 13:58:33.6627 [INFO] : LNNBBDEC8RDA23979 EHY计算极差完成,并插入数据库:============ -2024-11-04 13:58:33.9819 [INFO] : 计算合格率的时:包含极差计算项! -2024-11-04 13:58:34.0019 [INFO] : 将总结果插入数据库完毕。 -2024-11-04 13:58:34.0019 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-11-04 13:58:34.0019 [INFO] : 开始生成客户所需要的CSV格式文件: -2024-11-04 13:58:34.0019 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241104135834_LNNBBDEC8RDA23979.csv -2024-11-04 13:58:34.1311 [INFO] : Update To IOT Data Content: {"serno":"20241104135834131","requestData":[{"vin":"LNNBBDEC8RDA23979","model":"EHY","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-11-04 13:58:33","targetRate":"60.00%","rate":"87.84%","GapList":[{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-01","actualValue":"2.6","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-02","actualValue":"2.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD01L","actualValue":"1.3","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD07","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]} -2024-11-04 13:58:44.1834 [ERROR] : EHY数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时 - 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) - 在 System.Net.HttpWebRequest.GetRequestStream() - 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1488 -2024-11-04 13:58:44.1834 [ERROR] : EHY数据上传IOT失败! -2024-11-04 14:01:05.2871 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-11-04 14:01:05.4598 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-11-04 14:01:05.6160 [INFO] : 显示右侧EHY车身数据界面。 -2024-11-04 14:02:03.7890 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2024-11-25.log b/Analysis/bin/x64/Debug/logs/2024-11-25.log deleted file mode 100644 index d74aa14..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-11-25.log +++ /dev/null @@ -1,37 +0,0 @@ -2024-11-25 18:52:55.4032 [INFO] : --软件Program Main函数开始执行-- -2024-11-25 18:52:55.4032 [INFO] : 加载配置文件——>开始 -2024-11-25 18:52:55.4295 [INFO] : 加载配置文件——>完成 -2024-11-25 18:52:55.4295 [INFO] : Log in using the CLMS authorization. -2024-11-25 18:52:59.0483 [INFO] : 进入显示车身模式!显示车身界面。 -2024-11-25 18:53:00.0579 [INFO] : 启动PLC写线程! -2024-11-25 18:53:00.0579 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-11-25 18:53:00.0579 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-11-25 18:53:00.0579 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-11-25 18:53:00.0579 [INFO] : 连接PLC.... -2024-11-25 18:53:00.1609 [ERROR] : PLC S7连接失败。 -2024-11-25 18:53:00.3116 [ERROR] : 连接PLC失败 -2024-11-25 18:53:00.7807 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-11-25 18:53:00.8142 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-11-25 18:53:01.0531 [INFO] : 显示右侧EHY车身数据界面。 -2024-11-25 19:03:05.8190 [INFO] : 存在EH3 CSV文件,开始解析: -2024-11-25 19:03:05.8190 [INFO] : Copy D:\cherytestEH3\CheryEH3_20241125_163248.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEH3_20241125_163248.csv Done. 备份完成 -2024-11-25 19:03:05.8230 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\CheryEH3_20241125_163248.csv -2024-11-25 19:03:05.8230 [INFO] : 解析出NextSense CSV中的VIN为:NNACDEC6RDA37462 -2024-11-25 19:03:05.8230 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-11-25 19:03:05.8230 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-11-25 19:03:06.2483 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。 -2024-11-25 19:03:06.2483 [INFO] : 解析NextSense EH3 CSV 报告完毕! -2024-11-25 19:03:06.2483 [INFO] : LNNACDEC6RDA37462 EH3开始计算极差:============ -2024-11-25 19:03:06.2802 [INFO] : L-18G G 查询的测量值为inv -2024-11-25 19:03:06.2802 [INFO] : LNNACDEC6RDA37462 EH3计算极差完成,并插入数据库:============ -2024-11-25 19:03:06.8161 [INFO] : 计算合格率的时:包含极差计算项! -2024-11-25 19:03:06.8484 [INFO] : 将EH3总结果插入数据库完毕。 -2024-11-25 19:03:06.8484 [INFO] : 全部插入解析完毕,删除文件:CheryEH3_20241125_163248.csv -2024-11-25 19:03:06.8590 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241125190306_LNNACDEC6RDA37462.csv -2024-11-25 19:03:07.0013 [INFO] : Update To IOT Data Content: {"serno":"20241125190307001","requestData":[{"vin":"LNNACDEC6RDA37462","model":"EH3","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-11-25 19:03:06","targetRate":"60.00%","rate":"82.19%","GapList":[{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-01","actualValue":"-1.2","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-01","actualValue":"3.7","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-02","actualValue":"-1.8","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-02","actualValue":"3.2","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-03","actualValue":"-1.2","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-03","actualValue":"3.2","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-04","actualValue":"-0.0","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-04","actualValue":"2.7","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-10","actualValue":"3.6","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-08","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-12","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-12","actualValue":"3.6","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-13","actualValue":"0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-13","actualValue":"3.5","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-21","actualValue":"-0.6","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-21","actualValue":"3.0","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-22","actualValue":"0.3","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-22","actualValue":"1.4","controlLine":"1.8/2.8","measurementResult":"NG"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-14","actualValue":"-1.3","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-14","actualValue":"2.3","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-15","actualValue":"-0.8","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-15","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-16","actualValue":"-1.6","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-18","actualValue":"-2.3","controlLine":"-2.7/-0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-18","actualValue":"","controlLine":"2.6/5.0","measurementResult":"NG"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-01","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-01","actualValue":"3.8","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-02","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-02","actualValue":"3.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-03","actualValue":"-1.5","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-03","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-04","actualValue":"0.6","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-04","actualValue":"2.6","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-06","actualValue":"1.1","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-06","actualValue":"3.2","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-10","actualValue":"0.4","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-10","actualValue":"3.5","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-08","actualValue":"3.5","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-12","actualValue":"-0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-13","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-13","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-14","actualValue":"-1.8","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-14","actualValue":"3.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-15","actualValue":"0.0","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-15","actualValue":"4.0","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-16","actualValue":"-1.1","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-16","actualValue":"3.8","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-18","actualValue":"2.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-18","actualValue":"3.4","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD01L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD03L","actualValue":"0.3","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD04L","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD05L","actualValue":"1.6","controlLine":"0.0/0.5","measurementResult":"NG"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD06L","actualValue":"1.0","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD01R","actualValue":"0.8","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD02R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD03R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD04R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD06R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD07","actualValue":"0.1","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD08","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD09","actualValue":"0.2","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD10","actualValue":"1.4","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD11","actualValue":"0.1","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD12","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD13","actualValue":"inv","controlLine":"0.0/1.2","measurementResult":"NG"}]}]} -2024-11-25 19:03:17.0717 [ERROR] : EH3数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时 - 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) - 在 System.Net.HttpWebRequest.GetRequestStream() - 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1488 -2024-11-25 19:03:17.0717 [ERROR] : EH3数据上传IOT失败! -2024-11-25 19:21:23.8635 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2024-12-24.log b/Analysis/bin/x64/Debug/logs/2024-12-24.log deleted file mode 100644 index 1761dc5..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-12-24.log +++ /dev/null @@ -1,347 +0,0 @@ -2024-12-24 14:30:30.1733 [INFO] : --软件Program Main函数开始执行-- -2024-12-24 14:30:30.1733 [INFO] : 加载配置文件——>开始 -2024-12-24 14:30:30.1932 [INFO] : 加载配置文件——>完成 -2024-12-24 14:30:30.1932 [INFO] : Log in using the CLMS authorization. -2024-12-24 14:30:32.2280 [INFO] : 进入显示车身模式!显示车身界面。 -2024-12-24 14:30:32.9463 [INFO] : 启动PLC写线程! -2024-12-24 14:30:32.9463 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-12-24 14:30:32.9463 [INFO] : 连接PLC.... -2024-12-24 14:30:32.9463 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-12-24 14:30:32.9463 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-12-24 14:30:33.4364 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-24 14:30:33.6195 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-24 14:30:33.7516 [INFO] : 显示右侧EHY车身数据界面。 -2024-12-24 14:30:35.0630 [ERROR] : PLC S7连接失败。 -2024-12-24 14:30:35.0630 [ERROR] : 连接PLC失败 -2024-12-24 14:30:55.6145 [INFO] : 存在EH3 CSV文件,开始解析: -2024-12-24 14:30:55.6145 [INFO] : Copy D:\cherytestEH3\CheryEH3_20241222_010605.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEH3_20241222_010605.csv Done. 备份完成 -2024-12-24 14:30:55.6145 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\CheryEH3_20241222_010605.csv -2024-12-24 14:30:55.6145 [INFO] : 解析出NextSense CSV中的VIN为:NNACDEC7RDA51631 -2024-12-24 14:30:55.6145 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-12-24 14:30:55.6145 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-12-24 14:30:55.8088 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。 -2024-12-24 14:30:55.8088 [INFO] : 解析NextSense EH3 CSV 报告完毕! -2024-12-24 14:30:55.8088 [INFO] : LNNACDEC7RDA51631 EH3开始计算极差:============ -2024-12-24 14:30:55.8257 [INFO] : R-01G G 查询的测量值为no find -2024-12-24 14:30:55.8257 [INFO] : R-04G G 查询的测量值为no find -2024-12-24 14:30:55.8257 [INFO] : R-08G G 查询的测量值为no find -2024-12-24 14:30:55.8257 [INFO] : R-12G G 查询的测量值为no find -2024-12-24 14:30:55.8257 [INFO] : R-15G G 查询的测量值为no find -2024-12-24 14:30:55.8287 [INFO] : R-01G G 查询的测量值为no find -2024-12-24 14:30:55.8287 [INFO] : R-02G G 查询的测量值为no find -2024-12-24 14:30:55.8287 [INFO] : R-03G G 查询的测量值为no find -2024-12-24 14:30:55.8287 [INFO] : R-14G G 查询的测量值为no find -2024-12-24 14:30:55.8287 [INFO] : R-15G G 查询的测量值为no find -2024-12-24 14:30:55.8287 [INFO] : R-16G G 查询的测量值为no find -2024-12-24 14:30:55.8287 [INFO] : LNNACDEC7RDA51631 EH3计算极差完成,并插入数据库:============ -2024-12-24 14:30:55.9944 [INFO] : 计算合格率的时:包含极差计算项! -2024-12-24 14:30:56.0114 [INFO] : 将EH3总结果插入数据库完毕。 -2024-12-24 14:30:56.0114 [INFO] : 全部插入解析完毕,删除文件:CheryEH3_20241222_010605.csv -2024-12-24 14:30:56.0158 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241224143056_LNNACDEC7RDA51631.csv -2024-12-24 14:30:56.1387 [INFO] : Update To IOT Data Content: {"serno":"20241224143056138","requestData":[{"vin":"LNNACDEC7RDA51631","model":"EH3","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-12-24 14:30:55","targetRate":"60.00%","rate":"62.50%","GapList":[{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-01","actualValue":"-0.7","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-01","actualValue":"3.2","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-02","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-02","actualValue":"2.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-03","actualValue":"-1.4","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-03","actualValue":"3.1","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-06","actualValue":"1.2","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-10","actualValue":"-0.8","controlLine":"-0.4/0.8","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-10","actualValue":"3.3","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-08","actualValue":"0.3","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-08","actualValue":"3.0","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-12","actualValue":"-0.3","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-12","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-13","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-13","actualValue":"4.0","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-21","actualValue":"-0.1","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-21","actualValue":"2.6","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-22","actualValue":"-0.9","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-22","actualValue":"2.0","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-14","actualValue":"-0.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-15","actualValue":"-0.2","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-15","actualValue":"4.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-16","actualValue":"-0.3","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-16","actualValue":"3.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-18","actualValue":"-1.6","controlLine":"-2.7/-0.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-18","actualValue":"4.6","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD01L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD03L","actualValue":"0.3","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD04L","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD05L","actualValue":"0.6","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD06L","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD01R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD02R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD03R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD04R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD06R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD07","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD08","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD09","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD10","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD11","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD12","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]} -2024-12-24 14:31:06.1928 [ERROR] : EH3数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时 - 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) - 在 System.Net.HttpWebRequest.GetRequestStream() - 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1488 -2024-12-24 14:31:06.1928 [ERROR] : EH3数据上传IOT失败! -2024-12-24 14:31:47.4233 [INFO] : 存在EH3 CSV文件,开始解析: -2024-12-24 14:31:47.4233 [INFO] : Copy D:\cherytestEH3\CheryEH3_20241222_124000.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEH3_20241222_124000.csv Done. 备份完成 -2024-12-24 14:31:47.4233 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\CheryEH3_20241222_124000.csv -2024-12-24 14:31:47.4233 [INFO] : 解析出NextSense CSV中的VIN为:NNACDEC4RDA51862 -2024-12-24 14:31:47.4233 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-12-24 14:31:47.4233 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-12-24 14:31:47.6506 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。 -2024-12-24 14:31:47.6506 [INFO] : 解析NextSense EH3 CSV 报告完毕! -2024-12-24 14:31:47.6506 [INFO] : LNNACDEC4RDA51862 EH3开始计算极差:============ -2024-12-24 14:31:47.6607 [INFO] : R-01G G 查询的测量值为no find -2024-12-24 14:31:47.6607 [INFO] : R-04G G 查询的测量值为no find -2024-12-24 14:31:47.6607 [INFO] : R-08G G 查询的测量值为no find -2024-12-24 14:31:47.6607 [INFO] : R-12G G 查询的测量值为no find -2024-12-24 14:31:47.6607 [INFO] : R-15G G 查询的测量值为no find -2024-12-24 14:31:47.6607 [INFO] : R-01G G 查询的测量值为no find -2024-12-24 14:31:47.6607 [INFO] : R-02G G 查询的测量值为no find -2024-12-24 14:31:47.6607 [INFO] : R-03G G 查询的测量值为no find -2024-12-24 14:31:47.6607 [INFO] : R-14G G 查询的测量值为no find -2024-12-24 14:31:47.6607 [INFO] : R-15G G 查询的测量值为no find -2024-12-24 14:31:47.6607 [INFO] : R-16G G 查询的测量值为no find -2024-12-24 14:31:47.6727 [INFO] : LNNACDEC4RDA51862 EH3计算极差完成,并插入数据库:============ -2024-12-24 14:31:47.8317 [INFO] : 计算合格率的时:包含极差计算项! -2024-12-24 14:31:47.8317 [INFO] : 将EH3总结果插入数据库完毕。 -2024-12-24 14:31:47.8317 [INFO] : 全部插入解析完毕,删除文件:CheryEH3_20241222_124000.csv -2024-12-24 14:31:47.8317 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241224143147_LNNACDEC4RDA51862.csv -2024-12-24 14:31:47.8317 [INFO] : Update To IOT Data Content: {"serno":"20241224143147841","requestData":[{"vin":"LNNACDEC4RDA51862","model":"EH3","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-12-24 14:31:47","targetRate":"60.00%","rate":"70.83%","GapList":[{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-01","actualValue":"-0.6","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-01","actualValue":"3.7","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-02","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-02","actualValue":"3.6","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-03","actualValue":"-0.8","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-03","actualValue":"4.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-04","actualValue":"-0.3","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-04","actualValue":"2.7","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-06","actualValue":"1.3","controlLine":"-0.8/0.8","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-06","actualValue":"3.1","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-10","actualValue":"-0.7","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-10","actualValue":"3.4","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-08","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-08","actualValue":"3.1","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-12","actualValue":"3.6","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-13","actualValue":"-0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-21","actualValue":"-0.6","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-21","actualValue":"2.6","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-22","actualValue":"-0.3","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-22","actualValue":"1.9","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-14","actualValue":"-1.7","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-14","actualValue":"3.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-15","actualValue":"-0.1","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-15","actualValue":"4.0","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-16","actualValue":"-0.3","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-16","actualValue":"3.1","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-18","actualValue":"-1.3","controlLine":"-2.7/-0.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-18","actualValue":"3.7","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD01L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD02L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD03L","actualValue":"0.3","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD04L","actualValue":"0.3","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD05L","actualValue":"0.7","controlLine":"0.0/0.5","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD06L","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD01R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD02R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD03R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD04R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD06R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD07","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD08","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD09","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD10","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD11","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD12","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]} -2024-12-24 14:31:57.8640 [ERROR] : EH3数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时 - 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) - 在 System.Net.HttpWebRequest.GetRequestStream() - 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1488 -2024-12-24 14:31:57.8640 [ERROR] : EH3数据上传IOT失败! -2024-12-24 14:33:03.3317 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-12-24 14:33:08.2898 [INFO] : --软件Program Main函数开始执行-- -2024-12-24 14:33:08.3007 [INFO] : 加载配置文件——>开始 -2024-12-24 14:33:08.3007 [INFO] : 加载配置文件——>完成 -2024-12-24 14:33:08.3007 [INFO] : Log in using the CLMS authorization. -2024-12-24 14:33:10.0445 [INFO] : 进入显示车身模式!显示车身界面。 -2024-12-24 14:33:10.4170 [INFO] : 启动PLC写线程! -2024-12-24 14:33:10.4170 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-12-24 14:33:10.4170 [INFO] : 连接PLC.... -2024-12-24 14:33:10.4170 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-12-24 14:33:10.4170 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-12-24 14:33:11.2272 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-24 14:33:11.3963 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-24 14:33:11.5631 [INFO] : 显示右侧EHY车身数据界面。 -2024-12-24 14:33:12.4642 [ERROR] : PLC S7连接失败。 -2024-12-24 14:33:12.4642 [ERROR] : 连接PLC失败 -2024-12-24 14:33:22.1907 [INFO] : 存在EHY CSV文件,开始解析: -2024-12-24 14:33:22.1907 [INFO] : Copy D:\cherytestEHY\CheryEHY_20241222_210242.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEHY_20241222_210242.csv Done. 备份完成 -2024-12-24 14:33:22.1907 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\CheryEHY_20241222_210242.csv -2024-12-24 14:33:22.1907 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDECXRDA52019 -2024-12-24 14:33:22.1907 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-12-24 14:33:22.1907 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-12-24 14:33:22.3871 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2024-12-24 14:33:22.3871 [INFO] : 解析NextSense EHY CSV 报告完毕! -2024-12-24 14:33:22.3871 [INFO] : LNNBBDECXRDA52019 EHY开始计算极差:============ -2024-12-24 14:33:22.4030 [INFO] : R-01G G 查询的测量值为no find -2024-12-24 14:33:22.4030 [INFO] : R-04G G 查询的测量值为no find -2024-12-24 14:33:22.4030 [INFO] : R-08G G 查询的测量值为no find -2024-12-24 14:33:22.4030 [INFO] : R-12G G 查询的测量值为no find -2024-12-24 14:33:22.4030 [INFO] : R-15G G 查询的测量值为no find -2024-12-24 14:33:22.4060 [INFO] : R-01G G 查询的测量值为no find -2024-12-24 14:33:22.4060 [INFO] : R-02G G 查询的测量值为no find -2024-12-24 14:33:22.4060 [INFO] : R-03G G 查询的测量值为no find -2024-12-24 14:33:22.4060 [INFO] : R-14G G 查询的测量值为no find -2024-12-24 14:33:22.4060 [INFO] : R-15G G 查询的测量值为no find -2024-12-24 14:33:22.4060 [INFO] : R-16G G 查询的测量值为no find -2024-12-24 14:33:22.4060 [INFO] : LNNBBDECXRDA52019 EHY计算极差完成,并插入数据库:============ -2024-12-24 14:33:22.5865 [INFO] : 计算合格率的时:包含极差计算项! -2024-12-24 14:33:22.6054 [INFO] : 将总结果插入数据库完毕。 -2024-12-24 14:33:22.6054 [INFO] : 全部插入解析完毕,删除文件:CheryEHY_20241222_210242.csv -2024-12-24 14:33:22.6104 [INFO] : 开始生成客户所需要的CSV格式文件: -2024-12-24 14:33:22.6104 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241224143322_LNNBBDECXRDA52019.csv -2024-12-24 14:33:22.6104 [INFO] : EHY数据上传IOT功能未启用! -2024-12-24 14:33:29.8866 [INFO] : 存在EHY CSV文件,开始解析: -2024-12-24 14:33:29.8906 [INFO] : Copy D:\cherytestEHY\CheryEHY_20241223_100433.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEHY_20241223_100433.csv Done. 备份完成 -2024-12-24 14:33:29.8906 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\CheryEHY_20241223_100433.csv -2024-12-24 14:33:29.8906 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA52682 -2024-12-24 14:33:29.8906 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-12-24 14:33:29.8906 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-12-24 14:33:29.9979 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2024-12-24 14:33:29.9979 [INFO] : 解析NextSense EHY CSV 报告完毕! -2024-12-24 14:33:29.9979 [INFO] : LNNBBDEC8RDA52682 EHY开始计算极差:============ -2024-12-24 14:33:30.0079 [INFO] : R-01G G 查询的测量值为no find -2024-12-24 14:33:30.0079 [INFO] : R-04G G 查询的测量值为no find -2024-12-24 14:33:30.0079 [INFO] : R-08G G 查询的测量值为no find -2024-12-24 14:33:30.0079 [INFO] : R-12G G 查询的测量值为no find -2024-12-24 14:33:30.0079 [INFO] : R-15G G 查询的测量值为no find -2024-12-24 14:33:30.0079 [INFO] : R-01G G 查询的测量值为no find -2024-12-24 14:33:30.0079 [INFO] : R-02G G 查询的测量值为no find -2024-12-24 14:33:30.0079 [INFO] : R-03G G 查询的测量值为no find -2024-12-24 14:33:30.0079 [INFO] : R-14G G 查询的测量值为no find -2024-12-24 14:33:30.0079 [INFO] : R-15G G 查询的测量值为no find -2024-12-24 14:33:30.0159 [INFO] : R-16G G 查询的测量值为no find -2024-12-24 14:33:30.0159 [INFO] : LNNBBDEC8RDA52682 EHY计算极差完成,并插入数据库:============ -2024-12-24 14:33:30.1664 [INFO] : 计算合格率的时:包含极差计算项! -2024-12-24 14:33:30.1664 [INFO] : 将总结果插入数据库完毕。 -2024-12-24 14:33:30.1664 [INFO] : 全部插入解析完毕,删除文件:CheryEHY_20241223_100433.csv -2024-12-24 14:33:30.1739 [INFO] : 开始生成客户所需要的CSV格式文件: -2024-12-24 14:33:30.1739 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241224143330_LNNBBDEC8RDA52682.csv -2024-12-24 14:33:30.1739 [INFO] : EHY数据上传IOT功能未启用! -2024-12-24 14:34:17.6817 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-12-24 14:38:24.5852 [INFO] : --软件Program Main函数开始执行-- -2024-12-24 14:38:24.5852 [INFO] : 加载配置文件——>开始 -2024-12-24 14:38:24.6001 [INFO] : 加载配置文件——>完成 -2024-12-24 14:38:24.6001 [INFO] : Log in using the CLMS authorization. -2024-12-24 14:38:26.3224 [INFO] : 进入显示车身模式!显示车身界面。 -2024-12-24 14:38:26.8810 [INFO] : 启动PLC写线程! -2024-12-24 14:38:26.8810 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-12-24 14:38:26.8810 [INFO] : 连接PLC.... -2024-12-24 14:38:26.8810 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-12-24 14:38:26.8810 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-12-24 14:38:27.4784 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-24 14:38:27.7911 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-24 14:38:27.9995 [INFO] : 显示右侧EHY车身数据界面。 -2024-12-24 14:38:28.9294 [ERROR] : PLC S7连接失败。 -2024-12-24 14:38:28.9294 [ERROR] : 连接PLC失败 -2024-12-24 14:38:51.1635 [INFO] : 存在EH3 CSV文件,开始解析: -2024-12-24 14:38:51.1635 [INFO] : Copy D:\cherytestEH3\CheryEH3_20241222_023436.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEH3_20241222_023436.csv Done. 备份完成 -2024-12-24 14:38:51.1635 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\CheryEH3_20241222_023436.csv -2024-12-24 14:38:51.1635 [INFO] : 解析出NextSense CSV中的VIN为:NNACDEB0RDA50893 -2024-12-24 14:38:51.1635 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-12-24 14:38:51.1635 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-12-24 14:38:51.3250 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。 -2024-12-24 14:38:51.3250 [INFO] : 解析NextSense EH3 CSV 报告完毕! -2024-12-24 14:38:51.3250 [INFO] : LNNACDEB0RDA50893 EH3开始计算极差:============ -2024-12-24 14:38:51.3419 [INFO] : R-01G G 查询的测量值为no find -2024-12-24 14:38:51.3419 [INFO] : R-04G G 查询的测量值为no find -2024-12-24 14:38:51.3419 [INFO] : R-08G G 查询的测量值为no find -2024-12-24 14:38:51.3419 [INFO] : R-12G G 查询的测量值为no find -2024-12-24 14:38:51.3419 [INFO] : R-15G G 查询的测量值为no find -2024-12-24 14:38:51.3419 [INFO] : R-01G G 查询的测量值为no find -2024-12-24 14:38:51.3419 [INFO] : R-02G G 查询的测量值为no find -2024-12-24 14:38:51.3459 [INFO] : R-03G G 查询的测量值为no find -2024-12-24 14:38:51.3459 [INFO] : R-14G G 查询的测量值为no find -2024-12-24 14:38:51.3459 [INFO] : R-15G G 查询的测量值为no find -2024-12-24 14:38:51.3459 [INFO] : R-16G G 查询的测量值为no find -2024-12-24 14:38:51.3459 [INFO] : L-18G G 查询的测量值为inv -2024-12-24 14:38:51.3459 [INFO] : LNNACDEB0RDA50893 EH3计算极差完成,并插入数据库:============ -2024-12-24 14:38:51.4994 [INFO] : 计算合格率的时:包含极差计算项! -2024-12-24 14:38:51.5248 [INFO] : 将EH3总结果插入数据库完毕。 -2024-12-24 14:38:51.5248 [INFO] : 全部插入解析完毕,删除文件:CheryEH3_20241222_023436.csv -2024-12-24 14:38:51.5248 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241224143851_LNNACDEB0RDA50893.csv -2024-12-24 14:38:51.5248 [INFO] : 数据上传IOT功能未启用! -2024-12-24 14:40:57.4092 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-12-24 15:01:51.6933 [INFO] : --软件Program Main函数开始执行-- -2024-12-24 15:01:51.6933 [INFO] : 加载配置文件——>开始 -2024-12-24 15:01:51.7193 [INFO] : 加载配置文件——>完成 -2024-12-24 15:01:51.7193 [INFO] : Log in using the CLMS authorization. -2024-12-24 15:01:53.5682 [INFO] : 进入显示车身模式!显示车身界面。 -2024-12-24 15:01:54.6327 [INFO] : 启动PLC写线程! -2024-12-24 15:01:54.6327 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-12-24 15:01:54.6327 [INFO] : 连接PLC.... -2024-12-24 15:01:54.6327 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-12-24 15:01:54.6327 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-12-24 15:01:55.1136 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-24 15:01:55.2454 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-24 15:01:55.4409 [INFO] : 显示右侧EHY车身数据界面。 -2024-12-24 15:01:56.7394 [ERROR] : PLC S7连接失败。 -2024-12-24 15:01:56.7394 [ERROR] : 连接PLC失败 -2024-12-24 15:05:39.6062 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-12-24 15:16:02.5332 [INFO] : --软件Program Main函数开始执行-- -2024-12-24 15:16:02.5791 [INFO] : 加载配置文件——>开始 -2024-12-24 15:16:02.5791 [INFO] : 加载配置文件——>完成 -2024-12-24 15:16:02.5791 [INFO] : Log in using the CLMS authorization. -2024-12-24 15:16:05.0564 [INFO] : 进入显示车身模式!显示车身界面。 -2024-12-24 15:16:05.9702 [INFO] : 启动PLC写线程! -2024-12-24 15:16:05.9702 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-12-24 15:16:05.9702 [INFO] : 连接PLC.... -2024-12-24 15:16:05.9702 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-12-24 15:16:05.9702 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-12-24 15:16:06.5368 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-24 15:16:06.6116 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-24 15:16:06.8206 [INFO] : 显示右侧EHY车身数据界面。 -2024-12-24 15:16:08.1162 [ERROR] : PLC S7连接失败。 -2024-12-24 15:16:08.1162 [ERROR] : 连接PLC失败 -2024-12-24 15:16:39.2165 [INFO] : 存在EH3 CSV文件,开始解析: -2024-12-24 15:16:39.2185 [INFO] : Copy D:\cherytestEH3\CheryEH3_20241222_010605.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEH3_20241222_010605.csv Done. 备份完成 -2024-12-24 15:16:39.2185 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\CheryEH3_20241222_010605.csv -2024-12-24 15:16:39.2185 [INFO] : 解析出NextSense CSV中的VIN为:NNACDEC7RDA51631 -2024-12-24 15:16:39.2185 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-12-24 15:16:39.2185 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-12-24 15:16:39.3934 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。 -2024-12-24 15:16:43.9619 [INFO] : 解析NextSense EH3 CSV 报告完毕!检测项数=30 -2024-12-24 15:16:56.5746 [INFO] : LNNACDEC7RDA51631 EH3开始计算极差:============ -2024-12-24 15:16:56.5831 [INFO] : L-01G G 查询的测量值为no find -2024-12-24 15:16:56.5831 [INFO] : L-04G G 查询的测量值为no find -2024-12-24 15:16:56.5831 [INFO] : L-08G G 查询的测量值为no find -2024-12-24 15:16:56.5831 [INFO] : L-12G G 查询的测量值为no find -2024-12-24 15:16:56.5831 [INFO] : L-21G G 查询的测量值为no find -2024-12-24 15:16:56.5831 [INFO] : L-15G G 查询的测量值为no find -2024-12-24 15:16:56.5831 [INFO] : R-01G G 查询的测量值为no find -2024-12-24 15:16:56.5831 [INFO] : R-04G G 查询的测量值为no find -2024-12-24 15:16:56.5831 [INFO] : R-08G G 查询的测量值为no find -2024-12-24 15:16:56.5831 [INFO] : R-12G G 查询的测量值为no find -2024-12-24 15:16:56.5941 [INFO] : R-15G G 查询的测量值为no find -2024-12-24 15:16:56.5941 [INFO] : L-01G G 查询的测量值为no find -2024-12-24 15:16:56.5941 [INFO] : L-02G G 查询的测量值为no find -2024-12-24 15:16:56.5941 [INFO] : L-03G G 查询的测量值为no find -2024-12-24 15:16:56.5941 [INFO] : L-14G G 查询的测量值为no find -2024-12-24 15:16:56.5941 [INFO] : L-15G G 查询的测量值为no find -2024-12-24 15:16:56.5941 [INFO] : L-16G G 查询的测量值为no find -2024-12-24 15:16:56.5941 [INFO] : L-18G G 查询的测量值为no find -2024-12-24 15:16:56.5941 [INFO] : LNNACDEC7RDA51631 EH3计算极差完成,并插入数据库:============ -2024-12-24 15:16:56.7618 [INFO] : 计算合格率的时:包含极差计算项! -2024-12-24 15:16:59.0230 [INFO] : 将EH3总结果插入数据库完毕。 -2024-12-24 15:16:59.0230 [INFO] : 全部插入解析完毕,删除文件:CheryEH3_20241222_010605.csv -2024-12-24 15:17:01.1836 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241224151701_LNNACDEC7RDA51631.csv -2024-12-24 15:17:01.1836 [INFO] : 数据上传IOT功能未启用! -2024-12-24 15:17:06.2052 [INFO] : 存在EH3 CSV文件,开始解析: -2024-12-24 15:17:06.2052 [INFO] : Copy D:\cherytestEH3\CheryEH3_20241222_010750.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEH3_20241222_010750.csv Done. 备份完成 -2024-12-24 15:17:06.2052 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\CheryEH3_20241222_010750.csv -2024-12-24 15:17:06.2052 [INFO] : 解析出NextSense CSV中的VIN为:NNACDEC0RDA51647 -2024-12-24 15:17:06.2052 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-12-24 15:17:06.2052 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-12-24 15:17:06.2916 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。 -2024-12-24 15:17:10.6475 [INFO] : 解析NextSense EH3 CSV 报告完毕!检测项数=30 -2024-12-24 15:17:18.6252 [INFO] : LNNACDEC0RDA51647 EH3开始计算极差:============ -2024-12-24 15:17:18.6252 [INFO] : R-01G G 查询的测量值为no find -2024-12-24 15:17:18.6252 [INFO] : R-04G G 查询的测量值为no find -2024-12-24 15:17:18.6252 [INFO] : R-08G G 查询的测量值为no find -2024-12-24 15:17:18.6252 [INFO] : R-12G G 查询的测量值为no find -2024-12-24 15:17:18.6252 [INFO] : R-15G G 查询的测量值为no find -2024-12-24 15:17:18.6252 [INFO] : R-01G G 查询的测量值为no find -2024-12-24 15:17:18.6402 [INFO] : R-02G G 查询的测量值为no find -2024-12-24 15:17:18.6402 [INFO] : R-03G G 查询的测量值为no find -2024-12-24 15:17:18.6402 [INFO] : R-14G G 查询的测量值为no find -2024-12-24 15:17:18.6750 [INFO] : R-15G G 查询的测量值为no find -2024-12-24 15:17:18.6750 [INFO] : R-16G G 查询的测量值为no find -2024-12-24 15:17:18.6750 [INFO] : LNNACDEC0RDA51647 EH3计算极差完成,并插入数据库:============ -2024-12-24 15:17:19.7621 [INFO] : 计算合格率的时:包含极差计算项! -2024-12-24 15:17:25.4176 [INFO] : 将EH3总结果插入数据库完毕。 -2024-12-24 15:17:25.4176 [INFO] : 全部插入解析完毕,删除文件:CheryEH3_20241222_010750.csv -2024-12-24 15:17:25.4226 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241224151725_LNNACDEC0RDA51647.csv -2024-12-24 15:17:25.4226 [INFO] : 数据上传IOT功能未启用! -2024-12-24 15:18:46.4094 [INFO] : 存在EHY CSV文件,开始解析: -2024-12-24 15:18:46.4094 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成 -2024-12-24 15:18:46.4094 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv -2024-12-24 15:18:46.4094 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23979 -2024-12-24 15:18:46.4094 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2024-12-24 15:18:46.4094 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2024-12-24 15:18:46.6999 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2024-12-24 15:18:49.8428 [INFO] : 解析NextSense EHY CSV 报告完毕!检查数量=56 -2024-12-24 15:19:05.4768 [INFO] : LNNBBDEC8RDA23979 EHY开始计算极差:============ -2024-12-24 15:19:05.4768 [INFO] : L-01G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : L-04G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : L-08G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : L-12G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : L-21G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : L-15G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : R-01G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : R-04G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : R-08G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : R-12G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : R-15G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : L-01G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : L-02G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : L-03G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : L-14G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : L-15G G 查询的测量值为no find -2024-12-24 15:19:05.4837 [INFO] : L-16G G 查询的测量值为no find -2024-12-24 15:19:05.4997 [INFO] : L-18G G 查询的测量值为no find -2024-12-24 15:19:05.5256 [INFO] : LNNBBDEC8RDA23979 EHY计算极差完成,并插入数据库:============ -2024-12-24 15:19:05.8623 [INFO] : 计算合格率的时:包含极差计算项! -2024-12-24 15:19:05.8623 [INFO] : 将总结果插入数据库完毕。 -2024-12-24 15:19:05.8623 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv -2024-12-24 15:19:05.8623 [INFO] : 开始生成客户所需要的CSV格式文件: -2024-12-24 15:19:05.8623 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241224151905_LNNBBDEC8RDA23979.csv -2024-12-24 15:19:05.8623 [INFO] : EHY数据上传IOT功能未启用! -2024-12-24 15:20:56.1552 [INFO] : --软件Program Main函数开始执行-- -2024-12-24 15:20:56.1552 [INFO] : 加载配置文件——>开始 -2024-12-24 15:20:56.1552 [INFO] : 加载配置文件——>完成 -2024-12-24 15:20:56.1552 [INFO] : Log in using the CLMS authorization. -2024-12-24 15:20:57.7075 [INFO] : 进入显示车身模式!显示车身界面。 -2024-12-24 15:20:58.3567 [INFO] : 启动PLC写线程! -2024-12-24 15:20:58.3567 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-12-24 15:20:58.3567 [INFO] : 连接PLC.... -2024-12-24 15:20:58.3567 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-12-24 15:20:58.3567 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-12-24 15:20:58.8927 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-24 15:20:59.2102 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-24 15:20:59.3361 [INFO] : 显示右侧EHY车身数据界面。 -2024-12-24 15:21:00.4245 [ERROR] : PLC S7连接失败。 -2024-12-24 15:21:00.4245 [ERROR] : 连接PLC失败 -2024-12-24 15:21:24.5076 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2024-12-24 15:21:32.2236 [INFO] : --软件Program Main函数开始执行-- -2024-12-24 15:21:32.2386 [INFO] : 加载配置文件——>开始 -2024-12-24 15:21:32.2386 [INFO] : 加载配置文件——>完成 -2024-12-24 15:21:32.2386 [INFO] : Log in using the CLMS authorization. -2024-12-24 15:21:34.0589 [INFO] : 进入显示车身模式!显示车身界面。 -2024-12-24 15:21:34.6051 [INFO] : 启动PLC写线程! -2024-12-24 15:21:34.6051 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-12-24 15:21:34.6051 [INFO] : 连接PLC.... -2024-12-24 15:21:34.6051 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-12-24 15:21:34.6051 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-12-24 15:21:35.2242 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-24 15:21:35.5172 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-24 15:21:35.7072 [INFO] : 显示右侧EHY车身数据界面。 -2024-12-24 15:21:36.6627 [ERROR] : PLC S7连接失败。 -2024-12-24 15:21:36.6627 [ERROR] : 连接PLC失败 -2024-12-24 15:42:22.1763 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2024-12-25.log b/Analysis/bin/x64/Debug/logs/2024-12-25.log deleted file mode 100644 index 52f8be7..0000000 --- a/Analysis/bin/x64/Debug/logs/2024-12-25.log +++ /dev/null @@ -1,16 +0,0 @@ -2024-12-25 14:34:29.0527 [INFO] : --软件Program Main函数开始执行-- -2024-12-25 14:34:29.0666 [INFO] : 加载配置文件——>开始 -2024-12-25 14:34:29.0806 [INFO] : 加载配置文件——>完成 -2024-12-25 14:34:29.0806 [INFO] : Log in using the CLMS authorization. -2024-12-25 14:34:31.3257 [INFO] : 进入显示车身模式!显示车身界面。 -2024-12-25 14:34:32.2168 [INFO] : 启动PLC写线程! -2024-12-25 14:34:32.2168 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2024-12-25 14:34:32.2168 [INFO] : 连接PLC.... -2024-12-25 14:34:32.2168 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2024-12-25 14:34:32.2168 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2024-12-25 14:34:32.7905 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-25 14:34:32.8189 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2024-12-25 14:34:32.9759 [INFO] : 显示右侧EHY车身数据界面。 -2024-12-25 14:34:34.2772 [ERROR] : PLC S7连接失败。 -2024-12-25 14:34:34.2804 [ERROR] : 连接PLC失败 -2024-12-25 14:37:19.9505 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2025-02-21.log b/Analysis/bin/x64/Debug/logs/2025-02-21.log deleted file mode 100644 index 7fdcfa4..0000000 --- a/Analysis/bin/x64/Debug/logs/2025-02-21.log +++ /dev/null @@ -1,21 +0,0 @@ -2025-02-21 10:49:43.9960 [INFO] : --软件Program Main函数开始执行-- -2025-02-21 10:49:44.0150 [INFO] : 加载配置文件——>开始 -2025-02-21 10:49:44.0350 [INFO] : 加载配置文件——>完成 -2025-02-21 10:49:44.0350 [INFO] : Log in using the CLMS authorization. -2025-02-21 10:49:44.5258 [INFO] : The CLMS module is unavailable! -2025-02-21 10:55:45.2135 [INFO] : --软件Program Main函数开始执行-- -2025-02-21 10:55:45.2285 [INFO] : 加载配置文件——>开始 -2025-02-21 10:55:45.2285 [INFO] : 加载配置文件——>完成 -2025-02-21 10:55:45.2285 [INFO] : Log in using the CLMS authorization. -2025-02-21 10:55:47.7784 [INFO] : 进入显示车身模式!显示车身界面。 -2025-02-21 10:55:48.7084 [INFO] : 启动PLC写线程! -2025-02-21 10:55:48.7084 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-02-21 10:55:48.7084 [INFO] : 连接PLC.... -2025-02-21 10:55:48.7084 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-02-21 10:55:48.7084 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-02-21 10:55:48.7760 [ERROR] : PLC S7连接失败。 -2025-02-21 10:55:49.2306 [ERROR] : 连接PLC失败 -2025-02-21 10:55:49.6496 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-02-21 10:55:49.6866 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-02-21 10:55:49.8794 [INFO] : 显示右侧EHY车身数据界面。 -2025-02-21 10:57:35.0644 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2025-02-27.log b/Analysis/bin/x64/Debug/logs/2025-02-27.log deleted file mode 100644 index 474ba60..0000000 --- a/Analysis/bin/x64/Debug/logs/2025-02-27.log +++ /dev/null @@ -1,93 +0,0 @@ -2025-02-27 21:39:23.6425 [INFO] : --软件Program Main函数开始执行-- -2025-02-27 21:39:23.6614 [INFO] : 加载配置文件——>开始 -2025-02-27 21:39:23.6775 [INFO] : 加载配置文件——>完成 -2025-02-27 21:39:23.6775 [INFO] : Log in using the CLMS authorization. -2025-02-27 21:39:25.9772 [INFO] : 进入显示车身模式!显示车身界面。 -2025-02-27 21:39:27.1440 [INFO] : 启动PLC写线程! -2025-02-27 21:39:27.1440 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-02-27 21:39:27.1440 [INFO] : 连接PLC.... -2025-02-27 21:39:27.1440 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-02-27 21:39:27.1440 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-02-27 21:39:27.2375 [ERROR] : PLC S7连接失败。 -2025-02-27 21:39:27.3972 [ERROR] : 连接PLC失败 -2025-02-27 21:39:27.8198 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-02-27 21:39:27.8492 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-02-27 21:39:28.1009 [INFO] : 显示右侧EHY车身数据界面。 -2025-02-27 21:42:16.5194 [INFO] : 存在EH3 CSV文件,开始解析: -2025-02-27 21:42:16.5194 [INFO] : Copy D:\cherytestEH3\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成 -2025-02-27 21:42:16.5194 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\5mm_SelfTest_20250226_141125.csv -2025-02-27 21:42:16.5194 [INFO] : 解析出NextSense CSV中的VIN为: -2025-02-27 21:42:16.5301 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:L123123123 -2025-02-27 21:42:16.5301 [INFO] : 在数据库表TTempSaveVIN中删除该VIN:L123123123 -2025-02-27 21:42:16.5301 [ERROR] : EH3 R01 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2025-02-27 21:42:16.5408 [ERROR] : EH3 R01 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2025-02-27 21:42:16.5408 [ERROR] : EH3 L01 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2025-02-27 21:42:16.5408 [ERROR] : EH3 L01 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2025-02-27 21:42:16.6099 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。 -2025-02-27 21:42:16.6099 [INFO] : 解析NextSense EH3 CSV 报告完毕!检测项数=4 -2025-02-27 21:42:16.6099 [INFO] : L123123123 EH3开始计算极差:============ -2025-02-27 21:42:16.6226 [INFO] : L-01G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : L-04G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : L-08G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : L-12G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : L-21G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : L-15G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : R-01G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : R-04G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : R-08G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : R-12G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : R-15G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : L-01G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : L-02G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : L-03G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : L-14G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : L-15G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : L-16G G 查询的测量值为no find -2025-02-27 21:42:16.6226 [INFO] : L-18G G 查询的测量值为no find -2025-02-27 21:42:16.6411 [INFO] : L123123123 EH3计算极差完成,并插入数据库:============ -2025-02-27 21:42:16.7074 [INFO] : 计算合格率的时:包含极差计算项! -2025-02-27 21:42:16.7332 [INFO] : 将EH3总结果插入数据库完毕。 -2025-02-27 21:42:16.7332 [INFO] : 全部插入解析完毕,删除文件:5mm_SelfTest_20250226_141125.csv -2025-02-27 21:42:16.7332 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20250227214216_L123123123.csv -2025-02-27 21:42:16.7332 [INFO] : 数据上传IOT功能未启用! -2025-02-27 21:44:26.4800 [INFO] : 存在EH3 CSV文件,开始解析: -2025-02-27 21:44:26.4800 [INFO] : Copy D:\cherytestEH3\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成 -2025-02-27 21:44:26.4800 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\5mm_SelfTest_20250226_141125.csv -2025-02-27 21:44:26.4800 [INFO] : 解析出NextSense CSV中的VIN为: -2025-02-27 21:44:26.4800 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2025-02-27 21:44:26.4800 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2025-02-27 21:44:26.4940 [ERROR] : EH3 R01 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2025-02-27 21:44:26.4940 [ERROR] : EH3 R01 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2025-02-27 21:44:26.4940 [ERROR] : EH3 L01 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2025-02-27 21:44:26.4940 [ERROR] : EH3 L01 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置! -2025-02-27 21:44:26.5533 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。 -2025-02-27 21:44:26.5533 [INFO] : 解析NextSense EH3 CSV 报告完毕!检测项数=4 -2025-02-27 21:44:26.5533 [INFO] : L EH3开始计算极差:============ -2025-02-27 21:44:26.6241 [INFO] : L-01G G 查询的测量值为no find -2025-02-27 21:44:26.6241 [INFO] : L-04G G 查询的测量值为no find -2025-02-27 21:44:26.6241 [INFO] : L-08G G 查询的测量值为no find -2025-02-27 21:44:26.6241 [INFO] : L-12G G 查询的测量值为no find -2025-02-27 21:44:26.6241 [INFO] : L-21G G 查询的测量值为no find -2025-02-27 21:44:26.6241 [INFO] : L-15G G 查询的测量值为no find -2025-02-27 21:44:26.6241 [INFO] : R-01G G 查询的测量值为no find -2025-02-27 21:44:26.6241 [INFO] : R-04G G 查询的测量值为no find -2025-02-27 21:44:26.6241 [INFO] : R-08G G 查询的测量值为no find -2025-02-27 21:44:26.6241 [INFO] : R-12G G 查询的测量值为no find -2025-02-27 21:44:26.6241 [INFO] : R-15G G 查询的测量值为no find -2025-02-27 21:44:26.6241 [INFO] : L-01G G 查询的测量值为no find -2025-02-27 21:44:26.6352 [INFO] : L-02G G 查询的测量值为no find -2025-02-27 21:44:26.6352 [INFO] : L-03G G 查询的测量值为no find -2025-02-27 21:44:26.6352 [INFO] : L-14G G 查询的测量值为no find -2025-02-27 21:44:26.6352 [INFO] : L-15G G 查询的测量值为no find -2025-02-27 21:44:26.6352 [INFO] : L-16G G 查询的测量值为no find -2025-02-27 21:44:26.6352 [INFO] : L-18G G 查询的测量值为no find -2025-02-27 21:44:26.6352 [INFO] : L EH3计算极差完成,并插入数据库:============ -2025-02-27 21:44:26.7338 [INFO] : 计算合格率的时:包含极差计算项! -2025-02-27 21:44:26.7338 [INFO] : 将EH3总结果插入数据库完毕。 -2025-02-27 21:44:26.7338 [INFO] : 全部插入解析完毕,删除文件:5mm_SelfTest_20250226_141125.csv -2025-02-27 21:44:26.7538 [INFO] : AnalysisNextSenseCSV 函数分析异常:System.ArgumentException: 字符串的长度不能为零。 -参数名: oldValue - 在 System.String.ReplaceInternal(String oldValue, String newValue) - 在 System.String.Replace(String oldValue, String newValue) - 在 NSAnalysis.CenterControl.AnalysisNextSenseEH3CSV() 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 799 -2025-02-27 21:49:55.0056 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2025-03-03.log b/Analysis/bin/x64/Debug/logs/2025-03-03.log deleted file mode 100644 index ce97bae..0000000 --- a/Analysis/bin/x64/Debug/logs/2025-03-03.log +++ /dev/null @@ -1,192 +0,0 @@ -2025-03-03 10:24:58.3488 [INFO] : --软件Program Main函数开始执行-- -2025-03-03 10:24:58.3488 [INFO] : 加载配置文件——>开始 -2025-03-03 10:24:58.3708 [INFO] : 加载配置文件——>完成 -2025-03-03 10:24:58.3708 [INFO] : Log in using the CLMS authorization. -2025-03-03 10:25:00.1878 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-03 10:25:00.8555 [INFO] : 启动PLC写线程! -2025-03-03 10:25:00.8555 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-03 10:25:00.8555 [INFO] : 连接PLC.... -2025-03-03 10:25:00.8555 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-03 10:25:00.8555 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-03 10:25:00.8715 [ERROR] : PLC S7连接失败。 -2025-03-03 10:25:01.1720 [ERROR] : 连接PLC失败 -2025-03-03 10:25:01.5272 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-03 10:25:01.5362 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-03 10:25:01.6819 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-03 10:58:11.5165 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2025-03-03 11:36:51.1540 [INFO] : --软件Program Main函数开始执行-- -2025-03-03 11:36:51.1540 [INFO] : 加载配置文件——>开始 -2025-03-03 11:36:51.1726 [INFO] : 加载配置文件——>完成 -2025-03-03 11:36:51.1726 [INFO] : Log in using the CLMS authorization. -2025-03-03 11:36:52.9228 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-03 11:36:53.7865 [INFO] : 启动PLC写线程! -2025-03-03 11:36:53.7865 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-03 11:36:53.7865 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-03 11:36:53.7865 [INFO] : 连接PLC.... -2025-03-03 11:36:53.7865 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-03 11:36:53.8001 [INFO] : PLC S7连接成功。 -2025-03-03 11:36:53.9467 [INFO] : 连接PLC成功 -2025-03-03 11:36:54.2832 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-03 11:36:54.3932 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-03 11:36:54.5471 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-03 11:36:54.9969 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:36:56.0071 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:36:57.0175 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:36:58.0262 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:36:59.0356 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:36:59.9447 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:00.9548 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:01.9636 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:02.9736 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:03.9829 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:04.9925 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:06.0025 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:07.0128 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:08.0233 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:09.0332 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:09.9429 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:10.9529 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:11.9630 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:12.9724 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:13.9829 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:14.9946 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:16.0052 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:17.0141 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:18.0252 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:19.0353 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:19.9439 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:20.9545 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:21.9639 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:22.9743 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:23.9859 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:24.9953 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:26.0047 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:27.0157 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:28.0246 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:29.0340 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:30.0436 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:30.9548 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:31.9642 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:32.9743 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:34.0849 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:34.9950 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:36.0052 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:37.0151 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:38.0245 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:39.0345 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:39.9436 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:40.9536 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0 -2025-03-03 11:37:41.9631 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1 -2025-03-03 11:37:42.7610 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2025-03-03 14:27:27.4999 [INFO] : --软件Program Main函数开始执行-- -2025-03-03 14:27:27.5163 [INFO] : 加载配置文件——>开始 -2025-03-03 14:27:27.5358 [INFO] : 加载配置文件——>完成 -2025-03-03 14:27:27.5358 [INFO] : Log in using the CLMS authorization. -2025-03-03 14:27:29.2153 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-03 14:27:30.1750 [INFO] : 启动PLC写线程! -2025-03-03 14:27:30.1750 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-03 14:27:30.1750 [INFO] : 连接PLC.... -2025-03-03 14:27:30.1750 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-03 14:27:30.1750 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-03 14:27:30.7155 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-03 14:27:30.7415 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-03 14:27:30.9016 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-03 14:27:32.2996 [ERROR] : PLC S7连接失败。 -2025-03-03 14:27:32.2996 [ERROR] : 连接PLC失败 -2025-03-03 14:28:02.4841 [INFO] : 存在EHY CSV文件,开始解析: -2025-03-03 14:28:02.4841 [INFO] : Copy D:\test\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成 -2025-03-03 14:28:02.4841 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250226_141125.csv -2025-03-03 14:28:02.4841 [INFO] : 解析NextSense 自检报告完毕!检查数量=4 -2025-03-03 14:28:02.4984 [INFO] : 开始生成客户所需要的CSV格式文件: -2025-03-03 14:28:02.4984 [INFO] : 客户自检报告生成完毕,路径为:D:\QMLTest\20250303142802_SelfMeasure20250303142802.csv -2025-03-03 14:30:14.9122 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2025-03-03 14:30:20.6405 [INFO] : --软件Program Main函数开始执行-- -2025-03-03 14:30:20.6525 [INFO] : 加载配置文件——>开始 -2025-03-03 14:30:20.6525 [INFO] : 加载配置文件——>完成 -2025-03-03 14:30:20.6525 [INFO] : Log in using the CLMS authorization. -2025-03-03 14:30:22.0705 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-03 14:30:22.4132 [INFO] : 启动PLC写线程! -2025-03-03 14:30:22.4132 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-03 14:30:22.4132 [INFO] : 连接PLC.... -2025-03-03 14:30:22.4132 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-03 14:30:22.4132 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-03 14:30:23.2513 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-03 14:30:23.4064 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-03 14:30:23.5735 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-03 14:30:24.4525 [ERROR] : PLC S7连接失败。 -2025-03-03 14:30:24.4525 [ERROR] : 连接PLC失败 -2025-03-03 14:30:25.1050 [INFO] : 存在EHY CSV文件,开始解析: -2025-03-03 14:30:25.1050 [INFO] : Copy D:\test\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成 -2025-03-03 14:30:25.1050 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250226_141125.csv -2025-03-03 14:30:25.1050 [INFO] : 解析NextSense 自检报告完毕!检查数量=4 -2025-03-03 14:30:25.1050 [INFO] : 开始生成客户所需要的CSV格式文件: -2025-03-03 14:30:25.1050 [INFO] : 客户自检报告生成完毕,路径为:D:\QMLTest\20250303143025_SelfMeasure20250303143025.csv -2025-03-03 14:30:46.6137 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2025-03-03 14:31:07.7684 [INFO] : --软件Program Main函数开始执行-- -2025-03-03 14:31:07.8205 [INFO] : 加载配置文件——>开始 -2025-03-03 14:31:07.8255 [INFO] : 加载配置文件——>完成 -2025-03-03 14:31:07.8255 [INFO] : Log in using the CLMS authorization. -2025-03-03 14:31:09.4589 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-03 14:31:10.0429 [INFO] : 启动PLC写线程! -2025-03-03 14:31:10.0429 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-03 14:31:10.0429 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-03 14:31:10.0429 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-03 14:31:10.0429 [INFO] : 连接PLC.... -2025-03-03 14:31:10.6310 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-03 14:31:10.9364 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-03 14:31:11.1037 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-03 14:31:12.1119 [ERROR] : PLC S7连接失败。 -2025-03-03 14:31:12.1119 [ERROR] : 连接PLC失败 -2025-03-03 14:31:15.2790 [INFO] : 存在EHY CSV文件,开始解析: -2025-03-03 14:31:15.2790 [INFO] : Copy D:\test\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成 -2025-03-03 14:31:15.2790 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250226_141125.csv -2025-03-03 14:33:08.4819 [INFO] : --软件Program Main函数开始执行-- -2025-03-03 14:33:08.4819 [INFO] : 加载配置文件——>开始 -2025-03-03 14:33:08.4959 [INFO] : 加载配置文件——>完成 -2025-03-03 14:33:08.4959 [INFO] : Log in using the CLMS authorization. -2025-03-03 14:33:09.9759 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-03 14:33:10.5401 [INFO] : 启动PLC写线程! -2025-03-03 14:33:10.5411 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-03 14:33:10.5411 [INFO] : 连接PLC.... -2025-03-03 14:33:10.5411 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-03 14:33:10.5411 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-03 14:33:11.0532 [INFO] : 存在EHY CSV文件,开始解析: -2025-03-03 14:33:11.0532 [INFO] : Copy D:\test\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成 -2025-03-03 14:33:11.0532 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250226_141125.csv -2025-03-03 14:33:11.0602 [INFO] : 解析NextSense 自检报告完毕!检查数量=4 -2025-03-03 14:33:11.0602 [INFO] : 开始生成客户所需要的CSV格式文件: -2025-03-03 14:33:11.0602 [INFO] : 客户自检报告生成完毕,路径为:D:\QMLTest\20250303143311_SelfMeasure20250303143311.csv -2025-03-03 14:33:11.2048 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-03 14:33:11.4210 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-03 14:33:11.5853 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-03 14:33:12.5719 [ERROR] : PLC S7连接失败。 -2025-03-03 14:33:12.5719 [ERROR] : 连接PLC失败 -2025-03-03 14:33:45.3540 [INFO] : 存在EHY CSV文件,开始解析: -2025-03-03 14:33:45.3540 [INFO] : Copy D:\test\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成 -2025-03-03 14:33:45.3540 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250226_141125.csv -2025-03-03 14:33:45.3540 [INFO] : 解析NextSense 自检报告完毕!检查数量=4 -2025-03-03 14:33:45.3540 [INFO] : 开始生成客户所需要的CSV格式文件: -2025-03-03 14:33:45.3540 [INFO] : 客户自检报告生成完毕,路径为:D:\QMLTest\20250303143345_SelfMeasure20250303143345.csv -2025-03-03 15:02:15.0061 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2025-03-03 15:23:17.1049 [INFO] : --软件Program Main函数开始执行-- -2025-03-03 15:23:17.1049 [INFO] : 加载配置文件——>开始 -2025-03-03 15:23:17.1185 [INFO] : 加载配置文件——>完成 -2025-03-03 15:23:17.1185 [INFO] : Log in using the CLMS authorization. -2025-03-03 15:23:18.7091 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-03 15:23:20.1094 [INFO] : 启动PLC写线程! -2025-03-03 15:23:20.1094 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-03 15:23:20.1094 [INFO] : 连接PLC.... -2025-03-03 15:23:20.1094 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-03 15:23:20.1094 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-03 15:23:20.1944 [ERROR] : PLC S7连接失败。 -2025-03-03 15:23:20.3831 [ERROR] : 连接PLC失败 -2025-03-03 15:23:20.7115 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-03 15:23:20.7115 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-03 15:23:20.8534 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-03 15:28:21.2452 [INFO] : 存在EHY CSV文件,开始解析: -2025-03-03 15:28:21.2452 [INFO] : Copy D:\test\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成 -2025-03-03 15:28:21.2452 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250226_141125.csv -2025-03-03 15:28:21.2452 [INFO] : 解析NextSense 自检报告完毕!检查数量=4 -2025-03-03 15:28:21.2592 [INFO] : 开始生成客户所需要的CSV格式文件: -2025-03-03 15:28:21.2592 [INFO] : 客户自检报告生成完毕,路径为:D:\QMLTest\20250303152821_SelfMeasure20250303152821.csv -2025-03-03 15:29:31.5562 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2025-03-05.log b/Analysis/bin/x64/Debug/logs/2025-03-05.log deleted file mode 100644 index 0e8d749..0000000 --- a/Analysis/bin/x64/Debug/logs/2025-03-05.log +++ /dev/null @@ -1,100 +0,0 @@ -2025-03-05 09:44:15.7775 [INFO] : --软件Program Main函数开始执行-- -2025-03-05 09:44:15.7899 [INFO] : 加载配置文件——>开始 -2025-03-05 09:44:15.8075 [INFO] : 加载配置文件——>完成 -2025-03-05 09:44:15.8075 [INFO] : Log in using the CLMS authorization. -2025-03-05 09:44:17.7477 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-05 09:44:18.6852 [INFO] : 启动PLC写线程! -2025-03-05 09:44:18.6852 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-05 09:44:18.6852 [INFO] : 连接PLC.... -2025-03-05 09:44:18.6852 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-05 09:44:18.6852 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-05 09:44:18.7620 [ERROR] : PLC S7连接失败。 -2025-03-05 09:44:18.9192 [ERROR] : 连接PLC失败 -2025-03-05 09:44:19.2720 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-05 09:44:19.2971 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-05 09:44:19.4573 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-05 10:17:57.0959 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2025-03-05 11:13:41.7618 [INFO] : --软件Program Main函数开始执行-- -2025-03-05 11:13:41.7773 [INFO] : 加载配置文件——>开始 -2025-03-05 11:13:41.8007 [INFO] : 加载配置文件——>完成 -2025-03-05 11:13:41.8007 [INFO] : Log in using the CLMS authorization. -2025-03-05 11:13:41.9075 [INFO] : CLMS check license failed! Please authorize the operation. -2025-03-05 11:15:02.5705 [INFO] : --软件Program Main函数开始执行-- -2025-03-05 11:15:02.5986 [INFO] : 加载配置文件——>开始 -2025-03-05 11:15:02.6126 [INFO] : 加载配置文件——>完成 -2025-03-05 11:15:02.6482 [INFO] : Log in using the CLMS authorization. -2025-03-05 11:15:05.3569 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-05 11:15:06.2338 [INFO] : 启动PLC写线程! -2025-03-05 11:15:06.2338 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-05 11:15:06.2338 [ERROR] : 错误:软件首次启动,读取NextSense生成EH3 CSV报告的路径:D:\cherytestEH3 不存在!请检查并进行修改!点击是按钮,软件将自动创建该路径! -2025-03-05 11:15:06.2338 [INFO] : 连接PLC.... -2025-03-05 11:15:06.3088 [ERROR] : 错误:软件首次启动,读取NextSense生成EHY CSV报告的路径:D:\cherytestEHY 不存在!请检查并进行修改!点击是按钮,软件将自动创建该路径! -2025-03-05 11:15:09.6252 [ERROR] : PLC S7连接失败。 -2025-03-05 11:15:26.2806 [INFO] : --软件Program Main函数开始执行-- -2025-03-05 11:15:26.3211 [INFO] : 加载配置文件——>开始 -2025-03-05 11:15:26.3712 [INFO] : 加载配置文件——>完成 -2025-03-05 11:15:26.3712 [INFO] : Log in using the CLMS authorization. -2025-03-05 11:15:28.9387 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-05 11:15:29.3810 [INFO] : 启动PLC写线程! -2025-03-05 11:15:29.3833 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-05 11:15:29.3833 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-05 11:15:29.3833 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-05 11:15:29.3833 [INFO] : 连接PLC.... -2025-03-05 11:19:30.1906 [INFO] : --软件Program Main函数开始执行-- -2025-03-05 11:19:30.2629 [INFO] : 加载配置文件——>开始 -2025-03-05 11:19:30.3123 [INFO] : 加载配置文件——>完成 -2025-03-05 11:19:30.3161 [INFO] : Log in using the CLMS authorization. -2025-03-05 11:19:33.6048 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-05 11:19:34.0776 [INFO] : 启动PLC写线程! -2025-03-05 11:19:34.0776 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-05 11:19:34.0776 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-05 11:19:34.0776 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-05 11:19:34.0776 [INFO] : 连接PLC.... -2025-03-05 11:21:50.9494 [INFO] : --软件Program Main函数开始执行-- -2025-03-05 11:21:50.9768 [INFO] : 加载配置文件——>开始 -2025-03-05 11:21:51.0041 [INFO] : 加载配置文件——>完成 -2025-03-05 11:21:51.0041 [INFO] : Log in using the CLMS authorization. -2025-03-05 11:21:53.5809 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-05 11:21:54.0366 [INFO] : 启动PLC写线程! -2025-03-05 11:21:54.0366 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-05 11:21:54.0366 [INFO] : 连接PLC.... -2025-03-05 11:21:54.0366 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-05 11:21:54.0428 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-05 11:21:56.1341 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-05 11:21:56.1425 [ERROR] : PLC S7连接失败。 -2025-03-05 11:21:56.1425 [ERROR] : 连接PLC失败 -2025-03-05 11:21:56.1550 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-05 11:21:56.3064 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-05 11:22:40.0160 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2025-03-05 11:22:47.5138 [INFO] : --软件Program Main函数开始执行-- -2025-03-05 11:22:47.5296 [INFO] : 加载配置文件——>开始 -2025-03-05 11:22:47.5517 [INFO] : 加载配置文件——>完成 -2025-03-05 11:22:47.5517 [INFO] : Log in using the CLMS authorization. -2025-03-05 11:22:49.6036 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-05 11:22:50.0176 [INFO] : 启动PLC写线程! -2025-03-05 11:22:50.0176 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-05 11:22:50.0176 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-05 11:22:50.0176 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-05 11:22:50.0176 [INFO] : 连接PLC.... -2025-03-05 11:22:50.8463 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-05 11:22:50.9245 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-05 11:22:51.1100 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-05 11:22:52.1105 [ERROR] : PLC S7连接失败。 -2025-03-05 11:22:52.1105 [ERROR] : 连接PLC失败 -2025-03-05 11:23:44.6633 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2025-03-05 14:52:27.5382 [INFO] : --软件Program Main函数开始执行-- -2025-03-05 14:52:27.5780 [INFO] : 加载配置文件——>开始 -2025-03-05 14:52:27.6473 [INFO] : 加载配置文件——>完成 -2025-03-05 14:52:27.6473 [INFO] : Log in using the CLMS authorization. -2025-03-05 14:52:32.0564 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-05 14:52:33.3753 [INFO] : 启动PLC写线程! -2025-03-05 14:52:33.3823 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-05 14:52:33.3823 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-05 14:52:33.3823 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-05 14:52:33.3823 [INFO] : 连接PLC.... -2025-03-05 14:52:34.9162 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-05 14:52:34.9334 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-05 14:52:35.6221 [ERROR] : PLC S7连接失败。 -2025-03-05 14:52:35.6374 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-05 14:52:35.6422 [ERROR] : 连接PLC失败 -2025-03-05 15:01:34.1009 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2025-03-07.log b/Analysis/bin/x64/Debug/logs/2025-03-07.log deleted file mode 100644 index c80a529..0000000 --- a/Analysis/bin/x64/Debug/logs/2025-03-07.log +++ /dev/null @@ -1,107 +0,0 @@ -2025-03-07 11:49:23.7306 [INFO] : --软件Program Main函数开始执行-- -2025-03-07 11:49:23.8049 [INFO] : 加载配置文件——>开始 -2025-03-07 11:49:23.8339 [INFO] : 加载配置文件——>完成 -2025-03-07 11:49:23.8375 [INFO] : Log in using the CLMS authorization. -2025-03-07 11:49:26.4633 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-07 11:49:27.3505 [INFO] : 启动PLC写线程! -2025-03-07 11:49:27.3525 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-07 11:49:27.4301 [INFO] : 连接PLC.... -2025-03-07 11:49:27.4301 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-07 11:49:27.4301 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-07 11:49:28.6229 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-07 11:49:28.6544 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-07 11:49:28.7444 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-07 11:49:29.5910 [ERROR] : PLC S7连接失败。 -2025-03-07 11:49:29.5910 [ERROR] : 连接PLC失败 -2025-03-07 11:49:38.9020 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2025-03-07 11:51:04.8682 [INFO] : --软件Program Main函数开始执行-- -2025-03-07 11:51:04.9034 [INFO] : 加载配置文件——>开始 -2025-03-07 11:51:04.9322 [INFO] : 加载配置文件——>完成 -2025-03-07 11:51:04.9322 [INFO] : Log in using the CLMS authorization. -2025-03-07 11:51:07.4314 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-07 11:51:07.9428 [INFO] : 启动PLC写线程! -2025-03-07 11:51:07.9777 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-07 11:51:07.9777 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-07 11:51:07.9777 [INFO] : 连接PLC.... -2025-03-07 11:51:07.9777 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-07 11:51:08.8813 [INFO] : 存在EHY CSV文件,开始解析: -2025-03-07 11:51:08.8873 [INFO] : Copy D:\test\5mm_SelfTest_20250304_141005.csv TO D:\HexagonProjects\2024-20-奇瑞间隙面差\奇瑞间隙面差总装代码资料\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250304_141005.csv Done. 备份完成 -2025-03-07 11:51:08.8873 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250304_141005.csv -2025-03-07 11:51:11.2935 [ERROR] : PLC S7连接失败。 -2025-03-07 11:51:14.8251 [INFO] : 解析NextSense 自检报告完毕!检查数量=4 -2025-03-07 11:51:14.8251 [INFO] : 开始生成客户所需要的CSV格式文件: -2025-03-07 11:51:14.8251 [INFO] : 客户自检报告生成完毕,路径为:D:\QMLTest\20250307115114_SelfMeasure20250307115108.csv -2025-03-07 11:51:14.8580 [ERROR] : 连接PLC失败 -2025-03-07 11:51:14.9739 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-07 11:51:14.9856 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-07 11:51:15.1596 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-07 15:50:31.2198 [INFO] : --软件Program Main函数开始执行-- -2025-03-07 15:50:31.3032 [INFO] : 加载配置文件——>开始 -2025-03-07 15:50:31.3281 [INFO] : 加载配置文件——>完成 -2025-03-07 15:50:31.3281 [INFO] : Log in using the CLMS authorization. -2025-03-07 15:50:31.4442 [INFO] : CLMS check license failed! Please authorize the operation. -2025-03-07 15:50:53.1374 [INFO] : --软件Program Main函数开始执行-- -2025-03-07 15:50:53.1587 [INFO] : 加载配置文件——>开始 -2025-03-07 15:50:53.1738 [INFO] : 加载配置文件——>完成 -2025-03-07 15:50:55.9586 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-07 15:50:56.8453 [INFO] : 启动PLC写线程! -2025-03-07 15:50:56.8503 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-07 15:50:56.8866 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-07 15:50:56.8866 [INFO] : 连接PLC.... -2025-03-07 15:50:56.9156 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-07 15:50:58.4221 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-07 15:50:58.4659 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-07 15:50:58.6570 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-07 15:50:59.0932 [ERROR] : PLC S7连接失败。 -2025-03-07 15:50:59.0932 [ERROR] : 连接PLC失败 -2025-03-07 15:51:50.4117 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2025-03-07 16:01:38.5863 [INFO] : --软件Program Main函数开始执行-- -2025-03-07 16:01:38.6472 [INFO] : 加载配置文件——>开始 -2025-03-07 16:01:38.6732 [INFO] : 加载配置文件——>完成 -2025-03-07 16:01:41.0239 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-07 16:01:41.5683 [INFO] : 启动PLC写线程! -2025-03-07 16:01:41.5683 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-07 16:01:41.6026 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-07 16:01:41.6026 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-07 16:01:41.6026 [INFO] : 连接PLC.... -2025-03-07 16:01:42.5115 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-07 16:01:42.5225 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-07 16:01:42.6752 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-07 16:01:43.7337 [ERROR] : PLC S7连接失败。 -2025-03-07 16:01:43.7407 [ERROR] : 连接PLC失败 -2025-03-07 16:03:25.7070 [INFO] : --软件Program Main函数开始执行-- -2025-03-07 16:03:25.7351 [INFO] : 加载配置文件——>开始 -2025-03-07 16:03:25.7526 [INFO] : 加载配置文件——>完成 -2025-03-07 16:03:28.1729 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-07 16:03:28.7326 [INFO] : 启动PLC写线程! -2025-03-07 16:03:28.7326 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-07 16:03:28.7326 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-07 16:03:28.7326 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-07 16:03:28.7386 [INFO] : 连接PLC.... -2025-03-07 16:03:29.6605 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-07 16:03:29.6605 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-07 16:03:29.8407 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-07 16:03:30.8301 [ERROR] : PLC S7连接失败。 -2025-03-07 16:03:30.8376 [ERROR] : 连接PLC失败 -2025-03-07 16:03:44.6581 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2025-03-07 16:06:21.0674 [INFO] : --软件Program Main函数开始执行-- -2025-03-07 16:06:21.1279 [INFO] : 加载配置文件——>开始 -2025-03-07 16:06:21.1552 [INFO] : 加载配置文件——>完成 -2025-03-07 16:06:23.5239 [INFO] : 进入显示车身模式!显示车身界面。 -2025-03-07 16:06:23.9591 [INFO] : 启动PLC写线程! -2025-03-07 16:06:23.9591 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-03-07 16:06:23.9591 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-03-07 16:06:23.9591 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-03-07 16:06:23.9591 [INFO] : 连接PLC.... -2025-03-07 16:06:26.0592 [ERROR] : PLC S7连接失败。 -2025-03-07 16:06:26.0674 [ERROR] : 连接PLC失败 -2025-03-07 16:06:26.1193 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-07 16:06:26.1321 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-03-07 16:06:26.3130 [INFO] : 显示右侧EHY车身数据界面。 -2025-03-07 16:06:31.1071 [INFO] : 存在EHY CSV文件,开始解析: -2025-03-07 16:06:31.1071 [INFO] : Copy D:\test\5mm_SelfTest_20250304_141005.csv TO D:\HexagonProjects\2024-20-奇瑞间隙面差\奇瑞间隙面差总装代码资料\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250304_141005.csv Done. 备份完成 -2025-03-07 16:06:31.1168 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250304_141005.csv -2025-03-07 16:06:31.1363 [INFO] : 解析NextSense 自检报告完毕!检查数量=4 -2025-03-07 16:06:31.1435 [INFO] : 开始生成客户所需要的CSV格式文件: -2025-03-07 16:06:31.1435 [INFO] : 客户自检报告生成完毕,路径为:D:\QMLTest\20250307160631_SelfMeasure20250307160631.csv -2025-03-07 16:10:12.2160 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- diff --git a/Analysis/bin/x64/Debug/logs/2025-05-19.log b/Analysis/bin/x64/Debug/logs/2025-05-19.log deleted file mode 100644 index 2a4f11a..0000000 --- a/Analysis/bin/x64/Debug/logs/2025-05-19.log +++ /dev/null @@ -1,70 +0,0 @@ -2025-05-19 11:04:49.4949 [INFO] : --软件Program Main函数开始执行-- -2025-05-19 11:04:49.5275 [INFO] : 加载配置文件——>开始 -2025-05-19 11:04:49.5531 [INFO] : 加载配置文件——>完成 -2025-05-19 11:04:51.5937 [INFO] : 进入显示车身模式!显示车身界面。 -2025-05-19 11:04:52.1524 [INFO] : 启动PLC写线程! -2025-05-19 11:04:52.1748 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-05-19 11:04:52.1787 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-05-19 11:04:52.1787 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-05-19 11:04:52.1787 [INFO] : 连接PLC.... -2025-05-19 11:04:52.9050 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-05-19 11:04:52.9188 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-05-19 11:04:53.0571 [INFO] : 显示右侧EHY车身数据界面。 -2025-05-19 11:04:54.2402 [ERROR] : PLC S7连接失败。 -2025-05-19 11:04:54.2402 [ERROR] : 连接PLC失败 -2025-05-19 11:06:28.9454 [INFO] : 存在EHY CSV文件,开始解析: -2025-05-19 11:06:28.9454 [INFO] : Copy D:\cherytestEHY\CheryEHY_20250519_102428.csv TO D:\HexagonProjects\2024-20-奇瑞间隙面差\奇瑞间隙面差总装代码资料\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEHY_20250519_102428.csv Done. 备份完成 -2025-05-19 11:06:28.9454 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\CheryEHY_20250519_102428.csv -2025-05-19 11:06:28.9454 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDFC0SDF39699 -2025-05-19 11:06:28.9454 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind -2025-05-19 11:06:28.9454 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码 -2025-05-19 11:06:29.4810 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。 -2025-05-19 11:06:32.2098 [INFO] : 解析NextSense EHY CSV 报告完毕!检查数量=56 -2025-05-19 11:06:32.2098 [INFO] : LNNBBDFC0SDF39699 EHY开始计算极差:============ -2025-05-19 11:06:32.2744 [INFO] : LNNBBDFC0SDF39699 EHY计算极差完成,并插入数据库:============ -2025-05-19 11:06:32.6131 [INFO] : 计算合格率的时:包含极差计算项! -2025-05-19 11:06:32.6422 [INFO] : 将总结果插入数据库完毕。 -2025-05-19 11:06:32.6422 [INFO] : 全部插入解析完毕,删除文件:CheryEHY_20250519_102428.csv -2025-05-19 11:06:32.6492 [INFO] : 开始生成客户所需要的CSV格式文件: -2025-05-19 11:06:32.6492 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20250519110632_LNNBBDFC0SDF39699.csv -2025-05-19 11:06:32.6492 [INFO] : EHY数据上传IOT功能未启用! -2025-05-19 11:14:21.6193 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2025-05-19 13:52:25.2061 [INFO] : --软件Program Main函数开始执行-- -2025-05-19 13:52:25.2313 [INFO] : 加载配置文件——>开始 -2025-05-19 13:52:25.2688 [INFO] : 加载配置文件——>完成 -2025-05-19 13:52:27.7669 [INFO] : 进入显示车身模式!显示车身界面。 -2025-05-19 13:52:28.6190 [INFO] : 启动PLC写线程! -2025-05-19 13:52:28.6190 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-05-19 13:52:28.6190 [INFO] : 连接PLC.... -2025-05-19 13:52:28.6581 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-05-19 13:52:28.6581 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-05-19 13:52:29.7100 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-05-19 13:52:29.7387 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-05-19 13:52:29.9326 [INFO] : 显示右侧EHY车身数据界面。 -2025-05-19 13:52:30.7808 [ERROR] : PLC S7连接失败。 -2025-05-19 13:52:30.7829 [ERROR] : 连接PLC失败 -2025-05-19 13:52:34.9668 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2025-05-19 13:53:16.5244 [INFO] : --软件Program Main函数开始执行-- -2025-05-19 13:53:16.5496 [INFO] : 加载配置文件——>开始 -2025-05-19 13:53:16.5664 [INFO] : 加载配置文件——>完成 -2025-05-19 13:53:18.4446 [INFO] : 进入显示车身模式!显示车身界面。 -2025-05-19 13:53:18.8856 [INFO] : 启动PLC写线程! -2025-05-19 13:53:18.8856 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-05-19 13:53:18.8924 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-05-19 13:53:18.8924 [INFO] : 连接PLC.... -2025-05-19 13:53:18.9161 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-05-19 13:53:20.9581 [ERROR] : PLC S7连接失败。 -2025-05-19 13:53:39.3498 [ERROR] : 连接PLC失败 -2025-05-19 13:53:39.8037 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-05-19 13:53:39.8353 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997 -2025-05-19 13:53:40.1225 [INFO] : 显示右侧EHY车身数据界面。 -2025-05-19 13:53:43.1508 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- -2025-05-19 14:11:36.4894 [INFO] : --软件Program Main函数开始执行-- -2025-05-19 14:11:36.5783 [INFO] : 加载配置文件——>开始 -2025-05-19 14:11:36.6233 [INFO] : 数据库连接 SqlServerName:127.0.0.1 -2025-05-19 14:11:36.6233 [INFO] : 数据库连接 SqlUserName:sa -2025-05-19 14:11:36.6233 [INFO] : 数据库连接 SqlPassword:Hexagon123 -2025-05-19 14:11:36.6233 [INFO] : 数据库连接 SqlDbName:NextSenseStandardDB -2025-05-19 14:11:36.6297 [INFO] : 加载配置文件——>完成 -2025-05-19 14:11:36.6297 [INFO] : Log in using the CLMS authorization. -2025-05-19 14:11:36.7570 [INFO] : CLMS check license failed! Please authorize the operation. diff --git a/Analysis/bin/x64/Debug/logs/2025-08-01.log b/Analysis/bin/x64/Debug/logs/2025-08-01.log deleted file mode 100644 index a336959..0000000 --- a/Analysis/bin/x64/Debug/logs/2025-08-01.log +++ /dev/null @@ -1,9 +0,0 @@ -2025-08-01 17:24:11.8007 [INFO] : --软件Program Main函数开始执行-- -2025-08-01 17:24:11.8149 [INFO] : 加载配置文件——>开始 -2025-08-01 17:24:11.8342 [INFO] : 数据库连接 SqlServerName:127.0.0.1 -2025-08-01 17:24:11.8342 [INFO] : 数据库连接 SqlUserName:sa -2025-08-01 17:24:11.8342 [INFO] : 数据库连接 SqlPassword:Hexagon123 -2025-08-01 17:24:11.8342 [INFO] : 数据库连接 SqlDbName:NextSenseStandardDB -2025-08-01 17:24:11.8342 [INFO] : 加载配置文件——>完成 -2025-08-01 17:24:11.8342 [INFO] : Log in using the CLMS authorization. -2025-08-01 17:24:12.0011 [INFO] : CLMS check license failed! Please authorize the operation. diff --git a/Analysis/bin/x64/Debug/logs/2025-08-04.log b/Analysis/bin/x64/Debug/logs/2025-08-04.log index adccc5a..8ece8a8 100644 --- a/Analysis/bin/x64/Debug/logs/2025-08-04.log +++ b/Analysis/bin/x64/Debug/logs/2025-08-04.log @@ -1,46 +1,427 @@ -2025-08-04 09:57:55.6200 [INFO] : --软件Program Main函数开始执行-- -2025-08-04 09:57:55.7354 [INFO] : 加载配置文件——>开始 -2025-08-04 09:57:55.7546 [INFO] : 数据库连接 SqlServerName:127.0.0.1 -2025-08-04 09:57:55.7546 [INFO] : 数据库连接 SqlUserName:sa -2025-08-04 09:57:55.7546 [INFO] : 数据库连接 SqlPassword:Hexagon123 -2025-08-04 09:57:55.7546 [INFO] : 数据库连接 SqlDbName:NextSenseStandardDB -2025-08-04 09:57:55.7546 [INFO] : 加载配置文件——>完成 -2025-08-04 09:57:55.7546 [INFO] : Log in using the CLMS authorization. -2025-08-04 09:57:55.8876 [INFO] : CLMS check license failed! Please authorize the operation. -2025-08-04 10:07:25.3267 [INFO] : --软件Program Main函数开始执行-- -2025-08-04 10:07:25.3760 [INFO] : 加载配置文件——>开始 -2025-08-04 10:07:25.3760 [INFO] : 数据库连接 SqlServerName:127.0.0.1 -2025-08-04 10:07:25.3760 [INFO] : 数据库连接 SqlUserName:sa -2025-08-04 10:07:25.3760 [INFO] : 数据库连接 SqlPassword:Hexagon123 -2025-08-04 10:07:25.3760 [INFO] : 数据库连接 SqlDbName:NextSenseStandardDB -2025-08-04 10:07:25.3760 [INFO] : 加载配置文件——>完成 -2025-08-04 10:07:27.4662 [INFO] : 数据库连接 SqlServerName:127.0.0.1 -2025-08-04 10:07:27.4673 [INFO] : 数据库连接 SqlUserName:sa -2025-08-04 10:07:27.4673 [INFO] : 数据库连接 SqlPassword:Hexagon123 -2025-08-04 10:07:27.4673 [INFO] : 数据库连接 SqlDbName:NextSenseStandardDB -2025-08-04 10:07:27.4673 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=NextSenseStandardDB;User ID=sa;password=Hexagon123; -2025-08-04 10:07:27.7771 [INFO] : 进入显示车身模式!显示车身界面。 -2025-08-04 10:07:28.2491 [INFO] : 启动PLC写线程! -2025-08-04 10:07:28.2850 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-08-04 10:07:28.2850 [INFO] : 连接PLC.... -2025-08-04 10:07:28.2850 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-08-04 10:07:28.2850 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-08-04 10:07:30.3726 [ERROR] : PLC S7连接失败。 -2025-08-04 10:07:30.3778 [ERROR] : 连接PLC失败 -2025-08-04 11:42:26.6915 [INFO] : --软件Program Main函数开始执行-- -2025-08-04 11:42:26.7063 [INFO] : 加载配置文件——>开始 -2025-08-04 11:42:26.7258 [INFO] : 数据库连接 SqlServerName:127.0.0.1 -2025-08-04 11:42:26.7258 [INFO] : 数据库连接 SqlUserName:sa -2025-08-04 11:42:26.7258 [INFO] : 数据库连接 SqlPassword:Hexagon123 -2025-08-04 11:42:26.7258 [INFO] : 数据库连接 SqlDbName:NextSenseStandardDB -2025-08-04 11:42:26.7258 [INFO] : 加载配置文件——>完成 -2025-08-04 11:42:28.4820 [INFO] : 数据库连接 SqlServerName:127.0.0.1 -2025-08-04 11:42:28.4820 [INFO] : 数据库连接 SqlUserName:sa -2025-08-04 11:42:28.4820 [INFO] : 数据库连接 SqlPassword:Hexagon123 -2025-08-04 11:42:28.4820 [INFO] : 数据库连接 SqlDbName:NextSenseStandardDB -2025-08-04 11:42:28.4820 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=NextSenseStandardDB;User ID=sa;password=Hexagon123; -2025-08-04 11:42:28.8521 [INFO] : 进入显示车身模式!显示车身界面。 -2025-08-04 11:42:28.8521 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件! -2025-08-04 11:42:28.8521 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3 -2025-08-04 11:42:28.8521 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY -2025-08-04 11:42:32.8197 [INFO] : -------------海克斯康面隙分析软件程序关闭--------------------- +2025-08-04 14:30:51.0578 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 14:30:51.1095 [INFO] : 加载配置文件——>开始 +2025-08-04 14:30:51.1479 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 14:31:26.1003 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 14:31:26.1991 [INFO] : 加载配置文件——>开始 +2025-08-04 14:31:26.2279 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 14:31:26.8686 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 14:31:26.8686 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 14:31:26.8686 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 14:31:26.8686 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 14:31:26.8686 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 14:33:43.7390 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 14:33:43.7937 [INFO] : 加载配置文件——>开始 +2025-08-04 14:33:43.8264 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 14:33:44.5226 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 14:33:44.5226 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 14:33:44.5226 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 14:33:44.5226 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 14:33:44.5226 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 14:37:47.6960 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 14:37:47.7503 [INFO] : 加载配置文件——>开始 +2025-08-04 14:37:47.7825 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 14:37:48.4207 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 14:37:48.4227 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 14:37:48.4227 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 14:37:48.4227 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 14:37:48.4227 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 14:39:21.9938 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 14:39:22.0485 [INFO] : 加载配置文件——>开始 +2025-08-04 14:39:22.0773 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 14:39:22.7450 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 14:39:22.7450 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 14:39:22.7450 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 14:39:22.7450 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 14:39:22.7450 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 14:40:03.1410 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 14:40:03.1627 [INFO] : 加载配置文件——>开始 +2025-08-04 14:40:03.1876 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 14:40:03.8046 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 14:40:03.8046 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 14:40:03.8046 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 14:40:03.8046 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 14:40:03.8046 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 14:43:39.5797 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 14:43:39.5940 [INFO] : 加载配置文件——>开始 +2025-08-04 14:43:39.6190 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 14:43:40.2453 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 14:43:40.2453 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 14:43:40.2478 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 14:43:40.2478 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 14:43:40.2478 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 14:47:40.7953 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 14:47:40.8732 [INFO] : 加载配置文件——>开始 +2025-08-04 14:47:40.8998 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 14:47:41.5160 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 14:47:41.5160 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 14:47:41.5160 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 14:47:41.5160 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 14:47:41.5160 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 14:52:45.5630 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 14:52:45.5761 [INFO] : 加载配置文件——>开始 +2025-08-04 14:52:45.6015 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 14:52:46.2513 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 14:52:46.2513 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 14:52:46.2513 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 14:52:46.2513 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 14:52:46.2513 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 14:53:37.1223 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 14:53:37.2014 [INFO] : 加载配置文件——>开始 +2025-08-04 14:53:37.2266 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 14:53:37.8373 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 14:53:37.8373 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 14:53:37.8373 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 14:53:37.8373 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 14:53:37.8373 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 14:57:34.5624 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 14:57:34.6195 [INFO] : 加载配置文件——>开始 +2025-08-04 14:57:34.6772 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 14:57:35.3365 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 14:57:35.3365 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 14:57:35.3365 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 14:57:35.3365 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 14:57:35.3365 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:00:52.9535 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:00:53.0359 [INFO] : 加载配置文件——>开始 +2025-08-04 15:00:53.0612 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:00:53.7219 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:00:53.7219 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:00:53.7219 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:00:53.7219 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:00:53.7252 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:02:25.0271 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:02:25.0807 [INFO] : 加载配置文件——>开始 +2025-08-04 15:02:25.1533 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:02:25.7768 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:02:25.7768 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:02:25.7768 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:02:25.7768 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:02:25.7768 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:03:26.2318 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:03:26.2531 [INFO] : 加载配置文件——>开始 +2025-08-04 15:03:26.2778 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:03:26.9228 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:03:26.9228 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:03:26.9228 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:03:26.9228 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:03:26.9228 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:03:58.0695 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:03:58.0906 [INFO] : 加载配置文件——>开始 +2025-08-04 15:03:58.1066 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:03:58.7631 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:03:58.7631 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:03:58.7631 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:03:58.7631 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:03:58.7631 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:04:14.3796 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:04:14.3971 [INFO] : 加载配置文件——>开始 +2025-08-04 15:04:14.4227 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:04:15.1016 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:04:15.1016 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:04:15.1016 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:04:15.1016 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:04:15.1016 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:06:28.3949 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:06:28.4127 [INFO] : 加载配置文件——>开始 +2025-08-04 15:06:28.4368 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:06:29.0509 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:06:29.0509 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:06:29.0509 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:06:29.0509 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:06:29.0509 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:06:49.3713 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:06:49.3930 [INFO] : 加载配置文件——>开始 +2025-08-04 15:06:49.4090 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:06:50.0364 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:06:50.0364 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:06:50.0364 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:06:50.0364 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:06:50.0364 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:11:34.0705 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:11:34.0931 [INFO] : 加载配置文件——>开始 +2025-08-04 15:11:34.1214 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:11:34.8976 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:11:34.8976 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:11:34.8976 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:11:34.8976 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:11:34.8976 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:23:26.7902 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:23:26.9214 [INFO] : 加载配置文件——>开始 +2025-08-04 15:23:26.9463 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:23:27.5924 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:23:27.5924 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:23:27.5924 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:23:27.5924 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:23:27.5954 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:26:58.6108 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:26:58.6338 [INFO] : 加载配置文件——>开始 +2025-08-04 15:26:58.6609 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:26:59.3065 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:26:59.3065 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:26:59.3065 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:26:59.3065 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:26:59.3065 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:51:24.7088 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:51:24.7323 [INFO] : 加载配置文件——>开始 +2025-08-04 15:51:24.7618 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:51:25.4600 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:51:25.4600 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:51:25.4600 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:51:25.4600 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:51:25.4600 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:53:36.7657 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:53:36.7833 [INFO] : 加载配置文件——>开始 +2025-08-04 15:53:36.8088 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:53:37.4255 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:53:37.4255 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:53:37.4255 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:53:37.4255 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:53:37.4255 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:54:16.4547 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:54:16.4734 [INFO] : 加载配置文件——>开始 +2025-08-04 15:54:16.4989 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:54:17.1035 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:54:17.1035 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:54:17.1035 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:54:17.1035 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:54:17.1035 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:55:02.6856 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:55:02.7096 [INFO] : 加载配置文件——>开始 +2025-08-04 15:55:02.7328 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:55:03.3679 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:55:03.3679 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:55:03.3679 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:55:03.3679 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:55:03.3679 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 15:57:44.2242 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 15:57:44.2474 [INFO] : 加载配置文件——>开始 +2025-08-04 15:57:44.2718 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 15:57:44.9221 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 15:57:44.9221 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 15:57:44.9221 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 15:57:44.9221 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 15:57:44.9221 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:01:18.8725 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:01:18.9226 [INFO] : 加载配置文件——>开始 +2025-08-04 16:01:18.9457 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:01:19.5612 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:01:19.5612 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:01:19.5612 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:01:19.5612 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:01:19.5612 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:05:21.9055 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:05:21.9201 [INFO] : 加载配置文件——>开始 +2025-08-04 16:05:21.9463 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:05:22.6363 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:05:22.6363 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:05:22.6363 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:05:22.6363 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:05:22.6363 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:17:03.6001 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:17:03.7278 [INFO] : 加载配置文件——>开始 +2025-08-04 16:17:03.7552 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:17:04.4157 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:17:04.4157 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:17:04.4157 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:17:04.4157 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:17:04.4157 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:22:16.0485 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:22:16.0665 [INFO] : 加载配置文件——>开始 +2025-08-04 16:22:16.0947 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:22:16.7974 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:22:16.7974 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:22:16.7974 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:22:16.7974 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:22:16.7974 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:23:09.5934 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:23:09.6722 [INFO] : 加载配置文件——>开始 +2025-08-04 16:23:09.6983 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:23:10.3230 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:23:10.3230 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:23:10.3230 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:23:10.3230 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:23:10.3230 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:23:21.5035 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:23:21.5605 [INFO] : 加载配置文件——>开始 +2025-08-04 16:23:21.5776 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:23:22.2136 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:23:22.2136 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:23:22.2159 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:23:22.2159 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:23:22.2159 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:28:32.8526 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:28:32.8741 [INFO] : 加载配置文件——>开始 +2025-08-04 16:28:32.9101 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:28:33.6072 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:28:33.6072 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:28:33.6072 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:28:33.6072 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:28:33.6072 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:33:34.6046 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:33:34.6441 [INFO] : 加载配置文件——>开始 +2025-08-04 16:33:34.6771 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:33:35.3249 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:33:35.3249 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:33:35.3249 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:33:35.3329 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:33:35.3329 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:42:50.0204 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:42:50.0457 [INFO] : 加载配置文件——>开始 +2025-08-04 16:42:50.0741 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:42:50.7710 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:42:50.7710 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:42:50.7710 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:42:50.7710 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:42:50.7710 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:45:31.2145 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:45:31.2315 [INFO] : 加载配置文件——>开始 +2025-08-04 16:45:31.3257 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:45:32.1409 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:45:32.1409 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:45:32.1409 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:45:32.1409 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:45:32.1409 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; diff --git a/CheryFianlAssemblyLine.sln b/CheryFianlAssemblyLine.sln index 637bc1e..33c47a6 100644 --- a/CheryFianlAssemblyLine.sln +++ b/CheryFianlAssemblyLine.sln @@ -1,9 +1,9 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 -VisualStudioVersion = 17.12.35707.178 d17.12 +VisualStudioVersion = 17.12.35707.178 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "9.Analysis", "Analysis\9.Analysis.csproj", "{7C83975D-A071-48E0-8A12-DAFD20525B66}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NXSAnalysis", "Analysis\NXSAnalysis.csproj", "{7C83975D-A071-48E0-8A12-DAFD20525B66}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution