From 502ed6f01f605098d46a1fe9f55f416d5c5c3e13 Mon Sep 17 00:00:00 2001 From: Shuxia Ning <NingShuxia0927@outlook.com> Date: 星期四, 26 九月 2024 17:33:12 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs | 354 +++++++++++++++++++++++++--------------------------------- 1 files changed, 154 insertions(+), 200 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs index dacb9a8..8f2e39b 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs @@ -20,13 +20,12 @@ this.docPnlHydroParterList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; this.docPnlUnMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; this.docPnlMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; - this.assetsMainChoicePage1.FormRowClickEvent += xhsProjectSimulationHydroCheckFailedCtrl1_HydroClickEvent; + this.xhsProjectSimulationMatchingListCtrl1.FormRowClickEvent += xhsProjectSimulationHydroCheckFailedCtrl1_HydroClickEvent; } private HStation.Vmo.XhsProjectVmo _project = null;//椤圭洰 private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//椤圭洰绔� private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅 - private List<string> _fastShowHideCodeList = null;//鏄鹃殣缂栫爜鍒楄〃 private Yw.Model.HydroParterInfo _parter = null; private Yw.EPAnet.CheckResult _checkResult = null; @@ -59,8 +58,6 @@ .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation); _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID); } - this.xhsProjectSimulationQ3dCtrl1.SetBindingData(_hydroInfo); - this.xhsProjectSimulationL3dCtrl1.SetBindingData(_hydroInfo); } /// <summary> @@ -74,7 +71,9 @@ return; } this.PageTitle.Caption = $"{_project.Name}\r\n姘村姏妯℃嫙"; - await this.xhsProjectSimulationBimfaceCtrl1.SetBindingData(_project, _projectSite); + await this.xhsProjectSimulationBimfaceCtrl1.SetBindingData(_project, _projectSite, () => _hydroInfo); + this.xhsProjectSimulationQ3dCtrl1.SetBindingData(_hydroInfo); + this.xhsProjectSimulationL3dCtrl1.SetBindingData(_hydroInfo); } //灞炴�ч潰鏉胯幏鍙栨按鍔涗俊鎭簨浠� @@ -83,33 +82,8 @@ return _hydroInfo; } - //涓�閿樉闅� - private async void barBtnShowHide_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - if (_hydroInfo == null) - { - return; - } - if (_hydroInfo.Decorators == null || _hydroInfo.Decorators.Count < 1) - { - return; - } - if (_fastShowHideCodeList == null) - { - _fastShowHideCodeList = _hydroInfo.Decorators.Select(x => x.Code).ToList(); - await this.xhsProjectSimulationBimfaceCtrl1.HideComponents(_fastShowHideCodeList); - } - else - { - await this.xhsProjectSimulationBimfaceCtrl1.ShowComponents(_fastShowHideCodeList); - _fastShowHideCodeList = null; - } - } - - - //姘村姏璁$畻 - private void barBtnHydroCalcu_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + private async void barBtnHydroCalcu_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (_hydroInfo == null) { @@ -126,11 +100,14 @@ { ShowProperty(); TipFormHelper.ShowSucceed("璁$畻鎴愬姛锛�"); - return; } - this.xhsProjectSimulationHydroCalcuFailedCtrl1.SetBindingData(_calcuResult.FailedList); - this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; - this.docPnlHydroCalcu.Height = 350; + else + { + this.xhsProjectSimulationHydroCalcuFailedCtrl1.SetBindingData(_calcuResult.FailedList); + this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; + this.docPnlHydroCalcu.Height = 350; + } + await this.xhsProjectSimulationBimfaceCtrl1.ShowCalcuCustomLabels(_calcuResult); } //姘村姏鏋勪欢鍒楄〃 @@ -169,109 +146,6 @@ TipFormHelper.ShowSucceed("瀵煎嚭鎴愬姛"); } - - - - - - - - - //鑷姩鍖归厤 - private void barBtnAllAutoMatching_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - if (_hydroInfo == null) - { - return; - } - var input = new AssetsAutoMatchingViewModel(); - input.PumpMatchingModels = _hydroInfo.Pumps?.Select(x => new PumpMatchingViewModel() - { - ID = x.ID, - Code = x.Code, - Name = x.Name, - DbID = x.DbId, - DbLocked = x.DbLocked, - ChartDbID = _hydroInfo.Curves?.Find(t => t.Code == x.CurveQH)?.DbId, - ModelType = x.ModelType, - RatedP = x.RatedP, - RatedH = x.RatedH, - RatedN = x.RatedN, - RatedQ = x.RatedQ, - }).ToList(); - input.ElbowsMatchingModels = _hydroInfo.Elbows?.Select(x => new ElbowsMatchingViewModel() - { - ID = x.ID, - Name = x.Name, - Code = x.Code, - Dbid = x.DbId, - DbLocked = x.DbLocked, - ModelType = x.ModelType, - Caliber = x.Caliber, - Material = x.Material - }).ToList(); - input.ThreeLinkMatchingModels = _hydroInfo.Threelinks?.Select(x => new ThreeLinkMatchingViewModel() - { - ID = x.ID, - Name = x.Name, - Code = x.Code, - DbId = x.DbId, - DbLocked = x.DbLocked, - ModelType = x.ModelType, - Caliber = x.Caliber, - Material = x.Material - }).ToList(); - input.FourLinkMatchingModels = _hydroInfo.Fourlinks?.Select(x => new FourLinkMatchingViewModel() - { - ID = x.ID, - Name = x.Name, - Code = x.Code, - Dbid = x.DbId, - DbLocked = x.DbLocked, - ModelType = x.ModelType, - Caliber = x.Caliber, - Material = x.Material - }).ToList(); - input.PipeLineMatchingModels = _hydroInfo.Pipes?.Select(x => new PipeLineMatchingViewModel() - { - ID = x.ID, - Name = x.Name, - Code = x.Code, - DbId = x.DbId, - DbLocked = x.DbLocked, - ModelType = x.ModelType, - Caliber = x.Diameter,//杩欓噷鏄暟鍊� - Material = x.Material - }).ToList(); - - input.ValveMatchingModels = _hydroInfo.Pipes?.Select(x => new ValveMatchingViewModel() - { - ID = x.ID, - Name = x.Name, - Code = x.Code, - DbId = x.DbId, - DbLocked = x.DbLocked, - ModelType = x.ModelType, - Caliber = x.Diameter,//杩欓噷鏄暟鍊� - Material = x.Material//鎬庝箞娌℃湁闃�闂ㄧ被鍨� - }).ToList(); - this.docPnlHydroCheck.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; - this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; - this.docPnlHydroParterList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; - this.docPnlUnMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; - this.hydroParterListCtrl1.SetBindingData(_hydroInfo); - this.docPnlHydroParterList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; - this.docPnlMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; - this.docPnlMatchingList.Height = 350; - this.assetsMainChoicePage1.SetBindingData(input); - this.assetsMainChoicePage1.RelaodEvent += (rhs) => - { - return false; - }; - } - - - //姘村姏鏋勪欢鏄庣粏闈㈡澘鐐瑰嚮浜嬩欢 private async void hydroParterListCtrl1_HydroClickEvent(Yw.Model.HydroParterInfo parter) { @@ -283,19 +157,149 @@ #region Bimface - //bimface 鏋勪欢鐐瑰嚮 - private void xhsProjectSimulationBimfaceCtrl1_ClickParterEvent(string objectId) + //bimface 鍔犺浇瀹屾垚浜嬩欢 + private async void xhsProjectSimulationBimfaceCtrl1_LoadCompletedEvent() { if (_hydroInfo == null) { return; } - var allParterList = _hydroInfo.GetAllParters(); - _parter = allParterList.Find(x => x.Code == objectId); + var elementIds = new List<string>(); + var pumps = _hydroInfo.Pumps?.Where(x => x.LinkStatus == Yw.Hydro.PumpStatus.Open).ToList(); + pumps?.ForEach(x => elementIds.Add(x.Code)); + var valves = _hydroInfo.Valves?.Where(x => x.LinkStatus == Yw.Hydro.ValveStatus.Open).ToList(); + valves?.ForEach(x => elementIds.Add(x.Code)); + await this.xhsProjectSimulationBimfaceCtrl1.SetOpenComponentsColor(elementIds); + } + + //bimface 姘村姏鐐瑰嚮浜嬩欢 + private void xhsProjectSimulationBimfaceCtrl1_HydroClickEvent(Yw.Model.HydroParterInfo obj) + { + if (_hydroInfo == null) + { + return; + } + _parter = obj; ShowProperty(); SetBimfaceLinkColor(); } + //璁剧疆Bimface杩炴帴棰滆壊 + private async void SetBimfaceLinkColor() + { + if (_hydroInfo == null) + { + return; + } + List<string> elementIds = null; + if (_parter != null) + { + if (_parter is Yw.Model.HydroLinkInfo linker) + { + elementIds = new List<string>() { linker.StartCode, linker.EndCode }; + } + } + await this.xhsProjectSimulationBimfaceCtrl1.SetLinkComponentsColor(elementIds); + } + + #endregion Bimface + + #region 鑷姩鍖归厤 + + //鑷姩鍖归厤 + private void barBtnMatching_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (_hydroInfo == null) + { + return; + } + this.docPnlHydroCheck.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; + this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; + this.docPnlHydroParterList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; + this.docPnlMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; + this.docPnlUnMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; + + var input = AssetsMatchingParasHelper.Create(_hydroInfo); + this.xhsProjectSimulationMatchingListCtrl1.SetBindingData(input); + this.xhsProjectSimulationMatchingListCtrl1.RelaodEvent += (output) => + { + return AssetsMatchingParasHelper.Apply(_hydroInfo, output); + }; + this.docPnlMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; + this.docPnlMatchingList.Height = 350; + } + + #endregion + + #region 鏈尮閰嶅垪琛� + + //鏈尮閰嶅垪琛� + private void barBtnUnMatchingList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (_hydroInfo == null) + { + return; + } + this.docPnlHydroCheck.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; + this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; + this.docPnlHydroParterList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; + this.docPnlMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; + this.docPnlUnMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; + + this.xhsProjectSimulationUnMatchingListCtrl1.SetBindingData(_hydroInfo); + this.docPnlUnMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; + this.docPnlUnMatchingList.Height = 350; + } + + //鏈尮閰嶅垪琛ㄧ偣鍑讳簨浠� + private async void xhsProjectSimulationUnMatchingListCtrl1_HydroClickEvent(Yw.Model.HydroParterInfo parter) + { + var allParterList = _hydroInfo.GetAllParters(); + _parter = allParterList.Find(x => x.ID == parter.ID); + var elementIds = new List<string>() { _parter.Code }; + await this.xhsProjectSimulationBimfaceCtrl1.ZoomAndSelectComponents(elementIds); + ShowProperty(); + SetBimfaceLinkColor(); + } + + //鏈尮閰嶅垪琛ㄦ煡鐪嬫ā鍨� + private async void xhsProjectSimulationUnMatchingListCtrl1_ViewModelEvent(List<Yw.Model.HydroParterInfo> parters) + { + var codes = parters?.Select(x => x.Code).Distinct().ToList(); + await this.xhsProjectSimulationBimfaceCtrl1.ZoomAndSelectComponents(codes); + _parter = null; + ShowProperty(); + } + + #endregion + + #region 涓�閿樉闅� + + //鏄鹃殣缂栫爜鍒楄〃 + private List<string> _fastShowHideCodeList = null; + + //瑙﹀彂涓�閿樉闅� + private async void barBtnShowHide_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (_hydroInfo == null) + { + return; + } + if (_hydroInfo.Decorators == null || _hydroInfo.Decorators.Count < 1) + { + return; + } + if (_fastShowHideCodeList == null) + { + _fastShowHideCodeList = _hydroInfo.Decorators.Select(x => x.Code).ToList(); + await this.xhsProjectSimulationBimfaceCtrl1.HideComponents(_fastShowHideCodeList); + } + else + { + await this.xhsProjectSimulationBimfaceCtrl1.ShowComponents(_fastShowHideCodeList); + _fastShowHideCodeList = null; + } + } #endregion @@ -342,48 +346,6 @@ #endregion - #region 鏈尮閰嶅垪琛� - - //鏈尮閰嶅垪琛� - private void barBtnUnMatchingList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - if (_hydroInfo == null) - { - return; - } - this.docPnlHydroCheck.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; - this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; - this.docPnlHydroParterList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; - this.docPnlUnMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; - this.docPnlMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; - - this.xhsProjectSimulationUnMatchingListCtrl1.SetBindingData(_hydroInfo); - this.docPnlUnMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; - this.docPnlUnMatchingList.Height = 350; - } - - //鏈尮閰嶅垪琛ㄧ偣鍑讳簨浠� - private async void xhsProjectSimulationUnMatchingListCtrl1_HydroClickEvent(Yw.Model.HydroParterInfo parter) - { - var allParterList = _hydroInfo.GetAllParters(); - _parter = allParterList.Find(x => x.ID == parter.ID); - var elementIds = new List<string>() { _parter.Code }; - await this.xhsProjectSimulationBimfaceCtrl1.ZoomAndSelectComponents(elementIds); - ShowProperty(); - } - - //鏈尮閰嶅垪琛ㄦ煡鐪嬫ā鍨� - private async void xhsProjectSimulationUnMatchingListCtrl1_ViewModelEvent(List<Yw.Model.HydroParterInfo> parters) - { - var codes = parters?.Select(x => x.Code).Distinct().ToList(); - await this.xhsProjectSimulationBimfaceCtrl1.ZoomAndSelectComponents(codes); - _parter = null; - ShowProperty(); - } - - - #endregion - #region 淇濆瓨姘村姏淇℃伅 //淇濆瓨 @@ -402,7 +364,6 @@ _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(id); TipFormHelper.ShowSucceed("淇濆瓨鎴愬姛锛�"); } - #endregion @@ -458,25 +419,18 @@ } } - //璁剧疆Bimface杩炴帴棰滆壊 - private async void SetBimfaceLinkColor() + #endregion 涓氬姟鏂规硶 + + #region 閰嶇疆 + + //鏄剧ずRadialMenu + private void barBtnSetList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - if (_hydroInfo == null) - { - return; - } - List<string> elementIds = null; - if (_parter != null) - { - if (_parter is Yw.Model.HydroLinkInfo linker) - { - elementIds = new List<string>() { linker.StartCode, linker.EndCode }; - } - } - await this.xhsProjectSimulationBimfaceCtrl1.SetLinkComponentsColor(elementIds); + this.rmSet.ShowPopup(MousePosition, true); } #endregion + } } \ No newline at end of file -- Gitblit v1.9.3