From b4a83cab68992fbf1d88dcc43957f4aebea60343 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期一, 30 十二月 2024 09:40:29 +0800 Subject: [PATCH] 水力模块整改,解决存储慢获取慢的问题 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs | 191 ++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 162 insertions(+), 29 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 ff7114b..deda153 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 @@ -2,6 +2,7 @@ using HStation.WinFrmUI.PhartRelation; using HStation.WinFrmUI.Xhs; using Yw.Model; +using Yw.WinFrmUI.HydroW3d; namespace HStation.WinFrmUI { @@ -58,9 +59,18 @@ /// </summary> public event Action<HydroVisualInfo> FlowEffectPropertyValueChangedEvent; - #endregion + #endregion 浜嬩欢闆� #region 灞炴�ц祴鍊� + + /// <summary> + /// 鍏佽缂栬緫 + /// </summary> + public bool AllowEdit + { + get { return this.hydroVisualPropertyCtrl1.AllowEdit; } + set { this.hydroVisualPropertyCtrl1.AllowEdit = value; } + } /// <summary> /// 閫夋嫨瀵硅薄 @@ -71,7 +81,12 @@ set { this.hydroVisualPropertyCtrl1.SelectedObject = value; } } - #endregion + /// <summary> + /// 璁$畻缁撴灉 + /// </summary> + public Func<HydroCalcuResult> CalcuResult { get; set; } + + #endregion 灞炴�ц祴鍊� #region 灞炴�ф洿鏂� @@ -122,169 +137,235 @@ { var tankViewModel = vm as HydroTankViewModel; var input = HydroMatchingHelper.Create(tankViewModel); - var dlg = new SimulationTankSingleMatchingDlg(); + var dlg = new AssetsTankSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { HydroMatchingHelper.Apply(tankViewModel, output); 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.Waterbox: { var tankViewModel = vm as HydroTankViewModel; var input = HydroMatchingHelper.Create(tankViewModel); - var dlg = new SimulationTankSingleMatchingDlg(); + var dlg = new AssetsTankSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { HydroMatchingHelper.Apply(tankViewModel, output); 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.Blunthead: { 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); 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.Elbow: { 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); 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.Threelink: { 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); 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.Fourlink: { 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); 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.Meter: { var meterViewModel = vm as HydroMeterViewModel; var input = HydroMatchingHelper.Create(meterViewModel); - var dlg = new SimulationMeterSingleMatchingDlg(); + var dlg = new AssetsMeterSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { HydroMatchingHelper.Apply(meterViewModel, output); 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.Flowmeter: { var flowmeterViewModel = vm as HydroFlowmeterViewModel; var input = HydroMatchingHelper.Create(flowmeterViewModel); - var dlg = new SimulationFlowmeterSingleMatchingDlg(); + var dlg = new AssetsFlowmeterSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { HydroMatchingHelper.Apply(flowmeterViewModel, output); 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.Pressmeter: { var pressmeterViewModel = vm as HydroPressmeterViewModel; var input = HydroMatchingHelper.Create(pressmeterViewModel); - var dlg = new SimulationPressmeterSingleMatchingDlg(); + var dlg = new AssetsPressmeterSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { HydroMatchingHelper.Apply(pressmeterViewModel, output); 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.Nozzle: { 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); 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.Hydrant: { 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); 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); + 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.Pipe: { 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); this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); }; dlg.ShowDialog(); } break; + case Yw.Hydro.ParterCatalog.Pump: { var pumpViewModel = vm as HydroPumpViewModel; @@ -294,55 +375,70 @@ { HydroMatchingHelper.Apply(pumpViewModel, output); 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.Valve: { var valveViewModel = vm as HydroValveViewModel; var input = HydroMatchingHelper.Create(valveViewModel); - var dlg = new SimulationValveSingleMatchingDlg(); + var dlg = new AssetsValveSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { HydroMatchingHelper.Apply(valveViewModel, output); 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.Exchanger: { var exchangerViewModel = vm as HydroExchangerViewModel; var input = HydroMatchingHelper.Create(exchangerViewModel); - var dlg = new SimulationExchangerSingleMatchingDlg(); + var dlg = new AssetsExchangerSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { HydroMatchingHelper.Apply(exchangerViewModel, output); 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.Compressor: { var compressorViewModel = vm as HydroCompressorViewModel; var input = HydroMatchingHelper.Create(compressorViewModel); - var dlg = new SimulationCompressorSingleMatchingDlg(); + var dlg = new AssetsCompressorSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { HydroMatchingHelper.Apply(compressorViewModel, output); this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); }; dlg.SetBindingData(input); dlg.ShowDialog(); } break; - default: break; + default: break; } } @@ -358,10 +454,19 @@ case HydroCurve.Tank: { var tankViewModel = vm as HydroTankViewModel; - var dlg = new TankChartShowDlg(); - dlg.ShowDialog(); + var curveInfo = tankViewModel.HydroInfo.Curves?.Find(x => x.Code == tankViewModel.VolCurve); + if (curveInfo != null) + { + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsTankCurveVOLViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } + } } break; + case HydroCurve.Pump: { var pumpViewModel = vm as HydroPumpViewModel; @@ -373,36 +478,64 @@ pumpViewModel.UpdateProperty(); this.hydroVisualPropertyCtrl1.UpdateRows(); }; - dlg.SetBindingData(pumpViewModel); + dlg.SetBindingData(pumpViewModel, this.CalcuResult?.Invoke()); dlg.ShowDialog(); } break; + case HydroCurve.Valve: { var valveViewModel = vm as HydroValveViewModel; - var dlg = new ValveChartShowDlg(); - dlg.ShowDialog(); + var curveInfo = valveViewModel.HydroInfo.Curves?.Find(x => x.Code == valveViewModel.ValveSetting); + if (curveInfo != null) + { + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsValveCurveViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } + } } break; + case HydroCurve.Exchanger: { var exchangerViewModel = vm as HydroExchangerViewModel; - var dlg = new ExchangerChartShowDlg(); - dlg.ShowDialog(); + var curveInfo = exchangerViewModel.HydroInfo.Curves?.Find(x => x.Code == exchangerViewModel.CurveQL); + if (curveInfo != null) + { + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsExchangerCurveQLViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } + } } break; + case HydroCurve.Compressor: { var compressorViewModel = vm as HydroCompressorViewModel; - var dlg = new CompressorChartShowDlg(); - dlg.ShowDialog(); + var curveInfo = compressorViewModel.HydroInfo.Curves?.Find(x => x.Code == compressorViewModel.CurveQL); + if (curveInfo != null) + { + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsCompressorCurveQLViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } + } } break; + default: break; } } - #endregion + #endregion 浜嬩欢瀹炵幇 #region 浜嬩欢绌块�� @@ -450,6 +583,6 @@ this.FlowEffectPropertyValueChangedEvent?.Invoke(vm?.Vmo); } - #endregion + #endregion 浜嬩欢绌块�� } } \ No newline at end of file -- Gitblit v1.9.3