From afbafeecc1325bff849a17fb63b9b2b65b48ddf1 Mon Sep 17 00:00:00 2001 From: ningshuxia <ningshuxia0927@outlook.com> Date: 星期四, 27 三月 2025 17:35:09 +0800 Subject: [PATCH] 模拟调度 --- WinFrmUI/IBox.WinFrmUI/Form/IBoxFormRule.cs | 160 +++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 119 insertions(+), 41 deletions(-) diff --git a/WinFrmUI/IBox.WinFrmUI/Form/IBoxFormRule.cs b/WinFrmUI/IBox.WinFrmUI/Form/IBoxFormRule.cs index 8442903..94c3adf 100644 --- a/WinFrmUI/IBox.WinFrmUI/Form/IBoxFormRule.cs +++ b/WinFrmUI/IBox.WinFrmUI/Form/IBoxFormRule.cs @@ -1,8 +1,8 @@ 锘縰sing DevExpress.XtraEditors; +using DevExpress.XtraLayout; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.SS.Util; -using PBS.Model; using PBS.Vmo; using System.IO; using Yw; @@ -12,15 +12,7 @@ { public partial class IBoxFormRule : DocumentPage { - private string startCode = "[&start&]"; - private string endCode = "[&end&]"; - private string paramCode = "[¶m&]"; - private string getrulesCode = "getrules"; - private string saverulesCode = "saverules"; - private string addsignalCode = "addsignal"; - private string deletesignalCode = "deletesignal"; - private string addMonitorgroupCode = "addmonitorgroup"; - private string deletemonitorgroupCode = "deletemonitorgroup"; + FacilityVmo _facilities; public IBoxFormRule(FacilityVmo facilities = null) @@ -39,6 +31,13 @@ SetDataType(); WaitFormHelper.ShowWaitForm(); + } + + public void HideButton() + { + //simpleButton1.Visible = simpleButton2.Visible = simpleButton5.Visible = simpleButton3.Visible = simpleButton4.Visible = simpleButton6.Visible = simpleButton7.Visible = simpleButton8.Visible = false; + layoutControlItem3.Visibility = layoutControlItem4.Visibility = layoutControlItem2.Visibility = layoutControlItem5.Visibility = layoutControlItem6.Visibility = + layoutControlItem7.Visibility = layoutControlItem8.Visibility = layoutControlItem9.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; } private List<IBox.WinFrmUI.GeneralViewModel> signalTypes; @@ -78,15 +77,59 @@ public event EventHandler<string> SendData; private void SendText(string content) { - SendData?.Invoke(null, content); + if (SendData != null) + { + SendData?.Invoke(null, content); + + } + else + { + if (IBoxHelper.Ping()) + { + var smsg = content.Split(new string[] { IBoxHelper.paramCode, IBoxHelper.startCode }, StringSplitOptions.RemoveEmptyEntries); + if (smsg.Length < 2) + { + return; + } + switch (smsg[0].Trim()) + { + case IBoxHelper.getrulesCode: + { + var order = IBoxHelper.HttpGet(content); + var result = IBoxHelper.GetContent(order); + if (!string.IsNullOrEmpty(result)) + { + var model = JsonHelper.Json2Object<List<StationMonitorListGroupMobileDto>>(result); + BindGrid(model, false); + } + break; + } + case IBoxHelper.saveparamsCode: + case IBoxHelper.addMonitorgroupCode: + case IBoxHelper.addsignalCode: + { + IBoxHelper.HttpPost(content); + break; + + } + default: + IBoxHelper.HttpGet(content); + break; + } + } + else + { + MessageBoxHelper.ShowWarning("缃戠粶杩炴帴澶辫触锛岃妫�鏌ョ綉缁�"); + } + } } private void EboxFormRule_Load(object sender, EventArgs e) { Thread.Sleep(500); - SendText(startCode + getrulesCode + paramCode + endCode); + SendText(IBoxHelper.startCode + IBoxHelper.getrulesCode + IBoxHelper.paramCode + IBoxHelper.endCode); } - + private List<DataGridMonitorViewModel> dataList = null; private List<StationMonitorListGroupMobileDto> stationMonitorLists; private List<DataGridMonitorViewModel> dataGridMonitorViewModels = new List<DataGridMonitorViewModel>(); @@ -146,45 +189,60 @@ private void simpleButton1_Click(object sender, EventArgs e) { + Save(); + } + + public void Save() + { stationMonitorLists.ForEach(list => + { + list.MonitorList.ForEach(monitor => { - list.MonitorList.ForEach(monitor => + var s = dataGridMonitorViewModels.FirstOrDefault(d => d.SignalID == monitor.SignalID); + if (s != null) { - var s = dataGridMonitorViewModels.FirstOrDefault(d => d.SignalID == monitor.SignalID); - if (s != null) - { - monitor.BusAddress = s.BusAddress; - monitor.BusType = s.BusType; - monitor.IsEnable = s.IsEnable; - monitor.Operator = s.Operator; - monitor.Operands = s.Operands; - monitor.Accuracy = s.Accuracy; - monitor.AdcType = s.AdcType; - monitor.UpperRange = s.UpperRange; - monitor.LowerRange = s.LowerRange; - } - }); + monitor.BusAddress = s.BusAddress; + monitor.BusType = s.BusType; + monitor.IsEnable = s.IsEnable; + monitor.Operator = s.Operator; + monitor.Operands = s.Operands; + monitor.Accuracy = s.Accuracy; + monitor.AdcType = s.AdcType; + monitor.UpperRange = s.UpperRange; + monitor.LowerRange = s.LowerRange; + } }); - SendText(startCode + saverulesCode + paramCode + JsonHelper.Object2Json(stationMonitorLists) + endCode); + }); + SendText(IBoxHelper.startCode + IBoxHelper.saverulesCode + IBoxHelper.paramCode + JsonHelper.Object2Json(stationMonitorLists) + IBoxHelper.endCode); MessageBoxHelper.ShowInfo("鏁版嵁淇濆瓨鎴愬姛!"); } private void simpleButton5_Click(object sender, EventArgs e) { //鍒犻櫎娴嬬偣 + DeleteSignal(); + } + + public void DeleteSignal() + { var m = this.gridView1.GetRow(this.gridView1.FocusedRowHandle) as DataGridMonitorViewModel; if (MessageBox.Show("纭鍒犻櫎娴嬬偣 " + m.SignalName + " 鍚�?", "鎻愮ず", MessageBoxButtons.OKCancel) == DialogResult.OK) { var md = new GeneralViewModel() { ID = m.SignalID }; - SendText(startCode + deletesignalCode + paramCode + JsonHelper.Object2Json(md) + endCode); + SendText(IBoxHelper.startCode + IBoxHelper.deletesignalCode + IBoxHelper.paramCode + JsonHelper.Object2Json(md) + IBoxHelper.endCode); MessageBoxHelper.ShowInfo("鎿嶄綔鎴愬姛"); - SendText(startCode + getrulesCode + paramCode + endCode); + SendText(IBoxHelper.startCode + IBoxHelper.getrulesCode + IBoxHelper.paramCode + IBoxHelper.endCode); } } private void simpleButton4_Click(object sender, EventArgs e) { //淇敼娴嬬偣 + EditSignal(); + } + + public void EditSignal() + { var m = this.gridView1.GetRow(this.gridView1.FocusedRowHandle) as DataGridMonitorViewModel; var s = new Signal() { @@ -209,42 +267,57 @@ if (dlg.ShowDialog(this) == DialogResult.OK) { var signal = dlg.signal; - SendText(startCode + addsignalCode + paramCode + JsonHelper.Object2Json(signal) + endCode); + SendText(IBoxHelper.startCode + IBoxHelper.addsignalCode + IBoxHelper.paramCode + JsonHelper.Object2Json(signal) + IBoxHelper.endCode); MessageBoxHelper.ShowInfo("鎿嶄綔鎴愬姛"); - SendText(startCode + getrulesCode + paramCode + endCode); + SendText(IBoxHelper.startCode + IBoxHelper.getrulesCode + IBoxHelper.paramCode + IBoxHelper.endCode); } } private void simpleButton3_Click(object sender, EventArgs e) { //鏂板娴嬬偣 + AddSignal(); + } + + public void AddSignal() + { var m = this.gridView1.GetRow(this.gridView1.FocusedRowHandle) as DataGridMonitorViewModel; var dlg = new SignalEditForm(this.signalTypes, this.monitorPoints, null); if (dlg.ShowDialog(this) == DialogResult.OK) { var signal = dlg.signal; - SendText(startCode + addsignalCode + paramCode + JsonHelper.Object2Json(signal) + endCode); + SendText(IBoxHelper.startCode + IBoxHelper.addsignalCode + IBoxHelper.paramCode + JsonHelper.Object2Json(signal) + IBoxHelper.endCode); MessageBoxHelper.ShowInfo("鎿嶄綔鎴愬姛"); - SendText(startCode + getrulesCode + paramCode + endCode); + SendText(IBoxHelper.startCode + IBoxHelper.getrulesCode + IBoxHelper.paramCode + IBoxHelper.endCode); } } private void simpleButton7_Click(object sender, EventArgs e) { //鍒犻櫎鏈虹粍 + DeleteGroup(); + } + + public void DeleteGroup() + { var m = this.gridView1.GetRow(this.gridView1.FocusedRowHandle) as DataGridMonitorViewModel; if (MessageBox.Show("鍒犻櫎鏈虹粍浼氬悓鏃跺垹闄ゆ満缁勭粦瀹氱殑鎵�鏈夋祴鐐癸紝纭鍒犻櫎鏈虹粍 " + m.GroupName + " 鍚�?", "鎻愮ず", MessageBoxButtons.OKCancel) == DialogResult.OK) { var md = new GeneralViewModel() { ID = m.GroupID }; - SendText(startCode + deletemonitorgroupCode + paramCode + JsonHelper.Object2Json(md) + endCode); + SendText(IBoxHelper.startCode + IBoxHelper.deletemonitorgroupCode + IBoxHelper.paramCode + JsonHelper.Object2Json(md) + IBoxHelper.endCode); MessageBoxHelper.ShowInfo("鎿嶄綔鎴愬姛"); - SendText(startCode + getrulesCode + paramCode + endCode); + SendText(IBoxHelper.startCode + IBoxHelper.getrulesCode + IBoxHelper.paramCode + IBoxHelper.endCode); } } private void simpleButton6_Click(object sender, EventArgs e) { //缂栬緫鏈虹粍 + EditGroup(); + } + + public void EditGroup() + { var m = this.gridView1.GetRow(this.gridView1.FocusedRowHandle) as DataGridMonitorViewModel; var g = new IBox.WinFrmUI.MonitorPointGroup() @@ -256,22 +329,27 @@ if (dlg.ShowDialog() == DialogResult.OK) { var group = dlg.group; - SendText(startCode + addMonitorgroupCode + paramCode + JsonHelper.Object2Json(group) + endCode); + SendText(IBoxHelper.startCode + IBoxHelper.addMonitorgroupCode + IBoxHelper.paramCode + JsonHelper.Object2Json(group) + IBoxHelper.endCode); MessageBoxHelper.ShowInfo("鎿嶄綔鎴愬姛"); - SendText(startCode + getrulesCode + paramCode + endCode); + SendText(IBoxHelper.startCode + IBoxHelper.getrulesCode + IBoxHelper.paramCode + IBoxHelper.endCode); } } private void simpleButton2_Click(object sender, EventArgs e) { //鏂板鏈虹粍 + AddGroup(); + } + + public void AddGroup() + { var dlg = new MonitorGroupEditForm(null); if (dlg.ShowDialog() == DialogResult.OK) { var group = dlg.group; - SendText(startCode + addMonitorgroupCode + paramCode + JsonHelper.Object2Json(group) + endCode); + SendText(IBoxHelper.startCode + IBoxHelper.addMonitorgroupCode + IBoxHelper.paramCode + JsonHelper.Object2Json(group) + IBoxHelper.endCode); MessageBoxHelper.ShowInfo("鎿嶄綔鎴愬姛"); - SendText(startCode + getrulesCode + paramCode + endCode); + SendText(IBoxHelper.startCode + IBoxHelper.getrulesCode + IBoxHelper.paramCode + IBoxHelper.endCode); } } -- Gitblit v1.9.3