| | |
| | | |
| | | 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); |
| | |
| | | } |
| | | this.barCkE.Checked = this.pumpWorkingViewChart1.QEVisible; |
| | | } |
| | | |
| | | |
| | | |
| | | //创建 |
| | | private PumpWorkingViewViewModel CreateViewModel() |
| | |
| | | vm.CurveName = $"装置线"; |
| | | vm.Color = Color.Black; |
| | | |
| | | vm.StartH = 2; |
| | | 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.出口}); |
| | | } |
| | | |
| | | 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) |
| | | { |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | vm.PipeQ = vm.Items.Sum(t => t.Q); |
| | | vm.PipeH = vm.Items.Max(t => t.H); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | this.pumpWorkingViewChart1.SetChartAxis(); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |