lixiaojun
2024-12-11 d60d42b1ac40fa619dbe21b5692cbd07d772a0b1
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs
@@ -97,6 +97,8 @@
            vm.CurveName = $"装置线";
            vm.Color = Color.Black;
            double startHeadValue = 0;
            var startSourceMonitor = _allMonitorList?
                .Matching(HydroVisualCalcuProp.CalcuHead, new List<string>()
                { HStation.Xhs.Flags.水源,HStation.Xhs.Flags.始端,HStation.Xhs.Flags.默认});
@@ -114,29 +116,30 @@
                    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);
                                }
                            }
                        }
                        startHeadValue = startHead.Value;
                    }
                }
            }
            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 - startHeadValue, 2);
                    }
                }
            }
@@ -176,7 +179,7 @@
                    var outPipeHead = outPipeHeadCalcuResult.GetCalcuValue(outPipeHeadMonitor.PropName);
                    if (outPipeHead.HasValue)
                    {
                        vm.PipeH = Math.Round(outPipeHead.Value, 2);
                        vm.PipeH = Math.Round(outPipeHead.Value - startHeadValue, 2);
                    }
                }
            }