From 6129e717a8b3265e9b35ac5823f7c95fd306da04 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期五, 26 一月 2024 17:17:16 +0800 Subject: [PATCH] 修复可视对讲无法收到推送的问题,传感器无法动态获取等级的问题 --- HDL_ON/Entity/Function/Sensor.cs | 133 ++++++++++++++++++++++++++++---------------- 1 files changed, 85 insertions(+), 48 deletions(-) diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs index 8a06e8b..51e0716 100644 --- a/HDL_ON/Entity/Function/Sensor.cs +++ b/HDL_ON/Entity/Function/Sensor.cs @@ -1,5 +1,7 @@ 锘縰sing System; using System.Collections.Generic; +using Newtonsoft.Json.Linq; +using Shared; namespace HDL_ON.Entity { @@ -82,24 +84,29 @@ function.SetAttrState(FunctionAttributeKey.Value, value); } - List<string> _intervalValue = new List<string>(); - - public void SetIntervalValue(List<string> intervalValue) - { - _intervalValue = intervalValue; - } /// <summary> /// 姣忎釜绛夌骇瀵瑰尯闂村�� /// </summary> - public List<string> GetIntervalValue(string spk) + public List<string> GetIntervalValue(Function function) { - //if (_intervalValue.Count != 0) - //{ - // return _intervalValue; - //} - _intervalValue = new List<string>(); - switch (spk) + List<string> _intervalValue = new List<string>(); + if (function.attrKeyConfigs.Count > 0) + { + foreach (var attrKey in function.attrKeyConfigs) + { + if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) + { + foreach (var info in attrKey.configs) + { + _intervalValue.Add(info.start + " ~ " + info.end); + } + return _intervalValue; + } + } + } + + switch (function.spk) { case SPK.SensorPm25: _intervalValue.Add("0 ~ 50"); @@ -155,7 +162,6 @@ if (function.attrKeyConfigs.Count > 0) { - foreach (var attrKey in function.attrKeyConfigs) { if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) @@ -194,10 +200,25 @@ /// <summary> /// 姣忎釜绛夌骇鐨勯鑹插�� /// </summary> - public List<uint> GetLevelColorList(string spk) + public List<uint> GetLevelColorList(Function function) { var _levelColorList = new List<uint>(); - switch (spk) + if (function.attrKeyConfigs.Count > 0) + { + foreach (var attrKey in function.attrKeyConfigs) + { + if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) + { + foreach (var info in attrKey.configs) + { + _levelColorList.Add(Convert.ToUInt32(info.color, 16)); + } + return _levelColorList; + } + } + } + + switch (function.spk) { case SPK.SensorPm25: _levelColorList.Add(0xFFADE764); @@ -251,53 +272,69 @@ /// <summary> /// 姣忎釜绛夌骇鐨勫悕绉� /// </summary> - public List<int> GetLevelTextList(string spk) + public List<string> GetLevelTextList(Function function) { - var _levelTextList = new List<int>(); - switch (spk) + var _levelTextList = new List<string>(); + if (function.attrKeyConfigs.Count > 0) + { + foreach (var attrKey in function.attrKeyConfigs) + { + if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) + { + foreach (var info in attrKey.configs) + { + _levelTextList.Add(info.desc); + } + return _levelTextList; + } + } + } + + + switch (function.spk) { case SPK.SensorPm25: case SPK.SensorPm10: - _levelTextList.Add(StringId.Great); - _levelTextList.Add(StringId.Good); - _levelTextList.Add(StringId.MildPollution); - _levelTextList.Add(StringId.HeavyPollution); + _levelTextList.Add(Language.StringByID(StringId.Great)); + _levelTextList.Add(Language.StringByID(StringId.Good)); + _levelTextList.Add(Language.StringByID(StringId.MildPollution)); + _levelTextList.Add(Language.StringByID(StringId.HeavyPollution)); break; case SPK.SensorCO2: - _levelTextList.Add(StringId.SensorReferenceTipCO2Level1); - _levelTextList.Add(StringId.SensorReferenceTipCO2Level2); - _levelTextList.Add(StringId.SensorReferenceTipCO2Level3); - _levelTextList.Add(StringId.SensorReferenceTipCO2Level4); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level1)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level2)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level3)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level4)); break; case SPK.SensorTemperature: - _levelTextList.Add(StringId.ExtremelyCold); - _levelTextList.Add(StringId.Cold); - _levelTextList.Add(StringId.SlightlyCold); - _levelTextList.Add(StringId.Comfortable); - _levelTextList.Add(StringId.TepidFever); - _levelTextList.Add(StringId.Heat_SensorTip); - _levelTextList.Add(StringId.ExtremeHeat); + _levelTextList.Add(Language.StringByID(StringId.ExtremelyCold)); + _levelTextList.Add(Language.StringByID(StringId.Cold)); + _levelTextList.Add(Language.StringByID(StringId.SlightlyCold)); + _levelTextList.Add(Language.StringByID(StringId.Comfortable)); + _levelTextList.Add(Language.StringByID(StringId.TepidFever)); + _levelTextList.Add(Language.StringByID(StringId.Heat_SensorTip)); + _levelTextList.Add(Language.StringByID(StringId.ExtremeHeat)); break; case SPK.SensorTVOC: - _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel1); - _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel2); - _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel3); - _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel4); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel1)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel2)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel3)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel4)); break; case SPK.SensorHumidity: - _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel1); - _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel2); - _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel3); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel1));//娼箍 + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel2)); + _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel3));//骞茬嚗 break; case SPK.SensorHcho: - _levelTextList.Add(StringId.Class_I_BuildingStandard); - _levelTextList.Add(StringId.SecondaryBuildingStandard); - _levelTextList.Add(StringId.ExceedingTheStandard); + _levelTextList.Add(Language.StringByID(StringId.Class_I_BuildingStandard)); + _levelTextList.Add(Language.StringByID(StringId.SecondaryBuildingStandard)); + _levelTextList.Add(Language.StringByID(StringId.ExceedingTheStandard)); break; default: - _levelTextList.Add(99999999); - _levelTextList.Add(99999999); - _levelTextList.Add(99999999); + _levelTextList.Add(""); + _levelTextList.Add(""); + _levelTextList.Add(""); break; } return _levelTextList; @@ -390,7 +427,7 @@ } foreach (var info in attrKey.configs) { - if ((Convert.ToDouble(info.start) < values) && (Convert.ToDouble(info.end) >= values)) + if ((Convert.ToDouble(info.start) <= values) && (Convert.ToDouble(info.end) >= values)) { return level; } -- Gitblit v1.8.0