qin
2025-03-20 330002911a64ea58d6834b64228870228eb75391
WinFrmUI/IBox.WinFrmUI/Form/IBoxFormControll.cs
@@ -1,8 +1,11 @@
using PBS.Model;
using PBS.Vmo;
using System.Data;
using System.IO;
using Yw;
using Yw.WinFrmUI;
using Yw.Untity;
using Yw.Service;
namespace IBox.WinFrmUI
{
@@ -38,8 +41,32 @@
        public event EventHandler<string> SendData;
        private void SendText(string content)
        {
            //BluetoothHelper.GetInstance().SendData(content);
            SendData?.Invoke(null, content);
            if (SendData != null)
            {
                SendData?.Invoke(null, content);
            }
            else
            {
                if (IBoxHelper.Ping())
                {
                    var smsg = content.Split(new string[] { IBoxHelper.paramCode }, StringSplitOptions.RemoveEmptyEntries);
                    if (smsg.Length < 2)
                    {
                        return;
                    }
                    switch (smsg[0].Trim())
                    {
                        case IBoxHelper.datadownloadCode:
                            IBoxHelper.HttpPost(content);
                            break;
                    }
                }
                else
                {
                    MessageBoxHelper.ShowWarning("网络连接失败,请检查网络");
                }
            }
        }
        private void SetOrder(string order)
@@ -57,274 +84,199 @@
                    break;
            }
        }
        private Model.Facilities _facilities = null;
        private BLL.EquipmentEChartMapping _bll = new BLL.EquipmentEChartMapping();
        private BLL.EChart _bllEChart = new BLL.EChart();
        private BLL.Equipment _bllEquipment = new BLL.Equipment();
        private Model.Kit _kit = null;
        private BLL.EquipmentTypeEChartMapping _equipmentTypeEChartMappingBLL = new BLL.EquipmentTypeEChartMapping();
        public IBoxFormControll(Facility facilities)
        private FacilityVmo _facilities = null;
        private IBoxControllViewModel boxControllViewModel = null;
        public IBoxFormControll(IBoxControllViewModel ibox)
        {
            this.PageTitle.Caption = "智能控制";
            _facilities = facilities;
            _facilities = ibox.facilities;
            boxControllViewModel = ibox;
            InitializeComponent();
            this.treeListCtrl1.FocusedChangedEvent += EquipmentTreeListCtrl1_FocusedChangedEvent;
            //this.treeListCtrl1.FocusedChangedEvent += EquipmentTreeListCtrl1_FocusedChangedEvent;
            InitDataSource();
        }
        private string filePath = "Data\\AnalyData_{0}.json";
        //private string filePath = "Data\\AnalyData_{0}.json";
        private void InitDataSource()
        {
            var f = new BLL.Facilities().GetByID(this._facilities.ID);
            if (f != null)
            {
                var kid = long.Parse(f.CompletePlant);
                var kit = new BLL.Kit().GetByID(kid);
                _kit = kit;
                this.treeListCtrl1.SetBindingData(kid);
            }
            this._SelectedBuild = new Basic.Build()
            var f = _facilities;
            this._SelectedBuild = new Build()
            {
                factoryName = f.Name,
                系统最大流量 = f.WaterHeight,
                系统最大流量 = f.MaxWaterDemand.Value,
                Type = 二供分区Type.加压供水,
                ID = f.ID.ToString(),
                用户压力需求 = int.Parse(f.WaterPressure.ToString()),
                用户压力需求 = int.Parse(f.TerminalPressure.ToString()),
                层数 = double.Parse(f.Floor.ToString()),
                层高 = double.Parse(f.FloorHeight.ToString()),
                每层户数 = double.Parse(f.FloorHouseHolds.ToString())
            };
            ShowChart();
            //ShowChart();
        }
        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 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<Result>>(content);
            AddPoints(result);
            ShowPressPoints();
        }
        private List<Result> _res;
        //private void SetResult(string path)
        //{
        //    var content =  FileHelper.ReadFile(path);
        //    var result = JsonHelper.Json2Object<List<Result>>(content);
        //    AddPoints(result);
        //    ShowPressPoints();
        //}
        //private List<Result> _res;
        private Build _SelectedBuild;
        public void AddPoints(List<Result> 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.用户压力需求 + (float)_facilities.MaxHeight)).ToList();
            if (chartDatas == null || chartDatas.Count == 0) return;
        //public void AddPoints(List<Result> 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.用户压力需求 + (float)_facilities.MaxHeight)).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);
        //    // 计算多项式在点 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];
        }
        public void ShowPressPoints()
        {
            this.chart1.ChartAreas.Clear();
            this.chart1.ChartAreas.Add(new ChartArea());
            chart1.Series.Clear();
            chart1.Series.Add("数据");
            chart1.Series.Add("平均");
            chart1.Series["平均"].ChartType = SeriesChartType.Line;
            chart1.Series["平均"].BorderWidth = 2;
            chart1.Series.Add("上限");
            chart1.Series["上限"].ChartType = SeriesChartType.Line;
            chart1.Series["上限"].BorderWidth = 2;
            chart1.Series.Add("下限");
            chart1.Series["下限"].ChartType = SeriesChartType.Line;
            chart1.Series["下限"].BorderWidth = 2;
            chart1.Series.Add("泵出口静压线");
            chart1.Series["泵出口静压线"].ChartType = SeriesChartType.Line;
            chart1.Series["泵出口静压线"].BorderWidth = 2;
            chart1.Series["泵出口静压线"].Color = Color.Green;
        //    //_SelectedPump.流量压降平均.Data = fitPoints;
        //    //_SelectedBuild.流量压降曲线.Data = chartDatas;
        //    _SelectedBuild.Datasets.Clear();
        //    _SelectedBuild.流量压降曲线.Data = chartDatas;
        //    _SelectedBuild.流量压降下限.Data = confidencePoints[0];
        //    _SelectedBuild.流量压降上限.Data = confidencePoints[1];
        //}
        //public void ShowPressPoints()
        //{
        //    this.chart1.ChartAreas.Clear();
        //    this.chart1.ChartAreas.Add(new ChartArea());
        //    chart1.Series.Clear();
        //    chart1.Series.Add("数据");
        //    chart1.Series.Add("平均");
        //    chart1.Series["平均"].ChartType = SeriesChartType.Line;
        //    chart1.Series["平均"].BorderWidth = 2;
        //    chart1.Series.Add("上限");
        //    chart1.Series["上限"].ChartType = SeriesChartType.Line;
        //    chart1.Series["上限"].BorderWidth = 2;
        //    chart1.Series.Add("下限");
        //    chart1.Series["下限"].ChartType = SeriesChartType.Line;
        //    chart1.Series["下限"].BorderWidth = 2;
        //    chart1.Series.Add("泵出口静压线");
        //    chart1.Series["泵出口静压线"].ChartType = SeriesChartType.Line;
        //    chart1.Series["泵出口静压线"].BorderWidth = 2;
        //    chart1.Series["泵出口静压线"].Color = Color.Green;
            chart1.Series.Add("最高楼层标高");
            chart1.Series["最高楼层标高"].ChartType = SeriesChartType.Line;
            chart1.Series["最高楼层标高"].BorderWidth = 2;
            chart1.Series["最高楼层标高"].Color = Color.Yellow;
            if (chart1.ChartAreas.Count > 0)
            {
                chart1.ChartAreas[0].AxisY.Enabled = AxisEnabled.True;
                //chart1.ChartAreas[0].AxisY2.Enabled = AxisEnabled.True;
                chart1.ChartAreas[0].AxisX.Enabled = AxisEnabled.True;
                chart1.ChartAreas[0].AxisX.LabelStyle.Format = "0";
                chart1.ChartAreas[0].AxisY.LabelStyle.Format = "0";
                chart1.ChartAreas[0].AxisX.Title = "系统流量(m³/h)";
                chart1.ChartAreas[0].AxisY.Title = "泵后压力(m)";
                chart1.ChartAreas[0].AxisY2.Enabled = AxisEnabled.False;
            }
            //chart1.ChartAreas[0].AxisX.Minimum = double.NaN;
        //    chart1.Series.Add("最高楼层标高");
        //    chart1.Series["最高楼层标高"].ChartType = SeriesChartType.Line;
        //    chart1.Series["最高楼层标高"].BorderWidth = 2;
        //    chart1.Series["最高楼层标高"].Color = Color.Yellow;
        //    if (chart1.ChartAreas.Count > 0)
        //    {
        //        chart1.ChartAreas[0].AxisY.Enabled = AxisEnabled.True;
        //        //chart1.ChartAreas[0].AxisY2.Enabled = AxisEnabled.True;
        //        chart1.ChartAreas[0].AxisX.Enabled = AxisEnabled.True;
        //        chart1.ChartAreas[0].AxisX.LabelStyle.Format = "0";
        //        chart1.ChartAreas[0].AxisY.LabelStyle.Format = "0";
        //        chart1.ChartAreas[0].AxisX.Title = "系统流量(m³/h)";
        //        chart1.ChartAreas[0].AxisY.Title = "泵后压力(m)";
        //        chart1.ChartAreas[0].AxisY2.Enabled = AxisEnabled.False;
        //    }
        //    //chart1.ChartAreas[0].AxisX.Minimum = double.NaN;
            //chart1.ChartAreas[0].AxisY.Minimum = double.NaN;
            var nums = _SelectedBuild.流量压降曲线.Data;
            if (nums.Count == 0) return;
            _SelectedBuild.流量压降曲线.CurveFit();
            var fitPoints = _SelectedBuild.流量压降曲线.FittedCurve;
            _SelectedBuild.流量压降下限.CurveFit();
            _SelectedBuild.流量压降上限.CurveFit();
            List<List<PointF>> confidencePoints = new List<List<PointF>>() { _SelectedBuild.流量压降下限.FittedCurve, _SelectedBuild.流量压降上限.FittedCurve };
            var chartDatas = nums.ToList();
            double yMin = double.MaxValue;
            double yMax = double.MinValue;
            float xMin = float.MaxValue;
            float xMax = float.MinValue;
            if (nums == null || nums.Count == 0) return;
            this.chart1.Series[0].ChartType = SeriesChartType.Point;
            //double x = double.Parse(textBox_current_TotalDemand.Text);
            float x_Avg = 0;
            float x_Sum = 0;
            nums.ForEach(y =>
            {
                this.chart1.Series["数据"].Points.AddXY(y.X, y.Y);
                x_Sum += (y.X);
                if (yMin > y.Y) yMin = y.Y;
                if (yMax < y.Y) yMax = y.Y;
                if (xMin > y.X) xMin = y.X;
                if (xMax < y.X) xMax = y.X;
            });
            x_Avg = x_Sum / nums.Count;
        //    //chart1.ChartAreas[0].AxisY.Minimum = double.NaN;
        //    var nums = _SelectedBuild.流量压降曲线.Data;
        //    if (nums.Count == 0) return;
        //    _SelectedBuild.流量压降曲线.CurveFit();
        //    var fitPoints = _SelectedBuild.流量压降曲线.FittedCurve;
        //    _SelectedBuild.流量压降下限.CurveFit();
        //    _SelectedBuild.流量压降上限.CurveFit();
        //    List<List<PointF>> confidencePoints = new List<List<PointF>>() { _SelectedBuild.流量压降下限.FittedCurve, _SelectedBuild.流量压降上限.FittedCurve };
        //    var chartDatas = nums.ToList();
        //    double yMin = double.MaxValue;
        //    double yMax = double.MinValue;
        //    float xMin = float.MaxValue;
        //    float xMax = float.MinValue;
        //    if (nums == null || nums.Count == 0) return;
        //    //this.chart1.Series[0].ChartType = SeriesChartType.Point;
        //    //double x = double.Parse(textBox_current_TotalDemand.Text);
        //    float x_Avg = 0;
        //    float x_Sum = 0;
        //    nums.ForEach(y =>
        //    {
        //        this.chart1.Series["数据"].Points.AddXY(y.X, y.Y);
        //        x_Sum += (y.X);
        //        if (yMin > y.Y) yMin = y.Y;
        //        if (yMax < y.Y) yMax = y.Y;
        //        if (xMin > y.X) xMin = y.X;
        //        if (xMax < y.X) xMax = y.X;
        //    });
        //    x_Avg = x_Sum / nums.Count;
            var dataPoints = this.chart1.Series[0].Points;
        //    var dataPoints = this.chart1.Series[0].Points;
            // 计算多项式在点 x 处的取值
            // 计算拟合曲线上的点
            var waterpress = _SelectedBuild.流量压降下限.FittedCurve.Select((d) => { return new PointF(d.X, (float)_facilities.MaxHeight + _SelectedBuild.用户压力需求); }).ToList();
        //    // 计算多项式在点 x 处的取值
        //    // 计算拟合曲线上的点
        //    var waterpress = _SelectedBuild.流量压降下限.FittedCurve.Select((d) => { return new PointF(d.X, (float)_facilities.MaxHeight + _SelectedBuild.用户压力需求); }).ToList();
            var maxheight = _SelectedBuild.流量压降下限.FittedCurve.Select((d) => { return new PointF(d.X, (float)_facilities.MaxHeight); }).ToList();
            AddSeries(chart1.Series["平均"], fitPoints);
            AddSeries(chart1.Series["下限"], confidencePoints[0]);
            AddSeries(chart1.Series["上限"], confidencePoints[1]);
            AddSeries(chart1.Series["泵出口静压线"], waterpress);
            AddSeries(chart1.Series["最高楼层标高"], maxheight);
            if (yMin > 0 && yMin < 10)
            {
                this.chart1.ChartAreas[0].AxisY.Minimum = 0;
                this.chart1.ChartAreas[0].AxisY.Maximum = Math.Ceiling((yMax * 1.2) / 10) * 10;
                this.chart1.ChartAreas[0].AxisY.Interval = (chart1.ChartAreas[0].AxisY.Maximum - chart1.ChartAreas[0].AxisY.Minimum) / 4;
            }
            else
            {
                this.chart1.ChartAreas[0].AxisY.Minimum = Math.Floor((yMin * 0.8) / 10) * 10;
                this.chart1.ChartAreas[0].AxisY.Maximum = Math.Ceiling((yMax * 1.2) / 10) * 10;
                chart1.ChartAreas[0].AxisX.IsLabelAutoFit = true;
                //this.chart1.ChartAreas[0].AxisX.Minimum = double.NaN;
                //this.chart1.ChartAreas[0].AxisX.Maximum = double.NaN;
                this.chart1.ChartAreas[0].AxisY.Interval = (chart1.ChartAreas[0].AxisY.Maximum - chart1.ChartAreas[0].AxisY.Minimum) / 4;
            }
            if (xMin > 0 && xMin < 10)
            {
                this.chart1.ChartAreas[0].AxisX.Minimum = 0;
                this.chart1.ChartAreas[0].AxisX.Maximum = Math.Ceiling(xMax);
            }
            else
            {
                this.chart1.ChartAreas[0].AxisX.Minimum = Math.Floor((xMin * 0.8) / 10) * 10;
                this.chart1.ChartAreas[0].AxisX.Maximum = Math.Ceiling(xMax * 1.2);
            }
        }
        //    var maxheight = _SelectedBuild.流量压降下限.FittedCurve.Select((d) => { return new PointF(d.X, (float)_facilities.MaxHeight); }).ToList();
        //    AddSeries(chart1.Series["平均"], fitPoints);
        //    AddSeries(chart1.Series["下限"], confidencePoints[0]);
        //    AddSeries(chart1.Series["上限"], confidencePoints[1]);
        //    AddSeries(chart1.Series["泵出口静压线"], waterpress);
        //    AddSeries(chart1.Series["最高楼层标高"], maxheight);
        //    if (yMin > 0 && yMin < 10)
        //    {
        //        this.chart1.ChartAreas[0].AxisY.Minimum = 0;
        //        this.chart1.ChartAreas[0].AxisY.Maximum = Math.Ceiling((yMax * 1.2) / 10) * 10;
        //        this.chart1.ChartAreas[0].AxisY.Interval = (chart1.ChartAreas[0].AxisY.Maximum - chart1.ChartAreas[0].AxisY.Minimum) / 4;
        //    }
        //    else
        //    {
        //        this.chart1.ChartAreas[0].AxisY.Minimum = Math.Floor((yMin * 0.8) / 10) * 10;
        //        this.chart1.ChartAreas[0].AxisY.Maximum = Math.Ceiling((yMax * 1.2) / 10) * 10;
        //        chart1.ChartAreas[0].AxisX.IsLabelAutoFit = true;
        //        //this.chart1.ChartAreas[0].AxisX.Minimum = double.NaN;
        //        //this.chart1.ChartAreas[0].AxisX.Maximum = double.NaN;
        //        this.chart1.ChartAreas[0].AxisY.Interval = (chart1.ChartAreas[0].AxisY.Maximum - chart1.ChartAreas[0].AxisY.Minimum) / 4;
        //    }
        //    if (xMin > 0 && xMin < 10)
        //    {
        //        this.chart1.ChartAreas[0].AxisX.Minimum = 0;
        //        this.chart1.ChartAreas[0].AxisX.Maximum = Math.Ceiling(xMax);
        //    }
        //    else
        //    {
        //        this.chart1.ChartAreas[0].AxisX.Minimum = Math.Floor((xMin * 0.8) / 10) * 10;
        //        this.chart1.ChartAreas[0].AxisX.Maximum = Math.Ceiling(xMax * 1.2);
        //    }
        //}
        private void AddSeries(System.Windows.Forms.DataVisualization.Charting.Series serie, List<PointF> points)
        {
            if (points == null) return;
            serie.Points.Clear();
            foreach (var point in points)
            {
                serie.Points.AddXY(point.X, point.Y);
            }
        }
        private void EquipmentTreeListCtrl1_FocusedChangedEvent(string objType, object obj)
        {
            this.curveExpressChart1.InitialChartData();
            if (obj != null && objType == ISupply.ObjectType.Kit)
            {
                _kit = obj as Model.Kit;
                var equipmentList = _bllEquipment.GetByKitIDAndCatalog(_kit.ID, ISupply.Equipment.Pump);
                if (equipmentList != null && equipmentList.Any())
                {
                    var mappings = new List<Model.EquipmentEChartMapping>();
                    foreach (var equipment in equipmentList)
                    {
                        var mapping = _bll.GetWorkingByEquipmentID(equipment.ID);
                        if (mapping != null)
                        {
                            mappings.Add(mapping);
                        }
                    }
                    if (mappings.Any())
                    {
                        var curveInfoList = new List<Model.PumpCurveInfo>();
                        foreach (var mapping in mappings)
                        {
                            var chart = _bllEChart.GetPumpCurveInfoByID(mapping.EChartID);
                            if (chart != null && chart.CurveInfoModel != null)
                            {
                                curveInfoList.Add(chart.CurveInfoModel);
                            }
                        }
                        if (curveInfoList != null && curveInfoList.Any())
                        {
                            var theConnectCurve = new Curve.ParallelConnectionHelper();
                            for (int i = 0; i < curveInfoList.Count; i++)
                            {
                                var chart = curveInfoList[i];
                                var QH = chart.CurveQH;
                                var QP = chart.CurveQP;
                                var QE = Curve.PumpCalculateHelper.CalculateE(QH, QP);
                                theConnectCurve.AddCurve(QH, QP);
                            }
                            var bol = theConnectCurve.CalculateParallel(out List<ISupply.Curve.CurvePoint> ConnectCurveQH,
                                                                     out List<ISupply.Curve.CurvePoint> ConnectCurveQE,
                                                                     out List<ISupply.Curve.CurvePoint> ConnectCurveQP);
                            if (bol)
                            {
                                var curveExpressQH = ISupply.Curve.FitHelper.BuildCurveExpress(ConnectCurveQH);
                                var curveExpressQE = ISupply.Curve.FitHelper.BuildCurveExpress(ConnectCurveQE);
                                var curveExpressQP = ISupply.Curve.FitHelper.BuildCurveExpress(ConnectCurveQP);
                                this.curveExpressChart1.SetBindingData(curveExpressQH,
                                                              curveExpressQE,
                                                             curveExpressQP);
                            }
                        }
                    }
                }
            }
            else if (obj != null && objType == ISupply.ObjectType.Equipment)
            {
                var equ = obj as Model.Equipment;
                var _equipmentChartMappingEx = _equipmentTypeEChartMappingBLL.GetExByEquipmentTypeID(equ.TypeID);
                SetBindingData(_equipmentChartMappingEx);
            }
        }
        //private void AddSeries(System.Windows.Forms.DataVisualization.Charting.Series serie, List<PointF> points)
        //{
        //    if (points == null) return;
        //    serie.Points.Clear();
        //    foreach (var point in points)
        //    {
        //        serie.Points.AddXY(point.X, point.Y);
        //    }
        //}
        private void SendDownloadData()
        {
            var model = new IBoxControllViewModel();
            var model = new IBoxControllDownloadViewModel();
            model.facilities = _facilities;
            model.kit = _kit;
            model.kit = boxControllViewModel.Package;
            model.流量压降下限 = _SelectedBuild.流量压降下限.FittedCurve;
            model.流量压降上限 = _SelectedBuild.流量压降上限.FittedCurve;
            model.流量压降曲线 = _SelectedBuild.流量压降曲线.FittedCurve;
@@ -332,20 +284,8 @@
            if (!_SelectedBuild.流量压降曲线.IsFitted)
                 _SelectedBuild.流量压降曲线.CurveFit();
            model.coefficients = _SelectedBuild.流量压降上限.coefficients;
            //model.IsControll = checkEdit1.Checked;
            var equipmentList = _bllEquipment.GetByKitIDAndCatalog(_kit.ID, ISupply.Equipment.Pump);
            if (equipmentList != null && equipmentList.Any())
            {
                foreach (var item in equipmentList)
                {
                    var _equipmentChartMappingEx = _equipmentTypeEChartMappingBLL.GetExByEquipmentTypeID(item.TypeID);
                    _equipmentChartMappingEx.EquipmentId = item.ID;
                    _equipmentChartMappingEx.EquipmentOtherName = item.Name;
                    _equipmentChartMappingEx.RatedParas = item.RatedParas;
                    model.equations.Add(_equipmentChartMappingEx);
                }
            }
            //FileHelper.Write("d:\\EboxData.txt", JsonHelper.Object2Json(model));
            model.equations = boxControllViewModel.equations;
            Thread.Sleep(500);
            SendText(startCode + datadownloadCode + paramCode + JsonHelper.Object2Json(model) + endCode);
        }
@@ -358,21 +298,6 @@
            //MessageBoxHelper.ShowInfo("数据下发成功!");
        }
        private void SetBindingData(Model.EquipmentTypeEChartMappingEx model)
        {
            this.curveExpressChart1.InitialChartData();
            var curveInfo = model?.CurveInfo;
            var coordParas = model?.CoordParas;
            if (curveInfo != null)
            {
                var coordinateParas = ISupply.Curve.CurveCoordinate.ToModel(coordParas);
                this.curveExpressChart1.SetBindingData(curveInfo.CurveQH,
                                                            curveInfo.CurveQE,
                                                            curveInfo.CurveQP,
                                                            coordinateParas);
            }
        }
    }
}