From 17a0baa0ef883689c73e3141d148a28a48d62cd6 Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期三, 11 十二月 2024 10:31:04 +0800 Subject: [PATCH] 报告修改 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs | 326 ++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 218 insertions(+), 108 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..183d629 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> @@ -108,7 +140,7 @@ this.tabPageBimface.Controls.Add(bimfaceCtrl); } - #endregion + #endregion BIM鎺т欢 #region Q3d鎺т欢 @@ -145,7 +177,7 @@ this.tabPageQ3d.Controls.Add(q3dCtrl); } - #endregion + #endregion Q3d鎺т欢 #region 灞炴�ф帶浠� @@ -236,7 +268,6 @@ var flowEffectHelper = await GetFlowEffectHelper(); flowEffectHelper.Set(visual); }; - } return _propertyCtrl; } @@ -291,7 +322,7 @@ _propertyCtrl?.UpdateRows(); } - #endregion + #endregion 灞炴�ф帶浠� #region 閫夋嫨鏋勪欢 @@ -327,12 +358,14 @@ SetPropertyCtrl(visual); } break; + case eVisualSource.Bimface: { this.barBtnSetMonitor.Enabled = visual != null; SetPropertyCtrl(visual); } break; + case eVisualSource.Q3d: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); @@ -340,12 +373,14 @@ SetPropertyCtrl(visual); } break; + case eVisualSource.Property: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); this.barBtnSetMonitor.Enabled = visual != null; } break; + case eVisualSource.List: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); @@ -353,6 +388,7 @@ SetPropertyCtrl(visual); } break; + case eVisualSource.Set: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); @@ -360,6 +396,7 @@ SetPropertyCtrl(visual); } break; + case eVisualSource.Search: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); @@ -367,6 +404,7 @@ SetPropertyCtrl(visual); } break; + case eVisualSource.Monitor: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); @@ -374,6 +412,7 @@ SetPropertyCtrl(visual); } break; + case eVisualSource.Check: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); @@ -381,6 +420,7 @@ SetPropertyCtrl(visual); } break; + case eVisualSource.Calcu: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); @@ -388,6 +428,7 @@ SetPropertyCtrl(visual); } break; + case eVisualSource.Warning: { _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); @@ -395,11 +436,19 @@ SetPropertyCtrl(visual); } break; + default: break; } } - #endregion + //閫夋嫨鏋勪欢 + private void SelectVisual(string code, eVisualSource source) + { + var visual = GetVisual(code); + SelectVisual(visual, source); + } + + #endregion 閫夋嫨鏋勪欢 #region 鏋勪欢鏄庣粏 @@ -419,6 +468,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 +497,7 @@ return helper.GetSourceList(); } - #endregion + #endregion 鍙鍒楄〃 #region 瑙嗗浘鍒楄〃 @@ -463,7 +527,7 @@ return helper.GetVisualList(); } - #endregion + #endregion 瑙嗗浘鍒楄〃 #region 鏄庣粏鎺т欢 @@ -563,7 +627,7 @@ ShowVisualListCtrl(); } - #endregion + #endregion 鏄庣粏鎺т欢 #region 鏋勪欢鏄剧ず @@ -612,9 +676,9 @@ SetVisualVisible(); } - #endregion + #endregion 鏋勪欢鏄剧ず - #endregion + #endregion 鏋勪欢鏄庣粏 #region 涓�閿樉闅� @@ -638,7 +702,9 @@ SetDecoratorVisible(this.barCkDecorator.Checked); } - #endregion + #endregion 涓�閿樉闅� + + #region 淇濆瓨淇℃伅 @@ -649,27 +715,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 鎵归噺閰嶇疆 @@ -967,7 +1035,6 @@ }; } - //鏄剧ずRadialMenu private void barBtnSetList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { @@ -1171,11 +1238,9 @@ { this.barBtnSetCompressorList.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; } - - } - #endregion + #endregion 鎵归噺閰嶇疆 #region 鏋勪欢鏌ヨ @@ -1266,7 +1331,7 @@ ShowSearchDlg(); } - #endregion + #endregion 鏋勪欢鏌ヨ #region 妯″瀷鏍囨敞 @@ -1318,7 +1383,7 @@ markHelper.Set(); } - #endregion + #endregion 妯″瀷鏍囨敞 #region 棰滆壊鍒嗙骇 @@ -1400,42 +1465,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, eVisualSource.None); - var visualListHelper = GetVisualListHelper(); - visualListHelper.InitialData(_hydroInfo); + ResetVisualList(); + TipFormHelper.ShowSucceed("鍒锋柊鎴愬姛锛�"); } } - #endregion + #endregion 浜哄伐鍒锋柊 #region 姘存祦鍔ㄧ敾 @@ -1468,7 +1525,7 @@ flowEffectHelper.Set(); } - #endregion + #endregion 姘存祦鍔ㄧ敾 #region 鐩戞祴鍒楄〃 @@ -1490,6 +1547,13 @@ _monitorHelper = new SimulationMonitorHelper(visualListHelper); } return _monitorHelper; + } + + //鑾峰彇鐩戞祴鐐瑰垪琛� + private async Task<List<HydroMonitorVmo>> GetMonitorList() + { + var helper = GetMonitorHelper(); + return await helper.Get(); } //璁剧疆鐩戞祴鐐瑰垪琛� @@ -1528,7 +1592,7 @@ SetMonitorList(_visual); } - #endregion + #endregion 鐩戞祴鐐� #region 鐩戞祴鍊� @@ -1547,7 +1611,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 鐩戞祴鍊兼帶浠� @@ -1613,7 +1689,7 @@ ShowMonitorValueListCtrl(); } - #endregion + #endregion 鐩戞祴鍊兼帶浠� #region 鐩戞祴鐐规爣璁� @@ -1640,9 +1716,9 @@ monitorMarkerHelper.Set(); } - #endregion + #endregion 鐩戞祴鐐规爣璁� - #endregion + #endregion 鐩戞祴鍒楄〃 #region 妯″瀷妫�鏌� @@ -1726,7 +1802,7 @@ ShowCheckCtrl(checkResult); } - #endregion + #endregion 妯″瀷妫�鏌� #region 妯″瀷璁$畻 @@ -1746,7 +1822,7 @@ return _calcuResultHelper; } - #endregion + #endregion 璁$畻缁撴灉 #region 璁$畻澶辫触 @@ -1810,7 +1886,7 @@ calcuFailedCtrl.SetBindingData(calcuResult.FailedList); } - #endregion + #endregion 璁$畻澶辫触 #region 璁$畻璀﹀憡 @@ -1882,7 +1958,7 @@ calcuWaringCtrl.SetBindingData(calcuResult.WainingList, allVisualDict); } - #endregion + #endregion 璁$畻璀﹀憡 #region 璁$畻鏍囩 @@ -1909,9 +1985,9 @@ calcuResultLabelHelper.Set(); } - #endregion + #endregion 璁$畻鏍囩 - #endregion + #endregion 妯″瀷璁$畻 #region 绠$綉淇 @@ -1976,7 +2052,7 @@ Repair(); } - #endregion + #endregion 绠$綉淇 #region 瀵煎嚭INP @@ -1998,7 +2074,7 @@ TipFormHelper.ShowSucceed("瀵煎嚭鎴愬姛"); } - #endregion + #endregion 瀵煎嚭INP #region 姘存车鍒楄〃 @@ -2073,11 +2149,10 @@ //骞惰仈妯℃嫙 private void barBtnPumpParallel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - PumpParallel(); } - #endregion + #endregion 姘存车鍒楄〃 #region 姘村姏璁$畻 @@ -2136,6 +2211,7 @@ ShowCalcuWarningCtrl(calcuResult); } this.barBtnAddWorking.Enabled = true; + this.barBtnExportWord.Enabled = true; TipFormHelper.ShowSucceed("璁$畻鎴愬姛锛�"); } else @@ -2149,38 +2225,36 @@ var visualVmListHelper = GetVisualVmListHelper(); visualVmListHelper.UpdateCalcuProperty(calcuResult); - #endregion + #endregion 瑙嗗浘鍒楄〃 #region 褰撳墠鏋勪欢 SelectVisual(_visual, eVisualSource.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 +2263,22 @@ Calcu(); } - #endregion + #endregion 姘村姏璁$畻 + + #region 瀵煎嚭鎶ュ憡 + + private void barBtnExportWord_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var fileName = FileDialogHelper.SaveWordDoc("瀵煎嚭Word鎶ュ憡"); + if (string.IsNullOrEmpty(fileName)) + { + return; + } + SimulationWordReport word = new SimulationWordReport(); + //word.Create(fileName); + } + + #endregion 瀵煎嚭鎶ュ憡 #region 褰撳墠宸ュ喌 @@ -2254,7 +2343,7 @@ AddWorking(); } - #endregion + #endregion 褰撳墠宸ュ喌 #region 閫夋嫨宸ュ喌 @@ -2271,6 +2360,13 @@ _workingCheckedListHelper.InitialData(_allWorkingCheckedListDict); } return _workingCheckedListHelper; + } + + //鑾峰彇宸ュ喌鍒楄〃 + private List<HydroWorkingVmo> GetWorkingList() + { + var helper = GetWorkingCheckedListHelper(); + return helper.GetWorkingList(); } //鏇存柊宸ュ喌閫夋嫨鍒楄〃 @@ -2294,10 +2390,30 @@ helper.Remove(working); } - - #endregion + #endregion 閫夋嫨宸ュ喌 #region 宸ュ喌鍒嗘瀽 + + //閫夋嫨杩涘彛姘存簮 + private void SelectInputSource() + { + 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); + } + } + } + } //绮惧害璇勪及 private async void barBtnWorkingEvaluation_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) @@ -2353,8 +2469,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 +2483,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 +2499,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 +2524,20 @@ return; } var dlg = new HydroSingleWorkingLossCurveDlg(); + dlg.HydroClickEvent += (code) => + { + SelectVisual(code, eVisualSource.None); + }; dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult, visual); dlg.ShowDialog(); } else { var dlg = new HydroMultiWorkingLossCurveDlg(); + dlg.HydroClickEvent += (code) => + { + SelectVisual(code, eVisualSource.None); + }; dlg.SetBindingData(_hydroInfo, allCheckedWorkingList, visual); dlg.ShowDialog(); } @@ -2463,8 +2573,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 +2615,6 @@ } } - #endregion - - - - - - - + #endregion 宸ュ喌鍒嗘瀽 } } \ No newline at end of file -- Gitblit v1.9.3