From 7232642ff48a7fbde2018cde652f3e771fa58025 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 27 一月 2021 14:32:55 +0800
Subject: [PATCH] 20200127-英文版处理

---
 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs |  204 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 166 insertions(+), 38 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
index 9ef23cc..0770c48 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
@@ -3,6 +3,7 @@
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
 using System.Collections.Generic;
+using HDL_ON.DAL.Server;
 
 namespace HDL_ON.UI
 {
@@ -22,7 +23,11 @@
 
         Sensor sensor;
 
-        List<Sensor> showSensors; 
+        List<Sensor> showSensors;
+        /// <summary>
+        /// 褰撳墠鏌ヨ绫诲瀷
+        /// </summary>
+        QueryType curQueryType = QueryType.NowDay;
 
         List<uint> tipColorList = new List<uint>()
         {
@@ -44,7 +49,6 @@
 
         public void LoadPage()
         {
-
             bodyView.BackgroundColor = CSS_Color.BackgroundColor;
 
             VerticalScrolViewLayout contentView = new VerticalScrolViewLayout()
@@ -112,7 +116,7 @@
                 TextColor = CSS_Color.PromptingColor2,
                 SelectedTextColor = CSS_Color.MainColor,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                TextID = StringId.month,
+                Text = DateTime.Now.Month.ToString() + Language.StringByID(StringId.month),
             };
             showDataTypeView.AddChidren(btnShowHistroyData_Month);
             #endregion
@@ -159,10 +163,9 @@
             };
             diagramView.AddChidren(tipTextView);
 
-            switch (sensor.functionType)
+            switch (sensor.spk)
             {
-                case FunctionType.PM10:
-                case FunctionType.PM25:
+                case SPK.SensorPm25:
                     tipValuesView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(101),
@@ -220,7 +223,7 @@
                         TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                     });
                     break;
-                //case FunctionType.PM25:
+                //case SPK.SensorPm25:
                 //_intervalValue.Add("0 ~ 35");
                 //_intervalValue.Add("36 ~ 75");
                 //_intervalValue.Add("76 ~ 115");
@@ -230,11 +233,7 @@
                 //_levelTextList.Add(StringId.MildPollution);
                 //_levelTextList.Add(StringId.HeavyPollution);
                 //break;
-                //case FunctionType.Noise:
-                //    break;
-                case FunctionType.WindPower:
-                    break;
-                case FunctionType.CO2:
+                case SPK.SensorCO2:
                     tipValuesView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(101),
@@ -292,7 +291,7 @@
                         TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                     });
                     break;
-                case FunctionType.Temp:
+                case SPK.SensorTemperature:
                     tipValuesView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(50),
@@ -412,7 +411,7 @@
                     //_levelTextList.Add(StringId.);
                     //_levelTextList.Add(StringId.ExtremeHeat);
                     break;
-                case FunctionType.TVOC:
+                case SPK.SensorTVOC:
                     tipValuesView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(101),
@@ -470,7 +469,7 @@
                         TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                     });
                     break;
-                case FunctionType.Humidity:
+                case SPK.SensorHumidity:
                     tipValuesView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(151),
@@ -606,7 +605,24 @@
                 IsSelected = true,
             };
             selfInfoView.AddChidren(btnShowData);
-
+            //btnShowData.MouseUpEventHandler = (sender, e) => {
+            //    btnShowData.IsSelected = !btnShowData.IsSelected;
+            //    if(btnShowData.IsSelected)
+            //    {
+            //        if (!showSensors.Contains(sensor))
+            //        {
+            //            showSensors.Add(sensor);
+            //        }
+            //    }
+            //    else
+            //    {
+            //        if (showSensors.Contains(sensor))
+            //        {
+            //            showSensors.Remove(sensor);
+            //        }
+            //    }
+            //    LoadMothed_GetSensorHistoryData();
+            //};
 
             btnSetting.MouseUpEventHandler = (sender, e) =>
             {
@@ -626,17 +642,16 @@
 
             bool initTitleButton = true;
 
-            foreach (var tempSensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience)
+            foreach (var tempSensor in FunctionList.List.sensorsEnvironmentalScience)
             {
                 if (tempSensor.sid == sensor.sid)
                 {
                     continue;
                 }
-                if (tempSensor.functionType != sensor.functionType)
+                if (tempSensor.spk != sensor.spk)
                 {
                     continue;
                 }
-
                 contentView.ScrollEnabled = true;
 
                 if (initTitleButton)
@@ -694,7 +709,6 @@
                     IsBold = true,
                 };
                 otherInfoView.AddChidren(btnSensorName);
-
 
                 Button btnFromFoorAndRoom1 = new Button()
                 {
@@ -754,14 +768,31 @@
                     SelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIconOn.png",
                 };
                 otherInfoView.AddChidren(btnShowData1);
-
+                btnShowData1.MouseUpEventHandler = (sender, e) => {
+                    btnShowData1.IsSelected = !btnShowData1.IsSelected;
+                    if (btnShowData1.IsSelected)
+                    {
+                        if (!showSensors.Contains(sensor))
+                        {
+                            showSensors.Add(sensor);
+                        }
+                    }
+                    else
+                    {
+                        if (showSensors.Contains(sensor))
+                        {
+                            showSensors.Remove(sensor);
+                        }
+                    }
+                    LoadMothed_GetSensorHistoryData();
+                };
                 #endregion
 
             }
             #endregion
             new TopViewDiv(bodyView, Language.StringByID(sensor.functionTypeNameId)).LoadTopView();
 
-            LoadMothed_GetSensorHistoryData(QueryType.NowDay);
+            LoadMothed_GetSensorHistoryData();
             LoadEvent_ChangeSensorHistoryShowType();
         }
     }
@@ -770,7 +801,7 @@
     //------------
     public partial class EnvironmentalSensorPage
     {
-        enum QueryType
+       public  enum QueryType
         {
             NowDay = 0,//褰撳ぉ
             NowMonth = 1,//鎸囧畾鏈�
@@ -781,7 +812,7 @@
         /// <summary>
         /// 璇诲彇浼犳劅鍣ㄥ巻鍙叉暟鎹�
         /// </summary>
-        void LoadMothed_GetSensorHistoryData(QueryType queryType)
+        void LoadMothed_GetSensorHistoryData()
         {
             string echartRootJsonString;
             EchartsOption echartRootJson = new EchartsOption();
@@ -797,23 +828,109 @@
                 try
                 {
                     Application.RunOnMainThread(() => {
-                        loadPage.Start("Loading...");
+                        loadPage.Start(Language.StringByID(StringId.PleaseWait));
                     });
                     var curMonth = 0;
-                    if(queryType == QueryType.NowMonth)
+                    if(curQueryType == QueryType.NowMonth)
                     {
                         curMonth = DateTime.Now.Month;
                     }
-                    for (int i = 0; i < showSensors.Count; i++)
+                    int i = 0;
+
+//#if DEBUG
+//                    var sItem = new EchartSeriesItem
+//                    {
+//                        name = sensor.GetRoomListName(),
+//                        data = new List<int>(),
+//                        lineStyle = new EchartLineStyle()
+//                        {
+//                            color = tipColorStringList[i],
+//#if __IOS__
+//                            width = 5,
+//#elif __ANDROID__
+//                                        width = 2,
+//#endif
+//                        },
+//                    };
+//                    Random random = new Random();
+//                    double level = 0.0;
+//                    int countddd = 24;
+//                    for (int j = 0; j < countddd; j++)
+//                    {
+//                        switch (sensor.functionType)
+//                        {
+//                            case SPK.SensorPm25:
+//                                level = Math.Round(random.NextDouble() * 130, 0);
+//                                break;
+//                            case SPK.SensorCO2:
+//                                level = Math.Round(random.NextDouble() * 6000, 0);
+//                                break;
+//                            case SPK.SensorTemperature:
+//                                level = Math.Round(random.NextDouble() * 40, 0);
+//                                break;
+//                            case SPK.SensorTVOC:
+//                                level = Math.Round(random.NextDouble() * 10, 1);
+//                                break;
+//                            case SPK.SensorHumidity:
+//                                level = Math.Round(random.NextDouble() * 100, 0);
+//                                break;
+//                        }
+//                        sItem.data.Add((int)level);
+//                    }
+//                        seriesList.Add(sItem);
+//                    echartRootJson.series = seriesList;
+//#if __IOS__
+//                    echartRootJson.xAxis.axisLabel.fontSize = 22;
+//                    echartRootJson.yAxis.axisLabel.fontSize = 22;
+//#else
+//                    echartRootJson.xAxis.axisLabel.fontSize = 8;
+//                    echartRootJson.yAxis.axisLabel.fontSize = 8;
+//#endif
+//                    echartRootJsonString = Newtonsoft.Json.JsonConvert.SerializeObject(echartRootJson);
+//                    Application.RunOnMainThread(() =>
+//                    {
+//                        myEchartsView.ShowWithOptionJsonString(echartRootJsonString);
+//                    });
+//#endif
+
+                    foreach (var sr in FunctionList.List.sensorsEnvironmentalScience)
                     {
-                        var sr = showSensors[i];
-                        var revertObj = new DAL.Server.HttpServerRequest().GetSensorHistory(sr.bus_Data.SubnetID, sr.bus_Data.DeviceID,
-                               5, (int)(sr.functionType) % 256, (int)queryType, sr.bus_Data.LoopID, curMonth,
-                               DB_ResidenceData.residenceData.residenceGatewayMAC);
+                        if (sr.spk != sensor.spk)
+                        {
+                            continue;
+                        }
+                        if (showSensors.Find((obj) => obj.sid == sr.sid) == null)
+                        {
+                            i++;
+                            continue;
+                        }
+
+                        byte sensorType = 0;
+                        switch (sr.spk)
+                        {
+                            case SPK.SensorTemperature:
+                                sensorType = 2;
+                                break;
+                            case SPK.SensorHumidity:
+                                sensorType = 3;
+                                break;
+                            case SPK.SensorTVOC:
+                                sensorType = 5;
+                                break;
+                            case SPK.SensorPm25:
+                                sensorType = 6;
+                                break;
+                            case SPK.SensorCO2:
+                                sensorType = 7;
+                                break;
+                        }
+                        var revertObj = new HttpServerRequest().GetSensorHistory(sr.bus.SubnetID, sr.bus.DeviceID,
+                               5, sensorType, (int)curQueryType, sr.bus.LoopId, curMonth,
+                               DB_ResidenceData.Instance.residenceGatewayMAC);
 
                         if (revertObj != null)
                         {
-                            if (revertObj.StateCode == "SUCCESS")
+                            if (revertObj.StateCode == StateCode.SUCCESS)
                             {
                                 var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SensorPushHistoryRes>>(revertObj.ResponseData.ToString());
 
@@ -835,12 +952,20 @@
                                 int ass = 0;
                                 for (int j = 0; j < revertData.Count; j++)
                                 {
+                                    if (curQueryType == QueryType.NowMonth && revertData[j].CreatedOnUtc.Day > DateTime.Now.Day)
+                                    {
+                                        continue;
+                                    }
                                     if (revertData[j].TargetValue.ToString() != "NaN")
                                     {
                                         ass = Convert.ToInt32(revertData[j].TargetValue);
                                     }
+                                    else
+                                    {
+                                        ass = 0;
+                                    }
                                     sItem.data.Add(ass);
-                                    switch (queryType)
+                                    switch (curQueryType)
                                     {
                                         case QueryType.NowDay:
                                             echartRootJson.xAxis.data.Add(revertData[j].CreatedOnUtc.Hour.ToString());
@@ -863,10 +988,9 @@
                                 });
                             }
                         }
+                        i++;
                     }
 
-                    //echartRootJson.title.text = "娓╁害(鈩�)";lineStyle
-                    //echartRootJson.color = new List<string> { "#80AEFF" };//, "FFD154", "FF9D54", "FE6A6A", "B183C3", "ADE764" 
                     echartRootJson.series = seriesList;
 
 
@@ -882,6 +1006,7 @@
                     {
                         myEchartsView.ShowWithOptionJsonString(echartRootJsonString);
                     });
+
                 }
                 catch (Exception ex)
                 {
@@ -905,7 +1030,8 @@
                 btnShowHistroyData_Day.IsSelected = true;
                 btnShowHistroyData_Month.IsSelected = false;
                 btnShowHistroyData_Week.IsSelected = false;
-                LoadMothed_GetSensorHistoryData(QueryType.NowDay);
+                curQueryType = QueryType.NowDay;
+                LoadMothed_GetSensorHistoryData();
             };
 
             btnShowHistroyData_Month.MouseUpEventHandler = (sender, e) =>
@@ -914,7 +1040,8 @@
                 btnShowHistroyData_Day.IsSelected = false;
                 btnShowHistroyData_Month.IsSelected = true;
                 btnShowHistroyData_Week.IsSelected = false;
-                LoadMothed_GetSensorHistoryData(QueryType.NowMonth);
+                curQueryType = QueryType.NowMonth;
+                LoadMothed_GetSensorHistoryData();
             };
             btnShowHistroyData_Week.MouseUpEventHandler = (sender, e) =>
             {
@@ -922,7 +1049,8 @@
                 btnShowHistroyData_Day.IsSelected = false;
                 btnShowHistroyData_Month.IsSelected = false;
                 btnShowHistroyData_Week.IsSelected = true;
-                LoadMothed_GetSensorHistoryData(QueryType.LatelySevenDay);
+                curQueryType = QueryType.LatelySevenDay;
+                LoadMothed_GetSensorHistoryData();
             };
 
         }

--
Gitblit v1.8.0