From 7b65f86343ca014b12894f09b7d62e8b5ac1f95d Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期五, 24 一月 2025 09:15:11 +0800 Subject: [PATCH] 单工况损失曲线增加上下游追踪和高亮显示 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs | 169 +++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 107 insertions(+), 62 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs index c6ee66b..243bc02 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs @@ -1,7 +1,4 @@ -锘縰sing DevExpress.Utils.MVVM; -using HStation.WinFrmUI.PhartRelation; -using HStation.WinFrmUI.Xhs; -using Yw.Model; +锘縰sing Yw.Model; namespace HStation.WinFrmUI { @@ -21,10 +18,9 @@ this.hydroVisualPropertyCtrl1.PropertyValueChangedEvent += HydroVisualPropertyCtrl1_PropertyValueChangedEvent; this.hydroVisualPropertyCtrl1.MarkPropertyValueChangedEvent += HydroVisualPropertyCtrl1_MarkPropertyValueChangedEvent; this.hydroVisualPropertyCtrl1.GradingPropertyValueChangedEvent += HydroPVisualPropertyCtrl1_GradingPropertyValueChangedEvent; - this.hydroVisualPropertyCtrl1.FlowEffectPropertyValueChangedEvent += HydroVisualPropertyCtrl1_FlowEffectPropertyValueChangedEvent; } - #region 浜嬩欢闆� + #region 浜嬩欢闆嗗悎 /// <summary> /// 鏋勪欢鏌ョ湅浜嬩欢 @@ -53,12 +49,24 @@ /// </summary> public event Action<HydroVisualInfo> GradingPropertyValueChangedEvent; - /// <summary> - /// 姘存祦鍔ㄧ敾灞炴�у�兼敼鍙樹簨浠� - /// </summary> - public event Action<HydroVisualInfo> FlowEffectPropertyValueChangedEvent; + private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫� + private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被 - #endregion 浜嬩欢闆� + #endregion + + /// <summary> + /// 鍒濆鍖栨暟鎹� + /// </summary> + public void InitialData + ( + HydroChangeHelper changeHelper, + HydroPropStatusHelper propStatusHelper + ) + { + _changeHelper = changeHelper; + _propStatusHelper = propStatusHelper; + this.hydroVisualPropertyCtrl1.InitialData(changeHelper, propStatusHelper); + } #region 灞炴�ц祴鍊� @@ -80,7 +88,12 @@ set { this.hydroVisualPropertyCtrl1.SelectedObject = value; } } - #endregion 灞炴�ц祴鍊� + /// <summary> + /// 璁$畻缁撴灉 + /// </summary> + public Func<HydroCalcuResult> CalcuResult { get; set; } + + #endregion #region 灞炴�ф洿鏂� @@ -114,7 +127,7 @@ this.hydroVisualPropertyCtrl1.UpdateRows(); } - #endregion 灞炴�ф洿鏂� + #endregion #region 浜嬩欢瀹炵幇 @@ -134,7 +147,7 @@ var dlg = new AssetsTankSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(tankViewModel, output); + HydroMatchingHelper.Apply(tankViewModel, output, _changeHelper, _propStatusHelper); this.hydroVisualPropertyCtrl1.UpdateRows(); this.PropertyValueChangedEvent?.Invoke(vm.Vmo); this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); @@ -152,7 +165,7 @@ var dlg = new AssetsTankSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(tankViewModel, output); + HydroMatchingHelper.Apply(tankViewModel, output, _changeHelper, _propStatusHelper); this.hydroVisualPropertyCtrl1.UpdateRows(); this.PropertyValueChangedEvent?.Invoke(vm.Vmo); this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); @@ -167,10 +180,10 @@ { var bluntheadViewModel = vm as HydroBluntheadViewModel; var input = HydroMatchingHelper.Create(bluntheadViewModel); - var dlg = new SimulationBluntheadSingleMatchingDlg(); + var dlg = new AssetsBluntheadSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(bluntheadViewModel, output); + HydroMatchingHelper.Apply(bluntheadViewModel, output, _changeHelper, _propStatusHelper); this.hydroVisualPropertyCtrl1.UpdateRows(); this.PropertyValueChangedEvent?.Invoke(vm.Vmo); this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); @@ -185,10 +198,10 @@ { var elbowViewModel = vm as HydroElbowViewModel; var input = HydroMatchingHelper.Create(elbowViewModel); - var dlg = new SimulationElbowSingleMatchingDlg(); + var dlg = new AssetsElbowSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(elbowViewModel, output); + HydroMatchingHelper.Apply(elbowViewModel, output, _changeHelper, _propStatusHelper); this.hydroVisualPropertyCtrl1.UpdateRows(); this.PropertyValueChangedEvent?.Invoke(vm.Vmo); this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); @@ -203,10 +216,10 @@ { var threelinkViewModel = vm as HydroThreelinkViewModel; var input = HydroMatchingHelper.Create(threelinkViewModel); - var dlg = new SimulationThreelinkSingleMatchingDlg(); + var dlg = new AssetsThreelinkSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(threelinkViewModel, output); + HydroMatchingHelper.Apply(threelinkViewModel, output, _changeHelper, _propStatusHelper); this.hydroVisualPropertyCtrl1.UpdateRows(); this.PropertyValueChangedEvent?.Invoke(vm.Vmo); this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); @@ -221,10 +234,10 @@ { var fourlinkViewModel = vm as HydroFourlinkViewModel; var input = HydroMatchingHelper.Create(fourlinkViewModel); - var dlg = new SimulationFourlinkSingleMatchingDlg(); + var dlg = new AssetsFourlinkSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(fourlinkViewModel, output); + HydroMatchingHelper.Apply(fourlinkViewModel, output, _changeHelper, _propStatusHelper); this.hydroVisualPropertyCtrl1.UpdateRows(); this.PropertyValueChangedEvent?.Invoke(vm.Vmo); this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); @@ -242,7 +255,7 @@ var dlg = new AssetsMeterSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(meterViewModel, output); + HydroMatchingHelper.Apply(meterViewModel, output, _changeHelper, _propStatusHelper); this.hydroVisualPropertyCtrl1.UpdateRows(); this.PropertyValueChangedEvent?.Invoke(vm.Vmo); this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); @@ -260,7 +273,7 @@ var dlg = new AssetsFlowmeterSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(flowmeterViewModel, output); + HydroMatchingHelper.Apply(flowmeterViewModel, output, _changeHelper, _propStatusHelper); this.hydroVisualPropertyCtrl1.UpdateRows(); this.PropertyValueChangedEvent?.Invoke(vm.Vmo); this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); @@ -278,7 +291,7 @@ var dlg = new AssetsPressmeterSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(pressmeterViewModel, output); + HydroMatchingHelper.Apply(pressmeterViewModel, output, _changeHelper, _propStatusHelper); this.hydroVisualPropertyCtrl1.UpdateRows(); this.PropertyValueChangedEvent?.Invoke(vm.Vmo); this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); @@ -293,10 +306,10 @@ { var nozzleViewModel = vm as HydroNozzleViewModel; var input = HydroMatchingHelper.Create(nozzleViewModel); - var dlg = new SimulationSprinklerSingleMatchingDlg(); + var dlg = new AssetsSprinklerSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(nozzleViewModel, output); + HydroMatchingHelper.Apply(nozzleViewModel, output, _changeHelper, _propStatusHelper); this.hydroVisualPropertyCtrl1.UpdateRows(); this.PropertyValueChangedEvent?.Invoke(vm.Vmo); this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); @@ -311,10 +324,28 @@ { var hydrantViewModel = vm as HydroHydrantViewModel; var input = HydroMatchingHelper.Create(hydrantViewModel); - var dlg = new SimulationHydrantSingleMatchingDlg(); + var dlg = new AssetsHydrantSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(hydrantViewModel, output); + HydroMatchingHelper.Apply(hydrantViewModel, output, _changeHelper, _propStatusHelper); + this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); + }; + dlg.SetBindingData(input); + dlg.ShowDialog(); + } + break; + + case Yw.Hydro.ParterCatalog.Cooling: + { + var coolingViewModel = vm as HydroCoolingViewModel; + var input = HydroMatchingHelper.Create(coolingViewModel); + var dlg = new AssetsCoolingSingleMatchingDlg(); + dlg.ReloadDataEvent += (output) => + { + HydroMatchingHelper.Apply(coolingViewModel, output, _changeHelper, _propStatusHelper); this.hydroVisualPropertyCtrl1.UpdateRows(); this.PropertyValueChangedEvent?.Invoke(vm.Vmo); this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); @@ -329,15 +360,16 @@ { var pipeViewModel = vm as HydroPipeViewModel; var input = HydroMatchingHelper.Create(pipeViewModel); - var dlg = new SimulationPipeSingleMatchingDlg(); + var dlg = new AssetsPipeSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(pipeViewModel, output); + HydroMatchingHelper.Apply(pipeViewModel, output, _changeHelper, _propStatusHelper); this.hydroVisualPropertyCtrl1.UpdateRows(); this.PropertyValueChangedEvent?.Invoke(vm.Vmo); this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); }; + dlg.SetBindingData(input); dlg.ShowDialog(); } break; @@ -349,7 +381,7 @@ var dlg = new SimulationPumpSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(pumpViewModel, output); + HydroMatchingHelper.Apply(pumpViewModel, output, _changeHelper, _propStatusHelper); this.hydroVisualPropertyCtrl1.UpdateRows(); this.PropertyValueChangedEvent?.Invoke(vm.Vmo); this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); @@ -367,7 +399,7 @@ var dlg = new AssetsValveSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(valveViewModel, output); + HydroMatchingHelper.Apply(valveViewModel, output, _changeHelper, _propStatusHelper); this.hydroVisualPropertyCtrl1.UpdateRows(); this.PropertyValueChangedEvent?.Invoke(vm.Vmo); this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); @@ -429,12 +461,16 @@ { case HydroCurve.Tank: { - if (long.TryParse(vm.DbId, out long longDbId)) + var tankViewModel = vm as HydroTankViewModel; + var curveInfo = tankViewModel.HydroInfo.Curves?.Find(x => x.Code == tankViewModel.VolCurve); + if (curveInfo != null) { - var tankViewModel = vm as HydroTankViewModel; - var dlg = new AssetsTankCurveVOLViewDlg(); - dlg.SetBindingData(longDbId); - dlg.ShowDialog(); + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsTankCurveVOLViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } } } break; @@ -450,43 +486,55 @@ pumpViewModel.UpdateProperty(); this.hydroVisualPropertyCtrl1.UpdateRows(); }; - dlg.SetBindingData(pumpViewModel); + dlg.SetBindingData(pumpViewModel, this.CalcuResult?.Invoke()); dlg.ShowDialog(); } break; case HydroCurve.Valve: { - if (long.TryParse(vm.DbId, out long longDbId)) + var valveViewModel = vm as HydroValveViewModel; + var curveInfo = valveViewModel.HydroInfo.Curves?.Find(x => x.Code == valveViewModel.CurveOL); + if (curveInfo != null) { - var valveViewModel = vm as HydroValveViewModel; - var dlg = new AssetsValveCurveViewDlg(); - dlg.SetBindingData(longDbId); - dlg.ShowDialog(); + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsValveCurveViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } } } break; case HydroCurve.Exchanger: { - if (long.TryParse(vm.DbId, out long longDbId)) + var exchangerViewModel = vm as HydroExchangerViewModel; + var curveInfo = exchangerViewModel.HydroInfo.Curves?.Find(x => x.Code == exchangerViewModel.CurveQL); + if (curveInfo != null) { - var exchangerViewModel = vm as HydroExchangerViewModel; - var dlg = new AssetsExchangerCurveQLViewDlg(); - dlg.SetBindingData(longDbId); - dlg.ShowDialog(); + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsExchangerCurveQLViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } } } break; case HydroCurve.Compressor: { - if (long.TryParse(vm.DbId, out long longDbId)) + var compressorViewModel = vm as HydroCompressorViewModel; + var curveInfo = compressorViewModel.HydroInfo.Curves?.Find(x => x.Code == compressorViewModel.CurveQL); + if (curveInfo != null) { - var compressorViewModel = vm as HydroCompressorViewModel; - var dlg = new AssetsCompressorCurveQLViewDlg(); - dlg.SetBindingData(longDbId); - dlg.ShowDialog(); + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsCompressorCurveQLViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } } } break; @@ -495,7 +543,7 @@ } } - #endregion 浜嬩欢瀹炵幇 + #endregion #region 浜嬩欢绌块�� @@ -537,12 +585,9 @@ this.GradingPropertyValueChangedEvent?.Invoke(vm?.Vmo); } - //姘存祦鍔ㄧ敾灞炴�у彂鐢熸敼鍙� - private void HydroVisualPropertyCtrl1_FlowEffectPropertyValueChangedEvent(HydroVisualViewModel vm) - { - this.FlowEffectPropertyValueChangedEvent?.Invoke(vm?.Vmo); - } - #endregion 浜嬩欢绌块�� + #endregion + + } } \ No newline at end of file -- Gitblit v1.9.3