wxr
2024-09-10 8e940d7f0c873cfedf7f6d8c885be98b96f1d046
HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs
@@ -217,7 +217,7 @@
            echartOption1 = new EchartsOption_Histogram();
            echartOption1.xTitle = "时间";
            echartOption1.yTitle = "电量(kw)";
            echartOption1.yTitle = "电量(kwh)";
            //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 = "电量(kw)";
            echartOption2.yTitle = "电量(kwh)";
            //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;
                    pvElecQueryDate = pvElecQueryDate.AddYears(1);
                    infoView1_DateInfo_DateTextButton.Text = pvElecQueryDate.ToString("yyyy");
                    }
                    tempQueryDate = tempQueryDate.AddYears(1);
                    infoView1_DateInfo_DateTextButton.Text = tempQueryDate.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 @@
                                }
                            }
                        }
                        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,8 +1508,90 @@
                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 { }
            }
        }
    }