From 6e73556d8e2517c7cf4f76efdbff9e3fed01fb5f Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期五, 20 十二月 2024 16:21:28 +0800 Subject: [PATCH] 泵匹配方法修改 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs | 305 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 246 insertions(+), 59 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 b84f5f6..c6ee66b 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,4 +1,5 @@ -锘縰sing HStation.WinFrmUI.PhartRelation; +锘縰sing DevExpress.Utils.MVVM; +using HStation.WinFrmUI.PhartRelation; using HStation.WinFrmUI.Xhs; using Yw.Model; @@ -57,9 +58,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> /// 閫夋嫨瀵硅薄 @@ -70,7 +80,7 @@ set { this.hydroVisualPropertyCtrl1.SelectedObject = value; } } - #endregion + #endregion 灞炴�ц祴鍊� #region 灞炴�ф洿鏂� @@ -120,134 +130,291 @@ case Yw.Hydro.ParterCatalog.Tank: { var tankViewModel = vm as HydroTankViewModel; - var input = HydroMatchingHelper.Create(tankViewModel.Vmo, tankViewModel.HydroInfo); - var dlg = new TankSingleMatchingDlg(); + var input = HydroMatchingHelper.Create(tankViewModel); + var dlg = new AssetsTankSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(tankViewModel.HydroInfo, tankViewModel.Vmo, output); - tankViewModel.UpdateProperty(); + 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.Vmo, tankViewModel.HydroInfo); - var dlg = new TankSingleMatchingDlg(); + var input = HydroMatchingHelper.Create(tankViewModel); + var dlg = new AssetsTankSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(tankViewModel.HydroInfo, tankViewModel.Vmo, output); - tankViewModel.UpdateProperty(); + 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(); + 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.Vmo, elbowViewModel.HydroInfo); - var dlg = new ElbowSingMatchingDlg(); + var input = HydroMatchingHelper.Create(elbowViewModel); + var dlg = new SimulationElbowSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(elbowViewModel.HydroInfo, elbowViewModel.Vmo, output); - elbowViewModel.UpdateProperty(); + 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(); + 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(); + 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 SimulationSprinklerSingleMatchingDlg(); + 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(); + 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.Pipe: { var pipeViewModel = vm as HydroPipeViewModel; var input = HydroMatchingHelper.Create(pipeViewModel); - var dlg = new PipeSingMatchingDlg(); + var dlg = new SimulationPipeSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(pipeViewModel.HydroInfo, pipeViewModel.Vmo, output); - pipeViewModel.UpdateProperty(); + 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; var input = HydroMatchingHelper.Create(pumpViewModel.Vmo, pumpViewModel.HydroInfo); - var dlg = new PumpSingleMatchingDlg(); + var dlg = new SimulationPumpSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { - HydroMatchingHelper.Apply(pumpViewModel.HydroInfo, pumpViewModel.Vmo, output); - pumpViewModel.UpdateProperty(); + 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 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; - default: break; + default: break; } } @@ -262,53 +429,73 @@ { case HydroCurve.Tank: { - + if (long.TryParse(vm.DbId, out long longDbId)) + { + var tankViewModel = vm as HydroTankViewModel; + var dlg = new AssetsTankCurveVOLViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } } break; + case HydroCurve.Pump: { - //var pumpInfo = vm.HydroInfo.Pumps?.Find(x => x.Code == vm.Code); - //if (pumpInfo == null) - //{ - // break; - //} - //var input = AssetsMatchingParasHelper.Create(vm.HydroInfo, pumpInfo, null); - //var dlg = new SinglePumpAnalyDlg(); - //dlg.SetBindindData(input); - //dlg.ReloadDataEvent += (output) => - //{ - // var bol = AssetsMatchingParasHelper.Apply(vm.HydroInfo, output); - // if (bol) - // { - // vm.UpdateProperty(); - // this.hydroVisualPropertyCtrl1.UpdateRows(); - // } - // return bol; - //}; - //dlg.ShowDialog(); - //return true; + var pumpViewModel = vm as HydroPumpViewModel; + 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); + dlg.ShowDialog(); } break; + case HydroCurve.Valve: { - + if (long.TryParse(vm.DbId, out long longDbId)) + { + var valveViewModel = vm as HydroValveViewModel; + 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 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 dlg = new AssetsCompressorCurveQLViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } } break; + default: break; } } - #endregion + #endregion 浜嬩欢瀹炵幇 #region 浜嬩欢绌块�� @@ -356,6 +543,6 @@ this.FlowEffectPropertyValueChangedEvent?.Invoke(vm?.Vmo); } - #endregion + #endregion 浜嬩欢绌块�� } } \ No newline at end of file -- Gitblit v1.9.3