From f75a1ba69f5922cab8d2ab43f4447b74bd9b9ea9 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 26 五月 2022 09:52:34 +0800
Subject: [PATCH] 备份

---
 HDL_ON/Entity/Function/Sensor.cs |  102 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 98 insertions(+), 4 deletions(-)

diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs
index 581343d..0ad5cc8 100644
--- a/HDL_ON/Entity/Function/Sensor.cs
+++ b/HDL_ON/Entity/Function/Sensor.cs
@@ -65,7 +65,7 @@
                 }
             }
             double value = 0.0;
-            double.TryParse( attr.state,out value);
+            double.TryParse(attr.state, out value);
 
             return Convert.ToDouble(value);
         }
@@ -150,7 +150,7 @@
             return _intervalValue;
         }
 
-        public string Unit(Function  function)
+        public string Unit(Function function)
         {
             string unit = "";
 
@@ -161,7 +161,7 @@
                 {
                     if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
                     {
-                        if (string.IsNullOrEmpty(attrKey.unit))
+                        if (!string.IsNullOrEmpty(attrKey.unit))
                             return attrKey.unit;
                     }
                 }
@@ -173,7 +173,7 @@
                     unit = "ug/m虏";
                     break;
                 case SPK.SensorTemperature:
-                    unit =  "掳C";
+                    unit = "掳C";
                     break;
                 case SPK.SensorTVOC:
                     unit = "PPB";
@@ -338,6 +338,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>
@@ -346,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