using System;
|
using System.Collections.Generic;
|
using System.Net;
|
using HDL_ON.Common;
|
using HDL_ON.DAL.Server;
|
using HDL_ON.DriverLayer;
|
using HDL_ON.Entity;
|
using HDL_ON.UI.CSS;
|
using Newtonsoft.Json;
|
//using OpenTK;
|
using Shared;
|
|
namespace HDL_ON.UI
|
{
|
/// <summary>
|
/// 三相空开子相历史数据界面
|
/// </summary>
|
public class AirSwitchP3SubloopEnergyPage : FrameLayout
|
{
|
static AirSwitchP3SubloopEnergyPage bodyView;
|
|
Button btnRighta;
|
|
Button btnRightb;
|
|
Button btnRightc;
|
|
/// <summary>
|
/// 曲线图数据string
|
/// </summary>
|
EchartsOption_BrokenLine brokenLine;
|
/// <summary>
|
/// 查询条件
|
/// hour、week、month
|
/// </summary>
|
string curQueryType = "hour";
|
|
/// <summary>
|
/// 历史数据图表
|
/// </summary>
|
MyEchartsViewOn myEchartsView_Line;
|
|
Function device;
|
|
string key = "";
|
/// <summary>
|
/// 主页
|
/// </summary>
|
public AirSwitchP3SubloopEnergyPage(Function function,string searchKey)
|
{
|
bodyView = this;
|
this.key = searchKey;
|
device = function;
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
public void LoadPage(int titleId)
|
{
|
new TopViewDiv(bodyView, Language.StringByID(titleId)).LoadTopView(0xFFF7F7F7);
|
bodyView.BackgroundColor = 0xFFF5F7FA;
|
|
var contentView = new VerticalScrolViewLayout()
|
{
|
Y = Application.GetRealHeight(64),
|
Height = Application.GetRealHeight(667 - 64),
|
BackgroundColor = 0xFFF5F7FA,
|
ScrollEnabled = false,
|
};
|
bodyView.AddChidren(contentView);
|
|
contentView.AddChidren(new Button()
|
{
|
Height = Application.GetRealHeight(12),
|
});
|
|
|
brokenLine = new EchartsOption_BrokenLine();
|
|
|
|
#region A
|
contentView.AddChidren(new Button()
|
{
|
Height = Application.GetRealHeight(12),
|
});
|
|
var viewa = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(52),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
Radius = (uint)Application.GetRealWidth(12),
|
};
|
contentView.AddChidren(viewa);
|
|
btnRighta = new Button()
|
{
|
X = Application.GetRealWidth(201),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(116),
|
TextAlignment = TextAlignment.CenterRight,
|
TextColor = 0xFF768194,
|
TextSize = CSS_FontSize.TextFontSize,
|
Text = "--- V",
|
};
|
viewa.AddChidren(btnRighta);
|
|
Button btnTitlea = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextColor = 0xFF000000,
|
Width = Application.GetRealWidth(300),
|
TextID = StringId.Voltage
|
};
|
viewa.AddChidren(btnTitlea);
|
#endregion
|
|
|
#region B
|
contentView.AddChidren(new Button()
|
{
|
Height = Application.GetRealHeight(12),
|
});
|
|
var viewb = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(52),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
Radius = (uint)Application.GetRealWidth(12),
|
};
|
contentView.AddChidren(viewb);
|
|
btnRightb = new Button()
|
{
|
X = Application.GetRealWidth(201),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(116),
|
TextAlignment = TextAlignment.CenterRight,
|
TextColor = 0xFF768194,
|
TextSize = CSS_FontSize.TextFontSize,
|
Text = "--- A",
|
};
|
viewb.AddChidren(btnRightb);
|
|
Button btnTitleb = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(300),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextColor = 0xFF000000,
|
TextID = StringId.Current,
|
};
|
viewb.AddChidren(btnTitleb);
|
#endregion
|
|
|
#region C
|
contentView.AddChidren(new Button()
|
{
|
Height = Application.GetRealHeight(12),
|
});
|
|
var viewc = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(52),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
Radius = (uint)Application.GetRealWidth(12),
|
};
|
contentView.AddChidren(viewc);
|
|
btnRightc = new Button()
|
{
|
X = Application.GetRealWidth(201),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(116),
|
TextAlignment = TextAlignment.CenterRight,
|
TextColor = 0xFF768194,
|
TextSize = CSS_FontSize.TextFontSize,
|
Text = "--- W",
|
};
|
viewc.AddChidren(btnRightc);
|
|
Button btnTitlec = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(300),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextColor = 0xFF000000,
|
TextID = StringId.ActivePower,
|
};
|
viewc.AddChidren(btnTitlec);
|
#endregion
|
|
contentView.AddChidren(new Button()
|
{
|
Height = Application.GetRealHeight(26),
|
});
|
|
#region 选择数据日期范围
|
var showDataTypeView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(143),
|
Y = Application.GetRealHeight(12),
|
Width = Application.GetRealWidth(216),
|
Height = Application.GetRealHeight(27),
|
//BackgroundImagePath = "FunctionIcon/EnvironmentalScience/SensorHistoryBg1.png",
|
};
|
contentView.AddChidren(showDataTypeView);
|
|
var btnShowHistroyData_Day = new Button()
|
{
|
Width = Application.GetRealWidth(54),
|
Height = Application.GetRealHeight(27),
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.PromptingColor1,
|
SelectedTextColor = CSS_Color.MainColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
IsSelected = true,
|
TextID = StringId.day,
|
SelectedBackgroundColor = 0x1F5C62FE,
|
BackgroundColor = 0x1F5C62FE,
|
BorderColor = CSS_Color.MainColor,
|
BorderWidth = 2,
|
Radius = 1,
|
};
|
showDataTypeView.AddChidren(btnShowHistroyData_Day);
|
btnShowHistroyData_Day.SetCornerWithSameRadius((uint)Application.GetRealHeight(6), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft);
|
|
|
var btnShowHistroyData_Month = new Button()
|
{
|
X = Application.GetRealWidth(54),
|
Width = Application.GetRealWidth(54),
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.PromptingColor1,
|
SelectedTextColor = CSS_Color.MainColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextID = StringId.month,
|
SelectedBackgroundColor = 0x1F5C62FE,
|
BackgroundColor = 0x00000000,
|
IsSelected = false,
|
BorderWidth = 1,
|
BorderColor = CSS_Color.PromptingColor1,
|
Radius = 1,
|
};
|
showDataTypeView.AddChidren(btnShowHistroyData_Month);
|
btnShowHistroyData_Month.BorderWidth = 1;
|
btnShowHistroyData_Month.BorderColor = CSS_Color.PromptingColor1;
|
|
var btnShowHistroyData_Year = new Button()
|
{
|
X = Application.GetRealWidth(54 * 2),
|
Width = Application.GetRealWidth(54),
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.PromptingColor1,
|
SelectedTextColor = CSS_Color.MainColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextID = StringId.Years,
|
SelectedBackgroundColor = 0x1F5C62FE,
|
BackgroundColor = 0x00000000,
|
IsSelected = false,
|
BorderWidth = 1,
|
BorderColor = CSS_Color.PromptingColor1,
|
Radius = 1,
|
};
|
showDataTypeView.AddChidren(btnShowHistroyData_Year);
|
btnShowHistroyData_Year.BorderWidth = 1;
|
btnShowHistroyData_Year.BorderColor = CSS_Color.PromptingColor1;
|
|
var btnShowHistroyData_Total = new Button()
|
{
|
X = Application.GetRealWidth(54 * 3),
|
Width = Application.GetRealWidth(54),
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.PromptingColor1,
|
SelectedTextColor = CSS_Color.MainColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextID = StringId.Total,
|
SelectedBackgroundColor = 0x1F5C62FE,
|
BackgroundColor = 0x00000000,
|
IsSelected = false,
|
BorderWidth = 1,
|
BorderColor = CSS_Color.PromptingColor1,
|
Radius = 1,
|
};
|
showDataTypeView.AddChidren(btnShowHistroyData_Total);
|
btnShowHistroyData_Total.SetCornerWithSameRadius((uint)Application.GetRealHeight(6), HDLUtils.RectCornerBottomRight | HDLUtils.RectCornerTopRight);
|
|
|
btnShowHistroyData_Total.MouseUpEventHandler = (sender, e) =>
|
{
|
if (curQueryType == "total")
|
{
|
return;
|
}
|
curQueryType = "total";
|
|
(sender as Button).SelectedBackgroundColor = 0x1F5C62FE;
|
(sender as Button).BackgroundColor = 0x1F5C62FE;
|
(sender as Button).BorderColor = CSS_Color.MainColor;
|
(sender as Button).BorderWidth = 2;
|
(sender as Button).IsSelected = true;
|
|
btnShowHistroyData_Month.IsSelected = false;
|
btnShowHistroyData_Month.BorderWidth = 1;
|
btnShowHistroyData_Month.BorderColor = CSS_Color.PromptingColor1;
|
btnShowHistroyData_Month.BackgroundColor = 0x00000000;
|
btnShowHistroyData_Month.SelectedBackgroundColor = 0x00000000;
|
|
btnShowHistroyData_Year.IsSelected = false;
|
btnShowHistroyData_Year.BorderWidth = 1;
|
btnShowHistroyData_Year.BorderColor = CSS_Color.PromptingColor1;
|
btnShowHistroyData_Year.BackgroundColor = 0x00000000;
|
btnShowHistroyData_Year.SelectedBackgroundColor = 0x00000000;
|
|
btnShowHistroyData_Day.IsSelected = false;
|
btnShowHistroyData_Day.BorderWidth = 1;
|
btnShowHistroyData_Day.BorderColor = CSS_Color.PromptingColor1;
|
btnShowHistroyData_Day.BackgroundColor = 0x00000000;
|
btnShowHistroyData_Day.SelectedBackgroundColor = 0x00000000;
|
|
#if __IOS__
|
btnShowHistroyData_Day.SetCornerWithSameRadius((uint)Application.GetRealHeight(6), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft);
|
btnShowHistroyData_Total.SetCornerWithSameRadius((uint)Application.GetRealHeight(6), HDLUtils.RectCornerBottomRight | HDLUtils.RectCornerTopRight);
|
#endif
|
|
};
|
|
|
btnShowHistroyData_Day.MouseUpEventHandler = (sender, e) =>
|
{
|
if (curQueryType == "hour")
|
{
|
return;
|
}
|
(sender as Button).SelectedBackgroundColor = 0x1F5C62FE;
|
(sender as Button).BackgroundColor = 0x1F5C62FE;
|
(sender as Button).BorderColor = CSS_Color.MainColor;
|
(sender as Button).BorderWidth = 2;
|
(sender as Button).IsSelected = true;
|
|
btnShowHistroyData_Month.IsSelected = false;
|
btnShowHistroyData_Month.BorderWidth = 1;
|
btnShowHistroyData_Month.BorderColor = CSS_Color.PromptingColor1;
|
btnShowHistroyData_Month.BackgroundColor = 0x00000000;
|
btnShowHistroyData_Month.SelectedBackgroundColor = 0x00000000;
|
|
btnShowHistroyData_Year.IsSelected = false;
|
btnShowHistroyData_Year.BorderWidth = 1;
|
btnShowHistroyData_Year.BorderColor = CSS_Color.PromptingColor1;
|
btnShowHistroyData_Year.BackgroundColor = 0x00000000;
|
btnShowHistroyData_Year.SelectedBackgroundColor = 0x00000000;
|
|
btnShowHistroyData_Total.IsSelected = false;
|
btnShowHistroyData_Total.BorderWidth = 1;
|
btnShowHistroyData_Total.BorderColor = CSS_Color.PromptingColor1;
|
btnShowHistroyData_Total.BackgroundColor = 0x00000000;
|
btnShowHistroyData_Total.SelectedBackgroundColor = 0x00000000;
|
#if __IOS__
|
btnShowHistroyData_Day.SetCornerWithSameRadius((uint)Application.GetRealHeight(6), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft);
|
btnShowHistroyData_Total.SetCornerWithSameRadius((uint)Application.GetRealHeight(6), HDLUtils.RectCornerBottomRight | HDLUtils.RectCornerTopRight);
|
#endif
|
|
curQueryType = "hour";
|
brokenLine.YvalueText = "";
|
LoadMothed_GetHistoryData();
|
};
|
|
btnShowHistroyData_Month.MouseUpEventHandler = (sender, e) =>
|
{
|
if (curQueryType == "month")
|
{
|
return;
|
}
|
(sender as Button).SelectedBackgroundColor = 0x1F5C62FE;
|
(sender as Button).BackgroundColor = 0x1F5C62FE;
|
(sender as Button).BorderColor = CSS_Color.MainColor;
|
(sender as Button).BorderWidth = 2;
|
(sender as Button).IsSelected = true;
|
|
btnShowHistroyData_Day.IsSelected = false;
|
btnShowHistroyData_Day.BorderWidth = 1;
|
btnShowHistroyData_Day.BorderColor = CSS_Color.PromptingColor1;
|
btnShowHistroyData_Day.BackgroundColor = 0x00000000;
|
btnShowHistroyData_Day.SelectedBackgroundColor = 0x00000000;
|
|
btnShowHistroyData_Year.IsSelected = false;
|
btnShowHistroyData_Year.BorderWidth = 1;
|
btnShowHistroyData_Year.BorderColor = CSS_Color.PromptingColor1;
|
btnShowHistroyData_Year.BackgroundColor = 0x00000000;
|
btnShowHistroyData_Year.SelectedBackgroundColor = 0x00000000;
|
|
btnShowHistroyData_Total.IsSelected = false;
|
btnShowHistroyData_Total.BorderWidth = 1;
|
btnShowHistroyData_Total.BorderColor = CSS_Color.PromptingColor1;
|
btnShowHistroyData_Total.BackgroundColor = 0x00000000;
|
btnShowHistroyData_Total.SelectedBackgroundColor = 0x00000000;
|
#if __IOS__
|
btnShowHistroyData_Day.SetCornerWithSameRadius((uint)Application.GetRealHeight(6), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft);
|
btnShowHistroyData_Total.SetCornerWithSameRadius((uint)Application.GetRealHeight(6), HDLUtils.RectCornerBottomRight | HDLUtils.RectCornerTopRight);
|
#endif
|
|
curQueryType = "month";
|
brokenLine.YvalueText = "";
|
LoadMothed_GetHistoryData();
|
};
|
|
btnShowHistroyData_Year.MouseUpEventHandler = (sender, e) =>
|
{
|
if (curQueryType == "year_month")
|
{
|
return;
|
}
|
|
(sender as Button).SelectedBackgroundColor = 0x1F5C62FE;
|
(sender as Button).BackgroundColor = 0x1F5C62FE;
|
(sender as Button).BorderColor = CSS_Color.MainColor;
|
(sender as Button).BorderWidth = 2;
|
(sender as Button).IsSelected = true;
|
|
btnShowHistroyData_Month.IsSelected = false;
|
btnShowHistroyData_Month.BorderWidth = 1;
|
btnShowHistroyData_Month.BorderColor = CSS_Color.PromptingColor1;
|
btnShowHistroyData_Month.BackgroundColor = 0x00000000;
|
btnShowHistroyData_Month.SelectedBackgroundColor = 0x00000000;
|
|
btnShowHistroyData_Day.IsSelected = false;
|
btnShowHistroyData_Day.BorderWidth = 1;
|
btnShowHistroyData_Day.BorderColor = CSS_Color.PromptingColor1;
|
btnShowHistroyData_Day.BackgroundColor = 0x00000000;
|
btnShowHistroyData_Day.SelectedBackgroundColor = 0x00000000;
|
|
btnShowHistroyData_Total.IsSelected = false;
|
btnShowHistroyData_Total.BorderWidth = 1;
|
btnShowHistroyData_Total.BorderColor = CSS_Color.PromptingColor1;
|
btnShowHistroyData_Total.BackgroundColor = 0x00000000;
|
btnShowHistroyData_Total.SelectedBackgroundColor = 0x00000000;
|
#if __IOS__
|
btnShowHistroyData_Day.SetCornerWithSameRadius((uint)Application.GetRealHeight(6), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft);
|
btnShowHistroyData_Total.SetCornerWithSameRadius((uint)Application.GetRealHeight(6), HDLUtils.RectCornerBottomRight | HDLUtils.RectCornerTopRight);
|
#endif
|
|
|
curQueryType = "year_month";
|
brokenLine.YvalueText = "";
|
LoadMothed_GetHistoryData();
|
};
|
|
#endregion
|
|
contentView.AddChidren(new Button()
|
{
|
Height = Application.GetRealHeight(12),
|
});
|
|
var historyDataView = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealWidth(330),
|
Radius = (uint)Application.GetRealWidth(16),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
contentView.AddChidren(historyDataView);
|
|
myEchartsView_Line = new MyEchartsViewOn()
|
{
|
Y = Application.GetRealWidth(10),
|
Height = Application.GetRealWidth(280),
|
};
|
historyDataView.AddChidren(myEchartsView_Line);
|
|
var btnTip = new Button()
|
{
|
Y = Application.GetRealWidth(289),
|
Height = Application.GetRealHeight(41),
|
Width = Application.GetRealWidth(300),
|
TextAlignment = TextAlignment.Center,
|
Gravity = Gravity.CenterHorizontal,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextID = StringId.AirSwitchP3HistroyTip1,
|
};
|
historyDataView.AddChidren(btnTip);
|
|
LoadMothed_GetHistoryData();
|
|
|
|
|
|
#region 总用电量
|
var totalElectricityView = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealWidth(183),
|
Radius = (uint)Application.GetRealWidth(16),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
//historyDataView.AddChidren(totalElectricityView);
|
|
var btnTotalElectricity = new Button()
|
{
|
Width = Application.GetRealWidth(300),
|
Height = Application.GetRealHeight(55),
|
X = Application.GetRealWidth(14),
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextColor = 0xFF030D1C,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextID = StringId.TotalPowerAndUnit,
|
};
|
totalElectricityView.AddChidren(btnTotalElectricity);
|
|
|
double totalNumber = 0.00;
|
double.TryParse(device.GetAttrState(key), out totalNumber);
|
var btnTotalNumber = new Button()
|
{
|
Y = Application.GetRealHeight(27),
|
Gravity = Gravity.CenterHorizontal,
|
Height = Application.GetRealHeight(167),
|
TextSize = 49,
|
TextColor = 0xFF030D1C,
|
TextAlignment = TextAlignment.Center,
|
Text = totalNumber.ToString("F2"),
|
};
|
totalElectricityView.AddChidren(btnTotalNumber);
|
|
|
btnShowHistroyData_Day.MouseUpEventHandler += (sender, e) => {
|
totalElectricityView.RemoveFromParent();
|
historyDataView.AddChidren(myEchartsView_Line);
|
//viewa.Visible = true;
|
//viewb.Visible = true;
|
//viewc.Visible = true;
|
btnTip.TextID = StringId.AirSwitchP3HistroyTip1;
|
historyDataView.Height = Application.GetRealWidth(330);
|
};
|
btnShowHistroyData_Month.MouseUpEventHandler += (sender, e) => {
|
totalElectricityView.RemoveFromParent();
|
historyDataView.AddChidren(myEchartsView_Line);
|
//viewa.Visible = true;
|
//viewb.Visible = true;
|
//viewc.Visible = true;
|
btnTip.TextID = StringId.AirSwitchP3HistroyTip2;
|
historyDataView.Height = Application.GetRealWidth(330);
|
};
|
btnShowHistroyData_Year.MouseUpEventHandler += (sender, e) => {
|
totalElectricityView.RemoveFromParent();
|
historyDataView.AddChidren(myEchartsView_Line);
|
//viewa.Visible = true;
|
//viewb.Visible = true;
|
//viewc.Visible = true;
|
btnTip.TextID = StringId.AirSwitchP3HistroyTip3;
|
historyDataView.Height = Application.GetRealWidth(330);
|
};
|
btnShowHistroyData_Total.MouseUpEventHandler += (sender, e) => {
|
myEchartsView_Line.RemoveFromParent();
|
historyDataView.AddChidren(totalElectricityView);
|
//viewa.Visible = false;
|
//viewb.Visible = false;
|
//viewc.Visible = false;
|
historyDataView.Height = Application.GetRealHeight(184);
|
};
|
|
#endregion
|
|
|
if (Control.Ins.GatewayOnline_Local == true)
|
{
|
new System.Threading.Thread(() =>
|
{
|
Control.Ins.SendReadCommand(device);
|
})
|
{ IsBackground = true }.Start();
|
}
|
else
|
{
|
if (Control.Ins.GatewayOnline_Cloud)
|
{
|
new System.Threading.Thread(() =>
|
{
|
try
|
{
|
var deviceResult = ApiUtlis.Ins.HttpRequest.GetDeviceInfo(device.deviceId);
|
|
if (deviceResult != null)
|
{
|
if (deviceResult.Code == StateCode.SUCCESS)
|
{
|
if (deviceResult.Data != null)
|
{
|
var packList = JsonConvert.DeserializeObject<List<Function>>(deviceResult.Data.ToString());
|
if (packList != null)
|
{
|
if (packList.Count > 0)
|
{
|
if (packList[0].isOnline())
|
{
|
Control.Ins.SendReadCommand(device);
|
}
|
}
|
}
|
}
|
}
|
}
|
}catch(Exception ex)
|
{
|
|
}
|
})
|
{ IsBackground = true }.Start();
|
}
|
}
|
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
/// 读取历史数据
|
/// </summary>
|
void LoadMothed_GetHistoryData()
|
{
|
|
var loadPage = new Loading()
|
{
|
LodingBackgroundColor = 0x88888888,
|
};
|
bodyView.AddChidren(loadPage);
|
|
new System.Threading.Thread(() =>
|
{
|
try
|
{
|
Application.RunOnMainThread(() =>
|
{
|
loadPage.Start(Language.StringByID(StringId.PleaseWait));
|
});
|
|
var sensorType = device.spk.Split(".")[1];
|
var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, device.deviceId, key);
|
if (revertObj != null)
|
{
|
if (revertObj.Code == StateCode.SUCCESS)
|
{
|
var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString());
|
if (revertData == null || revertData.Count == 0)
|
{
|
#if DEBUG
|
List<string> vs = new List<string>() {
|
"813","313","213","123",
|
"113","213","183","133",
|
"133","513","133","413",
|
"813","313","213","123",
|
"113","213","183","133",
|
"133","513","133","413",
|
};
|
brokenLine.InitXdataText(vs);
|
revertData = new List<EnvironmentalSensorHistor>()
|
{
|
new EnvironmentalSensorHistor{ fieldValue = "100"},
|
new EnvironmentalSensorHistor{ fieldValue = "200"},
|
new EnvironmentalSensorHistor{ fieldValue = "300"},
|
new EnvironmentalSensorHistor{ fieldValue = "400"},
|
new EnvironmentalSensorHistor{ fieldValue = "500"},
|
new EnvironmentalSensorHistor{ fieldValue = "400"},
|
new EnvironmentalSensorHistor{ fieldValue = "100"},
|
new EnvironmentalSensorHistor{ fieldValue = "200"},
|
new EnvironmentalSensorHistor{ fieldValue = "300"},
|
new EnvironmentalSensorHistor{ fieldValue = "400"},
|
new EnvironmentalSensorHistor{ fieldValue = "500"},
|
new EnvironmentalSensorHistor{ fieldValue = "400"},
|
new EnvironmentalSensorHistor{ fieldValue = "100"},
|
new EnvironmentalSensorHistor{ fieldValue = "200"},
|
new EnvironmentalSensorHistor{ fieldValue = "300"},
|
new EnvironmentalSensorHistor{ fieldValue = "400"},
|
new EnvironmentalSensorHistor{ fieldValue = "500"},
|
new EnvironmentalSensorHistor{ fieldValue = "400"},
|
new EnvironmentalSensorHistor{ fieldValue = "100"},
|
new EnvironmentalSensorHistor{ fieldValue = "200"},
|
new EnvironmentalSensorHistor{ fieldValue = "300"},
|
new EnvironmentalSensorHistor{ fieldValue = "400"},
|
new EnvironmentalSensorHistor{ fieldValue = "500"},
|
new EnvironmentalSensorHistor{ fieldValue = "400"},
|
};
|
if (device.GetAttribute("ydata") == null)
|
{
|
device.attributes.Add(new FunctionAttributes() { key = "ydata" });
|
}
|
device.SetAttrState("ydata", brokenLine.InitYdataText2(device.name, revertData, "#5C62FE", curQueryType == "year_month") + ", ");
|
|
#endif
|
}
|
else
|
{
|
List<string> vs = new List<string>();
|
if (brokenLine.YvalueText == "")
|
{
|
foreach (var data in revertData)
|
{
|
vs.Add(data.fieldName);
|
}
|
brokenLine.InitXdataText(vs);
|
}
|
if (device.GetAttribute("ydata") == null)
|
{
|
device.attributes.Add(new FunctionAttributes() { key = "ydata" });
|
}
|
device.SetAttrState("ydata", brokenLine.InitYdataText2(device.name, revertData, "#5C62FE", curQueryType == "year_month") + ", ");
|
}
|
}
|
}
|
brokenLine.yTitle = Language.StringByID(StringId.Uint) + "(KW·h)";
|
brokenLine.xTitle = Language.StringByID(StringId.timeMode);
|
if (curQueryType != "hour")
|
{
|
brokenLine.xTitle = Language.StringByID(StringId.Date);
|
}
|
|
var opString = brokenLine.InitOption(100, curQueryType == "year_month");
|
Application.RunOnMainThread(() =>
|
{
|
myEchartsView_Line.ShowWithOption(opString);
|
});
|
}
|
catch (Exception ex)
|
{
|
MainPage.Log($"sensor history error : {ex.Message}");
|
}
|
finally
|
{
|
Application.RunOnMainThread(() =>
|
{
|
loadPage.Hide();
|
});
|
}
|
})
|
{ IsBackground = true }.Start();
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
public static void UpdataStatus(Function updataTemp)
|
{
|
if (!updataTemp.online)//设备不在线不更新状态
|
{
|
return;
|
}
|
Application.RunOnMainThread(() =>
|
{
|
try
|
{
|
if (bodyView != null)
|
{
|
double power = 0.00;
|
double voltage = 0.00;
|
double current = 0.00;
|
switch (bodyView.key)
|
{
|
case FunctionAttributeKey.ElectricityA:
|
double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.PowerA), out power);
|
double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.VoltageA),out voltage);
|
double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.CurrentA),out current);
|
break;
|
case FunctionAttributeKey.ElectricityB:
|
double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.PowerB), out power);
|
double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.VoltageB), out voltage);
|
double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.CurrentB), out current);
|
break;
|
case FunctionAttributeKey.ElectricityC:
|
double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.PowerC), out power);
|
double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.VoltageC), out voltage);
|
double.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.CurrentC), out current);
|
break;
|
}
|
bodyView.btnRighta.Text = voltage.ToString("F2") + "V";
|
bodyView.btnRightb.Text = current.ToString("F2") + "A";
|
bodyView.btnRightc.Text = power.ToString("F2") + "W";
|
}
|
}
|
catch (Exception ex)
|
{
|
MainPage.Log($"更新三相子项异常:{ex.Message}");
|
}
|
});
|
}
|
|
public override void RemoveFromParent()
|
{
|
base.RemoveFromParent();
|
bodyView = null;
|
}
|
|
}
|
}
|