From cbc156bc38d8b8eae7aef60cb186ab2b52fa701f Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 16 七月 2024 13:59:56 +0800
Subject: [PATCH] 增加全部挂断

---
 HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchP3SubloopEnergyPage.cs |  154 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 143 insertions(+), 11 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchP3SubloopEnergyPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchP3SubloopEnergyPage.cs
index dcc70c0..c7b7676 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchP3SubloopEnergyPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchP3SubloopEnergyPage.cs
@@ -1,8 +1,13 @@
 锘縰sing 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
@@ -13,6 +18,12 @@
     public class AirSwitchP3SubloopEnergyPage : FrameLayout
     {
         static AirSwitchP3SubloopEnergyPage bodyView;
+
+        Button btnRighta;
+
+        Button btnRightb;
+
+        Button btnRightc;
 
         /// <summary>
         /// 鏇茬嚎鍥炬暟鎹畇tring
@@ -45,9 +56,9 @@
         /// <summary>
         /// 
         /// </summary>
-        public void LoadPage()
+        public void LoadPage(int titleId)
         {
-            new TopViewDiv(bodyView, Language.StringByID(StringId.EnergyMonitoring)).LoadTopView(0xFFF7F7F7);
+            new TopViewDiv(bodyView, Language.StringByID(titleId)).LoadTopView(0xFFF7F7F7);
             bodyView.BackgroundColor = 0xFFF5F7FA;
 
             var contentView = new VerticalScrolViewLayout()
@@ -85,7 +96,7 @@
             };
             contentView.AddChidren(viewa);
 
-            Button btnRighta = new Button()
+            btnRighta = new Button()
             {
                 X = Application.GetRealWidth(201),
                 Gravity = Gravity.CenterVertical,
@@ -126,7 +137,7 @@
             };
             contentView.AddChidren(viewb);
 
-            Button btnRightb = new Button()
+            btnRightb = new Button()
             {
                 X = Application.GetRealWidth(201),
                 Gravity = Gravity.CenterVertical,
@@ -167,7 +178,7 @@
             };
             contentView.AddChidren(viewc);
 
-            Button btnRightc = new Button()
+            btnRightc = new Button()
             {
                 X = Application.GetRealWidth(201),
                 Gravity = Gravity.CenterVertical,
@@ -221,6 +232,7 @@
                 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);
@@ -240,8 +252,11 @@
                 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()
             {
@@ -257,8 +272,11 @@
                 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()
             {
@@ -274,6 +292,7 @@
                 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);
@@ -311,6 +330,10 @@
                 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
 
             };
 
@@ -344,6 +367,10 @@
                 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 = "";
@@ -379,6 +406,10 @@
                 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 = "";
@@ -415,6 +446,10 @@
                 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";
@@ -448,7 +483,7 @@
 
             var btnTip = new Button()
             {
-                Y = Application.GetRealHeight(289),
+                Y = Application.GetRealWidth(289),
                 Height = Application.GetRealHeight(41),
                 Width = Application.GetRealWidth(300),
                 TextAlignment = TextAlignment.Center,
@@ -540,11 +575,55 @@
                 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();
+                }
+            }
 
 
 
@@ -656,7 +735,7 @@
                         brokenLine.xTitle = Language.StringByID(StringId.Date);
                     }
 
-                    var opString = brokenLine.InitOption(50, curQueryType == "year_month");
+                    var opString = brokenLine.InitOption(100, curQueryType == "year_month");
                     Application.RunOnMainThread(() =>
                     {
                         myEchartsView_Line.ShowWithOption(opString);
@@ -677,6 +756,59 @@
             { 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;
+        }
 
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0