2023-05-22 18:32:18 +08:00
|
|
|
|
using Aitex.Core.RT.Event;
|
|
|
|
|
using Aitex.Core.RT.OperationCenter;
|
|
|
|
|
using Aitex.Core.Util;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using System.Windows.Threading;
|
|
|
|
|
using System.Windows;
|
2023-06-09 17:20:52 +08:00
|
|
|
|
using DocumentFormat.OpenXml.Office2010.Excel;
|
2023-05-22 18:32:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace MECF.Framework.UI.Client.TrayThickness.HistoryData
|
|
|
|
|
{
|
|
|
|
|
public class HistoryCoatingManager:Singleton<HistoryCoatingManager>
|
|
|
|
|
{
|
|
|
|
|
public List<CoatingData> CoatingData { get; set; } = new List<CoatingData>();
|
|
|
|
|
|
|
|
|
|
HistoryCoatingSqlHelp historyCoatingSqlHelp { get; set; }=new HistoryCoatingSqlHelp();
|
|
|
|
|
public HistoryCoatingManager()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
public void Initialize()
|
|
|
|
|
{
|
|
|
|
|
InitData();
|
|
|
|
|
}
|
|
|
|
|
private void InitData()
|
|
|
|
|
{
|
|
|
|
|
OP.Subscribe("HistoryCoatingManager.Grow", (string cmd, object[] args) => Grow(args));
|
2023-06-08 16:48:35 +08:00
|
|
|
|
OP.Subscribe("HistoryCoatingManager.GrowCheck", (string cmd, object[] args) => GrowCheck(args));
|
2023-05-22 18:32:18 +08:00
|
|
|
|
}
|
|
|
|
|
public bool Grow(object[] args)//Process完成后更新生长厚度,操作对象Tray PM
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
double GrowthRate = Convert.ToDouble(args[1]);
|
|
|
|
|
double Seconds = Convert.ToDouble(args[2]);
|
|
|
|
|
|
|
|
|
|
if (GrowthRate* Seconds==0)
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
historyCoatingSqlHelp.GrowTray(args[0].ToString(), GrowthRate, Seconds);
|
|
|
|
|
historyCoatingSqlHelp.GrowPM(args[3].ToString(), GrowthRate, Seconds);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
EV.PostInfoLog("System", $"CoatingManager.Grow_Error {ex.ToString()}");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2023-06-08 16:48:35 +08:00
|
|
|
|
public bool GrowCheck(object[] args)
|
|
|
|
|
{
|
2023-06-09 17:20:52 +08:00
|
|
|
|
string lab = "";
|
|
|
|
|
if (historyCoatingSqlHelp.CheckExceedTray(args[0].ToString(), args[1].ToString(), out lab))
|
|
|
|
|
CheckIsClear(lab);
|
|
|
|
|
if (historyCoatingSqlHelp.CheckExceedPM(args[1].ToString(), out lab))
|
|
|
|
|
CheckIsClear(lab);
|
2023-06-08 16:48:35 +08:00
|
|
|
|
return true;
|
|
|
|
|
}
|
2023-05-22 18:32:18 +08:00
|
|
|
|
InspectCleanView inspectCleanView = new InspectCleanView();
|
2023-06-09 17:20:52 +08:00
|
|
|
|
private void CheckIsClear(string lab) //检查当前厚度是否大于设定厚度,操作对象Tray PM,需要清理时弹窗提示
|
2023-05-22 18:32:18 +08:00
|
|
|
|
{
|
2023-06-09 17:20:52 +08:00
|
|
|
|
//在异步中弹窗
|
|
|
|
|
Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() =>
|
2023-05-22 18:32:18 +08:00
|
|
|
|
{
|
2023-06-09 17:20:52 +08:00
|
|
|
|
inspectCleanView.AddToolTip(lab);
|
|
|
|
|
//弹窗提示,不关闭时,文本内容递增,关闭后重新提示
|
|
|
|
|
var wins = Application.Current.Windows.OfType<InspectCleanView>().ToArray();
|
|
|
|
|
if (wins.Any())
|
2023-05-22 18:32:18 +08:00
|
|
|
|
{
|
2023-06-09 17:20:52 +08:00
|
|
|
|
foreach (InspectCleanView w in wins)
|
2023-05-22 18:32:18 +08:00
|
|
|
|
{
|
2023-06-09 17:20:52 +08:00
|
|
|
|
if (w.WindowState == WindowState.Minimized)
|
|
|
|
|
w.WindowState = WindowState.Normal;
|
|
|
|
|
w.Show();
|
|
|
|
|
w.Activate();
|
2023-06-08 16:48:35 +08:00
|
|
|
|
}
|
2023-06-09 17:20:52 +08:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (!inspectCleanView.IsActive)
|
2023-06-08 16:48:35 +08:00
|
|
|
|
{
|
2023-06-09 17:20:52 +08:00
|
|
|
|
inspectCleanView = new InspectCleanView();
|
|
|
|
|
inspectCleanView.AddToolTip(lab);
|
|
|
|
|
inspectCleanView.Show();
|
2023-06-08 16:48:35 +08:00
|
|
|
|
}
|
2023-06-09 17:20:52 +08:00
|
|
|
|
}
|
|
|
|
|
}));
|
2023-05-22 18:32:18 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|