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 | 557 +++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 378 insertions(+), 179 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 e37c7bf..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 @@ -4,6 +4,7 @@ using DevExpress.XtraMap; using HStation.WinFrmUI.PhartRelation; using Mapster; +using NPOI.OpenXmlFormats.Dml; using NPOI.SS.Formula.Functions; using System.Diagnostics; using Yw.EPAnet; @@ -30,6 +31,26 @@ /// </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;//鏂规 @@ -53,6 +74,17 @@ _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> @@ -94,7 +126,7 @@ {//榧犳爣宸﹂敭鐐瑰嚮浜嬩欢 var visualListHelper = GetVisualListHelper(); var visual = visualListHelper.GetVisual(code); - SelectVisual(visual, eVisualSource.Bimface); + SelectVisual(visual, eSimulationVisualSource.Bimface); }; } return _bimfaceCtrl; @@ -108,7 +140,7 @@ this.tabPageBimface.Controls.Add(bimfaceCtrl); } - #endregion + #endregion BIM鎺т欢 #region Q3d鎺т欢 @@ -131,7 +163,7 @@ { var visualListHelper = GetVisualListHelper(); var visuals = visualListHelper.GetVisualList(codes); - SelectVisual(visuals?.LastOrDefault(), eVisualSource.Q3d); + SelectVisual(visuals?.LastOrDefault(), eSimulationVisualSource.Q3d); }; } return _q3dCtrl; @@ -145,7 +177,7 @@ this.tabPageQ3d.Controls.Add(q3dCtrl); } - #endregion + #endregion Q3d鎺т欢 #region 灞炴�ф帶浠� @@ -166,7 +198,7 @@ _propertyCtrl.AllowEdit = true; _propertyCtrl.HydroViewEvent += (visual) => { - SelectVisual(visual, eVisualSource.Property); + SelectVisual(visual, eSimulationVisualSource.Property); }; _propertyCtrl.BlinkLinkNodeEvent += async (link, linkNodeCode) => { //寮鸿皟杩炴帴鑺傜偣 @@ -236,7 +268,6 @@ var flowEffectHelper = await GetFlowEffectHelper(); flowEffectHelper.Set(visual); }; - } return _propertyCtrl; } @@ -291,115 +322,117 @@ _propertyCtrl?.UpdateRows(); } - #endregion + #endregion 灞炴�ф帶浠� #region 閫夋嫨鏋勪欢 - - //鍙鏉ユ簮 - protected enum eVisualSource - { - None, - Bimface, - Q3d, - Property, - List, - Set, - 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.Set: + + case eSimulationVisualSource.Set: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; - case eVisualSource.Search: + + case eSimulationVisualSource.Search: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; - case eVisualSource.Monitor: + + case eSimulationVisualSource.Monitor: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; - case eVisualSource.Check: + + case eSimulationVisualSource.Check: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; - case eVisualSource.Calcu: + + case eSimulationVisualSource.Calcu: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; - case eVisualSource.Warning: + + 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 鏋勪欢鏄庣粏 @@ -419,6 +452,21 @@ return _visualListHelper; } + //閲嶇疆鍙鍒楄〃 + 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() { @@ -433,7 +481,7 @@ return helper.GetSourceList(); } - #endregion + #endregion 鍙鍒楄〃 #region 瑙嗗浘鍒楄〃 @@ -463,7 +511,7 @@ return helper.GetVisualList(); } - #endregion + #endregion 瑙嗗浘鍒楄〃 #region 鏄庣粏鎺т欢 @@ -479,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; @@ -563,7 +611,7 @@ ShowVisualListCtrl(); } - #endregion + #endregion 鏄庣粏鎺т欢 #region 鏋勪欢鏄剧ず @@ -612,9 +660,9 @@ SetVisualVisible(); } - #endregion + #endregion 鏋勪欢鏄剧ず - #endregion + #endregion 鏋勪欢鏄庣粏 #region 涓�閿樉闅� @@ -638,7 +686,9 @@ SetDecoratorVisible(this.barCkDecorator.Checked); } - #endregion + #endregion 涓�閿樉闅� + + #region 淇濆瓨淇℃伅 @@ -649,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 鎵归噺閰嶇疆 @@ -684,11 +736,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -701,11 +753,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -718,11 +770,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -735,11 +787,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -752,11 +804,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -769,11 +821,11 @@ dlg.SetBindingData(allVisualVmList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -786,11 +838,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -803,11 +855,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -820,11 +872,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -837,11 +889,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -854,11 +906,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -871,11 +923,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -888,11 +940,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -905,11 +957,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -922,11 +974,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -939,11 +991,11 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); @@ -956,17 +1008,16 @@ dlg.SetBindingData(allVisualViewModelList); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.Set); + SelectVisual(visual, eSimulationVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + SelectVisual(visuals?.FirstOrDefault(), eSimulationVisualSource.Set); UpdateVisualListCtrl(); }; dlg.ShowDialog(); }; } - //鏄剧ずRadialMenu private void barBtnSetList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) @@ -1171,11 +1222,9 @@ { this.barBtnSetCompressorList.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; } - - } - #endregion + #endregion 鎵归噺閰嶇疆 #region 鏋勪欢鏌ヨ @@ -1194,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; @@ -1266,7 +1315,7 @@ ShowSearchDlg(); } - #endregion + #endregion 鏋勪欢鏌ヨ #region 妯″瀷鏍囨敞 @@ -1318,7 +1367,7 @@ markHelper.Set(); } - #endregion + #endregion 妯″瀷鏍囨敞 #region 棰滆壊鍒嗙骇 @@ -1400,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 姘存祦鍔ㄧ敾 @@ -1468,7 +1509,7 @@ flowEffectHelper.Set(); } - #endregion + #endregion 姘存祦鍔ㄧ敾 #region 鐩戞祴鍒楄〃 @@ -1490,6 +1531,13 @@ _monitorHelper = new SimulationMonitorHelper(visualListHelper); } return _monitorHelper; + } + + //鑾峰彇鐩戞祴鐐瑰垪琛� + private async Task<List<HydroMonitorVmo>> GetMonitorList() + { + var helper = GetMonitorHelper(); + return await helper.Get(); } //璁剧疆鐩戞祴鐐瑰垪琛� @@ -1528,7 +1576,7 @@ SetMonitorList(_visual); } - #endregion + #endregion 鐩戞祴鐐� #region 鐩戞祴鍊� @@ -1547,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 鐩戞祴鍊兼帶浠� @@ -1565,7 +1625,7 @@ { var visualListHelper = GetVisualListHelper(); var visual = visualListHelper.GetVisual(code); - SelectVisual(visual, eVisualSource.Monitor); + SelectVisual(visual, eSimulationVisualSource.Monitor); }; } return _monitorValueListCtrl; @@ -1613,7 +1673,7 @@ ShowMonitorValueListCtrl(); } - #endregion + #endregion 鐩戞祴鍊兼帶浠� #region 鐩戞祴鐐规爣璁� @@ -1640,9 +1700,9 @@ monitorMarkerHelper.Set(); } - #endregion + #endregion 鐩戞祴鐐规爣璁� - #endregion + #endregion 鐩戞祴鍒楄〃 #region 妯″瀷妫�鏌� @@ -1664,7 +1724,7 @@ { var visualListHelper = GetVisualListHelper(); var visual = visualListHelper.GetVisual(code); - SelectVisual(visual, eVisualSource.Check); + SelectVisual(visual, eSimulationVisualSource.Check); }; } return _checkCtrl; @@ -1726,7 +1786,7 @@ ShowCheckCtrl(checkResult); } - #endregion + #endregion 妯″瀷妫�鏌� #region 妯″瀷璁$畻 @@ -1746,7 +1806,7 @@ return _calcuResultHelper; } - #endregion + #endregion 璁$畻缁撴灉 #region 璁$畻澶辫触 @@ -1810,7 +1870,7 @@ calcuFailedCtrl.SetBindingData(calcuResult.FailedList); } - #endregion + #endregion 璁$畻澶辫触 #region 璁$畻璀﹀憡 @@ -1828,7 +1888,7 @@ { var visualListHelper = GetVisualListHelper(); var visual = visualListHelper.GetVisual(code); - SelectVisual(visual, eVisualSource.Warning); + SelectVisual(visual, eSimulationVisualSource.Warning); }; } return _calcuWarningCtrl; @@ -1882,7 +1942,7 @@ calcuWaringCtrl.SetBindingData(calcuResult.WainingList, allVisualDict); } - #endregion + #endregion 璁$畻璀﹀憡 #region 璁$畻鏍囩 @@ -1909,9 +1969,9 @@ calcuResultLabelHelper.Set(); } - #endregion + #endregion 璁$畻鏍囩 - #endregion + #endregion 妯″瀷璁$畻 #region 绠$綉淇 @@ -1976,7 +2036,7 @@ Repair(); } - #endregion + #endregion 绠$綉淇 #region 瀵煎嚭INP @@ -1998,7 +2058,7 @@ TipFormHelper.ShowSucceed("瀵煎嚭鎴愬姛"); } - #endregion + #endregion 瀵煎嚭INP #region 姘存车鍒楄〃 @@ -2021,7 +2081,7 @@ pumps.ForEach(x => x.UpdateWorkingInfo(list)); var visualVmListHelper = GetVisualVmListHelper(); visualVmListHelper.UpdateProperty(pumps.Select(x => x as Yw.Model.HydroVisualInfo).ToList()); - SelectVisual(_visual, eVisualSource.None); + SelectVisual(_visual, eSimulationVisualSource.None); var gradingHelper = await GetGradingHelper(); gradingHelper.Set(); }; @@ -2062,7 +2122,7 @@ }); var visualVmListHelper = GetVisualVmListHelper(); visualVmListHelper.UpdateProperty(pumps.Select(x => x as Yw.Model.HydroVisualInfo).ToList()); - SelectVisual(_visual, eVisualSource.None); + SelectVisual(_visual, eSimulationVisualSource.None); var gradingHelper = await GetGradingHelper(); gradingHelper.Set(); }; @@ -2073,11 +2133,10 @@ //骞惰仈妯℃嫙 private void barBtnPumpParallel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - PumpParallel(); } - #endregion + #endregion 姘存车鍒楄〃 #region 姘村姏璁$畻 @@ -2096,7 +2155,7 @@ dlg.SetBindingData(_hydroInfo, allWorkingList, allMonitorValueList); dlg.HydroViewEvent += (visual) => { - SelectVisual(visual, eVisualSource.Calcu); + SelectVisual(visual, eSimulationVisualSource.Calcu); }; dlg.HydroCalcuEvent += async (vm) => { @@ -2109,7 +2168,11 @@ working.ModelID = vm.ModelID; working.Name = vm.Name; working.WorkingInfo = JsonHelper.Object2Json(vm.WorkingInfo); - working.MonitorInfo = JsonHelper.Object2Json(vm.MonitorInfo); + 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; @@ -2136,6 +2199,7 @@ ShowCalcuWarningCtrl(calcuResult); } this.barBtnAddWorking.Enabled = true; + this.barBtnExportWord.Enabled = true; TipFormHelper.ShowSucceed("璁$畻鎴愬姛锛�"); } else @@ -2149,38 +2213,35 @@ var visualVmListHelper = GetVisualVmListHelper(); visualVmListHelper.UpdateCalcuProperty(calcuResult); - #endregion + #endregion 瑙嗗浘鍒楄〃 #region 褰撳墠鏋勪欢 - SelectVisual(_visual, eVisualSource.Calcu); + SelectVisual(_visual, eSimulationVisualSource.Calcu); - #endregion + #endregion 褰撳墠鏋勪欢 #region 鏋勪欢鏄庣粏 UpdateVisualListCtrl(); - #endregion + #endregion 鏋勪欢鏄庣粏 #region 棰滆壊鍒嗙骇 var gradingHelper = await GetGradingHelper(); gradingHelper.Set(); - #endregion + #endregion 棰滆壊鍒嗙骇 #region 璁$畻鏍囩 var calcuResultLabelHelper = await GetCalcuResultLabelHelper(); calcuResultLabelHelper.Set(); - #endregion - + #endregion 璁$畻鏍囩 }; - dlg.ShowDialog(); - } //姘村姏璁$畻 @@ -2189,7 +2250,49 @@ 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 褰撳墠宸ュ喌 @@ -2254,7 +2357,7 @@ AddWorking(); } - #endregion + #endregion 褰撳墠宸ュ喌 #region 閫夋嫨宸ュ喌 @@ -2271,6 +2374,13 @@ _workingCheckedListHelper.InitialData(_allWorkingCheckedListDict); } return _workingCheckedListHelper; + } + + //鑾峰彇宸ュ喌鍒楄〃 + private List<HydroWorkingVmo> GetWorkingList() + { + var helper = GetWorkingCheckedListHelper(); + return helper.GetWorkingList(); } //鏇存柊宸ュ喌閫夋嫨鍒楄〃 @@ -2294,10 +2404,30 @@ helper.Remove(working); } - - #endregion + #endregion 閫夋嫨宸ュ喌 #region 宸ュ喌鍒嗘瀽 + + //閫夋嫨杩涘彛姘存簮 + private void SelectInputSource() + { + var sources = GetSourceList(); + if (sources != null) + { + 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); + } + } + } + } //绮惧害璇勪及 private async void barBtnWorkingEvaluation_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) @@ -2353,8 +2483,9 @@ } //鑳芥晥鍒嗘瀽 - private void barBtnWorkingPower_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + 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) @@ -2366,13 +2497,13 @@ return; } var dlg = new SimulationSingleWorkingEnergyDlg(); - dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult); + dlg.SetBindingData(workingHelper.Working, workingHelper.HydroInfo, allMonitorList, workingHelper.CalcuResult); dlg.ShowDialog(); } else { var dlg = new SimulationMultiWorkingEnergyDlg(); - dlg.SetBindingData(_hydroInfo, allCheckedWorkingList); + dlg.SetBindingData(_hydroInfo, allMonitorList, allCheckedWorkingList); dlg.ShowDialog(); } } @@ -2382,22 +2513,7 @@ { if (_visual == null) { - var sources = GetSourceList(); - if (sources != null) - { - if (sources.Count == 1) - { - SelectVisual(sources[0], eVisualSource.None); - } - else - { - var source = sources.FirstOrDefault(x => x.Flags.Contains(HStation.Xhs.Flags.杩涘彛)); - if (source != null) - { - SelectVisual(source, eVisualSource.None); - } - } - } + SelectInputSource(); if (_visual == null) { TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒"); @@ -2422,12 +2538,20 @@ 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(); } @@ -2463,8 +2587,15 @@ { if (_visual == null) { - TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒"); - return; + if (_visual == null) + { + SelectInputSource(); + if (_visual == null) + { + TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒"); + return; + } + } } HydroVisualInfo visual = _visual; if (_visual is HydroLinkInfo linkInfo) @@ -2498,13 +2629,81 @@ } } - #endregion + #endregion 宸ュ喌鍒嗘瀽 + #region 鏂规绠$悊 + //鏇存柊鏂规 + private void UpdateScheme() + { + if (_scheme == null) + { + return; + } + 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(); + } + //缂栬緫鏂规 + private void barBtnEditScheme_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + UpdateScheme(); + } + //鍒犻櫎鏂规 + private async void DeleteScheme() + { + 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); + } + //鍒犻櫎鏂规 + private void barBtnDeleteScheme_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + DeleteScheme(); + } + + #endregion 鏂规绠$悊 } } \ No newline at end of file -- Gitblit v1.9.3