From 300a5d5370d10d97eb5dfdfa43bb0156c15d23e3 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 03 一月 2024 17:36:15 +0800 Subject: [PATCH] packet类复原 --- HDL_ON/Entity/Function/Sensor.cs | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 161 insertions(+), 2 deletions(-) diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs index 82ed611..8a06e8b 100644 --- a/HDL_ON/Entity/Function/Sensor.cs +++ b/HDL_ON/Entity/Function/Sensor.cs @@ -61,10 +61,14 @@ case SPK.SensorHumidity: attr = function.GetAttribute(FunctionAttributeKey.Humidity); break; + case SPK.SensorPm10: + attr = function.GetAttribute(FunctionAttributeKey.Pm10); + break; + } } double value = 0.0; - double.TryParse( attr.state,out value); + double.TryParse(attr.state, out value); return Convert.ToDouble(value); } @@ -78,15 +82,32 @@ 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) { - var _intervalValue = new List<string>(); + //if (_intervalValue.Count != 0) + //{ + // return _intervalValue; + //} + _intervalValue = new List<string>(); switch (spk) { case SPK.SensorPm25: + _intervalValue.Add("0 ~ 50"); + _intervalValue.Add("51 ~ 100"); + _intervalValue.Add("101 ~ 150"); + _intervalValue.Add("151 ~"); + break; + case SPK.SensorPm10: _intervalValue.Add("0 ~ 35"); _intervalValue.Add("36 ~ 75"); _intervalValue.Add("76 ~ 115"); @@ -128,6 +149,48 @@ 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> @@ -158,6 +221,7 @@ _levelColorList.Add(0xFFFF3D3D); break; case SPK.SensorTVOC: + case SPK.SensorPm10: _levelColorList.Add(0xFFADE764); _levelColorList.Add(0xFFFFD154); _levelColorList.Add(0xFFFF9D54); @@ -193,6 +257,7 @@ switch (spk) { case SPK.SensorPm25: + case SPK.SensorPm10: _levelTextList.Add(StringId.Great); _levelTextList.Add(StringId.Good); _levelTextList.Add(StringId.MildPollution); @@ -237,6 +302,69 @@ } 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 +373,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