From 1c3e5bc50d3045d51cb9a9f747d53442b82d9e2c Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期五, 27 十二月 2024 17:50:22 +0800 Subject: [PATCH] 资产修改 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/03-analy/SimulationMultiWorkingPumpAnalyCtrl.cs | 167 ++++++++----------------------------------------------- 1 files changed, 25 insertions(+), 142 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/03-analy/SimulationMultiWorkingPumpAnalyCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/03-analy/SimulationMultiWorkingPumpAnalyCtrl.cs index 0e9d62c..ef8668b 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/03-analy/SimulationMultiWorkingPumpAnalyCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/03-analy/SimulationMultiWorkingPumpAnalyCtrl.cs @@ -29,12 +29,9 @@ this.hydroWorkingCheckedListHorizCtrl1.CheckedChangedEvent += HydroWorkingCheckedListHorizCtrl1_CheckedChangedEvent; } - - private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅 - private Yw.Model.HydroPumpInfo _pumpInfo = null;//姘存车淇℃伅 - private List<HydroWorkingVmo> _workingList = null;//宸ュ喌鍒楄〃 - private Dictionary<HydroWorkingVmo, Dictionary<string, HydroCalcuVisualResult>> _allWorkingCalcuResultDict = null;//鎵�鏈夊伐鍐佃绠楃粨鏋滃瓧鍏� + private Yw.Model.HydroPumpInfo _pumpInfo = null;//姘存车淇″績 + private List<HydroWorkingVmo> _allWorkingList = null;//鎵�鏈夊伐鍐靛垪琛� /// <summary> /// 缁戝畾鏁版嵁 @@ -46,155 +43,41 @@ return; } _hydroInfo = hydroInfo.Adapt<Yw.Model.HydroModelInfo>(); - _workingList = allWorkingList; + _allWorkingList = allWorkingList; this.hydroWorkingCheckedListHorizCtrl1.SetBindingData(allWorkingList); - this.hydroPumpListViewCtrl1.SetBindingData(_hydroInfo); + this.hydroPumpListViewCtrl1.SetBindingData(_hydroInfo, allWorkingList); } //姘存车閫夋嫨鏀瑰彉 - private void HydroPumpListViewCtrl1_SelectedChangedEvent(Yw.Model.HydroPumpInfo obj) - { - _pumpInfo = obj; - var vm = CreateViewModel(); - if (vm != null) - { - this.pumpRunViewChart1.SetBindingData(vm); - } - } - - //宸ュ喌閫夋嫨鏀瑰彉浜嬩欢 - private void HydroWorkingCheckedListHorizCtrl1_CheckedChangedEvent(List<HydroWorkingVmo> obj) - { - _workingList = obj; - var vm = CreateViewModel(); - if (vm != null) - { - this.pumpRunViewChart1.SetBindingData(vm); - } - } - - //鍒涘缓 - private PumpRunViewViewModel CreateViewModel() + private void HydroPumpListViewCtrl1_SelectedChangedEvent(Yw.Model.HydroPumpInfo pumpInfo) { if (_hydroInfo == null) { - return default; + return; + } + if (pumpInfo == null) + { + return; + } + _pumpInfo = pumpInfo; + this.simulationPumpAnalyChartCtrl1.SetBindingData(_hydroInfo, _pumpInfo, _allWorkingList); + } + + //宸ュ喌閫夋嫨鏀瑰彉浜嬩欢 + private void HydroWorkingCheckedListHorizCtrl1_CheckedChangedEvent(List<HydroWorkingVmo> allWorkingList) + { + if (_hydroInfo == null) + { + return; } if (_pumpInfo == null) { - return default; + return; } - var vm = new PumpRunViewViewModel(); - vm.Id = _pumpInfo.Code; - vm.Name = _pumpInfo.Name; - vm.CurveName = $"棰濆畾鏇茬嚎({_pumpInfo.RatedHz}hz)"; - vm.RatedQ = _pumpInfo.RatedQ.HasValue ? _pumpInfo.RatedQ.Value : 0; - vm.RatedH = _pumpInfo.RatedH.HasValue ? _pumpInfo.RatedH.Value : 0; - vm.RatedP = _pumpInfo.RatedP; - vm.RatedN = _pumpInfo.RatedN.HasValue ? _pumpInfo.RatedN.Value : 0; - vm.RatedHz = _pumpInfo.RatedHz; - vm.Color = Color.LightGray; - - var curveqh = _hydroInfo.Curves?.Find(x => x.Code == _pumpInfo.CurveQH); - if (curveqh != null) - { - var qh_pts = curveqh.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); - if (qh_pts != null && qh_pts.Count > 3) - { - vm.CurveQH = new CubicSpline2d(qh_pts); - } - } - - var curveqp = _hydroInfo.Curves?.Find(x => x.Code == _pumpInfo.CurveQP); - if (curveqp != null) - { - var qp_pts = curveqp.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); - if (qp_pts != null && qp_pts.Count > 3) - { - vm.CurveQP = new CubicSpline2d(qp_pts); - } - } - - var curveqe = _hydroInfo.Curves?.Find(x => x.Code == _pumpInfo.CurveQE); - if (curveqe != null) - { - var qepts = curveqe.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); - if (qepts != null && qepts.Count > 3) - { - vm.CurveQE = new CubicSpline2d(qepts); - } - } - - if (_workingList != null && _workingList.Count > 0) - { - vm.Items = new List<PumpRunViewItemViewModel>(); - foreach (var working in _workingList) - { - var workingInfo = JsonHelper.Json2Object<HydroWorkingInfoViewModel>(working.WorkingInfo); - if (workingInfo != null && workingInfo.Pumps != null && workingInfo.Pumps.Count > 0) - { - var workingPumpInfo = workingInfo.Pumps.Find(x => x.Code == _pumpInfo.Code); - if (workingPumpInfo != null) - { - var vmItem = new PumpRunViewItemViewModel(); - vm.Items.Add(vmItem); - vmItem.Id = working.ID.ToString(); - vmItem.Name = working.Name; - vmItem.Hz = workingPumpInfo.CurrentHz; - vmItem.Color = HydroPumpCurveColorHelper.GetRandomColor(_workingList.IndexOf(working)); - if (_pumpInfo.RatedN.HasValue) - { - var speedRatio = workingPumpInfo.CurrentHz / _pumpInfo.RatedHz; - vmItem.N = Math.Round(_pumpInfo.RatedN.Value * speedRatio, 1); - } - vmItem.CurveName = $"{working.Name}({vmItem.Hz}hz)"; - if (_allWorkingCalcuResultDict == null) - { - _allWorkingCalcuResultDict = new Dictionary<HydroWorkingVmo, Dictionary<string, HydroCalcuVisualResult>>(); - } - if (!_allWorkingCalcuResultDict.ContainsKey(working)) - { - _hydroInfo.UpdateWorkingInfo(workingInfo); - var calcuResult = _hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss); - _allWorkingCalcuResultDict.Add(working, calcuResult?.GetVisualDict()); - } - var calcuResultVisualDict = _allWorkingCalcuResultDict[working]; - var calcuPumpResult = calcuResultVisualDict?.GetValue(_pumpInfo.Code) as HydroCalcuPumpResult; - if (calcuPumpResult != null) - { - vmItem.Q = calcuPumpResult.CalcuQ ?? 0; - vmItem.H = calcuPumpResult.CalcuH ?? 0; - vmItem.P = calcuPumpResult.CalcuP; - vmItem.E = calcuPumpResult.CalcuE; - } - - if (vm.CurveQH != null) - { - var qh_pts = vm.CurveQH.GetPointList(20); - var qh_run_pts = qh_pts.GetQHPointListByN(vm.RatedHz, vmItem.Hz); - vmItem.CurveQH = new CubicSpline2d(qh_run_pts); - } - - if (vm.CurveQP != null) - { - var qp_pts = vm.CurveQP.GetPointList(20); - var qp_run_pts = qp_pts.GetQPPointListByN(vm.RatedHz, vmItem.Hz); - vmItem.CurveQP = new CubicSpline2d(qp_run_pts); - } - - if (vm.CurveQE != null) - { - var qe_pts = vm.CurveQE.GetPointList(20); - var qe_run_pts = qe_pts.GetQEPointListByN(vm.RatedHz, vmItem.Hz); - vmItem.CurveQE = new CubicSpline2d(qe_run_pts); - } - } - } - } - } - - return vm; + _allWorkingList = allWorkingList; + this.simulationPumpAnalyChartCtrl1.SetBindingData(_hydroInfo, _pumpInfo, _allWorkingList); } + } } -- Gitblit v1.9.3