From 146ca8c7eefe74d3b73c00a73e99e94e903be401 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期四, 06 二月 2025 15:04:21 +0800 Subject: [PATCH] 增加工况管理功能和计算结果自由压力与绝对压力切换 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 102 insertions(+), 11 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 5cdb59b..eadd199 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,5 +1,6 @@ 锘縰sing DevExpress.Diagram.Core.Native; using DevExpress.Mvvm.Native; +using DevExpress.Pdf.Native; using Mapster; using Yw.EPAnet; using Yw.Hydro; @@ -19,25 +20,50 @@ RegistBulkSetEvents(); } - /// <summary> - /// 鏂板宸ュ喌浜嬩欢 - /// </summary> - public event Action<HydroWorkingVmo> AppendWorkingEvent; + + + #region 妯″瀷浜嬩欢 /// <summary> /// 鍒锋柊妯″瀷浜嬩欢 /// </summary> public event Func<Task<Yw.Model.HydroModelInfo>> RefreshModelEvent; + #endregion + + #region 鏂规浜嬩欢 + /// <summary> /// 鏇存柊鏂规浜嬩欢 /// </summary> public event Action<XhsSchemeVmo> UpdateSchemeEvent; - /// <summary> /// 绉婚櫎鏂规浜嬩欢 /// </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;//椤圭洰绔� @@ -674,7 +700,7 @@ return helper.GetSourceList(); } - #endregion 鍙鍒楄〃 + #endregion #region 瑙嗗浘鍒楄〃 @@ -711,7 +737,7 @@ return helper.GetVisual(code); } - #endregion 瑙嗗浘鍒楄〃 + #endregion #region 鏄庣粏鎺т欢 @@ -2468,6 +2494,25 @@ #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 姘村姏璁$畻 //璁$畻 @@ -2519,7 +2564,7 @@ WaitFormHelper.ShowWaitForm(this, "姝e湪璁$畻鍒嗘瀽涓紝璇风◢鍊�..."); await Task.Delay(3000); - var calcuResult = _hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss); + var calcuResult = _hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss, _calcuPressModeIsHead); WaitFormHelper.HideWaitForm(); workingHelper.InitialData(hydroInfo, working, checkResult, calcuResult); if (calcuResult.Succeed) @@ -2699,11 +2744,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(); } //鑾峰彇宸ュ喌鍒楄〃 @@ -2741,7 +2792,44 @@ helper.Remove(working); } - #endregion 閫夋嫨宸ュ喌 + /// <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); + }; + dlg.DeleteDataEvent += (rhs) => + { + this.RemoveWorkingEvent?.Invoke(rhs); + }; + dlg.SetBindingData(dict); + dlg.ShowDialog(); + } + + #endregion #region 鐩戞祴鍒嗘瀽 @@ -3186,5 +3274,8 @@ #endregion 鏂规绠$悊 + + + } } \ No newline at end of file -- Gitblit v1.9.3