From e13a9980ce617db1394a76944186c5d5bd595d5d Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 02 六月 2021 14:37:12 +0800
Subject: [PATCH] 5月需求bug修复

---
 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs |  252 ++++++++++++-------------------------------------
 1 files changed, 63 insertions(+), 189 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
index 95a0d55..01603a3 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
@@ -4,6 +4,7 @@
 using HDL_ON.UI.CSS;
 using System.Collections.Generic;
 using HDL_ON.DAL.Server;
+using HDL_ON.UI.UI2.EnvironmentalScience;
 
 namespace HDL_ON.UI
 {
@@ -21,13 +22,14 @@
 
         MyEchartsViewOn myEchartsView;
 
-        Sensor sensor;
+        Sensor sensorTemp = new Sensor();
 
-        List<Sensor> showSensors;
+        Function function;
+        List<Function> showFunctions;
         /// <summary>
         /// 褰撳墠鏌ヨ绫诲瀷
         /// </summary>
-        QueryType curQueryType = QueryType.NowDay;
+        string curQueryType = "hour";
 
         List<uint> tipColorList = new List<uint>()
         {
@@ -39,12 +41,12 @@
             "#80AEFF","#FFD154","#FF9D54","#FE6A6A","#B183C3","#ADE764",
         };
 
-        public EnvironmentalSensorPage(Sensor ss)
+        public EnvironmentalSensorPage(Function ss)
         {
             bodyView = this;
-            sensor = ss;
-            showSensors = new List<Sensor>();
-            showSensors.Add(ss);
+            function = ss;
+            showFunctions = new List<Function>();
+            showFunctions.Add(ss);
         }
 
         public void LoadPage()
@@ -65,7 +67,7 @@
             {
                 Gravity = Gravity.CenterHorizontal,
                 Width = Application.GetRealWidth(343),
-                Height = Application.GetRealHeight(420),
+                Height = Application.GetRealWidth(420),
                 BackgroundColor = CSS_Color.MainBackgroundColor,
                 Radius = (uint)Application.GetRealWidth(12),
                 BorderColor = 0x00000000,
@@ -138,7 +140,7 @@
             HorizontalScrolViewLayout tipValuesView = new HorizontalScrolViewLayout()
             {
                 Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(348),
+                Y = Application.GetRealWidth(348),
                 Width = Application.GetRealWidth(303),
                 Height = Application.GetRealHeight(30),
             };
@@ -163,9 +165,9 @@
             };
             diagramView.AddChidren(tipTextView);
 
-            switch (sensor.functionType)
+            switch (function.spk)
             {
-                case FunctionType.PM25:
+                case SPK.SensorPm25:
                     tipValuesView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(101),
@@ -223,7 +225,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");
@@ -233,7 +235,7 @@
                 //_levelTextList.Add(StringId.MildPollution);
                 //_levelTextList.Add(StringId.HeavyPollution);
                 //break;
-                case FunctionType.CO2:
+                case SPK.SensorCO2:
                     tipValuesView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(101),
@@ -291,7 +293,7 @@
                         TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                     });
                     break;
-                case FunctionType.Temp:
+                case SPK.SensorTemperature:
                     tipValuesView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(50),
@@ -358,7 +360,7 @@
                     tipTextView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(43),
-                        TextID = StringId.ExtremelyCold,
+                        TextID = StringId.SlightlyCold,
                         TextAlignment = TextAlignment.Center,
                         TextColor = CSS_Color.FirstLevelTitleColor,
                         TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
@@ -411,7 +413,7 @@
                     //_levelTextList.Add(StringId.);
                     //_levelTextList.Add(StringId.ExtremeHeat);
                     break;
-                case FunctionType.TVOC:
+                case SPK.SensorTVOC:
                     tipValuesView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(101),
@@ -469,11 +471,11 @@
                         TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                     });
                     break;
-                case FunctionType.Humidity:
+                case SPK.SensorHumidity:
                     tipValuesView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(151),
-                        Text = "70",
+                        Text = "40%",
                         TextAlignment = TextAlignment.Center,
                         TextColor = CSS_Color.FirstLevelTitleColor,
                         TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
@@ -481,7 +483,7 @@
                     tipValuesView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(151),
-                        Text = "40",
+                        Text = "70%",
                         TextAlignment = TextAlignment.Center,
                         TextColor = CSS_Color.FirstLevelTitleColor,
                         TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
@@ -489,7 +491,7 @@
                     tipTextView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(101),
-                        TextID = StringId.SensorReferenceTVOCTipLevel1,
+                        TextID = StringId.SensorReferenceHumidityTipLevel1,
                         TextAlignment = TextAlignment.Center,
                         TextColor = CSS_Color.FirstLevelTitleColor,
                         TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
@@ -497,7 +499,7 @@
                     tipTextView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(101),
-                        TextID = StringId.SensorReferenceTVOCTipLevel2,
+                        TextID = StringId.SensorReferenceHumidityTipLevel2,
                         TextAlignment = TextAlignment.Center,
                         TextColor = CSS_Color.FirstLevelTitleColor,
                         TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
@@ -505,7 +507,7 @@
                     tipTextView.AddChidren(new Button()
                     {
                         Width = Application.GetRealWidth(101),
-                        TextID = StringId.SensorReferenceTVOCTipLevel3,
+                        TextID = StringId.SensorReferenceHumidityTipLevel3,
                         TextAlignment = TextAlignment.Center,
                         TextColor = CSS_Color.FirstLevelTitleColor,
                         TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
@@ -552,7 +554,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.TextFontSize,
-                Text = sensor.name,
+                Text = function.name,
                 IsBold = true,
             };
             selfInfoView.AddChidren(btnSeltSensorName);
@@ -566,7 +568,7 @@
                 TextColor = CSS_Color.PromptingColor1,
                 TextAlignment = TextAlignment.CenterLeft,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                Text = sensor.GetRoomListName()
+                Text = function.GetRoomListName()
             };
             selfInfoView.AddChidren(btnFromFoorAndRoom);
 
@@ -628,9 +630,9 @@
             {
                 Action backAction = () =>
                 {
-                    btnSeltSensorName.Text = sensor.name;
+                    btnSeltSensorName.Text = function.name;
                 };
-                var infoView = new FunctionBaseInfoSetPage(sensor, backAction);
+                var infoView = new FunctionBaseInfoSetPage(function, backAction);
                 MainPage.BasePageView.AddChidren(infoView);
                 infoView.LoadPage();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -642,13 +644,13 @@
 
             bool initTitleButton = true;
 
-            foreach (var tempSensor in FunctionList.List.sensorsEnvironmentalScience)
+            foreach (var tempSensor in FunctionList.List.GetEnvirSensorsList())
             {
-                if (tempSensor.sid == sensor.sid)
+                if (tempSensor.sid == function.sid)
                 {
                     continue;
                 }
-                if (tempSensor.functionType != sensor.functionType)
+                if (tempSensor.spk != function.spk)
                 {
                     continue;
                 }
@@ -705,7 +707,7 @@
                     TextAlignment = TextAlignment.CenterLeft,
                     TextColor = CSS_Color.FirstLevelTitleColor,
                     TextSize = CSS_FontSize.TextFontSize,
-                    Text = sensor.name,
+                    Text = function.name,
                     IsBold = true,
                 };
                 otherInfoView.AddChidren(btnSensorName);
@@ -772,16 +774,16 @@
                     btnShowData1.IsSelected = !btnShowData1.IsSelected;
                     if (btnShowData1.IsSelected)
                     {
-                        if (!showSensors.Contains(sensor))
+                        if (!showFunctions.Contains(function))
                         {
-                            showSensors.Add(sensor);
+                            showFunctions.Add(function);
                         }
                     }
                     else
                     {
-                        if (showSensors.Contains(sensor))
+                        if (showFunctions.Contains(function))
                         {
-                            showSensors.Remove(sensor);
+                            showFunctions.Remove(function);
                         }
                     }
                     LoadMothed_GetSensorHistoryData();
@@ -790,7 +792,7 @@
 
             }
             #endregion
-            new TopViewDiv(bodyView, Language.StringByID(sensor.functionTypeNameId)).LoadTopView();
+            new TopViewDiv(bodyView, Language.StringByID(sensorTemp.GetFunctionTypeNameId(function.spk))).LoadTopView();
 
             LoadMothed_GetSensorHistoryData();
             LoadEvent_ChangeSensorHistoryShowType();
@@ -801,23 +803,11 @@
     //------------
     public partial class EnvironmentalSensorPage
     {
-       public  enum QueryType
-        {
-            NowDay = 0,//褰撳ぉ
-            NowMonth = 1,//鎸囧畾鏈�
-            NowYear = 2,//浠婂勾
-            LatelySevenDay = 3//鏈�杩戜竷澶�
-        }
-
         /// <summary>
         /// 璇诲彇浼犳劅鍣ㄥ巻鍙叉暟鎹�
         /// </summary>
-        void LoadMothed_GetSensorHistoryData()
+        void LoadMothed_GetSensorHistoryData( )
         {
-            string echartRootJsonString;
-            EchartsOption echartRootJson = new EchartsOption();
-            var seriesList = new List<EchartSeriesItem>();
-            echartRootJson.xAxis.data = new List<string>();
             var loadPage = new Loading() {
                 LodingBackgroundColor = 0x88888888,
             };
@@ -830,161 +820,51 @@
                     Application.RunOnMainThread(() => {
                         loadPage.Start(Language.StringByID(StringId.PleaseWait));
                     });
-                    var curMonth = 0;
-                    if(curQueryType == QueryType.NowMonth)
-                    {
-                        curMonth = DateTime.Now.Month;
-                    }
                     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 FunctionType.PM25:
-//                                level = Math.Round(random.NextDouble() * 130, 0);
-//                                break;
-//                            case FunctionType.CO2:
-//                                level = Math.Round(random.NextDouble() * 6000, 0);
-//                                break;
-//                            case FunctionType.Temp:
-//                                level = Math.Round(random.NextDouble() * 40, 0);
-//                                break;
-//                            case FunctionType.TVOC:
-//                                level = Math.Round(random.NextDouble() * 10, 1);
-//                                break;
-//                            case FunctionType.Humidity:
-//                                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
+                    var ebl = new EchartsOption_BrokenLine();
 
-                    foreach (var sr in FunctionList.List.sensorsEnvironmentalScience)
+                    string yDataString = "";
+
+                    foreach (var sr in FunctionList.List.GetEnvirSensorsList())
                     {
-                        if (sr.functionType != sensor.functionType)
+                        if (sr.spk != function.spk)
                         {
                             continue;
                         }
-                        if (showSensors.Find((obj) => obj.sid == sr.sid) == null)
+                        if (showFunctions.Find((obj) => obj.sid == sr.sid) == null)
                         {
                             i++;
                             continue;
                         }
-                        var revertObj = new HttpServerRequest().GetSensorHistory(sr.bus.SubnetID, sr.bus.DeviceID,
-                               5, (int)(sr.functionType) % 256, (int)curQueryType, sr.bus.LoopId, curMonth,
-                               DB_ResidenceData.Instance.residenceGatewayMAC);
 
+                        var sensorType = sr.spk.Split(".")[1];
+                        var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, sr.deviceId,"value");
                         if (revertObj != null)
                         {
-                            if (revertObj.StateCode == 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
+                                if (i == 0)
                                 {
-                                    name = sr.GetRoomListName(),
-                                    data = new List<int>(),
-                                    lineStyle = new EchartLineStyle()
+                                    List<string> vs = new List<string>();
+                                    foreach(var data in revertData)
                                     {
-                                        color = tipColorStringList[i],
-#if __IOS__
-                                        width = 5,
-#elif __ANDROID__
-                                        width = 2,
-#endif
-                                    },
-                                };
-
-                                int ass = 0;
-                                for (int j = 0; j < revertData.Count; j++)
-                                {
-                                    if (curQueryType == QueryType.NowMonth && revertData[j].CreatedOnUtc.Day > DateTime.Now.Day)
-                                    {
-                                        continue;
+                                        vs.Add(data.fieldName);
                                     }
-                                    if (revertData[j].TargetValue.ToString() != "NaN")
-                                    {
-                                        ass = Convert.ToInt32(revertData[j].TargetValue);
-                                    }
-                                    else
-                                    {
-                                        ass = 0;
-                                    }
-                                    sItem.data.Add(ass);
-                                    switch (curQueryType)
-                                    {
-                                        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;
-                                    }
+                                    ebl.InitXdataText(vs);
                                 }
-                                seriesList.Add(sItem);
-                            }
-                            else
-                            {
-                                Application.RunOnMainThread(() =>
-                                {
-                                    new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.GetSensorHistoryFailed), true);
-                                });
+                                yDataString += ebl.InitYdataText(sr.name, revertData, tipColorStringList[i]);
                             }
                         }
                         i++;
                     }
 
-                    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);
+                        myEchartsView.ShowWithOption(ebl.InitOption());
                     });
 
                 }
@@ -1010,7 +890,7 @@
                 btnShowHistroyData_Day.IsSelected = true;
                 btnShowHistroyData_Month.IsSelected = false;
                 btnShowHistroyData_Week.IsSelected = false;
-                curQueryType = QueryType.NowDay;
+                curQueryType = "hour";
                 LoadMothed_GetSensorHistoryData();
             };
 
@@ -1020,7 +900,7 @@
                 btnShowHistroyData_Day.IsSelected = false;
                 btnShowHistroyData_Month.IsSelected = true;
                 btnShowHistroyData_Week.IsSelected = false;
-                curQueryType = QueryType.NowMonth;
+                curQueryType = "month";
                 LoadMothed_GetSensorHistoryData();
             };
             btnShowHistroyData_Week.MouseUpEventHandler = (sender, e) =>
@@ -1029,29 +909,23 @@
                 btnShowHistroyData_Day.IsSelected = false;
                 btnShowHistroyData_Month.IsSelected = false;
                 btnShowHistroyData_Week.IsSelected = true;
-                curQueryType = QueryType.LatelySevenDay;
+                curQueryType = "week";
                 LoadMothed_GetSensorHistoryData();
             };
 
         }
 
-        void LoadEvent_SwitchOtherRoomSensorData()
-        {
 
-        }
     }
 
-    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