lixiaojun
2024-12-30 c22cc4c60e9ff156fc25b39a5c024cc758df354b
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs
@@ -25,25 +25,46 @@
        private HydroWorkingVmo _working = null;
        private Yw.Model.HydroModelInfo _hydroInfo = null;
        private List<HydroMonitorVmo> _allMonitorList = null;
        private Dictionary<string, HydroCalcuVisualResult> _allCalcuResultVisualDict = null;
        /// <summary>
        /// 绑定数据
        /// </summary>
        public void SetBindingData
            (HydroWorkingVmo working, Yw.Model.HydroModelInfo hydroInfo, HydroCalcuResult calcuResult)
            (
                HydroWorkingVmo working,
                Yw.Model.HydroModelInfo hydroInfo,
                List<HydroMonitorVmo> allMonitorList,
                HydroCalcuResult calcuResult
            )
        {
            var allCalcuResultVisualDict = calcuResult.GetVisualDict();
            SetBindingData(working, hydroInfo, allCalcuResultVisualDict);
            SetBindingData(working, hydroInfo, allMonitorList, allCalcuResultVisualDict);
        }
        /// <summary>
        /// 绑定数据
        /// </summary>
        public void SetBindingData
            (HydroWorkingVmo working, Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict)
            (
                HydroWorkingVmo working,
                Yw.Model.HydroModelInfo hydroInfo,
                List<HydroMonitorVmo> allMonitorList,
                Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict
            )
        {
            _working = working;
            _hydroInfo = hydroInfo;
            _allMonitorList = allMonitorList;
            _allCalcuResultVisualDict = allCalcuResultVisualDict;
            var vm = CreateViewModel();
            SetBindingData(vm);
        }
        /// <summary>
        /// 绑定数据
        /// </summary>
        public void SetBindingData(PumpWorkingViewViewModel vm)
        {
            this.pumpWorkingViewChart1.SetBindingData(vm);
@@ -54,8 +75,6 @@
            }
            this.barCkE.Checked = this.pumpWorkingViewChart1.QEVisible;
        }
        //创建
        private PumpWorkingViewViewModel CreateViewModel()
@@ -78,7 +97,13 @@
            vm.CurveName = $"装置线";
            vm.Color = Color.Black;
            vm.StartH = 2;
            var head = _hydroInfo.GetHead();
            var pipeQ = _hydroInfo.GetPipeQ(_allCalcuResultVisualDict);
            var pipeH = _hydroInfo.GetPipeHead(_allCalcuResultVisualDict);
            vm.StartH = head;
            vm.PipeQ = pipeQ ?? 0;
            vm.PipeH = pipeH ?? 0;
            if (_hydroInfo.Pumps != null && _hydroInfo.Pumps.Count > 0)
            {
@@ -103,7 +128,7 @@
                            vmItem.E = calcuResult.CalcuE;
                        }
                        vmItem.Hz = Math.Round(pump.SpeedRatio * pump.RatedHz, 1);
                        vmItem.N = pump.RatedN.HasValue ? Math.Round(pump.SpeedRatio * pump.RatedN.Value, 1) : 0;
                        vmItem.N = pump.RatedN > 0 ? Math.Round(pump.SpeedRatio * pump.RatedN, 1) : 0;
                        var curveqh = _hydroInfo.Curves?.Find(x => x.Code == pump.CurveQH);
@@ -140,9 +165,6 @@
                        }
                    }
                    vm.PipeQ = vm.Items.Sum(t => t.Q);
                    vm.PipeH = vm.Items.Max(t => t.H);
                }
            }
@@ -176,5 +198,15 @@
        {
            this.pumpWorkingViewChart1.SetChartAxis();
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="fileName"></param>
        public void ExportToImage(string fileName)
        {
            this.pumpWorkingViewChart1.ExportToImage(fileName);
        }
    }
}