From c401a2f2fd1a509cdeb33e850bb5c2827074af48 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 17 三月 2025 08:44:51 +0800
Subject: [PATCH] 完善框架,新增两个close方法;
---
Plugin.TestResult/DataTable.xaml.cs | 134 +++++++++++++++++++++++++++++++++++---------
1 files changed, 107 insertions(+), 27 deletions(-)
diff --git a/Plugin.TestResult/DataTable.xaml.cs b/Plugin.TestResult/DataTable.xaml.cs
index d0bb6a6..aa7f621 100644
--- a/Plugin.TestResult/DataTable.xaml.cs
+++ b/Plugin.TestResult/DataTable.xaml.cs
@@ -1,11 +1,10 @@
-锘縰sing Plugin.TestResult_WPF.Model;
+锘縰sing HMI.Core.Util;
+using HMI.Util;
+using Plugin.TestResult_WPF.Model;
using SuperSocket.SocketBase.Protocol;
using System;
using System.ComponentModel;
-using System.Net;
-using System.Net.Sockets;
using System.Runtime.CompilerServices;
-using System.Threading;
using System.Windows;
using System.Windows.Controls;
@@ -55,7 +54,7 @@
set { RaiseAndSetIfchanged(ref tcpServerStatus, value); }
}
- private string tcpServerInfo = "鏈惎鍔�";
+ private string tcpServerInfo = LangUtil.Get("App.NotStarted");
public string TcpServerInfo
{
@@ -75,9 +74,13 @@
private SingleCell[] cells;
private TcpServer tcpServer;
+ private string CountIniPath;
- public DataTable(TestResultView parent,int index, string title, BaseConfig config)
+ public DataTable(TestResultView parent, int index, string title,
+ string countIniPath,
+ BaseConfig config)
{
+ this.CountIniPath = countIniPath;
this.config = config;
this.index = index;
this.parent = parent;
@@ -88,8 +91,9 @@
DataContext = this;
InitializeComponent();
this.chart = new Chart(this.chartTitle, false, config.MaxSize, config.RefreshInterval);
- this.multiChart = new Chart(config.DetailChartTitle, true, config.MaxSize, config.RefreshInterval) {
- BorderThickness = new Thickness(0)
+ this.multiChart = new Chart(config.DetailChartTitle, true, config.MaxSize, config.RefreshInterval)
+ {
+ BorderThickness = new Thickness(0)
};
this.grid.Children.Add(this.chart);
Grid.SetRow(this.chart, 2);
@@ -101,6 +105,7 @@
mainGrid.Children.Add(cell);
cells[i] = cell;
}
+ ReadCount();
}
public int GetSize()
@@ -198,6 +203,9 @@
multiChart.Clear();
}
+ /// <summary>
+ /// 鍚姩Tcp鏈嶅姟鍣�
+ /// </summary>
private void StartTcpServer()
{
try
@@ -208,39 +216,44 @@
tcpServer.NewRequestReceived += TcpServer_NewRequestReceived;
if (!tcpServer.Setup(config.PortStart + index))
{
- ChangeTcpServerStatus("ERROR", "鏈嶅姟璁剧疆寮傚父");
+ ChangeTcpServerStatus("ERROR", this.lang("Tr.TcpServer.SettingFailed"));
return;
}
if (!tcpServer.Start())
{
- ChangeTcpServerStatus("ERROR", "鏈嶅姟鍚姩寮傚父");
+ ChangeTcpServerStatus("ERROR", this.lang("Tr.TcpServer.StartFailed"));
return;
}
- ChangeTcpServerStatus("RUNNING", "鏈嶅姟杩愯涓�");
+ ChangeTcpServerStatus("RUNNING", this.lang("Tr.TcpServer.Running"));
+ }
+ else if (tcpServer.State != SuperSocket.SocketBase.ServerState.Running)
+ {
+ if (!tcpServer.Setup(config.PortStart + index))
+ {
+ ChangeTcpServerStatus("ERROR", this.lang("Tr.TcpServer.SettingFailed"));
+ return;
+ }
+ if (!tcpServer.Start())
+ {
+ ChangeTcpServerStatus("ERROR", this.lang("Tr.TcpServer.StartFailed"));
+ return;
+ }
+ ChangeTcpServerStatus("RUNNING", this.lang("Tr.TcpServer.Running"));
}
}
catch (Exception ex)
{
- ChangeTcpServerStatus("ERROR", $"鏈嶅姟寮傚父锛歿ex.Message}");
+ ChangeTcpServerStatus("ERROR", $"{ex.Message}");
tcpServer?.Stop();
tcpServer = null;
}
}
- private void StopTcpServer()
- {
- if (tcpServer == null) return;
- try
- {
- tcpServer.Stop();
- tcpServer = null;
- }
- catch (Exception ex)
- {
-
- }
- }
-
+ /// <summary>
+ /// 鏇存柊Tcp鏈嶅姟鍣ㄧ姸鎬�
+ /// </summary>
+ /// <param name="status"></param>
+ /// <param name="info"></param>
private void ChangeTcpServerStatus(string status, string info)
{
Dispatcher.Invoke(() =>
@@ -250,6 +263,35 @@
});
}
+ /// <summary>
+ /// 鍋滄Tcp鏈嶅姟鍣�
+ /// </summary>
+ private void StopTcpServer()
+ {
+ try
+ {
+ tcpServer?.Stop();
+ tcpServer = null;
+ }
+ catch (Exception ex)
+ {
+
+ }
+ }
+
+ /// <summary>
+ /// 閲婃斁璧勬簮
+ /// </summary>
+ public void RelaseResource()
+ {
+ StopTcpServer();
+ }
+
+ /// <summary>
+ /// Tcp娑堟伅澶勭悊
+ /// </summary>
+ /// <param name="session"></param>
+ /// <param name="requestInfo"></param>
private void TcpServer_NewRequestReceived(TcpSession session, StringRequestInfo requestInfo)
{
string msg = requestInfo.Body;
@@ -270,7 +312,45 @@
condition = values[4],
updateTime = values[5]
});
- session.Send("1");
+ //session.Send("1");
+ }
+
+ public void RefreshCount(int ok, int ng)
+ {
+ infoTable.UpdateNumber(infoTable.okCount + ok, infoTable.ngCount + ng);
+ IniFileHelper.WriteIniData($"Oven_{index}", "Pass", infoTable.okCount.ToString(),
+ this.CountIniPath);
+ IniFileHelper.WriteIniData($"Oven_{index}", "Fail", infoTable.ngCount.ToString(),
+ this.CountIniPath);
+ }
+
+ /// <summary>
+ /// 璇诲彇淇濆瓨鐨勬暟鎹�
+ /// </summary>
+ public void ReadCount()
+ {
+ try
+ {
+ int ok = Convert.ToInt32(IniFileHelper.ReadIniData($"Oven_{index}", "Pass", "", CountIniPath));
+ int ng = Convert.ToInt32(IniFileHelper.ReadIniData($"Oven_{index}", "Fail", "", CountIniPath));
+ infoTable.UpdateNumber(ok, ng);
+ }
+ catch (Exception ex)
+ {
+ //do nothing
+ }
+ }
+
+ /// <summary>
+ /// 璁℃暟娓呴浂
+ /// </summary>
+ public void ClearNumber()
+ {
+ infoTable.UpdateNumber(0, 0);
+ IniFileHelper.WriteIniData($"Oven_{index}", "Pass", infoTable.okCount.ToString(),
+ this.CountIniPath);
+ IniFileHelper.WriteIniData($"Oven_{index}", "Fail", infoTable.ngCount.ToString(),
+ this.CountIniPath);
}
private void UserControl_Loaded(object sender, RoutedEventArgs e)
--
Gitblit v1.9.1