From 179c377723a79384efed619e0a5880390998035e Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 03 九月 2024 19:45:26 +0800
Subject: [PATCH] 金茂备份

---
 HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs | 1008 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,001 insertions(+), 7 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs
index 87ae412..119e878 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs
@@ -2,6 +2,7 @@
 
 using System;
 using System.Collections.Generic;
+using HDL_ON.DAL.Server;
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
 using Shared;
@@ -10,7 +11,41 @@
     public class InverterJinmaoHistroyPage : FrameLayout
     {
         InverterJinmaoHistroyPage bodyView;
-        Function device;
+        Function function;
+        FrameLayout infoView1;
+        EchartsOption_Histogram echartOption1;
+        MyEchartsViewOn infoView1_EchartsView;
+        Button infoView1_Date_Day;
+        Button infoView1_Date_Month;
+        Button infoView1_Date_Year;
+        Button infoView1_DateInfo_PreClickButton;
+        Button infoView1_DateInfo_DateTextButton;
+        Button infoView1_DateInfo_NextClickButton;
+        Button infoView1_DateInfo_NextIconButton;
+        Button infoView1_DateInfo_PreIconButton;
+        QueryType queryType1 = QueryType.day_hour;
+        int queryTime_Day1 = DateTime.Now.Day;
+        int queryTime_Month1 = DateTime.Now.Month;
+        int queryTime_Year1 = DateTime.Now.Year;
+        string queryTimeString1 = DateTime.Now.ToString("yyyy/MM/dd");
+
+
+        FrameLayout infoView2;
+        MyEchartsViewOn infoView2_EchartsView;
+        EchartsOption_Histogram echartOption2;
+        Button infoView2_Date_Day;
+        Button infoView2_Date_Month;
+        Button infoView2_Date_Year;
+        Button infoView2_DateInfo_PreClickButton;
+        Button infoView2_DateInfo_DateTextButton;
+        Button infoView2_DateInfo_NextClickButton;
+        Button infoView2_DateInfo_NextIconButton;
+        Button infoView2_DateInfo_PreIconButton;
+        QueryType queryType2 = QueryType.day_hour;
+        int queryTime_Day2 = DateTime.Now.Day;
+        int queryTime_Month2 = DateTime.Now.Month;
+        int queryTime_Year2 = DateTime.Now.Year;
+        string queryTimeString2 = DateTime.Now.ToString("yyyy/MM/dd");
 
 
         /// <summary>
@@ -18,10 +53,10 @@
         /// </summary>
         MyEchartsViewOn tempEchartsView;
 
-        public InverterJinmaoHistroyPage(Function function)
+        public InverterJinmaoHistroyPage(Function deviceFunction)
         {
             bodyView = this;
-            device = function;
+            function = deviceFunction;
         }
 
         public void LoadPage()
@@ -149,7 +184,7 @@
                 Gravity = Gravity.Center,
                 Width = Application.GetRealWidth(200),
                 TextAlignment = TextAlignment.Center,
-                Text = "2024-8-12",
+                Text = DateTime.Now.ToString("yyyy-MM-dd"),
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 IsBold = true,
                 TextSize = 16,
@@ -169,6 +204,7 @@
 
             var infoView1_DateInfo_NextClickButton = new Button()
             {
+                X = Application.GetRealWidth(343 - 18 - 6 -32),
                 Width = Application.GetRealWidth(32 + 6),
             };
             infoView1_DateInfoView.AddChidren(infoView1_DateInfo_NextClickButton);
@@ -185,7 +221,7 @@
 
             var echartOption = new EchartsOption_Histogram();
             echartOption.xTitle = "鏃堕棿";
-            echartOption.yTitle = "娓╁害锛堚剝锛�";
+            echartOption.yTitle = "鐢甸噺锛坘w锛�";
             echartOption.InitXdataText(new List<string>()
             {
                 "21","22","23","24","25","26","26","27","28","29",
@@ -353,7 +389,7 @@
                 Gravity = Gravity.Center,
                 Width = Application.GetRealWidth(200),
                 TextAlignment = TextAlignment.Center,
-                Text = "2024-8-12",
+                Text = DateTime.Now.ToString("yyyy-MM-dd"),
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 IsBold = true,
                 TextSize = 16,
@@ -373,6 +409,7 @@
 
             var infoView2_DateInfo_NextClickButton = new Button()
             {
+                X = Application.GetRealWidth(343 - 18 - 6 -32),
                 Width = Application.GetRealWidth(32 + 6),
             };
             infoView2_DateInfoView.AddChidren(infoView2_DateInfo_NextClickButton);
@@ -389,7 +426,7 @@
 
             var echartOption2 = new EchartsOption_Histogram();
             echartOption2.xTitle = "鏃堕棿";
-            echartOption2.yTitle = "娓╁害锛堚剝锛�";
+            echartOption2.yTitle = "鐢甸噺锛坘w锛�";
             echartOption2.InitXdataText(new List<string>()
             {
                 "21","22","23","24","25","26","26","27","28","29",
@@ -444,8 +481,965 @@
             {
                 Height = Application.GetRealWidth(26)
             });
+
+            initQueryButton();
         }
 
+
+
+        /// <summary>
+        /// 璇诲彇娓╁害鍊煎巻鍙叉暟鎹�
+        /// hour=杩�24灏忔椂銆乨ay_hour =鏌愭棩24灏忔椂銆亀eek=杩戜竴鍛ㄣ�乵onth = 杩戜竴鏈堛�乧ustom_month=鏌愬勾鏌愭湀 y/M銆乧ustom_year=鏌愬勾 y
+        /// </summary>
+        private void getTempHistory()
+        {
+            if (MainPage.NoLoginMode)
+            {
+                return;
+            }
+
+            var loadPage = new Loading()
+            {
+                LodingBackgroundColor = 0x88888888,
+            };
+            infoView1.AddChidren(loadPage);
+
+            new System.Threading.Thread(() =>
+            {
+                try
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        loadPage.Start(Language.StringByID(StringId.PleaseWait));
+                    });
+
+                    switch (queryType1)
+                    {
+                        case QueryType.day_hour:
+                            queryTimeString1 = queryTime_Year1.ToString() + "/" + queryTime_Month1 + "/" + queryTime_Day1;
+                            break;
+                        case QueryType.custom_month:
+                            queryTimeString1 = queryTime_Year1.ToString() + "/" + queryTime_Month1;
+                            break;
+                        case QueryType.custom_year:
+                            queryTimeString1 = queryTime_Year1.ToString();
+                            break;
+                    }
+
+                    var revertObj = new HttpServerRequest().GetSensorHistory(queryType1.ToString(), function.deviceId, InverterJinmao_AttrEnum.pv_electricity.ToString(), queryTimeString1);
+                    if (revertObj != null)
+                    {
+                        if (revertObj.Code == StateCode.SUCCESS)
+                        {
+                            var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString());
+                            List<string> vs = new List<string>();
+                            foreach (var data in revertData)
+                            {
+                                vs.Add(data.fieldName);
+                            }
+                            echartOption1.InitXdataText(vs);
+                            echartOption1.InitYdataText(revertData);
+
+                            Application.RunOnMainThread(() =>
+                            {
+                                infoView1_EchartsView.ShowWithOption(echartOption1.InitOption());
+                            });
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    MainPage.Log($"history error : {ex.Message}");
+                }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        loadPage.Hide();
+                    });
+                }
+            })
+            { IsBackground = true }.Start();
+
+        }
+        /// <summary>
+        /// 鑾峰彇鐢ㄦ按閲忓巻鍙茶褰�
+        /// </summary>
+        private void getWaterHistory()
+        {
+            if (MainPage.NoLoginMode)
+            {
+                return;
+            }
+            var loadPage = new Loading()
+            {
+                LodingBackgroundColor = 0x88888888,
+            };
+            infoView2.AddChidren(loadPage);
+
+            new System.Threading.Thread(() =>
+            {
+                try
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        loadPage.Start(Language.StringByID(StringId.PleaseWait));
+                    });
+                    switch (queryType2)
+                    {
+                        case QueryType.day_hour:
+                            queryTimeString2 = queryTime_Year2.ToString() + "/" + queryTime_Month2 + "/" + queryTime_Day2;
+                            break;
+                        case QueryType.custom_month:
+                            queryTimeString2 = queryTime_Year2.ToString() + "/" + queryTime_Month2;
+                            break;
+                        case QueryType.custom_year:
+                            queryTimeString2 = queryTime_Year2.ToString();
+                            break;
+                    }
+
+                    var revertObj = new HttpServerRequest().GetSensorHistory(queryType2.ToString(), function.deviceId, InverterJinmao_AttrEnum.load_electricity.ToString(), queryTimeString2);
+                    if (revertObj != null)
+                    {
+                        if (revertObj.Code == StateCode.SUCCESS)
+                        {
+                            var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString());
+                            List<string> vs = new List<string>();
+                            foreach (var data in revertData)
+                            {
+                                vs.Add(data.fieldName);
+                            }
+                            echartOption2.InitXdataText(vs);
+                            echartOption2.InitYdataText(revertData);
+
+                            Application.RunOnMainThread(() =>
+                            {
+                                infoView2_EchartsView.ShowWithOption(echartOption2.InitOption());
+                            });
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    MainPage.Log($"history 2 error : {ex.Message}");
+                }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        loadPage.Hide();
+                    });
+                }
+            })
+            { IsBackground = true }.Start();
+
+        }
+
+        private void initQueryButton()
+        {
+            infoView1_DateInfo_DateTextButton.MouseUpEventHandler = (sender, e) =>
+            {
+                SetTempQureyDateDialog();
+            };
+            infoView1_DateInfo_PreClickButton.MouseUpEventHandler = (sender, e) => {
+                var tempQueryDate = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1);
+                if (queryType1 == QueryType.day_hour)
+                {
+                    tempQueryDate = tempQueryDate.AddDays(-1);
+                    if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 1 && tempQueryDate.Day == 1)
+                    {
+                        infoView1_DateInfo_PreIconButton.Visible = false;
+                        infoView1_DateInfo_PreClickButton.Enable = false;
+                    }
+                    if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month && tempQueryDate.Day == DateTime.Now.Day - 1)
+                    {
+                        infoView1_DateInfo_NextIconButton.Visible = true;
+                        infoView1_DateInfo_NextClickButton.Enable = true;
+                    }
+                }
+                else if (queryType1 == QueryType.custom_month)
+                {
+                    tempQueryDate = tempQueryDate.AddMonths(-1);
+                    if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 1)
+                    {
+                        infoView1_DateInfo_PreIconButton.Visible = false;
+                        infoView1_DateInfo_PreClickButton.Enable = false;
+                    }
+                    if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month - 1)
+                    {
+                        infoView1_DateInfo_NextIconButton.Visible = true;
+                        infoView1_DateInfo_NextClickButton.Enable = true;
+                    }
+                }
+                else if (queryType1 == QueryType.custom_year)
+                {
+                    tempQueryDate = tempQueryDate.AddYears(-1);
+                    if (tempQueryDate.Year == 2023)
+                    {
+                        infoView1_DateInfo_PreIconButton.Visible = false;
+                        infoView1_DateInfo_PreClickButton.Enable = false;
+                    }
+                    if (tempQueryDate.Year == DateTime.Now.Year - 1)
+                    {
+                        infoView1_DateInfo_NextIconButton.Visible = true;
+                        infoView1_DateInfo_NextClickButton.Enable = true;
+                    }
+                }
+                queryTime_Year1 = tempQueryDate.Year;
+                queryTime_Month1 = tempQueryDate.Month;
+                queryTime_Day1 = tempQueryDate.Day;
+                infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM-dd");
+                getTempHistory();
+            };
+            infoView1_DateInfo_NextIconButton.Visible = false;
+            infoView1_DateInfo_NextClickButton.Enable = false;
+            infoView1_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) => {
+                var tempQueryDate = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1);
+                if (queryType1 == QueryType.day_hour)
+                {
+                    tempQueryDate = tempQueryDate.AddDays(1);
+                    if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 1 && tempQueryDate.Day == 2)
+                    {
+                        infoView1_DateInfo_PreIconButton.Visible = true;
+                        infoView1_DateInfo_PreClickButton.Enable = true;
+                    }
+                    if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month && tempQueryDate.Day == DateTime.Now.Day)
+                    {
+                        infoView1_DateInfo_NextIconButton.Visible = false;
+                        infoView1_DateInfo_NextClickButton.Enable = false;
+                    }
+                }
+                else if (queryType1 == QueryType.custom_month)
+                {
+                    tempQueryDate = tempQueryDate.AddMonths(1);
+                    if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 2)
+                    {
+                        infoView1_DateInfo_PreIconButton.Visible = true;
+                        infoView1_DateInfo_PreClickButton.Enable = true;
+                    }
+                    if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month)
+                    {
+                        infoView1_DateInfo_NextIconButton.Visible = false;
+                        infoView1_DateInfo_NextClickButton.Enable = false;
+                    }
+                }
+                else if (queryType1 == QueryType.custom_year)
+                {
+                    tempQueryDate = tempQueryDate.AddYears(1);
+                    if (tempQueryDate.Year == 2023)
+                    {
+                        infoView1_DateInfo_PreIconButton.Visible = false;
+                        infoView1_DateInfo_PreClickButton.Enable = false;
+                    }
+                    if (tempQueryDate.Year == DateTime.Now.Year)
+                    {
+                        infoView1_DateInfo_NextIconButton.Visible = false;
+                        infoView1_DateInfo_NextClickButton.Enable = false;
+                    }
+                }
+                queryTime_Year1 = tempQueryDate.Year;
+                queryTime_Month1 = tempQueryDate.Month;
+                queryTime_Day1 = tempQueryDate.Day;
+                infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM-dd");
+                getTempHistory();
+            };
+
+            infoView1_Date_Day.MouseUpEventHandler = (sender, e) => {
+                if (infoView1_Date_Day.IsSelected)
+                {
+                    return;
+                }
+                infoView1_Date_Day.IsSelected = true;
+                infoView1_Date_Month.IsSelected = false;
+                infoView1_Date_Year.IsSelected = false;
+                queryType1 = QueryType.day_hour;
+                infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1).ToString("yyyy-MM-dd");
+                getTempHistory();
+            };
+            infoView1_Date_Month.MouseUpEventHandler = (sender, e) => {
+                if (infoView1_Date_Month.IsSelected)
+                {
+                    return;
+                }
+                infoView1_Date_Day.IsSelected = false;
+                infoView1_Date_Month.IsSelected = true;
+                infoView1_Date_Year.IsSelected = false;
+                queryType1 = QueryType.custom_month;
+                infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1).ToString("yyyy-MM");
+                getTempHistory();
+            };
+            infoView1_Date_Year.MouseUpEventHandler = (sender, e) => {
+                if (infoView1_Date_Year.IsSelected)
+                {
+                    return;
+                }
+                infoView1_Date_Day.IsSelected = false;
+                infoView1_Date_Month.IsSelected = false;
+                infoView1_Date_Year.IsSelected = true;
+                queryType1 = QueryType.custom_year;
+                infoView1_DateInfo_DateTextButton.Text = queryTime_Year1.ToString();
+                getTempHistory();
+            };
+            //-----------鐢ㄦ按
+            infoView2_DateInfo_DateTextButton.MouseUpEventHandler = (sender, e) =>
+            {
+                SetWaterQureyDateDialog();
+            };
+            infoView2_DateInfo_PreClickButton.MouseUpEventHandler = (sender, e) => {
+                var waterQueryDate = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2);
+                if (queryType2 == QueryType.day_hour)
+                {
+                    waterQueryDate = waterQueryDate.AddDays(-1);
+                    if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1 && waterQueryDate.Day == 1)
+                    {
+                        infoView2_DateInfo_PreIconButton.Visible = false;
+                        infoView2_DateInfo_PreClickButton.Enable = false;
+                    }
+                    if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month && waterQueryDate.Day == DateTime.Now.Day - 1)
+                    {
+                        infoView2_DateInfo_NextIconButton.Visible = true;
+                        infoView2_DateInfo_NextClickButton.Enable = true;
+                    }
+                }
+                else if (queryType2 == QueryType.custom_month)
+                {
+                    waterQueryDate = waterQueryDate.AddMonths(-1);
+                    if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1)
+                    {
+                        infoView2_DateInfo_PreIconButton.Visible = false;
+                        infoView2_DateInfo_PreClickButton.Enable = false;
+                    }
+                    if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month - 1)
+                    {
+                        infoView2_DateInfo_NextIconButton.Visible = true;
+                        infoView2_DateInfo_NextClickButton.Enable = true;
+                    }
+                }
+                else if (queryType2 == QueryType.custom_year)
+                {
+                    waterQueryDate = waterQueryDate.AddYears(-1);
+                    if (waterQueryDate.Year == 2023)
+                    {
+                        infoView2_DateInfo_PreIconButton.Visible = false;
+                        infoView2_DateInfo_PreClickButton.Enable = false;
+                    }
+                    if (waterQueryDate.Year == DateTime.Now.Year - 1)
+                    {
+                        infoView2_DateInfo_NextIconButton.Visible = true;
+                        infoView2_DateInfo_NextClickButton.Enable = true;
+                    }
+                }
+                queryTime_Year2 = waterQueryDate.Year;
+                queryTime_Month2 = waterQueryDate.Month;
+                queryTime_Day2 = waterQueryDate.Day;
+                infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM-dd");
+                getWaterHistory();
+            };
+            infoView2_DateInfo_NextIconButton.Visible = false;
+            infoView2_DateInfo_NextClickButton.Enable = false;
+            infoView2_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) => {
+                var waterQueryDate = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2);
+                if (queryType2 == QueryType.day_hour)
+                {
+                    waterQueryDate = waterQueryDate.AddDays(1);
+                    if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1 && waterQueryDate.Day == 2)
+                    {
+                        infoView2_DateInfo_PreIconButton.Visible = true;
+                        infoView2_DateInfo_PreClickButton.Enable = true;
+                    }
+                    if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month && waterQueryDate.Day == DateTime.Now.Day)
+                    {
+                        infoView2_DateInfo_NextIconButton.Visible = false;
+                        infoView2_DateInfo_NextClickButton.Enable = false;
+                    }
+                }
+                else if (queryType2 == QueryType.custom_month)
+                {
+                    waterQueryDate = waterQueryDate.AddMonths(1);
+                    if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 2)
+                    {
+                        infoView2_DateInfo_PreIconButton.Visible = true;
+                        infoView2_DateInfo_PreClickButton.Enable = true;
+                    }
+                    if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month)
+                    {
+                        infoView2_DateInfo_NextIconButton.Visible = false;
+                        infoView2_DateInfo_NextClickButton.Enable = false;
+                    }
+                }
+                else if (queryType2 == QueryType.custom_year)
+                {
+                    waterQueryDate = waterQueryDate.AddYears(1);
+                    if (waterQueryDate.Year == 2023)
+                    {
+                        infoView2_DateInfo_PreIconButton.Visible = false;
+                        infoView2_DateInfo_PreClickButton.Enable = false;
+                    }
+                    if (waterQueryDate.Year == DateTime.Now.Year)
+                    {
+                        infoView2_DateInfo_NextIconButton.Visible = false;
+                        infoView2_DateInfo_NextClickButton.Enable = false;
+                    }
+                }
+                queryTime_Year2 = waterQueryDate.Year;
+                queryTime_Month2 = waterQueryDate.Month;
+                queryTime_Day2 = waterQueryDate.Day;
+                infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM-dd");
+                getWaterHistory();
+            };
+            infoView2_Date_Day.MouseDownEventHandler = (sender, e) => {
+                if (infoView2_Date_Day.IsSelected)
+                {
+                    return;
+                }
+                infoView2_Date_Day.IsSelected = true;
+                infoView2_Date_Month.IsSelected = false;
+                infoView2_Date_Year.IsSelected = false;
+                queryType2 = QueryType.day_hour;
+                infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2).ToString("yyyy-MM-dd");
+                getWaterHistory();
+            };
+            infoView2_Date_Month.MouseDownEventHandler = (sender, e) => {
+                if (infoView2_Date_Month.IsSelected)
+                {
+                    return;
+                }
+                infoView2_Date_Day.IsSelected = false;
+                infoView2_Date_Month.IsSelected = true;
+                infoView2_Date_Year.IsSelected = false;
+                queryType2 = QueryType.custom_month;
+                infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2).ToString("yyyy-MM");
+                getWaterHistory();
+            };
+            infoView2_Date_Year.MouseDownEventHandler = (sender, e) => {
+                if (infoView2_Date_Year.IsSelected)
+                {
+                    return;
+                }
+                infoView2_Date_Day.IsSelected = false;
+                infoView2_Date_Month.IsSelected = false;
+                infoView2_Date_Year.IsSelected = true;
+                queryType2 = QueryType.custom_year;
+                infoView2_DateInfo_DateTextButton.Text = queryTime_Year2.ToString();
+                getWaterHistory();
+            };
+
+        }
+
+        /// <summary>
+        /// </summary>
+        public void SetTempQureyDateDialog()
+        {
+            var pickerItems_Year = new List<string>();
+            List<string> pickerItems_Month = null;
+            List<string> pickerItems_Day = null;
+
+            int item1 = queryTime_Year1;
+            int item2 = queryTime_Month1;
+            int item3 = queryTime_Day1;
+
+            pickerItems_Year.Add("2023");
+            while (DateTime.Now.Year > 2022 + pickerItems_Year.Count)
+            {
+                pickerItems_Year.Add((2023 + pickerItems_Year.Count).ToString());
+            }
+
+            if (queryType1 == QueryType.custom_month || queryType1 == QueryType.day_hour)
+            {
+                pickerItems_Month = new List<string>();
+                if (queryTime_Year1 == DateTime.Now.Year)
+                {
+                    int addMonth = 0;
+                    while (DateTime.Now.Month > addMonth)
+                    {
+                        addMonth++;
+                        pickerItems_Month.Add(addMonth.ToString());
+                    }
+                }
+                else
+                {
+                    for (var i = 1; i < 13; i++)
+                    {
+                        pickerItems_Month.Add(i.ToString());
+                    }
+                }
+                if (queryType1 == QueryType.day_hour)
+                {
+                    pickerItems_Day = new List<string>();
+                    if (queryTime_Month1 == DateTime.Now.Month)
+                    {
+                        int addDay = 0;
+                        while (DateTime.Now.Day > addDay)
+                        {
+                            addDay++;
+                            pickerItems_Day.Add(addDay.ToString());
+                        }
+                    }
+                    else
+                    {
+                        for (var i = 1; i <= DateTime.DaysInMonth(queryTime_Year1, queryTime_Month1); i++)
+                        {
+                            pickerItems_Day.Add(i.ToString());
+                        }
+                    }
+                }
+            }
+
+            Dialog dialog = new Dialog();
+
+            var pView = new FrameLayout()
+            {
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
+            };
+            dialog.AddChidren(pView);
+
+            var optionBaseView = new FrameLayout()
+            {
+                Y = Application.GetRealHeight(456 - 60),
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealHeight(260),
+                AnimateSpeed = 0.3f,
+                Animate = Animate.DownToUp,
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            pView.AddChidren(optionBaseView);
+
+            var topView = new FrameLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealHeight(40),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            optionBaseView.AddChidren(topView);
+            topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
+
+            var btnCancel = new Button()
+            {
+                X = Application.GetRealWidth(21),
+                Width = Application.GetRealWidth(100),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextID = StringId.Cancel,
+            };
+            topView.AddChidren(btnCancel);
+
+            var btnConfrim = new Button()
+            {
+                X = Application.GetRealWidth(160),
+                Width = Application.GetRealWidth(160),
+                TextAlignment = TextAlignment.CenterRight,
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextID = StringId.Confirm,
+            };
+            topView.AddChidren(btnConfrim);
+
+            UIPickerView uIPickerView = new UIPickerView()
+            {
+                Y = Application.GetRealHeight(40),
+                Height = Application.GetRealHeight(210),
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            optionBaseView.AddChidren(uIPickerView);
+            uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day);
+            uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(queryTime_Year1.ToString()),
+                pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(queryTime_Month1.ToString()),
+                pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(queryTime_Day1.ToString()));
+
+            dialog.Show();
+
+            pView.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+            };
+
+            btnCancel.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+            };
+            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) =>
+            {
+                if (pickerItems_Year[int1] != item1.ToString())
+                {
+                    int.TryParse(pickerItems_Year[int1], out item1);
+                    if (queryType1 == QueryType.custom_month || queryType1 == QueryType.day_hour)
+                    {
+                        pickerItems_Month = new List<string>();
+                        if (item1 == DateTime.Now.Year)
+                        {
+                            int addMonth = 0;
+                            while (DateTime.Now.Month > addMonth)
+                            {
+                                addMonth++;
+                                pickerItems_Month.Add(addMonth.ToString());
+                            }
+                        }
+                        else
+                        {
+                            for (var i = 1; i < 13; i++)
+                            {
+                                pickerItems_Month.Add(i.ToString());
+                            }
+                        }
+                        if (queryType1 == QueryType.day_hour)
+                        {
+                            pickerItems_Day = new List<string>();
+                            if (item1 == DateTime.Now.Year && item2 == DateTime.Now.Month)
+                            {
+                                int addDay = 0;
+                                while (DateTime.Now.Day > addDay)
+                                {
+                                    addDay++;
+                                    pickerItems_Day.Add(addDay.ToString());
+                                }
+                            }
+                            else
+                            {
+                                for (var i = 1; i <= DateTime.DaysInMonth(item1, item2); i++)
+                                {
+                                    pickerItems_Day.Add(i.ToString());
+                                }
+                            }
+                        }
+                    }
+                    uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day);
+                    uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(item1.ToString()),
+                        pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(item2.ToString()),
+                        pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(item3.ToString()));
+
+                }
+                if (pickerItems_Month != null)
+                {
+                    if (pickerItems_Month[int2] != item2.ToString())
+                    {
+                        int.TryParse(pickerItems_Month[int2], out item2);
+                        if (queryType1 == QueryType.day_hour)
+                        {
+                            pickerItems_Day = new List<string>();
+                            if (item1 == DateTime.Now.Year && item2 == DateTime.Now.Month)
+                            {
+                                int addDay = 0;
+                                while (DateTime.Now.Day > addDay)
+                                {
+                                    addDay++;
+                                    pickerItems_Day.Add(addDay.ToString());
+                                }
+                            }
+                            else
+                            {
+                                for (var i = 1; i <= DateTime.DaysInMonth(item1, item2); i++)
+                                {
+                                    pickerItems_Day.Add(i.ToString());
+                                }
+                            }
+                        }
+
+                        uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day);
+                        uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(item1.ToString()),
+                            pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(item2.ToString()),
+                            pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(item3.ToString()));
+                    }
+                }
+                if (pickerItems_Day != null)
+                {
+                    if (int3 >= pickerItems_Day.Count)
+                    {
+                        int3 = 0;
+                    }
+                    if (pickerItems_Day[int3] != item3.ToString())
+                    {
+                        int.TryParse(pickerItems_Day[int3], out item3);
+                    }
+                }
+            };
+            btnConfrim.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+                queryTime_Year1 = item1;
+                infoView1_DateInfo_DateTextButton.Text = queryTime_Year1.ToString();
+                if (queryType1 == QueryType.custom_month || queryType1 == QueryType.day_hour)
+                {
+                    if (item2 != queryTime_Month1)
+                    {
+                        queryTime_Month1 = item2;
+                    }
+                    infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1).ToString("yyyy-MM");
+                    if (queryType1 == QueryType.day_hour)
+                    {
+                        if (item3 != queryTime_Day1)
+                        {
+                            queryTime_Day1 = item3;
+                        }
+                        infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1).ToString("yyyy-MM-dd");
+                    }
+                }
+                getTempHistory();
+            };
+
+        }
+
+        public void SetWaterQureyDateDialog()
+        {
+            var pickerItems_Year = new List<string>();
+            List<string> pickerItems_Month = null;
+            List<string> pickerItems_Day = null;
+
+            int item1 = queryTime_Year2;
+            int item2 = queryTime_Month2;
+            int item3 = queryTime_Day2;
+
+            pickerItems_Year.Add("2023");
+            while (DateTime.Now.Year > 2022 + pickerItems_Year.Count)
+            {
+                pickerItems_Year.Add((2023 + pickerItems_Year.Count).ToString());
+            }
+
+            if (queryType2 == QueryType.custom_month || queryType2 == QueryType.day_hour)
+            {
+                pickerItems_Month = new List<string>();
+                if (queryTime_Year2 == DateTime.Now.Year)
+                {
+                    int addMonth = 0;
+                    while (DateTime.Now.Month > addMonth)
+                    {
+                        addMonth++;
+                        pickerItems_Month.Add(addMonth.ToString());
+                    }
+                }
+                else
+                {
+                    for (var i = 1; i < 13; i++)
+                    {
+                        pickerItems_Month.Add(i.ToString());
+                    }
+                }
+                if (queryType2 == QueryType.day_hour)
+                {
+                    pickerItems_Day = new List<string>();
+                    if (queryTime_Month2 == DateTime.Now.Month)
+                    {
+                        int addDay = 0;
+                        while (DateTime.Now.Day > addDay)
+                        {
+                            addDay++;
+                            pickerItems_Day.Add(addDay.ToString());
+                        }
+                    }
+                    else
+                    {
+                        for (var i = 1; i <= DateTime.DaysInMonth(queryTime_Year2, queryTime_Month2); i++)
+                        {
+                            pickerItems_Day.Add(i.ToString());
+                        }
+                    }
+                }
+            }
+
+            Dialog dialog = new Dialog();
+
+            var pView = new FrameLayout()
+            {
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
+            };
+            dialog.AddChidren(pView);
+
+            var optionBaseView = new FrameLayout()
+            {
+                Y = Application.GetRealHeight(456 - 60),
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealHeight(260),
+                AnimateSpeed = 0.3f,
+                Animate = Animate.DownToUp,
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            pView.AddChidren(optionBaseView);
+
+            var topView = new FrameLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealHeight(40),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            optionBaseView.AddChidren(topView);
+            topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
+
+            var btnCancel = new Button()
+            {
+                X = Application.GetRealWidth(21),
+                Width = Application.GetRealWidth(100),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextID = StringId.Cancel,
+            };
+            topView.AddChidren(btnCancel);
+
+            var btnConfrim = new Button()
+            {
+                X = Application.GetRealWidth(160),
+                Width = Application.GetRealWidth(160),
+                TextAlignment = TextAlignment.CenterRight,
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextID = StringId.Confirm,
+            };
+            topView.AddChidren(btnConfrim);
+
+            UIPickerView uIPickerView = new UIPickerView()
+            {
+                Y = Application.GetRealHeight(40),
+                Height = Application.GetRealHeight(210),
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            optionBaseView.AddChidren(uIPickerView);
+            uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day);
+            uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(queryTime_Year2.ToString()),
+                pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(queryTime_Month2.ToString()),
+                pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(queryTime_Day2.ToString()));
+
+            dialog.Show();
+
+            pView.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+            };
+
+            btnCancel.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+            };
+            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) =>
+            {
+                if (pickerItems_Year[int1] != item1.ToString())
+                {
+                    int.TryParse(pickerItems_Year[int1], out item1);
+                    if (queryType2 == QueryType.custom_month || queryType2 == QueryType.day_hour)
+                    {
+                        pickerItems_Month = new List<string>();
+                        if (item1 == DateTime.Now.Year)
+                        {
+                            int addMonth = 0;
+                            while (DateTime.Now.Month > addMonth)
+                            {
+                                addMonth++;
+                                pickerItems_Month.Add(addMonth.ToString());
+                            }
+                        }
+                        else
+                        {
+                            for (var i = 1; i < 13; i++)
+                            {
+                                pickerItems_Month.Add(i.ToString());
+                            }
+                        }
+                        if (queryType2 == QueryType.day_hour)
+                        {
+                            pickerItems_Day = new List<string>();
+                            if (item1 == DateTime.Now.Year && item2 == DateTime.Now.Month)
+                            {
+                                int addDay = 0;
+                                while (DateTime.Now.Day > addDay)
+                                {
+                                    addDay++;
+                                    pickerItems_Day.Add(addDay.ToString());
+                                }
+                            }
+                            else
+                            {
+                                for (var i = 1; i <= DateTime.DaysInMonth(item1, item2); i++)
+                                {
+                                    pickerItems_Day.Add(i.ToString());
+                                }
+                            }
+                        }
+                    }
+                    uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day);
+                    uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(item1.ToString()),
+                        pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(item2.ToString()),
+                        pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(item3.ToString()));
+
+                }
+                if (pickerItems_Month != null)
+                {
+                    if (pickerItems_Month[int2] != item2.ToString())
+                    {
+                        int.TryParse(pickerItems_Month[int2], out item2);
+                        if (queryType2 == QueryType.day_hour)
+                        {
+                            pickerItems_Day = new List<string>();
+                            if (item1 == DateTime.Now.Year && item2 == DateTime.Now.Month)
+                            {
+                                int addDay = 0;
+                                while (DateTime.Now.Day > addDay)
+                                {
+                                    addDay++;
+                                    pickerItems_Day.Add(addDay.ToString());
+                                }
+                            }
+                            else
+                            {
+                                for (var i = 1; i <= DateTime.DaysInMonth(item1, item2); i++)
+                                {
+                                    pickerItems_Day.Add(i.ToString());
+                                }
+                            }
+                        }
+
+                        uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day);
+                        uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(item1.ToString()),
+                            pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(item2.ToString()),
+                            pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(item3.ToString()));
+                    }
+                }
+                if (pickerItems_Day != null)
+                {
+                    if (int3 >= pickerItems_Day.Count)
+                    {
+                        int3 = 0;
+                    }
+                    if (pickerItems_Day[int3] != item3.ToString())
+                    {
+                        int.TryParse(pickerItems_Day[int3], out item3);
+                    }
+                }
+            };
+            btnConfrim.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+                queryTime_Year2 = item1;
+                infoView2_DateInfo_DateTextButton.Text = queryTime_Year2.ToString();
+                if (queryType2 == QueryType.custom_month || queryType2 == QueryType.day_hour)
+                {
+                    if (item2 != queryTime_Month2)
+                    {
+                        queryTime_Month2 = item2;
+                    }
+                    infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2).ToString("yyyy-MM");
+                    if (queryType2 == QueryType.day_hour)
+                    {
+                        if (item3 != queryTime_Day2)
+                        {
+                            queryTime_Day2 = item3;
+                        }
+                        infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2).ToString("yyyy-MM-dd");
+                    }
+                }
+                getWaterHistory();
+            };
+
+        }
+
+
+
     }
 }
 

--
Gitblit v1.8.0