qin
2025-03-19 342b10ed5f4ebbccf2d2868d211fbe91cf3e8d5d
WinFrmUI/IBox.WinFrmUI/IBoxForm.cs
@@ -3,15 +3,11 @@
using InTheHand.Net;
using InTheHand.Net.Bluetooth;
using InTheHand.Net.Sockets;
using System.Data;
using System.IO;
using PBS.Vmo;
using System.Net.Http;
using System.Text;
using Yw.WinFrmUI;
using Yw;
using PBS.Model;
using DevExpress.XtraEditors;
using PBS.Vmo;
using Yw.WinFrmUI;
namespace IBox.WinFrmUI
{
@@ -21,20 +17,12 @@
        private BluetoothRadio radio = null;//蓝牙适配器
        private string sendFileName = null;//发送文件名
        private BluetoothAddress sendAddress = null;//发送目的地址
        //private ObexListener listener = null;//监听器
        private Thread listenThread, sendThread;//发送/接收线程
        private BluetoothClient myClient = null;
        private string startCode = "[&start&]";
        private string endCode = "[&end&]";
        private string paramCode = "[&param&]";
        private string getbaseCode = "getbase";
        private string getrealrecordCode = "getrealrecord";
        private string gethistoryrecordCode = "gethistoryrecord";
        private string getalarmbydayCode = "getalarmbyday";
        private string getbysignalidofdayrangeCode = "getbysignalidofdayrange";
        private string getmonitorCode = "getmonitor";
        private string getsignaltypeCode = "getsignaltype";
        private string getMonitorgroupCode = "getmonitorgroup";
        private BluetoothDeviceInfo curLanYa = null;
        private List<BluetoothDeviceInfo> LstBluetooth = null;
@@ -93,14 +81,14 @@
        private void ConnectedEve()
        {
            barButtonItem2.Enabled = barButtonItem3.Enabled = barButtonItem14.Enabled = barButtonItem11.Enabled = barButtonItem12.Enabled = barButtonItem4.Enabled = barButtonItem5.Enabled = barButtonItem6.Enabled = barButtonItem7.Enabled = barButtonItem8.Enabled = barButtonItem9.Enabled = barButtonItem13.Enabled = true;
            barButtonItem2.Enabled = barButtonItem3.Enabled = barButtonItem14.Enabled = barButtonItem11.Enabled = barButtonItem12.Enabled = barButtonItem4.Enabled = barButtonItem5.Enabled = barButtonItem7.Enabled = barButtonItem8.Enabled = barButtonItem13.Enabled = true;
            barButtonItemConnected.Enabled = false;
            barButtonItemClose.Enabled = true;
        }
        private void ClosedEve()
        {
            barButtonItem2.Enabled = barButtonItem3.Enabled = barButtonItem14.Enabled = barButtonItem11.Enabled = barButtonItem12.Enabled = barButtonItem4.Enabled = barButtonItem5.Enabled = barButtonItem6.Enabled = barButtonItem7.Enabled = barButtonItem8.Enabled = barButtonItem9.Enabled = barButtonItem13.Enabled = false;
            barButtonItem2.Enabled = barButtonItem3.Enabled = barButtonItem14.Enabled = barButtonItem11.Enabled = barButtonItem12.Enabled = barButtonItem4.Enabled = barButtonItem5.Enabled = barButtonItem7.Enabled = barButtonItem8.Enabled = barButtonItem13.Enabled = false;
            barButtonItemConnected.Enabled = true;
            barButtonItemClose.Enabled = false;
        }
@@ -183,7 +171,6 @@
            //IBoxFormScheme.Dock = DockStyle.Fill;
            //IBoxFormScheme.SendData += SendText;
            //xtraTabPage6.Controls.Add(IBoxFormScheme);
        }
        private void barButtonItem6_ItemClick(object sender, ItemClickEventArgs e)
@@ -200,8 +187,6 @@
            xtraTabPage2.Controls.Add(IBoxFormOverview);
            xtraTabPage2.PageVisible = true;
            xtraTabControl1.SelectedTabPage = xtraTabPage2;
        }
        private void HideAll()
@@ -228,7 +213,6 @@
            xtraTabPage1.Controls.Add(IBoxFormMonitor);
            xtraTabPage1.PageVisible = true;
            xtraTabControl1.SelectedTabPage = xtraTabPage1;
        }
        private void barButtonItem5_ItemClick(object sender, ItemClickEventArgs e)
@@ -240,7 +224,6 @@
            //xtraTabPage7.Controls.Add(IBoxFormControll);
            xtraTabPage7.PageVisible = true;
            xtraTabControl1.SelectedTabPage = xtraTabPage7;
        }
        private void barButtonItem3_ItemClick_1(object sender, ItemClickEventArgs e)
@@ -287,22 +270,27 @@
            xtraTabControl1.SelectedTabPage = xtraTabPage4;
        }
        IBoxFormOverview IBoxFormOverview;
        IBoxFormMonitor IBoxFormMonitor;
        private IBoxFormOverview IBoxFormOverview;
        private IBoxFormMonitor IBoxFormMonitor;
        //IBoxFormControll IBoxFormControll;
        IBoxFormParams IBoxFormParams;
        IBoxFormLog IBoxFormLog;
        IBoxFormProtocol IBoxFormProtocol;
        IBoxFormRule IBoxFormRule;
        private IBoxFormParams IBoxFormParams;
        private IBoxFormLog IBoxFormLog;
        private IBoxFormProtocol IBoxFormProtocol;
        private IBoxFormRule IBoxFormRule;
        //IBoxFormScheme IBoxFormScheme;
        IBoxFormSystemInfo IBoxFormSystemInfo;
        IBoxFormDataFilter IBoxFormDataFilter;
        IBoxFormEnergyAnalysis IBoxFormEnergyAnalysis;
        private IBoxFormSystemInfo IBoxFormSystemInfo;
        private IBoxFormDataFilter IBoxFormDataFilter;
        private IBoxFormEnergyAnalysis IBoxFormEnergyAnalysis;
        private void IBoxForm_Load(object sender, EventArgs e)
        {
            BluetoothHelper.GetInstance().SMR += new BluetoothHelper.ShowMessReturn(GetReceive);
            barEditItem2.EditValue = "2";
            //InitControl();
        }
@@ -314,9 +302,9 @@
                WaitFormHelper.HideWaitForm();
                MessageBoxHelper.ShowError("蓝牙设备连接失败,请重试!"); return;
            }
            if (!string.IsNullOrEmpty(msg) && msg.Contains(startCode))
            if (!string.IsNullOrEmpty(msg) && msg.Contains(IBoxHelper.startCode))
            {
                var order = msg.Replace(endCode, "").Replace(startCode, "").Trim();
                var order = msg.Replace(IBoxHelper.endCode, "").Replace(IBoxHelper.startCode, "").Trim();
                SetOrder(order);
            }
            else
@@ -325,10 +313,12 @@
                //MessageBoxHelper.ShowError("蓝牙设备连接失败");
            }
        }
        private List<StationMonitorListGroupMobileDto> stationMonitors;
        private void SetOrder(string order)
        {
            var smsg = order.Split(new string[] { paramCode }, StringSplitOptions.RemoveEmptyEntries);
            var smsg = order.Split(new string[] { IBoxHelper.paramCode }, StringSplitOptions.RemoveEmptyEntries);
            if (smsg.Length < 2)
            {
                return;
@@ -336,11 +326,12 @@
            switch (smsg[0].Trim())
            {
                case "getlog":
                case IBoxHelper.getlogCode:
                    var getloglist = JsonHelper.Json2Object<List<IBoxLogViewModel>>(smsg[1].Trim());
                    IBoxFormLog.BindData(getloglist, ConnectType == 1 ? true : false);
                    break;
                case "getbase":
                case IBoxHelper.getbaseCode:
                    var getbaselist = JsonHelper.Json2Object<List<StationMonitorListGroupMobileDto>>(smsg[1].Trim());
                    if (IBoxFormOverview != null)
                    {
@@ -349,11 +340,11 @@
                    stationMonitors = getbaselist;
                    //else
                    if (IBoxFormMonitor != null)
                        IBoxFormMonitor.BindGrid(getbaselist, ConnectType == 1 ? true : false);
                        IBoxFormMonitor.BindGrid(getbaselist, ConnectType == 1 ? true : false);
                    WaitFormHelper.HideWaitForm();
                    break;
                case "gethistoryrecord":
                case IBoxHelper.gethistoryrecordCode:
                    var b = smsg[1].Trim();
                    var gethistoryrecordlist = new List<MonitorRecord>();
@@ -369,69 +360,65 @@
                    IBoxFormMonitor.SetChartData(gethistoryrecordlist, ConnectType == 1 ? true : false);
                    break;
                case "getalarmbyday":
                case IBoxHelper.getalarmbydayCode:
                    var l = smsg[1].Trim();
                    IBoxFormMonitor.SetAlarmByDay(l, ConnectType == 1 ? true : false);
                    break;
                case "getbysignalidofdayrange":
                case IBoxHelper.getbysignalidofdayrangeCode:
                    var getbysignalidofdayrangelist = JsonHelper.Json2Object<List<MonitorValueAlarmRecord>>(smsg[1].Trim());
                    break;
                case "getrealrecord":
                case IBoxHelper.getrealrecordCode:
                    var getrealrecordlist = JsonHelper.Json2Object<List<MonitorRealRecord>>(smsg[1].Trim());
                    if (IBoxFormMonitor != null)
                        IBoxFormMonitor.SetRealRecord(getrealrecordlist, ConnectType == 1 ? true : false);
                    break;
                case "getparams":
                case IBoxHelper.getparamsCode:
                    var model = JsonHelper.Json2Object<IBoxConfigViewModel>(smsg[1].Trim());
                    IBoxFormParams.BindData(model, ConnectType == 1 ? true : false);
                    break;
                case "getprotocol":
                case IBoxHelper.getprotocolCode:
                    {
                        var pmodel = JsonHelper.Json2Object<IBoxProtocolViewModel>(smsg[1].Trim());
                        IBoxFormProtocol.BindData(pmodel, ConnectType == 1 ? true : false);
                        break;
                    }
                case "getrules":
                case IBoxHelper.getrulesCode:
                    {
                        var rgetbaselist = JsonHelper.Json2Object<List<StationMonitorListGroupMobileDto>>(smsg[1].Trim());
                        IBoxFormRule.BindGrid(rgetbaselist, ConnectType == 1 ? true : false);
                        SendText(null, startCode + getsignaltypeCode + paramCode + endCode);
                        SendText(null, IBoxHelper.startCode + IBoxHelper.getsignaltypeCode + IBoxHelper.paramCode + IBoxHelper.endCode);
                        break;
                    }
                case "getcalvalue":
                    {
                        var getcalvaluelist = JsonHelper.Json2Object<List<CalcValue>>(smsg[1].Trim());
                        //IBoxFormScheme.BindData(getcalvaluelist, stationMonitors, ConnectType == 1 ? true : false);
                        break;
                    }
                case "getstore":
                case IBoxHelper.getstoreCode:
                    {
                        var pmodel = JsonHelper.Json2Object<SystemInfoViewModel>(smsg[1].Trim());
                        IBoxFormSystemInfo.BindData(pmodel, ConnectType == 1 ? true : false);
                        break;
                    }
                case "getfilter":
                case IBoxHelper.getfilterCode:
                    {
                        var pmodel = JsonHelper.Json2Object<IBoxFilterViewModel>(smsg[1].Trim());
                        IBoxFormDataFilter.BindData(pmodel, ConnectType == 1 ? true : false);
                        break;
                    }
                case "getsignaltype":
                case IBoxHelper.getsignaltypeCode:
                    {
                        var list = JsonHelper.Json2Object<List<IBox.WinFrmUI.GeneralViewModel>>(smsg[1].Trim());
                        IBoxFormRule.SetSignalType(list);
                        SendText(null, startCode + getMonitorgroupCode + paramCode + endCode);
                        SendText(null, IBoxHelper.startCode + IBoxHelper.getMonitorgroupCode + IBoxHelper.paramCode + IBoxHelper.endCode);
                        break;
                    }
                case "getmonitorgroup":
                case IBoxHelper.getMonitorgroupCode:
                    {
                        var list = JsonHelper.Json2Object<List<IBox.WinFrmUI.MonitorPointGroup>>(smsg[1].Trim());
                        IBoxFormRule.SetMonitorPoint(list);
                        break;
                    }
                case "getenergyanaly":
                case IBoxHelper.getenergyanalyCode:
                    {
                        var list = JsonHelper.Json2Object<List<PumpEnergyViewModel>>(smsg[1].Trim());
                        IBoxFormEnergyAnalysis.BindData(list);
@@ -439,12 +426,12 @@
                    }
            }
        }
        public Build _SelectedBuild;
        private string filePath = "Data\\AnalyData_{0}.json";
        private void barButtonItem9_ItemClick(object sender, ItemClickEventArgs e)
        {
            HideAll();
            var _facilities = _ibox.facilities;
            _SelectedBuild = new Build()
@@ -467,10 +454,10 @@
            //IBoxFormScheme.SendData += SendText;
            //xtraTabPage6.Controls.Add(IBoxFormScheme);
            //xtraTabPage6.PageVisible = true;
        }
        private int ConnectType = 1;//1:蓝牙连接,2:网络连接
        private string HttpGet(string content)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
@@ -499,6 +486,7 @@
                case 1:
                    BluetoothHelper.GetInstance().SendData(content);
                    break;
                case 2:
                    var result = "";
                    if (!splitCode.Any(s => content.Contains(s)))
@@ -513,7 +501,9 @@
                    break;
            }
        }
        private string IP;
        private void barButtonItem10_ItemClick(object sender, ItemClickEventArgs e)
        {
            if (barEditItem2.EditValue.ToString() == "2")
@@ -523,7 +513,7 @@
                var result = Yw.Untity.HttpRequestHelper.Get(param);
                if (result == "true")
                {
                    SendText(null, startCode + getbaseCode + paramCode + endCode);
                    SendText(null, IBoxHelper.startCode + IBoxHelper.getbaseCode + IBoxHelper.paramCode + IBoxHelper.endCode);
                    ConnectedEve();
                    MessageBoxHelper.ShowSuccess("连接成功!");
@@ -545,6 +535,7 @@
                    barButtonItem10.Visibility = barEditItem3.Visibility = BarItemVisibility.Never;
                    barBtnBlue.Visibility = barButtonItemNoConnect.Visibility = barButtonItemConnected.Visibility = barButtonItemClose.Visibility = BarItemVisibility.Always;
                    break;
                case "2":
                    ConnectType = 2;
                    barButtonItem10.Visibility = barEditItem3.Visibility = BarItemVisibility.Always;
@@ -638,21 +629,24 @@
            {
                barButtonItem5.Visibility = BarItemVisibility.Never;
            }
            radio = BluetoothRadio.Default;//获取当前PC的蓝牙适配器
            CheckForIllegalCrossThreadCalls = false;//不检查跨线程调用
            //this.gridView1.SetNormalView();
            if (radio == null)//检查该电脑蓝牙是否可用
            try
            {
                MessageBoxHelper.ShowInfo("这个电脑蓝牙不可用!");
                radio = BluetoothRadio.Default;//获取当前PC的蓝牙适配器
                CheckForIllegalCrossThreadCalls = false;//不检查跨线程调用
                /*    if (radio == null)//检查该电脑蓝牙是否可用
                   {
                       MessageBoxHelper.ShowInfo("这个电脑蓝牙不可用!");
                   }*/
            }
            catch
            {
                //MessageBoxHelper.ShowInfo("这个电脑蓝牙不可用!");
            }
        }
        private void imageSlider1_Click(object sender, EventArgs e)
        {
        }
    }
}