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 | 254 ++++++++++++-------------------------------------- 1 files changed, 64 insertions(+), 190 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs index 89cd0cb..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 DB_ResidenceData.functionList.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, }; @@ -828,163 +818,53 @@ try { Application.RunOnMainThread(() => { - loadPage.Start("Loading..."); + 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 DB_ResidenceData.functionList.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_Data.SubnetID, sr.bus_Data.DeviceID, - 5, (int)(sr.functionType) % 256, (int)curQueryType, sr.bus_Data.loopId, curMonth, - DB_ResidenceData.residenceData.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