#009 优化解析,分发逻辑

This commit is contained in:
HM-CN\zhengxuan.zhang
2025-08-18 15:02:31 +08:00
parent 7da05e900b
commit a15d9efd64
15 changed files with 725 additions and 708 deletions
+10
View File
@@ -258,9 +258,19 @@ namespace BaseFunction
try
{
if (rleMessage != null)
{
//rleMessage.Text = str;
if (rleMessage != null && rleMessage.ElementTree != null && rleMessage.ElementTree.Control.InvokeRequired)
{
rleMessage.ElementTree.Control.Invoke(new Action(() => rleMessage.Text = str));
}
else if (rleMessage != null)
{
rleMessage.Text = str;
}
}
if (str.Contains("警告") || str.ToUpper().Contains("WARN"))
{
NLogger.Warn(str);
+252 -19
View File
@@ -2,10 +2,12 @@
using NSAnalysis.DAL;
using NSAnalysis.Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.IO;
namespace NSAnalysis.BaseUnit
namespace NSAnalysis
{
public class FileSorter
{
@@ -16,10 +18,16 @@ namespace NSAnalysis.BaseUnit
public int readColIndex = 1; // 默认读取第2列(从0开始计数)
public event Action<string> OnLog; // 日志事件
public event Action<string> OnFileParsed; // 解析完成后通知文件名
public FileSorter()
{
//SQLHelper.connStr = DatabaseDfn.SqlConnectStr();
}
// 主逻辑处理
public void ProcessFiles()
{
var tasks = GetTaskRecords();
@@ -32,14 +40,14 @@ namespace NSAnalysis.BaseUnit
string targetDir = task["targetFile"].ToString();
// 打印信息
MyBase.TraceWriteLine($"Processing Task - Source: {sourceDir}, Target: {targetDir}, ModelCode: {modelCode} Position: {position}");
Trace($"Processing Task - Source: {sourceDir}, Target: {targetDir}, ModelCode: {modelCode} Position: {position}");
if (Directory.Exists(sourceDir))
{
ProcessDirectory(sourceDir, targetDir, modelCode, modelName, position);
}
else
{
MyBase.TraceWriteLine($"[ProcessFiles] 源文件地址不存在或错误: {sourceDir}");
Trace($"[ProcessFiles] 源文件地址不存在或错误: {sourceDir}");
//记录到数据库
try
@@ -61,36 +69,34 @@ namespace NSAnalysis.BaseUnit
}
catch (Exception ex)
{
MyBase.TraceWriteLine($"[ProcessFiles] 记录错误到数据库失败: {ex.Message}");
}
finally
{
MyBase.TraceWriteLine($"[ProcessFiles] 源文件地址不存在或错误: {sourceDir}");
Trace($"[ProcessFiles] 记录错误到数据库失败: {ex.Message}");
}
}
}
}
// 获取任务记录
private DataTable GetTaskRecords()
{
SQLHelper.connStr = DatabaseDfn.SqlConnectStr();
DataTable dt = _dal.SelectTaskByCondition("", "", "start");
//打印 dt
PrintDataTable(dt);
if (dt == null || dt.Rows.Count == 0)
{
MyBase.TraceWriteLine("No tasks found.");
Trace("未发现移动任务.");
return null;
}
return dt;
}
// 处理目录中的文件
private void ProcessDirectory(string sourceDir, string targetDir, string modelCode, string modelName, string position)
{
// 匹配信息
string matchStr = $"{modelCode}_{position}";
MyBase.TraceWriteLine($"Matching files with: {matchStr}");
Trace($"匹配文件特征符: {matchStr}");
// 判断目标目录是否存在,如果不存在记录到日志
@@ -98,19 +104,24 @@ namespace NSAnalysis.BaseUnit
if (!Directory.Exists(targetDir))
{
Directory.CreateDirectory(targetDir);
MyBase.TraceWriteLine($"Created target directory: {targetDir}");
Trace($"创建目标文件夹: {targetDir}");
}
// 遍历源目录中的所有CSV文件
foreach (string file in Directory.GetFiles(sourceDir, "*.csv"))
{
// 打印正在处理的文件
MyBase.TraceWriteLine($"Processing file: {file}");
Trace($"正在处理文件 : {file}");
// 解析入库
AnalysisNxsCSV(file);
// 分发逻辑
if (MatchCsvValue(file, matchStr, readRowIndex, readColIndex))
{
string destFile = Path.Combine(targetDir, Path.GetFileName(file));
File.Move(file, destFile);
MyBase.TraceWriteLine($"Moved: {file} -> {destFile}");
Trace($"移动完成,: {file} -> {destFile}");
//插入分发详情
CjlrTaskReleaseDetailModel detailModel = new CjlrTaskReleaseDetailModel
@@ -129,7 +140,7 @@ namespace NSAnalysis.BaseUnit
}
else
{
MyBase.TraceWriteLine($"No match for file: {file}");
Trace($"未匹配到文件: {file}");
//记录到数据库
CjlrTaskReleaseDetailModel detailModel = new CjlrTaskReleaseDetailModel
@@ -150,7 +161,7 @@ namespace NSAnalysis.BaseUnit
}
catch (Exception ex)
{
MyBase.TraceWriteLine($"记录错误到数据库失败: {ex.Message}");
Trace($"记录错误到数据库失败: {ex.Message}");
}
}
}
@@ -189,13 +200,12 @@ namespace NSAnalysis.BaseUnit
}
}
// 编写一个打印 DataTable 对象的方法,输入是对象
public static void PrintDataTable(DataTable dt)
{
if (dt == null || dt.Rows.Count == 0)
{
MyBase.TraceWriteLine("DataTable is empty or null.");
MyBase.TraceWriteLine("[PrintDataTable] DataTable is empty or null.");
return;
}
foreach (DataColumn column in dt.Columns)
@@ -213,7 +223,231 @@ namespace NSAnalysis.BaseUnit
}
}
// 导入CSV文件到数据库
public void ImportCsv2Sql(string filePath)
{
var records = new List<CJLR_MeaDataModel>();
var lineNo = 0; // 行号计数器
try
{
using (var reader = new StreamReader(filePath))
{
// Skip header
reader.ReadLine();
lineNo = 1; // 初始化行号计数器
while (!reader.EndOfStream)
{
lineNo++; // 增加行号计数器
var line = reader.ReadLine();
var values = line.Split(','); // 假设 CSV 使用制表符分隔
// 跳过前两行(如果有标题行或其他非数据行
if (string.IsNullOrWhiteSpace(line) || line.StartsWith("#") || line.StartsWith("//") || line.StartsWith("MeasPoint.Name"))
{
continue; // 跳过空行或注释行
}
// 跳过前两行(如果有标题行或其他非数据行)
if (values.Length < 22)
{
MyBase.TraceWriteLine("CSV行数据不完整,跳过该行:" + line);
continue; // 跳过不完整的行
}
// 判断 values[2] 是否为 ,如果是则跳过该行
if (string.IsNullOrEmpty(values[2]))
{
MyBase.TraceWriteLine($"第 {lineNo} 行数据为0,跳过该行:" + line);
continue; // 跳过该行
}
// 创建 MeasurementRecord 对象并填充数据
var record = new CJLR_MeaDataModel
{
PointName = values[0],
GroupName = values[1],
ProductNum = values[2],
Model = values[3],
Station = values[4],
Method = values[5],
Standard = values[6],
DimensionName = values[7],
DimensionValue = values[8],
DimensionUnit = values[9],
IsManual = bool.Parse(values[10]),
Classification = values[11],
ToleranceName0 = values[12],
ToleranceLower0 = values[13],
ToleranceUpper0 = values[14],
ToleranceName1 = values[15],
ToleranceLower1 = values[16],
ToleranceUpper1 = values[17],
NominalValue = values[18],
MeasureDate = DateTime.ParseExact(values[19], "yyyyMMdd", CultureInfo.InvariantCulture),
MeasureTime = TimeSpan.ParseExact(values[20], "hhmmss", CultureInfo.InvariantCulture),
SequenceNum = int.Parse(values[21])
};
records.Add(record);
}
}
}
catch (Exception ex)
{
MyBase.TraceWriteLine("导入CSV文件时发生错误:" + ex.Message);
return;
}
try
{
// 取第一条记录的时间作为测量时间
if (records.Count > 0)
{
var firstRecord = records[0];
ConfigDfn.strMeasureTime = firstRecord.MeasureDate.ToString("yyyy-MM-dd") + " " + firstRecord.MeasureTime.ToString(@"hh\:mm\:ss");
// 获取车号
MyBase.TraceWriteLine("--------------------------------------------------------");
ConfigDfn.strEquipNo = firstRecord.ProductNum;
MyBase.TraceWriteLine("车号:" + ConfigDfn.strEquipNo);
//获取车型
ConfigDfn.strCarModel = firstRecord.Model;
MyBase.TraceWriteLine("车型:" + ConfigDfn.strCarModel);
MyBase.TraceWriteLine("测量时间:" + ConfigDfn.strMeasureTime);
}
else
{
MyBase.TraceWriteLine("没有找到有效的测量记录,无法设置测量时间。");
// 将文件移动到 未导入文件夹,如果不存在则新建该文件夹
//string strNotImportPath = ConfigDfn.strFileFolder + "\\NextSenseCSVNotImport\\";
//if (!Directory.Exists(strNotImportPath))
//{
// Directory.CreateDirectory(strNotImportPath);
//}
//string destFilePath = Path.Combine(strNotImportPath, Path.GetFileName(filePath));
//File.Move(filePath, destFilePath);
//MyBase.TraceWriteLine("将文件移动到未导入文件夹,路径为:" + destFilePath);
return;
}
// 逐条插入数据到数据库
foreach (var record in records)
{
_dal.InsertCJLRMeaData(record);
}
MyBase.TraceWriteLine("CSV文件导入到数据库成功!");
MyBase.TraceWriteLine("--------------------------------------------------------");
}
catch (Exception ex)
{
MyBase.TraceWriteLine("导入CSV文件时发生错误:" + ex.Message);
}
}
//解析EH3 CSV文件函数
public void AnalysisNxsCSV(string strCSVName)
{
// 判断文件是否存在
if (!File.Exists(strCSVName))
{
MyBase.TraceWriteLine("文件不存在:" + strCSVName);
return;
}
try
{
// 解析 CSV 文件并导入到数据库
ImportCsv2Sql(strCSVName);
// 解析完成后触发事件
if (!string.IsNullOrEmpty(ConfigDfn.strEquipNo))
{
OnFileParsed?.Invoke(ConfigDfn.strEquipNo);
}
}
catch (Exception ex)
{
MyBase.TraceWriteLine("解析 CSV 文件时发生错误:" + ex.Message);
}
}
private void GenCustomerReport()
{
//#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();
//}
//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 解析完报告后,重新生成客户模板报告
}
private void Trace(string msg)
{
OnLog?.Invoke(msg);
MyBase.TraceWriteLine(msg); // 保持原有日志
}
// 测试方法
public void test()
{
SQLHelper.connStr = DatabaseDfn.SqlConnectStr();
@@ -221,6 +455,5 @@ namespace NSAnalysis.BaseUnit
//bool result = MatchCsvValue(testPath, "X540_L", 3, 1);
//MyBase.TraceWriteLine($"匹配结果: {result}");
}
}
}
@@ -56,5 +56,6 @@
/// Remark 备注
/// </summary>
public string Remark { get; set; }
}
}
+6 -2
View File
@@ -84,16 +84,20 @@ namespace NSAnalysis.DAL
public static int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct)
{
int res = 0;
using (cmd = new SqlCommand(cmdText, GetConn()))
using (var conn = new SqlConnection(connStr))
{
conn.Open();
using (var cmd = new SqlCommand(cmdText, conn))
{
cmd.CommandType = ct;
cmd.Parameters.AddRange(paras);
res = cmd.ExecuteNonQuery();
}
}
return res;
}
#endregion SQL语句或存储过程 int类型
#region SQL语句或存储过程 DataTable类型
+3 -2
View File
@@ -83,7 +83,7 @@ namespace NSAnalysis
public static double dFPY = 0.8;
public static double dFPY2 = 0.6;
public static string strCarModel = "";
public static string strCarModel = ""; //车型
public static string strEquipNo = "";
public static string strEquipName = "";
public static string strIOTAddress = "";
@@ -134,7 +134,6 @@ namespace NSAnalysis
bRememberMe = FileIni.ReadBool(ConfigDfn.strConfigFile, strSection, "RememberMe", 0);
strNextSenseCSVEH3Path = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "NextsenseCSVEH3Path");
strPwd = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "Password");
iCreateReportFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "CreateReportFlag");
strUploadPath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "tavascanUploadPath");
@@ -148,6 +147,8 @@ namespace NSAnalysis
iIncludeRangeFlag = FileIni.ReadInt(strConfigFile, strSection, "IncludeRangeFlag");
iMeasureItemsCount = FileIni.ReadInt(strConfigFile, strSection, "MeasureCarItemsCount");
#endregion
}
+44 -266
View File
@@ -5,13 +5,11 @@ using NSAnalysis.Model;
using NSAnalysis.Properties;
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Telerik.WinControls;
using Telerik.WinControls.UI;
@@ -20,17 +18,18 @@ namespace NSAnalysis
{
public partial class FormMain : Telerik.WinControls.UI.ShapedForm
{
private Timer fileSortTimer = new Timer(); // 定时器,用于定时分发任务
private FileSorter fileSorter = new FileSorter();
#region
private int[] yValues = new int[3];
private string[] xValues = new string[3];
private DataTable dtCSVContent = new DataTable();
private DataTable dtRangeData = new DataTable();
private CjlrDAL tmdal = new CjlrDAL();
private string strSaveReprotPath = "";
private bool bReadCSVFlag = false;
private int iCurrentMeasureItemsFailedCount = 0;
private CjlrDAL tmdal = new CjlrDAL();
private bool bReadCSVFlag = false;
private int iLastMesureCount = 0;
@@ -83,20 +82,15 @@ namespace NSAnalysis
rdtpStartTime.Text = DateTime.Now.ToString("yyyy-MM-dd");
rdtpEndTime.Text = DateTime.Now.ToString("yyyy-MM-dd");
MyBase.TraceWriteLine(" 进入解析CSV文件模式,开始解析扫码CSV文件!");
tmReadNextsenseCSV.Interval = 5000;
tmReadNextsenseCSV.Start();
// 定时处理任务
fileSortTimer.Interval = 10000; // 每60秒检查一次分发任务
fileSortTimer.Tick += FileSortTimer_Tick;
fileSortTimer.Start();
// 订阅处理中事件
fileSorter.OnFileParsed += FileSorter_OnFileParsed;
if (Directory.Exists(ConfigDfn.strNextSenseCSVEH3Path))
{
MyBase.TraceWriteLine("软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:" + ConfigDfn.strNextSenseCSVEH3Path);
}
else
{
string strTip = "错误:软件首次启动,读取NextSense生成EH3 CSV报告的路径:" + ConfigDfn.strNextSenseCSVEH3Path + " 不存在!请检查并进行修改!点击是按钮,软件将自动创建该路径!";
MyBase.TraceWriteLine(strTip);
Directory.CreateDirectory(ConfigDfn.strNextSenseCSVEH3Path);
}
//绑定按钮
lpcSoftwareSetup.labPicture.Click += new EventHandler(lpcSoftwareSetup_Click);
@@ -128,7 +122,7 @@ namespace NSAnalysis
#endregion
InitTableColumns();
strSaveReprotPath = ConfigDfn.strReportPath + @"\";
}
private void InitTableColumns()
@@ -175,14 +169,6 @@ namespace NSAnalysis
DataColumn dcRemark = new DataColumn("Remark", Type.GetType("System.String"));
//将列添加到table表中
dtRangeData.Columns.Add(dcCarID);
dtRangeData.Columns.Add(dcRangeName);
dtRangeData.Columns.Add(dcRangeValue);
dtRangeData.Columns.Add(dcRangeLowUpp);
dtRangeData.Columns.Add(dcResult);
dtRangeData.Columns.Add(dcCreateTime);
dtRangeData.Columns.Add(dcRemark);
#endregion Table初始化
#region
@@ -238,6 +224,8 @@ namespace NSAnalysis
System.Environment.Exit(0);
}
#endregion
private void tmSystem_Tick(object sender, EventArgs e)
{
rleTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
@@ -246,186 +234,28 @@ namespace NSAnalysis
bReadCSVFlag = !bReadCSVFlag;
}
#endregion
private void tmReadNextsenseCSV_Tick(object sender, EventArgs e)
private void FileSortTimer_Tick(object sender, EventArgs e) //分发定时器
{
tmReadNextsenseCSV.Stop();
//AnalysisNxsCSV();
tmReadNextsenseCSV.Start();
}
public void ImportCsv2Sql(string filePath)
// 后台运行,避免阻塞UI
Task.Run(() =>
{
var records = new List<CJLR_MeaDataModel>();
var lineNo = 0; // 行号计数器
decimal dimensionValue;
using (var reader = new StreamReader(filePath))
{
// Skip header
reader.ReadLine();
lineNo = 1; // 初始化行号计数器
while (!reader.EndOfStream)
{
lineNo++; // 增加行号计数器
var line = reader.ReadLine();
var values = line.Split(','); // 假设 CSV 使用制表符分隔
// 跳过前两行(如果有标题行或其他非数据行
if (string.IsNullOrWhiteSpace(line) || line.StartsWith("#") || line.StartsWith("//") || line.StartsWith("MeasPoint.Name"))
{
continue; // 跳过空行或注释行
}
// 跳过前两行(如果有标题行或其他非数据行)
if (values.Length < 22)
{
MyBase.TraceWriteLine("CSV行数据不完整,跳过该行:" + line);
continue; // 跳过不完整的行
}
if (!decimal.TryParse(values[8], NumberStyles.Any, CultureInfo.InvariantCulture, out dimensionValue))
{
MyBase.TraceWriteLine($"CSV第{lineNo}行,DimensionValue字段格式不正确,值为:{values[8]},跳过该行。");
continue; // 跳过该行
}
// 创建 MeasurementRecord 对象并填充数据
var record = new CJLR_MeaDataModel
{
PointName = values[0],
GroupName = values[1],
ProductNum = values[2],
Model = values[3],
Station = values[4],
Method = values[5],
Standard = values[6],
DimensionName = values[7],
DimensionValue = decimal.Parse(values[8], CultureInfo.InvariantCulture),
DimensionUnit = values[9],
IsManual = bool.Parse(values[10]),
Classification = values[11],
ToleranceName0 = values[12],
ToleranceLower0 = decimal.Parse(values[13], CultureInfo.InvariantCulture),
ToleranceUpper0 = decimal.Parse(values[14], CultureInfo.InvariantCulture),
ToleranceName1 = values[15],
ToleranceLower1 = decimal.Parse(values[16], CultureInfo.InvariantCulture),
ToleranceUpper1 = decimal.Parse(values[17], CultureInfo.InvariantCulture),
NominalValue = decimal.Parse(values[18], CultureInfo.InvariantCulture),
MeasureDate = DateTime.ParseExact(values[19], "yyyyMMdd", CultureInfo.InvariantCulture),
MeasureTime = TimeSpan.ParseExact(values[20], "hhmmss", CultureInfo.InvariantCulture),
SequenceNum = int.Parse(values[21])
};
records.Add(record);
}
}
try
{
// 取第一条记录的时间作为测量时间
if (records.Count > 0)
{
var firstRecord = records[0];
ConfigDfn.strMeasureTime = firstRecord.MeasureDate.ToString("yyyy-MM-dd") + " " + firstRecord.MeasureTime.ToString(@"hh\:mm\:ss");
// 获取车号
MyBase.TraceWriteLine("--------------------------------------------------------");
var strCarID = firstRecord.ProductNum;
MyBase.TraceWriteLine("车号:" + strCarID);
//获取车型
ConfigDfn.strCarModel = firstRecord.Model;
MyBase.TraceWriteLine("车型:" + ConfigDfn.strCarModel);
MyBase.TraceWriteLine("测量时间:" + ConfigDfn.strMeasureTime);
}
else
{
MyBase.TraceWriteLine("没有找到有效的测量记录,无法设置测量时间。");
// 将文件移动到 未导入文件夹,如果不存在则新建该文件夹
string strNotImportPath = ConfigDfn.strFileFolder + "\\NextSenseCSVNotImport\\";
if (!Directory.Exists(strNotImportPath))
{
Directory.CreateDirectory(strNotImportPath);
}
string destFilePath = Path.Combine(strNotImportPath, Path.GetFileName(filePath));
File.Move(filePath, destFilePath);
MyBase.TraceWriteLine("将文件移动到未导入文件夹,路径为:" + destFilePath);
return;
}
// 逐条插入数据到数据库
foreach (var record in records)
{
tmdal.InsertCJLRMeaData(record);
}
fileSorter.ProcessFiles();
}
catch (Exception ex)
{
MyBase.TraceWriteLine("导入CSV文件时发生错误:" + ex.Message);
return;
MyBase.TraceWriteLine($"分发任务异常: {ex.Message}");
}
});
}
private void AnalysisNxsCSV(string scanFolderPath) //解析EH3 CSV文件函数
private void DisplayMeasureData(string strCarID)
{
// 打印正在扫描的路径
MyBase.TraceWriteLine("正在扫描 CSV文件路径:" + scanFolderPath);
// 判断该路径是否存在
if (!Directory.Exists(scanFolderPath))
{
MyBase.TraceWriteLine("错误: CSV文件路径:" + scanFolderPath + " 不存在!请检查并进行修改!");
return;
}
try
{
lbCSVFiles.Items.Clear();
FileInfo[] fileInfos = null;
if (Directory.Exists(scanFolderPath))
{
DirectoryInfo di = new DirectoryInfo(scanFolderPath);
fileInfos = di.GetFiles("*.CSV");
if (fileInfos.Count() >= 1)
{
MyBase.TraceWriteLine("存在CSV文件,开始解析:");
List<string> listCSVTitleInfo = new List<string>();
string strCarID = "";
foreach (FileInfo fi in fileInfos)
{
listCSVTitleInfo.Clear();
dtCSVContent.Clear();
// 直接清空数据源
if (dgvMeasureContent.DataSource is DataTable dt)
{
dt.Rows.Clear();
}
string strCSVName = fi.FullName;
#region EH3 CSV报告
MyBase.TraceWriteLine("开始解析 CSV 报告:" + strCSVName);
ImportCsv2Sql(strCSVName);
// 备份数据
File.Copy(fi.FullName, ConfigDfn.strFileFolder + "\\NextSenseCSVBackup\\" + fi.Name, true);
MyBase.TraceWriteLine("Copy " + fi.FullName + " TO " + ConfigDfn.strFileFolder + "\\NextSenseCSVBackup\\" + fi.Name + " Done. 备份完成");
lbCSVFiles.Items.Add(fi.Name);
MyBase.TraceWriteLine("解析 CSV 报告完毕!");
#endregion EH3 CSV报告
#region
// 从文件名 strCSVName 提取文件名中的车ID
int startIndex = strCSVName.LastIndexOf("\\") + 1;
int endIndex = strCSVName.LastIndexOf(".");
strCarID = strCSVName.Substring(startIndex, endIndex - startIndex);
MyBase.TraceWriteLine("正在查询车ID为:" + strCarID + " 的测量结果。");
DataTable sampleData = tmdal.SelectMeasureResultByCarID(strCarID);
@@ -502,8 +332,6 @@ namespace NSAnalysis
tmrm.MeasureDate = ConfigDfn.strMeasureTime;
tmdal.InsertTMeasureResult(tmrm);
MyBase.TraceWriteLine("将总结果插入数据库完毕。");
MyBase.TraceWriteLine("全部插入解析完毕,删除文件:" + fi.Name);
fi.Delete();
#endregion
@@ -544,11 +372,6 @@ namespace NSAnalysis
}
#endregion
//生成客户的 CSV文件
}
}
}
}
catch (Exception ex)
{
@@ -556,70 +379,28 @@ namespace NSAnalysis
}
}
private void GenCustomerReport()
private void FileSorter_OnFileParsed(string strCarID)
{
//#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();
//}
//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 解析完报告后,重新生成客户模板报告
// 线程安全更新 UI
if (InvokeRequired)
{
Invoke(new Action<string>(FileSorter_OnFileParsed), strCarID);
return;
}
// 这里可以更新界面控件,例如 ListBox、Label 等
// 例如:listBoxParsedFiles.Items.Add(fileName);
// 或 rleMessage.Text = $"已解析: {fileName}";
rleMessage.Text = $"已解析: {strCarID}";
// 显示数据, 此时为左侧或右侧数据
DisplayMeasureData(strCarID);
}
/// 通过给定的文件流,判断文件的编码类型
/// <param name="fs">文件流</param>
/// <returns>文件的编码类型</returns>
@@ -735,9 +516,6 @@ namespace NSAnalysis
#region datagridview分页功能
/// <summary>
/// LoadPage方法
/// </summary>
private void LoadPage()
{
if (currentPage < 1) currentPage = 1;
+208 -233
View File
@@ -52,8 +52,6 @@ namespace NSAnalysis
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();
this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar();
this.label2 = new System.Windows.Forms.Label();
this.labTitle = new System.Windows.Forms.Label();
@@ -72,6 +70,14 @@ namespace NSAnalysis
this.label4 = new System.Windows.Forms.Label();
this.lbCSVFiles = new System.Windows.Forms.ListBox();
this.dgvMeasureContent = new System.Windows.Forms.DataGridView();
this.PointName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.DimensionName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.NormalVal = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.LowerTolVal = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.UpperTolVal = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MeasureValue = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MeasureDateTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Classification = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.labCarType = new System.Windows.Forms.Label();
this.label24 = new System.Windows.Forms.Label();
@@ -117,6 +123,15 @@ namespace NSAnalysis
this.radLabel11 = new Telerik.WinControls.UI.RadLabel();
this.chartFPYLine = new System.Windows.Forms.DataVisualization.Charting.Chart();
this.dgvSelectMeasureData = new System.Windows.Forms.DataGridView();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn6 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn7 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MeasureItemResult = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dgvFPYResult = new System.Windows.Forms.DataGridView();
this.dataGridViewTextBoxColumn9 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn10 = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -127,30 +142,12 @@ namespace NSAnalysis
this.dataGridViewTextBoxColumn16 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.SMResult = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.rpvpSetup = new Telerik.WinControls.UI.RadPageViewPage();
this.tmSystem = new System.Windows.Forms.Timer(this.components);
this.tmReadNextsenseCSV = new System.Windows.Forms.Timer(this.components);
this.tmrMonitorDBToCreateReport = new System.Windows.Forms.Timer(this.components);
this.lpcToleranceSetup = new UserControlClass.LabPictureControl();
this.lpcShowLog = new UserControlClass.LabPictureControl();
this.lpcSoftwareSetup = new UserControlClass.LabPictureControl();
this.lpcAboutSoftware = new UserControlClass.LabPictureControl();
this.PointName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.DimensionName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.NormalVal = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.LowerTolVal = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.UpperTolVal = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MeasureValue = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MeasureDateTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Classification = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn6 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn7 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MeasureItemResult = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.tmSystem = new System.Windows.Forms.Timer(this.components);
this.tmrMonitorDBToCreateReport = new System.Windows.Forms.Timer(this.components);
((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit();
this.radTitleBar1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.radStatusStrip1)).BeginInit();
@@ -352,9 +349,9 @@ namespace NSAnalysis
this.RPV.DefaultPage = this.rpvpAnalysis;
this.RPV.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.RPV.ItemSizeMode = ((Telerik.WinControls.UI.PageViewItemSizeMode)((Telerik.WinControls.UI.PageViewItemSizeMode.EqualWidth | Telerik.WinControls.UI.PageViewItemSizeMode.EqualHeight)));
this.RPV.Location = new System.Drawing.Point(1, 42);
this.RPV.Location = new System.Drawing.Point(1, 38);
this.RPV.Name = "RPV";
this.RPV.SelectedPage = this.rpvpSearch;
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;
@@ -437,7 +434,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)))));
@@ -479,7 +476,7 @@ namespace NSAnalysis
this.rpvpAnalysis.Controls.Add(this.splitContainer1);
this.rpvpAnalysis.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rpvpAnalysis.Image = ((System.Drawing.Image)(resources.GetObject("rpvpAnalysis.Image")));
this.rpvpAnalysis.ItemSize = new System.Drawing.SizeF(162F, 40F);
this.rpvpAnalysis.ItemSize = new System.Drawing.SizeF(46F, 46F);
this.rpvpAnalysis.Location = new System.Drawing.Point(49, 35);
this.rpvpAnalysis.Name = "rpvpAnalysis";
this.rpvpAnalysis.Size = new System.Drawing.Size(1868, 972);
@@ -528,7 +525,7 @@ namespace NSAnalysis
this.lbCSVFiles.ItemHeight = 19;
this.lbCSVFiles.Location = new System.Drawing.Point(19, 39);
this.lbCSVFiles.Name = "lbCSVFiles";
this.lbCSVFiles.Size = new System.Drawing.Size(1084, 59);
this.lbCSVFiles.Size = new System.Drawing.Size(1084, 173);
this.lbCSVFiles.TabIndex = 174;
//
// dgvMeasureContent
@@ -561,7 +558,7 @@ namespace NSAnalysis
this.Classification});
this.dgvMeasureContent.EnableHeadersVisualStyles = false;
this.dgvMeasureContent.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(181)))), ((int)(((byte)(200)))));
this.dgvMeasureContent.Location = new System.Drawing.Point(21, 104);
this.dgvMeasureContent.Location = new System.Drawing.Point(21, 232);
this.dgvMeasureContent.Name = "dgvMeasureContent";
this.dgvMeasureContent.ReadOnly = true;
this.dgvMeasureContent.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
@@ -581,9 +578,76 @@ namespace NSAnalysis
this.dgvMeasureContent.RowsDefaultCellStyle = dataGridViewCellStyle3;
this.dgvMeasureContent.RowTemplate.DefaultCellStyle.Font = new System.Drawing.Font("Segoe UI", 10F);
this.dgvMeasureContent.RowTemplate.Height = 38;
this.dgvMeasureContent.Size = new System.Drawing.Size(1082, 846);
this.dgvMeasureContent.Size = new System.Drawing.Size(1082, 718);
this.dgvMeasureContent.TabIndex = 173;
//
// PointName
//
this.PointName.DataPropertyName = "PointName";
this.PointName.HeaderText = "测量点名称";
this.PointName.Name = "PointName";
this.PointName.ReadOnly = true;
this.PointName.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.PointName.Width = 150;
//
// DimensionName
//
this.DimensionName.DataPropertyName = "DimensionName";
this.DimensionName.HeaderText = "尺寸名";
this.DimensionName.Name = "DimensionName";
this.DimensionName.ReadOnly = true;
this.DimensionName.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.DimensionName.Width = 80;
//
// NormalVal
//
this.NormalVal.DataPropertyName = "NominalValue";
this.NormalVal.HeaderText = "理论值";
this.NormalVal.Name = "NormalVal";
this.NormalVal.ReadOnly = true;
this.NormalVal.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.NormalVal.Visible = false;
//
// LowerTolVal
//
this.LowerTolVal.DataPropertyName = "LowerLimit";
this.LowerTolVal.HeaderText = "下限值";
this.LowerTolVal.Name = "LowerTolVal";
this.LowerTolVal.ReadOnly = true;
this.LowerTolVal.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// UpperTolVal
//
this.UpperTolVal.DataPropertyName = "UpperLimit";
this.UpperTolVal.HeaderText = "上限值";
this.UpperTolVal.Name = "UpperTolVal";
this.UpperTolVal.ReadOnly = true;
this.UpperTolVal.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// MeasureValue
//
this.MeasureValue.DataPropertyName = "DimensionValue";
this.MeasureValue.HeaderText = "实测值";
this.MeasureValue.Name = "MeasureValue";
this.MeasureValue.ReadOnly = true;
this.MeasureValue.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// MeasureDateTime
//
this.MeasureDateTime.DataPropertyName = "MeasureDateTime";
this.MeasureDateTime.HeaderText = "测量时间";
this.MeasureDateTime.Name = "MeasureDateTime";
this.MeasureDateTime.ReadOnly = true;
this.MeasureDateTime.Width = 190;
//
// Classification
//
this.Classification.DataPropertyName = "Classification";
this.Classification.HeaderText = "结果";
this.Classification.Name = "Classification";
this.Classification.ReadOnly = true;
this.Classification.Width = 150;
//
// splitContainer2
//
this.splitContainer2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
@@ -878,7 +942,7 @@ namespace NSAnalysis
this.rpvpSearch.Controls.Add(this.dgvSelectMeasureData);
this.rpvpSearch.Controls.Add(this.dgvFPYResult);
this.rpvpSearch.Image = ((System.Drawing.Image)(resources.GetObject("rpvpSearch.Image")));
this.rpvpSearch.ItemSize = new System.Drawing.SizeF(162F, 40F);
this.rpvpSearch.ItemSize = new System.Drawing.SizeF(46F, 46F);
this.rpvpSearch.Location = new System.Drawing.Point(49, 35);
this.rpvpSearch.Name = "rpvpSearch";
this.rpvpSearch.Size = new System.Drawing.Size(1868, 972);
@@ -1527,39 +1591,105 @@ namespace NSAnalysis
this.dataGridViewTextBoxColumn6,
this.dataGridViewTextBoxColumn7,
this.MeasureItemResult});
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window;
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.SystemColors.Highlight;
dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvSelectMeasureData.DefaultCellStyle = dataGridViewCellStyle5;
this.dgvSelectMeasureData.EnableHeadersVisualStyles = false;
this.dgvSelectMeasureData.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(181)))), ((int)(((byte)(200)))));
this.dgvSelectMeasureData.Location = new System.Drawing.Point(30, 126);
this.dgvSelectMeasureData.Name = "dgvSelectMeasureData";
this.dgvSelectMeasureData.ReadOnly = true;
this.dgvSelectMeasureData.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle5.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle5.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dgvSelectMeasureData.RowHeadersDefaultCellStyle = dataGridViewCellStyle5;
this.dgvSelectMeasureData.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
dataGridViewCellStyle6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
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)))));
dataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dgvSelectMeasureData.RowHeadersDefaultCellStyle = dataGridViewCellStyle6;
this.dgvSelectMeasureData.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
dataGridViewCellStyle7.Font = new System.Drawing.Font("微软雅黑", 10F);
dataGridViewCellStyle7.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle7.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
this.dgvSelectMeasureData.RowsDefaultCellStyle = dataGridViewCellStyle7;
this.dgvSelectMeasureData.RowsDefaultCellStyle = dataGridViewCellStyle6;
this.dgvSelectMeasureData.RowTemplate.Height = 37;
this.dgvSelectMeasureData.Size = new System.Drawing.Size(1204, 805);
this.dgvSelectMeasureData.TabIndex = 174;
this.dgvSelectMeasureData.RowStateChanged += new System.Windows.Forms.DataGridViewRowStateChangedEventHandler(this.dgvSelectMeasureData_RowStateChanged);
//
// Column2
//
this.Column2.DataPropertyName = "ProductNum";
this.Column2.HeaderText = "车身编号";
this.Column2.Name = "Column2";
this.Column2.ReadOnly = true;
this.Column2.Width = 170;
//
// dataGridViewTextBoxColumn1
//
this.dataGridViewTextBoxColumn1.DataPropertyName = "PointName";
this.dataGridViewTextBoxColumn1.HeaderText = "测量点名称";
this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
this.dataGridViewTextBoxColumn1.ReadOnly = true;
this.dataGridViewTextBoxColumn1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.dataGridViewTextBoxColumn1.Width = 150;
//
// dataGridViewTextBoxColumn2
//
this.dataGridViewTextBoxColumn2.DataPropertyName = "DimensionName";
this.dataGridViewTextBoxColumn2.HeaderText = "尺寸名";
this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";
this.dataGridViewTextBoxColumn2.ReadOnly = true;
this.dataGridViewTextBoxColumn2.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.dataGridViewTextBoxColumn2.Width = 80;
//
// dataGridViewTextBoxColumn3
//
this.dataGridViewTextBoxColumn3.DataPropertyName = "NominalValue";
this.dataGridViewTextBoxColumn3.HeaderText = "理论值";
this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3";
this.dataGridViewTextBoxColumn3.ReadOnly = true;
this.dataGridViewTextBoxColumn3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// dataGridViewTextBoxColumn4
//
this.dataGridViewTextBoxColumn4.DataPropertyName = "LowerLimit";
this.dataGridViewTextBoxColumn4.HeaderText = "下公差";
this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4";
this.dataGridViewTextBoxColumn4.ReadOnly = true;
this.dataGridViewTextBoxColumn4.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// dataGridViewTextBoxColumn5
//
this.dataGridViewTextBoxColumn5.DataPropertyName = "UpperLimit";
this.dataGridViewTextBoxColumn5.HeaderText = "上公差";
this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5";
this.dataGridViewTextBoxColumn5.ReadOnly = true;
this.dataGridViewTextBoxColumn5.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// dataGridViewTextBoxColumn6
//
this.dataGridViewTextBoxColumn6.DataPropertyName = "DimensionValue";
this.dataGridViewTextBoxColumn6.HeaderText = "实测值";
this.dataGridViewTextBoxColumn6.Name = "dataGridViewTextBoxColumn6";
this.dataGridViewTextBoxColumn6.ReadOnly = true;
this.dataGridViewTextBoxColumn6.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// dataGridViewTextBoxColumn7
//
this.dataGridViewTextBoxColumn7.DataPropertyName = "MeasureDateTime";
this.dataGridViewTextBoxColumn7.HeaderText = "测量时间";
this.dataGridViewTextBoxColumn7.Name = "dataGridViewTextBoxColumn7";
this.dataGridViewTextBoxColumn7.ReadOnly = true;
this.dataGridViewTextBoxColumn7.Width = 190;
//
// MeasureItemResult
//
this.MeasureItemResult.DataPropertyName = "Classification";
this.MeasureItemResult.HeaderText = "结果";
this.MeasureItemResult.Name = "MeasureItemResult";
this.MeasureItemResult.ReadOnly = true;
this.MeasureItemResult.Width = 120;
//
// dgvFPYResult
//
this.dgvFPYResult.AllowUserToAddRows = false;
@@ -1570,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;
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.SystemColors.Highlight;
dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dgvFPYResult.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle8;
dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
dataGridViewCellStyle7.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle7.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dgvFPYResult.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7;
this.dgvFPYResult.ColumnHeadersHeight = 37;
this.dgvFPYResult.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.dataGridViewTextBoxColumn9,
@@ -1588,34 +1718,26 @@ namespace NSAnalysis
this.dataGridViewTextBoxColumn14,
this.dataGridViewTextBoxColumn16,
this.SMResult});
dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle9.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle9.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvFPYResult.DefaultCellStyle = dataGridViewCellStyle9;
this.dgvFPYResult.EnableHeadersVisualStyles = false;
this.dgvFPYResult.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(181)))), ((int)(((byte)(200)))));
this.dgvFPYResult.Location = new System.Drawing.Point(29, 126);
this.dgvFPYResult.Name = "dgvFPYResult";
this.dgvFPYResult.ReadOnly = true;
this.dgvFPYResult.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
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("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle10.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle10.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dgvFPYResult.RowHeadersDefaultCellStyle = dataGridViewCellStyle10;
dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle8.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle8.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dgvFPYResult.RowHeadersDefaultCellStyle = dataGridViewCellStyle8;
this.dgvFPYResult.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
dataGridViewCellStyle11.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
dataGridViewCellStyle11.Font = new System.Drawing.Font("微软雅黑", 10F);
dataGridViewCellStyle11.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle11.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
this.dgvFPYResult.RowsDefaultCellStyle = dataGridViewCellStyle11;
dataGridViewCellStyle9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
dataGridViewCellStyle9.Font = new System.Drawing.Font("微软雅黑", 10F);
dataGridViewCellStyle9.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle9.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
this.dgvFPYResult.RowsDefaultCellStyle = dataGridViewCellStyle9;
this.dgvFPYResult.RowTemplate.Height = 37;
this.dgvFPYResult.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dgvFPYResult.Size = new System.Drawing.Size(1205, 798);
@@ -1696,28 +1818,12 @@ namespace NSAnalysis
this.rpvpSetup.Controls.Add(this.lpcAboutSoftware);
this.rpvpSetup.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rpvpSetup.Image = ((System.Drawing.Image)(resources.GetObject("rpvpSetup.Image")));
this.rpvpSetup.ItemSize = new System.Drawing.SizeF(162F, 40F);
this.rpvpSetup.ItemSize = new System.Drawing.SizeF(46F, 46F);
this.rpvpSetup.Location = new System.Drawing.Point(49, 35);
this.rpvpSetup.Name = "rpvpSetup";
this.rpvpSetup.Size = new System.Drawing.Size(1868, 972);
this.rpvpSetup.Text = " 软件设置";
//
// tmSystem
//
this.tmSystem.Enabled = true;
this.tmSystem.Interval = 1000;
this.tmSystem.Tick += new System.EventHandler(this.tmSystem_Tick);
//
// tmReadNextsenseCSV
//
this.tmReadNextsenseCSV.Interval = 300;
this.tmReadNextsenseCSV.Tick += new System.EventHandler(this.tmReadNextsenseCSV_Tick);
//
// tmrMonitorDBToCreateReport
//
this.tmrMonitorDBToCreateReport.Interval = 1000;
this.tmrMonitorDBToCreateReport.Tick += new System.EventHandler(this.tmrMonitorDBToCreateReport_Tick);
//
// lpcToleranceSetup
//
this.lpcToleranceSetup.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
@@ -1777,146 +1883,16 @@ namespace NSAnalysis
this.lpcAboutSoftware.TabIndex = 450;
this.lpcAboutSoftware.Click += new System.EventHandler(this.lpcAboutSoftware_Click);
//
// PointName
// tmSystem
//
this.PointName.DataPropertyName = "PointName";
this.PointName.HeaderText = "测量点名称";
this.PointName.Name = "PointName";
this.PointName.ReadOnly = true;
this.PointName.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.PointName.Width = 150;
this.tmSystem.Enabled = true;
this.tmSystem.Interval = 1000;
this.tmSystem.Tick += new System.EventHandler(this.tmSystem_Tick);
//
// DimensionName
// tmrMonitorDBToCreateReport
//
this.DimensionName.DataPropertyName = "DimensionName";
this.DimensionName.HeaderText = "尺寸名";
this.DimensionName.Name = "DimensionName";
this.DimensionName.ReadOnly = true;
this.DimensionName.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.DimensionName.Width = 80;
//
// NormalVal
//
this.NormalVal.DataPropertyName = "NominalValue";
this.NormalVal.HeaderText = "理论值";
this.NormalVal.Name = "NormalVal";
this.NormalVal.ReadOnly = true;
this.NormalVal.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.NormalVal.Visible = false;
//
// LowerTolVal
//
this.LowerTolVal.DataPropertyName = "LowerLimit";
this.LowerTolVal.HeaderText = "下限值";
this.LowerTolVal.Name = "LowerTolVal";
this.LowerTolVal.ReadOnly = true;
this.LowerTolVal.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// UpperTolVal
//
this.UpperTolVal.DataPropertyName = "UpperLimit";
this.UpperTolVal.HeaderText = "上限值";
this.UpperTolVal.Name = "UpperTolVal";
this.UpperTolVal.ReadOnly = true;
this.UpperTolVal.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// MeasureValue
//
this.MeasureValue.DataPropertyName = "DimensionValue";
this.MeasureValue.HeaderText = "实测值";
this.MeasureValue.Name = "MeasureValue";
this.MeasureValue.ReadOnly = true;
this.MeasureValue.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// MeasureDateTime
//
this.MeasureDateTime.DataPropertyName = "MeasureDateTime";
this.MeasureDateTime.HeaderText = "测量时间";
this.MeasureDateTime.Name = "MeasureDateTime";
this.MeasureDateTime.ReadOnly = true;
this.MeasureDateTime.Width = 190;
//
// Classification
//
this.Classification.DataPropertyName = "Classification";
this.Classification.HeaderText = "结果";
this.Classification.Name = "Classification";
this.Classification.ReadOnly = true;
this.Classification.Width = 150;
//
// Column2
//
this.Column2.DataPropertyName = "ProductNum";
this.Column2.HeaderText = "车身编号";
this.Column2.Name = "Column2";
this.Column2.ReadOnly = true;
this.Column2.Width = 170;
//
// dataGridViewTextBoxColumn1
//
this.dataGridViewTextBoxColumn1.DataPropertyName = "PointName";
this.dataGridViewTextBoxColumn1.HeaderText = "测量点名称";
this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
this.dataGridViewTextBoxColumn1.ReadOnly = true;
this.dataGridViewTextBoxColumn1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.dataGridViewTextBoxColumn1.Width = 150;
//
// dataGridViewTextBoxColumn2
//
this.dataGridViewTextBoxColumn2.DataPropertyName = "DimensionName";
this.dataGridViewTextBoxColumn2.HeaderText = "尺寸名";
this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";
this.dataGridViewTextBoxColumn2.ReadOnly = true;
this.dataGridViewTextBoxColumn2.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.dataGridViewTextBoxColumn2.Width = 80;
//
// dataGridViewTextBoxColumn3
//
this.dataGridViewTextBoxColumn3.DataPropertyName = "NominalValue";
this.dataGridViewTextBoxColumn3.HeaderText = "理论值";
this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3";
this.dataGridViewTextBoxColumn3.ReadOnly = true;
this.dataGridViewTextBoxColumn3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// dataGridViewTextBoxColumn4
//
this.dataGridViewTextBoxColumn4.DataPropertyName = "LowerLimit";
this.dataGridViewTextBoxColumn4.HeaderText = "下公差";
this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4";
this.dataGridViewTextBoxColumn4.ReadOnly = true;
this.dataGridViewTextBoxColumn4.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// dataGridViewTextBoxColumn5
//
this.dataGridViewTextBoxColumn5.DataPropertyName = "UpperLimit";
this.dataGridViewTextBoxColumn5.HeaderText = "上公差";
this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5";
this.dataGridViewTextBoxColumn5.ReadOnly = true;
this.dataGridViewTextBoxColumn5.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// dataGridViewTextBoxColumn6
//
this.dataGridViewTextBoxColumn6.DataPropertyName = "DimensionValue";
this.dataGridViewTextBoxColumn6.HeaderText = "实测值";
this.dataGridViewTextBoxColumn6.Name = "dataGridViewTextBoxColumn6";
this.dataGridViewTextBoxColumn6.ReadOnly = true;
this.dataGridViewTextBoxColumn6.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// dataGridViewTextBoxColumn7
//
this.dataGridViewTextBoxColumn7.DataPropertyName = "MeasureDateTime";
this.dataGridViewTextBoxColumn7.HeaderText = "测量时间";
this.dataGridViewTextBoxColumn7.Name = "dataGridViewTextBoxColumn7";
this.dataGridViewTextBoxColumn7.ReadOnly = true;
this.dataGridViewTextBoxColumn7.Width = 190;
//
// MeasureItemResult
//
this.MeasureItemResult.DataPropertyName = "Classification";
this.MeasureItemResult.HeaderText = "结果";
this.MeasureItemResult.Name = "MeasureItemResult";
this.MeasureItemResult.ReadOnly = true;
this.MeasureItemResult.Width = 120;
this.tmrMonitorDBToCreateReport.Interval = 1000;
this.tmrMonitorDBToCreateReport.Tick += new System.EventHandler(this.tmrMonitorDBToCreateReport_Tick);
//
// FormMain
//
@@ -2032,7 +2008,6 @@ namespace NSAnalysis
private Telerik.WinControls.UI.RadButton rbtnExportCSVReport;
private System.Windows.Forms.DataVisualization.Charting.Chart chartFPYLine;
private System.Windows.Forms.Timer tmSystem;
private System.Windows.Forms.Timer tmReadNextsenseCSV;
private System.Windows.Forms.PictureBox pbResult;
private System.Windows.Forms.Label labRejectCount;
private System.Windows.Forms.Label label7;
+2 -5
View File
@@ -296,14 +296,11 @@
<metadata name="tmSystem.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="tmReadNextsenseCSV.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>127, 14</value>
</metadata>
<metadata name="tmrMonitorDBToCreateReport.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>310, 14</value>
<value>128, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>65</value>
<value>25</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
+1 -1
View File
@@ -1,6 +1,6 @@
using BaseFunction;
using Microsoft.Win32;
using NSAnalysis.BaseUnit;
using NSAnalysis;
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
+87 -22
View File
@@ -1,22 +1,87 @@
2025-08-11 15:03:04.024----软件Program Main函数开始执行--
2025-08-11 15:03:04.031--加载配置文件——>开始
2025-08-11 15:03:04.037--数据库连接 SqlServerName127.0.0.1
2025-08-11 15:03:04.038--数据库连接 SqlUserNamesa
2025-08-11 15:03:04.039--数据库连接 SqlPasswordHexagon123
2025-08-11 15:03:04.064--数据库连接 SqlDbNameCJLR
2025-08-11 15:03:04.065--加载配置文件——>完成
2025-08-11 15:03:05.918--数据库连接 SqlServerName127.0.0.1
2025-08-11 15:03:05.919--数据库连接 SqlUserNamesa
2025-08-11 15:03:05.920--数据库连接 SqlPasswordHexagon123
2025-08-11 15:03:05.921--数据库连接 SqlDbNameCJLR
2025-08-11 15:03:05.922--数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
2025-08-11 15:03:06.206-- 进入解析CSV文件模式,开始解析扫码CSV文件!
2025-08-11 15:03:06.208--软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
2025-08-11 15:03:12.470--车身尺寸数据导出成功,路径为:C:\Users\zhengxuan.zhang\Desktop\车身尺寸数据20250811150310982.CSV
2025-08-11 15:03:26.159--合格率数据导出成功,路径为:C:\Users\zhengxuan.zhang\Desktop\合格率20250811150325109.CSV
2025-08-11 15:04:09.338--数据库连接 SqlServerName127.0.0.1
2025-08-11 15:04:09.340--数据库连接 SqlUserNamesa
2025-08-11 15:04:09.340--数据库连接 SqlPasswordHexagon123
2025-08-11 15:04:09.343--数据库连接 SqlDbNameCJLR
2025-08-11 15:04:09.343--数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
2025-08-11 15:04:24.311---------------海克斯康面隙分析软件程序关闭---------------------
2025-08-18 14:16:02.926----软件Program Main函数开始执行--
2025-08-18 14:16:02.927--加载配置文件——>开始
2025-08-18 14:16:02.947--数据库连接 SqlServerName127.0.0.1
2025-08-18 14:16:02.948--数据库连接 SqlUserNamesa
2025-08-18 14:16:02.949--数据库连接 SqlPasswordHexagon123
2025-08-18 14:16:02.949--数据库连接 SqlDbNameCJLR
2025-08-18 14:16:02.950--加载配置文件——>完成
2025-08-18 14:16:04.153--数据库连接 SqlServerName127.0.0.1
2025-08-18 14:16:04.154--数据库连接 SqlUserNamesa
2025-08-18 14:16:04.155--数据库连接 SqlPasswordHexagon123
2025-08-18 14:16:04.156--数据库连接 SqlDbNameCJLR
2025-08-18 14:16:04.157--数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
2025-08-18 14:16:14.507--
2025-08-18 14:16:14.510--
2025-08-18 14:16:14.510--
2025-08-18 14:16:14.511--
2025-08-18 14:16:14.512--
2025-08-18 14:16:14.513--
2025-08-18 14:16:14.514--
2025-08-18 14:16:14.515--
2025-08-18 14:16:14.516--
2025-08-18 14:16:14.517--
2025-08-18 14:16:14.517--
2025-08-18 14:16:14.519--
2025-08-18 14:16:14.520--
2025-08-18 14:16:14.521--
2025-08-18 14:16:14.522--Processing Task - Source: P:\, Target: K:\X260R, ModelCode: X260 Position: R
2025-08-18 14:16:14.524--[ProcessFiles] 源文件地址不存在或错误: P:\
2025-08-18 14:16:14.528--Processing Task - Source: D:\CJLR\DATA\Input\LLL, Target: D:\CJLR\DATA\Output\X540L, ModelCode: X540 Position: L
2025-08-18 14:16:14.533--匹配文件特征符: X540_L
2025-08-18 14:16:14.536--正在处理文件 : D:\CJLR\DATA\Input\LLL\K1902905.csv
2025-08-18 14:16:14.540--第 35 行数据为0,跳过该行:,,,,,,,,,,,,,,,,,,,,,
2025-08-18 14:16:14.541--第 36 行数据为0,跳过该行:,,,,,,,,,,,,,,,,,,,,,
2025-08-18 14:16:14.542--第 37 行数据为0,跳过该行:<!-- [IMPORTED 232001] -->,,,,,,,,,,,,,,,,,,,,,
2025-08-18 14:16:19.608----------------------------------------------------------
2025-08-18 14:16:19.609--车号:K1902905
2025-08-18 14:16:19.610--车型:MY20
2025-08-18 14:16:19.611--测量时间:2020-05-04 12:16:16
2025-08-18 14:16:19.871--CSV文件导入到数据库成功!
2025-08-18 14:16:19.872----------------------------------------------------------
2025-08-18 14:16:19.879--正在查询车ID为:K1902905 的测量结果。
2025-08-18 14:16:19.916--将总结果插入数据库完毕。
2025-08-18 14:16:20.094--未匹配到文件: D:\CJLR\DATA\Input\LLL\K1902905.csv
2025-08-18 14:16:20.104--Processing Task - Source: O:\, Target: L:\X260L, ModelCode: X260 Position: L
2025-08-18 14:16:20.105--[ProcessFiles] 源文件地址不存在或错误: O:\
2025-08-18 14:16:20.108--Processing Task - Source: O:\, Target: L:\X760L, ModelCode: X760 Position: L
2025-08-18 14:16:20.109--[ProcessFiles] 源文件地址不存在或错误: O:\
2025-08-18 14:16:20.110--Processing Task - Source: P:\, Target: K:\X760R, ModelCode: X760 Position: R
2025-08-18 14:16:20.111--[ProcessFiles] 源文件地址不存在或错误: P:\
2025-08-18 14:16:20.117--Processing Task - Source: P:\, Target: K:\L551R 21MY, ModelCode: L551_21MY Position: R
2025-08-18 14:16:20.118--[ProcessFiles] 源文件地址不存在或错误: P:\
2025-08-18 14:16:20.121--Processing Task - Source: O:\, Target: L:\L551L 21MY, ModelCode: L551_21MY Position: L
2025-08-18 14:16:20.122--[ProcessFiles] 源文件地址不存在或错误: O:\
2025-08-18 14:16:20.123--Processing Task - Source: O:\, Target: L:\X540L 20MY, ModelCode: X540_24MY Position: L
2025-08-18 14:16:20.124--[ProcessFiles] 源文件地址不存在或错误: O:\
2025-08-18 14:16:20.126--Processing Task - Source: P:\, Target: K:\X540R 20MY, ModelCode: X540_24MY Position: R
2025-08-18 14:16:20.126--[ProcessFiles] 源文件地址不存在或错误: P:\
2025-08-18 14:16:20.128--Processing Task - Source: O:\, Target: L:\X540L, ModelCode: X540_18MY Position: L
2025-08-18 14:16:20.129--[ProcessFiles] 源文件地址不存在或错误: O:\
2025-08-18 14:16:20.130--Processing Task - Source: O:\, Target: L:\L550L, ModelCode: L550_23MY Position: L
2025-08-18 14:16:20.132--[ProcessFiles] 源文件地址不存在或错误: O:\
2025-08-18 14:16:20.241--Processing Task - Source: P:\, Target: K:\X540R, ModelCode: X540_18MY Position: R
2025-08-18 14:16:20.243--[ProcessFiles] 源文件地址不存在或错误: P:\
2025-08-18 14:16:20.249--Processing Task - Source: P:\, Target: K:\L550R, ModelCode: L550_23MY Position: R
2025-08-18 14:16:20.251--[ProcessFiles] 源文件地址不存在或错误: P:\
2025-08-18 14:16:24.571--
2025-08-18 14:16:24.573--
2025-08-18 14:16:24.574--
2025-08-18 14:16:24.575--
2025-08-18 14:16:24.579--
2025-08-18 14:16:24.580--
2025-08-18 14:16:24.581--
2025-08-18 14:16:24.582--
2025-08-18 14:16:24.583--
2025-08-18 14:16:24.584--
2025-08-18 14:16:24.584--
2025-08-18 14:16:24.585--
2025-08-18 14:16:24.586--
2025-08-18 14:16:24.586--
2025-08-18 14:16:24.587--Processing Task - Source: P:\, Target: K:\X260R, ModelCode: X260 Position: R
2025-08-18 14:16:24.588--[ProcessFiles] 源文件地址不存在或错误: P:\
2025-08-18 14:16:24.598--Processing Task - Source: D:\CJLR\DATA\Input\LLL, Target: D:\CJLR\DATA\Output\X540L, ModelCode: X540 Position: L
2025-08-18 14:16:24.599--匹配文件特征符: X540_L
2025-08-18 14:16:24.600--正在处理文件 : D:\CJLR\DATA\Input\LLL\K1902905.csv
2025-08-18 14:16:24.604--第 35 行数据为0,跳过该行:,,,,,,,,,,,,,,,,,,,,,
2025-08-18 14:16:24.605--第 36 行数据为0,跳过该行:,,,,,,,,,,,,,,,,,,,,,
2025-08-18 14:16:24.605--第 37 行数据为0,跳过该行:<!-- [IMPORTED 232001] -->,,,,,,,,,,,,,,,,,,,,,
@@ -1,15 +0,0 @@
2025-05-19 13:52:25.230----软件Program Main函数开始执行--
2025-05-19 13:52:25.232--加载配置文件——>开始
2025-05-19 13:52:25.270--加载配置文件——>完成
2025-05-19 13:52:27.769-- 进入显示车身模式!显示车身界面。
2025-05-19 13:52:28.620--启动PLC写线程!
2025-05-19 13:52:28.623-- 进入解析CSV文件模式,开始解析扫码CSV文件!
2025-05-19 13:52:28.657--连接PLC....
2025-05-19 13:52:28.659--软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
2025-05-19 13:52:28.660--软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
2025-05-19 13:52:29.711--Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21)CarTypeEHY ;VIN: LNNBBDEC8RDA23997
2025-05-19 13:52:29.739--Right EHY UI Refresh tmrRefreshData (strVIN.Length==21)CarTypeEHY ;VIN: LNNBBDEC8RDA23997
2025-05-19 13:52:29.934--显示右侧EHY车身数据界面。
2025-05-19 13:52:30.781--PLC S7连接失败。
2025-05-19 13:52:30.784--连接PLC失败
2025-05-19 13:52:34.968---------------海克斯康面隙分析软件程序关闭---------------------
@@ -1,15 +0,0 @@
2025-05-19 13:53:16.548----软件Program Main函数开始执行--
2025-05-19 13:53:16.550--加载配置文件——>开始
2025-05-19 13:53:16.569--加载配置文件——>完成
2025-05-19 13:53:18.447-- 进入显示车身模式!显示车身界面。
2025-05-19 13:53:18.887--启动PLC写线程!
2025-05-19 13:53:18.890-- 进入解析CSV文件模式,开始解析扫码CSV文件!
2025-05-19 13:53:18.914--软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
2025-05-19 13:53:18.915--连接PLC....
2025-05-19 13:53:18.916--软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
2025-05-19 13:53:20.959--PLC S7连接失败。
2025-05-19 13:53:39.351--连接PLC失败
2025-05-19 13:53:39.805--Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21)CarTypeEHY ;VIN: LNNBBDEC8RDA23997
2025-05-19 13:53:39.836--Right EHY UI Refresh tmrRefreshData (strVIN.Length==21)CarTypeEHY ;VIN: LNNBBDEC8RDA23997
2025-05-19 13:53:40.123--显示右侧EHY车身数据界面。
2025-05-19 13:53:43.161---------------海克斯康面隙分析软件程序关闭---------------------
@@ -1,17 +0,0 @@
2025-08-04 11:42:26.704----软件Program Main函数开始执行--
2025-08-04 11:42:26.707--加载配置文件——>开始
2025-08-04 11:42:26.727--数据库连接 SqlServerName127.0.0.1
2025-08-04 11:42:26.728--数据库连接 SqlUserNamesa
2025-08-04 11:42:26.729--数据库连接 SqlPasswordHexagon123
2025-08-04 11:42:26.729--数据库连接 SqlDbNameNextSenseStandardDB
2025-08-04 11:42:26.729--加载配置文件——>完成
2025-08-04 11:42:28.483--数据库连接 SqlServerName127.0.0.1
2025-08-04 11:42:28.484--数据库连接 SqlUserNamesa
2025-08-04 11:42:28.485--数据库连接 SqlPasswordHexagon123
2025-08-04 11:42:28.486--数据库连接 SqlDbNameNextSenseStandardDB
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---------------海克斯康面隙分析软件程序关闭---------------------
Binary file not shown.
Binary file not shown.