From 141010164e91e9e5dbae910ca6519bed80188bfe Mon Sep 17 00:00:00 2001 From: Shuxia Ning <NingShuxia0927@outlook.com> Date: 星期四, 12 十二月 2024 17:19:46 +0800 Subject: [PATCH] 匹配 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs | 1554 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 901 insertions(+), 653 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 5812135..72ad3b7 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,11 +1,17 @@ 锘縰sing DevExpress.Diagram.Core.Native; using DevExpress.Mvvm.Native; +using DevExpress.Utils.MVVM; +using DevExpress.XtraMap; using HStation.WinFrmUI.PhartRelation; +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 { @@ -25,56 +31,80 @@ /// </summary> public event Action<HydroWorkingVmo> AppendWorkingEvent; + /// <summary> + /// 淇濆瓨妯″瀷浜嬩欢 + /// </summary> + public event Func<Yw.Model.HydroModelInfo, Task<Yw.Model.HydroModelInfo>> SaveModelEvent; + + /// <summary> + /// 鍒锋柊妯″瀷浜嬩欢 + /// </summary> + public event Func<Task<Yw.Model.HydroModelInfo>> RefreshModelEvent; + + /// <summary> + /// 鏇存柊鏂规浜嬩欢 + /// </summary> + public event Action<XhsSchemeVmo> UpdateSchemeEvent; + + /// <summary> + /// 绉婚櫎鏂规浜嬩欢 + /// </summary> + public event Action<XhsSchemeVmo> RemoveSchemeEvent; + private HStation.Vmo.XhsProjectVmo _project = null;//椤圭洰 private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//椤圭洰绔� + private HStation.Vmo.XhsSchemeVmo _scheme = null;//鏂规 private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅 - private List<HydroWorkingVmo> _allWorkingList = null;//鎵�鏈夊伐鍐靛垪琛� + private Dictionary<HydroWorkingVmo, bool> _allWorkingCheckedListDict = null;//鎵�鏈夊伐鍐甸�夋嫨鍒楄〃瀛楀吀 /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(XhsProjectVmo project, XhsProjectSiteVmo projectSite, List<HydroWorkingVmo> allWorkingList) + public void SetBindingData + ( + XhsProjectVmo project, + XhsProjectSiteVmo projectSite, + XhsSchemeVmo scheme, + Yw.Model.HydroModelInfo hydroInfo, + Dictionary<HydroWorkingVmo, bool> allWorkingCheckedListDict + ) { - if (project == null) - { - return; - } _project = project; _projectSite = projectSite; - _allWorkingList = allWorkingList; - this.PageTitle.Caption = $"{_project.Name}\r\n姘村姏妯℃嫙"; + _scheme = scheme; + _hydroInfo = hydroInfo; + _allWorkingCheckedListDict = allWorkingCheckedListDict; + ResetMonitorValue(); + if (_scheme == null) + { + this.ribPageGroupForScheme.Visible = false; + this.PageTitle.Caption = $"姘村姏妯℃嫙"; + } + else + { + this.ribPageGroupForScheme.Visible = true; + this.PageTitle.Caption = $"妯℃嫙鏂规\r\n{_scheme.Name}"; + } } /// <summary> /// 鍒濆鍖栨暟鎹� /// </summary> - public async override void InitialDataSource() + public override void InitialDataSource() { base.InitialDataSource(); - if (_project == null) - { - return; - } - var relation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance - .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation); - if (relation == null) - { - return; - } - _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(relation.ModelID); ShowBimfaceCtrl(); ShowQ3dCtrl(); ShowPropertyCtrl(); } - #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) { @@ -82,21 +112,21 @@ } if (_bimfaceCtrl == null) { - _bimfaceCtrl = new XhsProjectSimulationBimfaceCtrl(); + var overlay = this.ShowOverlay(); + _bimfaceCtrl = new SimulationBimfaceCtrl(); _bimfaceCtrl.Dock = DockStyle.Fill; await _bimfaceCtrl.InitialData(_project, _projectSite); _bimfaceCtrl.LoadCompletedEvent += () => {//view鍔犺浇瀹屾垚浜嬩欢 - if (_hydroInfo == null) - { - return; - } + overlay.Close(); + this.barCkDecorator.Checked = false; + this.barCkGrading.Checked = true; }; _bimfaceCtrl.HydroMouseLeftClickEvent += (code) => {//榧犳爣宸﹂敭鐐瑰嚮浜嬩欢 var visualListHelper = GetVisualListHelper(); var visual = visualListHelper.GetVisual(code); - SelectVisual(visual, eVisualSource.Bimface); + SelectVisual(visual, eSimulationVisualSource.Bimface); }; } return _bimfaceCtrl; @@ -110,7 +140,7 @@ this.tabPageBimface.Controls.Add(bimfaceCtrl); } - #endregion + #endregion BIM鎺т欢 #region Q3d鎺т欢 @@ -133,7 +163,7 @@ { var visualListHelper = GetVisualListHelper(); var visuals = visualListHelper.GetVisualList(codes); - SelectVisual(visuals?.LastOrDefault(), eVisualSource.Q3d); + SelectVisual(visuals?.LastOrDefault(), eSimulationVisualSource.Q3d); }; } return _q3dCtrl; @@ -147,15 +177,15 @@ this.tabPageQ3d.Controls.Add(q3dCtrl); } - #endregion + #endregion Q3d鎺т欢 #region 灞炴�ф帶浠� //灞炴�ф帶浠� - private XhsProjectSimulationPropertyCtrl _propertyCtrl = null; + private SimulationPropertyCtrl _propertyCtrl = null; //鑾峰彇灞炴�ф帶浠� - private XhsProjectSimulationPropertyCtrl GetPropertyCtrl() + private SimulationPropertyCtrl GetPropertyCtrl() { if (_hydroInfo == null) { @@ -163,11 +193,12 @@ } if (_propertyCtrl == null) { - _propertyCtrl = new XhsProjectSimulationPropertyCtrl(); + _propertyCtrl = new SimulationPropertyCtrl(); _propertyCtrl.Dock = DockStyle.Fill; + _propertyCtrl.AllowEdit = true; _propertyCtrl.HydroViewEvent += (visual) => { - SelectVisual(visual, eVisualSource.Property); + SelectVisual(visual, eSimulationVisualSource.Property); }; _propertyCtrl.BlinkLinkNodeEvent += async (link, linkNodeCode) => { //寮鸿皟杩炴帴鑺傜偣 @@ -237,7 +268,6 @@ var flowEffectHelper = await GetFlowEffectHelper(); flowEffectHelper.Set(visual); }; - } return _propertyCtrl; } @@ -251,7 +281,7 @@ { if (this.controlContainerRight.Controls.Count > 0) { - if (this.controlContainerRight.Controls[0] is XhsProjectSimulationPropertyCtrl) + if (this.controlContainerRight.Controls[0] is SimulationPropertyCtrl) { return true; } @@ -283,6 +313,7 @@ var visualVmListHelper = GetVisualVmListHelper(); var vm = visualVmListHelper.GetVisual(visual); _propertyCtrl.SelectedObject = vm; + _propertyCtrl.UpdateRows(); } //鏇存柊灞炴�ф帶浠� @@ -291,116 +322,117 @@ _propertyCtrl?.UpdateRows(); } - //娓呯悊灞炴�ф帶浠� - private void ClearPropertyCtrl() - { - if (_propertyCtrl != null) - { - _propertyCtrl.SelectedObject = null; - } - } - - #endregion + #endregion 灞炴�ф帶浠� #region 閫夋嫨鏋勪欢 - - //鍙鏉ユ簮 - protected enum eVisualSource - { - None, - Bimface, - Q3d, - Property, - List, - Search, - Monitor, - Check, - Calcu, - Warning, - } //閫夋嫨鏋勪欢 private Yw.Model.HydroVisualInfo _visual = null; //閫夋嫨鏋勪欢 - private void SelectVisual(HydroVisualInfo visual, eVisualSource source) + private void SelectVisual(HydroVisualInfo visual, eSimulationVisualSource source) { _visual = visual; switch (source) { - case eVisualSource.None: + case eSimulationVisualSource.None: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; - case eVisualSource.Bimface: + + case eSimulationVisualSource.Bimface: { this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; - case eVisualSource.Q3d: + + case eSimulationVisualSource.Q3d: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; - case eVisualSource.Property: + + case eSimulationVisualSource.Property: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; } break; - case eVisualSource.List: + + case eSimulationVisualSource.List: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; - case eVisualSource.Search: + + case eSimulationVisualSource.Set: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; - case eVisualSource.Monitor: + + case eSimulationVisualSource.Search: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; - case eVisualSource.Check: + + case eSimulationVisualSource.Monitor: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; - case eVisualSource.Calcu: + + case eSimulationVisualSource.Check: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; - case eVisualSource.Warning: + + case eSimulationVisualSource.Calcu: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; + + case eSimulationVisualSource.Warning: + { + _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); + this.barBtnSetMonitor.Enabled = visual != null; + SetPropertyCtrl(visual); + } + break; + default: break; } } - #endregion + //閫夋嫨鏋勪欢 + private void SelectVisual(string code, eSimulationVisualSource source) + { + var visual = GetVisual(code); + SelectVisual(visual, source); + } + + #endregion 閫夋嫨鏋勪欢 #region 鏋勪欢鏄庣粏 @@ -420,7 +452,36 @@ return _visualListHelper; } - #endregion + //閲嶇疆鍙鍒楄〃 + private void ResetVisualList() + { + var helper = GetVisualListHelper(); + helper.InitialData(_hydroInfo); + } + + //鑾峰彇鍙鏋勪欢 + private Yw.Model.HydroVisualInfo GetVisual(string code) + { + var helper = GetVisualListHelper(); + var visual = helper.GetVisual(code); + return visual; + } + + //鑾峰彇鍙鍒楄〃 + private List<Yw.Model.HydroVisualInfo> GetVisualList() + { + var helper = GetVisualListHelper(); + return helper.GetVisualList(); + } + + //鑾峰彇姘存簮鍒楄〃 + private List<Yw.Model.HydroSourceInfo> GetSourceList() + { + var helper = GetVisualListHelper(); + return helper.GetSourceList(); + } + + #endregion 鍙鍒楄〃 #region 瑙嗗浘鍒楄〃 @@ -443,7 +504,14 @@ return _visualVmListHelper; } - #endregion + //鑾峰彇鍙瑙嗗浘鍒楄〃 + private List<HydroVisualViewModel> GetVisualViewModelList() + { + var helper = GetVisualVmListHelper(); + return helper.GetVisualList(); + } + + #endregion 瑙嗗浘鍒楄〃 #region 鏄庣粏鎺т欢 @@ -459,11 +527,11 @@ _visualListCtrl.Dock = DockStyle.Fill; _visualListCtrl.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.List); + SelectVisual(visual, eSimulationVisualSource.List); }; _visualListCtrl.HydroChangedInfoEvent += (visualList) => { - SelectVisual(_visual, eVisualSource.List); + SelectVisual(_visual, eSimulationVisualSource.List); }; } return _visualListCtrl; @@ -526,6 +594,15 @@ return; } _visualListCtrl?.UpdateBindingData(); + var calcuResult = GetCalcuResult(); + if (calcuResult != null && calcuResult.Succeed) + { + _visualListCtrl.SetCalcuView(); + } + else + { + _visualListCtrl.SetNormalView(); + } } //鏋勪欢鏄庣粏 @@ -534,7 +611,7 @@ ShowVisualListCtrl(); } - #endregion + #endregion 鏄庣粏鎺т欢 #region 鏋勪欢鏄剧ず @@ -583,124 +660,9 @@ SetVisualVisible(); } - #endregion + #endregion 鏋勪欢鏄剧ず - #endregion - - #region 鑷姩鍖归厤 - - //鑾峰彇鍖归厤鍒楄〃鎺т欢 - private XhsProjectSimulationMatchingListCtrl GetMatchingListCtrl() - { - if (_matchingListCtrl == null) - { - _matchingListCtrl = new XhsProjectSimulationMatchingListCtrl(); - _matchingListCtrl.Dock = DockStyle.Fill; - _matchingListCtrl.HydroClickEvent += async (code) => - { - if (_hydroInfo == null) - { - return; - } - var allParterList = _hydroInfo.GetAllVisuals(); - _visual = allParterList?.Find(x => x.Code == code); - var elementIds = new List<string>(); - if (_visual != null) - { - elementIds.Add(_visual.Code); - } - await _bimfaceCtrl?.ZoomAndSelectComponents(elementIds); - //ShowSelectedProperty(); - }; - _matchingListCtrl.ApplyMatchingEvent += (output) => - { - if (_hydroInfo == null) - { - return false; - } - return AssetsMatchingParasHelper.Apply(_hydroInfo, output); - }; - } - return _matchingListCtrl; - } - - //鍖归厤鍒楄〃鎺т欢 - private XhsProjectSimulationMatchingListCtrl _matchingListCtrl = null; - - //鑷姩鍖归厤 - private void barBtnMatchingList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - if (_hydroInfo == null) - { - return; - } - this.controlContainerBottom.Controls.Clear(); - var matchingListCtrl = GetMatchingListCtrl(); - var input = AssetsMatchingParasHelper.Create(_hydroInfo, null); - matchingListCtrl.SetBindingData(input); - this.controlContainerBottom.Controls.Add(matchingListCtrl); - this.docPnlBottom.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; - this.docPnlBottom.Text = "鍖归厤鍒楄〃"; - this.docPnlBottom.Height = 350; - } - - #endregion - - #region 鏈尮鍒楄〃 - - //鑾峰彇鏈尮閰嶅垪琛ㄦ帶浠� - private XhsProjectSimulationUnMatchingListCtrl GetUnMatchingListCtrl() - { - if (_unMatchingListCtrl == null) - { - _unMatchingListCtrl = new XhsProjectSimulationUnMatchingListCtrl(); - _unMatchingListCtrl.Dock = DockStyle.Fill; - _unMatchingListCtrl.HydroClickEvent += async (parter) =>//琛岀偣鍑� - { - if (parter == null) - { - return; - } - if (_hydroInfo == null) - { - return; - } - var allParterList = _hydroInfo.GetAllVisuals(); - _visual = allParterList?.Find(x => x.Code == parter.Code); - var elementIds = new List<string>() { parter.Code }; - await _bimfaceCtrl?.ZoomAndSelectComponents(elementIds); - //ShowSelectedProperty(); - }; - _unMatchingListCtrl.ViewModelEvent += async (parters) =>//鏌ョ湅妯″瀷 - { - var codes = parters?.Select(x => x.Code).Distinct().ToList(); - await _bimfaceCtrl?.ZoomAndSelectComponents(codes); - _visual = null; - //ShowSelectedProperty(); - }; - } - return _unMatchingListCtrl; - } - - private XhsProjectSimulationUnMatchingListCtrl _unMatchingListCtrl = null;//鏈尮閰嶅垪琛� - - //鏈尮閰嶅垪琛� - private void barBtnUnMatchingList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) - { - if (_hydroInfo == null) - { - return; - } - this.controlContainerBottom.Controls.Clear(); - var unMatchingListCtrl = GetUnMatchingListCtrl(); - unMatchingListCtrl.SetBindingData(_hydroInfo); - this.controlContainerBottom.Controls.Add(unMatchingListCtrl); - this.docPnlBottom.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; - this.docPnlBottom.Text = "鏈尮閰嶅垪琛�"; - this.docPnlBottom.Height = 350; - } - - #endregion + #endregion 鏋勪欢鏄庣粏 #region 涓�閿樉闅� @@ -724,7 +686,9 @@ SetDecoratorVisible(this.barCkDecorator.Checked); } - #endregion + #endregion 涓�閿樉闅� + + #region 淇濆瓨淇℃伅 @@ -735,27 +699,29 @@ { return; } - Stopwatch sw = new Stopwatch(); - sw.Start(); - - - var id = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.Save(_hydroInfo); - - //鑰楁椂宸ㄥぇ鐨勪唬鐮� - - sw.Stop(); - TimeSpan ts2 = sw.Elapsed; - Console.WriteLine("Stopwatch鎬诲叡鑺辫垂{0}ms.", ts2.TotalMilliseconds); - if (id < 1) + if (this.SaveModelEvent == null) + { + return; + } + var hydroInfo = await this.SaveModelEvent.Invoke(_hydroInfo); + if (hydroInfo == null) { TipFormHelper.ShowError("淇濆瓨澶辫触锛�"); return; } - _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(id); + _hydroInfo = hydroInfo; + TipFormHelper.ShowSucceed("淇濆瓨鎴愬姛锛�"); + + //Stopwatch sw = new Stopwatch(); + //sw.Start(); + //鑰楁椂宸ㄥぇ鐨勪唬鐮� + //sw.Stop(); + //TimeSpan ts2 = sw.Elapsed; + //Console.WriteLine("Stopwatch鎬诲叡鑺辫垂{0}ms.", ts2.TotalMilliseconds); } - #endregion + #endregion 淇濆瓨淇℃伅 #region 鎵归噺閰嶇疆 @@ -765,186 +731,293 @@ //姘村簱 this.barBtnSetReservoirList.ItemClick += delegate { - //var dlg = new HydroReservoirBulkSetListDlg(); - //dlg.ShowDialog(); + var allVisualViewModelList = GetVisualViewModelList(); + var dlg = new SetHydroReservoirListDlg(); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; + dlg.ShowDialog(); }; //姘存睜 this.barBtnSetTankList.ItemClick += delegate { - //var dlg = new HydroTankBulkSetListDlg(); - //dlg.ShowDialog(); + var allVisualViewModelList = GetVisualViewModelList(); + var dlg = new SetHydroTankListDlg(); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; + dlg.ShowDialog(); }; //姘寸 this.barBtnSetWaterboxList.ItemClick += delegate { - //if (_hydroInfo == null) - //{ - // return; - //} - //var dlg = new SetHydroWaterboxListDlg(); - //dlg.SetBindingData(_hydroInfo); - //dlg.HydroClickEvent += async (obj) => - //{ - // if (obj == null) - // { - // return; - // } - // _selectedParter = obj; - // await _bimfaceCtrl?.ZoomAndSelectComponent(obj.Code); - // ShowProperty(); - //}; - //dlg.HydroChangedEvent += (obj) => - //{ - - //}; - //dlg.ShowDialog(); + var allVisualViewModelList = GetVisualViewModelList(); + var dlg = new SetHydroWaterboxListDlg(); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; + dlg.ShowDialog(); }; //杩炴帴鑺傜偣 this.barBtnSetJunctionList.ItemClick += delegate { - //var dlg = new HydroJunctionBulkSetListDlg(); - //dlg.ShowDialog(); + var allVisualViewModelList = GetVisualViewModelList(); + var dlg = new SetHydroJunctionListDlg(); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; + dlg.ShowDialog(); }; //闂峰ご this.barBtnSetBluntheadList.ItemClick += delegate { - //if (_hydroInfo == null) - //{ - // return; - //} - //var dlg = new SetHydroBluntheadListDlg(); - //dlg.SetBindingData(_hydroInfo); - //dlg.HydroClickEvent += async (obj) => - //{ - // if (obj == null) - // { - // return; - // } - // _selectedParter = obj; - // await _bimfaceCtrl?.ZoomAndSelectComponent(obj.Code); - // ShowProperty(); - //}; - //dlg.HydroChangedEvent += (obj) => - //{ - - //}; - //dlg.ShowDialog(); + var allVisualViewModelList = GetVisualViewModelList(); + var dlg = new SetHydroBluntheadListDlg(); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; + dlg.ShowDialog(); }; //寮ご this.barBtnSetElbowsList.ItemClick += delegate { - //if (_hydroInfo == null) - //{ - // return; - //} - //var dlg = new SetHydroElbowListDlg(); - //dlg.SetBindingData(_hydroInfo); - //dlg.HydroClickEvent += async (obj) => - //{ - // if (obj == null) - // { - // return; - // } - // _selectedParter = obj; - // await _bimfaceCtrl?.ZoomAndSelectComponent(obj.Code); - // ShowProperty(); - //}; - //dlg.HydroChangedEvent += (obj) => - //{ - - //}; - //dlg.ShowDialog(); + var allVisualVmList = GetVisualViewModelList(); + var dlg = new SetHydroElbowListDlg(); + dlg.SetBindingData(allVisualVmList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; + dlg.ShowDialog(); }; //涓夐�� this.barBtnSetThreelinkList.ItemClick += delegate { - if (_hydroInfo == null) - { - return; - } + var allVisualViewModelList = GetVisualViewModelList(); var dlg = new SetHydroThreelinkListDlg(); - dlg.SetBindingData(_hydroInfo); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; dlg.ShowDialog(); }; //鍥涢�� this.barBtnSetFourlinkList.ItemClick += delegate { - if (_hydroInfo == null) - { - return; - } + var allVisualViewModelList = GetVisualViewModelList(); var dlg = new SetHydroFourlinkListDlg(); - dlg.SetBindingData(_hydroInfo); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; dlg.ShowDialog(); }; //姘磋〃 this.barBtnSetMeterList.ItemClick += delegate { - if (_hydroInfo == null) - { - return; - } + var allVisualViewModelList = GetVisualViewModelList(); var dlg = new SetHydroMeterListDlg(); - dlg.SetBindingData(_hydroInfo); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; dlg.ShowDialog(); }; //娴侀噺璁� this.barBtnSetFlowmeterList.ItemClick += delegate { - if (_hydroInfo == null) - { - return; - } + var allVisualViewModelList = GetVisualViewModelList(); var dlg = new SetHydroFlowmeterListDlg(); - dlg.SetBindingData(_hydroInfo); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; dlg.ShowDialog(); }; //鍘嬪姏琛� this.barBtnSetPressmeterList.ItemClick += delegate { - if (_hydroInfo == null) - { - return; - } + var allVisualViewModelList = GetVisualViewModelList(); var dlg = new SetHydroPressmeterListDlg(); - dlg.SetBindingData(_hydroInfo); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; dlg.ShowDialog(); }; //绠¢亾 this.barBtnSetPipeList.ItemClick += delegate { - if (_hydroInfo == null) - { - return; - } + var allVisualViewModelList = GetVisualViewModelList(); var dlg = new SetHydroPipeListDlg(); - dlg.SetBindingData(_hydroInfo); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; + dlg.ShowDialog(); + }; + //杩囨浮浠� + this.barBtnSetTranslationList.ItemClick += delegate + { + var allVisualViewModelList = GetVisualViewModelList(); + var dlg = new SetHydroTranslationListDlg(); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; dlg.ShowDialog(); }; //姘存车 this.barBtnSetPumpList.ItemClick += delegate { - if (_hydroInfo == null) - { - return; - } + var allVisualViewModelList = GetVisualViewModelList(); var dlg = new SetHydroPumpListDlg(); - dlg.SetBindingData(_hydroInfo); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; dlg.ShowDialog(); }; //闃�闂� this.barBtnSetValveList.ItemClick += delegate { - if (_hydroInfo == null) - { - return; - } + var allVisualViewModelList = GetVisualViewModelList(); var dlg = new SetHydroValveListDlg(); - dlg.SetBindingData(_hydroInfo); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; + dlg.ShowDialog(); + }; + //鎹㈢儹鍣� + this.barBtnSetExchangerList.ItemClick += delegate + { + var allVisualViewModelList = GetVisualViewModelList(); + var dlg = new SetHydroExchangerListDlg(); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; + dlg.ShowDialog(); + }; + //鎹㈢儹鍣� + this.barBtnSetCompressorList.ItemClick += delegate + { + var allVisualViewModelList = GetVisualViewModelList(); + var dlg = new SetHydroCompressorListDlg(); + dlg.SetBindingData(allVisualViewModelList); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eSimulationVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); + UpdateVisualListCtrl(); + }; dlg.ShowDialog(); }; } - //鏄剧ずRadialMenu private void barBtnSetList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) @@ -1110,26 +1183,6 @@ this.barBtnSetTranslationList.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; } - //鎹㈢儹鍣� - if (_hydroInfo.Exchangers == null || _hydroInfo.Exchangers.Count < 1) - { - this.barBtnSetExchangerList.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; - } - else - { - this.barBtnSetExchangerList.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; - } - - //绌哄帇鏈� - if (_hydroInfo.Compressors == null || _hydroInfo.Compressors.Count < 1) - { - this.barBtnSetCompressorList.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; - } - else - { - this.barBtnSetCompressorList.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; - } - //姘存车 if (_hydroInfo.Pumps == null || _hydroInfo.Pumps.Count < 1) { @@ -1150,9 +1203,28 @@ this.barBtnSetValveList.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; } + //鎹㈢儹鍣� + if (_hydroInfo.Exchangers == null || _hydroInfo.Exchangers.Count < 1) + { + this.barBtnSetExchangerList.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; + } + else + { + this.barBtnSetExchangerList.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; + } + + //绌哄帇鏈� + if (_hydroInfo.Compressors == null || _hydroInfo.Compressors.Count < 1) + { + this.barBtnSetCompressorList.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; + } + else + { + this.barBtnSetCompressorList.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; + } } - #endregion + #endregion 鎵归噺閰嶇疆 #region 鏋勪欢鏌ヨ @@ -1171,12 +1243,12 @@ _searchCtrl.InitialData(allVisualVmList); _searchCtrl.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Check); + SelectVisual(visual, eSimulationVisualSource.Check); }; _searchCtrl.HydroSearchInfoEvent += (list) => { var visual = list?.FirstOrDefault(); - SelectVisual(visual, eVisualSource.Search); + SelectVisual(visual, eSimulationVisualSource.Search); }; } return _searchCtrl; @@ -1243,7 +1315,7 @@ ShowSearchDlg(); } - #endregion + #endregion 鏋勪欢鏌ヨ #region 妯″瀷鏍囨敞 @@ -1295,7 +1367,7 @@ markHelper.Set(); } - #endregion + #endregion 妯″瀷鏍囨敞 #region 棰滆壊鍒嗙骇 @@ -1377,42 +1449,34 @@ gradingHelper.Set(); } - #endregion + #endregion 棰滆壊鍒嗙骇 #region 浜哄伐鍒锋柊 //鍒锋柊 private async void barBtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { + if (this.RefreshModelEvent == null) + { + return; + } if (XtraMessageBox.Show("鍒锋柊鍚庡皢涓㈠け褰撳墠姘村姏淇℃伅鏇存敼锛屾槸鍚︾户缁埛鏂帮紵", "璇㈤棶", MessageBoxButtons.YesNo) == DialogResult.Yes) { - if (_project == null) + var hydroInfo = await this.RefreshModelEvent.Invoke(); + if (hydroInfo == null) { + TipFormHelper.ShowError("鍒锋柊澶辫触锛�"); return; } - if (_projectSite == null) - { - return; - } - var hydroRelation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance - .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation); - Stopwatch sw = new Stopwatch(); - sw.Start(); - _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID); - sw.Stop(); - TimeSpan ts2 = sw.Elapsed; - Console.WriteLine("Stopwatch鎬诲叡鑺辫垂{0}ms.", ts2.TotalMilliseconds); - _visual = null; - await _bimfaceCtrl?.ZoomAndSelectComponents(null); - //ShowSelectedProperty(); - TipFormHelper.ShowSucceed("鏁版嵁宸插埛鏂�"); + _hydroInfo = hydroInfo; + SelectVisual(visual: null, eSimulationVisualSource.None); - var visualListHelper = GetVisualListHelper(); - visualListHelper.InitialData(_hydroInfo); + ResetVisualList(); + TipFormHelper.ShowSucceed("鍒锋柊鎴愬姛锛�"); } } - #endregion + #endregion 浜哄伐鍒锋柊 #region 姘存祦鍔ㄧ敾 @@ -1445,7 +1509,7 @@ flowEffectHelper.Set(); } - #endregion + #endregion 姘存祦鍔ㄧ敾 #region 鐩戞祴鍒楄〃 @@ -1463,9 +1527,17 @@ } if (_monitorHelper == null) { - _monitorHelper = new SimulationMonitorHelper(_hydroInfo.ID); + var visualListHelper = GetVisualListHelper(); + _monitorHelper = new SimulationMonitorHelper(visualListHelper); } return _monitorHelper; + } + + //鑾峰彇鐩戞祴鐐瑰垪琛� + private async Task<List<HydroMonitorVmo>> GetMonitorList() + { + var helper = GetMonitorHelper(); + return await helper.Get(); } //璁剧疆鐩戞祴鐐瑰垪琛� @@ -1504,7 +1576,7 @@ SetMonitorList(_visual); } - #endregion + #endregion 鐩戞祴鐐� #region 鐩戞祴鍊� @@ -1523,7 +1595,19 @@ return _monitorValueHelper; } - #endregion + //閲嶇疆 + private void ResetMonitorValue() + { + var allWorkingList = GetWorkingList(); + var working = allWorkingList?.LastOrDefault(x => !string.IsNullOrEmpty(x.MonitorInfo)); + if (working != null) + { + var helper = GetMonitorValueHelper(); + helper.Reset(working.MonitorInfo); + } + } + + #endregion 鐩戞祴鍊� #region 鐩戞祴鍊兼帶浠� @@ -1541,7 +1625,7 @@ { var visualListHelper = GetVisualListHelper(); var visual = visualListHelper.GetVisual(code); - SelectVisual(visual, eVisualSource.Monitor); + SelectVisual(visual, eSimulationVisualSource.Monitor); }; } return _monitorValueListCtrl; @@ -1589,7 +1673,7 @@ ShowMonitorValueListCtrl(); } - #endregion + #endregion 鐩戞祴鍊兼帶浠� #region 鐩戞祴鐐规爣璁� @@ -1616,9 +1700,9 @@ monitorMarkerHelper.Set(); } - #endregion + #endregion 鐩戞祴鐐规爣璁� - #endregion + #endregion 鐩戞祴鍒楄〃 #region 妯″瀷妫�鏌� @@ -1640,7 +1724,7 @@ { var visualListHelper = GetVisualListHelper(); var visual = visualListHelper.GetVisual(code); - SelectVisual(visual, eVisualSource.Check); + SelectVisual(visual, eSimulationVisualSource.Check); }; } return _checkCtrl; @@ -1702,7 +1786,7 @@ ShowCheckCtrl(checkResult); } - #endregion + #endregion 妯″瀷妫�鏌� #region 妯″瀷璁$畻 @@ -1718,13 +1802,11 @@ { var workingHelper = GetWorkingHelper(); _calcuResultHelper = new SimulationCalcuResultHelper(workingHelper); - var calcuResult = GetCalcuResult(); - _calcuResultHelper.InitialData(); } return _calcuResultHelper; } - #endregion + #endregion 璁$畻缁撴灉 #region 璁$畻澶辫触 @@ -1788,7 +1870,7 @@ calcuFailedCtrl.SetBindingData(calcuResult.FailedList); } - #endregion + #endregion 璁$畻澶辫触 #region 璁$畻璀﹀憡 @@ -1806,7 +1888,7 @@ { var visualListHelper = GetVisualListHelper(); var visual = visualListHelper.GetVisual(code); - SelectVisual(visual, eVisualSource.Warning); + SelectVisual(visual, eSimulationVisualSource.Warning); }; } return _calcuWarningCtrl; @@ -1860,7 +1942,7 @@ calcuWaringCtrl.SetBindingData(calcuResult.WainingList, allVisualDict); } - #endregion + #endregion 璁$畻璀﹀憡 #region 璁$畻鏍囩 @@ -1872,10 +1954,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; } @@ -1888,9 +1969,9 @@ calcuResultLabelHelper.Set(); } - #endregion + #endregion 璁$畻鏍囩 - #endregion + #endregion 妯″瀷璁$畻 #region 绠$綉淇 @@ -1955,7 +2036,7 @@ Repair(); } - #endregion + #endregion 绠$綉淇 #region 瀵煎嚭INP @@ -1977,12 +2058,12 @@ TipFormHelper.ShowSucceed("瀵煎嚭鎴愬姛"); } - #endregion + #endregion 瀵煎嚭INP - #region 骞惰仈璁$畻 + #region 姘存车鍒楄〃 - //骞惰仈鍒嗘瀽 - private void ParallelAnalysis() + //鎬ц兘鏇茬嚎 + private void PumpFeat() { if (_hydroInfo == null) { @@ -1994,71 +2075,68 @@ XtraMessageBox.Show("鏃犳按娉典俊鎭�"); return; } - var vmList = new List<XhsSinglePumpViewModel>(); - foreach (var pump in pumps) + var dlg = new SimulationPumpFeatDlg(); + dlg.SaveEvent += async (list) => { - if (!pump.RatedN.HasValue) - { - continue; - } - var qh = _hydroInfo.Curves?.Find(t => t.Code == pump.CurveQH)?.CurveData; - var qe = _hydroInfo.Curves?.Find(t => t.Code == pump.CurveQE)?.CurveData; - var qp = _hydroInfo.Curves?.Find(t => t.Code == pump.CurveQP)?.CurveData; - if (qh == null) - { - continue; - } + pumps.ForEach(x => x.UpdateWorkingInfo(list)); + var visualVmListHelper = GetVisualVmListHelper(); + visualVmListHelper.UpdateProperty(pumps.Select(x => x as Yw.Model.HydroVisualInfo).ToList()); + SelectVisual(_visual, eSimulationVisualSource.None); + var gradingHelper = await GetGradingHelper(); + gradingHelper.Set(); + }; + dlg.SetBindingData(_hydroInfo); + dlg.ShowDialog(); + } - var qhPtList = qh.Select(x => new XhsSplinePointViewModel(x.X, x.Y)).ToList(); - var qePtList = qe?.Select(x => new XhsSplinePointViewModel(x.X, x.Y)).ToList(); - var qpPtList = qp?.Select(x => new XhsSplinePointViewModel(x.X, x.Y)).ToList(); + //鎬ц兘鏇茬嚎 + private void barBtnPumpCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + PumpFeat(); + } - var vm = new XhsSinglePumpViewModel(); - vmList.Add(vm); - vm.ID = pump.ID; - vm.Name = pump.Name; - vm.Code = pump.Code; - vm.IsBp = true; - vm.RunStatus = pump.LinkStatus == Yw.Hydro.LinkStatus.Open; - vm.RatedHz = pump.RatedHz; - vm.CurrentHz = Math.Round(pump.RatedHz * pump.SpeedRatio, 1); - vm.RatedSpeed = pump.RatedN.Value; - vm.CurrentSpeed = Math.Round(pump.RatedN.Value * pump.SpeedRatio, 1); - vm.CurveQH = qhPtList; - vm.CurveQE = qePtList; - vm.CurveQP = qpPtList; - + //骞惰仈妯℃嫙 + private void PumpParallel() + { + if (_hydroInfo == null) + { + return; } - - var dlg = new PumpParallelAnalyDlg(); - dlg.SetBindingData(vmList); - dlg.ReloadDataEvent += (list) => + var pumps = _hydroInfo.Pumps; + if (pumps == null || pumps.Count < 1) + { + XtraMessageBox.Show("鏃犳按娉典俊鎭�"); + return; + } + var dlg = new SimulationPumpParallelDlg(); + dlg.SaveEvent += async (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; + pump.LinkStatus = x.LinkStatus; + pump.SpeedRatio = x.SpeedRatio; } }); - var codes = list?.Select(x => x.Code).ToList(); - //UpdateVisualViewModelProperty(codes); - //ShowSelectedProperty(); - UpdateVisualListCtrl(); - return true; + var visualVmListHelper = GetVisualVmListHelper(); + visualVmListHelper.UpdateProperty(pumps.Select(x => x as Yw.Model.HydroVisualInfo).ToList()); + SelectVisual(_visual, eSimulationVisualSource.None); + var gradingHelper = await GetGradingHelper(); + gradingHelper.Set(); }; + dlg.SetBindingData(_hydroInfo); dlg.ShowDialog(); } - //骞惰仈鍒嗘瀽 - private void barBtnParallel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + //骞惰仈妯℃嫙 + private void barBtnPumpParallel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - ParallelAnalysis(); + PumpParallel(); } - #endregion + #endregion 姘存车鍒楄〃 #region 姘村姏璁$畻 @@ -2069,46 +2147,51 @@ { return; } - + var workingCheckedListHelper = GetWorkingCheckedListHelper(); + var allWorkingList = workingCheckedListHelper.GetWorkingList(); var monitorValueHelper = GetMonitorValueHelper(); var allMonitorValueList = await monitorValueHelper.Get(); var dlg = new SetHydroWorkingDlg(); - dlg.SetBindingData(_hydroInfo, _allWorkingList, allMonitorValueList); + dlg.SetBindingData(_hydroInfo, allWorkingList, allMonitorValueList); dlg.HydroViewEvent += (visual) => { - SelectVisual(visual, eVisualSource.Calcu); + SelectVisual(visual, eSimulationVisualSource.Calcu); }; dlg.HydroCalcuEvent += async (vm) => { _hydroInfo.UpdateWorkingInfo(vm.WorkingInfo); allMonitorValueList.UpdateMonitorValue(vm.MonitorInfo); + var hydroInfo = _hydroInfo.Adapt<Yw.Model.HydroModelInfo>(); + var working = new HydroWorkingVmo(); - working.ModelID = _hydroInfo.ID; - working.Name = working.Name; - working.WorkingInfo = JsonHelper.Object2Json(working.WorkingInfo); - working.MonitorInfo = JsonHelper.Object2Json(working.MonitorInfo); - working.SortCode = working.SortCode; - working.Description = working.Description; + working.ModelID = vm.ModelID; + working.Name = vm.Name; + working.WorkingInfo = JsonHelper.Object2Json(vm.WorkingInfo); + var useWorkingMonitorInfo = vm.MonitorInfo?.Where(x => x.PropValue.HasValue).ToList(); + if (useWorkingMonitorInfo != null && useWorkingMonitorInfo.Count > 0) + { + working.MonitorInfo = JsonHelper.Object2Json(useWorkingMonitorInfo); + } + working.SortCode = vm.SortCode; + working.Description = vm.Description; var workingHelper = GetWorkingHelper(); - - //鏍¢獙 var checkResult = _hydroInfo.Check(); if (!checkResult.Succeed) { ShowCheckCtrl(checkResult); - workingHelper.InitialData(working, checkResult, null); + workingHelper.InitialData(hydroInfo, working, checkResult, null); TipFormHelper.ShowError("鏍¢獙澶辫触锛岃妫�鏌ュ悗閲嶈瘯"); return; } WaitFormHelper.ShowWaitForm(this, "姝e湪璁$畻鍒嗘瀽涓紝璇风◢鍊�..."); - //await Task.Delay(3000); + await Task.Delay(3000); var calcuResult = _hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss); WaitFormHelper.HideWaitForm(); - workingHelper.InitialData(working, checkResult, calcuResult); + workingHelper.InitialData(hydroInfo, working, checkResult, calcuResult); if (calcuResult.Succeed) { if (calcuResult.WainingList != null && calcuResult.WainingList.Count > 0) @@ -2116,6 +2199,7 @@ ShowCalcuWarningCtrl(calcuResult); } this.barBtnAddWorking.Enabled = true; + this.barBtnExportWord.Enabled = true; TipFormHelper.ShowSucceed("璁$畻鎴愬姛锛�"); } else @@ -2124,42 +2208,91 @@ TipFormHelper.ShowError("璁$畻澶辫触锛�"); } - #region 璁$畻缁撴灉 - - var calcuResultHelper = GetCalcuResultHelper(); - calcuResultHelper.InitialData(); - - #endregion - #region 瑙嗗浘鍒楄〃 var visualVmListHelper = GetVisualVmListHelper(); visualVmListHelper.UpdateCalcuProperty(calcuResult); - #endregion + #endregion 瑙嗗浘鍒楄〃 + + #region 褰撳墠鏋勪欢 + + SelectVisual(_visual, eSimulationVisualSource.Calcu); + + #endregion 褰撳墠鏋勪欢 + + #region 鏋勪欢鏄庣粏 + + UpdateVisualListCtrl(); + + #endregion 鏋勪欢鏄庣粏 + + #region 棰滆壊鍒嗙骇 + + var gradingHelper = await GetGradingHelper(); + gradingHelper.Set(); + + #endregion 棰滆壊鍒嗙骇 #region 璁$畻鏍囩 var calcuResultLabelHelper = await GetCalcuResultLabelHelper(); calcuResultLabelHelper.Set(); - #endregion - + #endregion 璁$畻鏍囩 }; - dlg.ShowDialog(); - } //姘村姏璁$畻 private void barBtnCalcu_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - var network = _hydroInfo.ToW3dNetworkViewModel(); - var json = JsonHelper.Object2Json(network); Calcu(); } - #endregion + #endregion 姘村姏璁$畻 + + #region 瀵煎嚭鎶ュ憡 + + private async void barBtnExportWord_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + 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 SimulationWorkingReportHelper(); + reportHelper.Create(fileName, vm); + TipFormHelper.ShowInfo("瀵煎嚭鎴愬姛锛�"); + }; + dlg.SetBindingData(_project, _hydroInfo, allMonitorList, working, calcuResult, visual); + dlg.ShowDialog(); + } + + #endregion 瀵煎嚭鎶ュ憡 #region 褰撳墠宸ュ喌 @@ -2210,7 +2343,9 @@ dlg.SetBindingData(workingHelper.Working); dlg.ReloadDataEvent += (rhs) => { - workingHelper.Working = rhs; + this.barBtnAddWorking.Enabled = false; + workingHelper.ResetWorking(rhs); + UpdateWorkingCheckedList(rhs, false); this.AppendWorkingEvent?.Invoke(rhs); }; dlg.ShowDialog(); @@ -2222,240 +2357,353 @@ AddWorking(); } - #endregion + #endregion 褰撳墠宸ュ喌 - #region 宸ュ喌鍏冪粍 + #region 閫夋嫨宸ュ喌 - //宸ュ喌鍏冪粍杈呭姪绫� - private SimulationWorkingTupleHelper _workingTupleHelper = null; + //宸ュ喌閫夋嫨鍒楄〃杈呭姪绫� + private SimulationWorkingCheckedListHelper _workingCheckedListHelper = null; //鑾峰彇宸ュ喌鍏冪粍杈呭姪绫� - private SimulationWorkingTupleHelper GetWorkingTupleHelper() + private SimulationWorkingCheckedListHelper GetWorkingCheckedListHelper() { - if (_workingTupleHelper == null) + if (_workingCheckedListHelper == null) { var visualListHelper = GetVisualListHelper(); - _workingTupleHelper = new SimulationWorkingTupleHelper(visualListHelper); + _workingCheckedListHelper = new SimulationWorkingCheckedListHelper(visualListHelper); + _workingCheckedListHelper.InitialData(_allWorkingCheckedListDict); } - return _workingTupleHelper; + return _workingCheckedListHelper; } - #endregion + //鑾峰彇宸ュ喌鍒楄〃 + private List<HydroWorkingVmo> GetWorkingList() + { + var helper = GetWorkingCheckedListHelper(); + return helper.GetWorkingList(); + } + + //鏇存柊宸ュ喌閫夋嫨鍒楄〃 + public void UpdateWorkingCheckedList(HydroWorkingVmo working) + { + var helper = GetWorkingCheckedListHelper(); + helper.Update(working); + } + + //鏇存柊宸ュ喌閫夋嫨鍒楄〃 + public void UpdateWorkingCheckedList(HydroWorkingVmo working, bool hasChecked) + { + var helper = GetWorkingCheckedListHelper(); + helper.Update(working, hasChecked); + } + + //绉婚櫎宸ュ喌閫夋嫨鍒楄〃 + public void RemoveWorkingCheckedList(HydroWorkingVmo working) + { + var helper = GetWorkingCheckedListHelper(); + helper.Remove(working); + } + + #endregion 閫夋嫨宸ュ喌 #region 宸ュ喌鍒嗘瀽 - #region 宸ュ喌璇勪及 - - //璇勪及 - private async void Evaluate() + //閫夋嫨杩涘彛姘存簮 + private void SelectInputSource() { - if (_hydroInfo == null) + var sources = GetSourceList(); + if (sources != null) { - return; + if (sources.Count == 1) + { + SelectVisual(sources[0], eSimulationVisualSource.None); + } + else + { + var source = sources.FirstOrDefault(x => x.Flags.Contains(HStation.Xhs.Flags.杩涘彛)); + if (source != null) + { + SelectVisual(source, eSimulationVisualSource.None); + } + } } - 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); - dlg.ShowDialog(); } //绮惧害璇勪及 - private void barBtnWorkingEvaluation_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + private async void barBtnWorkingEvaluation_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - Evaluate(); + var monitorHelper = GetMonitorHelper(); + var allMonitorList = await monitorHelper.Get(); + + 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(); + } } - #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) + var workingCheckedListHelper = GetWorkingCheckedListHelper(); + var allCheckedWorkingList = workingCheckedListHelper.GetCheckedWorkingList(); + if (allCheckedWorkingList == null || allCheckedWorkingList.Count < 1) { - return; - } - if (_hydroInfo.Pumps == null || _hydroInfo.Pumps.Count < 1) - { - return; - } - - var calcuResultHelper = GetCalcuResultHelper(); - var vmList = new List<XhsSinglePumpViewModel>(); - foreach (var pump in _hydroInfo.Pumps) - { - if (!pump.RatedN.HasValue) + var workingHelper = GetWorkingHelper(); + if (!workingHelper.Initialized) { - continue; + TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�"); + return; } - var qh = _hydroInfo.Curves?.Find(t => t.Code == pump.CurveQH)?.CurveData; - var qe = _hydroInfo.Curves?.Find(t => t.Code == pump.CurveQE)?.CurveData; - var qp = _hydroInfo.Curves?.Find(t => t.Code == pump.CurveQP)?.CurveData; - if (qh == null) - { - continue; - } - - var qhPtList = qh.Select(x => new XhsSplinePointViewModel(x.X, x.Y)).ToList(); - var qePtList = qe?.Select(x => new XhsSplinePointViewModel(x.X, x.Y)).ToList(); - var qpPtList = qp?.Select(x => new XhsSplinePointViewModel(x.X, x.Y)).ToList(); - - var vm = new XhsSinglePumpViewModel(); - vmList.Add(vm); - vm.ID = pump.ID; - vm.Name = pump.Name; - vm.Code = pump.Code; - vm.IsBp = true; - vm.RunStatus = pump.LinkStatus == Yw.Hydro.LinkStatus.Open; - vm.RatedHz = pump.RatedHz; - vm.CurrentHz = Math.Round(pump.RatedHz * pump.SpeedRatio, 1); - vm.RatedSpeed = pump.RatedN.Value; - vm.CurrentSpeed = Math.Round(pump.RatedN.Value * pump.SpeedRatio); - vm.CurveQH = qhPtList; - vm.CurveQE = qePtList; - vm.CurveQP = qpPtList; - - var calcuResultVisualDict = calcuResultHelper.GetVisualDict(); - if (calcuResultVisualDict != null && calcuResultVisualDict.Count > 0) - { - //var calcuResult = allCalcuResultList.Find(x => x.Code == pump.Code) as HydroCalcuLinkResult; - //if (calcuResult != null) - //{ - // if (calcuResult.CalcuFlow.HasValue) - // { - // vm.CalcuQ = Math.Abs(calcuResult.CalcuFlow.Value); - // } - - // var calcuResultStart = allCalcuResultList.Find(x => x.Code == pump.StartCode) as HydroCalcuNodeResult; - // var calcuResultEnd = allCalcuResultList.Find(x => x.Code == pump.EndCode) as HydroCalcuNodeResult; - // if (calcuResultStart != null && calcuResultEnd != null) - // { - // if (calcuResultStart.CalcuHead.HasValue && calcuResultEnd.CalcuHead.HasValue) - // { - // vm.CalcuH = Math.Round(Math.Abs(calcuResultStart.CalcuHead.Value - calcuResultEnd.CalcuHead.Value), 4); - // } - // } - //} - } - + var dlg = new SimulationSingleWorkingPumpAnalyDlg(); + dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult); + dlg.ShowDialog(); } - - var dlg = new PumpParallelAnalyDlg(); - dlg.SetBindingData(vmList); - dlg.ReloadDataEvent += (list) => + else { - 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(); + var dlg = new SimulationMultiWorkingPumpAnalyDlg(); + dlg.SetBindingData(_hydroInfo, allCheckedWorkingList); + dlg.ShowDialog(); + } } - #endregion - - #region 宸ュ喌鑳芥晥 - - private void barBtnWorkingPower_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + //鑳芥晥鍒嗘瀽 + private async void barBtnWorkingPower_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - XtraMessageBox.Show("姝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(); + } } - #endregion - - #region 鎹熷け鏇茬嚎 - + //鎹熷け鏇茬嚎 private void barBtnWorkingLossCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (_visual == null) { - XtraMessageBox.Show("璇烽�夋嫨鑺傜偣鍚庨噸璇曪紒"); - return; + SelectInputSource(); + if (_visual == null) + { + TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒"); + return; + } } - if (!(_visual is Yw.Model.HydroNodeInfo)) + HydroVisualInfo visual = _visual; + if (_visual is HydroLinkInfo linkInfo) { - XtraMessageBox.Show("璇烽�夋嫨鑺傜偣鍚庨噸璇曪紒"); + var visualListHelper = GetVisualListHelper(); + visual = visualListHelper.GetVisual(linkInfo.StartCode); + } + + 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 HydroSingleWorkingLossCurveDlg(); + dlg.HydroClickEvent += (code) => + { + SelectVisual(code, eSimulationVisualSource.None); + }; + dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult, visual); + dlg.ShowDialog(); + } + else + { + var dlg = new HydroMultiWorkingLossCurveDlg(); + dlg.HydroClickEvent += (code) => + { + SelectVisual(code, eSimulationVisualSource.None); + }; + dlg.SetBindingData(_hydroInfo, allCheckedWorkingList, visual); + 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) + { + if (_visual == null) + { + 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 monitorHelper = GetMonitorHelper(); + var allMonitorList = await monitorHelper.Get(); + + 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 SimulationSingleWorkingAnalyDlg(); + dlg.SetBindingData(workingHelper.HydroInfo, allMonitorList, workingHelper.Working, workingHelper.CalcuResult, visual); + dlg.ShowDialog(); + } + else + { + var dlg = new SimulationMultiWorkingAnalyDlg(); + dlg.SetBindingData(_hydroInfo, allMonitorList, allCheckedWorkingList, visual); + dlg.ShowDialog(); + } + } + + #endregion 宸ュ喌鍒嗘瀽 + + #region 鏂规绠$悊 + + //鏇存柊鏂规 + private void UpdateScheme() + { + if (_scheme == null) + { 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); + if (_hydroInfo == null) + { + return; + } + + var dlg = new EditXhsSchemeDlg(); + dlg.SetBindingData(_scheme, _hydroInfo); + dlg.ReloadDataEvent += (rhs) => + { + _scheme = rhs; + this.PageTitle.Caption = $"妯℃嫙鏂规\r\n{_scheme.Name}"; + UpdatePageTitle(this.PageGuid, this.PageTitle); + this.UpdateSchemeEvent?.Invoke(_scheme); + }; dlg.ShowDialog(); } - #endregion - - #region 鎹熷け姣斾緥 - - private void barBtnWorkingLossScale_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + //缂栬緫鏂规 + private void barBtnEditScheme_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - XtraMessageBox.Show("姝e湪寮�鍙戜腑锛屾暚璇锋湡寰咃紒"); + UpdateScheme(); } - #endregion - - #region 缁煎悎鍒嗘瀽 - private void barBtnWorkingAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + //鍒犻櫎鏂规 + private async void DeleteScheme() { - XtraMessageBox.Show("姝e湪寮�鍙戜腑锛屾暚璇锋湡寰咃紒"); + var bol = XtraMessageBox.Show("璇烽棶鏄惁鍒犻櫎褰撳墠鏂规锛�", "璇㈤棶", MessageBoxButtons.YesNo) == DialogResult.Yes; + if (!bol) + { + return; + } + if (_scheme == null) + { + return; + } + var relation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance + .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsScheme, _scheme.ID, HStation.Xhs.Purpose.Simulation); + if (relation == null) + { + TipFormHelper.ShowError("姘村姏妯℃嫙鏂规鍒犻櫎澶辫触锛岃閲嶈瘯锛�"); + return; + } + if (!await BLLFactory<Yw.BLL.HydroModelRelation>.Instance.DeleteAllByID(relation.ID)) + { + TipFormHelper.ShowError("姘村姏妯℃嫙鏂规鍒犻櫎澶辫触锛岃閲嶈瘯锛�"); + return; + } + + if (!await BLLFactory<HStation.BLL.XhsScheme>.Instance.DeleteByID(_scheme.ID)) + { + TipFormHelper.ShowError("姘村姏妯℃嫙鏂规鍒犻櫎澶辫触锛岃閲嶈瘯锛�"); + return; + } + this.RemoveSchemeEvent?.Invoke(_scheme); + TipFormHelper.ShowSucceed("姘村姏妯℃嫙鏂规鍒犻櫎鎴愬姛锛�"); + ClosePage(this.PageGuid); } - #endregion + //鍒犻櫎鏂规 + private void barBtnDeleteScheme_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + DeleteScheme(); + } - #endregion - - - - - - + #endregion 鏂规绠$悊 } } \ No newline at end of file -- Gitblit v1.9.3