From 9aa8106d88fc3070498493e2819922f7ac31746e Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期三, 09 四月 2025 15:09:05 +0800
Subject: [PATCH] 增加BIMFACE水流动画效果

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs |  495 ++++++++++++++++++++++++++----------------------------
 1 files changed, 242 insertions(+), 253 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 cf1b229..a86a496 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
@@ -2,10 +2,11 @@
 using DevExpress.Mvvm.Native;
 using DevExpress.Pdf.Native;
 using Mapster;
-using Yw.EPAnet;
+using Yw.Epanet;
 using Yw.Hydro;
 using Yw.Model;
 using Yw.Vmo;
+using Yw.WinFrmUI.Bimface;
 
 namespace HStation.WinFrmUI
 {
@@ -20,20 +21,19 @@
             RegistBulkSetEvents();
         }
 
-
-
         #region 妯″瀷浜嬩欢
 
         /// <summary>
         /// 鑾峰彇妯″瀷浜嬩欢
         /// </summary>
         public event Func<XhsSchemeVmo, Task<Yw.Model.HydroModelInfo>> GetModelEvent;
+
         /// <summary>
         /// 鍒锋柊妯″瀷浜嬩欢
         /// </summary>
         public event Func<Task<Yw.Model.HydroModelInfo>> RefreshModelEvent;
 
-        #endregion
+        #endregion 妯″瀷浜嬩欢
 
         #region 鏂规浜嬩欢
 
@@ -41,12 +41,13 @@
         /// 鏇存柊鏂规浜嬩欢
         /// </summary>
         public event Action<XhsSchemeVmo> UpdateSchemeEvent;
+
         /// <summary>
         /// 绉婚櫎鏂规浜嬩欢
         /// </summary>
         public event Action<XhsSchemeVmo> RemoveSchemeEvent;
 
-        #endregion
+        #endregion 鏂规浜嬩欢
 
         #region 宸ュ喌浜嬩欢
 
@@ -54,20 +55,23 @@
         /// 鏂板宸ュ喌浜嬩欢
         /// </summary>
         public event Action<HydroWorkingVmo> AppendWorkingEvent;
+
         /// <summary>
         /// 鏇存柊宸ュ喌浜嬩欢
         /// </summary>
         public event Action<HydroWorkingVmo> UpdateWorkingEvent;
+
         /// <summary>
         /// 绉婚櫎宸ュ喌浜嬩欢
         /// </summary>
         public event Action<HydroWorkingVmo> RemoveWorkingEvent;
+
         /// <summary>
         /// 閲嶈浇宸ュ喌浜嬩欢
         /// </summary>
         public event Action<Dictionary<HydroWorkingVmo, bool>> ReloadWorkingEvent;
 
-        #endregion
+        #endregion 宸ュ喌浜嬩欢
 
         private HStation.Vmo.XhsProjectVmo _project = null;//椤圭洰
         private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//椤圭洰绔�
@@ -112,7 +116,7 @@
         {
             base.InitialDataSource();
             ShowBimfaceCtrl();
-            ShowQ3dCtrl();
+            ShowL3d2Ctrl();
             ShowPropertyCtrl();
             InitialSvgImages();
         }
@@ -121,8 +125,7 @@
         private void InitialSvgImages()
         {
             //鐩戞祴
-            this.barBtnDockingMonitor.ImageOptions.SvgImage = HydroMonitorSvgImageHelper.Docking;
-            this.barBtnAnalyseMonitor.ImageOptions.SvgImage = HydroMonitorSvgImageHelper.Analyse;
+            this.barBtnSetMonitorList.ImageOptions.SvgImage = HydroMonitorSvgImageHelper.Docking;
 
             //姘村簱
             this.barBtnSetReservoirList.ImageOptions.SvgImage = AssetsMainSvgImageHelper.Tank;
@@ -141,6 +144,12 @@
             this.barBtnSetWaterboxList.ImageOptions.SvgImageSize = new Size(32, 32);
             this.barBtnSetWaterboxList.ItemAppearance.Normal.ForeColor = Color.FromArgb(0, 122, 204);
             this.barBtnSetWaterboxList.ImageOptions.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.True;
+
+            //杩炴帴鑺傜偣
+            this.barBtnSetJunctionList.ImageOptions.SvgImage = HydroMainSvgImageHelper.Junction;
+            this.barBtnSetJunctionList.ImageOptions.SvgImageSize = new Size(32, 32);
+            this.barBtnSetJunctionList.ItemAppearance.Normal.ForeColor = Color.FromArgb(0, 122, 204);
+            this.barBtnSetJunctionList.ImageOptions.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.True;
 
             //闂峰ご
             this.barBtnSetBluntheadList.ImageOptions.SvgImage = AssetsMainSvgImageHelper.Blunthead;
@@ -262,7 +271,7 @@
             return helper.GetPropStatusDbList();
         }
 
-        #endregion
+        #endregion 灞炴�х姸鎬�
 
         #region 鏇存敼鐘舵��
 
@@ -311,7 +320,7 @@
             return helper.GetRemoveParters();
         }
 
-        #endregion
+        #endregion 鏇存敼鐘舵��
 
         #region BIM鎺т欢
 
@@ -355,41 +364,41 @@
             this.tabPageBimface.Controls.Add(bimfaceCtrl);
         }
 
-        #endregion
+        #endregion BIM鎺т欢
 
-        #region Q3d鎺т欢
+        #region L3d2鎺т欢
 
-        //Q3d 鎺т欢
-        private XhsProjectSimulationQ3dCtrl _q3dCtrl = null;
+        //L3d2鎺т欢
+        private XhsProjectSimulationL3d2Ctrl _l3d2ctrl = null;
 
-        //鑾峰彇 Q3d 鎺т欢
-        private XhsProjectSimulationQ3dCtrl GetQ3dCtrl()
+        //鑾峰彇L3d2鎺т欢
+        private XhsProjectSimulationL3d2Ctrl GetL3d2Ctrl()
         {
             if (_hydroInfo == null)
             {
                 return default;
             }
-            if (_q3dCtrl == null)
+            if (_l3d2ctrl == null)
             {
-                _q3dCtrl = new XhsProjectSimulationQ3dCtrl();
-                _q3dCtrl.Dock = DockStyle.Fill;
-                _q3dCtrl.InitialData(() => _hydroInfo);
-                _q3dCtrl.SelectedPartersChangedEvent += (codes) =>
+                _l3d2ctrl = new XhsProjectSimulationL3d2Ctrl();
+                _l3d2ctrl.Dock = DockStyle.Fill;
+                _l3d2ctrl.InitialData(hydroInfoFunc: () => _hydroInfo);
+                _l3d2ctrl.SelectedPartersChangedEvent += (codes) =>
                 {
                     var visualListHelper = GetVisualListHelper();
                     var visuals = visualListHelper.GetVisualList(codes);
                     SelectVisual(visuals?.LastOrDefault(), eSimulationVisualSource.Q3d);
                 };
             }
-            return _q3dCtrl;
+            return _l3d2ctrl;
         }
 
-        //鏄剧ず Q3d 鎺т欢
-        private void ShowQ3dCtrl()
+        //鏄剧ずL3d2鎺т欢
+        private void ShowL3d2Ctrl()
         {
-            var q3dCtrl = GetQ3dCtrl();
+            var l3d2Ctrl = GetL3d2Ctrl();
             this.tabPageQ3d.Controls.Clear();
-            this.tabPageQ3d.Controls.Add(q3dCtrl);
+            this.tabPageQ3d.Controls.Add(l3d2Ctrl);
         }
 
         #endregion
@@ -480,6 +489,13 @@
                     var gradingHelper = await GetGradingHelper();
                     gradingHelper.Set(visual);
                 };
+                _propertyCtrl.FlowDirectionPropertyValueChangedEvent += async (visual) =>
+                {
+                    //娴佸悜灞炴�у彂鐢熸敼鍙�
+                    //鍒ゆ柇褰撳墠鏄惁鏈夋祦鍚戝睍绀猴紝鑻ユ湁鍒欐洿鏂版祦鍚戯紝鏈�濂芥槸鏇存柊鍗曚釜娴佸悜
+                    var flowDirectionHelper = await GetFlowEffectHelper();
+                    flowDirectionHelper.Set(visual);
+                };
             }
             return _propertyCtrl;
         }
@@ -504,7 +520,7 @@
         }
 
         //鏄剧ず灞炴�ф帶浠�
-        private async void ShowPropertyCtrl()
+        private async Task ShowPropertyCtrl()
         {
             if (IsPropertyCtrlVisible)
             {
@@ -519,9 +535,9 @@
         }
 
         //璁剧疆灞炴�ф帶浠�
-        private void SetPropertyCtrl(HydroVisualInfo visual)
+        private async void SetPropertyCtrl(HydroVisualInfo visual)
         {
-            ShowPropertyCtrl();
+            await ShowPropertyCtrl();
             var visualVmListHelper = GetVisualVmListHelper();
             var vm = visualVmListHelper.GetVisual(visual);
             _propertyCtrl.SelectedObject = vm;
@@ -550,16 +566,14 @@
                 case eSimulationVisualSource.None:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnDockingMonitor.Enabled = visual != null;
-                        this.barBtnAnalyseMonitor.Enabled = visual != null;
+                        this.barBtnSetMonitorList.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
 
                 case eSimulationVisualSource.Bimface:
                     {
-                        this.barBtnDockingMonitor.Enabled = visual != null;
-                        this.barBtnAnalyseMonitor.Enabled = visual != null;
+                        this.barBtnSetMonitorList.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
@@ -567,8 +581,7 @@
                 case eSimulationVisualSource.Q3d:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnDockingMonitor.Enabled = visual != null;
-                        this.barBtnAnalyseMonitor.Enabled = visual != null;
+                        this.barBtnSetMonitorList.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
@@ -576,16 +589,14 @@
                 case eSimulationVisualSource.Property:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnDockingMonitor.Enabled = visual != null;
-                        this.barBtnAnalyseMonitor.Enabled = visual != null;
+                        this.barBtnSetMonitorList.Enabled = visual != null;
                     }
                     break;
 
                 case eSimulationVisualSource.List:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnDockingMonitor.Enabled = visual != null;
-                        this.barBtnAnalyseMonitor.Enabled = visual != null;
+                        this.barBtnSetMonitorList.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
@@ -593,8 +604,7 @@
                 case eSimulationVisualSource.Set:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnDockingMonitor.Enabled = visual != null;
-                        this.barBtnAnalyseMonitor.Enabled = visual != null;
+                        this.barBtnSetMonitorList.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
@@ -602,8 +612,7 @@
                 case eSimulationVisualSource.Search:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnDockingMonitor.Enabled = visual != null;
-                        this.barBtnAnalyseMonitor.Enabled = visual != null;
+                        this.barBtnSetMonitorList.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
@@ -611,8 +620,7 @@
                 case eSimulationVisualSource.Monitor:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnDockingMonitor.Enabled = visual != null;
-                        this.barBtnAnalyseMonitor.Enabled = visual != null;
+                        this.barBtnSetMonitorList.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
@@ -620,8 +628,7 @@
                 case eSimulationVisualSource.Check:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnDockingMonitor.Enabled = visual != null;
-                        this.barBtnAnalyseMonitor.Enabled = visual != null;
+                        this.barBtnSetMonitorList.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
@@ -629,8 +636,7 @@
                 case eSimulationVisualSource.Calcu:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnDockingMonitor.Enabled = visual != null;
-                        this.barBtnAnalyseMonitor.Enabled = visual != null;
+                        this.barBtnSetMonitorList.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
@@ -638,8 +644,7 @@
                 case eSimulationVisualSource.Warning:
                     {
                         _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
-                        this.barBtnDockingMonitor.Enabled = visual != null;
-                        this.barBtnAnalyseMonitor.Enabled = visual != null;
+                        this.barBtnSetMonitorList.Enabled = visual != null;
                         SetPropertyCtrl(visual);
                     }
                     break;
@@ -704,7 +709,7 @@
             return helper.GetSourceList();
         }
 
-        #endregion
+        #endregion 鍙鍒楄〃
 
         #region 瑙嗗浘鍒楄〃
 
@@ -741,7 +746,7 @@
             return helper.GetVisual(code);
         }
 
-        #endregion
+        #endregion 瑙嗗浘鍒楄〃
 
         #region 鏄庣粏鎺т欢
 
@@ -843,7 +848,7 @@
             ShowVisualListCtrl();
         }
 
-        #endregion
+        #endregion 鏄庣粏鎺т欢
 
         #region 鏋勪欢鏄剧ず
 
@@ -894,7 +899,7 @@
 
         #endregion 鏋勪欢鏄剧ず
 
-        #endregion
+        #endregion 鏋勪欢鏄庣粏
 
         #region 涓�閿樉闅�
 
@@ -944,6 +949,7 @@
 
         //淇濆瓨閿佸畾瀵硅薄
         private object _locker_save = new();
+
         private bool _isSaving = false;//姝e湪淇濆瓨
 
         //淇濆瓨
@@ -986,10 +992,18 @@
 
             WaitFormHelper.ShowWaitForm("姝e湪淇濆瓨锛岃绋嶅悗...");
 
+            bool bol = false;
 
-            var bol = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance
+            try
+            {
+                bol = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance
                 .Update(_hydroInfo, addParterList, updateParterList, removeParters);
-
+            }
+            catch (Exception ex)
+            {
+                XtraMessageBox.Show(ex.Message);
+                _isSaving = false;
+            }
 
             if (!bol)
             {
@@ -1612,7 +1626,7 @@
             }
         }
 
-        #endregion
+        #endregion 鎵归噺閰嶇疆
 
         #region 鏋勪欢鏌ヨ
 
@@ -1757,6 +1771,41 @@
 
         #endregion
 
+        #region 姘存祦鍔ㄧ敾
+
+
+        //姘村姏鍔ㄧ敾杈呭姪绫�
+        private SimulationFlowEffectHelper _flowEffectHelper = null;
+
+        //鑾峰彇姘存祦鍔ㄧ敾杈呭姪绫�
+        private async Task<SimulationFlowEffectHelper> GetFlowEffectHelper()
+        {
+            if (_flowEffectHelper == null)
+            {
+                var visualListHelper = GetVisualListHelper();
+                var calcuResultHelper = GetCalcuResultHelper();
+                var bimfaceCtrl = await GetBimfaceCtrl();
+                _flowEffectHelper = new SimulationFlowEffectHelper(visualListHelper, calcuResultHelper, bimfaceCtrl);
+            }
+            return _flowEffectHelper;
+        }
+
+
+        //姘存祦鍔ㄧ敾鏄惁鍙
+        private async void barCkFlowEffect_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            if (this.barCkFlowEffect.Checked)
+            {
+                this.barCkGrading.Checked = false;
+            }
+            var flowEffectHelper = await GetFlowEffectHelper();
+            flowEffectHelper.Visible = this.barCkFlowEffect.Checked;
+            flowEffectHelper.Set();
+
+        }
+
+        #endregion
+
         #region 棰滆壊鍒嗙骇
 
         //棰滆壊鍒嗙骇杈呭姪绫�
@@ -1832,6 +1881,10 @@
         //棰滆壊鍒嗙骇灞曠ず
         private async void barCkGrading_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
+            if (this.barCkGrading.Checked)
+            {
+                this.barCkFlowEffect.Checked = false;
+            }
             var gradingHelper = await GetGradingHelper();
             gradingHelper.Visible = this.barCkGrading.Checked;
             gradingHelper.Set();
@@ -1864,7 +1917,7 @@
             }
         }
 
-        #endregion
+        #endregion 浜哄伐鍒锋柊
 
         #region 鐩戞祴鐐�
 
@@ -1889,20 +1942,6 @@
             return await helper.GetAll();
         }
 
-        //鑾峰彇鐩戞祴瀵规帴鍒楄〃
-        private async Task<List<HydroMonitorVmo>> GetMonitorDockingList()
-        {
-            var helper = GetMonitorHelper();
-            return await helper.GetDockingList();
-        }
-
-        //鑾峰彇鐩戞祴鍒嗘瀽鍒楄〃
-        private async Task<List<HydroMonitorVmo>> GetMonitorAnalyseList()
-        {
-            var helper = GetMonitorHelper();
-            return await helper.GetAnalyseList();
-        }
-
         #endregion
 
         #region 鐩戞祴鍊�
@@ -1917,8 +1956,7 @@
             {
                 var visualListHelper = GetVisualListHelper();
                 var monitorHelper = GetMonitorHelper();
-                var calcuResultHelper = GetCalcuResultHelper();
-                _monitorValueHelper = new SimulationMonitorValueHelper(visualListHelper, monitorHelper, calcuResultHelper);
+                _monitorValueHelper = new SimulationMonitorValueHelper(visualListHelper, monitorHelper);
             }
             return _monitorValueHelper;
         }
@@ -1930,21 +1968,7 @@
             return await helper.GetAll();
         }
 
-        //鑾峰彇鐩戞祴瀵规帴鍊煎垪琛�
-        private async Task<List<HydroMonitorValueViewModel>> GetMonitorDockingValueList()
-        {
-            var helper = GetMonitorValueHelper();
-            return await helper.GetDockingList();
-        }
-
-        //鑾峰彇鐩戞祴鍒嗘瀽鍊煎垪琛�
-        private async Task<List<HydroMonitorValueViewModel>> GetMonitorAnalyseValueList()
-        {
-            var helper = GetMonitorValueHelper();
-            return await helper.GetAnalyseList();
-        }
-
-        //閲嶇疆
+        //閲嶇疆鐩戞祴鍊�
         private void ResetMonitorValue()
         {
             var allWorkingList = GetWorkingList();
@@ -1956,12 +1980,12 @@
             }
         }
 
-        #endregion 鐩戞祴鍊�
+        #endregion
 
-        #region 浼犳劅鍣ㄦ祴鐐�
+        #region 璁剧疆娴嬬偣
 
-        //璁剧疆鍙鏋勪欢瀵规帴娴嬬偣鍒楄〃
-        private async void SetMonitorDockingList(HydroVisualInfo visual)
+        //璁剧疆娴嬬偣鍒楄〃
+        private async void SetMonitorList(HydroVisualInfo visual)
         {
             if (_hydroInfo == null)
             {
@@ -1975,33 +1999,33 @@
             var allMonitorList = await monitorHelper.GetAll();
             var monitorValueHelper = GetMonitorValueHelper();
             var allMonitorValueList = await monitorValueHelper.GetAll();
-            var calcuResult = GetCalcuResult();
-            var dlg = new SetHydroMonitorDockingListDlg();
+            var dlg = new SetHydroMonitorListDlg();
             dlg.ReloadDataEvent += async (list) =>
             {
                 var monitorList = list?.Select(x => x.Vmo).ToList();
-                await monitorHelper.Update(visual.Code, eSourceType.Docking, monitorList);
-                await monitorValueHelper.Update(visual.Code, eSourceType.Docking, list);
+                await monitorHelper.Update(visual.Code, monitorList);
+                await monitorValueHelper.Update(visual.Code, list);
                 var monitorMarkerHelper = await GetMonitorMarkerHelper();
                 monitorMarkerHelper.Set();
             };
-            dlg.SetBindingData(_hydroInfo, visual, allMonitorList, allMonitorValueList, calcuResult);
+            dlg.SetBindingData(_hydroInfo, visual, allMonitorList, allMonitorValueList);
             dlg.ShowDialog();
         }
 
-        //璁剧疆浼犳劅鍣ㄦ祴鐐�
-        private void barBtnDockingMonitor_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        //璁剧疆娴嬬偣鍒楄〃
+        private void barBtnSetMonitorList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
             if (_visual == null)
             {
+                TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒");
                 return;
             }
-            SetMonitorDockingList(_visual);
+            SetMonitorList(_visual);
         }
 
-        #endregion 浼犳劅鍣ㄦ祴鐐�
+        #endregion
 
-        #region 浼犳劅鍣ㄦ祴鍊�
+        #region 璁剧疆娴嬪��
 
         //鐩戞祴鍊煎垪琛ㄦ帶浠�
         private HydroMonitorValueListCtrl _monitorValueListCtrl = null;
@@ -2041,8 +2065,8 @@
             }
         }
 
-        //鏄剧ず鐩戞祴瀵规帴鍊煎垪琛ㄦ帶浠�
-        private async void ShowMonitorDockingValueListCtrl()
+        //鏄剧ず鐩戞祴鍊煎垪琛ㄦ帶浠�
+        private async void ShowMonitorValueListCtrl()
         {
             var monitorValueListCtrl = GetMonitorValueListCtrl();
             if (!IsMonitorValueListCtrlVisible)
@@ -2050,60 +2074,20 @@
                 this.controlContainerBottom.Controls.Clear();
                 this.controlContainerBottom.Controls.Add(monitorValueListCtrl);
                 this.docPnlBottom.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible;
-                this.docPnlBottom.Text = "浼犳劅鍣ㄦ祴鍊�";
+                this.docPnlBottom.Text = "璁剧疆娴嬪��";
                 this.docPnlBottom.Height = 350;
             }
-            var allValueList = await GetMonitorDockingValueList();
-            var calcuResult = GetCalcuResult();
+            var allValueList = await GetMonitorValueList();
             monitorValueListCtrl.SetBindingData(allValueList);
         }
 
-        //璁剧疆浼犳劅鍣ㄦ祴鍊�
-        private void barBtnDockingMonitorValue_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        //璁剧疆娴嬪��
+        private void barBtnSetMonitorValueList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
-            ShowMonitorDockingValueListCtrl();
+            ShowMonitorValueListCtrl();
         }
 
-        #endregion 浼犳劅鍣ㄦ祴鍊�
-
-        #region 鍒嗘瀽娴嬬偣
-
-        //璁剧疆鍙鏋勪欢鍒嗘瀽娴嬬偣鍒楄〃
-        private async void SetMonitorAnalyseList(HydroVisualInfo visual)
-        {
-            if (_hydroInfo == null)
-            {
-                return;
-            }
-            if (visual == null)
-            {
-                return;
-            }
-            var monitorHelper = GetMonitorHelper();
-            var allMonitorList = await monitorHelper.GetAnalyseList();
-            var dlg = new SetHydroMonitorAnalyseListDlg();
-            dlg.ReloadDataEvent += async (list) =>
-            {
-                await monitorHelper.Update(visual.Code, eSourceType.Analyse, list);
-                //var monitorMarkerHelper = await GetMonitorMarkerHelper();
-                //monitorMarkerHelper.Update(visual.Code, monitorList);
-                //monitorMarkerHelper.Set();
-            };
-            dlg.SetBindingData(_hydroInfo, visual, allMonitorList);
-            dlg.ShowDialog();
-        }
-
-        //璁剧疆鍒嗘瀽娴嬬偣
-        private void barBtnAnalyseMonitor_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
-        {
-            if (_visual == null)
-            {
-                return;
-            }
-            SetMonitorAnalyseList(_visual);
-        }
-
-        #endregion 鍒嗘瀽娴嬬偣
+        #endregion 
 
         #region 娴嬬偣鏍囪
 
@@ -2130,7 +2114,7 @@
             monitorMarkerHelper.Set();
         }
 
-        #endregion 娴嬬偣鏍囪
+        #endregion
 
         #region 妯″瀷妫�鏌�
 
@@ -2234,7 +2218,7 @@
             return _calcuResultHelper;
         }
 
-        #endregion 璁$畻缁撴灉
+        #endregion
 
         #region 璁$畻澶辫触
 
@@ -2399,7 +2383,7 @@
 
         #endregion 璁$畻鏍囩
 
-        #endregion 妯″瀷璁$畻
+        #endregion
 
         #region 瀵煎嚭INP
 
@@ -2517,8 +2501,7 @@
             UpdatePropertyCtrl();
         }
 
-
-        #endregion
+        #endregion 鍘嬪姏鍒囨崲
 
         #region 璇勪环瑙勫垯
 
@@ -2622,9 +2605,12 @@
                     return;
                 }
 
+                var isHead = _calcuPressModeIsHead;
+                var allEvaluationList = await GetEvaluationList();
+
                 WaitFormHelper.ShowWaitForm(this, "姝e湪璁$畻鍒嗘瀽涓紝璇风◢鍊�...");
                 await Task.Delay(3000);
-                var calcuResult = _hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss, _calcuPressModeIsHead);
+                var calcuResult = _hydroInfo.Calcu(isHead, allEvaluationList);
                 WaitFormHelper.HideWaitForm();
                 workingHelper.InitialData(hydroInfo, working, checkResult, calcuResult);
                 if (calcuResult.Succeed)
@@ -2685,7 +2671,7 @@
             Calcu();
         }
 
-        #endregion
+        #endregion 姘村姏璁$畻
 
         #region 瀵煎嚭鎶ュ憡
 
@@ -2715,7 +2701,7 @@
                 allWorkingList = new List<HydroWorkingVmo>() { working };
             }
 
-            #endregion
+            #endregion 宸ュ喌鍒楄〃
 
             #region 閫夋嫨鑺傜偣
 
@@ -2725,7 +2711,7 @@
                 return default;
             }
 
-            #endregion
+            #endregion 閫夋嫨鑺傜偣
 
             var vm = new SimulationPrintViewModel();
 
@@ -2737,7 +2723,7 @@
                 return vm;
             }
 
-            #endregion
+            #endregion 椤圭洰
 
             #region 姘存车鍒楄〃
 
@@ -2747,14 +2733,14 @@
                     return pump;
                 }).ToList();
 
-            #endregion
+            #endregion 姘存车鍒楄〃
 
             #region 闄勫姞淇℃伅
 
             var allMonitorList = await GetMonitorList();
             var allEvaluationList = await GetEvaluationList();
 
-            #endregion
+            #endregion 闄勫姞淇℃伅
 
             #region 鍩虹妯″瀷
 
@@ -2765,7 +2751,7 @@
             }
             var baseHydroInfoRhs = baseHydroInfo.Adapt<Yw.Model.HydroModelInfo>();
 
-            #endregion
+            #endregion 鍩虹妯″瀷
 
             #region 閬嶅巻宸ュ喌
 
@@ -2773,7 +2759,7 @@
             foreach (var working in allWorkingList)
             {
                 baseHydroInfoRhs.UpdateWorkingInfo(working.WorkingInfo);
-                var calcuResult = baseHydroInfoRhs.Calcu(Yw.EPAnet.CalcuMode.MinorLoss, _calcuPressModeIsHead, allEvaluationList);
+                var calcuResult = baseHydroInfoRhs.Calcu(_calcuPressModeIsHead, allEvaluationList);
 
                 var printWorking = new SimulationPrintWorkingViewModel(working);
                 vm.WorkingList.Add(printWorking);
@@ -2792,7 +2778,7 @@
                 printWorking.LossCurve = HydroLossCurveHelper.Create(baseHydroInfoRhs, working, selectedNode, calcuResult, _calcuPressModeIsHead, allEvaluationList);
             }
 
-            #endregion
+            #endregion 閬嶅巻宸ュ喌
 
             #region 鏂规澶勭悊
 
@@ -2804,7 +2790,7 @@
                 foreach (var working in allWorkingList)
                 {
                     hydroInfoRhs.UpdateWorkingInfo(working.WorkingInfo);
-                    var calcuResult = hydroInfoRhs.Calcu(Yw.EPAnet.CalcuMode.MinorLoss, _calcuPressModeIsHead, allEvaluationList);
+                    var calcuResult = hydroInfoRhs.Calcu(_calcuPressModeIsHead, allEvaluationList);
 
                     var printWorking = new SimulationPrintWorkingViewModel(working);
                     vm.Scheme.WorkingList.Add(printWorking);
@@ -2824,8 +2810,7 @@
                 }
             }
 
-            #endregion 
-
+            #endregion 鏂规澶勭悊
 
             return vm;
         }
@@ -2834,46 +2819,46 @@
         private async void barBtnExportWord_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
             var printInfo = await CreatePrintInfo();
-            var printDlg = new SimulationCommonReportDlg();
+            var printDlg = new HStation.WinFrmUI.SimulationCommonReportDlg();
             printDlg.SetBindingData(printInfo);
             printDlg.ShowDialog();
-            if (_visual == null)
-            {
-                SelectInputSource();
-                if (_visual == null)
+            /*    if (_visual == null)
                 {
-                    TipFormHelper.ShowWarn("璇烽�夋嫨鏋勪欢鍚庨噸璇曪紒");
-                    return;
+                    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))
+                HydroVisualInfo visual = _visual;
+                if (_visual is HydroLinkInfo linkInfo)
                 {
-                    return;
+                    var visualListHelper = GetVisualListHelper();
+                    visual = visualListHelper.GetVisual(linkInfo.StartCode);
                 }
-                var reportHelper = new HStation.ReportFile.SimulationWorkingReportHelper();
-                reportHelper.Create(fileName, vm);
-                TipFormHelper.ShowInfo("瀵煎嚭鎴愬姛锛�");
-            };
-            dlg.SetBindingData(_project, _hydroInfo, allMonitorList, working, calcuResult, visual);
-            dlg.ShowDialog();
+
+                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 HStation.ReportFile.SimulationWorkingReportHelper();
+                    reportHelper.Create(fileName, vm);
+                    TipFormHelper.ShowInfo("瀵煎嚭鎴愬姛锛�");
+                };
+                dlg.SetBindingData(_project, _hydroInfo, allMonitorList, working, calcuResult, visual);
+                dlg.ShowDialog();*/
         }
 
-        #endregion
+        #endregion 瀵煎嚭鎶ュ憡
 
         #region 褰撳墠宸ュ喌
 
@@ -2938,7 +2923,7 @@
             AddWorking();
         }
 
-        #endregion
+        #endregion 褰撳墠宸ュ喌
 
         #region 閫夋嫨宸ュ喌
 
@@ -3026,6 +3011,8 @@
                 var monitorValueHelper = GetMonitorValueHelper();
                 var allMonitorValueList = await monitorValueHelper.GetAll();
                 allMonitorValueList.UpdateMonitorValue(rhs.MonitorInfo);
+                var gradingHelper = await GetGradingHelper();
+                gradingHelper.Set();
             };
             dlg.DeleteDataEvent += (rhs) =>
             {
@@ -3035,7 +3022,7 @@
             dlg.ShowDialog();
         }
 
-        #endregion
+        #endregion 閫夋嫨宸ュ喌
 
         #region 鐩戞祴鍒嗘瀽
 
@@ -3105,7 +3092,7 @@
                 this.docPnlBottom.Height = 350;
             }
 
-            var allMonitorList = await GetMonitorAnalyseList();
+            var allMonitorList = await GetMonitorList();
             var isHead = _calcuPressModeIsHead;
             var allEvaluationList = await GetEvaluationList();
 
@@ -3179,10 +3166,11 @@
             {
                 return;
             }
-            var allMonitorList = await GetMonitorDockingList();
+
+            var allMonitorList = await GetMonitorList();
             if (allMonitorList == null || allMonitorList.Count < 1)
             {
-                TipFormHelper.ShowWarn("璇烽厤缃紶鎰熷櫒娴嬬偣鍚庨噸璇曪紒");
+                TipFormHelper.ShowWarn("璇疯缃洃娴嬬偣鍚庨噸璇曪紒");
                 return;
             }
 
@@ -3192,6 +3180,14 @@
             var workingList = GetCheckedWorkingList();
             if (workingList == null || workingList.Count < 1)
             {
+                var allMonitorValueList = await GetMonitorValueList();
+                allMonitorValueList = allMonitorValueList?.Where(x => x.PropValue.HasValue).ToList();
+                if (allMonitorValueList == null || allMonitorValueList.Count < 1)
+                {
+                    TipFormHelper.ShowWarn("璇疯缃洃娴嬪�煎悗锛岄噸鏂拌绠楋紒");
+                    return;
+                }
+
                 var workingHelper = GetWorkingHelper();
                 if (!workingHelper.Initialized)
                 {
@@ -3210,11 +3206,17 @@
         }
 
         //姘存车鍒嗘瀽
-        private void barBtnPumpAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        private async void barBtnPumpAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
-            var workingCheckedListHelper = GetWorkingCheckedListHelper();
-            var allCheckedWorkingList = workingCheckedListHelper.GetCheckedWorkingList();
-            if (allCheckedWorkingList == null || allCheckedWorkingList.Count < 1)
+            if (_hydroInfo == null)
+            {
+                return;
+            }
+            var isHead = _calcuPressModeIsHead;
+            var allEvaluationList = await GetEvaluationList();
+
+            var workingList = GetCheckedWorkingList();
+            if (workingList == null || workingList.Count < 1)
             {
                 var workingHelper = GetWorkingHelper();
                 if (!workingHelper.Initialized)
@@ -3222,16 +3224,15 @@
                     TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�");
                     return;
                 }
-                var dlg = new SimulationSingleWorkingPumpAnalyDlg();
-                dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult);
+                var dlg = new SimulationPumpAnalyDlg();
+                dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.Working, workingHelper.CalcuResult, isHead, allEvaluationList);
                 dlg.ShowDialog();
+                return;
             }
-            else
-            {
-                var dlg = new SimulationMultiWorkingPumpAnalyDlg();
-                dlg.SetBindingData(_hydroInfo, allCheckedWorkingList);
-                dlg.ShowDialog();
-            }
+
+            var workingDlg = new SimulationPumpAnalyWorkingDlg();
+            workingDlg.SetBindingData(_hydroInfo, workingList, isHead, allEvaluationList);
+            workingDlg.ShowDialog();
         }
 
         //鑳芥晥鍒嗘瀽
@@ -3298,31 +3299,23 @@
         //缁煎悎鍒嗘瀽
         private async void barBtnWorkingAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
-            if (_visual == null)
+            if (_hydroInfo == 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);
+                return;
             }
 
-            var monitorHelper = GetMonitorHelper();
-            var allMonitorList = await monitorHelper.GetAll();
+            var selectNode = GetSelectNode();
+            if (selectNode == null)
+            {
+                return;
+            }
 
-            var workingCheckedListHelper = GetWorkingCheckedListHelper();
-            var allCheckedWorkingList = workingCheckedListHelper.GetCheckedWorkingList();
-            if (allCheckedWorkingList == null || allCheckedWorkingList.Count < 1)
+            var allMonitorList = await GetMonitorList();
+            var isHead = _calcuPressModeIsHead;
+            var allEvaluationList = await GetEvaluationList();
+
+            var workingList = GetCheckedWorkingList();
+            if (workingList == null || workingList.Count < 1)
             {
                 var workingHelper = GetWorkingHelper();
                 if (!workingHelper.Initialized)
@@ -3330,16 +3323,15 @@
                     TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�");
                     return;
                 }
-                var dlg = new SimulationSingleWorkingAnalyDlg();
-                dlg.SetBindingData(workingHelper.HydroInfo, allMonitorList, workingHelper.Working, workingHelper.CalcuResult, visual);
+                var dlg = new SimulationMultiAnalyDlg();
+                dlg.SetBindingData(workingHelper.HydroInfo, allMonitorList, workingHelper.Working, selectNode, workingHelper.CalcuResult, isHead, allEvaluationList);
                 dlg.ShowDialog();
+                return;
             }
-            else
-            {
-                var dlg = new SimulationMultiWorkingAnalyDlg();
-                dlg.SetBindingData(_hydroInfo, allMonitorList, allCheckedWorkingList, visual);
-                dlg.ShowDialog();
-            }
+
+            var workingDlg = new SimulationMultiAnalyWorkingDlg();
+            workingDlg.SetBindingData(_hydroInfo, allMonitorList, workingList, selectNode, isHead, allEvaluationList);
+            workingDlg.ShowDialog();
         }
 
         #endregion
@@ -3445,7 +3437,7 @@
             dlg.ShowDialog();
         }
 
-        #endregion
+        #endregion 鎹熷け鏇茬嚎
 
         #region 鏂规绠$悊
 
@@ -3521,9 +3513,6 @@
         }
 
         #endregion 鏂规绠$悊
-
-
-
 
 
     }

--
Gitblit v1.9.3