From 358044c907e0e492b26377b21ca5091d19b503c8 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 30 十一月 2021 09:58:59 +0800
Subject: [PATCH] 合并wjc
---
HDL_ON/Entity/Function/Sensor.cs | 123 +++++++++++++++++++++++++++++++++++++---
1 files changed, 113 insertions(+), 10 deletions(-)
diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs
index 94290cc..82ed611 100644
--- a/HDL_ON/Entity/Function/Sensor.cs
+++ b/HDL_ON/Entity/Function/Sensor.cs
@@ -38,7 +38,34 @@
/// </summary>
public double GetValues(Function function)
{
- var value = function.GetAttrState(FunctionAttributeKey.Value);
+ FunctionAttributes attr = function.GetAttribute(FunctionAttributeKey.Value);
+ if (attr == null)
+ {
+ switch (function.spk)
+ {
+ case SPK.SensorCO2:
+ attr = function.GetAttribute(FunctionAttributeKey.Co2);
+ break;
+ case SPK.SensorTemperature:
+ attr = function.GetAttribute(FunctionAttributeKey.Temperature);
+ break;
+ case SPK.SensorTVOC:
+ attr = function.GetAttribute(FunctionAttributeKey.Tvoc);
+ break;
+ case SPK.SensorPm25:
+ attr = function.GetAttribute(FunctionAttributeKey.Pm25);
+ break;
+ case SPK.SensorHcho:
+ attr = function.GetAttribute(FunctionAttributeKey.Hcho);
+ break;
+ case SPK.SensorHumidity:
+ attr = function.GetAttribute(FunctionAttributeKey.Humidity);
+ break;
+ }
+ }
+ double value = 0.0;
+ double.TryParse( attr.state,out value);
+
return Convert.ToDouble(value);
}
/// <summary>
@@ -81,10 +108,10 @@
_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 ~");
+ _intervalValue.Add("0 ~ 600");
+ _intervalValue.Add("601 ~ 2000");
+ _intervalValue.Add("2001 ~ 5000");
+ _intervalValue.Add("5001 ~");
break;
case SPK.SensorHumidity:
_intervalValue.Add("70 ~");
@@ -237,7 +264,7 @@
level = 2;
else if (values < 5000)
level = 3;
- else if (values > 5000)
+ else if (values >= 5000)
level = 4;
break;
case SPK.SensorTemperature:
@@ -257,13 +284,13 @@
level = 7;
break;
case SPK.SensorTVOC:
- if (values < 0.6)
+ if (values < 600)
level = 1;
- else if (values < 2)
+ else if (values < 2000)
level = 2;
- else if (values < 5)
+ else if (values < 5000)
level = 3;
- else if (values > 5)
+ else if (values >= 5000)
level = 4;
break;
case SPK.SensorHumidity:
@@ -285,5 +312,81 @@
}
return level;
}
+
+
+ /// <summary>
+ /// 褰撳墠绛夌骇
+ /// </summary>
+ public int GetCurLevel(string spk,double values)
+ {
+ int level = 1;
+ switch (spk)
+ {
+ 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 < 600)
+ level = 1;
+ else if (values < 2000)
+ level = 2;
+ else if (values < 5000)
+ level = 3;
+ else if (values >= 5000)
+ level = 4;
+ break;
+ case SPK.SensorHumidity:
+ if (values > 70)
+ level = 1;
+ else if (values > 40)
+ level = 2;
+ else if (values < 40)
+ level = 3;
+ break;
+ case SPK.SensorHcho:
+ if (values <= 0.08)
+ level = 1;
+ else if (values <= 0.1)
+ level = 2;
+ else
+ level = 3;
+ break;
+ }
+ return level;
+ }
+
}
}
--
Gitblit v1.8.0