From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 01 十二月 2021 16:32:57 +0800 Subject: [PATCH] 2021-12-01-01 --- HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs | 314 ++++++++++++++++++---------------------------------- 1 files changed, 108 insertions(+), 206 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs index c382507..de2bdaa 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,15 @@ MyEchartsViewOn myEchartsView; - Sensor sensor; + Sensor sensorTemp = new Sensor(); - List<Sensor> showSensors; + Function function; + List<Function> showFunctions; + List<Function> sensorList; /// <summary> /// 褰撳墠鏌ヨ绫诲瀷 /// </summary> - QueryType curQueryType = QueryType.NowDay; + string curQueryType = "hour"; List<uint> tipColorList = new List<uint>() { @@ -39,12 +42,23 @@ "#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); + sensorList = FunctionList.List.GetEnvirSensorsList(); + } + + + public EnvironmentalSensorPage(Function ss,List<Function> functions) + { + bodyView = this; + function = ss; + sensorList = functions; + showFunctions = new List<Function>(); + showFunctions.Add(ss); } public void LoadPage() @@ -65,7 +79,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, @@ -116,7 +130,7 @@ TextColor = CSS_Color.PromptingColor2, SelectedTextColor = CSS_Color.MainColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - Text = DateTime.Now.Month.ToString() + Language.StringByID(StringId.month), + Text = Language.StringByID(StringId.month),//DateTime.Now.Month.ToString() + }; showDataTypeView.AddChidren(btnShowHistroyData_Month); #endregion @@ -126,7 +140,7 @@ Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(52), Width = Application.GetRealWidth(343 - 32), - Height = Application.GetRealHeight(270), + Height = Application.GetRealWidth(270), }; diagramView.AddChidren(historyDataView); @@ -138,7 +152,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 +177,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 +237,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 +247,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 +305,7 @@ TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, }); break; - case FunctionType.Temp: + case SPK.SensorTemperature: tipValuesView.AddChidren(new Button() { Width = Application.GetRealWidth(50), @@ -358,7 +372,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 +425,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 +483,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 +495,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 +503,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 +511,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 +519,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 +566,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 +580,7 @@ TextColor = CSS_Color.PromptingColor1, TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - Text = sensor.GetRoomListName() + Text = function.GetRoomListName() }; selfInfoView.AddChidren(btnFromFoorAndRoom); @@ -593,18 +607,18 @@ }; selfInfoView.AddChidren(btnSeltSensorValue); - Button btnShowData; - btnShowData = new Button() - { - X = Application.GetRealWidth(291), - Y = Application.GetRealWidth(62), - Width = Application.GetMinRealAverage(32), - Height = Application.GetMinRealAverage(32), - UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIcon.png", - SelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIconOn.png", - IsSelected = true, - }; - selfInfoView.AddChidren(btnShowData); + //Button btnShowData; + //btnShowData = new Button() + //{ + // X = Application.GetRealWidth(291), + // Y = Application.GetRealWidth(62), + // Width = Application.GetMinRealAverage(32), + // Height = Application.GetMinRealAverage(32), + // UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIcon.png", + // SelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIconOn.png", + // IsSelected = true, + //}; + //selfInfoView.AddChidren(btnShowData); //btnShowData.MouseUpEventHandler = (sender, e) => { // btnShowData.IsSelected = !btnShowData.IsSelected; // if(btnShowData.IsSelected) @@ -628,9 +642,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 +656,14 @@ bool initTitleButton = true; - foreach (var tempSensor in FunctionList.List.sensorsEnvironmentalScience) + + foreach (var tempSensor in sensorList) { - if (tempSensor.sid == sensor.sid) + if (tempSensor.sid == function.sid) { continue; } - if (tempSensor.functionType != sensor.functionType) + if (tempSensor.spk != function.spk) { continue; } @@ -673,7 +688,7 @@ #region 鍏跺畠浼犳劅鍣ㄤ俊鎭爮 FrameLayout otherInfoView = new FrameLayout() { - Gravity = Gravity.CenterVertical, + Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), Height = Application.GetRealWidth(100), BackgroundColor = CSS_Color.MainBackgroundColor, @@ -705,7 +720,7 @@ TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, - Text = sensor.name, + Text = function.name, IsBold = true, }; otherInfoView.AddChidren(btnSensorName); @@ -737,7 +752,11 @@ { Action backAction = () => { - btnSeltSensorName.Text = tempSensor.name; + MainPage.Log("45678i"); + Application.RunOnMainThread(() => + { + btnSeltSensorName.Text = tempSensor.name; + }); }; var infoView = new FunctionBaseInfoSetPage(tempSensor, backAction); MainPage.BasePageView.AddChidren(infoView); @@ -772,25 +791,30 @@ btnShowData1.IsSelected = !btnShowData1.IsSelected; if (btnShowData1.IsSelected) { - if (!showSensors.Contains(sensor)) + if (!showFunctions.Contains(tempSensor)) { - showSensors.Add(sensor); + showFunctions.Add(tempSensor); } } else { - if (showSensors.Contains(sensor)) + if (showFunctions.Contains(tempSensor)) { - showSensors.Remove(sensor); + showFunctions.Remove(tempSensor); } } LoadMothed_GetSensorHistoryData(); }; #endregion + contentView.AddChidren(new Button() + { + Height = Application.GetRealHeight(12), + }); + } #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 +825,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 +840,59 @@ 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 FunctionList.List.sensorsEnvironmentalScience) + string yDataString = ""; + + foreach (var sr in showFunctions) { - 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 queryType = sr.GetAttrState("spk").ToString(); + if(queryType == "0") + { + queryType = "value"; + } + + var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, sr.deviceId, queryType); 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 +918,7 @@ btnShowHistroyData_Day.IsSelected = true; btnShowHistroyData_Month.IsSelected = false; btnShowHistroyData_Week.IsSelected = false; - curQueryType = QueryType.NowDay; + curQueryType = "hour"; LoadMothed_GetSensorHistoryData(); }; @@ -1020,7 +928,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 +937,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