From db26311246d1c1cecadf4a22dc44ffa570ee40f2 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期二, 07 一月 2025 11:35:55 +0800 Subject: [PATCH] 批量修改数据同步修改 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs | 289 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 268 insertions(+), 21 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 19d6ff5..90e6d3f 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 { @@ -21,10 +22,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,14 +53,30 @@ /// </summary> public event Action<HydroVisualInfo> GradingPropertyValueChangedEvent; - /// <summary> - /// 姘存祦鍔ㄧ敾灞炴�у�兼敼鍙樹簨浠� - /// </summary> - public event Action<HydroVisualInfo> FlowEffectPropertyValueChangedEvent; + #endregion - #endregion 浜嬩欢闆� + /// <summary> + /// 鍒濆鍖栨暟鎹� + /// </summary> + public void InitialData + ( + HydroChangeHelper changeHelper, + HydroPropStatusHelper propStatusHelper + ) + { + this.hydroVisualPropertyCtrl1.InitialData(changeHelper, propStatusHelper); + } #region 灞炴�ц祴鍊� + + /// <summary> + /// 鍏佽缂栬緫 + /// </summary> + public bool AllowEdit + { + get { return this.hydroVisualPropertyCtrl1.AllowEdit; } + set { this.hydroVisualPropertyCtrl1.AllowEdit = value; } + } /// <summary> /// 閫夋嫨瀵硅薄 @@ -71,7 +87,12 @@ set { this.hydroVisualPropertyCtrl1.SelectedObject = value; } } - #endregion 灞炴�ц祴鍊� + /// <summary> + /// 璁$畻缁撴灉 + /// </summary> + public Func<HydroCalcuResult> CalcuResult { get; set; } + + #endregion #region 灞炴�ф洿鏂� @@ -105,7 +126,7 @@ this.hydroVisualPropertyCtrl1.UpdateRows(); } - #endregion 灞炴�ф洿鏂� + #endregion #region 浜嬩欢瀹炵幇 @@ -122,11 +143,14 @@ { 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(); @@ -137,11 +161,14 @@ { 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(); @@ -150,6 +177,19 @@ case Yw.Hydro.ParterCatalog.Blunthead: { + var bluntheadViewModel = vm as HydroBluntheadViewModel; + var input = HydroMatchingHelper.Create(bluntheadViewModel); + 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; @@ -157,11 +197,14 @@ { 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(); @@ -170,36 +213,145 @@ case Yw.Hydro.ParterCatalog.Threelink: { + var threelinkViewModel = vm as HydroThreelinkViewModel; + var input = HydroMatchingHelper.Create(threelinkViewModel); + 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 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 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 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 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 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 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; @@ -207,11 +359,14 @@ { 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(); } @@ -226,6 +381,9 @@ { 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(); @@ -234,16 +392,55 @@ case Yw.Hydro.ParterCatalog.Valve: { + var valveViewModel = vm as HydroValveViewModel; + var input = HydroMatchingHelper.Create(valveViewModel); + 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 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 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; @@ -262,28 +459,81 @@ { case HydroCurve.Tank: { + var tankViewModel = vm as HydroTankViewModel; + 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; - //var dlg = new PumpChartShowDlg(); + var dlg = new SimulationSinglePumpFeatDlg(); + dlg.SaveEvent += (working) => + { + pumpViewModel.Vmo.LinkStatus = working.LinkStatus; + pumpViewModel.Vmo.SpeedRatio = working.CurrentHz / pumpViewModel.Vmo.RatedHz; + pumpViewModel.UpdateProperty(); + this.hydroVisualPropertyCtrl1.UpdateRows(); + }; + dlg.SetBindingData(pumpViewModel, this.CalcuResult?.Invoke()); + dlg.ShowDialog(); } break; case HydroCurve.Valve: { + var valveViewModel = vm as HydroValveViewModel; + 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 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 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; @@ -291,7 +541,7 @@ } } - #endregion 浜嬩欢瀹炵幇 + #endregion #region 浜嬩欢绌块�� @@ -333,12 +583,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