wxr
2024-09-10 8e940d7f0c873cfedf7f6d8c885be98b96f1d046
HDL_ON/UI/UI2/FuntionControlView/Acst/WetarHeaterJinmaoHistoryPage.cs
@@ -269,6 +269,9 @@
                Height = Application.GetRealWidth(16)
            });
            if (function.attributes.Find((obj) => obj.key == WaterHeaterJinmao_AttrEnum.volume.ToString()) != null)
            {
            #region 用水量
            infoView2 = new FrameLayout()
@@ -468,7 +471,7 @@
            #endregion
            }
            contentView.AddChidren(new Button()
            {
@@ -566,6 +569,10 @@
            {
                return;
            }
            if (function.attributes.Find((obj) => obj.key == WaterHeaterJinmao_AttrEnum.volume.ToString()) == null)
            {
                return;
            }
            var loadPage = new Loading()
            {
                LodingBackgroundColor = 0x88888888,
@@ -637,7 +644,8 @@
            {
                SetTempQureyDateDialog();
            };
            infoView1_DateInfo_PreClickButton.MouseUpEventHandler = (sender, e) => {
            infoView1_DateInfo_PreClickButton.MouseUpEventHandler = (sender, e) =>
            {
                var tempQueryDate = new DateTime(tempQueryTime_Year,tempQueryTime_Month,tempQueryTime_Day);
                if (tempQueryType == QueryType.day_hour)
                {
@@ -655,11 +663,12 @@
                        return;
                    }
                    tempQueryDate = tempQueryDate.AddMonths(-1);
                    tempQueryTime_Day = tempQueryDate.Day;
                infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM");
                }
                else if(tempQueryType == QueryType.custom_year)
                {
                    if (tempQueryDate.Year == 2023)
                    if (tempQueryDate.Year <= 2023)
                    {
                        return;
                    }
@@ -671,11 +680,12 @@
                tempQueryTime_Day = tempQueryDate.Day;
                getTempHistory();
            };
            infoView1_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) => {
            infoView1_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) =>
            {
                var tempQueryDate = new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day);
                if (tempQueryType == QueryType.day_hour)
                {
                    if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month && tempQueryDate.Day == DateTime.Now.Day)
                    if (tempQueryDate.Year >= DateTime.Now.Year && tempQueryDate.Month >= DateTime.Now.Month && tempQueryDate.Day >= DateTime.Now.Day)
                    {
                        return;
                    }
@@ -684,16 +694,17 @@
                }
                else if (tempQueryType == QueryType.custom_month)
                {
                    if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month )
                    if (tempQueryDate.Year >= DateTime.Now.Year && tempQueryDate.Month >= DateTime.Now.Month)
                    {
                        return;
                    }
                    tempQueryDate = tempQueryDate.AddMonths(1);
                    tempQueryTime_Day = tempQueryDate.Day;
                infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM");
                }
                else if (tempQueryType == QueryType.custom_year)
                {
                    if (tempQueryDate.Year == DateTime.Now.Year)
                    if (tempQueryDate.Year >= DateTime.Now.Year)
                    {
                        return;
                    }
@@ -706,7 +717,8 @@
                getTempHistory();
            };
            infoView1_Date_Day.MouseUpEventHandler = (sender, e) => {
            infoView1_Date_Day.MouseUpEventHandler = (sender, e) =>
            {
                if (infoView1_Date_Day.IsSelected)
                {
                    return;
@@ -715,10 +727,17 @@
                infoView1_Date_Month.IsSelected = false;
                infoView1_Date_Year.IsSelected = false;
                tempQueryType = QueryType.day_hour;
                if (DateTime.Now.Date < new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day))
                {
                    tempQueryTime_Year = DateTime.Now.Year;
                    tempQueryTime_Month = DateTime.Now.Month;
                    tempQueryTime_Day = DateTime.Now.Day;
                }
                infoView1_DateInfo_DateTextButton.Text = new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day).ToString("yyyy-MM-dd");
                getTempHistory();
            };
            infoView1_Date_Month.MouseUpEventHandler = (sender, e) => {
            infoView1_Date_Month.MouseUpEventHandler = (sender, e) =>
            {
                if (infoView1_Date_Month.IsSelected)
                {
                    return;
@@ -727,10 +746,16 @@
                infoView1_Date_Month.IsSelected = true;
                infoView1_Date_Year.IsSelected = false;
                tempQueryType = QueryType.custom_month;
                if (DateTime.Now.Date < new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day))
                {
                    tempQueryTime_Year = DateTime.Now.Year;
                    tempQueryTime_Month = DateTime.Now.Month;
                }
                infoView1_DateInfo_DateTextButton.Text = new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day).ToString("yyyy-MM");
                getTempHistory();
            };
            infoView1_Date_Year.MouseUpEventHandler = (sender, e) => {
            infoView1_Date_Year.MouseUpEventHandler = (sender, e) =>
            {
                if (infoView1_Date_Year.IsSelected)
                {
                    return;
@@ -743,11 +768,15 @@
                getTempHistory();
            };
            //-----------用水
            if (function.attributes.Find((obj) => obj.key == WaterHeaterJinmao_AttrEnum.volume.ToString()) != null)
            {
            infoView2_DateInfo_DateTextButton.MouseUpEventHandler = (sender, e) =>
            {
                SetWaterQureyDateDialog();
            };
            infoView2_DateInfo_PreClickButton.MouseUpEventHandler = (sender, e) => {
                infoView2_DateInfo_PreClickButton.MouseUpEventHandler = (sender, e) =>
                {
                var waterQueryDate = new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day);
                if (waterQueryType == QueryType.day_hour)
                {
@@ -765,11 +794,12 @@
                        return;
                    }
                    waterQueryDate = waterQueryDate.AddMonths(-1);
                        waterQueryTime_Day = waterQueryDate.Day;
                infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM");
                }
                else if (waterQueryType == QueryType.custom_year)
                {
                    if (waterQueryDate.Year == 2023)
                        if (waterQueryDate.Year <= 2023)
                    {
                        return;
                    }
@@ -781,11 +811,12 @@
                waterQueryTime_Day = waterQueryDate.Day;
                getWaterHistory();
            };
            infoView2_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) => {
                infoView2_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) =>
                {
                var waterQueryDate = new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day);
                if (waterQueryType == QueryType.day_hour)
                {
                    if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1 && waterQueryDate.Day == 2)
                        if (waterQueryDate.Year >= DateTime.Now.Year && waterQueryDate.Month >= DateTime.Now.Month && waterQueryDate.Day >= DateTime.Now.Day)
                    {
                        return;
                    }
@@ -799,11 +830,12 @@
                        return;
                    }
                    waterQueryDate = waterQueryDate.AddMonths(1);
                        waterQueryTime_Day = waterQueryDate.Day;
                infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM");
                }
                else if (waterQueryType == QueryType.custom_year)
                {
                    if (waterQueryDate.Year == 2023)
                        if (waterQueryDate.Year >= DateTime.Now.Year)
                    {
                        return;
                    }
@@ -815,7 +847,8 @@
                waterQueryTime_Day = waterQueryDate.Day;
                getWaterHistory();
            };
            infoView2_Date_Day.MouseDownEventHandler = (sender, e) => {
                infoView2_Date_Day.MouseDownEventHandler = (sender, e) =>
                {
                if (infoView2_Date_Day.IsSelected)
                {
                    return;
@@ -824,10 +857,17 @@
                infoView2_Date_Month.IsSelected = false;
                infoView2_Date_Year.IsSelected = false;
                waterQueryType = QueryType.day_hour;
                    if (DateTime.Now.Date < new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day))
                    {
                        waterQueryTime_Year = DateTime.Now.Year;
                        waterQueryTime_Month = DateTime.Now.Month;
                        waterQueryTime_Day = DateTime.Now.Day;
                    }
                infoView2_DateInfo_DateTextButton.Text = new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day).ToString("yyyy-MM-dd");
                getWaterHistory();
            };
            infoView2_Date_Month.MouseDownEventHandler = (sender, e) => {
                infoView2_Date_Month.MouseDownEventHandler = (sender, e) =>
                {
                if (infoView2_Date_Month.IsSelected)
                {
                    return;
@@ -836,10 +876,16 @@
                infoView2_Date_Month.IsSelected = true;
                infoView2_Date_Year.IsSelected = false;
                waterQueryType = QueryType.custom_month;
                    if (DateTime.Now.Date < new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day))
                    {
                        waterQueryTime_Year = DateTime.Now.Year;
                        waterQueryTime_Month = DateTime.Now.Month;
                    }
                infoView2_DateInfo_DateTextButton.Text = new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day).ToString("yyyy-MM");
                getWaterHistory();
            };
            infoView2_Date_Year.MouseDownEventHandler = (sender, e) => {
                infoView2_Date_Year.MouseDownEventHandler = (sender, e) =>
                {
                if (infoView2_Date_Year.IsSelected)
                {
                    return;
@@ -851,7 +897,7 @@
                infoView2_DateInfo_DateTextButton.Text = waterQueryTime_Year.ToString();
                getWaterHistory();
            };
            }
        }
        /// <summary>
@@ -967,6 +1013,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),
@@ -992,6 +1051,10 @@
            };
            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) =>
            {
                if (int1 < 0)
                {
                    int1 = 1;
                }
                if (pickerItems_Year[int1] != item1.ToString())
                {
                    int.TryParse(pickerItems_Year[int1], out item1);
@@ -1043,7 +1106,7 @@
                }
                if (pickerItems_Month != null)
                {
                    if (int2 > pickerItems_Month.Count)
                    if (int2 >= pickerItems_Month.Count || int2 < 0)
                    {
                        int2 = 0;
                    }
@@ -1070,16 +1133,21 @@
                                }
                            }
                        }
                        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;
                    }
@@ -1100,7 +1168,7 @@
                    {
                        tempQueryTime_Month = item2;
                    }
                    infoView1_DateInfo_DateTextButton.Text = new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day).ToString("yyyy-MM");
                    infoView1_DateInfo_DateTextButton.Text = new DateTime(tempQueryTime_Year, tempQueryTime_Month, 1).ToString("yyyy-MM");
                    if (tempQueryType == QueryType.day_hour)
                    {
                        if (item3 != tempQueryTime_Day)
@@ -1113,6 +1181,73 @@
                getTempHistory();
            };
            if (tempQueryType == 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 (tempQueryType == QueryType.custom_month || tempQueryType == QueryType.day_hour)
                        {
                            pickerItems_Month = new List<string>();
                            if (tempQueryTime_Year == 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 (tempQueryType == QueryType.day_hour)
                            {
                                pickerItems_Day = new List<string>();
                                if (tempQueryTime_Month == 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(tempQueryTime_Year, tempQueryTime_Month); i++)
                                    {
                                        pickerItems_Day.Add(i.ToString());
                                    }
                                }
                            }
                        }
                        item3 = tempQueryTime_Day = DateTime.Now.Day;
                        item2 = tempQueryTime_Month = DateTime.Now.Month;
                        item1 = tempQueryTime_Year = DateTime.Now.Year;
                        uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day);
                        uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(tempQueryTime_Year.ToString()),
                            pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(tempQueryTime_Month.ToString()),
                            pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(tempQueryTime_Day.ToString()));
                    };
                }
                catch { }
            }
        }
        public void SetWaterQureyDateDialog()
@@ -1251,6 +1386,10 @@
            };
            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) =>
            {
                if (int1 < 0)
                {
                    int1 = 0;
                }
                if (pickerItems_Year[int1] != item1.ToString())
                {
                    int.TryParse(pickerItems_Year[int1], out item1);
@@ -1302,7 +1441,7 @@
                }
                if (pickerItems_Month != null)
                {
                    if (int2 > pickerItems_Month.Count)
                    if (int2 > pickerItems_Month.Count || int2 < 0)
                    {
                        int2 = 0;
                    }
@@ -1338,7 +1477,7 @@
                }
                if (pickerItems_Day != null)
                {
                    if (int3 >= pickerItems_Day.Count)
                    if (int3 >= pickerItems_Day.Count || int3 < 0)
                    {
                        int3 = 0;
                    }
@@ -1359,7 +1498,7 @@
                    {
                        waterQueryTime_Month = item2;
                    }
                    infoView2_DateInfo_DateTextButton.Text = new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day).ToString("yyyy-MM");
                    infoView2_DateInfo_DateTextButton.Text = new DateTime(waterQueryTime_Year, waterQueryTime_Month, 1).ToString("yyyy-MM");
                    if (waterQueryType == QueryType.day_hour)
                    {
                        if (item3 != waterQueryTime_Day)
@@ -1371,6 +1510,87 @@
                }
                getWaterHistory();
            };
            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 (waterQueryType == 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 (waterQueryType == QueryType.custom_month || waterQueryType == QueryType.day_hour)
                        {
                            pickerItems_Month = new List<string>();
                            if (waterQueryTime_Year == 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 (waterQueryType == QueryType.day_hour)
                            {
                                pickerItems_Day = new List<string>();
                                if (waterQueryTime_Month == 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(waterQueryTime_Year, waterQueryTime_Month); i++)
                                    {
                                        pickerItems_Day.Add(i.ToString());
                                    }
                                }
                            }
                        }
                        item3 = waterQueryTime_Day = DateTime.Now.Day;
                        item2 = waterQueryTime_Month = DateTime.Now.Month;
                        item1 = waterQueryTime_Year = DateTime.Now.Year;
                        uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day);
                        uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(waterQueryTime_Year.ToString()),
                            pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(waterQueryTime_Month.ToString()),
                            pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(waterQueryTime_Day.ToString()));
                    };
                }
                catch { }
            }
        }
@@ -1407,4 +1627,3 @@
        custom_year,
    }
}