From 4ad6d53e2a8dc59d99405a053ddc46f49ae7a1b3 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期四, 14 十月 2021 11:55:51 +0800
Subject: [PATCH] 干接点新spk 兼容问题
---
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs | 312 +++++++++++++++++----------------------------------
1 files changed, 107 insertions(+), 205 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
index 0cf683f..996a4e5 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,
@@ -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 DB_ResidenceData.functionList.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 DB_ResidenceData.functionList.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_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 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