From 7b903bb86375e9df24a725288d1c876b8d2b0e61 Mon Sep 17 00:00:00 2001
From: chr <chr@mailcom>
Date: 星期一, 03 三月 2025 19:47:49 +0800
Subject: [PATCH] 整合TestResult;

---
 HMI.ParameterManage/HMI.ParameterManage.csproj |    1 
 Plugin.TestResult/ViewControl.xaml.cs          |   55 ++++-------------
 HMI.ParameterManage/ParameterManage.xaml.cs    |    2 
 Plugin.TestResult/packages.config              |    3 +
 HMI.ParameterManage/Util/ParameterManager.cs   |   24 ++++++++
 WPFProject/WPFProject.sln                      |   10 ---
 Plugin.TestResult/ViewControl.xaml             |   10 ++
 Plugin.TestResult/Plugin.TestResult.csproj     |   29 +++++++++
 8 files changed, 79 insertions(+), 55 deletions(-)

diff --git a/HMI.ParameterManage/HMI.ParameterManage.csproj b/HMI.ParameterManage/HMI.ParameterManage.csproj
index f854a4d..0a42ad0 100644
--- a/HMI.ParameterManage/HMI.ParameterManage.csproj
+++ b/HMI.ParameterManage/HMI.ParameterManage.csproj
@@ -82,6 +82,7 @@
       <DependentUpon>ProductModal.xaml</DependentUpon>
     </Compile>
     <Compile Include="Model\XmlModel.cs" />
+    <Compile Include="Util\ParameterManager.cs" />
     <Page Include="ParameterManage.xaml">
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>
diff --git a/HMI.ParameterManage/ParameterManage.xaml.cs b/HMI.ParameterManage/ParameterManage.xaml.cs
index 8da173a..35adb6d 100644
--- a/HMI.ParameterManage/ParameterManage.xaml.cs
+++ b/HMI.ParameterManage/ParameterManage.xaml.cs
@@ -16,6 +16,7 @@
     /// </summary>
     public partial class ParameterManage : PluginControl
     {
+        public static string FileFolder { get; private set; }
         private XmlModel Model;
 
         public ParameterManage()
@@ -26,6 +27,7 @@
         public override void InitFinish()
         {
             Model = new XmlModel(BaseFolder);
+            FileFolder = BaseFolder;
             DataContext = Model;
         }
 
diff --git a/HMI.ParameterManage/Util/ParameterManager.cs b/HMI.ParameterManage/Util/ParameterManager.cs
new file mode 100644
index 0000000..ba73acf
--- /dev/null
+++ b/HMI.ParameterManage/Util/ParameterManager.cs
@@ -0,0 +1,24 @@
+锘縰sing HMI.Core.Util;
+using HMI.ParameterManage.Entity;
+using System.Collections.Generic;
+using System.IO;
+
+namespace HMI.ParameterManage.Util
+{
+    public class ParameterManager
+    {
+        public static List<ProductData> GetProducts()
+        {
+            string path = Path.Combine(ParameterManage.FileFolder, "Product.setting");
+            List<ProductData> datas = XmlHelper.DeserializeFromXml<List<ProductData>>(path);
+            return datas;
+        }
+
+        public static List<ParameterData> GetParametersByProductName(string productName)
+        {
+            string path = Path.Combine(ParameterManage.FileFolder, "Parameter", $"Parameter_{productName}.setting");
+            List<ParameterData> datas = XmlHelper.DeserializeFromXml<List<ParameterData>>(path);
+            return datas;
+        }
+    }
+}
diff --git a/Plugin.TestResult/Plugin.TestResult.csproj b/Plugin.TestResult/Plugin.TestResult.csproj
index d66425d..ed05612 100644
--- a/Plugin.TestResult/Plugin.TestResult.csproj
+++ b/Plugin.TestResult/Plugin.TestResult.csproj
@@ -61,6 +61,9 @@
     <Reference Include="HarfBuzzSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
       <HintPath>..\WPFProject\packages\HarfBuzzSharp.7.3.0.3\lib\net462\HarfBuzzSharp.dll</HintPath>
     </Reference>
+    <Reference Include="log4net, Version=3.0.3.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
+      <HintPath>..\WPFProject\packages\log4net.3.0.3\lib\net462\log4net.dll</HintPath>
+    </Reference>
     <Reference Include="NationalInstruments.TestStand.Interop.AdapterAPI, Version=20.0.0.49158, Culture=neutral, PublicKeyToken=ad9244eb3b825cd8, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <EmbedInteropTypes>True</EmbedInteropTypes>
@@ -96,8 +99,11 @@
     <Reference Include="OpenTK, Version=3.3.1.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
       <HintPath>..\WPFProject\packages\OpenTK.3.3.1\lib\net20\OpenTK.dll</HintPath>
     </Reference>
-    <Reference Include="ParameterHelper">
-      <HintPath>..\Libs\ParameterHelper.dll</HintPath>
+    <Reference Include="Panuon.WPF, Version=1.1.2.2, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\WPFProject\packages\Panuon.WPF.1.1.2.2\lib\net472\Panuon.WPF.dll</HintPath>
+    </Reference>
+    <Reference Include="Panuon.WPF.UI, Version=1.2.4.8, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\WPFProject\packages\Panuon.WPF.UI.1.2.4.9\lib\net472\Panuon.WPF.UI.dll</HintPath>
     </Reference>
     <Reference Include="ScottPlot, Version=5.0.47.0, Culture=neutral, PublicKeyToken=86698dc10387c39e, processorArchitecture=MSIL">
       <HintPath>..\WPFProject\packages\ScottPlot.5.0.47\lib\net462\ScottPlot.dll</HintPath>
@@ -153,6 +159,7 @@
     <Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
       <HintPath>..\WPFProject\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll</HintPath>
     </Reference>
+    <Reference Include="System.Web" />
     <Reference Include="System.Windows.Forms" />
     <Reference Include="System.Xml" />
     <Reference Include="Microsoft.CSharp" />
@@ -288,6 +295,24 @@
   <ItemGroup>
     <Resource Include="Resource\barcode.png" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\HMI.Base\HMI.Base.csproj">
+      <Project>{2a6f9720-a890-4036-9d73-41a0dae28341}</Project>
+      <Name>HMI.Base</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\HMI.Core\HMI.Core.csproj">
+      <Project>{3e3bf44a-0b69-45c5-9512-528cb48a7106}</Project>
+      <Name>HMI.Core</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\HMI.ParameterManage\HMI.ParameterManage.csproj">
+      <Project>{736cd77d-b81e-4866-bb00-84b0b57110f0}</Project>
+      <Name>HMI.ParameterManage</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\HMI.UI\HMI.UI.csproj">
+      <Project>{f17de6b5-af1d-48c6-94a0-6b763a6546a6}</Project>
+      <Name>HMI.UI</Name>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Import Project="..\WPFProject\packages\HarfBuzzSharp.NativeAssets.macOS.7.3.0.3\build\net462\HarfBuzzSharp.NativeAssets.macOS.targets" Condition="Exists('..\WPFProject\packages\HarfBuzzSharp.NativeAssets.macOS.7.3.0.3\build\net462\HarfBuzzSharp.NativeAssets.macOS.targets')" />
   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
diff --git a/Plugin.TestResult/ViewControl.xaml b/Plugin.TestResult/ViewControl.xaml
index 1d320b9..8ddfc37 100644
--- a/Plugin.TestResult/ViewControl.xaml
+++ b/Plugin.TestResult/ViewControl.xaml
@@ -1,9 +1,15 @@
-锘�<UserControl x:Class="Plugin.TestResult_WPF.ViewControl"
+锘�<hb:PluginControl x:Class="Plugin.TestResult_WPF.ViewControl"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:local="clr-namespace:Plugin.TestResult_WPF"
+             xmlns:hb="clr-namespace:HMI.Base;assembly=HMI.Base"
+                  xmlns:uic="clr-namespace:HMI.UI.Converter;assembly=HMI.UI"
+xmlns:ui="clr-namespace:HMI.UI;assembly=HMI.UI"
+xmlns:pw="https://opensource.panuon.com/wpf"
+xmlns:pu="https://opensource.panuon.com/wpf-ui"
+xmlns:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI"
              mc:Ignorable="d" 
              Loaded="UserControl_Loaded"
              d:DesignHeight="450" d:DesignWidth="800">
@@ -158,4 +164,4 @@
             </GroupBox>
         </StackPanel>
     </Grid>
-</UserControl>
+</hb:PluginControl>
diff --git a/Plugin.TestResult/ViewControl.xaml.cs b/Plugin.TestResult/ViewControl.xaml.cs
index fc91920..7f06b2a 100644
--- a/Plugin.TestResult/ViewControl.xaml.cs
+++ b/Plugin.TestResult/ViewControl.xaml.cs
@@ -1,7 +1,8 @@
-锘縰sing NationalInstruments.TestStand.Interop.API;
+锘縰sing HMI.Base;
+using HMI.ParameterManage.Entity;
+using HMI.ParameterManage.Util;
+using NationalInstruments.TestStand.Interop.API;
 using NationalInstruments.TestStand.Interop.UI.Ax;
-using NationalInstruments.TestStand.Utility;
-using ParameterHelper;
 using Plugin.TestResult_WPF.Model;
 using Plugin.TestResult_WPF.Util;
 using System;
@@ -9,41 +10,17 @@
 using System.ComponentModel;
 using System.Linq;
 using System.Runtime.CompilerServices;
-using System.Text;
-using System.Threading.Tasks;
 using System.Windows;
 using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
 
 namespace Plugin.TestResult_WPF
 {
     /// <summary>
     /// ViewControl.xaml 鐨勪氦浜掗�昏緫
     /// </summary>
-    public partial class ViewControl : UserControl, INotifyPropertyChanged
+    public partial class ViewControl : PluginControl
     {
-        public event PropertyChangedEventHandler PropertyChanged;
-        public void RaisePropertyChanged(string name)
-        {
-            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
-        }
-        public void RaiseAndSetIfChanged<T>(ref T old, T @new, [CallerMemberName] string propertyName = null)
-        {
-            old = @new;
-            if (propertyName != null)
-            {
-                RaisePropertyChanged(propertyName);
-            }
-        }
 
-        private ParameterManager parameterManager;
         private CommonCodeParser codeParser = new CommonCodeParser();
         private double TestTemperature = 60;
         private int TestTime = 3600;
@@ -65,7 +42,7 @@
         public bool mesStatus
         {
             get => _mesStatus;
-            set => RaiseAndSetIfChanged(ref _mesStatus, value);
+            set => Set(ref _mesStatus, value);
         }
 
         private string _produceStatus = "INIT";
@@ -73,7 +50,7 @@
         public string produceStatus
         {
             get => _produceStatus;
-            set => RaiseAndSetIfChanged(ref _produceStatus, value);
+            set => Set(ref _produceStatus, value);
         }
 
 
@@ -93,7 +70,7 @@
 
         private void axApplicationMgr_ExecutionClosed(object sender, _ApplicationMgrEvents_ExecutionClosedEvent e)
         {
-           
+
         }
 
         private void axApplicationMgr_UIMessageEvent(object sender, _ApplicationMgrEvents_UIMessageEventEvent e)
@@ -143,14 +120,13 @@
 
         public void LoadProduct()
         {
-            ProductManager prdManager = new ProductManager();
-            prdManager.LoadProducts();
+            List<ProductData> products = ParameterManager.GetProducts();
             this.modelSelect.Items.Clear();
-            foreach (Product prd in prdManager.Products)
+            foreach (var prd in products)
             {
                 this.modelSelect.Items.Add(prd.Name);
             }
-            if (prdManager.Products.Count > 0)
+            if (products.Count > 0)
             {
                 this.modelSelect.SelectedIndex = 0;
             }
@@ -160,10 +136,7 @@
         {
             try
             {
-                string ParaFile = @".\Config\ProductionSetting\Parameter\Parameter_" + this.modelSelect.SelectedItem + ".setting";
-
-                this.parameterManager = new ParameterManager(ParaFile);
-                this.parameterManager.LoadParameters();
+                List<ParameterData> parameters = ParameterManager.GetParametersByProductName(this.modelSelect.SelectedItem.ToString());
                 //MessageBox.Show("ParaFile:" + ParaFile + "ParaCount:" + this.parameterManager.Parameters.Count.ToString());
                 //this.TestTemperature = Convert.ToDouble(this.parameterManager.Find("TestTemperature").ParmValue);
                 //this.TestTime = Convert.ToInt32(this.parameterManager.Find("TestTime").ParmValue);
@@ -171,7 +144,7 @@
                 //this.SaftyTemperature = Convert.ToDouble(this.parameterManager.Find("SaftyTemperature").ParmValue);
                 //this.Time_Heating_Low = Convert.ToDouble(this.parameterManager.Find("Time_Heat_Low").ParmValue);
                 //this.Time_Heating_High = Convert.ToDouble(this.parameterManager.Find("Time_Heat_High").ParmValue);
-                testResultView.testSeqFile = this.parameterManager.Find("TestSequence").ParmValue.ToString(); // @"D:\BurnIn\TestDemo.seq"
+                testResultView.testSeqFile = parameters.FirstOrDefault(p => p.Name == "TestSequence")?.Value;
 
 
             }
@@ -186,7 +159,7 @@
             try
             {
                 testResultView.StartTestSequence();
-                
+
                 this.modelSelect.IsEnabled = false;
                 this.btnStart.IsEnabled = false;
                 this.btnStop.IsEnabled = true;
diff --git a/Plugin.TestResult/packages.config b/Plugin.TestResult/packages.config
index 6693fcf..5fdea95 100644
--- a/Plugin.TestResult/packages.config
+++ b/Plugin.TestResult/packages.config
@@ -4,8 +4,11 @@
   <package id="HarfBuzzSharp.NativeAssets.Linux" version="7.3.0.3" targetFramework="net472" />
   <package id="HarfBuzzSharp.NativeAssets.macOS" version="7.3.0.3" targetFramework="net472" />
   <package id="HarfBuzzSharp.NativeAssets.Win32" version="7.3.0.3" targetFramework="net472" />
+  <package id="log4net" version="3.0.3" targetFramework="net472" />
   <package id="OpenTK" version="3.3.1" targetFramework="net472" />
   <package id="OpenTK.GLWpfControl" version="3.3.0" targetFramework="net472" />
+  <package id="Panuon.WPF" version="1.1.2.2" targetFramework="net472" />
+  <package id="Panuon.WPF.UI" version="1.2.4.9" targetFramework="net472" />
   <package id="ScottPlot" version="5.0.47" targetFramework="net472" />
   <package id="ScottPlot.WPF" version="5.0.47" targetFramework="net472" />
   <package id="SkiaSharp" version="2.88.9" targetFramework="net472" />
diff --git a/WPFProject/WPFProject.sln b/WPFProject/WPFProject.sln
index 80ca826..9d3d593 100644
--- a/WPFProject/WPFProject.sln
+++ b/WPFProject/WPFProject.sln
@@ -31,8 +31,6 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HMI.ParameterManage", "..\HMI.ParameterManage\HMI.ParameterManage.csproj", "{736CD77D-B81E-4866-BB00-84B0B57110F0}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CommonLibs", "..\..\HMI.Old\Framework\CommonLibs\CommonLibs\CommonLibs.csproj", "{0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HMI.LogViewer", "..\HMI.LogViewer\HMI.LogViewer.csproj", "{20C23602-B029-4E21-8C11-B9E5F2223237}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Plugin.TestResult", "..\Plugin.TestResult\Plugin.TestResult.csproj", "{7375B74C-B6BF-4814-9838-E1CAACAD1897}"
@@ -157,14 +155,6 @@
 		{736CD77D-B81E-4866-BB00-84B0B57110F0}.Release|Any CPU.Build.0 = Release|Any CPU
 		{736CD77D-B81E-4866-BB00-84B0B57110F0}.Release|x64.ActiveCfg = Release|Any CPU
 		{736CD77D-B81E-4866-BB00-84B0B57110F0}.Release|x64.Build.0 = Release|Any CPU
-		{0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Debug|x64.ActiveCfg = Debug|x64
-		{0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Debug|x64.Build.0 = Debug|x64
-		{0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Release|Any CPU.Build.0 = Release|Any CPU
-		{0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Release|x64.ActiveCfg = Release|x64
-		{0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Release|x64.Build.0 = Release|x64
 		{20C23602-B029-4E21-8C11-B9E5F2223237}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{20C23602-B029-4E21-8C11-B9E5F2223237}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{20C23602-B029-4E21-8C11-B9E5F2223237}.Debug|x64.ActiveCfg = Debug|x64

--
Gitblit v1.9.1