From 610a6a826a00d47320b17478cb5ca5f60abfa291 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 24 五月 2022 17:25:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wjc' into Dev-Branch
---
HDL_ON/Entity/Function/Sensor.cs | 261 +++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 228 insertions(+), 33 deletions(-)
diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs
index 82ed611..f07f304 100644
--- a/HDL_ON/Entity/Function/Sensor.cs
+++ b/HDL_ON/Entity/Function/Sensor.cs
@@ -1,5 +1,6 @@
锘縰sing System;
using System.Collections.Generic;
+using Shared;
namespace HDL_ON.Entity
{
@@ -64,7 +65,7 @@
}
}
double value = 0.0;
- double.TryParse( attr.state,out value);
+ double.TryParse(attr.state, out value);
return Convert.ToDouble(value);
}
@@ -81,9 +82,30 @@
/// <summary>
/// 姣忎釜绛夌骇瀵瑰尯闂村��
/// </summary>
- public List<string> GetIntervalValue(string spk)
+ public List<string> GetIntervalValue(Function function)
{
var _intervalValue = new List<string>();
+
+
+ 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)
+ {
+ _intervalValue.Add(info.start + " ~ " + info.end);
+ }
+ }
+ }
+ if (_intervalValue.Count > 0)
+ return _intervalValue;
+ }
+
+
+ string spk = function.spk;
switch (spk)
{
case SPK.SensorPm25:
@@ -128,12 +150,72 @@
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>
/// 姣忎釜绛夌骇鐨勯鑹插��
/// </summary>
- public List<uint> GetLevelColorList(string spk)
+ public List<uint> GetLevelColorList(Function function)
{
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(Convert.ToUInt32(info.color, 16));
+ }
+ }
+ }
+ if (_levelColorList.Count > 0)
+ return _levelColorList;
+ }
+
+ string spk = function.spk;
switch (spk)
{
case SPK.SensorPm25:
@@ -187,56 +269,138 @@
/// <summary>
/// 姣忎釜绛夌骇鐨勫悕绉�
/// </summary>
- public List<int> GetLevelTextList(string spk)
+ public List<string> GetLevelTextList(Function function)
{
- var _levelTextList = new List<int>();
+ var _levelTextList = new List<string>();
+
+ 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)
+ {
+ _levelTextList.Add(info.desc);
+ }
+ }
+ }
+ if (_levelTextList.Count > 0)
+ return _levelTextList;
+ }
+
+ string spk = function.spk;
switch (spk)
{
case SPK.SensorPm25:
- _levelTextList.Add(StringId.Great);
- _levelTextList.Add(StringId.Good);
- _levelTextList.Add(StringId.MildPollution);
- _levelTextList.Add(StringId.HeavyPollution);
+ _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(StringId.SensorReferenceTipCO2Level1);
- _levelTextList.Add(StringId.SensorReferenceTipCO2Level2);
- _levelTextList.Add(StringId.SensorReferenceTipCO2Level3);
- _levelTextList.Add(StringId.SensorReferenceTipCO2Level4);
+ _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(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);
+ _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(StringId.SensorReferenceTVOCTipLevel1);
- _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel2);
- _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel3);
- _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel4);
+ _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(StringId.SensorReferenceHumidityTipLevel1);
- _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel2);
- _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel3);
+ _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel1));
+ _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel2));
+ _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel3));
break;
case SPK.SensorHcho:
- _levelTextList.Add(StringId.Class_I_BuildingStandard);
- _levelTextList.Add(StringId.SecondaryBuildingStandard);
- _levelTextList.Add(StringId.ExceedingTheStandard);
+ _levelTextList.Add(Language.StringByID(StringId.Class_I_BuildingStandard));
+ _levelTextList.Add(Language.StringByID(StringId.SecondaryBuildingStandard));
+ _levelTextList.Add(Language.StringByID(StringId.ExceedingTheStandard));
break;
default:
- _levelTextList.Add(99999999);
- _levelTextList.Add(99999999);
- _levelTextList.Add(99999999);
+ _levelTextList.Add("");
+ _levelTextList.Add("");
+ _levelTextList.Add("");
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)
+ {
+
+ 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 +409,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