From cec8d92bdca1da0b2eafe6eb3130f4bf6f03028b Mon Sep 17 00:00:00 2001 From: duheng <2286773002@qq.com> Date: 星期三, 12 三月 2025 10:21:09 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs | 1281 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 843 insertions(+), 438 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 84467d2..94c7f81 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 @@ -1,19 +1,11 @@ -锘縰sing Castle.Core.Logging; -using DevExpress.CodeParser; -using DevExpress.Diagram.Core.Native; +锘縰sing DevExpress.Diagram.Core.Native; using DevExpress.Mvvm.Native; -using DevExpress.Utils.MVVM; -using DevExpress.XtraMap; -using HStation.WinFrmUI.PhartRelation; +using DevExpress.Pdf.Native; using Mapster; -using NPOI.OpenXmlFormats.Dml; -using NPOI.SS.Formula.Functions; -using System.Diagnostics; using Yw.EPAnet; using Yw.Hydro; using Yw.Model; using Yw.Vmo; -using Yw.WinFrmUI.Q3d; namespace HStation.WinFrmUI { @@ -28,20 +20,21 @@ RegistBulkSetEvents(); } - /// <summary> - /// 鏂板宸ュ喌浜嬩欢 - /// </summary> - public event Action<HydroWorkingVmo> AppendWorkingEvent; + #region 妯″瀷浜嬩欢 /// <summary> - /// 淇濆瓨妯″瀷浜嬩欢 + /// 鑾峰彇妯″瀷浜嬩欢 /// </summary> - public event Func<Yw.Model.HydroModelInfo, Task<Yw.Model.HydroModelInfo>> SaveModelEvent; + public event Func<XhsSchemeVmo, Task<Yw.Model.HydroModelInfo>> GetModelEvent; /// <summary> /// 鍒锋柊妯″瀷浜嬩欢 /// </summary> public event Func<Task<Yw.Model.HydroModelInfo>> RefreshModelEvent; + + #endregion 妯″瀷浜嬩欢 + + #region 鏂规浜嬩欢 /// <summary> /// 鏇存柊鏂规浜嬩欢 @@ -52,6 +45,32 @@ /// 绉婚櫎鏂规浜嬩欢 /// </summary> public event Action<XhsSchemeVmo> RemoveSchemeEvent; + + #endregion 鏂规浜嬩欢 + + #region 宸ュ喌浜嬩欢 + + /// <summary> + /// 鏂板宸ュ喌浜嬩欢 + /// </summary> + public event Action<HydroWorkingVmo> AppendWorkingEvent; + + /// <summary> + /// 鏇存柊宸ュ喌浜嬩欢 + /// </summary> + public event Action<HydroWorkingVmo> UpdateWorkingEvent; + + /// <summary> + /// 绉婚櫎宸ュ喌浜嬩欢 + /// </summary> + public event Action<HydroWorkingVmo> RemoveWorkingEvent; + + /// <summary> + /// 閲嶈浇宸ュ喌浜嬩欢 + /// </summary> + public event Action<Dictionary<HydroWorkingVmo, bool>> ReloadWorkingEvent; + + #endregion 宸ュ喌浜嬩欢 private HStation.Vmo.XhsProjectVmo _project = null;//椤圭洰 private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//椤圭洰绔� @@ -105,8 +124,7 @@ private void InitialSvgImages() { //鐩戞祴 - this.barBtnDockingMonitor.ImageOptions.SvgImage = HydroMonitorSvgImageHelper.Docking; - this.barBtnAnalyseMonitor.ImageOptions.SvgImage = HydroMonitorSvgImageHelper.Analyse; + this.barBtnSetMonitorList.ImageOptions.SvgImage = HydroMonitorSvgImageHelper.Docking; //姘村簱 this.barBtnSetReservoirList.ImageOptions.SvgImage = AssetsMainSvgImageHelper.Tank; @@ -125,6 +143,12 @@ this.barBtnSetWaterboxList.ImageOptions.SvgImageSize = new Size(32, 32); this.barBtnSetWaterboxList.ItemAppearance.Normal.ForeColor = Color.FromArgb(0, 122, 204); this.barBtnSetWaterboxList.ImageOptions.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.True; + + //杩炴帴鑺傜偣 + this.barBtnSetJunctionList.ImageOptions.SvgImage = HydroMainSvgImageHelper.Junction; + this.barBtnSetJunctionList.ImageOptions.SvgImageSize = new Size(32, 32); + this.barBtnSetJunctionList.ItemAppearance.Normal.ForeColor = Color.FromArgb(0, 122, 204); + this.barBtnSetJunctionList.ImageOptions.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.True; //闂峰ご this.barBtnSetBluntheadList.ImageOptions.SvgImage = AssetsMainSvgImageHelper.Blunthead; @@ -223,6 +247,80 @@ this.barBtnSetCompressorList.ImageOptions.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.True; } + #region 灞炴�х姸鎬� + + //灞炴�х姸鎬佽緟鍔╃被 + private HydroPropStatusHelper _propStatusHelper = null; + + //鑾峰彇灞炴�х姸鎬佽緟鍔╃被 + private async Task<HydroPropStatusHelper> GetPropStatusHelper() + { + if (_propStatusHelper == null) + { + var allPropStatusList = await BLLFactory<Yw.BLL.HydroParterPropStatusInfo>.Instance.GetByModelID(_hydroInfo.ID); + _propStatusHelper = new HydroPropStatusHelper(_hydroInfo, allPropStatusList); + } + return _propStatusHelper; + } + + //鑾峰彇灞炴�х姸鎬丏b鍒楄〃 + private async Task<List<HydroParterPropStatusInfo>> GetPropStatusDbList() + { + var helper = await GetPropStatusHelper(); + return helper.GetPropStatusDbList(); + } + + #endregion 灞炴�х姸鎬� + + #region 鏇存敼鐘舵�� + + //鏀瑰彉杈呭姪绫� + private HydroChangeHelper _changeHelper = null; + + //鑾峰彇鏀瑰彉杈呭姪绫� + private HydroChangeHelper GetChangeHelper() + { + if (_hydroInfo == null) + { + return default; + } + if (_changeHelper == null) + { + _changeHelper = new HydroChangeHelper(_hydroInfo); + } + return _changeHelper; + } + + //闄勫姞鏀瑰彉鏋勪欢 + private void AppendChangeParter(HydroParterInfo parter, eChangeType changeType) + { + var helper = GetChangeHelper(); + helper.Append(parter, changeType); + } + + //鑾峰彇澧炲姞鏋勪欢鍒楄〃 + private List<HydroParterInfo> GetAddParterList() + { + var helper = GetChangeHelper(); + return helper.GetAddParterList(); + } + + //鑾峰彇鏇存柊鏋勪欢鍒楄〃 + private List<HydroParterInfo> GetUpdateParterList() + { + var helper = GetChangeHelper(); + return helper.GetUpdateParterList(); + } + + //鑾峰彇绉婚櫎鏋勪欢鍒楄〃 + private List<string> GetRemoveParters() + { + var helper = GetChangeHelper(); + return helper.GetRemoveParters(); + } + + #endregion 鏇存敼鐘舵�� + #region BIM鎺т欢 //bimface鎺т欢 @@ -310,7 +408,7 @@ private SimulationPropertyCtrl _propertyCtrl = null; //鑾峰彇灞炴�ф帶浠� - private SimulationPropertyCtrl GetPropertyCtrl() + private async Task<SimulationPropertyCtrl> GetPropertyCtrl() { if (_hydroInfo == null) { @@ -318,9 +416,12 @@ } if (_propertyCtrl == null) { + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); _propertyCtrl = new SimulationPropertyCtrl(); _propertyCtrl.Dock = DockStyle.Fill; _propertyCtrl.AllowEdit = true; + _propertyCtrl.InitialData(changeHelper, propStatusHelper); _propertyCtrl.CalcuResult = () => GetCalcuResult(); _propertyCtrl.HydroViewEvent += (visual) => { @@ -387,13 +488,6 @@ var gradingHelper = await GetGradingHelper(); gradingHelper.Set(visual); }; - _propertyCtrl.FlowEffectPropertyValueChangedEvent += async (visual) => - { - //娴佸悜灞炴�у彂鐢熸敼鍙� - //鍒ゆ柇娴佸悜鏄惁鍔犺浇锛屽鏋滃姞杞藉垯鏇存柊娴佸悜锛屾渶濂芥槸鏇存柊鍗曚釜娴佸悜 - var flowEffectHelper = await GetFlowEffectHelper(); - flowEffectHelper.Set(visual); - }; } return _propertyCtrl; } @@ -418,13 +512,13 @@ } //鏄剧ず灞炴�ф帶浠� - private void ShowPropertyCtrl() + private async void ShowPropertyCtrl() { if (IsPropertyCtrlVisible) { return; } - var propertyCtrl = GetPropertyCtrl(); + var propertyCtrl = await GetPropertyCtrl(); this.controlContainerRight.Controls.Clear(); this.controlContainerRight.Controls.Add(propertyCtrl); this.docPnlRight.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; @@ -464,16 +558,14 @@ case eSimulationVisualSource.None: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnDockingMonitor.Enabled = visual != null; - this.barBtnAnalyseMonitor.Enabled = visual != null; + this.barBtnSetMonitorList.Enabled = visual != null; SetPropertyCtrl(visual); } break; case eSimulationVisualSource.Bimface: { - this.barBtnDockingMonitor.Enabled = visual != null; - this.barBtnAnalyseMonitor.Enabled = visual != null; + this.barBtnSetMonitorList.Enabled = visual != null; SetPropertyCtrl(visual); } break; @@ -481,8 +573,7 @@ case eSimulationVisualSource.Q3d: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnDockingMonitor.Enabled = visual != null; - this.barBtnAnalyseMonitor.Enabled = visual != null; + this.barBtnSetMonitorList.Enabled = visual != null; SetPropertyCtrl(visual); } break; @@ -490,16 +581,14 @@ case eSimulationVisualSource.Property: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnDockingMonitor.Enabled = visual != null; - this.barBtnAnalyseMonitor.Enabled = visual != null; + this.barBtnSetMonitorList.Enabled = visual != null; } break; case eSimulationVisualSource.List: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnDockingMonitor.Enabled = visual != null; - this.barBtnAnalyseMonitor.Enabled = visual != null; + this.barBtnSetMonitorList.Enabled = visual != null; SetPropertyCtrl(visual); } break; @@ -507,8 +596,7 @@ case eSimulationVisualSource.Set: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnDockingMonitor.Enabled = visual != null; - this.barBtnAnalyseMonitor.Enabled = visual != null; + this.barBtnSetMonitorList.Enabled = visual != null; SetPropertyCtrl(visual); } break; @@ -516,8 +604,7 @@ case eSimulationVisualSource.Search: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnDockingMonitor.Enabled = visual != null; - this.barBtnAnalyseMonitor.Enabled = visual != null; + this.barBtnSetMonitorList.Enabled = visual != null; SetPropertyCtrl(visual); } break; @@ -525,8 +612,7 @@ case eSimulationVisualSource.Monitor: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnDockingMonitor.Enabled = visual != null; - this.barBtnAnalyseMonitor.Enabled = visual != null; + this.barBtnSetMonitorList.Enabled = visual != null; SetPropertyCtrl(visual); } break; @@ -534,8 +620,7 @@ case eSimulationVisualSource.Check: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnDockingMonitor.Enabled = visual != null; - this.barBtnAnalyseMonitor.Enabled = visual != null; + this.barBtnSetMonitorList.Enabled = visual != null; SetPropertyCtrl(visual); } break; @@ -543,8 +628,7 @@ case eSimulationVisualSource.Calcu: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnDockingMonitor.Enabled = visual != null; - this.barBtnAnalyseMonitor.Enabled = visual != null; + this.barBtnSetMonitorList.Enabled = visual != null; SetPropertyCtrl(visual); } break; @@ -552,8 +636,7 @@ case eSimulationVisualSource.Warning: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnDockingMonitor.Enabled = visual != null; - this.barBtnAnalyseMonitor.Enabled = visual != null; + this.barBtnSetMonitorList.Enabled = visual != null; SetPropertyCtrl(visual); } break; @@ -701,7 +784,7 @@ } //鏄剧ず鏋勪欢鏄庣粏鎺т欢 - private void ShowVisualListCtrl() + private async void ShowVisualListCtrl() { if (_hydroInfo == null) { @@ -717,8 +800,10 @@ this.docPnlBottom.Height = 350; } var visualVmListHelper = GetVisualVmListHelper(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var allVisualVmList = visualVmListHelper.GetVisualList(); - visualListCtrl.SetBindingData(allVisualVmList); + visualListCtrl.SetBindingData(allVisualVmList, changeHelper, propStatusHelper); var calcuResult = GetCalcuResult(); if (calcuResult != null && calcuResult.Succeed) { @@ -854,6 +939,11 @@ #region 淇濆瓨淇℃伅 + //淇濆瓨閿佸畾瀵硅薄 + private object _locker_save = new(); + + private bool _isSaving = false;//姝e湪淇濆瓨 + //淇濆瓨 private async void barBtnSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { @@ -861,19 +951,79 @@ { return; } - if (this.SaveModelEvent == null) - { - return; - } - var hydroInfo = await this.SaveModelEvent.Invoke(_hydroInfo); - if (hydroInfo == null) - { - TipFormHelper.ShowError("淇濆瓨澶辫触锛�"); - return; - } - _hydroInfo = hydroInfo; + lock (_locker_save) + { + if (_isSaving) + { + this.FindForm().ShowAlertInfo("淇濆瓨", "姝e湪淇濆瓨锛岃绋嶅悗閲嶈瘯锛�"); + return; + } + } + + _isSaving = true; + + var changeHelper = GetChangeHelper(); + + var addParterList = changeHelper.GetAddParterList(); + var updateParterList = changeHelper.GetUpdateParterList(); + var removeParters = changeHelper.GetRemoveParters(); + + if (addParterList == null || addParterList.Count < 1) + { + if (updateParterList == null || updateParterList.Count < 1) + { + if (removeParters == null || removeParters.Count < 1) + { + TipFormHelper.ShowWarn("鏈娴嬪埌淇敼锛屾棤闇�淇濆瓨锛�"); + _isSaving = false; + return; + } + } + } + + WaitFormHelper.ShowWaitForm("姝e湪淇濆瓨锛岃绋嶅悗..."); + + bool bol = false; + + try + { + bol = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance + .Update(_hydroInfo, addParterList, updateParterList, removeParters); + } + catch (Exception ex) + { + XtraMessageBox.Show(ex.Message); + _isSaving = false; + } + + if (!bol) + { + WaitFormHelper.HideWaitForm(); + TipFormHelper.ShowError("姘村姏淇℃伅鏇存柊澶辫触锛�"); + _isSaving = false; + return; + } + changeHelper.Reset(); + + var propStatusHelper = await GetPropStatusHelper(); + var updatePropStatusList = propStatusHelper.GetUpdatePropStatusDbList(); + if (updatePropStatusList != null && updatePropStatusList.Count > 0) + { + bol = await BLLFactory<Yw.BLL.HydroParterPropStatusInfo>.Instance.Update(_hydroInfo.ID, updatePropStatusList); + if (!bol) + { + WaitFormHelper.HideWaitForm(); + TipFormHelper.ShowWarn("灞炴�х姸鎬佹洿鏂板け璐ワ紒"); + _isSaving = false; + return; + } + } + propStatusHelper.Reset(); + + WaitFormHelper.HideWaitForm(); TipFormHelper.ShowSucceed("淇濆瓨鎴愬姛锛�"); + _isSaving = false; //Stopwatch sw = new Stopwatch(); //sw.Start(); @@ -891,11 +1041,13 @@ private void RegistBulkSetEvents() { //姘村簱 - this.barBtnSetReservoirList.ItemClick += delegate + this.barBtnSetReservoirList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroReservoirListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -908,11 +1060,13 @@ dlg.ShowDialog(); }; //姘存睜 - this.barBtnSetTankList.ItemClick += delegate + this.barBtnSetTankList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroTankListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -925,11 +1079,13 @@ dlg.ShowDialog(); }; //姘寸 - this.barBtnSetWaterboxList.ItemClick += delegate + this.barBtnSetWaterboxList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroWaterboxListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -942,11 +1098,13 @@ dlg.ShowDialog(); }; //杩炴帴鑺傜偣 - this.barBtnSetJunctionList.ItemClick += delegate + this.barBtnSetJunctionList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroJunctionListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -959,11 +1117,13 @@ dlg.ShowDialog(); }; //闂峰ご - this.barBtnSetBluntheadList.ItemClick += delegate + this.barBtnSetBluntheadList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroBluntheadListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -976,11 +1136,13 @@ dlg.ShowDialog(); }; //寮ご - this.barBtnSetElbowsList.ItemClick += delegate + this.barBtnSetElbowsList.ItemClick += async delegate { var allVisualVmList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroElbowListDlg(); - dlg.SetBindingData(allVisualVmList); + dlg.SetBindingData(allVisualVmList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -993,11 +1155,13 @@ dlg.ShowDialog(); }; //涓夐�� - this.barBtnSetThreelinkList.ItemClick += delegate + this.barBtnSetThreelinkList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroThreelinkListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1010,11 +1174,13 @@ dlg.ShowDialog(); }; //鍥涢�� - this.barBtnSetFourlinkList.ItemClick += delegate + this.barBtnSetFourlinkList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroFourlinkListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1027,11 +1193,13 @@ dlg.ShowDialog(); }; //姘磋〃 - this.barBtnSetMeterList.ItemClick += delegate + this.barBtnSetMeterList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroMeterListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1044,11 +1212,13 @@ dlg.ShowDialog(); }; //娴侀噺璁� - this.barBtnSetFlowmeterList.ItemClick += delegate + this.barBtnSetFlowmeterList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroFlowmeterListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1061,11 +1231,13 @@ dlg.ShowDialog(); }; //鍘嬪姏琛� - this.barBtnSetPressmeterList.ItemClick += delegate + this.barBtnSetPressmeterList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroPressmeterListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1078,11 +1250,13 @@ dlg.ShowDialog(); }; //鍠峰槾 - this.barBtnSetNozzleList.ItemClick += delegate + this.barBtnSetNozzleList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroNozzleListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1095,11 +1269,13 @@ dlg.ShowDialog(); }; //鍐峰嵈濉� - this.barBtnSetCoolingList.ItemClick += delegate + this.barBtnSetCoolingList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroCoolingListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1112,11 +1288,13 @@ dlg.ShowDialog(); }; //绠¢亾 - this.barBtnSetPipeList.ItemClick += delegate + this.barBtnSetPipeList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroPipeListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1129,11 +1307,13 @@ dlg.ShowDialog(); }; //杩囨浮浠� - this.barBtnSetTranslationList.ItemClick += delegate + this.barBtnSetTranslationList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroTranslationListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1146,11 +1326,13 @@ dlg.ShowDialog(); }; //姘存车 - this.barBtnSetPumpList.ItemClick += delegate + this.barBtnSetPumpList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroPumpListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1163,11 +1345,13 @@ dlg.ShowDialog(); }; //闃�闂� - this.barBtnSetValveList.ItemClick += delegate + this.barBtnSetValveList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroValveListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1180,11 +1364,13 @@ dlg.ShowDialog(); }; //鎹㈢儹鍣� - this.barBtnSetExchangerList.ItemClick += delegate + this.barBtnSetExchangerList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroExchangerListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1197,11 +1383,13 @@ dlg.ShowDialog(); }; //鍘嬬缉鏈� - this.barBtnSetCompressorList.ItemClick += delegate + this.barBtnSetCompressorList.ItemClick += async delegate { var allVisualViewModelList = GetVisualViewModelList(); + var changeHelper = GetChangeHelper(); + var propStatusHelper = await GetPropStatusHelper(); var dlg = new SetHydroCompressorListDlg(); - dlg.SetBindingData(allVisualViewModelList); + dlg.SetBindingData(allVisualViewModelList, changeHelper, propStatusHelper); dlg.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eSimulationVisualSource.Set); @@ -1655,7 +1843,7 @@ gradingHelper.Set(); } - #endregion 棰滆壊鍒嗙骇 + #endregion #region 浜哄伐鍒锋柊 @@ -1684,39 +1872,6 @@ #endregion 浜哄伐鍒锋柊 - #region 姘存祦鍔ㄧ敾 - - //姘存祦鍔ㄧ敾杈呭姪绫� - private SimulationFlowEffectHelper _flowEffectHelper = null; - - //鑾峰彇姘存祦鍔ㄧ敾杈呭姪绫� - private async Task<SimulationFlowEffectHelper> GetFlowEffectHelper() - { - if (_hydroInfo == null) - { - return default; - } - if (_flowEffectHelper == null) - { - var visualListHelper = GetVisualListHelper(); - var bimfaceCtrl = await GetBimfaceCtrl(); - _flowEffectHelper = new SimulationFlowEffectHelper(visualListHelper, bimfaceCtrl); - var calcuResult = GetCalcuResult(); - _flowEffectHelper.InitialData(calcuResult); - } - return _flowEffectHelper; - } - - //姘存祦鍔ㄧ敾鏄惁鍙 - private async void barCkFlowEffect_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - var flowEffectHelper = await GetFlowEffectHelper(); - //flowEffectHelper.Visible = this.barCkFlowEffect.Checked; - //flowEffectHelper.Set(); - } - - #endregion - #region 鐩戞祴鐐� //鐩戞祴鐐硅緟鍔╃被 @@ -1740,21 +1895,7 @@ return await helper.GetAll(); } - //鑾峰彇鐩戞祴瀵规帴鍒楄〃 - private async Task<List<HydroMonitorVmo>> GetMonitorDockingList() - { - var helper = GetMonitorHelper(); - return await helper.GetDockingList(); - } - - //鑾峰彇鐩戞祴鍒嗘瀽鍒楄〃 - private async Task<List<HydroMonitorVmo>> GetMonitorAnalyseList() - { - var helper = GetMonitorHelper(); - return await helper.GetAnalyseList(); - } - - #endregion 鐩戞祴鐐� + #endregion #region 鐩戞祴鍊� @@ -1768,8 +1909,7 @@ { var visualListHelper = GetVisualListHelper(); var monitorHelper = GetMonitorHelper(); - var calcuResultHelper = GetCalcuResultHelper(); - _monitorValueHelper = new SimulationMonitorValueHelper(visualListHelper, monitorHelper, calcuResultHelper); + _monitorValueHelper = new SimulationMonitorValueHelper(visualListHelper, monitorHelper); } return _monitorValueHelper; } @@ -1781,21 +1921,7 @@ return await helper.GetAll(); } - //鑾峰彇鐩戞祴瀵规帴鍊煎垪琛� - private async Task<List<HydroMonitorValueViewModel>> GetMonitorDockingValueList() - { - var helper = GetMonitorValueHelper(); - return await helper.GetDockingList(); - } - - //鑾峰彇鐩戞祴鍒嗘瀽鍊煎垪琛� - private async Task<List<HydroMonitorValueViewModel>> GetMonitorAnalyseValueList() - { - var helper = GetMonitorValueHelper(); - return await helper.GetAnalyseList(); - } - - //閲嶇疆 + //閲嶇疆鐩戞祴鍊� private void ResetMonitorValue() { var allWorkingList = GetWorkingList(); @@ -1807,12 +1933,12 @@ } } - #endregion 鐩戞祴鍊� + #endregion - #region 浼犳劅鍣ㄦ祴鐐� + #region 璁剧疆娴嬬偣 - //璁剧疆鍙鏋勪欢瀵规帴娴嬬偣鍒楄〃 - private async void SetMonitorDockingList(HydroVisualInfo visual) + //璁剧疆娴嬬偣鍒楄〃 + private async void SetMonitorList(HydroVisualInfo visual) { if (_hydroInfo == null) { @@ -1826,33 +1952,33 @@ var allMonitorList = await monitorHelper.GetAll(); var monitorValueHelper = GetMonitorValueHelper(); var allMonitorValueList = await monitorValueHelper.GetAll(); - var calcuResult = GetCalcuResult(); - var dlg = new SetHydroMonitorDockingListDlg(); + var dlg = new SetHydroMonitorListDlg(); dlg.ReloadDataEvent += async (list) => { var monitorList = list?.Select(x => x.Vmo).ToList(); - await monitorHelper.Update(visual.Code, eSourceType.Docking, monitorList); - await monitorValueHelper.Update(visual.Code, eSourceType.Docking, list); + await monitorHelper.Update(visual.Code, monitorList); + await monitorValueHelper.Update(visual.Code, list); var monitorMarkerHelper = await GetMonitorMarkerHelper(); monitorMarkerHelper.Set(); }; - dlg.SetBindingData(_hydroInfo, visual, allMonitorList, allMonitorValueList, calcuResult); + dlg.SetBindingData(_hydroInfo, visual, allMonitorList, allMonitorValueList); dlg.ShowDialog(); } - //璁剧疆浼犳劅鍣ㄦ祴鐐� - private void barBtnDockingMonitor_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + //璁剧疆娴嬬偣鍒楄〃 + private void barBtnSetMonitorList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (_visual == null) { + TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒"); return; } - SetMonitorDockingList(_visual); + SetMonitorList(_visual); } - #endregion 浼犳劅鍣ㄦ祴鐐� + #endregion - #region 浼犳劅鍣ㄦ祴鍊� + #region 璁剧疆娴嬪�� //鐩戞祴鍊煎垪琛ㄦ帶浠� private HydroMonitorValueListCtrl _monitorValueListCtrl = null; @@ -1892,8 +2018,8 @@ } } - //鏄剧ず鐩戞祴瀵规帴鍊煎垪琛ㄦ帶浠� - private async void ShowMonitorDockingValueListCtrl() + //鏄剧ず鐩戞祴鍊煎垪琛ㄦ帶浠� + private async void ShowMonitorValueListCtrl() { var monitorValueListCtrl = GetMonitorValueListCtrl(); if (!IsMonitorValueListCtrlVisible) @@ -1901,60 +2027,20 @@ this.controlContainerBottom.Controls.Clear(); this.controlContainerBottom.Controls.Add(monitorValueListCtrl); this.docPnlBottom.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; - this.docPnlBottom.Text = "浼犳劅鍣ㄦ祴鍊�"; + this.docPnlBottom.Text = "璁剧疆娴嬪��"; this.docPnlBottom.Height = 350; } - var allValueList = await GetMonitorDockingValueList(); - var calcuResult = GetCalcuResult(); + var allValueList = await GetMonitorValueList(); monitorValueListCtrl.SetBindingData(allValueList); } - //璁剧疆浼犳劅鍣ㄦ祴鍊� - private void barBtnDockingMonitorValue_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + //璁剧疆娴嬪�� + private void barBtnSetMonitorValueList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - ShowMonitorDockingValueListCtrl(); + ShowMonitorValueListCtrl(); } - #endregion 浼犳劅鍣ㄦ祴鍊� - - #region 鍒嗘瀽娴嬬偣 - - //璁剧疆鍙鏋勪欢鍒嗘瀽娴嬬偣鍒楄〃 - private async void SetMonitorAnalyseList(HydroVisualInfo visual) - { - if (_hydroInfo == null) - { - return; - } - if (visual == null) - { - return; - } - var monitorHelper = GetMonitorHelper(); - var allMonitorList = await monitorHelper.GetAnalyseList(); - var dlg = new SetHydroMonitorAnalyseListDlg(); - dlg.ReloadDataEvent += async (list) => - { - await monitorHelper.Update(visual.Code, eSourceType.Analyse, list); - //var monitorMarkerHelper = await GetMonitorMarkerHelper(); - //monitorMarkerHelper.Update(visual.Code, monitorList); - //monitorMarkerHelper.Set(); - }; - dlg.SetBindingData(_hydroInfo, visual, allMonitorList); - dlg.ShowDialog(); - } - - //璁剧疆鍒嗘瀽娴嬬偣 - private void barBtnAnalyseMonitor_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - if (_visual == null) - { - return; - } - SetMonitorAnalyseList(_visual); - } - - #endregion 鍒嗘瀽娴嬬偣 + #endregion #region 娴嬬偣鏍囪 @@ -1981,7 +2067,7 @@ monitorMarkerHelper.Set(); } - #endregion 娴嬬偣鏍囪 + #endregion #region 妯″瀷妫�鏌� @@ -2085,7 +2171,7 @@ return _calcuResultHelper; } - #endregion 璁$畻缁撴灉 + #endregion #region 璁$畻澶辫触 @@ -2250,7 +2336,7 @@ #endregion 璁$畻鏍囩 - #endregion 妯″瀷璁$畻 + #endregion #region 瀵煎嚭INP @@ -2352,6 +2438,77 @@ #endregion 姘存车鍒楄〃 + #region 鍘嬪姏鍒囨崲 + + //璁$畻鍘嬪姏鏄惁涓虹粷瀵瑰帇鍔� + private bool _calcuPressModeIsHead = false; + + //璁$畻缁撴灉鍘嬪姏鍒囨崲 + private void barToggleSwitchPress_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + _calcuPressModeIsHead = !this.barToggleSwitchPress.Checked; + this.barToggleSwitchPress.Caption = _calcuPressModeIsHead ? "缁濆鍘嬪姏" : "鑷敱鍘嬪姏"; + var workingHelper = GetWorkingHelper(); + workingHelper.ResetResult(_calcuPressModeIsHead); + UpdateVisualListCtrl(); + UpdatePropertyCtrl(); + } + + #endregion 鍘嬪姏鍒囨崲 + + #region 璇勪环瑙勫垯 + + //璇勪环瑙勫垯杈呭姪绫� + private SimulationEvaluationHelper _evaluationHelper = null; + + //鑾峰彇璇勪环瑙勫垯杈呭姪绫� + private SimulationEvaluationHelper GetEvaluationHelper() + { + if (_evaluationHelper == null) + { + _evaluationHelper = new SimulationEvaluationHelper(_hydroInfo.ID); + } + return _evaluationHelper; + } + + //鑾峰彇璇勪环瑙勫垯鍒楄〃 + private async Task<List<Yw.Vmo.HydroEvaluationVmo>> GetEvaluationList() + { + var helper = GetEvaluationHelper(); + return await helper.GetEvaluationList(); + } + + //璁剧疆璇勪环瑙勫垯鍒楄〃 + private void SetEvaluationList(List<Yw.Vmo.HydroEvaluationVmo> allEvaluationList) + { + var helper = GetEvaluationHelper(); + helper.SetEvaluationList(allEvaluationList); + } + + //鏄剧ず璇勪环绐椾綋 + private void ShowEvaluationDlg() + { + if (_hydroInfo == null) + { + return; + } + var dlg = new SetHydroEvaluationModelDlg(); + dlg.SetBindingData(_hydroInfo.ID); + dlg.ReloadDataEvent += (rhs) => + { + SetEvaluationList(rhs); + }; + dlg.ShowDialog(); + } + + //璇勪环瑙勫垯 + private void barBtnEvaluation_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + ShowEvaluationDlg(); + } + + #endregion + #region 姘村姏璁$畻 //璁$畻 @@ -2401,9 +2558,12 @@ return; } + var isHead = _calcuPressModeIsHead; + var allEvaluationList = await GetEvaluationList(); + WaitFormHelper.ShowWaitForm(this, "姝e湪璁$畻鍒嗘瀽涓紝璇风◢鍊�..."); await Task.Delay(3000); - var calcuResult = _hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss); + var calcuResult = _hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss, isHead, allEvaluationList); WaitFormHelper.HideWaitForm(); workingHelper.InitialData(hydroInfo, working, checkResult, calcuResult); if (calcuResult.Succeed) @@ -2468,42 +2628,187 @@ #region 瀵煎嚭鎶ュ憡 - private async void barBtnExportWord_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + //鍒涘缓鎵撳嵃淇℃伅 + private async Task<SimulationPrintViewModel> CreatePrintInfo() { - if (_visual == null) + if (_project == null) { - SelectInputSource(); - if (_visual == null) + return default; + } + if (_hydroInfo == null) + { + return default; + } + + #region 宸ュ喌鍒楄〃 + + var allWorkingList = GetCheckedWorkingList(); + if (allWorkingList == null || allWorkingList.Count < 1) + { + var working = GetWorking(); + if (working == null) { - TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒"); - return; + TipFormHelper.ShowWarn("璇疯绠楁垨閫夋嫨宸ュ喌鍚庨噸璇曪紒"); + return default; } + allWorkingList = new List<HydroWorkingVmo>() { working }; } - HydroVisualInfo visual = _visual; - if (_visual is HydroLinkInfo linkInfo) + + #endregion 宸ュ喌鍒楄〃 + + #region 閫夋嫨鑺傜偣 + + var selectedNode = GetSelectNode(); + if (selectedNode == null) { - var visualListHelper = GetVisualListHelper(); - visual = visualListHelper.GetVisual(linkInfo.StartCode); + return default; } + + #endregion 閫夋嫨鑺傜偣 + + var vm = new SimulationPrintViewModel(); + + #region 椤圭洰 + + vm.Project = new SimulationPrintProjectViewModel(_project); + if (_hydroInfo == null) + { + return vm; + } + + #endregion 椤圭洰 + + #region 姘存车鍒楄〃 + + vm.PumpList = _hydroInfo.Pumps?.Select(x => + { + var pump = new SimulationPrintPumpViewModel(x); + return pump; + }).ToList(); + + #endregion 姘存车鍒楄〃 + + #region 闄勫姞淇℃伅 var allMonitorList = await GetMonitorList(); - var working = GetWorking(); - var calcuResult = GetCalcuResult(); + var allEvaluationList = await GetEvaluationList(); - var dlg = new SimulationWorkingReportDlg(); - dlg.ReloadDataEvent += (vm) => + #endregion 闄勫姞淇℃伅 + + #region 鍩虹妯″瀷 + + var baseHydroInfo = _hydroInfo; + if (_scheme != null) { - var fileName = FileDialogHelper.SaveWordDoc("瀵煎嚭Word鎶ュ憡"); - if (string.IsNullOrEmpty(fileName)) + baseHydroInfo = await GetModelEvent?.Invoke(null); + } + var baseHydroInfoRhs = baseHydroInfo.Adapt<Yw.Model.HydroModelInfo>(); + + #endregion 鍩虹妯″瀷 + + #region 閬嶅巻宸ュ喌 + + vm.WorkingList = new List<SimulationPrintWorkingViewModel>(); + foreach (var working in allWorkingList) + { + baseHydroInfoRhs.UpdateWorkingInfo(working.WorkingInfo); + var calcuResult = baseHydroInfoRhs.Calcu(Yw.EPAnet.CalcuMode.MinorLoss, _calcuPressModeIsHead, allEvaluationList); + + var printWorking = new SimulationPrintWorkingViewModel(working); + vm.WorkingList.Add(printWorking); + + //绮惧害璇勪及 + printWorking.Accuracy = HydroAccuracyHelper.Create(baseHydroInfoRhs, allMonitorList, working, calcuResult, _calcuPressModeIsHead, allEvaluationList); + //姘存车鍒嗘瀽 + printWorking.PumpAnaly = HydroPumpAnalyHelper.Create(baseHydroInfoRhs, working, calcuResult, _calcuPressModeIsHead, allEvaluationList); + //鐩戞祴鍒嗘瀽 + printWorking.MonitorAnaly = HydroMonitorAnalyHelper.Create(baseHydroInfoRhs, allMonitorList, working, calcuResult, _calcuPressModeIsHead, allEvaluationList); + //鑳借�楀垎鏋� + printWorking.EnergyAnaly = HydroEnergyAnalyHelper.Create(baseHydroInfoRhs, working, calcuResult, _calcuPressModeIsHead, allEvaluationList); + //鎹熷け缁熻 + printWorking.LossStatistics = HydroLossStatisticsHelper.Create(baseHydroInfoRhs, working, calcuResult, _calcuPressModeIsHead, allEvaluationList); + //鎹熷け鏇茬嚎 + printWorking.LossCurve = HydroLossCurveHelper.Create(baseHydroInfoRhs, working, selectedNode, calcuResult, _calcuPressModeIsHead, allEvaluationList); + } + + #endregion 閬嶅巻宸ュ喌 + + #region 鏂规澶勭悊 + + if (_scheme != null) + { + var hydroInfo = _hydroInfo; + var hydroInfoRhs = hydroInfo.Adapt<Yw.Model.HydroModelInfo>(); + vm.Scheme = new SimulationPrintSchemeViewModel(_scheme); + foreach (var working in allWorkingList) { - return; + hydroInfoRhs.UpdateWorkingInfo(working.WorkingInfo); + var calcuResult = hydroInfoRhs.Calcu(Yw.EPAnet.CalcuMode.MinorLoss, _calcuPressModeIsHead, allEvaluationList); + + var printWorking = new SimulationPrintWorkingViewModel(working); + vm.Scheme.WorkingList.Add(printWorking); + + //绮惧害璇勪及 + printWorking.Accuracy = HydroAccuracyHelper.Create(hydroInfoRhs, allMonitorList, working, calcuResult, _calcuPressModeIsHead, allEvaluationList); + //姘存车鍒嗘瀽 + printWorking.PumpAnaly = HydroPumpAnalyHelper.Create(hydroInfoRhs, working, calcuResult, _calcuPressModeIsHead, allEvaluationList); + //鐩戞祴鍒嗘瀽 + printWorking.MonitorAnaly = HydroMonitorAnalyHelper.Create(hydroInfoRhs, allMonitorList, working, calcuResult, _calcuPressModeIsHead, allEvaluationList); + //鑳借�楀垎鏋� + printWorking.EnergyAnaly = HydroEnergyAnalyHelper.Create(hydroInfoRhs, working, calcuResult, _calcuPressModeIsHead, allEvaluationList); + //鎹熷け缁熻 + printWorking.LossStatistics = HydroLossStatisticsHelper.Create(hydroInfoRhs, working, calcuResult, _calcuPressModeIsHead, allEvaluationList); + //鎹熷け鏇茬嚎 + printWorking.LossCurve = HydroLossCurveHelper.Create(hydroInfoRhs, working, selectedNode, calcuResult, _calcuPressModeIsHead, allEvaluationList); } - var reportHelper = new HStation.ReportFile.SimulationWorkingReportHelper(); - reportHelper.Create(fileName, vm); - TipFormHelper.ShowInfo("瀵煎嚭鎴愬姛锛�"); - }; - dlg.SetBindingData(_project, _hydroInfo, allMonitorList, working, calcuResult, visual); - dlg.ShowDialog(); + } + + #endregion 鏂规澶勭悊 + + return vm; + } + + //瀵煎嚭word + private async void barBtnExportWord_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var printInfo = await CreatePrintInfo(); + var printDlg = new HStation.WinFrmUI.SimulationCommonReportDlg(); + printDlg.SetBindingData(printInfo); + printDlg.ShowDialog(); + /* if (_visual == null) + { + SelectInputSource(); + if (_visual == null) + { + TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒"); + return; + } + } + HydroVisualInfo visual = _visual; + if (_visual is HydroLinkInfo linkInfo) + { + var visualListHelper = GetVisualListHelper(); + visual = visualListHelper.GetVisual(linkInfo.StartCode); + } + + var allMonitorList = await GetMonitorList(); + var working = GetWorking(); + var calcuResult = GetCalcuResult(); + + var dlg = new SimulationWorkingReportDlg(); + dlg.ReloadDataEvent += (vm) => + { + var fileName = FileDialogHelper.SaveWordDoc("瀵煎嚭Word鎶ュ憡"); + if (string.IsNullOrEmpty(fileName)) + { + return; + } + var reportHelper = new HStation.ReportFile.SimulationWorkingReportHelper(); + reportHelper.Create(fileName, vm); + TipFormHelper.ShowInfo("瀵煎嚭鎴愬姛锛�"); + }; + dlg.SetBindingData(_project, _hydroInfo, allMonitorList, working, calcuResult, visual); + dlg.ShowDialog();*/ } #endregion 瀵煎嚭鎶ュ憡 @@ -2583,11 +2888,17 @@ { if (_workingCheckedListHelper == null) { - var visualListHelper = GetVisualListHelper(); - _workingCheckedListHelper = new SimulationWorkingCheckedListHelper(visualListHelper); + _workingCheckedListHelper = new SimulationWorkingCheckedListHelper(); _workingCheckedListHelper.InitialData(_allWorkingCheckedListDict); } return _workingCheckedListHelper; + } + + //鑾峰彇宸ュ喌瀛楀吀 + private Dictionary<HydroWorkingVmo, bool> GetWorkingDict() + { + var helper = GetWorkingCheckedListHelper(); + return helper.GetWorkingDict(); } //鑾峰彇宸ュ喌鍒楄〃 @@ -2625,19 +2936,58 @@ helper.Remove(working); } + /// <summary> + /// 閲嶈浇宸ュ喌閫夋嫨鍒楄〃 + /// </summary> + public void ReloadWorkingCheckedList(Dictionary<HydroWorkingVmo, bool> dict) + { + var helper = GetWorkingCheckedListHelper(); + helper.InitialData(dict); + } + + //绠$悊宸ュ喌 + private void barBtnMgrWorking_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var dict = GetWorkingDict(); + var dlg = new HydroWorkingMgrDlg(); + dlg.ReloadDataEvent += (dict) => + { + this.ReloadWorkingEvent?.Invoke(dict); + }; + dlg.UpdateDataEvent += (rhs) => + { + this.UpdateWorkingEvent?.Invoke(rhs); + }; + dlg.ApplyDataEvent += async (rhs) => + { + _hydroInfo.UpdateWorkingInfo(rhs.WorkingInfo); + var monitorValueHelper = GetMonitorValueHelper(); + var allMonitorValueList = await monitorValueHelper.GetAll(); + allMonitorValueList.UpdateMonitorValue(rhs.MonitorInfo); + var gradingHelper = await GetGradingHelper(); + gradingHelper.Set(); + }; + dlg.DeleteDataEvent += (rhs) => + { + this.RemoveWorkingEvent?.Invoke(rhs); + }; + dlg.SetBindingData(dict); + dlg.ShowDialog(); + } + #endregion 閫夋嫨宸ュ喌 #region 鐩戞祴鍒嗘瀽 //鐩戞祴鍒嗘瀽鍒楄〃鎺т欢 - private HydroWorkingMonitorAnalyListCtrl _monitorAnalyListCtrl = null; + private HydroMonitorAnalyListCtrl _monitorAnalyListCtrl = null; //鑾峰彇鐩戞祴鍒嗘瀽鍒楄〃鎺т欢 - private HydroWorkingMonitorAnalyListCtrl GetMonitorAnalyListCtrl() + private HydroMonitorAnalyListCtrl GetMonitorAnalyListCtrl() { if (_monitorAnalyListCtrl == null) { - _monitorAnalyListCtrl = new HydroWorkingMonitorAnalyListCtrl(); + _monitorAnalyListCtrl = new HydroMonitorAnalyListCtrl(); _monitorAnalyListCtrl.Dock = DockStyle.Fill; _monitorAnalyListCtrl.HydroViewEvent += (code) => { @@ -2657,7 +3007,7 @@ { if (this.controlContainerBottom.Controls.Count > 0) { - if (this.controlContainerBottom.Controls[0] is HydroWorkingMonitorAnalyListCtrl) + if (this.controlContainerBottom.Controls[0] is HydroMonitorAnalyListCtrl) { return true; } @@ -2667,7 +3017,7 @@ } } - //鏄剧ず鐩戞祴鍊煎垪琛ㄦ帶浠� + //鏄剧ず鐩戞祴鍒嗘瀽鍒楄〃鎺т欢 private async void ShowMonitorAnalyListCtrl() { if (_hydroInfo == null) @@ -2684,6 +3034,7 @@ return; } } + var monitorAnalyListCtrl = GetMonitorAnalyListCtrl(); if (!IsMonitorAnalyListCtrlVisible) { @@ -2693,14 +3044,19 @@ this.docPnlBottom.Text = "鐩戞祴鍒嗘瀽"; this.docPnlBottom.Height = 350; } - var allMontorList = await GetMonitorAnalyseList(); + + var allMonitorList = await GetMonitorList(); + var isHead = _calcuPressModeIsHead; + var allEvaluationList = await GetEvaluationList(); + if (allWorkingList == null || allWorkingList.Count < 1) { - monitorAnalyListCtrl.SetBindingData(_hydroInfo, allMontorList, GetCalcuResult()); + var workingHelper = GetWorkingHelper(); + monitorAnalyListCtrl.SetBindingData(workingHelper.HydroInfo, allMonitorList, workingHelper.Working, workingHelper.CalcuResult, isHead, allEvaluationList); } else { - monitorAnalyListCtrl.SetBindingData(_hydroInfo, allMontorList, allWorkingList); + monitorAnalyListCtrl.SetBindingData(_hydroInfo, allMonitorList, allWorkingList, isHead, allEvaluationList); } } @@ -2710,7 +3066,7 @@ ShowMonitorAnalyListCtrl(); } - #endregion 鐩戞祴鍒嗘瀽 + #endregion #region 宸ュ喌鍒嗘瀽 @@ -2735,122 +3091,16 @@ } } - //绮惧害璇勪及 - private async void barBtnWorkingEvaluation_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - var allMonitorList = await GetMonitorDockingList(); - - var workingCheckedListHelper = GetWorkingCheckedListHelper(); - var allCheckedWorkingList = workingCheckedListHelper.GetCheckedWorkingList(); - if (allCheckedWorkingList == null || allCheckedWorkingList.Count < 1) - { - var workingHelper = GetWorkingHelper(); - if (!workingHelper.Initialized) - { - TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�"); - return; - } - var dlg = new HydroSingleWorkingEvaluationDlg(); - dlg.SetBindingData(workingHelper.HydroInfo, allMonitorList, workingHelper.Working, workingHelper.CalcuResult); - dlg.ShowDialog(); - } - else - { - var dlg = new HydroMultiWorkingEvaluationDlg(); - dlg.SetBindingData(_hydroInfo, allMonitorList, allCheckedWorkingList); - dlg.ShowDialog(); - } - } - - //姘存车鍒嗘瀽 - private void barBtnPumpAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - var workingCheckedListHelper = GetWorkingCheckedListHelper(); - var allCheckedWorkingList = workingCheckedListHelper.GetCheckedWorkingList(); - if (allCheckedWorkingList == null || allCheckedWorkingList.Count < 1) - { - var workingHelper = GetWorkingHelper(); - if (!workingHelper.Initialized) - { - TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�"); - return; - } - var dlg = new SimulationSingleWorkingPumpAnalyDlg(); - dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult); - dlg.ShowDialog(); - } - else - { - var dlg = new SimulationMultiWorkingPumpAnalyDlg(); - dlg.SetBindingData(_hydroInfo, allCheckedWorkingList); - dlg.ShowDialog(); - } - } - - //鑳芥晥鍒嗘瀽 - private async void barBtnWorkingPower_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - var allMonitorList = await GetMonitorList(); - var workingCheckedListHelper = GetWorkingCheckedListHelper(); - var allCheckedWorkingList = workingCheckedListHelper.GetCheckedWorkingList(); - if (allCheckedWorkingList == null || allCheckedWorkingList.Count < 1) - { - var workingHelper = GetWorkingHelper(); - if (!workingHelper.Initialized) - { - TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�"); - return; - } - var dlg = new SimulationSingleWorkingEnergyDlg(); - dlg.SetBindingData(workingHelper.Working, workingHelper.HydroInfo, allMonitorList, workingHelper.CalcuResult); - dlg.ShowDialog(); - } - else - { - var dlg = new SimulationMultiWorkingEnergyDlg(); - dlg.SetBindingData(_hydroInfo, allMonitorList, allCheckedWorkingList); - dlg.ShowDialog(); - } - } - - //鎹熷け缁熻 - private void barBtnWorkingLossStatistics_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - var workingCheckedListHelper = GetWorkingCheckedListHelper(); - var allCheckedWorkingList = workingCheckedListHelper.GetCheckedWorkingList(); - if (allCheckedWorkingList == null || allCheckedWorkingList.Count < 1) - { - var workingHelper = GetWorkingHelper(); - if (!workingHelper.Initialized) - { - TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�"); - return; - } - var dlg = new HydroSingleWorkingLossStatisticsDlg(); - dlg.SetBindingData(workingHelper.HydroInfo); - dlg.ShowDialog(); - } - else - { - var dlg = new HydroMultiWorkingLossStatisticsDlg(); - dlg.SetBindingData(_hydroInfo, allCheckedWorkingList); - dlg.ShowDialog(); - } - } - - //缁煎悎鍒嗘瀽 - private async void barBtnWorkingAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + //鑾峰彇閫夋嫨鑺傜偣 + private HydroNodeInfo GetSelectNode() { if (_visual == null) { + SelectInputSource(); if (_visual == null) { - SelectInputSource(); - if (_visual == null) - { - TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒"); - return; - } + TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒"); + return null; } } HydroVisualInfo visual = _visual; @@ -2859,13 +3109,67 @@ var visualListHelper = GetVisualListHelper(); visual = visualListHelper.GetVisual(linkInfo.StartCode); } + return visual as HydroNodeInfo; + } - var monitorHelper = GetMonitorHelper(); - var allMonitorList = await monitorHelper.GetAll(); + //绮惧害璇勪及 + private async void barBtnAccuracy_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (_hydroInfo == null) + { + return; + } - var workingCheckedListHelper = GetWorkingCheckedListHelper(); - var allCheckedWorkingList = workingCheckedListHelper.GetCheckedWorkingList(); - if (allCheckedWorkingList == null || allCheckedWorkingList.Count < 1) + var allMonitorList = await GetMonitorList(); + if (allMonitorList == null || allMonitorList.Count < 1) + { + TipFormHelper.ShowWarn("璇疯缃洃娴嬬偣鍚庨噸璇曪紒"); + return; + } + + var isHead = _calcuPressModeIsHead; + var allEvaluationList = await GetEvaluationList(); + + var workingList = GetCheckedWorkingList(); + if (workingList == null || workingList.Count < 1) + { + var allMonitorValueList = await GetMonitorValueList(); + allMonitorValueList = allMonitorValueList?.Where(x => x.PropValue.HasValue).ToList(); + if (allMonitorValueList == null || allMonitorValueList.Count < 1) + { + TipFormHelper.ShowWarn("璇疯缃洃娴嬪�煎悗锛岄噸鏂拌绠楋紒"); + return; + } + + var workingHelper = GetWorkingHelper(); + if (!workingHelper.Initialized) + { + TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�"); + return; + } + var dlg = new HydroAccuracyDlg(); + dlg.SetBindingData(workingHelper.HydroInfo, allMonitorList, workingHelper.Working, workingHelper.CalcuResult, isHead, allEvaluationList); + dlg.ShowDialog(); + return; + } + + var workingDlg = new HydroAccuracyWorkingDlg(); + workingDlg.SetBindingData(_hydroInfo, allMonitorList, workingList, isHead, allEvaluationList); + workingDlg.ShowDialog(); + } + + //姘存车鍒嗘瀽 + private async void barBtnPumpAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (_hydroInfo == null) + { + return; + } + var isHead = _calcuPressModeIsHead; + var allEvaluationList = await GetEvaluationList(); + + var workingList = GetCheckedWorkingList(); + if (workingList == null || workingList.Count < 1) { var workingHelper = GetWorkingHelper(); if (!workingHelper.Initialized) @@ -2873,43 +3177,149 @@ TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�"); return; } - var dlg = new SimulationSingleWorkingAnalyDlg(); - dlg.SetBindingData(workingHelper.HydroInfo, allMonitorList, workingHelper.Working, workingHelper.CalcuResult, visual); + var dlg = new SimulationPumpAnalyDlg(); + dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.Working, workingHelper.CalcuResult, isHead, allEvaluationList); dlg.ShowDialog(); + return; } - else - { - var dlg = new SimulationMultiWorkingAnalyDlg(); - dlg.SetBindingData(_hydroInfo, allMonitorList, allCheckedWorkingList, visual); - dlg.ShowDialog(); - } + + var workingDlg = new SimulationPumpAnalyWorkingDlg(); + workingDlg.SetBindingData(_hydroInfo, workingList, isHead, allEvaluationList); + workingDlg.ShowDialog(); } - #endregion 宸ュ喌鍒嗘瀽 + //鑳芥晥鍒嗘瀽 + private async void barBtnEnergyAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (_hydroInfo == null) + { + return; + } + + var isHead = _calcuPressModeIsHead; + var allEvaluationList = await GetEvaluationList(); + + var workingList = GetCheckedWorkingList(); + if (workingList == null || workingList.Count < 1) + { + var workingHelper = GetWorkingHelper(); + if (!workingHelper.Initialized) + { + TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�"); + return; + } + var dlg = new SimulationEnergyAnalyDlg(); + dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.Working, workingHelper.CalcuResult, isHead, allEvaluationList); + dlg.ShowDialog(); + return; + } + var workingDlg = new SimulationEnergyAnalyWorkingDlg(); + workingDlg.SetBindingData(_hydroInfo, workingList, isHead, allEvaluationList); + workingDlg.ShowDialog(); + } + + //鎹熷け缁熻 + private async void barBtnWorkingLossStatistics_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (_hydroInfo == null) + { + return; + } + var hydroInfo = _hydroInfo.Adapt<Yw.Model.HydroModelInfo>(); + var isHead = _calcuPressModeIsHead; + var allEvaluationList = await GetEvaluationList(); + + var workingList = GetCheckedWorkingList(); + if (workingList == null || workingList.Count < 1) + { + var workingHelper = GetWorkingHelper(); + if (!workingHelper.Initialized) + { + TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�"); + return; + } + var dlg = new HydroLossStatisticsDlg(); + dlg.SetBindingData(hydroInfo, workingHelper.Working, workingHelper.CalcuResult, isHead, allEvaluationList); + dlg.ShowDialog(); + return; + } + + var workingDlg = new HydroLossStatisticsWorkingDlg(); + workingDlg.SetBindingData(hydroInfo, workingList, isHead, allEvaluationList); + workingDlg.ShowDialog(); + } + + //缁煎悎鍒嗘瀽 + private async void barBtnWorkingAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (_hydroInfo == null) + { + return; + } + + var selectNode = GetSelectNode(); + if (selectNode == null) + { + return; + } + + var allMonitorList = await GetMonitorList(); + var isHead = _calcuPressModeIsHead; + var allEvaluationList = await GetEvaluationList(); + + var workingList = GetCheckedWorkingList(); + if (workingList == null || workingList.Count < 1) + { + var workingHelper = GetWorkingHelper(); + if (!workingHelper.Initialized) + { + TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�"); + return; + } + var dlg = new SimulationMultiAnalyDlg(); + dlg.SetBindingData(workingHelper.HydroInfo, allMonitorList, workingHelper.Working, selectNode, workingHelper.CalcuResult, isHead, allEvaluationList); + dlg.ShowDialog(); + return; + } + + var workingDlg = new SimulationMultiAnalyWorkingDlg(); + workingDlg.SetBindingData(_hydroInfo, allMonitorList, workingList, selectNode, isHead, allEvaluationList); + workingDlg.ShowDialog(); + } + + #endregion #region 鎹熷け鏇茬嚎 - //鍗曞伐鍐垫崯澶辨洸绾挎帶浠� - private HydroSingleWorkingLossCurveCtrl _singleWorkingLossCurveCtrl = null; + //鎹熷け鏇茬嚎浜や簰鎺т欢 + private HydroLossCurveInteropCtrl _lossCurveInteropCtrl = null; - //鑾峰彇鍗曞伐鍐垫崯澶辨洸绾挎帶浠� - private HydroSingleWorkingLossCurveCtrl GetSingleWorkingLossCurveCtrl() + //鑾峰彇鎹熷け鏇茬嚎浜や簰鎺т欢 + private HydroLossCurveInteropCtrl GetLossCurveInteropCtrl() { - if (_singleWorkingLossCurveCtrl == null) + if (_lossCurveInteropCtrl == null) { - _singleWorkingLossCurveCtrl = new HydroSingleWorkingLossCurveCtrl(); - _singleWorkingLossCurveCtrl.Dock = DockStyle.Fill; - _singleWorkingLossCurveCtrl.HydroClickEvent += (code) => + _lossCurveInteropCtrl = new HydroLossCurveInteropCtrl(); + _lossCurveInteropCtrl.Dock = DockStyle.Fill; + _lossCurveInteropCtrl.HydroClickEvent += (code) => { var visual = GetVisual(code); SelectVisual(visual, eSimulationVisualSource.None); }; + _lossCurveInteropCtrl.HydroSpecialDisplayEvent += (list) => + { + _bimfaceCtrl?.SetLogicOutlineGlowEffect(list); + }; + _lossCurveInteropCtrl.HydroCancelSpecialDisplayEvent += () => + { + _bimfaceCtrl?.RemoveLogicOutlineGlowEffect(); + }; } - return _singleWorkingLossCurveCtrl; + return _lossCurveInteropCtrl; } - //鍗曞伐鍐垫崯澶辨洸绾挎帶浠舵槸鍚﹀彲瑙� - private bool IsSingleWorkingLossCurveCtrlVisible + //鎹熷け鏇茬嚎鎺т欢鏄惁鍙 + private bool IsLossCurveInteropCtrlVisible { get { @@ -2917,7 +3327,7 @@ { if (this.controlContainerBottom.Controls.Count > 0) { - if (this.controlContainerBottom.Controls[0] is HydroSingleWorkingLossCurveCtrl) + if (this.controlContainerBottom.Controls[0] is HydroLossCurveInteropCtrl) { return true; } @@ -2927,43 +3337,43 @@ } } - //鏄剧ず鍗曞伐鍐垫崯澶辨洸绾挎帶浠� - private void ShowSingleWorkingLossCurveCtrl(Yw.Model.HydroModelInfo hydroInfo, HydroCalcuResult calcuResult, HydroVisualInfo visual) + //鏄剧ず鎹熷け鏇茬嚎鎺т欢 + private void ShowLossCurveInteropCtrl + ( + Yw.Model.HydroModelInfo hydroInfo, + HydroWorkingVmo working, + HydroNodeInfo node, + HydroCalcuResult calcuResult = null, + bool isHead = false, + List<HydroEvaluationVmo> allEvaluationList = null + ) { - var singleWorkingLossCurveCtrl = GetSingleWorkingLossCurveCtrl(); - if (!IsSingleWorkingLossCurveCtrlVisible) + var ctrl = GetLossCurveInteropCtrl(); + if (!IsLossCurveInteropCtrlVisible) { this.controlContainerBottom.Controls.Clear(); - this.controlContainerBottom.Controls.Add(singleWorkingLossCurveCtrl); + this.controlContainerBottom.Controls.Add(ctrl); this.docPnlBottom.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; this.docPnlBottom.Text = "鎹熷け鏇茬嚎"; this.docPnlBottom.Height = 350; } - singleWorkingLossCurveCtrl.SetBindingData(hydroInfo, calcuResult, visual); + ctrl.SetBindingData(hydroInfo, working, node, calcuResult, isHead, allEvaluationList); } //鎹熷け鏇茬嚎 - private void barBtnWorkingLossCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + private async void barBtnLossCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - if (_visual == null) + var node = GetSelectNode(); + if (node == null) { - SelectInputSource(); - if (_visual == null) - { - TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒"); - return; - } - } - HydroVisualInfo visual = _visual; - if (_visual is HydroLinkInfo linkInfo) - { - var visualListHelper = GetVisualListHelper(); - visual = visualListHelper.GetVisual(linkInfo.StartCode); + return; } - var workingCheckedListHelper = GetWorkingCheckedListHelper(); - var allCheckedWorkingList = workingCheckedListHelper.GetCheckedWorkingList(); - if (allCheckedWorkingList == null || allCheckedWorkingList.Count < 1) + var isHead = _calcuPressModeIsHead; + var allEvaluationList = await GetEvaluationList(); + + var workingList = GetCheckedWorkingList(); + if (workingList == null || workingList.Count < 1) { var workingHelper = GetWorkingHelper(); if (!workingHelper.Initialized) @@ -2971,18 +3381,13 @@ TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�"); return; } - ShowSingleWorkingLossCurveCtrl(workingHelper.HydroInfo, workingHelper.CalcuResult, visual); + ShowLossCurveInteropCtrl(workingHelper.HydroInfo, workingHelper.Working, node, workingHelper.CalcuResult, isHead, allEvaluationList); + return; } - else - { - var dlg = new HydroMultiWorkingLossCurveDlg(); - dlg.HydroClickEvent += (code) => - { - SelectVisual(code, eSimulationVisualSource.None); - }; - dlg.SetBindingData(_hydroInfo, allCheckedWorkingList, visual); - dlg.ShowDialog(); - } + + var dlg = new HydroLossCurveMultiWorkingDlg(); + dlg.SetBindingData(_hydroInfo, workingList, node, _calcuPressModeIsHead, allEvaluationList); + dlg.ShowDialog(); } #endregion 鎹熷け鏇茬嚎 -- Gitblit v1.9.3