From 3cd861799e24a6fd6a06a529de6e282447417119 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期五, 11 十月 2024 10:27:07 +0800 Subject: [PATCH] 项目模拟功能面板调整 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs | 86 ++++++++++++++++++++++++++++++------------ 1 files changed, 61 insertions(+), 25 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 99d8242..65f5707 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 @@ -27,7 +27,7 @@ private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅 private Yw.Model.HydroParterInfo _parter = null; - private Yw.EPAnet.CheckResult _checkResult = null; + private Yw.WinFrmUI.HydroCheckResult _checkResult = null; private Yw.EPAnet.CalcuResult _calcuResult = null; /// <summary> @@ -75,8 +75,6 @@ this.xhsProjectSimulationL3dCtrl1.SetBindingData(_hydroInfo); this.xhsProjectSimulationPropertyCtrl1.SetBindingData(() => _hydroInfo); } - - #region INP瀵煎嚭 @@ -136,12 +134,45 @@ { return; } - List<string> elementIds = null; + var elementIds = new List<string>(); if (_parter != null) { if (_parter is Yw.Model.HydroLinkInfo linker) { - elementIds = new List<string>() { linker.StartCode, linker.EndCode }; + var allParterList = _hydroInfo.GetAllParters(); + var allLinkerList = _hydroInfo.GetAllLinks(); + var startParter = allParterList?.Find(x => x.Code == linker.StartCode); + if (startParter != null) + { + if (startParter.GetType() == typeof(Yw.Model.HydroJunctionInfo)) + { + var startLinkList = allLinkerList?.Where(x => x.StartCode == startParter.Code || x.EndCode == startParter.Code).ToList(); + if (startLinkList != null) + { + elementIds.AddRange(startLinkList.Select(x => x.Code).Where(x => x != _parter.Code)); + } + } + else + { + elementIds.Add(linker.StartCode); + } + } + var endParter = allParterList?.Find(x => x.Code == linker.EndCode); + if (endParter != null) + { + if (endParter.GetType() == typeof(Yw.Model.HydroJunctionInfo)) + { + var endLinkList = allLinkerList?.Where(x => x.StartCode == endParter.Code || x.EndCode == endParter.Code).ToList(); + if (endLinkList != null) + { + elementIds.AddRange(endLinkList.Select(x => x.Code).Where(x => x != _parter.Code)); + } + } + else + { + elementIds.Add(linker.EndCode); + } + } } } await this.xhsProjectSimulationBimfaceCtrl1.SetLinkComponentsColor(elementIds); @@ -286,28 +317,33 @@ this.docPnlUnMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; this.docPnlMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; - var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydroInfo); - _checkResult = netWork.Check(); - if (_checkResult.Succeed) - { - TipFormHelper.ShowSucceed("鏍¢獙閫氳繃锛�"); - return; - } - this.xhsProjectSimulationHydroCheckFailedCtrl1.SetBindingData(_checkResult.FailedList); + _checkResult = _hydroInfo.Check(); + this.xhsProjectSimulationHydroCheckResultCtrl1.SetBindingData(_checkResult); this.docPnlHydroCheck.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; this.docPnlHydroCheck.Height = 350; } //姘村姏鏍¢獙鐐瑰嚮 - private async void xhsProjectSimulationHydroCheckFailedCtrl1_HydroClickEvent(string code) + private async void xhsProjectSimulationHydroCheckResultCtrl1_HydroClickEvent(string code) { if (_hydroInfo == null) { return; } - var allParterList = _hydroInfo.GetAllParters(); - _parter = allParterList.Find(x => x.Code == code); - var elementIds = new List<string>() { _parter.Code }; + var elementIds = new List<string>(); + if (string.IsNullOrEmpty(code)) + { + _parter = null; + } + else + { + var allParterList = _hydroInfo.GetAllParters(); + _parter = allParterList.Find(x => x.Code == code); + if (_parter != null) + { + elementIds.Add(_parter.Code); + } + } await this.xhsProjectSimulationBimfaceCtrl1.ZoomAndSelectComponents(elementIds); ShowProperty(); SetBimfaceLinkColor(); @@ -391,11 +427,11 @@ var calcuParter = allCalcuParterList.Find(x => x.Id == _parter.Code); if (calcuParter != null) { - IHydroCalcuProperty calcuProperty = null; + IHydroCalcuResult calcuProperty = null; if (calcuParter is Yw.EPAnet.CalcuNode calcuNode) { - var calcuNodeProperty = new Yw.WinFrmUI.HydroCalcuNodeProperty(); - calcuNodeProperty.ID = _parter.ID; + var calcuNodeProperty = new Yw.WinFrmUI.HydroCalcuNodeResult(); + calcuNodeProperty.Code = _parter.Code; calcuNodeProperty.CalcuPress = calcuNode.Press; calcuNodeProperty.CalcuDemand = calcuNode.Demand; calcuNodeProperty.CalcuHead = calcuNode.Head; @@ -403,8 +439,8 @@ } else if (calcuParter is Yw.EPAnet.CalcuLink calcuLink) { - var calcuLinkProperty = new Yw.WinFrmUI.HydroCalcuLinkProperty(); - calcuLinkProperty.ID = _parter.ID; + var calcuLinkProperty = new Yw.WinFrmUI.HydroCalcuLinkResult(); + calcuLinkProperty.Code = _parter.Code; calcuLinkProperty.CalcuHeadLoss = calcuLink.Headloss; calcuLinkProperty.CalcuFlow = calcuLink.Flow; calcuLinkProperty.CalcuVelocity = calcuLink.Velocity; @@ -420,7 +456,7 @@ } } - #endregion 涓氬姟鏂规硶 + #endregion #region 閰嶇疆 @@ -434,7 +470,7 @@ #region 鎬ц兘鏇茬嚎 - + //鎬ц兘鏇茬嚎 private void barBtnFeatCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (_hydroInfo == null) @@ -459,7 +495,7 @@ PointsQP = _hydroInfo.Curves?.Find(t => t.Code == x.CurveQP)?.CurveData?.Select(z => new PhartRelation.PerformPoint2dViewModel() { X = z.X, Y = z.Y }).ToList(), PointsQE = _hydroInfo.Curves?.Find(t => t.Code == x.CurveQE)?.CurveData?.Select(z => new PhartRelation.PerformPoint2dViewModel() { X = z.X, Y = z.Y }).ToList(), }).ToList(); - var dlg = new HStation.WinFrmUI.PhartRelation.XtrPerform2dMultiViewDlg(); + var dlg = new HStation.WinFrmUI.PhartRelation.PumpPerform2dMultiViewDlg(); dlg.SetBindingData(vmList, false, true); dlg.ShowDialog(); } -- Gitblit v1.9.3