#250901 修复上传文件格式,增加本地备份目录

This commit is contained in:
HM-CN\zhengxuan.zhang
2025-09-01 10:14:57 +08:00
parent d6cffa81f0
commit 0d55e9b1dc
8 changed files with 97 additions and 68 deletions
+64 -9
View File
@@ -296,7 +296,6 @@ namespace NSAnalysis
return;
}
// 解析数据之前,备份原始数据,如果已存在备份文件,则覆盖, 备份到 程序根目录\Backup 文件夹
try
{
@@ -315,7 +314,6 @@ namespace NSAnalysis
// 继续处理,不返回
}
try
{
using (var reader = new StreamReader(filePath))
@@ -562,12 +560,41 @@ namespace NSAnalysis
Directory.CreateDirectory(ConfigDfn.strReportPath);
MyBase.TraceWriteLine($"创建报告目录: {ConfigDfn.strReportPath}");
}
string savePath = Path.Combine(ConfigDfn.strReportPath, fileName);
// 构造备份路径 ,备份到 程序根目录\ReportBackup 文件夹
string backupDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ReportBackup");
if (!Directory.Exists(backupDir))
{
Directory.CreateDirectory(backupDir);
}
// 备份文件完整路径
string savePath = Path.Combine(backupDir, fileName);
// 目标路径
string target = Path.Combine(ConfigDfn.strReportPath, fileName);
GenerateCsvReport(strCarID, dtCSVContent, ConfigDfn.strCSVReportTemplatePath, savePath);
MyBase.TraceWriteLine($"客户报告已生成: {savePath}");
// 将备份路径,拷贝到目标路径
emitProcessStep($"---> 5、客户报告已生成: {savePath}");
try
{
File.Copy(savePath, target, true); // 如果存在则覆盖
//记录成功
MyBase.TraceWriteLine("已拷贝客户报告到目标路径: " + target);
emitProcessStep($"---> 6、已拷贝客户报告到目标路径: {target}");
}
catch
{
MyBase.TraceWriteLine("拷贝客户报告到目标路径失败: " + target);
emitProcessStep($"---> 6、拷贝客户报告到目标路径失败: {target}");
}
}
// 生成CSV报告函数
@@ -581,11 +608,30 @@ namespace NSAnalysis
// 替换模板中的变量
foreach (var line in templateLines)
{
string processedLine = line
.Replace("{prodnum}", strCarID)
.Trim('"');
Console.WriteLine($"处理行: {processedLine}"); // 控制台输出处理的行
string processedLine = line;
if (processedLine.Contains("{datetime}"))
{
processedLine = processedLine.Replace("{datetime}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture));
}
if (processedLine.Contains("{Part_ident}"))
{
processedLine = processedLine.Replace("{Part_ident}", strCarID);
}
if (processedLine.Contains("{model}"))
{
processedLine = processedLine.Replace("{model}", ConfigDfn.strCarModel);
}
if (processedLine.Contains("{Part_code}"))
{
if (ConfigDfn.strCarModel == "E03")
processedLine = processedLine.Replace("{Part_code}", "E03_5000000FAonline");
else if (ConfigDfn.strCarModel == "E0Y")
processedLine = processedLine.Replace("{Part_code}", "E0Y_5000000FAonline");
else
processedLine = processedLine.Replace("{Part_code}", "UnknownModel_5000000FAonline");
}
processedLine = processedLine.Trim('"');
Console.WriteLine($"处理行: {processedLine}");
sb.AppendLine(processedLine);
}
@@ -601,8 +647,17 @@ namespace NSAnalysis
// 添加测量数据内容
foreach (DataRow row in measureData.Rows)
{
//sb.AppendFormat("{0},{1},{2}\n",
// row["PointName"], row["DimensionName"], row["DimensionValue"]);
var dimensionValue = row["DimensionValue"]?.ToString();
if (dimensionValue != null && dimensionValue.Contains("1.#R"))
{
dimensionValue = "";
}
sb.AppendFormat("{0},{1},{2}\n",
row["PointName"], row["DimensionName"], row["DimensionValue"]);
row["PointName"], row["DimensionName"], dimensionValue);
}
// 可根据实际需求添加统计行 sb.AppendLine("POP,P,99.99");
+3
View File
@@ -23,6 +23,9 @@ namespace NSAnalysis
/// 2、解析失败或提取有效内容失败,移动到源文件夹的Error文件夹
/// 3、修复查询结果,显示错误问题
///
/// 2025.08.31
/// --------------------------------------------
/// 1、新增将客户报告 默认生成到备份文件夹,然后拷贝到目标路径,并记录错误日志
///
///
///
+2 -2
View File
@@ -25,8 +25,8 @@ using System.Runtime.InteropServices;
//
// 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.08.28.1")]
[assembly: AssemblyFileVersion("2025.08.28.1")]
[assembly: AssemblyVersion("2025.09.01.2")]
[assembly: AssemblyFileVersion("2025.09.01.2")]
//奇瑞总装软件
//2024.09.27.1 该版本增加读取编码器数值功能
//2024.10.08.1 该版本修改了EHY和EH3的测点图片 以及增加了上传IOT时,在1.5倍公差内,都是OK的结果,传给IOT
+13 -42
View File
@@ -1,42 +1,13 @@
2025-08-31 15:00:31.702----软件Program Main函数开始执行--
2025-08-31 15:00:31.707--加载配置文件——>开始
2025-08-31 15:00:31.728--数据库连接 SqlServerName127.0.0.1
2025-08-31 15:00:31.731--数据库连接 SqlUserNamesa
2025-08-31 15:00:31.733--数据库连接 SqlPasswordHexagon123
2025-08-31 15:00:31.736--数据库连接 SqlDbNameCJLR
2025-08-31 15:00:31.739--加载配置文件——>完成
2025-08-31 15:00:31.742--Log in using the original authorization mode.
2025-08-31 15:00:34.140--软件授权成功
2025-08-31 15:00:35.816--数据库连接 SqlServerName127.0.0.1
2025-08-31 15:00:35.821--数据库连接 SqlUserNamesa
2025-08-31 15:00:35.825--数据库连接 SqlPasswordHexagon123
2025-08-31 15:00:35.828--数据库连接 SqlDbNameCJLR
2025-08-31 15:00:35.829--数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
2025-08-31 15:00:36.701---------------海克斯康面隙分析软件程序启动---------------------
2025-08-31 15:00:39.610--数据库连接 SqlServerName127.0.0.1
2025-08-31 15:00:39.614--数据库连接 SqlUserNamesa
2025-08-31 15:00:39.617--数据库连接 SqlPasswordHexagon123
2025-08-31 15:00:39.620--数据库连接 SqlDbNameCJLR
2025-08-31 15:00:39.622--数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
2025-08-31 15:00:51.851--[ProcessFiles] 正在执行分发任务 - 源路径: D:\CJLR\DATA\Input\RRR, 目标路径: D:\CJLR\DATA\Output\X540L, 匹配字符: E0Y 位置:R
2025-08-31 15:00:51.874--匹配文件特征符: E0Y_R
2025-08-31 15:00:51.882--[ProcessFiles] 正在执行分发任务 - 源路径: D:\CJLR\DATA\Input\LLL, 目标路径: D:\CJLR\DATA\Output\X540R, 匹配字符: E0Y 位置:L
2025-08-31 15:00:51.886--匹配文件特征符: E0Y_L
2025-08-31 15:01:06.703--[ProcessFiles] 正在执行分发任务 - 源路径: D:\CJLR\DATA\Input\RRR, 目标路径: D:\CJLR\DATA\Output\X540L, 匹配字符: E0Y 位置:R
2025-08-31 15:01:06.709--匹配文件特征符: E0Y_R
2025-08-31 15:01:06.716--[ProcessFiles] 正在执行分发任务 - 源路径: D:\CJLR\DATA\Input\LLL, 目标路径: D:\CJLR\DATA\Output\X540R, 匹配字符: E0Y 位置:L
2025-08-31 15:01:06.719--匹配文件特征符: E0Y_L
2025-08-31 15:01:21.702--[ProcessFiles] 正在执行分发任务 - 源路径: D:\CJLR\DATA\Input\RRR, 目标路径: D:\CJLR\DATA\Output\X540L, 匹配字符: E0Y 位置:R
2025-08-31 15:01:21.709--匹配文件特征符: E0Y_R
2025-08-31 15:01:21.713--[ProcessFiles] 正在执行分发任务 - 源路径: D:\CJLR\DATA\Input\LLL, 目标路径: D:\CJLR\DATA\Output\X540R, 匹配字符: E0Y 位置:L
2025-08-31 15:01:21.719--匹配文件特征符: E0Y_L
2025-08-31 15:01:36.692--[ProcessFiles] 正在执行分发任务 - 源路径: D:\CJLR\DATA\Input\RRR, 目标路径: D:\CJLR\DATA\Output\X540L, 匹配字符: E0Y 位置:R
2025-08-31 15:01:36.697--匹配文件特征符: E0Y_R
2025-08-31 15:01:36.702--[ProcessFiles] 正在执行分发任务 - 源路径: D:\CJLR\DATA\Input\LLL, 目标路径: D:\CJLR\DATA\Output\X540R, 匹配字符: E0Y 位置:L
2025-08-31 15:01:36.707--匹配文件特征符: E0Y_L
2025-08-31 15:01:51.707--[ProcessFiles] 正在执行分发任务 - 源路径: D:\CJLR\DATA\Input\RRR, 目标路径: D:\CJLR\DATA\Output\X540L, 匹配字符: E0Y 位置:R
2025-08-31 15:01:51.711--匹配文件特征符: E0Y_R
2025-08-31 15:01:51.717--[ProcessFiles] 正在执行分发任务 - 源路径: D:\CJLR\DATA\Input\LLL, 目标路径: D:\CJLR\DATA\Output\X540R, 匹配字符: E0Y 位置:L
2025-08-31 15:01:51.722--匹配文件特征符: E0Y_L
2025-08-31 15:01:51.728--正在处理文件 : D:\CJLR\DATA\Input\LLL\S8540702.csv
2025-08-31 15:01:51.755--已备份文件到: D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\bin\x64\Debug\Backup\S8540702.csv
2025-09-01 09:55:17.792----软件Program Main函数开始执行--
2025-09-01 09:55:17.793--加载配置文件——>开始
2025-09-01 09:55:17.796--数据库连接 SqlServerName127.0.0.1
2025-09-01 09:55:17.797--数据库连接 SqlUserNamesa
2025-09-01 09:55:17.797--数据库连接 SqlPasswordHexagon123
2025-09-01 09:55:17.799--数据库连接 SqlDbNameCJLR
2025-09-01 09:55:17.800--加载配置文件——>完成
2025-09-01 09:55:17.807--数据库连接 SqlServerName127.0.0.1
2025-09-01 09:55:17.808--数据库连接 SqlUserNamesa
2025-09-01 09:55:17.809--数据库连接 SqlPasswordHexagon123
2025-09-01 09:55:17.809--数据库连接 SqlDbNameCJLR
2025-09-01 09:55:17.810--数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
2025-09-01 09:56:50.027--客户报告已生成: D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\bin\x64\Debug\ReportBackup\K0902906_20250901095646.csv
@@ -1,17 +1,17 @@
MeasPlan.Name,CheryEH3
vehiclecode,1
robot.MessplanID,1
Measurement Info Name,Measurement Info
Date_Time,{datetime}
Operator,
Machine,
Part_ident,{Part_ident}
Production_Line,QGX
Process_number,
Temperature,22
Humidity,40
Shift,
Plant_sector,CS
Product_type,Carbody
Auto_name,EH3
Auto_name,{model}
Part_type,Assembly
Part_number,EH3_5000000FAonline
Part_name,123
prodnum,{prodnum}
Production_line,11_line
Workshop,ER_QI
Operator,
Shift,
Machine,
Temperature,
Humidity,
Part_number,{Part_code}
Part_name,
Workshop,
1 MeasPlan.Name Measurement Info Name CheryEH3 Measurement Info
2 vehiclecode Date_Time 1 {datetime}
3 robot.MessplanID Operator 1
4 Machine
5 Part_ident {Part_ident}
6 Production_Line QGX
7 Process_number
8 Temperature 22
9 Humidity 40
10 Shift
11 Plant_sector Plant_sector CS CS
12 Product_type Product_type Carbody Carbody
13 Auto_name Auto_name EH3 {model}
14 Part_type Part_type Assembly Assembly
15 Part_number Part_number EH3_5000000FAonline {Part_code}
16 Part_name Part_name 123
17 prodnum Workshop {prodnum}
Production_line 11_line
Workshop ER_QI
Operator
Shift
Machine
Temperature
Humidity
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1,7 +1,7 @@
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}") = "NXSAnalysis", "Analysis\NXSAnalysis.csproj", "{7C83975D-A071-48E0-8A12-DAFD20525B66}"
EndProject