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 = "[&param&]";
-        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