From 31a8e93cf1cc708b68456b88aa5b0031a41eb47a Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期二, 10 十二月 2024 16:36:45 +0800
Subject: [PATCH] 能耗分析

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs |   81 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 76 insertions(+), 5 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs
index c2679be..cceae08 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs
@@ -100,12 +100,86 @@
             var startSourceMonitor = _allMonitorList?
                 .Matching(HydroVisualCalcuProp.CalcuHead, new List<string>()
                 { HStation.Xhs.Flags.姘存簮,HStation.Xhs.Flags.濮嬬,HStation.Xhs.Flags.榛樿});
+            if (startSourceMonitor == null)
+            {
+                startSourceMonitor = _allMonitorList?
+                .Matching(HydroVisualCalcuProp.CalcuHead, new List<string>()
+                { HStation.Xhs.Flags.姘存簮,HStation.Xhs.Flags.濮嬬});
+            }
+            if (startSourceMonitor != null)
+            {
+                var startSourceCalcuResult = _allCalcuResultVisualDict?.GetValue(startSourceMonitor.Relation);
+                if (startSourceCalcuResult != null)
+                {
+                    var startHead = startSourceCalcuResult.GetCalcuValue(startSourceMonitor.PropName);
+                    if (startHead.HasValue)
+                    {
+                        var endSourceMonitor = _allMonitorList?
+                                    .Matching(HydroVisualCalcuProp.CalcuHead, new List<string>()
+                                    { HStation.Xhs.Flags.姘存簮,HStation.Xhs.Flags.鏈,HStation.Xhs.Flags.榛樿});
+                        if (endSourceMonitor == null)
+                        {
+                            endSourceMonitor = _allMonitorList?
+                                        .Matching(HydroVisualCalcuProp.CalcuHead, new List<string>()
+                                        { HStation.Xhs.Flags.姘存簮,HStation.Xhs.Flags.鏈});
+                        }
+                        if (endSourceMonitor != null)
+                        {
+                            var endSouceCalcuResult = _allCalcuResultVisualDict?.GetValue(endSourceMonitor.Relation);
+                            if (endSouceCalcuResult != null)
+                            {
+                                var endHead = endSouceCalcuResult.GetCalcuValue(endSourceMonitor.PropName);
+                                if (endHead.HasValue)
+                                {
+                                    vm.StartH = Math.Round(endHead.Value - startHead.Value, 2);
+                                }
+                            }
+                        }
+                    }
 
+                }
+            }
 
+            var outPipeFlowMonitor = _allMonitorList?.Matching(HydroVisualCalcuProp.CalcuFlow, new List<string>()
+                            { HStation.Xhs.Flags.鎬荤,HStation.Xhs.Flags.鍑哄彛,HStation.Xhs.Flags.榛樿});
+            if (outPipeFlowMonitor == null)
+            {
+                outPipeFlowMonitor = _allMonitorList?.Matching(HydroVisualCalcuProp.CalcuFlow, new List<string>()
+                        { HStation.Xhs.Flags.鎬荤,HStation.Xhs.Flags.鍑哄彛});
+            }
+            if (outPipeFlowMonitor != null)
+            {
+                var outPipeFlowCalcuResult = _allCalcuResultVisualDict?.GetValue(outPipeFlowMonitor.Relation);
+                if (outPipeFlowCalcuResult != null)
+                {
+                    var outPipeFlow = outPipeFlowCalcuResult.GetCalcuValue(outPipeFlowMonitor.PropName);
+                    if (outPipeFlow.HasValue)
+                    {
+                        vm.PipeQ = Math.Round(outPipeFlow.Value, 1);
+                    }
+                }
+            }
 
+            var outPipeHeadMonitor = _allMonitorList?.Matching(HydroVisualCalcuProp.CalcuHead, new List<string>()
+                            { HStation.Xhs.Flags.鎬荤,HStation.Xhs.Flags.鍑哄彛,HStation.Xhs.Flags.榛樿});
+            if (outPipeHeadMonitor == null)
+            {
+                outPipeHeadMonitor = _allMonitorList?.Matching(HydroVisualCalcuProp.CalcuHead, new List<string>()
+                            { HStation.Xhs.Flags.鎬荤,HStation.Xhs.Flags.鍑哄彛});
+            }
 
-
-            vm.StartH = 2;
+            if (outPipeHeadMonitor != null)
+            {
+                var outPipeHeadCalcuResult = _allCalcuResultVisualDict?.GetValue(outPipeHeadMonitor.Relation);
+                if (outPipeHeadCalcuResult != null)
+                {
+                    var outPipeHead = outPipeHeadCalcuResult.GetCalcuValue(outPipeHeadMonitor.PropName);
+                    if (outPipeHead.HasValue)
+                    {
+                        vm.PipeH = Math.Round(outPipeHead.Value, 2);
+                    }
+                }
+            }
 
             if (_hydroInfo.Pumps != null && _hydroInfo.Pumps.Count > 0)
             {
@@ -167,9 +241,6 @@
                         }
 
                     }
-
-                    vm.PipeQ = vm.Items.Sum(t => t.Q);
-                    vm.PipeH = vm.Items.Max(t => t.H);
                 }
             }
 

--
Gitblit v1.9.3