wei
2021-09-01 f339e5c8b04d1ab94f78e4e9343d5f67bb202589
HDL_ON/Entity/Function/Sensor.cs
@@ -81,16 +81,22 @@
                    _intervalValue.Add("33°C ~");
                    break;
                case SPK.SensorTVOC:
                    _intervalValue.Add("0 ~ 0.6");
                    _intervalValue.Add("0.61 ~ 2");
                    _intervalValue.Add("2.01 ~ 5");
                    _intervalValue.Add("5 ~");
                    _intervalValue.Add("0 ~ 600");
                    _intervalValue.Add("601 ~ 2000");
                    _intervalValue.Add("2001 ~ 5000");
                    _intervalValue.Add("5001 ~");
                    break;
                case SPK.SensorHumidity:
                    _intervalValue.Add("70 ~");
                    _intervalValue.Add("71 ~ 40");
                    _intervalValue.Add("0 ~ 39");
                    break;
                case SPK.SensorHcho:
                    _intervalValue.Add("~ 0.08");
                    _intervalValue.Add("0.08 ~ 0.1");
                    _intervalValue.Add("0.1 ~ ");
                    break;
            }
            return _intervalValue;
        }
@@ -135,6 +141,16 @@
                    _levelColorList.Add(0xFF2172FF);
                    _levelColorList.Add(0xFFADE764);
                    _levelColorList.Add(0xFFFF3D3D);
                    break;
                case SPK.SensorHcho:
                    _levelColorList.Add(0xFF2172FF);
                    _levelColorList.Add(0xFFADE764);
                    _levelColorList.Add(0xFFFF3D3D);
                    break;
                default:
                    _levelColorList.Add(0x00000000);
                    _levelColorList.Add(0x00000000);
                    _levelColorList.Add(0x00000000);
                    break;
            }
            return _levelColorList;
@@ -181,6 +197,16 @@
                    _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;
        }
@@ -211,7 +237,7 @@
                        level = 2;
                    else if (values < 5000)
                        level = 3;
                    else if (values > 5000)
                    else if (values >= 5000)
                        level = 4;
                    break;
                case SPK.SensorTemperature:
@@ -231,13 +257,13 @@
                        level = 7;
                    break;
                case SPK.SensorTVOC:
                    if (values < 0.6)
                    if (values < 600)
                        level = 1;
                    else if (values < 2)
                    else if (values < 2000)
                        level = 2;
                    else if (values < 5)
                    else if (values < 5000)
                        level = 3;
                    else if (values > 5)
                    else if (values >= 5000)
                        level = 4;
                    break;
                case SPK.SensorHumidity:
@@ -248,8 +274,92 @@
                    else if (values < 40)
                        level = 3;
                    break;
                case SPK.SensorHcho:
                    if (values <= 0.08)
                        level = 1;
                    else if (values <= 0.1)
                        level = 2;
                    else
                        level = 3;
                    break;
            }
            return level;
        }
        /// <summary>
        /// 当前等级
        /// </summary>
        public int GetCurLevel(string spk,double values)
        {
            int level = 1;
            switch (spk)
            {
                case SPK.SensorPm25:
                    if (values < 35)
                        level = 1;
                    else if (values < 75)
                        level = 2;
                    else if (values < 115)
                        level = 3;
                    else if (values > 115)
                        level = 4;
                    break;
                case SPK.SensorCO2:
                    if (values < 1000)
                        level = 1;
                    else if (values < 2000)
                        level = 2;
                    else if (values < 5000)
                        level = 3;
                    else if (values >= 5000)
                        level = 4;
                    break;
                case SPK.SensorTemperature:
                    if (values < 18)
                        level = 1;
                    else if (values < 20)
                        level = 2;
                    else if (values < 25)
                        level = 3;
                    else if (values < 27)
                        level = 4;
                    else if (values < 30)
                        level = 5;
                    else if (values < 33)
                        level = 6;
                    else if (values > 33)
                        level = 7;
                    break;
                case SPK.SensorTVOC:
                    if (values < 600)
                        level = 1;
                    else if (values < 2000)
                        level = 2;
                    else if (values < 5000)
                        level = 3;
                    else if (values >= 5000)
                        level = 4;
                    break;
                case SPK.SensorHumidity:
                    if (values > 70)
                        level = 1;
                    else if (values > 40)
                        level = 2;
                    else if (values < 40)
                        level = 3;
                    break;
                case SPK.SensorHcho:
                    if (values <= 0.08)
                        level = 1;
                    else if (values <= 0.1)
                        level = 2;
                    else
                        level = 3;
                    break;
            }
            return level;
        }
    }
}