From d4811b7d34b45ff6b21b97f11da128b5572ec526 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 03 三月 2021 16:03:03 +0800
Subject: [PATCH] 20210303-1

---
 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs |  164 +++++++++++++++++++++++++++++-------------------------
 1 files changed, 88 insertions(+), 76 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
index 9ef23cc..594196b 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>
+        string curQueryType = "hour";
 
         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,18 +801,10 @@
     //------------
     public partial class EnvironmentalSensorPage
     {
-        enum QueryType
-        {
-            NowDay = 0,//褰撳ぉ
-            NowMonth = 1,//鎸囧畾鏈�
-            NowYear = 2,//浠婂勾
-            LatelySevenDay = 3//鏈�杩戜竷澶�
-        }
-
         /// <summary>
         /// 璇诲彇浼犳劅鍣ㄥ巻鍙叉暟鎹�
         /// </summary>
-        void LoadMothed_GetSensorHistoryData(QueryType queryType)
+        void LoadMothed_GetSensorHistoryData()
         {
             string echartRootJsonString;
             EchartsOption echartRootJson = new EchartsOption();
@@ -797,25 +820,30 @@
                 try
                 {
                     Application.RunOnMainThread(() => {
-                        loadPage.Start("Loading...");
+                        loadPage.Start(Language.StringByID(StringId.PleaseWait));
                     });
-                    var curMonth = 0;
-                    if(queryType == QueryType.NowMonth)
+                    int i = 0;
+      
+                    foreach (var sr in FunctionList.List.sensorsEnvironmentalScience)
                     {
-                        curMonth = DateTime.Now.Month;
-                    }
-                    for (int i = 0; i < showSensors.Count; i++)
-                    {
-                        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;
+                        }
+
+                        var sensorType = sr.spk.Split(".")[0];
+                        var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, sr.deviceId,sensorType);
 
                         if (revertObj != null)
                         {
-                            if (revertObj.StateCode == "SUCCESS")
+                            if (revertObj.Code == StateCode.SUCCESS)
                             {
-                                var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SensorPushHistoryRes>>(revertObj.ResponseData.ToString());
+                                var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString());
 
                                 var sItem = new EchartSeriesItem
                                 {
@@ -832,26 +860,10 @@
                                     },
                                 };
 
-                                int ass = 0;
-                                for (int j = 0; j < revertData.Count; j++)
+                                foreach (var d in revertData)
                                 {
-                                    if (revertData[j].TargetValue.ToString() != "NaN")
-                                    {
-                                        ass = Convert.ToInt32(revertData[j].TargetValue);
-                                    }
-                                    sItem.data.Add(ass);
-                                    switch (queryType)
-                                    {
-                                        case QueryType.NowDay:
-                                            echartRootJson.xAxis.data.Add(revertData[j].CreatedOnUtc.Hour.ToString());
-                                            break;
-                                        case QueryType.LatelySevenDay:
-                                            echartRootJson.xAxis.data.Add(System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetDayName(revertData[j].CreatedOnUtc.DayOfWeek));
-                                            break;
-                                        case QueryType.NowMonth:
-                                            echartRootJson.xAxis.data.Add(revertData[j].CreatedOnUtc.Day.ToString());
-                                            break;
-                                    }
+                                    echartRootJson.xAxis.data.Add(d.fieldName);
+                                    echartRootJson.yAxis.data.Add(d.fieldValue);
                                 }
                                 seriesList.Add(sItem);
                             }
@@ -863,10 +875,9 @@
                                 });
                             }
                         }
+                        i++;
                     }
 
-                    //echartRootJson.title.text = "娓╁害(鈩�)";lineStyle
-                    //echartRootJson.color = new List<string> { "#80AEFF" };//, "FFD154", "FF9D54", "FE6A6A", "B183C3", "ADE764" 
                     echartRootJson.series = seriesList;
 
 
@@ -882,6 +893,7 @@
                     {
                         myEchartsView.ShowWithOptionJsonString(echartRootJsonString);
                     });
+
                 }
                 catch (Exception ex)
                 {
@@ -905,7 +917,8 @@
                 btnShowHistroyData_Day.IsSelected = true;
                 btnShowHistroyData_Month.IsSelected = false;
                 btnShowHistroyData_Week.IsSelected = false;
-                LoadMothed_GetSensorHistoryData(QueryType.NowDay);
+                curQueryType = "hour";
+                LoadMothed_GetSensorHistoryData();
             };
 
             btnShowHistroyData_Month.MouseUpEventHandler = (sender, e) =>
@@ -914,7 +927,8 @@
                 btnShowHistroyData_Day.IsSelected = false;
                 btnShowHistroyData_Month.IsSelected = true;
                 btnShowHistroyData_Week.IsSelected = false;
-                LoadMothed_GetSensorHistoryData(QueryType.NowMonth);
+                curQueryType = "week";
+                LoadMothed_GetSensorHistoryData();
             };
             btnShowHistroyData_Week.MouseUpEventHandler = (sender, e) =>
             {
@@ -922,7 +936,8 @@
                 btnShowHistroyData_Day.IsSelected = false;
                 btnShowHistroyData_Month.IsSelected = false;
                 btnShowHistroyData_Week.IsSelected = true;
-                LoadMothed_GetSensorHistoryData(QueryType.LatelySevenDay);
+                curQueryType = "month";
+                LoadMothed_GetSensorHistoryData();
             };
 
         }
@@ -933,17 +948,14 @@
         }
     }
 
-    public class SensorPushHistoryRes
+    public class EnvironmentalSensorHistor
     {
+        /// <summary>
+        /// </summary>
+        public string fieldName { get; set; }
 
         /// <summary>
-        /// 瀹為檯鐩爣鍊�
         /// </summary>
-        public float TargetValue { get; set; }
-
-        /// <summary>
-        /// 鏌ヨ鐨勬椂闂撮泦缇�
-        /// </summary>
-        public DateTime CreatedOnUtc { get; set; }
+        public string fieldValue { get; set; }
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0