From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 01 七月 2021 15:50:43 +0800 Subject: [PATCH] Revert "1" --- HDL_ON/Entity/Function/Sensor.cs | 527 +++++++++++++++++++++++----------------------------------- 1 files changed, 211 insertions(+), 316 deletions(-) diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs index e482294..585a617 100644 --- a/HDL_ON/Entity/Function/Sensor.cs +++ b/HDL_ON/Entity/Function/Sensor.cs @@ -3,358 +3,253 @@ namespace HDL_ON.Entity { - public class Sensor :Function + public class Sensor { - public Sensor() - { - - } - [Newtonsoft.Json.JsonIgnore] - public int functionTypeNameId - { - get - { - int nameId = 0; - switch (functionType) - { - case FunctionType.PM25: - nameId = StringId.PM25; - break; - case FunctionType.CO2: - nameId = StringId.CO2; - break; - case FunctionType.Temp: - nameId = StringId.Temp; - break; - case FunctionType.TVOC: - nameId = StringId.TVOC; - break; - case FunctionType.Humidity: - nameId = StringId.Humidity; - break; - } - return nameId; - } - } - - [Newtonsoft.Json.JsonIgnore] - public FunctionAttributes trait_values; /// <summary> - /// 鍊� + /// 鑾峰彇鍚嶇О鏂囨湰ID /// </summary> - [Newtonsoft.Json.JsonIgnore] - public double values + /// <param name="spk"></param> + /// <returns></returns> + public int GetFunctionTypeNameId(string spk) { - get + int nameId = 0; + switch (spk) { - if (trait_values == null) - { - trait_values = attributes.Find((obj) => obj.key == "values"); - //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� - if (trait_values == null) - { - trait_values = new FunctionAttributes() - { - key = "values", - value = new List<string> { "29" }, - max = 10000, - min = 0, - }; - trait_values.curValue = trait_values.min; - } -#if DEBUG - //if ( Convert.ToInt32(trait_values.value) == 0) - { - double level = 1; - Random random = new Random(); - switch (functionType) - { - case FunctionType.PM25: - level = Math.Round(random.NextDouble() * 130, 0); - break; - case FunctionType.CO2: - level = Math.Round(random.NextDouble() * 6000, 0); - break; - case FunctionType.Temp: - level = Math.Round(random.NextDouble() * 40, 0); - break; - case FunctionType.TVOC: - level = Math.Round(random.NextDouble() * 10, 1); - break; - case FunctionType.Humidity: - level = Math.Round(random.NextDouble() * 100, 0); - break; - } - trait_values.curValue = level; - } -#endif - - } - return Convert.ToDouble(trait_values.curValue); + case SPK.SensorPm25: + nameId = StringId.PM25; + break; + case SPK.SensorCO2: + nameId = StringId.CO2; + break; + case SPK.SensorTemperature: + nameId = StringId.Temp; + break; + case SPK.SensorTVOC: + nameId = StringId.TVOC; + break; + case SPK.SensorHumidity: + nameId = StringId.Humidity; + break; } - set - { - try - - { - if (trait_values == null) - { - trait_values = attributes.Find((obj) => obj.key == "values"); - //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� - if (trait_values == null) - { - trait_values = new FunctionAttributes() - { - key = "values", - value = new List<string> { "up" }, - max = 100, - min = 0, - }; - } - trait_values.curValue = trait_values.min; - } - trait_values.curValue = value; - MainPage.Log($"values 鏁版嵁鍒锋柊{value}."); - } - catch - { - MainPage.Log("values 鏁版嵁鍒锋柊澶辫触."); - } - } + return nameId; + } + /// <summary> + /// + /// </summary> + public double GetValues(Function function) + { + var value = function.GetAttrState(FunctionAttributeKey.Value); + return Convert.ToDouble(value); + } + /// <summary> + /// + /// </summary> + /// <param name="value"></param> + /// <param name="function"></param> + public void SetValues(int value, Function function) + { + function.SetAttrState(FunctionAttributeKey.Value, value); } - List<string> _intervalValue; /// <summary> /// 姣忎釜绛夌骇瀵瑰尯闂村�� /// </summary> - [Newtonsoft.Json.JsonIgnore] - public List<string> intervalValue + public List<string> GetIntervalValue(string spk) { - get + var _intervalValue = new List<string>(); + switch (spk) { - if (_intervalValue == null) - { - _intervalValue = new List<string>(); - switch (functionType) - { - case FunctionType.PM25: - _intervalValue.Add("0 ~ 35"); - _intervalValue.Add("36 ~ 75"); - _intervalValue.Add("76 ~ 115"); - _intervalValue.Add("115 ~"); - break; - case FunctionType.CO2: - _intervalValue.Add("0 ~ 1000"); - _intervalValue.Add("1001 ~ 2000"); - _intervalValue.Add("2001 ~ 5000"); - _intervalValue.Add("5001 ~"); - break; - case FunctionType.Temp: - _intervalValue.Add("~ 18掳C"); - _intervalValue.Add("18 ~ 20掳C"); - _intervalValue.Add("20 ~ 25掳C"); - _intervalValue.Add("25 ~ 27掳C"); - _intervalValue.Add("27 ~ 30掳C"); - _intervalValue.Add("30 ~ 33掳C"); - _intervalValue.Add("33掳C ~"); - break; - case FunctionType.TVOC: - _intervalValue.Add("0 ~ 0.6"); - _intervalValue.Add("0.61 ~ 2"); - _intervalValue.Add("2.01 ~ 5"); - _intervalValue.Add("5 ~"); - break; - case FunctionType.Humidity: - _intervalValue.Add("70 ~"); - _intervalValue.Add("71 ~ 40"); - _intervalValue.Add("0 ~ 39"); - break; - } - } - return _intervalValue; + case SPK.SensorPm25: + _intervalValue.Add("0 ~ 35"); + _intervalValue.Add("36 ~ 75"); + _intervalValue.Add("76 ~ 115"); + _intervalValue.Add("115 ~"); + break; + case SPK.SensorCO2: + _intervalValue.Add("0 ~ 1000"); + _intervalValue.Add("1001 ~ 2000"); + _intervalValue.Add("2001 ~ 5000"); + _intervalValue.Add("5001 ~"); + break; + case SPK.SensorTemperature: + _intervalValue.Add("~ 18掳C"); + _intervalValue.Add("18 ~ 20掳C"); + _intervalValue.Add("20 ~ 25掳C"); + _intervalValue.Add("25 ~ 27掳C"); + _intervalValue.Add("27 ~ 30掳C"); + _intervalValue.Add("30 ~ 33掳C"); + _intervalValue.Add("33掳C ~"); + break; + case SPK.SensorTVOC: + _intervalValue.Add("0 ~ 0.6"); + _intervalValue.Add("0.61 ~ 2"); + _intervalValue.Add("2.01 ~ 5"); + _intervalValue.Add("5 ~"); + break; + case SPK.SensorHumidity: + _intervalValue.Add("70 ~"); + _intervalValue.Add("71 ~ 40"); + _intervalValue.Add("0 ~ 39"); + break; } + return _intervalValue; } - List<uint> _levelColorList; + /// <summary> /// 姣忎釜绛夌骇鐨勯鑹插�� /// </summary> - [Newtonsoft.Json.JsonIgnore] - public List<uint> levelColorList + public List<uint> GetLevelColorList(string spk) { - get + var _levelColorList = new List<uint>(); + switch (spk) { - try - { - if (_levelColorList == null) - { - _levelColorList = new List<uint>(); - switch (functionType) - { - case FunctionType.PM25: - _levelColorList.Add(0xFFADE764); - _levelColorList.Add(0xFFFFD154); - _levelColorList.Add(0xFFFF9D54); - _levelColorList.Add(0xFFFF3D3D); - break; - case FunctionType.CO2: - _levelColorList.Add(0xFFADE764); - _levelColorList.Add(0xFFFFD154); - _levelColorList.Add(0xFFFF9D54); - _levelColorList.Add(0xFFFF3D3D); - break; - case FunctionType.Temp: - _levelColorList.Add(0xFF2172FF); - _levelColorList.Add(0xCC4484F4); - _levelColorList.Add(0x7F4484F4); - _levelColorList.Add(0xFFADE764); - _levelColorList.Add(0xFFFFD154); - _levelColorList.Add(0xFFFF9D54); - _levelColorList.Add(0xFFFF3D3D); - break; - case FunctionType.TVOC: - _levelColorList.Add(0xFFADE764); - _levelColorList.Add(0xFFFFD154); - _levelColorList.Add(0xFFFF9D54); - _levelColorList.Add(0xFFFF3D3D); + case SPK.SensorPm25: + _levelColorList.Add(0xFFADE764); + _levelColorList.Add(0xFFFFD154); + _levelColorList.Add(0xFFFF9D54); + _levelColorList.Add(0xFFFF3D3D); + break; + case SPK.SensorCO2: + _levelColorList.Add(0xFFADE764); + _levelColorList.Add(0xFFFFD154); + _levelColorList.Add(0xFFFF9D54); + _levelColorList.Add(0xFFFF3D3D); + break; + case SPK.SensorTemperature: + _levelColorList.Add(0xFF2172FF); + _levelColorList.Add(0xCC4484F4); + _levelColorList.Add(0x7F4484F4); + _levelColorList.Add(0xFFADE764); + _levelColorList.Add(0xFFFFD154); + _levelColorList.Add(0xFFFF9D54); + _levelColorList.Add(0xFFFF3D3D); + break; + case SPK.SensorTVOC: + _levelColorList.Add(0xFFADE764); + _levelColorList.Add(0xFFFFD154); + _levelColorList.Add(0xFFFF9D54); + _levelColorList.Add(0xFFFF3D3D); - break; - case FunctionType.Humidity: - _levelColorList.Add(0xFF2172FF); - _levelColorList.Add(0xFFADE764); - _levelColorList.Add(0xFFFF3D3D); - break; - } - } - }catch(Exception ex) - { - MainPage.Log($"sensor error 1 : {ex.Message}"); - } - return _levelColorList; + break; + case SPK.SensorHumidity: + _levelColorList.Add(0xFF2172FF); + _levelColorList.Add(0xFFADE764); + _levelColorList.Add(0xFFFF3D3D); + break; } + return _levelColorList; + } - List<int> _levelTextList; + /// <summary> /// 姣忎釜绛夌骇鐨勫悕绉� /// </summary> - [Newtonsoft.Json.JsonIgnore] - public List<int> levelTextList + public List<int> GetLevelTextList(string spk) { - get + var _levelTextList = new List<int>(); + switch (spk) { - if (_levelTextList == null) - { - _levelTextList = new List<int>(); - switch (functionType) - { - case FunctionType.PM25: - _levelTextList.Add(StringId.Great); - _levelTextList.Add(StringId.Good); - _levelTextList.Add(StringId.MildPollution); - _levelTextList.Add(StringId.HeavyPollution); - break; - case FunctionType.CO2: - _levelTextList.Add(StringId.SensorReferenceTipCO2Level1); - _levelTextList.Add(StringId.SensorReferenceTipCO2Level2); - _levelTextList.Add(StringId.SensorReferenceTipCO2Level3); - _levelTextList.Add(StringId.SensorReferenceTipCO2Level4); - break; - case FunctionType.Temp: - _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); - - - break; - case FunctionType.TVOC: - _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel1); - _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel2); - _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel3); - _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel4); - - break; - case FunctionType.Humidity: - _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel1); - _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel2); - _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel3); - break; - } - } - return _levelTextList; + case SPK.SensorPm25: + _levelTextList.Add(StringId.Great); + _levelTextList.Add(StringId.Good); + _levelTextList.Add(StringId.MildPollution); + _levelTextList.Add(StringId.HeavyPollution); + break; + case SPK.SensorCO2: + _levelTextList.Add(StringId.SensorReferenceTipCO2Level1); + _levelTextList.Add(StringId.SensorReferenceTipCO2Level2); + _levelTextList.Add(StringId.SensorReferenceTipCO2Level3); + _levelTextList.Add(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); + break; + case SPK.SensorTVOC: + _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel1); + _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel2); + _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel3); + _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel4); + break; + case SPK.SensorHumidity: + _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel1); + _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel2); + _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel3); + break; } + return _levelTextList; } /// <summary> /// 褰撳墠绛夌骇 /// </summary> - [Newtonsoft.Json.JsonIgnore] - public int curLevel + public int GetCurLevel(Function function) { - get + var spk = function.spk; + var values = GetValues(function); + int level = 1; + switch (spk) { - int level = 1; - switch (functionType) - { - case FunctionType.PM25: - if (values < 35) - level = 1; - else if (values < 75) - level = 2; - else if (values < 115) - level = 3; - else if (values > 115) - level = 4; - break; - case FunctionType.CO2: - if (values < 1000) - level = 1; - else if (values < 2000) - level = 2; - else if (values < 5000) - level = 3; - else if (values > 5000) - level = 4; - break; - case FunctionType.Temp: - if (values < 18) - level = 1; - else if (values < 20) - level = 2; - else if (values < 25) - level = 3; - else if (values < 27) - level = 4; - else if (values < 30) - level = 5; - else if (values < 33) - level = 6; - else if (values > 33) - level = 7; - break; - case FunctionType.TVOC: - if (values < 0.6) - level = 1; - else if (values < 2) - level = 2; - else if (values < 5) - level = 3; - else if (values > 5) - level = 4; - break; - case FunctionType.Humidity: - if (values > 70) - level = 1; - else if (values > 40) - level = 2; - else if (values < 40) - level = 3; - break; - } - return level; + case SPK.SensorPm25: + if (values < 35) + level = 1; + else if (values < 75) + level = 2; + else if (values < 115) + level = 3; + else if (values > 115) + level = 4; + break; + case SPK.SensorCO2: + if (values < 1000) + level = 1; + else if (values < 2000) + level = 2; + else if (values < 5000) + level = 3; + else if (values > 5000) + level = 4; + break; + case SPK.SensorTemperature: + if (values < 18) + level = 1; + else if (values < 20) + level = 2; + else if (values < 25) + level = 3; + else if (values < 27) + level = 4; + else if (values < 30) + level = 5; + else if (values < 33) + level = 6; + else if (values > 33) + level = 7; + break; + case SPK.SensorTVOC: + if (values < 0.6) + level = 1; + else if (values < 2) + level = 2; + else if (values < 5) + level = 3; + else if (values > 5) + level = 4; + break; + case SPK.SensorHumidity: + if (values > 70) + level = 1; + else if (values > 40) + level = 2; + else if (values < 40) + level = 3; + break; } + return level; } - } } -- Gitblit v1.8.0