From 0940f31b7eba1cf6b6a8c1fca72d97cf686e79f2 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期五, 04 七月 2025 10:43:00 +0800
Subject: [PATCH] 优化插件,完善TreeListView
---
Plugin.TestResult/DataTable.xaml.cs | 122 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 120 insertions(+), 2 deletions(-)
diff --git a/Plugin.TestResult/DataTable.xaml.cs b/Plugin.TestResult/DataTable.xaml.cs
index 39e223c..54364f4 100644
--- a/Plugin.TestResult/DataTable.xaml.cs
+++ b/Plugin.TestResult/DataTable.xaml.cs
@@ -1,8 +1,12 @@
锘縰sing HMI.Core.Util;
+using HMI.UI.Util;
using HMI.Util;
+using Plugin.TestResult;
using Plugin.TestResult_WPF.Model;
+using Plugin.TestResult_WPF.Util;
using SuperSocket.SocketBase.Protocol;
using System;
+using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
@@ -64,7 +68,7 @@
set { RaiseAndSetIfchanged(ref tcpServerInfo, value); }
}
-
+ private static CommonCodeParser codeParser = new CommonCodeParser();
private readonly int index;
private readonly int cellCount;
private readonly string chartTitle;
@@ -97,6 +101,7 @@
this.chartTitle = config.MainChartTitle;
DataContext = this;
InitializeComponent();
+ mainGrid.Columns = config.PositionColumn;
this.chart = new Chart(this.chartTitle, false, config.MaxSize, config.RefreshInterval);
this.multiChart = new Chart(config.DetailChartTitle, true, config.MaxSize, config.RefreshInterval)
{
@@ -108,7 +113,7 @@
for (int i = 0; i < this.cellCount; i++)
{
- var cell = new SingleCell(title, i, config.CellListMaxSize);
+ var cell = new SingleCell(title, i, config.CellListMaxSize, countIniPath);
mainGrid.Children.Add(cell);
cells[i] = cell;
}
@@ -202,6 +207,8 @@
}
}
+ private Scanner scanner;
+
private void Window_Closed(object sender, EventArgs e)
{
window = null;
@@ -212,6 +219,53 @@
ClearChartData();
parent.SetStartFlag(this.index, true);
}
+
+ private void ScanWindow_Click(object sender, RoutedEventArgs e)
+ {
+ if (scanner != null)
+ {
+ scanner.Activate();
+ }
+ else
+ {
+ scanner = new Scanner(this.lang("Tr.ScanTitle", title))
+ {
+ Tag = title
+ };
+ scanner.FinishBarcode += Scanner_FinishBarcode;
+ scanner.Closed += Scanner_Closed;
+ scanner.Show();
+ }
+ }
+
+ private void Scanner_Closed(object sender, EventArgs e)
+ {
+ scanner = null;
+ }
+
+ private void Scanner_FinishBarcode(object sender, BarcodeEventArg e)
+ {
+ if (parent.SequenceContext == null) return;
+ CellInfo cellInfo = codeParser.GetCellInfoByCode(e.positionCode);
+
+ string paramName = $"StationState.StartScanner_{title}";
+ parent.engine.Globals.SetValBoolean(paramName, 0, true);
+ string positionCode = e.positionCode, snrCode = e.snrCode;
+ //TODO 闇�瑕佸鍔犳潯鐮佹牎楠屽姛鑳�
+
+ //灏嗚鍒扮殑鏉$爜鍐欏叆鍒癝N涓�
+ int dutNo = Convert.ToInt16(positionCode.Split('-')[2]) - 1;
+ dutNo = this.index * this.cellCount + dutNo;
+
+ string LookupStr = $"StationState.SN[{dutNo}]";
+ ViewControl.Logger.Info($"PositionCode: [{e.positionCode}], SNR: [{e.snrCode}], LookUpStr: [{LookupStr}]");
+
+ parent.engine.Globals.SetValString(LookupStr, 0, snrCode);
+ parent.engine.CommitGlobalsToDisk(promptOnSaveConflicts: false);
+ string code = parent.engine.Globals.GetValString(LookupStr, 0);
+ parent.nameTables[cellInfo.OvenName].GetSingleCell(cellInfo.Index).SetStatus("hadCode");
+ }
+
/// <summary>
/// 娓呯┖涓や釜鍥捐〃鏁版嵁
@@ -317,6 +371,7 @@
private void TcpServer_NewRequestReceived(TcpSession session, StringRequestInfo requestInfo)
{
string msg = requestInfo.Body;
+ ViewControl.Logger.Info($"TCP Data From {session.RemoteEndPoint}: {msg}.");
string[] datas_10015 = msg.Split(';');
int cellIndex = int.Parse(datas_10015[1]);
@@ -426,5 +481,68 @@
Console.WriteLine(ex.ToString());
}
}
+
+ public void SetProductSource(List<string> productSource)
+ {
+ CbProduct.ItemsSource = productSource;
+ }
+
+ public void SetCurrentProduct(string currentProduct)
+ {
+ CbProduct.SelectedItem = currentProduct;
+ }
+
+ private void CbProduct_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ if (e.AddedItems.Count > 0)
+ {
+ var str = e.AddedItems[0];
+ parent.SetOvenProduct(index, str.ToString());
+ }
+ else
+ {
+ parent.SetOvenProduct(index, "");
+ }
+ }
+
+ public void ClearElectricData()
+ {
+ foreach (var cell in cells)
+ {
+ cell.ClearElectricData();
+ }
+ }
+
+ private void Button_Click_1(object sender, RoutedEventArgs e)
+ {
+ ScannerSetting setting = new ScannerSetting()
+ {
+ Owner = Window.GetWindow(this)
+ };
+ setting.Open(true, this.title);
+ }
+
+ private void ClearAllSnr_Click(object sender, RoutedEventArgs e)
+ {
+ if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), LangUtil.Get("Tr.MakeSureClearAllSNR")) == MessageBoxResult.OK)
+ {
+ try
+ {
+ for (int i = 0; i < this.cellCount; i++)
+ {
+ int dutNo = this.index * this.cellCount + i;
+ string LookupStr = $"StationState.SN[{dutNo}]";
+ parent.engine.Globals.SetValString(LookupStr, 0, "");
+ GetSingleCell(i).SetStatus("waiting");
+ }
+ ToastHelper.Success(LangUtil.Get("App.DeleteSuccess"));
+ }
+ catch (Exception ex)
+ {
+ ViewControl.Logger.Error("ClearAllSnr_Click Error.", ex);
+ MsgBoxHelper.Error(Window.GetWindow(this), ex.Message);
+ }
+ }
+ }
}
}
--
Gitblit v1.9.1