From 452e8cef1c740d18ee398be6971d9952e41dbd4a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 12 四月 2023 16:11:50 +0800
Subject: [PATCH] 1
---
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..b53b38a 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