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, 118 insertions(+), 136 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
index 9ef23cc..01603a3 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
@@ -3,6 +3,8 @@
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using System.Collections.Generic;
+using HDL_ON.DAL.Server;
+using HDL_ON.UI.UI2.EnvironmentalScience;
namespace HDL_ON.UI
{
@@ -20,9 +22,14 @@
MyEchartsViewOn myEchartsView;
- Sensor sensor;
+ Sensor sensorTemp = new Sensor();
- List<Sensor> showSensors;
+ Function function;
+ List<Function> showFunctions;
+ /// <summary>
+ /// 褰撳墠鏌ヨ绫诲瀷
+ /// </summary>
+ string curQueryType = "hour";
List<uint> tipColorList = new List<uint>()
{
@@ -34,17 +41,16 @@
"#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()
{
-
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
VerticalScrolViewLayout contentView = new VerticalScrolViewLayout()
@@ -61,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,
@@ -112,7 +118,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
@@ -134,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),
};
@@ -159,10 +165,9 @@
};
diagramView.AddChidren(tipTextView);
- switch (sensor.functionType)
+ switch (function.spk)
{
- case FunctionType.PM10:
- case FunctionType.PM25:
+ case SPK.SensorPm25:
tipValuesView.AddChidren(new Button()
{
Width = Application.GetRealWidth(101),
@@ -220,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");
@@ -230,11 +235,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 +293,7 @@
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
});
break;
- case FunctionType.Temp:
+ case SPK.SensorTemperature:
tipValuesView.AddChidren(new Button()
{
Width = Application.GetRealWidth(50),
@@ -359,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,
@@ -412,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),
@@ -470,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,
@@ -482,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,
@@ -490,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,
@@ -498,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,
@@ -506,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,
@@ -553,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);
@@ -567,7 +568,7 @@
TextColor = CSS_Color.PromptingColor1,
TextAlignment = TextAlignment.CenterLeft,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- Text = sensor.GetRoomListName()
+ Text = function.GetRoomListName()
};
selfInfoView.AddChidren(btnFromFoorAndRoom);
@@ -606,15 +607,32 @@
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) =>
{
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;
@@ -626,17 +644,16 @@
bool initTitleButton = true;
- foreach (var tempSensor in DB_ResidenceData.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;
}
-
contentView.ScrollEnabled = true;
if (initTitleButton)
@@ -690,11 +707,10 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
- Text = sensor.name,
+ Text = function.name,
IsBold = true,
};
otherInfoView.AddChidren(btnSensorName);
-
Button btnFromFoorAndRoom1 = new Button()
{
@@ -754,14 +770,31 @@
SelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIconOn.png",
};
otherInfoView.AddChidren(btnShowData1);
-
+ btnShowData1.MouseUpEventHandler = (sender, e) => {
+ btnShowData1.IsSelected = !btnShowData1.IsSelected;
+ if (btnShowData1.IsSelected)
+ {
+ if (!showFunctions.Contains(function))
+ {
+ showFunctions.Add(function);
+ }
+ }
+ else
+ {
+ if (showFunctions.Contains(function))
+ {
+ showFunctions.Remove(function);
+ }
+ }
+ LoadMothed_GetSensorHistoryData();
+ };
#endregion
}
#endregion
- new TopViewDiv(bodyView, Language.StringByID(sensor.functionTypeNameId)).LoadTopView();
+ new TopViewDiv(bodyView, Language.StringByID(sensorTemp.GetFunctionTypeNameId(function.spk))).LoadTopView();
- LoadMothed_GetSensorHistoryData(QueryType.NowDay);
+ LoadMothed_GetSensorHistoryData();
LoadEvent_ChangeSensorHistoryShowType();
}
}
@@ -770,23 +803,11 @@
//------------
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();
- var seriesList = new List<EchartSeriesItem>();
- echartRootJson.xAxis.data = new List<string>();
var loadPage = new Loading() {
LodingBackgroundColor = 0x88888888,
};
@@ -797,91 +818,55 @@
try
{
Application.RunOnMainThread(() => {
- loadPage.Start("Loading...");
+ loadPage.Start(Language.StringByID(StringId.PleaseWait));
});
- var curMonth = 0;
- if(queryType == QueryType.NowMonth)
- {
- 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);
+ int i = 0;
+ var ebl = new EchartsOption_BrokenLine();
+
+ string yDataString = "";
+
+ foreach (var sr in FunctionList.List.GetEnvirSensorsList())
+ {
+ if (sr.spk != function.spk)
+ {
+ continue;
+ }
+ if (showFunctions.Find((obj) => obj.sid == sr.sid) == null)
+ {
+ i++;
+ continue;
+ }
+
+ var sensorType = sr.spk.Split(".")[1];
+ var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, sr.deviceId,"value");
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
+ 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 (revertData[j].TargetValue.ToString() != "NaN")
- {
- ass = Convert.ToInt32(revertData[j].TargetValue);
+ vs.Add(data.fieldName);
}
- 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;
- }
+ 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.title.text = "娓╁害(鈩�)";lineStyle
- //echartRootJson.color = new List<string> { "#80AEFF" };//, "FFD154", "FF9D54", "FE6A6A", "B183C3", "ADE764"
- 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());
});
+
}
catch (Exception ex)
{
@@ -905,7 +890,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 +900,8 @@
btnShowHistroyData_Day.IsSelected = false;
btnShowHistroyData_Month.IsSelected = true;
btnShowHistroyData_Week.IsSelected = false;
- LoadMothed_GetSensorHistoryData(QueryType.NowMonth);
+ curQueryType = "month";
+ LoadMothed_GetSensorHistoryData();
};
btnShowHistroyData_Week.MouseUpEventHandler = (sender, e) =>
{
@@ -922,28 +909,23 @@
btnShowHistroyData_Day.IsSelected = false;
btnShowHistroyData_Month.IsSelected = false;
btnShowHistroyData_Week.IsSelected = true;
- LoadMothed_GetSensorHistoryData(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