From e13ff34658898c9f506681aa75244fead1fb2153 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期日, 06 六月 2021 14:17:10 +0800
Subject: [PATCH] 2021-6-6-2
---
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 0cf683f..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