From 9211ec11c112e18cd99e77f889a01110a70031ce Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 24 十一月 2025 17:47:15 +0800
Subject: [PATCH] 优化项目结构

---
 Plugin.TestResult/TestResultView.xaml.cs |  140 ++++++++++++++++++++++++++++++----------------
 1 files changed, 92 insertions(+), 48 deletions(-)

diff --git a/Plugin.TestResult/TestResultView.xaml.cs b/Plugin.TestResult/TestResultView.xaml.cs
index f2f148d..8db8a85 100644
--- a/Plugin.TestResult/TestResultView.xaml.cs
+++ b/Plugin.TestResult/TestResultView.xaml.cs
@@ -3,7 +3,6 @@
 using NationalInstruments.TestStand.Interop.API;
 using NationalInstruments.TestStand.Interop.UI.Ax;
 using NationalInstruments.TestStand.Utility;
-using Plugin.TestResult_WPF.Constant;
 using Plugin.TestResult_WPF.Model;
 using Plugin.TsSupport;
 using System;
@@ -82,42 +81,6 @@
 
         private void Refresh()
         {
-            for (int i = 0; i < tables.Length; i++)
-            {
-                var sb = new System.Timers.Timer()
-                {
-                    Interval = 1000,
-                    AutoReset = true,
-                };
-                var table = tables[i];
-                Random random = new Random(i * 13);
-                sb.Elapsed += (s, e) =>
-                {
-                    table.RefreshCount(1, 0);
-                    table.SetTemperature(random.Next(100));
-                    for (int j = 0; j < 3; j++)
-                    {
-                        table.SetTemperature(j + "89", random.Next(100));
-                    }
-                    //table.SetOkCount(random.Next(100));
-                    //table.SetNgCount(random.Next(100));
-                    table.SetStatus(CommonStatus.GetRandomStatus());
-                    table.SetStartTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
-                    table.SetEndTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
-                    table.SetConsumeTime(random.Next(10000));
-                    tables[0].GetSingleCell(0).AddElectricData(random.Next(100));
-
-                    var cell = tables[0].GetSingleCell(0);//table.GetSingleCell(random.Next(table.GetSize()));
-                    cell.SetStatus(CommonStatus.GetRandomStatus());
-                    cell.SetInfos(new Info
-                    {
-                        step = random.Next(1000) + "",
-                        value = random.Next(1000) + ""
-                    });
-                    table.SetStatusText(DateTime.Now + "");
-                };
-                sb.Start();
-            }
         }
 
         private string CountIniPath;
@@ -187,6 +150,7 @@
         {
             try
             {
+                if (string.IsNullOrEmpty(testSeqFile)) return;
                 this.modeSeq = this.engine.GetSequenceFileEx(@"C:\Program Files\National Instruments\TestStand 2020\Components\Models\TestStandModels\ParallelModel.seq");
                 this.testSeq = this.engine.GetSequenceFileEx(this.testSeqFile, 0, TypeConflictHandlerTypes.ConflictHandler_UseGlobalType);
                 this.execution = this.engine.NewExecution(this.testSeq, "Test UUTs", this.modeSeq, false, 0, null, null, null);
@@ -360,10 +324,11 @@
                     {
                         step = values[0],
                         value = values[1],
-                        result = values[2],
-                        range = values[3],
-                        condition = values[4],
-                        updateTime = values[5]
+                        limitUp = values[2],
+                        limitDown = values[3],
+                        unit = values[4],
+                        result = values[5],
+                        updateTime = values[6]
                     });
                     return;
                 }
@@ -387,7 +352,7 @@
                 }
                 if (MethodCode == 12)
                 {
-                    /// 淇濆瓨娓╁害鏂囦欢
+                    /// 淇濆瓨鐐変綋娓╁害鏂囦欢
                     strData = e.uiMsg.StringData;
                     string[] datas = strData.Split(';');
                     int ovenIndex = int.Parse(datas[0]);
@@ -408,21 +373,95 @@
                 }
                 if (MethodCode == 14)
                 {
-                    /// 娓呯┖鐢垫祦鏁版嵁
+                    /// 娓呯┖鐢垫祦鍜岀數鍘嬫暟鎹�
                     strData = e.uiMsg.StringData;
                     int ovenIndex = int.Parse(strData);
                     tables[ovenIndex].ClearElectricData();
+                    tables[ovenIndex].ClearVData();
                     return;
                 }
+
                 if (MethodCode == 15)
                 {
-                    /// 娓呯┖鐢垫祦鏁版嵁
+                    /// 淇濆瓨鐢垫祦鏁版嵁
                     strData = e.uiMsg.StringData;
                     string[] datas = strData.Split(';');
                     int ovenIndex = int.Parse(datas[0]);
                     int cellIndex = int.Parse(datas[1]);
                     string filePath = datas[2];
                     tables[ovenIndex].GetSingleCell(cellIndex).SaveElectricDataToCSV(filePath);
+                    return;
+                }
+
+                if (MethodCode == 16)
+                {
+                    /// 娣诲姞鐢靛帇鏁版嵁
+                    strData = e.uiMsg.StringData;
+                    string[] datas = strData.Split(';');
+                    int ovenIndex = int.Parse(datas[0]);
+                    int cellIndex = int.Parse(datas[1]);
+                    double eData = double.Parse(datas[2]);
+                    tables[ovenIndex].GetSingleCell(cellIndex).AddVData(eData);
+                    return;
+                }
+
+                if (MethodCode == 17)
+                {
+                    /// 淇濆瓨鐢靛帇鏁版嵁
+                    strData = e.uiMsg.StringData;
+                    string[] datas = strData.Split(';');
+                    int ovenIndex = int.Parse(datas[0]);
+                    int cellIndex = int.Parse(datas[1]);
+                    string filePath = datas[2];
+                    tables[ovenIndex].GetSingleCell(cellIndex).SaveVDataToCSV(filePath);
+                    return;
+                }
+
+                if (MethodCode == 18)
+                {
+                    /// 淇濆瓨绌翠綅娴嬭瘯鏁版嵁鍒癈SV
+                    strData = e.uiMsg.StringData;
+                    string[] datas = strData.Split(';');
+                    int ovenIndex = int.Parse(datas[0]);
+                    int cellIndex = int.Parse(datas[1]);
+                    string filePath = datas[2];
+                    tables[ovenIndex].GetSingleCell(cellIndex).SaveInfoToCSV(filePath);
+                    return;
+                }
+
+                if (MethodCode == 19)
+                {
+                    /// 淇濆瓨绌翠綅娴嬭瘯鏁版嵁鍒癝qlite
+                    strData = e.uiMsg.StringData;
+                    string[] datas = strData.Split(';');
+                    int ovenIndex = int.Parse(datas[0]);
+                    int cellIndex = int.Parse(datas[1]);
+                    tables[ovenIndex].GetSingleCell(cellIndex).SaveInfoToDB();
+                    return;
+                }
+
+                if (MethodCode == 20)
+                {
+                    /// 娓呯┖鏉$爜
+                    strData = e.uiMsg.StringData;
+                    int ovenIndex = int.Parse(strData);
+                    tables[ovenIndex].ClearAllSN();
+                    return;
+                }
+
+                if (MethodCode == 99)
+                {
+                    strData = e.uiMsg.StringData;
+                    string[] datas = strData.Split(';');
+                    int index = int.Parse(datas[0]);
+                    if (MsgBoxHelper2.WarnChoose(datas[1], "鎻愮ず") == MessageBoxResult.OK)
+                    {
+                        SequenceContext.StationGlobals.SetValNumber($"StationState.Pipe[{index}]", 1, 1);
+                    }
+                    else
+                    {
+                        SequenceContext.StationGlobals.SetValNumber($"StationState.Pipe[{index}]", 1, 0);
+                    }
                     return;
                 }
             }
@@ -436,7 +475,7 @@
         {
             if (this.SequenceContext == null) return;
             string name = tables[index].title;
-            string key = $"StationState.Start_{name}";
+            string key = $"StationState.Start[{index}]";
             this.engine.Globals.SetValBoolean(key, 1, data);
             //bool val = this.engine.Globals.GetValBoolean(key, 0);
             //this.SequenceContext.StationGlobals.SetValBoolean(key, 0, data);
@@ -475,16 +514,21 @@
 
         public void SetCurrentProduct(string currentProduct)
         {
-            foreach (var table in tables)
+            for (int i = 0; i < tables.Length; i++)
             {
-                table.SetCurrentProduct(currentProduct);
+                var table = tables[i];
+                // table.SetCurrentProduct(currentProduct);
+                string LookupStr = $"StationState.Model[{i}]";
+                string tableModel = engine?.Globals?.GetValString(LookupStr, 1);
+                table.SetCurrentProduct(tableModel);
             }
         }
 
         public void SetOvenProduct(int index, string product)
         {
-            string LookupStr = $"StationState.ProductModel_{tables[index].title}";
+            string LookupStr = $"StationState.Model[{index}]";
             engine?.Globals?.SetValString(LookupStr, 1, product);
+            engine?.CommitGlobalsToDisk(promptOnSaveConflicts: false);
         }
     }
 }

--
Gitblit v1.9.1