From 6129e717a8b3265e9b35ac5823f7c95fd306da04 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期五, 26 一月 2024 17:17:16 +0800
Subject: [PATCH] 修复可视对讲无法收到推送的问题,传感器无法动态获取等级的问题

---
 HDL_ON/Entity/Function/Sensor.cs |  133 ++++++++++++++++++++++++++++----------------
 1 files changed, 85 insertions(+), 48 deletions(-)

diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs
index 8a06e8b..51e0716 100644
--- a/HDL_ON/Entity/Function/Sensor.cs
+++ b/HDL_ON/Entity/Function/Sensor.cs
@@ -1,5 +1,7 @@
 锘縰sing System;
 using System.Collections.Generic;
+using Newtonsoft.Json.Linq;
+using Shared;
 
 namespace HDL_ON.Entity
 {
@@ -82,24 +84,29 @@
             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)
+        public List<string> GetIntervalValue(Function function)
         {
-            //if (_intervalValue.Count != 0)
-            //{
-            //    return _intervalValue;
-            //}
-            _intervalValue = new List<string>();
-            switch (spk)
+            List<string> _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);
+                        }
+                        return _intervalValue;
+                    }
+                }
+            }
+
+            switch (function.spk)
             {
                 case SPK.SensorPm25:
                     _intervalValue.Add("0 ~ 50");
@@ -155,7 +162,6 @@
 
             if (function.attrKeyConfigs.Count > 0)
             {
-
                 foreach (var attrKey in function.attrKeyConfigs)
                 {
                     if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
@@ -194,10 +200,25 @@
         /// <summary>
         /// 姣忎釜绛夌骇鐨勯鑹插��
         /// </summary>
-        public List<uint> GetLevelColorList(string spk)
+        public List<uint> GetLevelColorList(Function function)
         {
             var _levelColorList = new List<uint>();
-            switch (spk)
+            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));
+                        }
+                        return _levelColorList;
+                    }
+                }
+            }
+
+            switch (function.spk)
             {
                 case SPK.SensorPm25:
                     _levelColorList.Add(0xFFADE764);
@@ -251,53 +272,69 @@
         /// <summary>
         /// 姣忎釜绛夌骇鐨勫悕绉�
         /// </summary>
-        public List<int> GetLevelTextList(string spk)
+        public List<string> GetLevelTextList(Function function)
         {
-            var _levelTextList = new List<int>();
-            switch (spk)
+            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);
+                        }
+                        return _levelTextList;
+                    }
+                }
+            }
+
+
+            switch (function.spk)
             {
                 case SPK.SensorPm25:
                 case SPK.SensorPm10:
-                    _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;
@@ -390,7 +427,7 @@
                         }
                         foreach (var info in attrKey.configs)
                         {
-                            if ((Convert.ToDouble(info.start) < values) && (Convert.ToDouble(info.end) >= values))
+                            if ((Convert.ToDouble(info.start) <= values) && (Convert.ToDouble(info.end) >= values))
                             {
                                 return level;
                             }

--
Gitblit v1.8.0