From c62abea9769bd09d8339628b364105fb3bf934f1 Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期二, 10 十二月 2024 17:34:13 +0800
Subject: [PATCH] 修改报表方法

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs |  184 ++++++++++++++++++++++++++++-----------------
 1 files changed, 114 insertions(+), 70 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 56ad3e6..5907903 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;
@@ -29,6 +30,24 @@
         /// 鏂板宸ュ喌浜嬩欢
         /// </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;//椤圭洰绔�
@@ -54,6 +73,16 @@
             _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>
@@ -427,6 +456,13 @@
             return _visualListHelper;
         }
 
+        //閲嶇疆鍙鍒楄〃
+        private void ResetVisualList()
+        {
+            var helper = GetVisualListHelper();
+            helper.InitialData(_hydroInfo);
+        }
+
         //鑾峰彇鍙鏋勪欢
         private Yw.Model.HydroVisualInfo GetVisual(string code)
         {
@@ -665,24 +701,27 @@
             {
                 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
@@ -1423,31 +1462,24 @@
         //鍒锋柊
         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)
-                {
-                    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("鏁版嵁宸插埛鏂�");
 
-                var visualListHelper = GetVisualListHelper();
-                visualListHelper.InitialData(_hydroInfo);
+                var hydroInfo = await this.RefreshModelEvent.Invoke();
+                if (hydroInfo == null)
+                {
+                    TipFormHelper.ShowError("鍒锋柊澶辫触锛�");
+                    return;
+                }
+                _hydroInfo = hydroInfo;
+                SelectVisual(visual: null, eVisualSource.None);
+
+                ResetVisualList();
+                TipFormHelper.ShowSucceed("鍒锋柊鎴愬姛锛�");
             }
         }
 
@@ -2165,6 +2197,7 @@
                         ShowCalcuWarningCtrl(calcuResult);
                     }
                     this.barBtnAddWorking.Enabled = true;
+                    this.barBtnExportWord.Enabled = true;
                     TipFormHelper.ShowSucceed("璁$畻鎴愬姛锛�");
                 }
                 else
@@ -2216,6 +2249,21 @@
         private void barBtnCalcu_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
             Calcu();
+        }
+
+        #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
@@ -2335,6 +2383,27 @@
 
         #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)
         {
@@ -2402,11 +2471,12 @@
                     return;
                 }
                 var dlg = new SimulationSingleWorkingEnergyDlg();
-                dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult);
+                dlg.SetBindingData(workingHelper.Working, workingHelper.HydroInfo, workingHelper.CalcuResult);
                 dlg.ShowDialog();
             }
             else
             {
+
                 var dlg = new SimulationMultiWorkingEnergyDlg();
                 dlg.SetBindingData(_hydroInfo, allCheckedWorkingList);
                 dlg.ShowDialog();
@@ -2418,22 +2488,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("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒");
@@ -2507,26 +2562,14 @@
         {
             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);
-                        }
-                    }
-                }
                 if (_visual == null)
                 {
-                    TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒");
-                    return;
+                    SelectInputSource();
+                    if (_visual == null)
+                    {
+                        TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒");
+                        return;
+                    }
                 }
             }
             HydroVisualInfo visual = _visual;
@@ -2569,5 +2612,6 @@
 
 
 
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3