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 | 236 +++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 143 insertions(+), 93 deletions(-)
diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs
index 5a86351..b53b38a 100644
--- a/HDL_ON/Entity/Function/Sensor.cs
+++ b/HDL_ON/Entity/Function/Sensor.cs
@@ -1,6 +1,5 @@
锘縰sing System;
using System.Collections.Generic;
-using Shared;
namespace HDL_ON.Entity
{
@@ -65,7 +64,7 @@
}
}
double value = 0.0;
- double.TryParse( attr.state,out value);
+ double.TryParse(attr.state, out value);
return Convert.ToDouble(value);
}
@@ -79,32 +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(Function function)
+ public List<string> GetIntervalValue(string spk)
{
- var _intervalValue = new List<string>();
-
-
- if (function.attrKeyConfigs.Count > 0)
+ if(_intervalValue.Count != 0)
{
-
- foreach (var attrKey in function.attrKeyConfigs)
- {
- if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
- {
- foreach (var info in attrKey.configs)
- {
- _intervalValue.Add(info.start + " ~ " + info.end);
- }
- }
- }
return _intervalValue;
}
-
-
- string spk = function.spk;
+ _intervalValue = new List<string>();
switch (spk)
{
case SPK.SensorPm25:
@@ -149,7 +139,7 @@
return _intervalValue;
}
- public string Unit(Function function)
+ public string Unit(Function function)
{
string unit = "";
@@ -160,7 +150,8 @@
{
if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
{
- return attrKey.unit;
+ if (!string.IsNullOrEmpty(attrKey.unit))
+ return attrKey.unit;
}
}
}
@@ -171,7 +162,7 @@
unit = "ug/m虏";
break;
case SPK.SensorTemperature:
- unit = "掳C";
+ unit = "掳C";
break;
case SPK.SensorTVOC:
unit = "PPB";
@@ -193,26 +184,9 @@
/// <summary>
/// 姣忎釜绛夌骇鐨勯鑹插��
/// </summary>
- public List<uint> GetLevelColorList(Function function)
+ public List<uint> GetLevelColorList(string spk)
{
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);
- }
- }
- }
- return _levelColorList;
- }
-
- string spk = function.spk;
switch (spk)
{
case SPK.SensorPm25:
@@ -266,10 +240,67 @@
/// <summary>
/// 姣忎釜绛夌骇鐨勫悕绉�
/// </summary>
- public List<string> GetLevelTextList(Function function)
+ public List<int> GetLevelTextList(string spk)
{
- var _levelTextList = new List<string>();
+ var _levelTextList = new List<int>();
+ switch (spk)
+ {
+ 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;
+ case SPK.SensorHcho:
+ _levelTextList.Add(StringId.Class_I_BuildingStandard);
+ _levelTextList.Add(StringId.SecondaryBuildingStandard);
+ _levelTextList.Add(StringId.ExceedingTheStandard);
+ break;
+ default:
+ _levelTextList.Add(99999999);
+ _levelTextList.Add(99999999);
+ _levelTextList.Add(99999999);
+ break;
+ }
+ 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)
{
@@ -279,61 +310,49 @@
{
foreach (var info in attrKey.configs)
{
- _levelTextList.Add(info.desc);
+ if ((Convert.ToInt32(info.start) >= values) && (Convert.ToInt32(info.end) < values))
+ {
+ return Convert.ToUInt32(info.color, 16);
+ }
}
}
}
- return _levelTextList;
}
- string spk = function.spk;
- switch (spk)
- {
- case SPK.SensorPm25:
- _levelTextList.Add(Language.StringByID(StringId.Great));
- _levelTextList.Add(Language.StringByID(StringId.Good));
- _levelTextList.Add(Language.StringByID(StringId.MildPollution));
- _levelTextList.Add(Language.StringByID(StringId.HeavyPollution));
- break;
- case SPK.SensorCO2:
- _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level1));
- _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level2));
- _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level3));
- _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level4));
- break;
- case SPK.SensorTemperature:
- _levelTextList.Add(Language.StringByID(StringId.ExtremelyCold));
- _levelTextList.Add(Language.StringByID(StringId.Cold));
- _levelTextList.Add(Language.StringByID(StringId.SlightlyCold));
- _levelTextList.Add(Language.StringByID(StringId.Comfortable));
- _levelTextList.Add(Language.StringByID(StringId.TepidFever));
- _levelTextList.Add(Language.StringByID(StringId.Heat_SensorTip));
- _levelTextList.Add(Language.StringByID(StringId.ExtremeHeat));
- break;
- case SPK.SensorTVOC:
- _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel1));
- _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel2));
- _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel3));
- _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel4));
- break;
- case SPK.SensorHumidity:
- _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel1));
- _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel2));
- _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel3));
- break;
- case SPK.SensorHcho:
- _levelTextList.Add(Language.StringByID(StringId.Class_I_BuildingStandard));
- _levelTextList.Add(Language.StringByID(StringId.SecondaryBuildingStandard));
- _levelTextList.Add(Language.StringByID(StringId.ExceedingTheStandard));
- break;
- default:
- _levelTextList.Add("");
- _levelTextList.Add("");
- _levelTextList.Add("");
- break;
- }
- return _levelTextList;
+ 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>
@@ -342,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