| | |
| | | using DevExpress.Diagram.Core.Native; |
| | | using DevExpress.Mvvm.Native; |
| | | using DevExpress.Pdf.Native; |
| | | using Mapster; |
| | | using Yw.EPAnet; |
| | | using Yw.Hydro; |
| | |
| | | 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;//项目站 |
| | |
| | | return helper.GetSourceList(); |
| | | } |
| | | |
| | | #endregion 可见列表 |
| | | #endregion |
| | | |
| | | #region 视图列表 |
| | | |
| | |
| | | return helper.GetVisual(code); |
| | | } |
| | | |
| | | #endregion 视图列表 |
| | | #endregion |
| | | |
| | | #region 明细控件 |
| | | |
| | |
| | | |
| | | #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 水力计算 |
| | | |
| | | //计算 |
| | |
| | | |
| | | WaitFormHelper.ShowWaitForm(this, "正在计算分析中,请稍候..."); |
| | | 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) |
| | |
| | | { |
| | | 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(); |
| | | } |
| | | |
| | | //获取工况列表 |
| | |
| | | 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 监测分析 |
| | | |
| | |
| | | |
| | | #endregion 方案管理 |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | } |