From 54f0329172de152cf95644f6d427971542e9f42c Mon Sep 17 00:00:00 2001
From: wells.liu <wells.liu@broconcentric.com>
Date: 星期一, 13 七月 2020 18:36:55 +0800
Subject: [PATCH] Merge branch 'master' of http://gitblit.broconcentric.com:8088/r/M071
---
src/Bro.UI.Config/MenuForms/FrmOperation.cs | 11 +++--
src/Bro.UI.Config/MainFrm.cs | 76 ++++++++++++++++++++++++++++++++++++++
2 files changed, 82 insertions(+), 5 deletions(-)
diff --git a/src/Bro.UI.Config/MainFrm.cs b/src/Bro.UI.Config/MainFrm.cs
index b2d717e..03faa5b 100644
--- a/src/Bro.UI.Config/MainFrm.cs
+++ b/src/Bro.UI.Config/MainFrm.cs
@@ -270,7 +270,80 @@
//{
// wait.SpinOnce();
//}
+
+ LoadProcess();
+
LoadLayoutFromXML(m_deserializeDeviceRunFrm);
+
+ LoadProcess(false);
+ }
+
+ private List<string> LoadProcessCode()
+ {
+ var systemProcessCodes = ProcessFactory.GetProcessCodes();
+ var avaiableProcessCodes = SettingHelper.GetProcessCodes();
+
+ List<string> pCodes = new List<string>();
+
+ if (avaiableProcessCodes.Count > 0)
+ {
+ pCodes = avaiableProcessCodes.Intersect(systemProcessCodes).ToList();
+ }
+ else
+ {
+ pCodes = systemProcessCodes;
+ }
+
+ return pCodes;
+ }
+
+ private List<string> LoadProductionCode()
+ {
+ return SettingHelper.GetProductionCodes();
+ }
+
+ private void LoadProcess(bool isInitialProcess = true)
+ {
+ if (isInitialProcess)
+ {
+ _process = ProcessFactory.CreateStationProcess(LoadProcessCode()[0], LoadProductionCode()[0], out string msg);
+
+ if (!string.IsNullOrWhiteSpace(msg))
+ {
+ _process = null;
+ //LogAsync(DateTime.Now, "Process鍒涘缓澶辫触", $"{msg}");
+ throw new ProcessException($"Process鍒涘缓澶辫触,{msg}", null, ExceptionLevel.Fatal);
+ }
+
+
+ _process.InitialProcess("");
+ }
+ _process.OnLog -= OnProcessLogOutput;
+ _process.OnLog += OnProcessLogOutput;
+
+ _process.OnAlarmUpdate -= Process_OnAlarmUpdate;
+ _process.OnAlarmUpdate += Process_OnAlarmUpdate;
+
+ //CloseAllDeviceFrm();
+ LoadDevices();
+
+ try
+ {
+ foreach (var dock in dockPanelMain.Contents)
+ {
+ MenuFrmBase m = dock as MenuFrmBase;
+
+ m.DownloadProcess(_process);
+ }
+ }
+ catch (Exception ex)
+ {
+ }
+ }
+
+ private void OnProcessLogOutput(DateTime dt, string prefix, string msg)
+ {
+ DockFrm_OnLogMsgOutput(new LogMsg(dt, prefix, msg));
}
private void CloseAllDocuments()
@@ -429,6 +502,9 @@
if (u == null)
return;
+ if (_process.DeviceCollection.Any(d => d.Id == u.Device.Id))
+ return;
+
u.DockPanel = null;
u.Close();
});
diff --git a/src/Bro.UI.Config/MenuForms/FrmOperation.cs b/src/Bro.UI.Config/MenuForms/FrmOperation.cs
index e1c128c..455f1aa 100644
--- a/src/Bro.UI.Config/MenuForms/FrmOperation.cs
+++ b/src/Bro.UI.Config/MenuForms/FrmOperation.cs
@@ -133,11 +133,11 @@
private void FrmOperation_Load(object sender, System.EventArgs e)
{
- if ((!plProcess.Visible) && (!plProduct.Visible) && _isFirstLoad)
- {
- LoadProcess();
- _isFirstLoad = false;
- }
+ //if ((!plProcess.Visible) && (!plProduct.Visible) && _isFirstLoad)
+ //{
+ // LoadProcess();
+ // _isFirstLoad = false;
+ //}
btnStart.Enabled = true;
}
@@ -205,6 +205,7 @@
}
//Process.OnProcessStateChanged += Process_OnProcessStateChanged;
+ Process.OnLog -= Process_OnLog;
Process.OnLog += Process_OnLog;
_currentProcssCode = _processCode;
--
Gitblit v1.8.0