From a95dc42495472cf931db97f8ccbe9d075708aa0b Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期二, 22 十月 2024 16:33:40 +0800 Subject: [PATCH] 修改泵信息界面 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs | 182 ++++++++++++++++++++++----------------------- 1 files changed, 88 insertions(+), 94 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs index cb283d1..d0fdb54 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs @@ -334,28 +334,31 @@ #region 寮鸿皟鏋勪欢 + private const string _blinkColor = "#32D3A6";//寮鸿皟鏋勪欢棰滆壊 + private const double _blinkTransparency = 0.8d; //寮鸿皟鏋勪欢閫忔槑搴� + /// <summary> /// 璁剧疆寮鸿皟鏋勪欢 /// </summary> public async Task SetBlinkComponents(List<string> elementIds, string color, double transparency) { - if (_bimfaceInteropContainer == null) - { - return; - } - await _bimfaceInteropContainer.SetBlinkComponents(elementIds, color, transparency); + await _bimfaceInteropContainer?.SetBlinkComponents(elementIds, color, transparency); + } + + /// <summary> + /// 璁剧疆寮鸿皟鏋勪欢 + /// </summary> + public async Task SetBlinkComponents(List<string> elementIds) + { + await _bimfaceInteropContainer?.SetBlinkComponents(elementIds, _blinkColor, _blinkTransparency); } /// <summary> /// 娓呴櫎寮鸿皟鏋勪欢 /// </summary> - public async Task SetBlinkComponents() + public async Task ClearBlinkComponents() { - if (_bimfaceInteropContainer == null) - { - return; - } - await _bimfaceInteropContainer.ClearBlinkComponents(); + await _bimfaceInteropContainer?.ClearBlinkComponents(); } #endregion @@ -377,7 +380,7 @@ /// <summary> /// 鎭㈠鏋勪欢棰滆壊 /// </summary> - public async Task SetBlinkComponents(List<string> elementIds) + public async Task RestoreComponentsColor(List<string> elementIds) { if (_bimfaceInteropContainer == null) { @@ -388,30 +391,91 @@ #endregion - #region 鑷畾涔夋爣绛� + #region 涓氬姟璁$畻鑷畾涔夋爣绛� /// <summary> - /// 璁剧疆鑷畾涔夋爣绛� + /// 鏄剧ず涓氬姟璁$畻鑷畾涔夋爣绛� /// </summary> - public async Task SetCustomLabels(List<CustomLabel> obj) + public async Task SetLogicCalcuCustomLabels(CalcuResult calcuResult) { - if (_bimfaceInteropContainer == null) + var hydroInfo = _hydroInfoFunc?.Invoke(); + if (hydroInfo == null) { return; } - await _bimfaceInteropContainer.SetCustomLabels(obj); + if (calcuResult == null) + { + return; + } + if (!calcuResult.Succeed) + { + await _bimfaceInteropContainer?.ClearLogicCalcuCustomLabels(); + return; + } + var obj = new List<CustomLabel>(); + var allParterList = hydroInfo.GetAllParters(); + allParterList?.ForEach(x => + { + if (x is Yw.Model.HydroPumpInfo pump) + { + var hz = pump.RatedHz * pump.SpeedRatio; + var calcuPump = calcuResult.LinkList.Find(x => x.Id == pump.Code); + var calcuPumpStart = calcuResult.NodeList.Find(x => x.Id == pump.StartCode); + var calcuPumpEnd = calcuResult.NodeList.Find(x => x.Id == pump.EndCode); + var pumpCustomLabel = new CustomLabel(); + pumpCustomLabel.Id = pump.Code; + pumpCustomLabel.Data = new List<CustomLabelItem>() + { + new CustomLabelItem(){ Name="鐘舵��",Value=HydroLinkStatusHelper.GetStatusName(pump.LinkStatus),Unit=string.Empty}, + new CustomLabelItem(){ Name="棰戠巼",Value=hz.ToString(),Unit=string.Empty}, + new CustomLabelItem(){ Name="娴侀噺",Value=Math.Round(calcuPump.Flow,1).ToString(),Unit="m鲁/h"}, + new CustomLabelItem(){ Name="杩涘彛鍘嬪姏",Value=Math.Round(calcuPumpStart.Head,4).ToString(),Unit="m"}, + new CustomLabelItem(){ Name="鍑哄彛鍘嬪姏",Value=Math.Round(calcuPumpEnd.Head,4).ToString(),Unit="m"}, + }; + obj.Add(pumpCustomLabel); + } + else if (x is Yw.Model.HydroEmitterInfo emitter) + { + var calcuEmitter = calcuResult.NodeList.Find(x => x.Id == emitter.Code); + var emitterCustomLabel = new CustomLabel(); + emitterCustomLabel.Id = emitter.Code; + emitterCustomLabel.Data = new List<CustomLabelItem>() + { + new CustomLabelItem(){ Name="娴侀噺",Value=Math.Round(calcuEmitter.Demand,1).ToString(),Unit="m鲁/h"}, + new CustomLabelItem(){ Name="鍘嬪姏",Value=Math.Round(calcuEmitter.Head,4).ToString(),Unit="m"} + }; + obj.Add(emitterCustomLabel); + } + }); + await _bimfaceInteropContainer?.SetLogicCalcuCustomLabels(obj); } /// <summary> - /// 娓呴櫎鑷畾涔夋爣绛� + /// 娓呴櫎涓氬姟璁$畻鑷畾涔夋爣绛� /// </summary> - public async Task ClearCustomLabels() + public async Task ClearLogicCalcuCustomLabels() { - if (_bimfaceInteropContainer == null) - { - return; - } - await _bimfaceInteropContainer.ClearCustomLabels(); + await _bimfaceInteropContainer?.ClearLogicCalcuCustomLabels(); + } + + #endregion + + #region 涓氬姟鏍囨敞寮曠嚎鏍囩 + + /// <summary> + /// 璁剧疆涓氬姟鏍囨敞寮曠嚎鏍囩 + /// </summary> + public async Task SetLogicMarkLeadLabels(List<LogicMarkLeadLabel> obj) + { + await _bimfaceInteropContainer?.SetLogicMarkLeadLabels(obj); + } + + /// <summary> + /// 娓呴櫎涓氬姟鏍囨敞寮曠嚎鏍囩 + /// </summary> + public async Task ClearLogicMarkLeadLabels() + { + await _bimfaceInteropContainer?.ClearLogicMarkLeadLabels(); } #endregion @@ -489,7 +553,6 @@ #endregion - #region 璁剧疆Open鏋勪欢棰滆壊 private const string _openComponentColor = "#2E8B57"; @@ -519,77 +582,8 @@ #endregion - #region 鑷畾涔夋爣绛� - /// <summary> - /// 鏄剧ず璁$畻鑷畾涔夋爣绛� - /// </summary> - public async Task ShowCalcuCustomLabels(CalcuResult calcuResult) - { - var hydroInfo = _hydroInfoFunc?.Invoke(); - if (hydroInfo == null) - { - return; - } - if (calcuResult == null) - { - return; - } - if (!calcuResult.Succeed) - { - await _bimfaceInteropContainer.ClearCustomLabels(); - return; - } - var obj = new List<CustomLabel>(); - var allParterList = hydroInfo.GetAllParters(); - allParterList?.ForEach(x => - { - if (x is Yw.Model.HydroPumpInfo pump) - { - double? speed = pump.RatedN; - if (speed.HasValue) - { - if (pump.SpeedRatio.HasValue) - { - speed = speed.Value * pump.SpeedRatio.Value; - } - } - var calcuPump = calcuResult.LinkList.Find(x => x.Id == pump.Code); - var calcuPumpStart = calcuResult.NodeList.Find(x => x.Id == pump.StartCode); - var calcuPumpEnd = calcuResult.NodeList.Find(x => x.Id == pump.EndCode); - var pumpCustomLabel = new CustomLabel(); - pumpCustomLabel.Id = pump.Code; - pumpCustomLabel.Data = new List<CustomLabelItem>() - { - new CustomLabelItem(){ Name="鐘舵��",Value=HydroLinkStatusHelper.GetStatusName(pump.LinkStatus),Unit=string.Empty}, - new CustomLabelItem(){ Name="杞��",Value=speed?.ToString(),Unit="r/min"}, - new CustomLabelItem(){ Name="娴侀噺",Value=Math.Round(calcuPump.Flow,1).ToString(),Unit="m鲁/h"}, - new CustomLabelItem(){ Name="杩涘彛鍘嬪姏",Value=Math.Round(calcuPumpStart.Head,4).ToString(),Unit="m"}, - new CustomLabelItem(){ Name="鍑哄彛鍘嬪姏",Value=Math.Round(calcuPumpEnd.Head,4).ToString(),Unit="m"}, - }; - obj.Add(pumpCustomLabel); - } - else if (x is Yw.Model.HydroEmitterInfo emitter) - { - var calcuEmitter = calcuResult.NodeList.Find(x => x.Id == emitter.Code); - var emitterCustomLabel = new CustomLabel(); - emitterCustomLabel.Id = emitter.Code; - emitterCustomLabel.Data = new List<CustomLabelItem>() - { - new CustomLabelItem(){ Name="娴侀噺",Value=Math.Round(calcuEmitter.Demand,1).ToString(),Unit="m鲁/h"}, - new CustomLabelItem(){ Name="鍘嬪姏",Value=Math.Round(calcuEmitter.Head,4).ToString(),Unit="m"} - }; - obj.Add(emitterCustomLabel); - } - }); - if (_bimfaceInteropContainer == null) - { - return; - } - await _bimfaceInteropContainer.SetCustomLabels(obj); - } - #endregion #endregion -- Gitblit v1.9.3