From ab65b0ac21e7fabfd8548538142d9a1b66a2ad3d Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期五, 20 十二月 2024 13:14:49 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs | 129 ++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 120 insertions(+), 9 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 5762390..5004c5e 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 @@ -25,25 +25,46 @@ private HydroWorkingVmo _working = null; private Yw.Model.HydroModelInfo _hydroInfo = null; + private List<HydroMonitorVmo> _allMonitorList = null; private Dictionary<string, HydroCalcuVisualResult> _allCalcuResultVisualDict = null; + /// <summary> + /// 缁戝畾鏁版嵁 + /// </summary> public void SetBindingData - (HydroWorkingVmo working, Yw.Model.HydroModelInfo hydroInfo, HydroCalcuResult calcuResult) + ( + HydroWorkingVmo working, + Yw.Model.HydroModelInfo hydroInfo, + List<HydroMonitorVmo> allMonitorList, + HydroCalcuResult calcuResult + ) { var allCalcuResultVisualDict = calcuResult.GetVisualDict(); - SetBindingData(working, hydroInfo, allCalcuResultVisualDict); + SetBindingData(working, hydroInfo, allMonitorList, allCalcuResultVisualDict); } + /// <summary> + /// 缁戝畾鏁版嵁 + /// </summary> public void SetBindingData - (HydroWorkingVmo working, Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict) + ( + HydroWorkingVmo working, + Yw.Model.HydroModelInfo hydroInfo, + List<HydroMonitorVmo> allMonitorList, + Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict + ) { _working = working; _hydroInfo = hydroInfo; + _allMonitorList = allMonitorList; _allCalcuResultVisualDict = allCalcuResultVisualDict; var vm = CreateViewModel(); SetBindingData(vm); } + /// <summary> + /// 缁戝畾鏁版嵁 + /// </summary> public void SetBindingData(PumpWorkingViewViewModel vm) { this.pumpWorkingViewChart1.SetBindingData(vm); @@ -54,8 +75,6 @@ } this.barCkE.Checked = this.pumpWorkingViewChart1.QEVisible; } - - //鍒涘缓 private PumpWorkingViewViewModel CreateViewModel() @@ -78,7 +97,92 @@ vm.CurveName = $"瑁呯疆绾�"; vm.Color = Color.Black; - vm.StartH = 2; + + double startHeadValue = 0; + 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) + { + 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); + } + } + } + + 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.鍑哄彛}); + } + + 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 - startHeadValue, 2); + } + } + } if (_hydroInfo.Pumps != null && _hydroInfo.Pumps.Count > 0) { @@ -140,9 +244,6 @@ } } - - vm.PipeQ = vm.Items.Sum(t => t.Q); - vm.PipeH = vm.Items.Max(t => t.H); } } @@ -176,5 +277,15 @@ { this.pumpWorkingViewChart1.SetChartAxis(); } + + /// <summary> + /// + /// </summary> + /// <param name="fileName"></param> + public void ExportToImage(string fileName) + { + this.pumpWorkingViewChart1.ExportToImage(fileName); + } + } } -- Gitblit v1.9.3