From 7d17fabc46e87ea0f0896f760034f4d16a4dfed0 Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期五, 20 九月 2024 13:20:57 +0800 Subject: [PATCH] 提交修改 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs | 350 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 226 insertions(+), 124 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 170b699..c56496b 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,7 @@ -锘縰sing Yw.EPAnet; -using HStation.Vmo; -using Yw.DAL.Basic; +锘縢lobal using Yw.EPAnet; +using HStation.WinFrmUI.Xhs; +using HStation.WinFrmUI.Xhs.Core; +using NPOI.SS.Formula.Functions; namespace HStation.WinFrmUI { @@ -11,17 +12,18 @@ 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; } private HStation.Vmo.XhsProjectVmo _project = null;//椤圭洰 private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//椤圭洰绔� private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅 + private List<string> _fastShowHideCodeList = null;//鏄鹃殣缂栫爜鍒楄〃 - - private long _projectId; - private Yw.Model.HydroModelInfo _hydro = null; private Yw.Model.HydroParterInfo _parter = null; - private List<CalcuParter> _allCalcuParterList = null; + private Yw.EPAnet.CheckResult _checkResult = null; + private Yw.EPAnet.CalcuResult _calcuResult = null; /// <summary> /// 缁戝畾鏁版嵁 @@ -29,7 +31,8 @@ public async Task SetBindingData ( HStation.Vmo.XhsProjectVmo project, - HStation.Vmo.XhsProjectSiteVmo projectSite + HStation.Vmo.XhsProjectSiteVmo projectSite, + Yw.Model.HydroModelInfo hydroInfo ) { if (project == null) @@ -38,67 +41,171 @@ } _project = project; _projectSite = projectSite; + _hydroInfo = hydroInfo; if (_projectSite == null) { _projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID); } - } - - - /// <summary> - /// - /// </summary> - public async Task SetBindingData(long projectId) - { - _projectId = projectId; - var projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(projectId); - if (projectSite == null) + if (_hydroInfo == null) { - return; + var hydroRelation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance + .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation); + _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID); } - var hydroRelation = await new Yw.BLL.HydroModelRelation().GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, HStation.Xhs.Purpose.Simulation); - if (hydroRelation == null) - { - return; - } - _hydro = await new Yw.BLL.HydroModelInfo().GetByID(hydroRelation.ModelID); - this.xhsProjectSimulationPropertyCtrl1.SetBindingData(_hydro); + this.xhsProjectSimulationPropertyCtrl1.SetBindingData(_hydroInfo); + this.xhsProjectSimulationQ3dCtrl1.SetBindingData(_hydroInfo); } /// <summary> /// 鍒濆鍖栨暟鎹� /// </summary> - public override void InitialDataSource() + public override async void InitialDataSource() { base.InitialDataSource(); if (_project == null) { return; } - //this.xhsProjectHydroQ3dCtrl1.SetBindingData(_hydro); + this.PageTitle.Caption = $"{_project.Name}\r\n姘村姏妯℃嫙"; + await this.xhsProjectSimulationBimfaceCtrl1.SetBindingData(_project, _projectSite); + } + #region 妯″瀷 + + //涓�閿樉闅� + 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.Waterboxs.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; + } + var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydroInfo); + _checkResult = netWork.Check(); + if (_checkResult.Succeed) + { + TipFormHelper.ShowSucceed("鏍¢獙閫氳繃锛�"); + return; + } + this.xhsProjectSimulationHydroCheckFailedCtrl1.SetBindingData(_checkResult.FailedList); + this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; + this.docPnlHydroCheck.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; + } + + //姘村姏璁$畻 + private void barBtnHydroCalcu_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (_hydroInfo == null) + { + return; + } + var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydroInfo); + _calcuResult = netWork.Calcu(); + if (_calcuResult.Succeed) + { + ShowProperty(); + TipFormHelper.ShowSucceed("璁$畻鎴愬姛锛�"); + return; + } + this.xhsProjectSimulationHydroCalcuFailedCtrl1.SetBindingData(_calcuResult.FailedList); + this.docPnlHydroCheck.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; + this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; + } + + //姘村姏鏋勪欢鍒楄〃 + private void barBtnHydroParterList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var dlg = new HydroParterListDlg(); + dlg.TopMost = true; + dlg.HydroClickEvent += async (parter) => + { + _parter = parter; + await this.xhsProjectSimulationBimfaceCtrl1.SetSelectedComponents(new List<string>() { parter.Code }); + ShowProperty(); + }; + dlg.SetBindingData(_hydroInfo); + dlg.Show(); + } + + //瀵煎嚭姘村姏INP鏂囦欢 + private void barBtnHydroExportInp_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (_hydroInfo == null) + { + return; + } + var fileName = Yw.WinFrmUI.FileDialogHelper.SaveInp("瀵煎嚭Inp鏂囦欢"); + if (string.IsNullOrEmpty(fileName)) + { + return; + } + var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydroInfo); + var result = netWork.ToInpString(); + File.WriteAllText(fileName, result); + TipFormHelper.ShowSucceed("瀵煎嚭鎴愬姛"); } //bimface 鏋勪欢鐐瑰嚮 - private void XhsProjectHydroQ3dCtrl1_ClickParterEvent(string objectId) + private void xhsProjectSimulationBimfaceCtrl1_ClickParterEvent(string objectId) { - if (_hydro == null) + if (_hydroInfo == null) { - _parter = null; return; } - var allParterList = _hydro.GetAllParters(); + var allParterList = _hydroInfo.GetAllParters(); _parter = allParterList.Find(x => x.Code == objectId); - this.xhsProjectSimulationPropertyCtrl1.SelectParter(_parter, allParterList); - if (_parter != null) + ShowProperty(); + } + + //鏄剧ず灞炴�� + private void ShowProperty() + { + if (_hydroInfo == null) { - if (_allCalcuParterList != null && _allCalcuParterList.Count > 0) + return; + } + if (_parter == null) + { + return; + } + var allParterList = _hydroInfo.GetAllParters(); + this.xhsProjectSimulationPropertyCtrl1.SelectParter(_parter, allParterList); + if (_calcuResult != null) + { + if (_calcuResult.Succeed) { - var calcuParter = _allCalcuParterList.Find(x => x.Id == _parter.Code); + var allCalcuParterList = _calcuResult.GetParterList(); + var calcuParter = allCalcuParterList.Find(x => x.Id == _parter.Code); if (calcuParter != null) { IHydroCalcuProperty calcuProperty = null; - if (calcuParter is CalcuNode calcuNode) + if (calcuParter is Yw.EPAnet.CalcuNode calcuNode) { var calcuNodeProperty = new Yw.WinFrmUI.HydroCalcuNodeProperty(); calcuNodeProperty.ID = _parter.ID; @@ -107,7 +214,7 @@ calcuNodeProperty.CalcuHead = calcuNode.Head; calcuProperty = calcuNodeProperty; } - else if (calcuParter is CalcuLink calcuLink) + else if (calcuParter is Yw.EPAnet.CalcuLink calcuLink) { var calcuLinkProperty = new Yw.WinFrmUI.HydroCalcuLinkProperty(); calcuLinkProperty.ID = _parter.ID; @@ -124,106 +231,101 @@ } } } - } - private void barBtnCheck_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - if (_hydro == null) - { - return; - } - var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydro); - var result = netWork.Check(); - XtraMessageBox.Show(JsonHelper.Object2FormatJson(result)); - } + #endregion 姘村姏 - private void barBtnCalcu_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - if (_hydro == null) - { - return; - } - var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydro); - var result = netWork.Calcu(); - if (!result.Succeed) - { - XtraMessageBox.Show(JsonHelper.Object2FormatJson(result)); - return; - } - _allCalcuParterList = result.GetParterList(); - TipFormHelper.ShowSucceed("璁$畻鎴愬姛"); - if (_parter != null) - { - var calcuParter = _allCalcuParterList.Find(x => x.Id == _parter.Code); - if (calcuParter != null) - { - IHydroCalcuProperty calcuProperty = null; - if (calcuParter is CalcuNode calcuNode) - { - var calcuNodeProperty = new Yw.WinFrmUI.HydroCalcuNodeProperty(); - calcuNodeProperty.ID = _parter.ID; - calcuNodeProperty.CalcuPress = calcuNode.Press; - calcuNodeProperty.CalcuDemand = calcuNode.Demand; - calcuNodeProperty.CalcuHead = calcuNode.Head; - calcuProperty = calcuNodeProperty; - } - else if (calcuParter is CalcuLink calcuLink) - { - var calcuLinkProperty = new Yw.WinFrmUI.HydroCalcuLinkProperty(); - calcuLinkProperty.ID = _parter.ID; - calcuLinkProperty.CalcuHeadLoss = calcuLink.Headloss; - calcuLinkProperty.CalcuFlow = calcuLink.Flow; - calcuLinkProperty.CalcuVelocity = calcuLink.Velocity; - calcuProperty = calcuLinkProperty; - } + #region 鏇村 - if (calcuProperty != null) - { - this.xhsProjectSimulationPropertyCtrl1.UpdateCalcuProperty(calcuProperty); - } - } - } - } - - private void barBtnParter_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - var dlg = new HydroParterListDlg(); - dlg.SetBindingData(_hydro); - dlg.Show(); - } - - private void barBtnInp_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - var fileName = Yw.WinFrmUI.FileDialogHelper.SaveInp("瀵煎嚭Inp鏂囦欢"); - if (string.IsNullOrEmpty(fileName)) - { - return; - } - var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydro); - var result = netWork.ToInpString(); - File.WriteAllText(fileName, result); - TipFormHelper.ShowSucceed("瀵煎嚭鎴愬姛"); - } - + //淇濆瓨 private async void barBtnSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - if (_hydro == null) + if (_hydroInfo == null) { return; } - var bll = new Yw.BLL.HydroModelInfo(); - var result = await bll.Save(_hydro); - if (result > 0) + var id = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.Save(_hydroInfo); + if (id < 1) { - Yw.WinFrmUI.TipFormHelper.ShowSucceed("淇濆瓨鎴愬姛"); + TipFormHelper.ShowError("淇濆瓨澶辫触锛�"); + return; } + _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(id); + TipFormHelper.ShowSucceed("淇濆瓨鎴愬姛锛�"); } + #endregion 鏇村 - private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + #region 鑷姩鍖归厤 + + //鑷姩鍖归厤 + private void barBtnAllAutoMatching_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { + // _hydroInfo + var pump = _hydroInfo.Pumps; + var threelinks = _hydroInfo.Threelinks; + var aa = new AssetsAutoMatchingInputViewModel(); + foreach (var item in pump) + { + aa = new AssetsAutoMatchingInputViewModel + { + PumpMatchingModels = new List<PumpMatchingViewModel> + { + new PumpMatchingViewModel + { + RatedH = item.RatedH, // 鍋囪item宸茬粡瀹氫箟骞朵笖鍖呭惈浜哛atedH绛夊睘鎬� + RatedP = item.RatedP, + RatedQ = item.RatedQ, + RatedN = item.RatedN, + ModelType=item.ModelType, + DbID=item.DbId, + DbLocked=item.DbLocked + } + } + }; + } + foreach (var item in threelinks) + { + aa = new AssetsAutoMatchingInputViewModel + { + ThreeLinkMatchingModels = new List<ThreeLinkMatchingViewModel> + { + new ThreeLinkMatchingViewModel + { + Caliber=item.Caliber, + Material=item.Material, + ModelType=item.ModelType, + DbLocked=item.DbLocked, + ID=item.ID, + Code=item.Code, + MinorLoss=item.MinorLoss + } + } + }; + } + var dlg = new AssetsAutoMatchingMainDlg(aa); + dlg.ShowDialog(); + } + #endregion 鑷姩鍖归厤 + + private void BtnPerformChart_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var dlg = new PerformChart(); + dlg.ShowDialog(); + } + + //姘村姏鏍¢獙鐐瑰嚮 + private async void xhsProjectSimulationHydroCheckFailedCtrl1_HydroClickEvent(string obj) + { + if (_hydroInfo == null) + { + return; + } + await this.xhsProjectSimulationBimfaceCtrl1.SetSelectedComponents(new List<string>() { obj }); + var allParterList = _hydroInfo.GetAllParters(); + _parter = allParterList.Find(x => x.Code == obj); + ShowProperty(); } } -} +} \ No newline at end of file -- Gitblit v1.9.3