From 288e87195c7b604e87fe4b98aa759c5fff6e2346 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期三, 19 二月 2025 00:10:12 +0800
Subject: [PATCH] 能效分析

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs |  131 ++++++++++++++++++++++---------------------
 1 files changed, 66 insertions(+), 65 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 e6c4d62..1f14d3d 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
@@ -2787,9 +2787,9 @@
                 //鑳借�楀垎鏋�
                 printWorking.EnergyAnaly = SimulationPrintEnergyAnalyHelper.Create(baseHydroInfoRhs, working, calcuResult, _calcuPressModeIsHead, allEvaluationList);
                 //鎹熷け缁熻
-                printWorking.LossStatistics = SimulationPrintLossStatisticsHelper.Create(baseHydroInfoRhs, working, calcuResult, _calcuPressModeIsHead, allEvaluationList);
+                printWorking.LossStatistics = HydroLossStatisticsHelper.Create(baseHydroInfoRhs, working, calcuResult, _calcuPressModeIsHead, allEvaluationList);
                 //鎹熷け鏇茬嚎
-                printWorking.LossCurve = SimulationPrintLossCurveHelper.Create(baseHydroInfoRhs, working, selectedNode, calcuResult, _calcuPressModeIsHead, allEvaluationList);
+                printWorking.LossCurve = HydroLossCurveHelper.Create(baseHydroInfoRhs, working, selectedNode, calcuResult, _calcuPressModeIsHead, allEvaluationList);
             }
 
             #endregion
@@ -2818,9 +2818,9 @@
                     //鑳借�楀垎鏋�
                     printWorking.EnergyAnaly = SimulationPrintEnergyAnalyHelper.Create(hydroInfoRhs, working, calcuResult, _calcuPressModeIsHead, allEvaluationList);
                     //鎹熷け缁熻
-                    printWorking.LossStatistics = SimulationPrintLossStatisticsHelper.Create(hydroInfoRhs, working, calcuResult, _calcuPressModeIsHead, allEvaluationList);
+                    printWorking.LossStatistics = HydroLossStatisticsHelper.Create(hydroInfoRhs, working, calcuResult, _calcuPressModeIsHead, allEvaluationList);
                     //鎹熷け鏇茬嚎
-                    printWorking.LossCurve = SimulationPrintLossCurveHelper.Create(hydroInfoRhs, working, selectedNode, calcuResult, _calcuPressModeIsHead, allEvaluationList);
+                    printWorking.LossCurve = HydroLossCurveHelper.Create(hydroInfoRhs, working, selectedNode, calcuResult, _calcuPressModeIsHead, allEvaluationList);
                 }
             }
 
@@ -3245,11 +3245,18 @@
         }
 
         //鎹熷け缁熻
-        private void barBtnWorkingLossStatistics_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        private async void barBtnWorkingLossStatistics_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 hydroInfo = _hydroInfo.Adapt<Yw.Model.HydroModelInfo>();
+            var isHead = _calcuPressModeIsHead;
+            var allEvaluationList = await GetEvaluationList();
+
+            var workingList = GetCheckedWorkingList();
+            if (workingList == null || workingList.Count < 1)
             {
                 var workingHelper = GetWorkingHelper();
                 if (!workingHelper.Initialized)
@@ -3257,16 +3264,15 @@
                     TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�");
                     return;
                 }
-                var dlg = new HydroSingleWorkingLossStatisticsDlg();
-                dlg.SetBindingData(workingHelper.HydroInfo);
+                var dlg = new HydroLossStatisticsDlg();
+                dlg.SetBindingData(hydroInfo, workingHelper.Working, workingHelper.CalcuResult, isHead, allEvaluationList);
                 dlg.ShowDialog();
+                return;
             }
-            else
-            {
-                var dlg = new HydroMultiWorkingLossStatisticsDlg();
-                dlg.SetBindingData(_hydroInfo, allCheckedWorkingList);
-                dlg.ShowDialog();
-            }
+
+            var workingDlg = new HydroLossStatisticsWorkingDlg();
+            workingDlg.SetBindingData(hydroInfo, workingList, isHead, allEvaluationList);
+            workingDlg.ShowDialog();
         }
 
         //缁煎悎鍒嗘瀽
@@ -3316,39 +3322,39 @@
             }
         }
 
-        #endregion 宸ュ喌鍒嗘瀽
+        #endregion
 
         #region 鎹熷け鏇茬嚎
 
-        //鍗曞伐鍐垫崯澶辨洸绾挎帶浠�
-        private HydroSingleWorkingLossCurveInteropCtrl _singleWorkingLossCurveCtrl = null;
+        //鎹熷け鏇茬嚎浜や簰鎺т欢
+        private HydroLossCurveInteropCtrl _lossCurveInteropCtrl = null;
 
-        //鑾峰彇鍗曞伐鍐垫崯澶辨洸绾挎帶浠�
-        private HydroSingleWorkingLossCurveInteropCtrl GetSingleWorkingLossCurveCtrl()
+        //鑾峰彇鎹熷け鏇茬嚎浜や簰鎺т欢
+        private HydroLossCurveInteropCtrl GetLossCurveInteropCtrl()
         {
-            if (_singleWorkingLossCurveCtrl == null)
+            if (_lossCurveInteropCtrl == null)
             {
-                _singleWorkingLossCurveCtrl = new HydroSingleWorkingLossCurveInteropCtrl();
-                _singleWorkingLossCurveCtrl.Dock = DockStyle.Fill;
-                _singleWorkingLossCurveCtrl.HydroClickEvent += (code) =>
+                _lossCurveInteropCtrl = new HydroLossCurveInteropCtrl();
+                _lossCurveInteropCtrl.Dock = DockStyle.Fill;
+                _lossCurveInteropCtrl.HydroClickEvent += (code) =>
                 {
                     var visual = GetVisual(code);
                     SelectVisual(visual, eSimulationVisualSource.None);
                 };
-                _singleWorkingLossCurveCtrl.HydroSpecialDisplayEvent += (list) =>
+                _lossCurveInteropCtrl.HydroSpecialDisplayEvent += (list) =>
                 {
                     _bimfaceCtrl?.SetLogicOutlineGlowEffect(list);
                 };
-                _singleWorkingLossCurveCtrl.HydroCancelSpecialDisplayEvent += () =>
+                _lossCurveInteropCtrl.HydroCancelSpecialDisplayEvent += () =>
                 {
                     _bimfaceCtrl?.RemoveLogicOutlineGlowEffect();
                 };
             }
-            return _singleWorkingLossCurveCtrl;
+            return _lossCurveInteropCtrl;
         }
 
-        //鍗曞伐鍐垫崯澶辨洸绾挎帶浠舵槸鍚﹀彲瑙�
-        private bool IsSingleWorkingLossCurveCtrlVisible
+        //鎹熷け鏇茬嚎鎺т欢鏄惁鍙
+        private bool IsLossCurveInteropCtrlVisible
         {
             get
             {
@@ -3356,7 +3362,7 @@
                 {
                     if (this.controlContainerBottom.Controls.Count > 0)
                     {
-                        if (this.controlContainerBottom.Controls[0] is HydroSingleWorkingLossCurveInteropCtrl)
+                        if (this.controlContainerBottom.Controls[0] is HydroLossCurveInteropCtrl)
                         {
                             return true;
                         }
@@ -3366,43 +3372,43 @@
             }
         }
 
-        //鏄剧ず鍗曞伐鍐垫崯澶辨洸绾挎帶浠�
-        private void ShowSingleWorkingLossCurveCtrl(Yw.Model.HydroModelInfo hydroInfo, HydroCalcuResult calcuResult, HydroVisualInfo visual)
+        //鏄剧ず鎹熷け鏇茬嚎鎺т欢
+        private void ShowLossCurveInteropCtrl
+            (
+                Yw.Model.HydroModelInfo hydroInfo,
+                HydroWorkingVmo working,
+                HydroNodeInfo node,
+                HydroCalcuResult calcuResult = null,
+                bool isHead = false,
+                List<HydroEvaluationVmo> allEvaluationList = null
+            )
         {
-            var singleWorkingLossCurveCtrl = GetSingleWorkingLossCurveCtrl();
-            if (!IsSingleWorkingLossCurveCtrlVisible)
+            var ctrl = GetLossCurveInteropCtrl();
+            if (!IsLossCurveInteropCtrlVisible)
             {
                 this.controlContainerBottom.Controls.Clear();
-                this.controlContainerBottom.Controls.Add(singleWorkingLossCurveCtrl);
+                this.controlContainerBottom.Controls.Add(ctrl);
                 this.docPnlBottom.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible;
                 this.docPnlBottom.Text = "鎹熷け鏇茬嚎";
                 this.docPnlBottom.Height = 350;
             }
-            singleWorkingLossCurveCtrl.SetBindingData(hydroInfo, calcuResult, visual);
+            ctrl.SetBindingData(hydroInfo, working, node, calcuResult, isHead, allEvaluationList);
         }
 
         //鎹熷け鏇茬嚎
-        private void barBtnWorkingLossCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        private async void barBtnLossCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
-            if (_visual == null)
+            var node = GetSelectNode();
+            if (node == 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 workingCheckedListHelper = GetWorkingCheckedListHelper();
-            var allCheckedWorkingList = workingCheckedListHelper.GetCheckedWorkingList();
-            if (allCheckedWorkingList == null || allCheckedWorkingList.Count < 1)
+            var isHead = _calcuPressModeIsHead;
+            var allEvaluationList = await GetEvaluationList();
+
+            var workingList = GetCheckedWorkingList();
+            if (workingList == null || workingList.Count < 1)
             {
                 var workingHelper = GetWorkingHelper();
                 if (!workingHelper.Initialized)
@@ -3410,18 +3416,13 @@
                     TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�");
                     return;
                 }
-                ShowSingleWorkingLossCurveCtrl(workingHelper.HydroInfo, workingHelper.CalcuResult, visual);
+                ShowLossCurveInteropCtrl(workingHelper.HydroInfo, workingHelper.Working, node, workingHelper.CalcuResult, isHead, allEvaluationList);
+                return;
             }
-            else
-            {
-                var dlg = new HydroMultiWorkingLossCurveDlg();
-                dlg.HydroClickEvent += (code) =>
-                {
-                    SelectVisual(code, eSimulationVisualSource.None);
-                };
-                dlg.SetBindingData(_hydroInfo, allCheckedWorkingList, visual);
-                dlg.ShowDialog();
-            }
+
+            var dlg = new HydroLossCurveMultiWorkingDlg();
+            dlg.SetBindingData(_hydroInfo, workingList, node, _calcuPressModeIsHead, allEvaluationList);
+            dlg.ShowDialog();
         }
 
         #endregion

--
Gitblit v1.9.3