From ef52fd6fd07508883dce4eb002acda59f0169e59 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期四, 23 四月 2026 10:19:33 +0800
Subject: [PATCH] 优化;
---
Plugin.TestResult/SingleCell.xaml.cs | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 150 insertions(+), 4 deletions(-)
diff --git a/Plugin.TestResult/SingleCell.xaml.cs b/Plugin.TestResult/SingleCell.xaml.cs
index 7d5659d..b9a6ab0 100644
--- a/Plugin.TestResult/SingleCell.xaml.cs
+++ b/Plugin.TestResult/SingleCell.xaml.cs
@@ -15,6 +15,7 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
+using System.Dynamic;
using System.IO;
using System.Runtime.CompilerServices;
using System.Windows;
@@ -616,7 +617,7 @@
}
}
- private void NormalCSV(string filePath)
+ public void NormalCSV(string filePath)
{
try
{
@@ -644,7 +645,7 @@
}
}
- private void ReverseCSV(string filePath)
+ public void ReverseCSV_Bak(string filePath)
{
try
{
@@ -720,6 +721,150 @@
datas.Add(new string[titleRow.Count]);
}
var arr = datas[rowPoint];
+ arr[col] = info.value;
+
+
+ if (!string.IsNullOrEmpty(info.limitDown))
+ {
+ string key2 = $"{info.step}涓嬮檺";
+ int col2 = titleRow.IndexOf(key2);
+ arr[col2] = info.limitDown;
+ }
+
+ if (!string.IsNullOrEmpty(info.limitUp))
+ {
+ string key2 = $"{info.step}涓婇檺";
+ int col2 = titleRow.IndexOf(key2);
+ arr[col2] = info.limitUp;
+ }
+
+ if (!string.IsNullOrEmpty(info.limitUp))
+ {
+ string key2 = $"{info.step}娴嬭瘯缁撴灉";
+ int col2 = titleRow.IndexOf(key2);
+ arr[col2] = info.result;
+ }
+
+ if (!string.IsNullOrEmpty(info.updateTime))
+ {
+ string key2 = "娴嬭瘯鏃堕棿";// $"{info.step}娴嬭瘯鏃堕棿";
+ int col2 = titleRow.IndexOf(key2);
+ arr[col2] = info.updateTime;
+ }
+ }
+
+
+ FileInfo fi = new FileInfo(filePath);
+ if (!fi.Directory.Exists)
+ {
+ fi.Directory.Create(); //鏂囦欢涓嶅瓨鍦紝鍒涘缓鏂囦欢
+ }
+
+ using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
+ using (StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.UTF8))
+ {
+ string title = string.Join(",", titleRow);
+ sw.WriteLine(title);
+ foreach (var info in datas)
+ {
+ string row = string.Join(",", info);
+ sw.WriteLine(row);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ ViewControl.Logger.Error($"Cell[{title}] SaveInfoToCSV Error.", ex);
+ }
+ }
+
+ public void ReverseCSV(string filePath)
+ {
+ try
+ {
+ if (allInfos == null || allInfos.Count < 4) return;
+
+ Dictionary<string, int> columnMap = new Dictionary<string, int>();
+ int colPoint = 0;
+ List<string> titleRow = new List<string>();
+ List<string[]> datas = new List<string[]>();
+ List<string> timeRow = new List<string>();
+
+ void AddTitle(string title)
+ {
+ if (titleRow.IndexOf(title) < 0)
+ {
+ titleRow.Add(title);
+ }
+ }
+
+ // 鍏堣缃〃澶�
+ for (int i = 0; i < allInfos.Count; i++)
+ {
+ var info = allInfos[i];
+ if (IgnoreTestItem.Contains(info.step.ToLower()))
+ {
+ continue;
+ }
+ string testTime = info.updateTime;
+ int rowIndex = timeRow.IndexOf(testTime);
+ if (rowIndex < 0)
+ {
+ timeRow.Add(testTime);
+ }
+
+ string title = $"{info.step}{(string.IsNullOrEmpty(info.unit) ? "" : $"({info.unit})")}";
+ AddTitle("娴嬭瘯鏃堕棿");
+ AddTitle(title);
+ if (!string.IsNullOrEmpty(info.limitDown))
+ {
+ string key2 = $"{info.step}涓嬮檺";
+ AddTitle(key2);
+ }
+
+ if (!string.IsNullOrEmpty(info.limitUp))
+ {
+ string key2 = $"{info.step}涓婇檺";
+ AddTitle(key2);
+ }
+
+ if (!string.IsNullOrEmpty(info.limitUp))
+ {
+ string key2 = $"{info.step}娴嬭瘯缁撴灉";
+ AddTitle(key2);
+ }
+
+ //if (!string.IsNullOrEmpty(info.updateTime))
+ //{
+ // string key2 = $"{info.step}娴嬭瘯鏃堕棿";
+ // AddTitle(key2);
+ //}
+ }
+
+ for (int i = 0; i < allInfos.Count; i++)
+ {
+ var info = allInfos[i];
+ if (IgnoreTestItem.Contains(info.step.ToLower()))
+ {
+ continue;
+ }
+ string testTime = info.updateTime;
+ int row = timeRow.IndexOf(testTime);
+ if (row < 0)
+ {
+ continue;
+ }
+
+
+
+ string title = $"{info.step}{(string.IsNullOrEmpty(info.unit) ? "" : $"({info.unit})")}";
+ int col = titleRow.IndexOf(title);
+
+ if (datas.Count <= row)
+ {
+ datas.Add(new string[titleRow.Count]);
+ }
+ var arr = datas[row];
arr[col] = info.value;
@@ -910,6 +1055,7 @@
return;
}
string modelPath = table.parent.testModelFile;
+ int dutNo = table.index * table.cellCount + this.index;
var win = new ManualDebugWindow(manualDebugSeq, modelPath)
{
Title = $"{this.title}鎵嬪姩璋冭瘯",
@@ -917,7 +1063,7 @@
OvenIndex = this.table.index,
OvenName = this.table.title,
- CellIndex = this.index,
+ CellIndex = dutNo,
CellName = this.title
};
win.ShowDialog();
@@ -934,7 +1080,7 @@
};
if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
- this.SaveInfoToCSV(sfd.FileName);
+ this.NormalCSV(sfd.FileName);
}
}
--
Gitblit v1.9.1