From 592974441a4df95fffd9167c90192da1a390b1c2 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 06 六月 2023 11:51:12 +0800 Subject: [PATCH] Merge branch 'Dev-Branch' --- HDL_ON/Entity/Function/Sensor.cs | 151 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 149 insertions(+), 2 deletions(-) diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs index 82ed611..b232cab 100644 --- a/HDL_ON/Entity/Function/Sensor.cs +++ b/HDL_ON/Entity/Function/Sensor.cs @@ -64,7 +64,7 @@ } } double value = 0.0; - double.TryParse( attr.state,out value); + double.TryParse(attr.state, out value); return Convert.ToDouble(value); } @@ -78,12 +78,23 @@ 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: @@ -126,6 +137,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> @@ -237,6 +290,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 +361,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