duheng
2025-03-28 9be9ba4e159969fb5e32648c2c34e912ccc3ae6d
WinFrmUI/IBox.WinFrmUI/Form/IBoxFormRule.cs
@@ -1,8 +1,8 @@
using 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;
@@ -35,7 +35,9 @@
        public void HideButton()
        {
            simpleButton1.Visible = simpleButton2.Visible = simpleButton5.Visible = simpleButton3.Visible = simpleButton4.Visible = simpleButton6.Visible = simpleButton7.Visible = simpleButton8.Visible = false;
            //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;
@@ -75,7 +77,51 @@
        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)
@@ -143,25 +189,30 @@
        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(IBoxHelper.startCode + IBoxHelper.saverulesCode + IBoxHelper.paramCode + JsonHelper.Object2Json(stationMonitorLists) + IBoxHelper.endCode);
            MessageBoxHelper.ShowInfo("数据保存成功!");
        }
@@ -169,6 +220,11 @@
        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)
            {
@@ -182,6 +238,11 @@
        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()
            {
@@ -215,6 +276,11 @@
        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)
@@ -229,6 +295,11 @@
        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)
            {
@@ -242,6 +313,11 @@
        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()
@@ -262,6 +338,11 @@
        private void simpleButton2_Click(object sender, EventArgs e)
        {
            //新增机组
            AddGroup();
        }
        public void AddGroup()
        {
            var dlg = new MonitorGroupEditForm(null);
            if (dlg.ShowDialog() == DialogResult.OK)
            {