From 5043208b24f45b3e3c630a596b9e83373096a78a Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期五, 18 十月 2024 12:47:49 +0800 Subject: [PATCH] 优化计算前提,计算逻辑还需要继续优化 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs | 70 ++++++++++++++++++++++++++++++++++ 1 files changed, 69 insertions(+), 1 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs index d1d3024..b1130a6 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs @@ -739,6 +739,75 @@ _calcuPrefixCtrl = new SetHydroCalcuPrefixCtrl(); _calcuPrefixCtrl.Dock = DockStyle.Fill; _calcuPrefixCtrl.InitialData(() => _hydroInfo); + _calcuPrefixCtrl.HydroViewEvent += async (parter) => + { + if (parter == null) + { + return; + } + await _bimfaceCtrl.ZoomAndSelectComponents(new List<string>() { parter.Code }); + }; + _calcuPrefixCtrl.HydroCalcuEvent += async (hydroInfo) => + { + if (hydroInfo == null) + { + return; + } + _checkResult = hydroInfo.Check(); + if (!_checkResult.Succeed) + { + this.controlContainerBottom.Controls.Clear(); + var checkResultCtrl = GetCheckResultCtrl(); + checkResultCtrl.SetBindingData(_checkResult); + this.controlContainerBottom.Controls.Add(checkResultCtrl); + TipFormHelper.ShowWarn("鏍¢獙澶辫触锛岃妫�鏌ュ悗閲嶈瘯"); + return; + } + + var netWork = Yw.Hydro.ParseHelper.ToNetwork(hydroInfo); + _calcuResult = netWork.Calcu(); + if (_calcuResult.Succeed) + { + this.controlContainerBottom.Controls.Clear(); + var parterListCtrl = GetParterListCtrl(); + var calcuResultList = new List<IHydroCalcuResult>(); + _calcuResult.NodeList?.ForEach(x => + { + calcuResultList.Add(new HydroCalcuNodeResult() + { + Code = x.Id, + CalcuPress = x.Press, + CalcuHead = x.Head, + CalcuDemand = x.Demand, + }); + }); + _calcuResult.LinkList?.ForEach(x => + { + calcuResultList.Add(new HydroCalcuLinkResult() + { + Code = x.Id, + CalcuFlow = x.Flow, + CalcuVelocity = x.Velocity, + CalcuHeadLoss = x.Headloss + }); + }); + parterListCtrl.SetBindingData(_hydroInfo, calcuResultList); + parterListCtrl.SetCalcuView(); + this.controlContainerBottom.Controls.Add(parterListCtrl); + this.docPnlBottom.Text = "璁$畻缁撴灉"; + ShowProperty(); + await _bimfaceCtrl?.ShowCalcuCustomLabels(_calcuResult); + TipFormHelper.ShowSucceed("璁$畻鎴愬姛锛�"); + } + else + { + _calcuCtrl.SetBindingData(_calcuResult.FailedList); + this.docPnlBottom.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; + this.docPnlBottom.Text = "璁$畻澶辫触鍘熷洜"; + this.docPnlBottom.Height = 350; + TipFormHelper.ShowError("璁$畻澶辫触"); + } + }; } return _calcuPrefixCtrl; } @@ -757,7 +826,6 @@ this.docPnlRight.Text = "鍓嶆彁鏉′欢"; this.docPnlRight.Width = SetHydroCalcuPrefixCtrl.ControlMinWidth; this.docPnlRight.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; - } #endregion -- Gitblit v1.9.3