duheng
2025-03-17 4d5e66a89deaa00b095178cd64064597d20583ae
WinFrmUI/IBox.WinFrmUI/IBoxForm.cs
@@ -8,17 +8,20 @@
using System.Text;
using Yw;
using Yw.WinFrmUI;
using PBS.Vmo;
namespace IBox.WinFrmUI
{
    public partial class IBoxForm : DocumentPage
    {
        private Facility _facilities;
        private IBoxControllViewModel _ibox;
        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&]";
@@ -124,6 +127,7 @@
        private void InitControl()
        {
            var _facilities = _ibox.facilities;
            IBoxFormOverview = new IBoxFormOverview();
            IBoxFormOverview.Dock = DockStyle.Fill;
            IBoxFormOverview.SendData += SendText;
@@ -134,7 +138,7 @@
            IBoxFormMonitor.SendData += SendText;
            xtraTabPage1.Controls.Add(IBoxFormMonitor);
            //IBoxFormControll = new IBoxFormControll(_facilities);
            //IBoxFormControll = new IBoxFormControll(_ibox);
            //IBoxFormControll.Dock = DockStyle.Fill;
            //IBoxFormControll.SendData += SendText;
            //xtraTabPage7.Controls.Add(IBoxFormControll);
@@ -178,7 +182,6 @@
            //IBoxFormScheme.Dock = DockStyle.Fill;
            //IBoxFormScheme.SendData += SendText;
            //xtraTabPage6.Controls.Add(IBoxFormScheme);
        }
        private void barButtonItem6_ItemClick(object sender, ItemClickEventArgs e)
@@ -195,8 +198,6 @@
            xtraTabPage2.Controls.Add(IBoxFormOverview);
            xtraTabPage2.PageVisible = true;
            xtraTabControl1.SelectedTabPage = xtraTabPage2;
        }
        private void HideAll()
@@ -216,11 +217,6 @@
        private void barButtonItem2_ItemClick(object sender, ItemClickEventArgs e)
        {
            //IBoxFormOverview = null;
            //IBoxFormMonitor = new IBoxFormMonitor();
            //IBoxFormMonitor.Dock = DockStyle.Fill;
            //IBoxFormMonitor.SendData += SendText;
            //AddControl(IBoxFormMonitor);
            HideAll();
            IBoxFormMonitor = new IBoxFormMonitor();
            IBoxFormMonitor.Dock = DockStyle.Fill;
@@ -228,32 +224,21 @@
            xtraTabPage1.Controls.Add(IBoxFormMonitor);
            xtraTabPage1.PageVisible = true;
            xtraTabControl1.SelectedTabPage = xtraTabPage1;
        }
        private void barButtonItem5_ItemClick(object sender, ItemClickEventArgs e)
        {
            //IBoxFormControll = new IBoxFormControll(_facilities);
            //IBoxFormControll.Dock = DockStyle.Fill;
            //IBoxFormControll.SendData += SendText;
            //AddControl(IBoxFormControll);
            HideAll();
            //IBoxFormControll = new IBoxFormControll(_facilities);
            //IBoxFormControll = new IBoxFormControll(_ibox);
            //IBoxFormControll.Dock = DockStyle.Fill;
            //IBoxFormControll.SendData += SendText;
            //xtraTabPage7.Controls.Add(IBoxFormControll);
            xtraTabPage7.PageVisible = true;
            xtraTabControl1.SelectedTabPage = xtraTabPage7;
        }
        private void barButtonItem3_ItemClick_1(object sender, ItemClickEventArgs e)
        {
            //IBoxFormParams = new IBoxFormParams();
            //IBoxFormParams.Dock = DockStyle.Fill;
            //IBoxFormParams.SendData += SendText;
            //AddControl(IBoxFormParams);
            HideAll();
            IBoxFormParams = new IBoxFormParams();
            IBoxFormParams.Dock = DockStyle.Fill;
@@ -265,11 +250,6 @@
        private void barButtonItem4_ItemClick(object sender, ItemClickEventArgs e)
        {
            //IBoxFormLog = new IBoxFormLog();
            //IBoxFormLog.Dock = DockStyle.Fill;
            //IBoxFormLog.SendData += SendText;
            //AddControl(IBoxFormLog);
            HideAll();
            IBoxFormLog = new IBoxFormLog();
            IBoxFormLog.Dock = DockStyle.Fill;
@@ -281,11 +261,6 @@
        private void barButtonItem7_ItemClick(object sender, ItemClickEventArgs e)
        {
            //IBoxFormProtocol = new IBoxFormProtocol();
            //IBoxFormProtocol.Dock = DockStyle.Fill;
            //IBoxFormProtocol.SendData += SendText;
            //AddControl(IBoxFormProtocol);
            HideAll();
            IBoxFormProtocol = new IBoxFormProtocol();
            IBoxFormProtocol.Dock = DockStyle.Fill;
@@ -297,13 +272,8 @@
        private void barButtonItem8_ItemClick(object sender, ItemClickEventArgs e)
        {
            //IBoxFormRule = new IBoxFormRule();
            //IBoxFormRule.Dock = DockStyle.Fill;
            //IBoxFormRule.SendData += SendText;
            //AddControl(IBoxFormRule);
            HideAll();
            IBoxFormRule = new IBoxFormRule(_facilities);
            IBoxFormRule = new IBoxFormRule(_ibox?.facilities);
            IBoxFormRule.Dock = DockStyle.Fill;
            IBoxFormRule.SendData += SendText;
            xtraTabPage4.Controls.Add(IBoxFormRule);
@@ -311,17 +281,21 @@
            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)
        {
@@ -349,7 +323,9 @@
                //MessageBoxHelper.ShowError("蓝牙设备连接失败");
            }
        }
        private List<StationMonitorListGroupMobileDto> stationMonitors;
        private void SetOrder(string order)
        {
            var smsg = order.Split(new string[] { paramCode }, StringSplitOptions.RemoveEmptyEntries);
@@ -364,12 +340,12 @@
                    var getloglist = JsonHelper.Json2Object<List<IBoxLogViewModel>>(smsg[1].Trim());
                    IBoxFormLog.BindData(getloglist, ConnectType == 1 ? true : false);
                    break;
                case "getbase":
                    var getbaselist = JsonHelper.Json2Object<List<StationMonitorListGroupMobileDto>>(smsg[1].Trim());
                    if (IBoxFormOverview != null)
                    {
                        IBoxFormOverview.BindGrid(getbaselist, ConnectType == 1 ? true : false);
                        IBoxFormOverview.TestData(ConnectType == 1 ? true : false);
                    }
                    stationMonitors = getbaselist;
                    //else
@@ -408,10 +384,12 @@
                    if (IBoxFormMonitor != null)
                        IBoxFormMonitor.SetRealRecord(getrealrecordlist, ConnectType == 1 ? true : false);
                    break;
                case "getparams":
                    var model = JsonHelper.Json2Object<IBoxConfigViewModel>(smsg[1].Trim());
                    IBoxFormParams.BindData(model, ConnectType == 1 ? true : false);
                    break;
                case "getprotocol":
                    {
                        var pmodel = JsonHelper.Json2Object<IBoxProtocolViewModel>(smsg[1].Trim());
@@ -464,53 +442,14 @@
                    }
            }
        }
        public Build _SelectedBuild;
        //private List<CalcResultViewModel> _res;
        private string filePath = "Data\\AnalyData_{0}.json";
        //private void ShowChart()
        //{
        //    var file = string.Format(filePath, _facilities.ID.ToString());
        //    var path = Path.Combine(Directory.GetCurrentDirectory(), file);
        //    if (!File.Exists(path))
        //    {
        //        MessageBoxHelper.ShowInfo("请先进行系统曲线操作!");
        //        return;
        //    }
        //    else
        //    {
        //        SetResult(path);
        //    }
        //}
        //private void SetResult(string path)
        //{
        //    var content = new Eventech.Common.FileHelper().ReadFile(path);
        //    var result = JsonHelper.Json2Object<List<CalcResultViewModel>>(content);
        //    AddPoints(result);
        //}
        //public void AddPoints(List<CalcResultViewModel> res)
        //{
        //    _res = res;
        //    List<PointF> nums = res.Select(o => new PointF((float)o.Demand, (float)o.ObjFunctionValue)).ToList();
        //    var chartDatas = nums.Select(p => new PointF(p.X, p.Y + _SelectedBuild.用户压力需求)).ToList();
        //    if (chartDatas == null || chartDatas.Count == 0) return;
        //    // 计算多项式在点 x 处的取值
        //    // 计算拟合曲线上的点
        //    var curve = new CurveFitHelper(chartDatas, 2);
        //    //List<PointF> fitPoints = curve.GetFitCurve(100);
        //    List<List<PointF>> confidencePoints = curve.GetConfidenceCurve(100);
        //    //_SelectedPump.流量压降平均.Data = fitPoints;
        //    //_SelectedBuild.流量压降曲线.Data = chartDatas;
        //    _SelectedBuild.Datasets.Clear();
        //    _SelectedBuild.流量压降曲线.Data = chartDatas;
        //    _SelectedBuild.流量压降下限.Data = confidencePoints[0];
        //    _SelectedBuild.流量压降上限.Data = confidencePoints[1];
        //}
        private void barButtonItem9_ItemClick(object sender, ItemClickEventArgs e)
        {
            HideAll();
            var _facilities = _ibox.facilities;
            _SelectedBuild = new Build()
            {
                factoryName = _facilities.Name,
@@ -531,10 +470,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);
@@ -563,6 +502,7 @@
                case 1:
                    BluetoothHelper.GetInstance().SendData(content);
                    break;
                case 2:
                    var result = "";
                    if (!splitCode.Any(s => content.Contains(s)))
@@ -577,7 +517,9 @@
                    break;
            }
        }
        private string IP;
        private void barButtonItem10_ItemClick(object sender, ItemClickEventArgs e)
        {
            if (barEditItem2.EditValue.ToString() == "2")
@@ -609,6 +551,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;
@@ -690,23 +633,29 @@
            xtraTabControl1.SelectedTabPage = xtraTabPage11;
        }
        public IBoxForm(Facility facilities = null)
        public IBoxForm(IBoxControllViewModel ibox = null)
        {
            InitializeComponent();
            this.PageTitle.Caption = "智能盒子";
            if (facilities != null)
            if (ibox != null)
            {
                _facilities = facilities;
                ibox = ibox;
            }
            else
            {
                barButtonItem5.Visibility = BarItemVisibility.Never;
            }
            radio = BluetoothRadio.Default;//获取当前PC的蓝牙适配器
            CheckForIllegalCrossThreadCalls = false;//不检查跨线程调用
            //this.gridView1.SetNormalView();
            if (radio == null)//检查该电脑蓝牙是否可用
            try
            {
                radio = BluetoothRadio.Default;//获取当前PC的蓝牙适配器
                CheckForIllegalCrossThreadCalls = false;//不检查跨线程调用
                /*    if (radio == null)//检查该电脑蓝牙是否可用
                   {
                       MessageBoxHelper.ShowInfo("这个电脑蓝牙不可用!");
                   }*/
            }
            catch
            {
                MessageBoxHelper.ShowInfo("这个电脑蓝牙不可用!");
            }
@@ -714,9 +663,6 @@
        private void imageSlider1_Click(object sender, EventArgs e)
        {
        }
    }
}