From 2cb855ba2e7c4cb9002cf0a4a7f6b11d4a587acd Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期五, 27 九月 2024 16:05:29 +0800 Subject: [PATCH] 删除冗余 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs | 384 ++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 283 insertions(+), 101 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 f60b910..6fca92f 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 @@ -1,6 +1,10 @@ 锘縢lobal using Yw.EPAnet; +using DevExpress.Xpo.Helpers; using HStation.WinFrmUI.Xhs; using HStation.WinFrmUI.Xhs.Core; +using NPOI.SS.Formula.Functions; +using Yw.WinFrmUI.HydroL2d; +using Yw.WinFrmUI.HydroL3d; namespace HStation.WinFrmUI { @@ -11,12 +15,16 @@ InitializeComponent(); this.PageTitle.Caption = "姘村姏妯℃嫙"; this.PageTitle.HeaderSvgImage = this.svgImg32[0]; + 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; } private HStation.Vmo.XhsProjectVmo _project = null;//椤圭洰 private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//椤圭洰绔� private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅 - private List<string> _showHideCodeList = null;//鏄鹃殣缂栫爜鍒楄〃 private Yw.Model.HydroParterInfo _parter = null; private Yw.EPAnet.CheckResult _checkResult = null; @@ -49,7 +57,6 @@ .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation); _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID); } - this.xhsProjectSimulationPropertyCtrl1.SetBindingData(_hydroInfo); } /// <summary> @@ -63,91 +70,56 @@ return; } this.PageTitle.Caption = $"{_project.Name}\r\n姘村姏妯℃嫙"; - await this.xhsProjectSimulationBimfaceCtrl1.SetBindingData(_project, _projectSite); - } - - #region 妯″瀷 - - //涓�閿樉闅� - private void barBtnShowHide_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - if (_hydroInfo == null) - { - return; - } - if (_showHideCodeList == null) - { - } - } - - #endregion 妯″瀷 - - #region 姘村姏 - - //姘村姏楠岃瘉 - private void barBtnHydroCheck_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - if (_hydroInfo == null) - { - return; - } - var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydroInfo); - _checkResult = netWork.Check(); - if (_checkResult.Succeed) - { - TipFormHelper.ShowSucceed("鏍¢獙閫氳繃锛�"); - return; - } - var dlg = new XhsProjectSimulationHydroCheckFailedDlg(); - dlg.TopMost = true; - dlg.HydroClickEvent += async (code) => - { - if (_hydroInfo == null) - { - return; - } - await this.xhsProjectSimulationBimfaceCtrl1.SetSelectedComponents(new List<string>() { code }); - var allParterList = _hydroInfo.GetAllParters(); - _parter = allParterList.Find(x => x.Code == code); - ShowProperty(); - }; - dlg.SetBindingData(_checkResult.FailedList); - dlg.Show(); + await this.xhsProjectSimulationBimfaceCtrl1.SetBindingData(_project, _projectSite, () => _hydroInfo); + this.xhsProjectSimulationQ3dCtrl1.SetBindingData(_hydroInfo); + this.xhsProjectSimulationL3dCtrl1.SetBindingData(_hydroInfo); + this.xhsProjectSimulationPropertyCtrl1.SetBindingData(() => _hydroInfo); } //姘村姏璁$畻 - private void barBtnHydroCalcu_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + private async void barBtnHydroCalcu_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; + var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydroInfo); _calcuResult = netWork.Calcu(); if (_calcuResult.Succeed) { ShowProperty(); TipFormHelper.ShowSucceed("璁$畻鎴愬姛锛�"); - return; } - var dlg = new XhsProjectSimulationHydroCalcuFailedDlg(); - dlg.SetBindingData(_calcuResult.FailedList); - dlg.ShowDialog(); + else + { + this.xhsProjectSimulationHydroCalcuFailedCtrl1.SetBindingData(_calcuResult.FailedList); + this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; + this.docPnlHydroCalcu.Height = 350; + } + await this.xhsProjectSimulationBimfaceCtrl1.ShowCalcuCustomLabels(_calcuResult); } //姘村姏鏋勪欢鍒楄〃 private void barBtnHydroParterList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - var dlg = new HydroParterListDlg(); - dlg.TopMost = true; - dlg.HydroClickEvent += async (parter) => + if (_hydroInfo == null) { - _parter = parter; - await this.xhsProjectSimulationBimfaceCtrl1.SetSelectedComponents(new List<string>() { parter.Code }); - ShowProperty(); - }; - dlg.SetBindingData(_hydroInfo); - dlg.Show(); + 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.hydroParterListCtrl1.SetBindingData(_hydroInfo); + this.docPnlHydroParterList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; + this.docPnlHydroParterList.Height = 350; } //瀵煎嚭姘村姏INP鏂囦欢 @@ -168,17 +140,251 @@ TipFormHelper.ShowSucceed("瀵煎嚭鎴愬姛"); } - //bimface 鏋勪欢鐐瑰嚮 - private void xhsProjectSimulationBimfaceCtrl1_ClickParterEvent(string objectId) + //姘村姏鏋勪欢鏄庣粏闈㈡澘鐐瑰嚮浜嬩欢 + private async void hydroParterListCtrl1_HydroClickEvent(Yw.Model.HydroParterInfo parter) + { + var allParterList = _hydroInfo.GetAllParters(); + _parter = allParterList.Find(x => x.ID == parter.ID); + await this.xhsProjectSimulationBimfaceCtrl1.SetSelectedComponents(new List<string>() { _parter.Code }); + ShowProperty(); + } + + #region Bimface + + //bimface 鍔犺浇瀹屾垚浜嬩欢 + private async void xhsProjectSimulationBimfaceCtrl1_LoadCompletedEvent() + { + if (_hydroInfo == null) + { + return; + } + 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 灞炴�ч潰鏉� + + + + #endregion + + #region 鑷姩鍖归厤 + + //鑷姩鍖归厤 + private void barBtnMatchingList_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.docPnlMatchingList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; + this.docPnlMatchingList.Height = 350; + } + + //姘村姏淇℃伅鐐瑰嚮 + private async void xhsProjectSimulationMatchingListCtrl1_HydroClickEvent(string code) { if (_hydroInfo == null) { return; } var allParterList = _hydroInfo.GetAllParters(); - _parter = allParterList.Find(x => x.Code == objectId); + _parter = allParterList.Find(x => x.Code == code); + var elementIds = new List<string>() { _parter.Code }; + await this.xhsProjectSimulationBimfaceCtrl1.ZoomAndSelectComponents(elementIds); + ShowProperty(); + SetBimfaceLinkColor(); + } + + //搴旂敤鍖归厤浜嬩欢 + private bool xhsProjectSimulationMatchingListCtrl1_ApplyMatchingEvent(AssetsMatchingViewModel output) + { + return AssetsMatchingParasHelper.Apply(_hydroInfo, output); + } + + #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 + + #region 姘村姏鏍¢獙 + + //姘村姏楠岃瘉 + private void barBtnHydroCheck_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; + + var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydroInfo); + _checkResult = netWork.Check(); + if (_checkResult.Succeed) + { + TipFormHelper.ShowSucceed("鏍¢獙閫氳繃锛�"); + return; + } + this.xhsProjectSimulationHydroCheckFailedCtrl1.SetBindingData(_checkResult.FailedList); + this.docPnlHydroCheck.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; + this.docPnlHydroCheck.Height = 350; + } + + //姘村姏鏍¢獙鐐瑰嚮 + private async void xhsProjectSimulationHydroCheckFailedCtrl1_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 }; + await this.xhsProjectSimulationBimfaceCtrl1.ZoomAndSelectComponents(elementIds); + ShowProperty(); + } + + #endregion + + #region 淇濆瓨姘村姏淇℃伅 + + //淇濆瓨 + private async void barBtnSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (_hydroInfo == null) + { + return; + } + var id = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.Save(_hydroInfo); + if (id < 1) + { + TipFormHelper.ShowError("淇濆瓨澶辫触锛�"); + return; + } + _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(id); + TipFormHelper.ShowSucceed("淇濆瓨鎴愬姛锛�"); + } + + #endregion + + #region 涓氬姟鏂规硶 //鏄剧ず灞炴�� private void ShowProperty() @@ -189,10 +395,10 @@ } if (_parter == null) { + this.xhsProjectSimulationPropertyCtrl1.SelectParter(null); return; } - var allParterList = _hydroInfo.GetAllParters(); - this.xhsProjectSimulationPropertyCtrl1.SelectParter(_parter, allParterList); + this.xhsProjectSimulationPropertyCtrl1.SelectParter(_parter.Code); if (_calcuResult != null) { if (_calcuResult.Succeed) @@ -230,44 +436,20 @@ } } - #endregion 姘村姏 + #endregion 涓氬姟鏂规硶 - #region 鏇村 + #region 閰嶇疆 - //淇濆瓨 - private async void barBtnSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + //鏄剧ずRadialMenu + private void barBtnSetList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - if (_hydroInfo == null) - { - return; - } - var id = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.Save(_hydroInfo); - if (id < 1) - { - TipFormHelper.ShowError("淇濆瓨澶辫触锛�"); - return; - } - _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(id); - TipFormHelper.ShowSucceed("淇濆瓨鎴愬姛锛�"); + this.rmSet.ShowPopup(MousePosition, true); } - #endregion 鏇村 + #endregion - #region 鑷姩鍖归厤 - //鑷姩鍖归厤 - private void barBtnAllAutoMatching_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - var dlg = new AssetsAutoMatchingMainDlg(new AssetsAutoMatchingInputViewModel()); - dlg.ShowDialog(); - } - #endregion 鑷姩鍖归厤 - private void BtnPerformChart_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - var dlg = new PerformChart(); - dlg.ShowDialog(); - } } } \ No newline at end of file -- Gitblit v1.9.3