From 616652a5ae2deb9439ffd3cbb9d972c0a8990bc5 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期一, 09 十二月 2024 08:53:34 +0800 Subject: [PATCH] 修复属性状态 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/08-working/XhsProjectSimulationWorkingPage.cs | 617 +++++++++++++++++++++++++++---------------------------- 1 files changed, 306 insertions(+), 311 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/08-working/XhsProjectSimulationWorkingPage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/08-working/XhsProjectSimulationWorkingPage.cs index 9c9ac6a..2d954f4 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/08-working/XhsProjectSimulationWorkingPage.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/08-working/XhsProjectSimulationWorkingPage.cs @@ -7,7 +7,9 @@ using Yw.Model; using Yw.Vmo; using Yw.WinFrmUI.Q3d; - +using Yw.EPAnet; +using Mapster; +using Microsoft.CodeAnalysis.CSharp.Syntax; namespace HStation.WinFrmUI { public partial class XhsProjectSimulationWorkingPage : DocumentPage @@ -15,12 +17,24 @@ public XhsProjectSimulationWorkingPage() { InitializeComponent(); - this.PageTitle.Caption = "姘村姏宸ュ喌"; + this.PageTitle.Caption = "姘村姏妯℃嫙宸ュ喌"; this.docPnlBottom.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; + } + + + /// <summary> + /// 鏇存柊宸ュ喌浜嬩欢 + /// </summary> + public event Action<HydroWorkingVmo> UpdateWorkingEvent; + /// <summary> + /// 绉婚櫎宸ュ喌浜嬩欢 + /// </summary> + public event Action<HydroWorkingVmo> RemoveWorkingEvent; private HStation.Vmo.XhsProjectVmo _project = null;//椤圭洰 private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//椤圭洰绔� + private XhsSchemeVmo _scheme = null;//鏂规 private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅 private HydroWorkingVmo _working = null;//宸ュ喌 @@ -37,9 +51,31 @@ { _project = project; _projectSite = projectSite; - _hydroInfo = hydroInfo; + _hydroInfo = hydroInfo.Adapt<Yw.Model.HydroModelInfo>(); _working = working; + _hydroInfo.UpdateWorkingInfo(_working.WorkingInfo); this.PageTitle.Caption = $"姘村姏妯℃嫙\r\n{_working.Name}"; + } + + /// <summary> + /// 缁戝畾鏁版嵁 + /// </summary> + public void SetBindingData + ( + XhsProjectVmo project, + XhsProjectSiteVmo projectSite, + XhsSchemeVmo scheme, + Yw.Model.HydroModelInfo hydroInfo, + HydroWorkingVmo working + ) + { + _project = project; + _projectSite = projectSite; + _scheme = scheme; + _hydroInfo = hydroInfo.Adapt<Yw.Model.HydroModelInfo>(); + _working = working; + _hydroInfo.UpdateWorkingInfo(_working.WorkingInfo); + this.PageTitle.Caption = $"{scheme.Name}\r\n{_working.Name}"; } /// <summary> @@ -56,10 +92,10 @@ #region BIM鎺т欢 //bimface鎺т欢 - private XhsProjectSimulationBimfaceCtrl _bimfaceCtrl = null; + private SimulationBimfaceCtrl _bimfaceCtrl = null; //鑾峰彇 bimface 鎺т欢 - private async Task<XhsProjectSimulationBimfaceCtrl> GetBimfaceCtrl() + private async Task<SimulationBimfaceCtrl> GetBimfaceCtrl() { if (_hydroInfo == null) { @@ -67,15 +103,21 @@ } if (_bimfaceCtrl == null) { - _bimfaceCtrl = new XhsProjectSimulationBimfaceCtrl(); + _bimfaceCtrl = new SimulationBimfaceCtrl(); _bimfaceCtrl.Dock = DockStyle.Fill; await _bimfaceCtrl.InitialData(_project, _projectSite); - _bimfaceCtrl.LoadCompletedEvent += () => + _bimfaceCtrl.LoadCompletedEvent += async () => {//view鍔犺浇瀹屾垚浜嬩欢 if (_hydroInfo == null) { return; } + await InitialWorking(); + this.barCkDecorator.Checked = false; + this.barCkMonitor.Checked = true; + this.barCkGrading.Checked = true; + this.barCkCalcu.Checked = true; + }; _bimfaceCtrl.HydroMouseLeftClickEvent += (code) => {//榧犳爣宸﹂敭鐐瑰嚮浜嬩欢 @@ -137,10 +179,10 @@ #region 灞炴�ф帶浠� //灞炴�ф帶浠� - private XhsProjectSimulationPropertyCtrl _propertyCtrl = null; + private SimulationPropertyCtrl _propertyCtrl = null; //鑾峰彇灞炴�ф帶浠� - private XhsProjectSimulationPropertyCtrl GetPropertyCtrl() + private SimulationPropertyCtrl GetPropertyCtrl() { if (_hydroInfo == null) { @@ -148,8 +190,9 @@ } if (_propertyCtrl == null) { - _propertyCtrl = new XhsProjectSimulationPropertyCtrl(); + _propertyCtrl = new SimulationPropertyCtrl(); _propertyCtrl.Dock = DockStyle.Fill; + _propertyCtrl.AllowEdit = false; _propertyCtrl.HydroViewEvent += (visual) => { SelectVisual(visual, eVisualSource.Property); @@ -191,38 +234,6 @@ await Task.Delay(5000); await _bimfaceCtrl?.ClearBlinkComponents(); }; - _propertyCtrl.PropertyValueChangedEvent += async (visual) => - { - if (visual == null) - { - return; - } - UpdateVisualListCtrl(); - var gradingHelper = await GetGradingHelper(); - gradingHelper.Set(); - }; - _propertyCtrl.MarkPropertyValueChangedEvent += async (visual) => - { - //鏍囨敞灞炴�у彂鐢熸敼鍙� - //鍒ゆ柇褰撳墠鏄惁鏈夋爣娉ㄥ睍绀猴紝鑻ユ湁鍒欐洿鏂版爣娉紝鏈�濂芥槸鏇存柊鍗曚釜鏍囨敞 - var markHelper = await GetMarkHelper(); - markHelper.Set(visual); - }; - _propertyCtrl.GradingPropertyValueChangedEvent += async (visual) => - { - //鍒嗙骇灞炴�у彂鐢熸敼鍙� - //鍒ゆ柇褰撳墠鏄惁鏈夊垎绾у睍绀猴紝鑻ユ湁鍒欐洿鏂板垎绾э紝鏈�濂芥槸鏇存柊鍗曚釜鍒嗙骇 - var gradingHelper = await GetGradingHelper(); - gradingHelper.Set(visual); - }; - _propertyCtrl.FlowEffectPropertyValueChangedEvent += async (visual) => - { - //娴佸悜灞炴�у彂鐢熸敼鍙� - //鍒ゆ柇娴佸悜鏄惁鍔犺浇锛屽鏋滃姞杞藉垯鏇存柊娴佸悜锛屾渶濂芥槸鏇存柊鍗曚釜娴佸悜 - var flowEffectHelper = await GetFlowEffectHelper(); - flowEffectHelper.Set(visual); - }; - } return _propertyCtrl; } @@ -236,7 +247,7 @@ { if (this.controlContainerRight.Controls.Count > 0) { - if (this.controlContainerRight.Controls[0] is XhsProjectSimulationPropertyCtrl) + if (this.controlContainerRight.Controls[0] is SimulationPropertyCtrl) { return true; } @@ -276,14 +287,6 @@ _propertyCtrl?.UpdateRows(); } - //娓呯悊灞炴�ф帶浠� - private void ClearPropertyCtrl() - { - if (_propertyCtrl != null) - { - _propertyCtrl.SelectedObject = null; - } - } #endregion @@ -316,68 +319,58 @@ case eVisualSource.None: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; case eVisualSource.Bimface: { - this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; case eVisualSource.Q3d: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; case eVisualSource.Property: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnSetMonitor.Enabled = visual != null; } break; case eVisualSource.List: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; case eVisualSource.Search: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; case eVisualSource.Monitor: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; case eVisualSource.Check: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; case eVisualSource.Calcu: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; case eVisualSource.Warning: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); - this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; @@ -405,6 +398,23 @@ return _visualListHelper; } + //鑾峰彇鍙鏋勪欢 + private Yw.Model.HydroVisualInfo GetVisual(string code) + { + if (string.IsNullOrEmpty(code)) + { + return default; + } + var visualListHelper = GetVisualListHelper(); + return visualListHelper.GetVisual(code); + } + + //鑾峰彇鍙鏋勪欢 + private Yw.Model.HydroVisualInfo GetVisual(HydroVisualViewModel visualViewModel) + { + return GetVisual(visualViewModel?.Code); + } + #endregion #region 瑙嗗浘鍒楄〃 @@ -428,6 +438,23 @@ return _visualVmListHelper; } + //鑾峰彇鍙瑙嗗浘 + private HydroVisualViewModel GetVisualViewModel(string code) + { + if (string.IsNullOrEmpty(code)) + { + return default; + } + var visualVmListHelper = GetVisualVmListHelper(); + return visualVmListHelper.GetVisual(code); + } + + //鑾峰彇鍙瑙嗗浘 + private HydroVisualViewModel GetVisualViewModel(Yw.Model.HydroVisualInfo visual) + { + return GetVisualViewModel(visual?.Code); + } + #endregion #region 鏄庣粏鎺т欢 @@ -445,10 +472,6 @@ _visualListCtrl.HydroClickInfoEvent += (visual) => { SelectVisual(visual, eVisualSource.List); - }; - _visualListCtrl.HydroChangedInfoEvent += (visualList) => - { - SelectVisual(_visual, eVisualSource.List); }; } return _visualListCtrl; @@ -492,15 +515,7 @@ var visualVmListHelper = GetVisualVmListHelper(); var allVisualVmList = visualVmListHelper.GetVisualList(); visualListCtrl.SetBindingData(allVisualVmList); - var calcuResult = GetCalcuResult(); - if (calcuResult != null && calcuResult.Succeed) - { - visualListCtrl.SetCalcuView(); - } - else - { - visualListCtrl.SetNormalView(); - } + visualListCtrl.SetResultView(); } //鏇存柊鏋勪欢鏄庣粏鎺т欢 @@ -757,36 +772,6 @@ return _gradingHelper; } - //璁剧疆棰滆壊鍒嗙骇鍒楄〃 - private async void SetGradingList() - { - if (_hydroInfo == null) - { - return; - } - var gradingHelper = await GetGradingHelper(); - var allGradingList = await gradingHelper.GetGradingList(); - var dlg = new SetHydroGradingTreeDlg(); - dlg.SetBindingData(_hydroInfo, allGradingList); - dlg.ReloadDataEvent += (list) => - { - gradingHelper.SetGradingList(list); - gradingHelper.Set(); - }; - dlg.ApplyDataEvent += (catalog, propName) => - { - gradingHelper.UpdateApply(catalog, propName); - gradingHelper.Set(); - }; - dlg.ShowDialog(); - } - - //閰嶇疆棰滆壊鍒嗙骇 - private void barBtnSetGradingList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - SetGradingList(); - } - //搴旂敤棰滆壊鍒嗙骇鍒楄〃 private async void ApplyGradingList() { @@ -911,42 +896,6 @@ return _monitorHelper; } - //璁剧疆鐩戞祴鐐瑰垪琛� - private async void SetMonitorList(HydroVisualInfo visual) - { - if (_hydroInfo == null) - { - return; - } - var monitorHelper = GetMonitorHelper(); - var allMonitorList = await monitorHelper.Get(); - var dlg = new SetHydroMonitorListDlg(); - dlg.SetBindingData(_hydroInfo, visual, allMonitorList); - dlg.ReloadDataEvent += async (list) => - { - var bol = await BLLFactory<Yw.BLL.HydroMonitor>.Instance.Save(_hydroInfo.ID, visual.Code, list); - if (!bol) - { - TipFormHelper.ShowError("璁剧疆澶辫触锛�"); - return; - } - TipFormHelper.ShowSucceed("璁剧疆鎴愬姛锛�"); - var monitorList = await monitorHelper.Update(visual.Code); - var monitorValueHelper = GetMonitorValueHelper(); - monitorValueHelper.Update(visual.Code, monitorList); - var monitorMarkerHelper = await GetMonitorMarkerHelper(); - monitorMarkerHelper.Update(visual.Code, monitorList); - monitorMarkerHelper.Set(); - }; - dlg.ShowDialog(); - } - - //璁剧疆鐩戞祴鐐� - private void barBtnSetMonitor_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - SetMonitorList(_visual); - } - #endregion #region 鐩戞祴鍊� @@ -980,6 +929,7 @@ { _monitorValueListCtrl = new HydroMonitorValueListCtrl(); _monitorValueListCtrl.Dock = DockStyle.Fill; + _monitorValueListCtrl.SetViewBoard(); _monitorValueListCtrl.HydroViewEvent += (code) => { var visualListHelper = GetVisualListHelper(); @@ -1026,8 +976,8 @@ monitorValueListCtrl.SetBindingData(allMonitorValueList); } - //璁剧疆鐩戞祴鍊� - private void barBtnSetMonitorValue_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + //鏄剧ず鐩戞祴鍊� + private void barBtnShowMonitorValue_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { ShowMonitorValueListCtrl(); } @@ -1134,17 +1084,6 @@ ShowCheckCtrl(checkResult); } - //妫�鏌� - private void barBtnCheck_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - if (_hydroInfo == null) - { - return; - } - var checkResult = _hydroInfo.Check(); - ShowCheckCtrl(checkResult); - } - #endregion #region 妯″瀷璁$畻 @@ -1161,8 +1100,6 @@ { var workingHelper = GetWorkingHelper(); _calcuResultHelper = new SimulationCalcuResultHelper(workingHelper); - var calcuResult = GetCalcuResult(); - _calcuResultHelper.InitialData(); } return _calcuResultHelper; } @@ -1315,10 +1252,9 @@ { if (_calcuResultLabelHelper == null) { - var visualListHelper = GetVisualListHelper(); var calcuResultHelper = GetCalcuResultHelper(); var bimfaceCtrl = await GetBimfaceCtrl(); - _calcuResultLabelHelper = new SimulationCalcuResultLabelHelper(visualListHelper, calcuResultHelper, bimfaceCtrl); + _calcuResultLabelHelper = new SimulationCalcuResultLabelHelper(calcuResultHelper, bimfaceCtrl); } return _calcuResultLabelHelper; } @@ -1423,7 +1359,7 @@ #endregion - #region 骞惰仈璁$畻 + #region 骞惰仈妯℃嫙 //骞惰仈鍒嗘瀽 private void ParallelAnalysis() @@ -1474,26 +1410,26 @@ } - var dlg = new PumpParallelAnalyDlg(); - dlg.SetBindingData(vmList); - dlg.ReloadDataEvent += (list) => - { - list?.ForEach(x => - { - var pump = pumps.Find(t => t.Code == x.Code); - if (pump != null) - { - pump.LinkStatus = x.RunStatus ? Yw.Hydro.PumpStatus.Open : Yw.Hydro.PumpStatus.Closed; - pump.SpeedRatio = x.CurrentHz / pump.RatedHz; - } - }); - var codes = list?.Select(x => x.Code).ToList(); - //UpdateVisualViewModelProperty(codes); - //ShowSelectedProperty(); - UpdateVisualListCtrl(); - return true; - }; - dlg.ShowDialog(); + //var dlg = new PumpParallelAnalyDlg(); + //dlg.SetBindingData(vmList); + //dlg.ReloadDataEvent += (list) => + //{ + // list?.ForEach(x => + // { + // var pump = pumps.Find(t => t.Code == x.Code); + // if (pump != null) + // { + // pump.LinkStatus = x.RunStatus ? Yw.Hydro.PumpStatus.Open : Yw.Hydro.PumpStatus.Closed; + // pump.SpeedRatio = x.CurrentHz / pump.RatedHz; + // } + // }); + // var codes = list?.Select(x => x.Code).ToList(); + // //UpdateVisualViewModelProperty(codes); + // //ShowSelectedProperty(); + // UpdateVisualListCtrl(); + // return true; + //}; + //dlg.ShowDialog(); } //骞惰仈鍒嗘瀽 @@ -1540,95 +1476,73 @@ return workingHelper.CalcuResult; } - //鏂板宸ュ喌 - private void AddWorking() + //鍒濆鍖栧伐鍐� + private async Task InitialWorking() { - var workingHelper = GetWorkingHelper(); - if (workingHelper.Working == null) + if (_hydroInfo == null) { - TipFormHelper.ShowWarn("灏氭湭璁$畻锛岃璁$畻鍚庨噸璇曪紒"); return; } - var dlg = new AddHydroWorkingDlg(); - dlg.SetBindingData(workingHelper.Working); - dlg.ReloadDataEvent += (rhs) => + if (_working == null) { - workingHelper.ResetWorking(rhs); - }; - dlg.ShowDialog(); - } + return; + } + _hydroInfo.UpdateWorkingInfo(_working.WorkingInfo); + var monitorValueHelper = GetMonitorValueHelper(); + var allMonitorValueList = await monitorValueHelper.Get(); + allMonitorValueList.UpdateMonitorValue(_working.MonitorInfo); - //澧炲姞宸ュ喌 - private void barBtnAddWorking_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - AddWorking(); + var workingHelper = GetWorkingHelper(); + //鏍¢獙 + var checkResult = _hydroInfo.Check(); + if (!checkResult.Succeed) + { + workingHelper.InitialData(_hydroInfo, _working, checkResult, null); + ShowCheckCtrl(checkResult); + TipFormHelper.ShowError("鏍¢獙澶辫触锛�"); + return; + } + //璁$畻 + var calcuResult = _hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss); + workingHelper.InitialData(_hydroInfo, _working, checkResult, calcuResult); + if (calcuResult.Succeed) + { + if (calcuResult.WainingList != null && calcuResult.WainingList.Count > 0) + { + ShowCalcuWarningCtrl(calcuResult); + } + } + else + { + ShowCalcuFailedCtrl(calcuResult); + TipFormHelper.ShowError("璁$畻澶辫触锛�"); + } + } #endregion #region 宸ュ喌鍒嗘瀽 - #region 宸ュ喌璇勪及 - - //璇勪及 - private async void Evaluate() + //绮惧害璇勪及 + private async void barBtnWorkingEvaluation_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - if (_hydroInfo == null) - { - return; - } - var working = GetWorking(); - if (working == null) - { - TipFormHelper.ShowWarn("灏氭湭璁$畻锛岃璁$畻鍚庨噸璇曪紒"); - return; - } - var checkResult = GetCheckResult(); - if (checkResult == null) - { - return; - } - if (!checkResult.Succeed) - { - ShowCheckCtrl(checkResult); - TipFormHelper.ShowWarn("妫�鏌ュけ璐ワ紝鍋滄璇勪及锛�"); - return; - } - var calcuResult = GetCalcuResult(); - if (!calcuResult.Succeed) - { - ShowCalcuFailedCtrl(calcuResult); - TipFormHelper.ShowWarn("璁$畻澶辫触锛屽仠姝㈣瘎浼帮紒"); - return; - } - if (calcuResult.WainingList != null && calcuResult.WainingList.Count > 0) - { - ShowCalcuWarningCtrl(calcuResult); - TipFormHelper.ShowWarn("璇峰叧娉ㄨ鍛婁俊鎭紒"); - } - var visualListHelper = GetVisualListHelper(); - var allVisualDict = visualListHelper.GetVisualDict(); var monitorHelper = GetMonitorHelper(); var allMonitorList = await monitorHelper.Get(); - var allWorkingMonitorList = JsonHelper.Json2Object<List<HydroWorkingMonitorViewModel>>(working.MonitorInfo); - var allCalcuResultDict = calcuResult.GetVisualDict(); - var dlg = new HydroWorkingEvaluationDlg(); - dlg.SetBindingData(allVisualDict, allMonitorList, allWorkingMonitorList, allCalcuResultDict); + + var workingHelper = GetWorkingHelper(); + if (!workingHelper.Initialized) + { + TipFormHelper.ShowWarn("宸ュ喌璁$畻澶辫触锛�"); + return; + } + var dlg = new HydroSingleWorkingEvaluationDlg(); + dlg.SetBindingData(workingHelper.HydroInfo, allMonitorList, workingHelper.Working, workingHelper.CalcuResult); dlg.ShowDialog(); } - //绮惧害璇勪及 - private void barBtnWorkingEvaluation_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - Evaluate(); - } - - #endregion - - #region 宸ュ喌骞惰仈 - - //骞惰仈鍒嗘瀽 - private void barBtnAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + //姘存车鍒嗘瀽 + private void barBtnPumpAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (_hydroInfo == null) { @@ -1699,86 +1613,167 @@ } - var dlg = new PumpParallelAnalyDlg(); - dlg.SetBindingData(vmList); - dlg.ReloadDataEvent += (list) => + //var dlg = new PumpParallelAnalyDlg(); + //dlg.SetBindingData(vmList); + //dlg.ReloadDataEvent += (list) => + //{ + // list?.ForEach(x => + // { + // var pump = _hydroInfo.Pumps?.Find(t => t.Code == x.Code); + // if (pump != null) + // { + // pump.LinkStatus = x.RunStatus ? Yw.Hydro.PumpStatus.Open : Yw.Hydro.PumpStatus.Closed; + // pump.SpeedRatio = Math.Round(x.CurrentHz / pump.RatedHz, 1); + // } + // }); + // //ShowSelectedProperty(); + // return true; + //}; + //dlg.ShowDialog(); + } + + //鑳芥晥鍒嗘瀽 + private void barBtnWorkingPower_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var workingHelper = GetWorkingHelper(); + if (!workingHelper.Initialized) { - list?.ForEach(x => - { - var pump = _hydroInfo.Pumps?.Find(t => t.Code == x.Code); - if (pump != null) - { - pump.LinkStatus = x.RunStatus ? Yw.Hydro.PumpStatus.Open : Yw.Hydro.PumpStatus.Closed; - pump.SpeedRatio = Math.Round(x.CurrentHz / pump.RatedHz, 1); - } - }); - //ShowSelectedProperty(); - return true; + TipFormHelper.ShowWarn("宸ュ喌璁$畻澶辫触锛�"); + return; + } + var dlg = new SimulationSingleWorkingEnergyDlg(); + dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult); + dlg.ShowDialog(); + } + + //鎹熷け鏇茬嚎 + private void barBtnWorkingLossCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var workingHelper = GetWorkingHelper(); + if (!workingHelper.Initialized) + { + TipFormHelper.ShowError("宸ュ喌璁$畻澶辫触锛�"); + return; + } + if (_visual == null) + { + TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢锛�"); + return; + } + HydroVisualInfo visual = _visual; + if (_visual is HydroLinkInfo linkInfo) + { + var visualListHelper = GetVisualListHelper(); + visual = visualListHelper.GetVisual(linkInfo.StartCode); + } + + var dlg = new HydroSingleWorkingLossCurveDlg(); + dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult, visual); + dlg.ShowDialog(); + } + + //鎹熷け缁熻 + private void barBtnWorkingLossStatistics_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var workingHelper = GetWorkingHelper(); + if (!workingHelper.Initialized) + { + TipFormHelper.ShowError("宸ュ喌璁$畻澶辫触锛�"); + return; + } + var dlg = new HydroSingleWorkingLossStatisticsDlg(); + dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult); + dlg.ShowDialog(); + } + + //缁煎悎鍒嗘瀽 + private async void barBtnWorkingAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (_visual == null) + { + TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒"); + return; + } + HydroVisualInfo visual = _visual; + if (_visual is HydroLinkInfo linkInfo) + { + var visualListHelper = GetVisualListHelper(); + visual = visualListHelper.GetVisual(linkInfo.StartCode); + } + + var monitorHelper = GetMonitorHelper(); + var allMonitorList = await monitorHelper.Get(); + + var workingHelper = GetWorkingHelper(); + if (!workingHelper.Initialized) + { + TipFormHelper.ShowWarn("宸ュ喌璁$畻澶辫触锛�"); + return; + } + var dlg = new SimulationSingleWorkingAnalyDlg(); + dlg.SetBindingData(workingHelper.HydroInfo, allMonitorList, workingHelper.Working, workingHelper.CalcuResult, visual); + dlg.ShowDialog(); + } + + #endregion + + #region 鏇存柊宸ュ喌 + + //缂栬緫 + private void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (_hydroInfo == null) + { + return; + } + if (_working == null) + { + return; + } + var dlg = new EditHydroWorkingDlg(); + dlg.SetBindingData(_working); + dlg.ReloadDataEvent += (rhs) => + { + _working = rhs; + this.PageTitle.Caption = $"姘村姏妯℃嫙\r\n{_working.Name}"; + UpdatePageTitle(this.PageGuid, this.PageTitle); + this.UpdateWorkingEvent?.Invoke(_working); }; dlg.ShowDialog(); } #endregion - #region 宸ュ喌鑳芥晥 + #region 鍒犻櫎宸ュ喌 - private void barBtnWorkingPower_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + //鍒犻櫎 + private async void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - XtraMessageBox.Show("姝e湪寮�鍙戜腑锛屾暚璇锋湡寰咃紒"); - } - - #endregion - - #region 鎹熷け鏇茬嚎 - - private void barBtnWorkingLossCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - if (_visual == null) + if (_hydroInfo == null) { - XtraMessageBox.Show("璇烽�夋嫨鑺傜偣鍚庨噸璇曪紒"); return; } - if (!(_visual is Yw.Model.HydroNodeInfo)) + if (_working == null) { - XtraMessageBox.Show("璇烽�夋嫨鑺傜偣鍚庨噸璇曪紒"); return; } - var network = _hydroInfo.ToNetwork(); - var calcuResult = network.Calcu(Yw.EPAnet.CalcuMode.MinorLoss); - var allNodeList = network.GetAllNodes(); - var node = allNodeList.Find(x => x.Id == _visual.Code); - var allPathList = network.AnalyzeDownstreamPath(node, calcuResult); - var allEpaLossList = network.GetChartNodeByPathLinks(allPathList, calcuResult); - var allLossList = allEpaLossList?.Select(x => new HydroNodeLossViewModel(x)).ToList(); - var dlg = new HydroSingleLossCurveDlg(); - dlg.SetBindingData(allLossList); - dlg.ShowDialog(); + var bol = XtraMessageBox.Show("璇烽棶鏄惁鍒犻櫎褰撳墠宸ュ喌锛�", "璇㈤棶", MessageBoxButtons.YesNo) == DialogResult.Yes; + if (!bol) + { + return; + } + bol = await BLLFactory<Yw.BLL.HydroWorking>.Instance.DeleteByID(_working.ID); + if (!bol) + { + TipFormHelper.ShowError("鍒犻櫎澶辫触锛�"); + return; + } + this.RemoveWorkingEvent?.Invoke(_working); + TipFormHelper.ShowSucceed("鍒犻櫎鎴愬姛锛�"); + ClosePage(this.PageGuid); } #endregion - - #region 鎹熷け姣斾緥 - - private void barBtnWorkingLossScale_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - XtraMessageBox.Show("姝e湪寮�鍙戜腑锛屾暚璇锋湡寰咃紒"); - } - - #endregion - - #region 缁煎悎鍒嗘瀽 - private void barBtnWorkingAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - XtraMessageBox.Show("姝e湪寮�鍙戜腑锛屾暚璇锋湡寰咃紒"); - } - - #endregion - - #endregion - - - - } -- Gitblit v1.9.3