From 7cfcdb7a90f59bf9001c948e166fd9af09752fe1 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期二, 24 五月 2022 17:15:18 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/release0123' into wjc --- HDL_ON/Entity/Function/Sensor.cs | 261 +++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 228 insertions(+), 33 deletions(-) diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs index 82ed611..f07f304 100644 --- a/HDL_ON/Entity/Function/Sensor.cs +++ b/HDL_ON/Entity/Function/Sensor.cs @@ -1,5 +1,6 @@ 锘縰sing System; using System.Collections.Generic; +using Shared; namespace HDL_ON.Entity { @@ -64,7 +65,7 @@ } } double value = 0.0; - double.TryParse( attr.state,out value); + double.TryParse(attr.state, out value); return Convert.ToDouble(value); } @@ -81,9 +82,30 @@ /// <summary> /// 姣忎釜绛夌骇瀵瑰尯闂村�� /// </summary> - public List<string> GetIntervalValue(string spk) + public List<string> GetIntervalValue(Function function) { var _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); + } + } + } + if (_intervalValue.Count > 0) + return _intervalValue; + } + + + string spk = function.spk; switch (spk) { case SPK.SensorPm25: @@ -128,12 +150,72 @@ return _intervalValue; } + public string Unit(Function function) + { + string unit = ""; + + if (function.attrKeyConfigs.Count > 0) + { + + foreach (var attrKey in function.attrKeyConfigs) + { + if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) + { + if (string.IsNullOrEmpty(attrKey.unit)) + return attrKey.unit; + } + } + } + + switch (function.spk) + { + case SPK.SensorPm25: + unit = "ug/m虏"; + break; + case SPK.SensorTemperature: + unit = "掳C"; + break; + case SPK.SensorTVOC: + unit = "PPB"; + break; + case SPK.SensorCO2: + unit = "PPM"; + break; + case SPK.SensorHumidity: + unit = "%"; + break; + case SPK.SensorHcho: + unit = "mg/m3"; + break; + } + + return unit; + } + /// <summary> /// 姣忎釜绛夌骇鐨勯鑹插�� /// </summary> - public List<uint> GetLevelColorList(string spk) + public List<uint> GetLevelColorList(Function function) { var _levelColorList = new List<uint>(); + 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)); + } + } + } + if (_levelColorList.Count > 0) + return _levelColorList; + } + + string spk = function.spk; switch (spk) { case SPK.SensorPm25: @@ -187,56 +269,138 @@ /// <summary> /// 姣忎釜绛夌骇鐨勫悕绉� /// </summary> - public List<int> GetLevelTextList(string spk) + public List<string> GetLevelTextList(Function function) { - var _levelTextList = new List<int>(); + 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); + } + } + } + if (_levelTextList.Count > 0) + return _levelTextList; + } + + string spk = function.spk; switch (spk) { case SPK.SensorPm25: - _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; } + + /// <summary> + /// 鑾峰彇 + /// </summary> + /// <param name="function"></param> + /// <returns></returns> + public uint GetCurColor(Function function) + { + var spk = function.spk; + var values = GetValues(function); + uint level = 0x00000000; + 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) + { + if ((Convert.ToInt32(info.start) >= values) && (Convert.ToInt32(info.end) < values)) + { + return Convert.ToUInt32(info.color, 16); + } + } + } + } + } + + return level; + } + + /// <summary> + /// 鑾峰彇鏂囨湰 + /// </summary> + /// <param name="function"></param> + /// <returns></returns> + public string GetCurText(Function function) + { + var spk = function.spk; + var values = GetValues(function); + var level = ""; + 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) + { + if ((Convert.ToInt32(info.start) >= values) && (Convert.ToInt32(info.end) < values)) + { + return info.desc; + } + } + } + } + } + + return level; + } + /// <summary> /// 褰撳墠绛夌骇 /// </summary> @@ -245,6 +409,37 @@ var spk = function.spk; var values = GetValues(function); int level = 1; + + + + if (function.attrKeyConfigs.Count > 0) + { + + foreach (var attrKey in function.attrKeyConfigs) + { + if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) + { + level = 1; + if(attrKey.configs.Count == 0) + { + break; + } + foreach (var info in attrKey.configs) + { + if ((Convert.ToDouble(info.start) < values) && (Convert.ToDouble(info.end) >= values)) + { + return level; + } + level++; + + } + } + } + return 1; + } + + + switch (spk) { case SPK.SensorPm25: -- Gitblit v1.8.0