From dd4fa076e58b00f46118928bbdaf38f7593544b4 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期六, 12 十月 2024 13:59:11 +0800 Subject: [PATCH] 状态显示调整 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/XhsProjectSimulationPropertyCtrl.cs | 158 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 145 insertions(+), 13 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/XhsProjectSimulationPropertyCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/XhsProjectSimulationPropertyCtrl.cs index 720af0f..946b79e 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/XhsProjectSimulationPropertyCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/XhsProjectSimulationPropertyCtrl.cs @@ -1,4 +1,5 @@ -锘縰sing HStation.WinFrmUI.Xhs; +锘縰sing HStation.WinFrmUI.PhartRelation; +using HStation.WinFrmUI.Xhs; namespace HStation.WinFrmUI { @@ -11,22 +12,26 @@ { InitializeComponent(); - this.hydroParterPropertyCtrl1.GetHydroInfoEvent += HydroParterPropertyCtrl1_GetHydroInfoEvent; - this.hydroParterPropertyCtrl1.SelectCurveEvent += HydroParterPropertyCtrl1_SelectCurveEvent; - this.hydroParterPropertyCtrl1.SelectPatternEvent += HydroParterPropertyCtrl1_SelectPatternEvent; + this.hydroParterPropertyCtrl1.ViewCurveEvent += HydroParterPropertyCtrl1_ViewCurveEvent; + this.hydroParterPropertyCtrl1.SetCurveEvent += HydroParterPropertyCtrl1_SetCurveEvent; + this.hydroParterPropertyCtrl1.SetPatternEvent += HydroParterPropertyCtrl1_SetPatternEvent; this.hydroParterPropertyCtrl1.PropertyValueChangedEvent += HydroParterPropertyCtrl1_PropertyValueChangedEvent; this.hydroParterPropertyCtrl1.PropertyValueChangingEvent += HydroParterPropertyCtrl1_PropertyValueChangingEvent; + this.hydroParterPropertyCtrl1.MatchingDbEvent += HydroParterPropertyCtrl1_MatchingDbEvent; } + + //姘村姏淇℃伅鏂规硶 private Func<Yw.Model.HydroModelInfo> _hydroInfoFunc = null; /// <summary> - /// 缁戝畾鏁版嵁 + /// 鍒濆鍖栨暟鎹� /// </summary> - public void SetBindingData(Func<Yw.Model.HydroModelInfo> hydroInfoFunc) + public void InitialData(Func<Yw.Model.HydroModelInfo> hydroInfoFunc) { _hydroInfoFunc = hydroInfoFunc; + this.hydroParterPropertyCtrl1.InitialData(hydroInfoFunc); } /// <summary> @@ -75,7 +80,7 @@ /// <summary> /// 鏇存柊璁$畻灞炴�� /// </summary> - public void UpdateCalcuProperty(Yw.WinFrmUI.IHydroCalcuProperty rhs) + public void UpdateCalcuProperty(Yw.WinFrmUI.IHydroCalcuResult rhs) { var vm = this.hydroParterPropertyCtrl1.SelectedObject; if (vm == null) @@ -86,15 +91,43 @@ this.hydroParterPropertyCtrl1.UpdateRows(); } - //鑾峰彇姘村姏淇℃伅浜嬩欢 - private Yw.Model.HydroModelInfo HydroParterPropertyCtrl1_GetHydroInfoEvent() + //鏌ョ湅鏇茬嚎 + private void HydroParterPropertyCtrl1_ViewCurveEvent(Yw.Model.HydroParterInfo parterInfo, string curveType) { var hydroInfo = _hydroInfoFunc?.Invoke(); - return hydroInfo; + if (hydroInfo == null) + { + return; + } + switch (curveType) + { + case Yw.WinFrmUI.HydroCurve.Pump: + { + var pumpInfo = parterInfo as Yw.Model.HydroPumpInfo; + var curveqh = hydroInfo.Curves?.Find(x => x.Code == pumpInfo.CurveQH); + if (curveqh == null) + { + return; + } + var pumpId = string.IsNullOrEmpty(pumpInfo.DbId) ? 0 : Convert.ToInt64(pumpInfo.DbId); + var curveId = string.IsNullOrEmpty(curveqh.DbId) ? 0 : Convert.ToInt64(curveqh.DbId); + var speedRatio = pumpInfo.SpeedRatio ?? 1; + var dlg = new PumpPerform2dViewDlg(); + dlg.SetBindingData(pumpId, curveId, speedRatio); + dlg.ShowDialog(); + } + break; + case Yw.WinFrmUI.HydroCurve.Valve: + { + + } + break; + default: break; + } } //閫夋嫨鏇茬嚎 - private bool HydroParterPropertyCtrl1_SelectCurveEvent(HydroParterPropertyViewModel propViewModel, string curveType) + private bool HydroParterPropertyCtrl1_SetCurveEvent(HydroParterPropertyViewModel propViewModel, string curveType) { switch (curveType) { @@ -108,7 +141,7 @@ var pumpInfo = hydroInfo.Pumps?.Find(x => x.Code == propViewModel.Code); var input = AssetsMatchingParasHelper.Create(hydroInfo, pumpInfo); - var dlg = new PumpMainCurveChoiceDlg(); + var dlg = new PumpSingleMatchingDlg(); dlg.SetBindingData(input); dlg.ReloadDataEvent += (rhs) => { @@ -151,7 +184,7 @@ } //閫夋嫨妯″紡 - private bool HydroParterPropertyCtrl1_SelectPatternEvent(HydroParterPropertyViewModel propViewModel, string patternType) + private bool HydroParterPropertyCtrl1_SetPatternEvent(HydroParterPropertyViewModel propViewModel, string patternType) { switch (patternType) { @@ -181,5 +214,104 @@ { return false; } + + //鍖归厤Db浜嬩欢 + private void HydroParterPropertyCtrl1_MatchingDbEvent(Yw.Model.HydroParterInfo parter) + { + if (parter == null) + { + return; + } + var hydroInfo = _hydroInfoFunc?.Invoke(); + if (hydroInfo == null) + { + return; + } + switch (parter.Catalog) + { + case Yw.Hydro.ParterCatalog.Pump://姘存车 + { + var pumpInfo = hydroInfo.Pumps?.Find(x => x.Code == parter.Code); + var input = AssetsMatchingParasHelper.Create(hydroInfo, pumpInfo); + var dlg = new PumpSingleMatchingDlg(); + dlg.SetBindingData(input); + dlg.ReloadDataEvent += (rhs) => + { + var bol = AssetsMatchingParasHelper.Apply(hydroInfo, rhs); + if (bol) + { + TipFormHelper.ShowSucceed("鍖归厤鎴愬姛"); + } + else + { + TipFormHelper.ShowWarn("鍖归厤澶辫触"); + } + }; + dlg.ShowDialog(); + } + break; + + case Yw.Hydro.ParterCatalog.Valve://闃�闂� + { + var valveInfo = hydroInfo.Valves?.Find(x => x.Code == parter.Code); + var input = AssetsMatchingParasHelper.Create(hydroInfo, valveInfo); + var dlg = new ValveSingleMatchingDlg(); + dlg.SetBindingData(input); + dlg.ReloadDataEvent += (rhs) => + { + var bol = AssetsMatchingParasHelper.Apply(hydroInfo, rhs); + if (bol) + { + TipFormHelper.ShowSucceed("鍖归厤鎴愬姛"); + } + else + { + TipFormHelper.ShowWarn("鍖归厤澶辫触"); + } + }; + dlg.ShowDialog(); + } + break; + + case Yw.Hydro.ParterCatalog.Pipe://绠¢亾 + { + } + break; + + case Yw.Hydro.ParterCatalog.Elbow://寮ご + { + var elbowInfo = hydroInfo.Elbows?.Find(x => x.Code == parter.Code); + var input = AssetsMatchingParasHelper.Create(hydroInfo, elbowInfo); + var dlg = new ElbowSingMatchingDlg(); + dlg.SetBindingData(input); + dlg.ReloadDataEvent += (rhs) => + { + var bol = AssetsMatchingParasHelper.Apply(hydroInfo, rhs); + if (bol) + { + TipFormHelper.ShowSucceed("鍖归厤鎴愬姛"); + } + else + { + TipFormHelper.ShowWarn("鍖归厤澶辫触"); + } + }; + dlg.ShowDialog(); + } + break; + + case Yw.Hydro.ParterCatalog.Threelink://涓夐�� + { + } + break; + + case Yw.Hydro.ParterCatalog.Fourlink://鍥涢�� + { + } + break; + } + } + + } } \ No newline at end of file -- Gitblit v1.9.3