| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Newtonsoft.Json.Linq; |
| | | using Shared; |
| | | |
| | | namespace HDL_ON.Entity |
| | |
| | | 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); |
| | | } |
| | |
| | | function.SetAttrState(FunctionAttributeKey.Value, value); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 每个等级对区间值 |
| | | /// </summary> |
| | | public List<string> GetIntervalValue(Function function) |
| | | { |
| | | var _intervalValue = new List<string>(); |
| | | |
| | | |
| | | 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(".", ""))) |
| | |
| | | { |
| | | _intervalValue.Add(info.start + " ~ " + info.end); |
| | | } |
| | | return _intervalValue; |
| | | } |
| | | } |
| | | return _intervalValue; |
| | | } |
| | | |
| | | |
| | | string spk = function.spk; |
| | | switch (spk) |
| | | switch (function.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"); |
| | |
| | | return _intervalValue; |
| | | } |
| | | |
| | | public string Unit(Function function) |
| | | 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(".", ""))) |
| | | { |
| | | return attrKey.unit; |
| | | if (!string.IsNullOrEmpty(attrKey.unit)) |
| | | return attrKey.unit; |
| | | } |
| | | } |
| | | } |
| | |
| | | switch (function.spk) |
| | | { |
| | | case SPK.SensorPm25: |
| | | unit = "ug/m²"; |
| | | unit = "ug/m³"; |
| | | break; |
| | | case SPK.SensorTemperature: |
| | | unit = "°C"; |
| | | unit = "°C"; |
| | | break; |
| | | case SPK.SensorTVOC: |
| | | unit = "PPB"; |
| | | unit = "mg/m³"; |
| | | break; |
| | | case SPK.SensorCO2: |
| | | unit = "PPM"; |
| | |
| | | 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(info.color); |
| | | _levelColorList.Add(Convert.ToUInt32(info.color, 16)); |
| | | } |
| | | return _levelColorList; |
| | | } |
| | | } |
| | | return _levelColorList; |
| | | } |
| | | |
| | | string spk = function.spk; |
| | | switch (spk) |
| | | switch (function.spk) |
| | | { |
| | | case SPK.SensorPm25: |
| | | _levelColorList.Add(0xFFADE764); |
| | |
| | | _levelColorList.Add(0xFFFF3D3D); |
| | | break; |
| | | case SPK.SensorTVOC: |
| | | case SPK.SensorPm10: |
| | | _levelColorList.Add(0xFFADE764); |
| | | _levelColorList.Add(0xFFFFD154); |
| | | _levelColorList.Add(0xFFFF9D54); |
| | |
| | | public List<string> GetLevelTextList(Function function) |
| | | { |
| | | var _levelTextList = new List<string>(); |
| | | |
| | | if (function.attrKeyConfigs.Count > 0) |
| | | { |
| | | |
| | | foreach (var attrKey in function.attrKeyConfigs) |
| | | { |
| | | if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) |
| | |
| | | { |
| | | _levelTextList.Add(info.desc); |
| | | } |
| | | return _levelTextList; |
| | | } |
| | | } |
| | | return _levelTextList; |
| | | } |
| | | |
| | | string spk = function.spk; |
| | | switch (spk) |
| | | |
| | | switch (function.spk) |
| | | { |
| | | case SPK.SensorPm25: |
| | | case SPK.SensorPm10: |
| | | _levelTextList.Add(Language.StringByID(StringId.Great)); |
| | | _levelTextList.Add(Language.StringByID(StringId.Good)); |
| | | _levelTextList.Add(Language.StringByID(StringId.MildPollution)); |
| | |
| | | _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel4)); |
| | | break; |
| | | case SPK.SensorHumidity: |
| | | _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel1)); |
| | | _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel1));//潮湿 |
| | | _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel2)); |
| | | _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel3)); |
| | | _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel3));//干燥 |
| | | break; |
| | | case SPK.SensorHcho: |
| | | _levelTextList.Add(Language.StringByID(StringId.Class_I_BuildingStandard)); |
| | |
| | | } |
| | | 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> |
| | |
| | | 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: |
| | |
| | | else |
| | | level = 3; |
| | | break; |
| | | default: |
| | | level = 1; |
| | | break; |
| | | |
| | | } |
| | | return level; |
| | | } |