From 8e940d7f0c873cfedf7f6d8c885be98b96f1d046 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 10 九月 2024 15:43:41 +0800
Subject: [PATCH] 金茂光伏,金茂热水器

---
 HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs |  277 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 236 insertions(+), 41 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs
index 4ebb060..f5ded51 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs
@@ -217,7 +217,7 @@
 
             echartOption1 = new EchartsOption_Histogram();
             echartOption1.xTitle = "鏃堕棿";
-            echartOption1.yTitle = "鐢甸噺锛坘w锛�";
+            echartOption1.yTitle = "鐢甸噺锛坘wh锛�";
             //echartOption.InitXdataText(new List<string>()
             //{
             //    "21","22","23","24","25","26","26","27","28","29",
@@ -422,7 +422,7 @@
 
             echartOption2 = new EchartsOption_Histogram();
             echartOption2.xTitle = "鏃堕棿";
-            echartOption2.yTitle = "鐢甸噺锛坘w锛�";
+            echartOption2.yTitle = "鐢甸噺锛坘wh锛�";
             //echartOption2.InitXdataText(new List<string>()
             //{
             //    "21","22","23","24","25","26","26","27","28","29",
@@ -615,6 +615,7 @@
 
                             Application.RunOnMainThread(() =>
                             {
+                                var ddd = echartOption2.InitOption();
                                 infoView2_EchartsView.ShowWithOption(echartOption2.InitOption());
                             });
                         }
@@ -647,7 +648,7 @@
                 var pvElecQueryDate = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1);
                 if (queryType1 == QueryType.day_hour)
                 {
-                    if (pvElecQueryDate.Year == 2023 && pvElecQueryDate.Month == 1 && pvElecQueryDate.Day == 1)
+                    if (pvElecQueryDate.Year <= 2023 && pvElecQueryDate.Month == 1 && pvElecQueryDate.Day == 1)
                     {
                         return;
                     }
@@ -656,16 +657,17 @@
                 }
                 else if (queryType1 == QueryType.custom_month)
                 {
-                    if (pvElecQueryDate.Year == 2023 && pvElecQueryDate.Month == 1)
+                    if (pvElecQueryDate.Year <= 2023 && pvElecQueryDate.Month == 1)
                     {
                         return;
                     }
                     pvElecQueryDate = pvElecQueryDate.AddMonths(-1);
+                    queryTime_Day1 = pvElecQueryDate.Day;
                     infoView1_DateInfo_DateTextButton.Text = pvElecQueryDate.ToString("yyyy-MM");
                 }
                 else if (queryType1 == QueryType.custom_year)
                 {
-                    if (pvElecQueryDate.Year == 2023)
+                    if (pvElecQueryDate.Year <= 2023)
                     {
                         return;
                     }
@@ -679,41 +681,38 @@
             };
             infoView1_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) =>
             {
-                var tempQueryDate = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1);
+                var pvElecQueryDate = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1);
                 if (queryType1 == QueryType.day_hour)
                 {
-                    if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month && tempQueryDate.Day == DateTime.Now.Day)
+                    if (pvElecQueryDate.Year == DateTime.Now.Year && pvElecQueryDate.Month == DateTime.Now.Month && pvElecQueryDate.Day == DateTime.Now.Day)
                     {
                         return;
                     }
-                    tempQueryDate = tempQueryDate.AddDays(1);
-                    infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM-dd");
+                    pvElecQueryDate = pvElecQueryDate.AddDays(1);
+                    infoView1_DateInfo_DateTextButton.Text = pvElecQueryDate.ToString("yyyy-MM-dd");
                 }
                 else if (queryType1 == QueryType.custom_month)
                 {
-                    if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month)
+                    if (pvElecQueryDate.Year == DateTime.Now.Year && pvElecQueryDate.Month == DateTime.Now.Month)
                     {
                         return;
                     }
-                    tempQueryDate = tempQueryDate.AddMonths(1);
-                    infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM");
+                    pvElecQueryDate = pvElecQueryDate.AddMonths(1);
+                    queryTime_Day1 = pvElecQueryDate.Day;
+                    infoView1_DateInfo_DateTextButton.Text = pvElecQueryDate.ToString("yyyy-MM");
                 }
                 else if (queryType1 == QueryType.custom_year)
                 {
-                    if (tempQueryDate.Year == 2023)
+                    if (pvElecQueryDate.Year >= DateTime.Now.Year)
                     {
                         return;
                     }
-                    if (tempQueryDate.Year == DateTime.Now.Year)
-                    {
-                        return;
-                    }
-                    tempQueryDate = tempQueryDate.AddYears(1);
-                    infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy");
+                    pvElecQueryDate = pvElecQueryDate.AddYears(1);
+                    infoView1_DateInfo_DateTextButton.Text = pvElecQueryDate.ToString("yyyy");
                 }
-                queryTime_Year1 = tempQueryDate.Year;
-                queryTime_Month1 = tempQueryDate.Month;
-                queryTime_Day1 = tempQueryDate.Day;
+                queryTime_Year1 = pvElecQueryDate.Year;
+                queryTime_Month1 = pvElecQueryDate.Month;
+                queryTime_Day1 = pvElecQueryDate.Day;
                 getPvElectricityHistory();
             };
 
@@ -727,6 +726,12 @@
                 infoView1_Date_Month.IsSelected = false;
                 infoView1_Date_Year.IsSelected = false;
                 queryType1 = QueryType.day_hour;
+                if (DateTime.Now.Date < new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1))
+                {
+                    queryTime_Year1 = DateTime.Now.Year;
+                    queryTime_Month1 = DateTime.Now.Month;
+                    queryTime_Day1 = DateTime.Now.Day;
+                }
                 infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1).ToString("yyyy-MM-dd");
                 getPvElectricityHistory();
             };
@@ -740,6 +745,11 @@
                 infoView1_Date_Month.IsSelected = true;
                 infoView1_Date_Year.IsSelected = false;
                 queryType1 = QueryType.custom_month;
+                if (DateTime.Now.Date < new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1))
+                {
+                    queryTime_Year1 = DateTime.Now.Year;
+                    queryTime_Month1 = DateTime.Now.Month;
+                }
                 infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1).ToString("yyyy-MM");
                 getPvElectricityHistory();
             };
@@ -766,7 +776,7 @@
                 var waterQueryDate = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2);
                 if (queryType2 == QueryType.day_hour)
                 {
-                    if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1 && waterQueryDate.Day == 1)
+                    if (waterQueryDate.Year <= 2023 && waterQueryDate.Month == 1 && waterQueryDate.Day == 1)
                     {
                         return;
                     }
@@ -775,16 +785,17 @@
                 }
                 else if (queryType2 == QueryType.custom_month)
                 {
-                    if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1)
+                    if (waterQueryDate.Year <= 2023 && waterQueryDate.Month == 1)
                     {
                         return;
                     }
                     waterQueryDate = waterQueryDate.AddMonths(-1);
+                    queryTime_Day2 = waterQueryDate.Day;
                     infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM");
                 }
                 else if (queryType2 == QueryType.custom_year)
                 {
-                    if (waterQueryDate.Year == 2023)
+                    if (waterQueryDate.Year <= 2023)
                     {
                         return;
                     }
@@ -815,15 +826,12 @@
                         return;
                     }
                     waterQueryDate = waterQueryDate.AddMonths(1);
+                    queryTime_Day2 = waterQueryDate.Day;
                     infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM");
                 }
                 else if (queryType2 == QueryType.custom_year)
                 {
-                    if (waterQueryDate.Year == 2023)
-                    {
-                        return;
-                    }
-                    if (waterQueryDate.Year == DateTime.Now.Year)
+                    if (waterQueryDate.Year >= DateTime.Now.Year)
                     {
                         return;
                     }
@@ -845,6 +853,12 @@
                 infoView2_Date_Month.IsSelected = false;
                 infoView2_Date_Year.IsSelected = false;
                 queryType2 = QueryType.day_hour;
+                if (DateTime.Now.Date < new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2))
+                {
+                    queryTime_Year2 = DateTime.Now.Year;
+                    queryTime_Month2 = DateTime.Now.Month;
+                    queryTime_Day2 = DateTime.Now.Day;
+                }
                 infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2).ToString("yyyy-MM-dd");
                 getLoadElectricityHistory();
             };
@@ -858,6 +872,11 @@
                 infoView2_Date_Month.IsSelected = true;
                 infoView2_Date_Year.IsSelected = false;
                 queryType2 = QueryType.custom_month;
+                if (DateTime.Now.Date < new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2))
+                {
+                    queryTime_Year2 = DateTime.Now.Year;
+                    queryTime_Month2 = DateTime.Now.Month;
+                }
                 infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2).ToString("yyyy-MM");
                 getLoadElectricityHistory();
             };
@@ -990,6 +1009,19 @@
             };
             topView.AddChidren(btnConfrim);
 
+            var btnToday = new Button()
+            {
+                X = Application.GetRealWidth(160 - 32) - btnConfrim.GetTextWidth(),
+                Width = Application.GetRealWidth(160),
+                TextAlignment = TextAlignment.CenterRight,
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                Visible = false,
+                Enable = false,
+                Text = "浠婃棩",
+            };
+            topView.AddChidren(btnToday);
+
             UIPickerView uIPickerView = new UIPickerView()
             {
                 Y = Application.GetRealHeight(40),
@@ -1015,6 +1047,10 @@
             };
             uIPickerView.OnSelectChangeEvent = (int1, int2, int3) =>
             {
+                if (int1 < 0)
+                {
+                    int1 = 1;
+                }
                 if (pickerItems_Year[int1] != item1.ToString())
                 {
                     int.TryParse(pickerItems_Year[int1], out item1);
@@ -1066,7 +1102,7 @@
                 }
                 if (pickerItems_Month != null)
                 {
-                    if (int2 > pickerItems_Month.Count)
+                    if (int2 >= pickerItems_Month.Count || int2 < 0)
                     {
                         int2 = 0;
                     }
@@ -1093,16 +1129,22 @@
                                 }
                             }
                         }
-
-                        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()));
+                        try
+                        {
+                            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()));
+                        }
+                        catch (Exception ex)
+                        {
+                            MainPage.Log("Error", $"閲戣寕鍘嗗彶鏁版嵁鎺т欢寮傚父:{ex.Message}");
+                        }
                     }
                 }
                 if (pickerItems_Day != null)
                 {
-                    if (int3 >= pickerItems_Day.Count)
+                    if (int3 >= pickerItems_Day.Count || int3 < 0)
                     {
                         int3 = 0;
                     }
@@ -1123,7 +1165,7 @@
                     {
                         queryTime_Month1 = item2;
                     }
-                    infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1).ToString("yyyy-MM");
+                    infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, 1).ToString("yyyy-MM");
                     if (queryType1 == QueryType.day_hour)
                     {
                         if (item3 != queryTime_Day1)
@@ -1136,6 +1178,73 @@
                 getPvElectricityHistory();
             };
 
+
+            if (queryType1 == QueryType.day_hour)
+            {
+                try
+                {
+                    btnToday.Visible = btnToday.Enable = true;
+                    btnToday.MouseUpEventHandler = (sender, e) =>
+                    {
+                        pickerItems_Year = new List<string>();
+                        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());
+                                    }
+                                }
+                            }
+                        }
+
+                        item3 = queryTime_Day1 = DateTime.Now.Day;
+                        item2 = queryTime_Month1 = DateTime.Now.Month;
+                        item1 = queryTime_Year1 = DateTime.Now.Year;
+                        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()));
+                    };
+                }
+                catch { }
+            }
         }
 
         public void SetWaterQureyDateDialog()
@@ -1274,6 +1383,10 @@
             };
             uIPickerView.OnSelectChangeEvent = (int1, int2, int3) =>
             {
+                if (int1 < 0)
+                {
+                    int1 = 0;
+                }
                 if (pickerItems_Year[int1] != item1.ToString())
                 {
                     int.TryParse(pickerItems_Year[int1], out item1);
@@ -1325,7 +1438,7 @@
                 }
                 if (pickerItems_Month != null)
                 {
-                    if (int2 > pickerItems_Month.Count)
+                    if (int2 > pickerItems_Month.Count || int2 < 0)
                     {
                         int2 = 0;
                     }
@@ -1361,7 +1474,7 @@
                 }
                 if (pickerItems_Day != null)
                 {
-                    if (int3 >= pickerItems_Day.Count)
+                    if (int3 >= pickerItems_Day.Count || int3 < 0)
                     {
                         int3 = 0;
                     }
@@ -1382,7 +1495,7 @@
                     {
                         queryTime_Month2 = item2;
                     }
-                    infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2).ToString("yyyy-MM");
+                    infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, 1).ToString("yyyy-MM");
                     if (queryType2 == QueryType.day_hour)
                     {
                         if (item3 != queryTime_Day2)
@@ -1395,9 +1508,91 @@
                 getLoadElectricityHistory();
             };
 
+            var btnToday = new Button()
+            {
+                X = Application.GetRealWidth(160 - 32) - btnConfrim.GetTextWidth(),
+                Width = Application.GetRealWidth(160),
+                TextAlignment = TextAlignment.CenterRight,
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                Visible = false,
+                Enable = false,
+                Text = "浠婃棩",
+            };
+            topView.AddChidren(btnToday);
+
+
+            if (queryType2 == QueryType.day_hour)
+            {
+                try
+                {
+                    btnToday.Visible = btnToday.Enable = true;
+                    btnToday.MouseUpEventHandler = (sender, e) =>
+                    {
+                        pickerItems_Year = new List<string>();
+                        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());
+                                    }
+                                }
+                            }
+                        }
+
+                        item3 = queryTime_Day2 = DateTime.Now.Day;
+                        item2 = queryTime_Month2 = DateTime.Now.Month;
+                        item1 = queryTime_Year2 = DateTime.Now.Year;
+                        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()));
+                    };
+                }
+                catch { }
+            }
+
         }
 
 
 
+
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0