From d46bfdd7ea07d9630e1f0f686d77775342550025 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期五, 17 五月 2024 16:51:57 +0800
Subject: [PATCH] 2024年05月17日16:51:48

---
 app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java |  136 ++++++++++++++++----------------------------
 1 files changed, 50 insertions(+), 86 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
index c048c81..6f08954 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
@@ -26,6 +26,7 @@
 import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
 import com.hdl.photovoltaic.enums.TimeType;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlDeviceLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlPowerStationDataStatisticsLogic;
@@ -63,8 +64,8 @@
     AAChartModel aaChartModel;
 
 
-    private String[] fieldNames = {"00:00", "02:00", "05:00", "07:00", "09:00", "17:00", "22:00", "23:59"};//鍥炬爣X杞村潗鏍囧�肩殑鏁扮粍
-    private Object[] fieldValues = {35, 70.5, 150.5, 135, 170, 205, 222, 245};//鍥炬爣Y杞村潗鏍囧�肩殑鏁扮粍
+    private String[] fieldNames = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"};//鍥炬爣X杞村潗鏍囧�肩殑鏁扮粍
+    private Object[] fieldValues = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};//鍥炬爣Y杞村潗鏍囧�肩殑鏁扮粍
 
 
     private String timeType = TimeType.day;//鏃堕棿绫诲瀷(榛樿锛氬ぉ)
@@ -147,7 +148,7 @@
                 viewBinding.v3.setVisibility(View.VISIBLE);
                 viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE);
 
-                String dataStr = TimeUtils.getDateTimestamp(getCurrentTimestamp(), getTimeDateFormat());
+                String dataStr = TimeUtils.getDateTimestamp(TimeUtils.getCurrentTimestamp(), TimeUtils.getTimeDateFormat(timeType));
                 viewBinding.yearMonthDayTv.setText(dataStr);
                 getStatistics();
 
@@ -178,7 +179,7 @@
                 viewBinding.v2.setVisibility(View.GONE);
                 viewBinding.v3.setVisibility(View.VISIBLE);
                 viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE);
-                String dataStr = TimeUtils.getDateTimestamp(getCurrentTimestamp(), getTimeDateFormat());
+                String dataStr = TimeUtils.getDateTimestamp(TimeUtils.getCurrentTimestamp(), TimeUtils.getTimeDateFormat(timeType));
                 viewBinding.yearMonthDayTv.setText(dataStr);
                 getStatistics();
 
@@ -210,7 +211,7 @@
                 viewBinding.v2.setVisibility(View.GONE);
                 viewBinding.v3.setVisibility(View.GONE);
                 viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE);
-                String dataStr = TimeUtils.getDateTimestamp(getCurrentTimestamp(), getTimeDateFormat());
+                String dataStr = TimeUtils.getDateTimestamp(TimeUtils.getCurrentTimestamp(), TimeUtils.getTimeDateFormat(timeType));
                 viewBinding.yearMonthDayTv.setText(dataStr);
                 getStatistics();
             }
@@ -252,11 +253,11 @@
                 if (TextUtils.isEmpty(currDate)) {
                     return;
                 }
-                String timeDateFormat = getTimeDateFormat();
+                String timeDateFormat = TimeUtils.getTimeDateFormat(timeType);
                 Calendar calendar = TimeUtils.stringToCalendar(currDate, timeDateFormat);
                 String time = TimeUtils.subtractDayMonthYearFromDate(calendar, 1, timeDateFormat, timeType);
                 viewBinding.yearMonthDayTv.setText(time);
-
+                getStatistics();
 
             }
         });
@@ -268,15 +269,16 @@
                 if (TextUtils.isEmpty(currDate)) {
                     return;
                 }
-                String timeDateFormat = getTimeDateFormat();
+                String timeDateFormat = TimeUtils.getTimeDateFormat(timeType);
                 Calendar calendar = TimeUtils.stringToCalendar(currDate, timeDateFormat);
                 String time = TimeUtils.addDayMonthYearToDate(calendar, 1, timeDateFormat, timeType);
-                if (TimeUtils.stringDateToTimestamp(time, timeDateFormat) > getCurrentTimestamp()) {
+                if (TimeUtils.stringDateToTimestamp(time, timeDateFormat) > TimeUtils.getCurrentTimestamp()) {
                     HdlThreadLogic.toast(_mActivity, getString(R.string.the_query_date_is_exceeded));
 
                     return;
                 }
                 viewBinding.yearMonthDayTv.setText(time);
+                getStatistics();
             }
         });
         //璁剧疆涓嬫媺绠ご棰滆壊
@@ -298,9 +300,9 @@
     private void selectedTimePickerBuilder() {
         String currDate = viewBinding.yearMonthDayTv.getText().toString();
         //鏃堕棿閫夋嫨鍣�
-        Calendar selectedDate = TimeUtils.stringToCalendar(currDate, getTimeDateFormat());
+        Calendar selectedDate = TimeUtils.stringToCalendar(currDate, TimeUtils.getTimeDateFormat(timeType));
         Calendar startDate = Calendar.getInstance();
-        Calendar endDate = TimeUtils.timestampToCalendar(getCurrentTimestamp());
+        Calendar endDate = TimeUtils.timestampToCalendar(TimeUtils.getCurrentTimestamp());
         //璁剧疆鏃ユ湡銆愬紑濮嬨�戝拰銆愮粨鏉熴��
         startDate.set(2023, 1, 1);
         endDate.set(endDate.get(Calendar.YEAR), endDate.get(Calendar.MONTH), endDate.get(Calendar.DAY_OF_MONTH));
@@ -316,7 +318,7 @@
         TimePickerView pvTime = new TimePickerBuilder(_mActivity, new OnTimeSelectListener() {
             @Override
             public void onTimeSelect(Date date, View v) {//閫変腑浜嬩欢鍥炶皟
-                String timeDateFormat = getTimeDateFormat();
+                String timeDateFormat = TimeUtils.getTimeDateFormat(timeType);
                 String time = TimeUtils.dateToString(date, timeDateFormat);
                 if (viewBinding.yearMonthDayTv.getText().toString().equals(time)) {
                     //琛ㄧず鍚屼竴涓椂闂�
@@ -356,11 +358,11 @@
         aaChartView = viewBinding.autoSizeMyAAChart;
         aaChartView.callBack = this;
         if (TimeType.day.equals(timeType)) {
-            aaChartModel = BasicChartComposer.configureAreaChart("Pv鍙戠數鍔熺巼", fieldNames, fieldValues);
+            aaChartModel = BasicChartComposer.configureAreaChart(getString(R.string.pv_power), fieldNames, fieldValues);
         } else if (TimeType.month.equals(timeType)
                 || TimeType.year.equals(timeType)
                 || TimeType.all.equals(timeType)) {
-            aaChartModel = configureColorfulColumnChart("Pv鍙戠數鍔熺巼", fieldNames, fieldValues);
+            aaChartModel = configureColorfulColumnChart(getString(R.string.pv_power), fieldNames, fieldValues);
         }
         aaChartView.aa_drawChartWithChartModel(aaChartModel);
 
@@ -374,7 +376,7 @@
         viewBinding.homeOfflineIl.stationTitleTv.setText(getString(R.string.my_power_station_off_line));
         viewBinding.homeConnectedIl.stationTitleTv.setText(getString(R.string.to_be_added));
 
-        String dataStr = TimeUtils.getDateTimestamp(getCurrentTimestamp(), getTimeDateFormat());
+        String dataStr = TimeUtils.getDateTimestamp(TimeUtils.getCurrentTimestamp(), TimeUtils.getTimeDateFormat(timeType));
         viewBinding.yearMonthDayTv.setText(dataStr);
 
         String installed_capacity = getString(R.string.installed_capacity) + "(" + HdlDeviceLogic.kWp + ")";
@@ -444,10 +446,10 @@
                 if (statusOverviewBean == null) {
                     return;
                 }
-                viewBinding.homeAllIl.stationTotalTv.setText(statusOverviewBean.getTotal() + "");
-                viewBinding.homeFaultsIl.stationTotalTv.setText(statusOverviewBean.getFault() + "");
-                viewBinding.homeOfflineIl.stationTotalTv.setText(statusOverviewBean.getOffline() + "");
-                viewBinding.homeConnectedIl.stationTotalTv.setText(statusOverviewBean.getConnecting() + "");
+                viewBinding.homeAllIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getTotal()));
+                viewBinding.homeFaultsIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getFault()));
+                viewBinding.homeOfflineIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getOffline()));
+                viewBinding.homeConnectedIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getConnecting()));
             }
 
             @Override
@@ -462,6 +464,7 @@
      * 鑾峰彇缁熻姒傝鏁版嵁(鍏徃缁村害)
      */
     private void getDataOver() {
+
         HdlPowerStationDataStatisticsLogic.getInstance().getDataOver(new CloudCallBeak<DataOverBean>() {
             @Override
             public void onSuccess(DataOverBean dataOverBean) {
@@ -471,14 +474,14 @@
                         if (dataOverBean == null) {
                             return;
                         }
-                        viewBinding.infoRl1Text1Tv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getInstalledCapacity()));
-                        viewBinding.infoRl1Text3Tv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getPower()));
+                        viewBinding.infoRl1Text1Tv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getInstalledCapacity()));
+                        viewBinding.infoRl1Text3Tv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getPower()));
                         viewBinding.infoRl1FText1Tv.setText(dataOverBean.getPowerRatio());
 
-                        viewBinding.homePageStationInfoRl2DayIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getTodayElectricity()));
-                        viewBinding.homePageStationInfoRl2MonIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getMonthElectricity()));
-                        viewBinding.homePageStationInfoRl2YearIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getYearElectricity()));
-                        viewBinding.homePageStationInfoRl2CumulativeIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getTotalElectricity()));
+                        viewBinding.homePageStationInfoRl2DayIc.dataTv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getTodayElectricity()));
+                        viewBinding.homePageStationInfoRl2MonIc.dataTv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getMonthElectricity()));
+                        viewBinding.homePageStationInfoRl2YearIc.dataTv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getYearElectricity()));
+                        viewBinding.homePageStationInfoRl2CumulativeIc.dataTv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getTotalElectricity()));
                     }
                 });
             }
@@ -495,21 +498,27 @@
      */
     private void getStatistics() {
         String currDate = viewBinding.yearMonthDayTv.getText().toString();
-        HdlPowerStationDataStatisticsLogic.getInstance().getStatistics(currDate, timeType, new CloudCallBeak<List<StatisticsBean>>() {
+        HdlPowerStationDataStatisticsLogic.getInstance().getStatistics(timeType, currDate, new CloudCallBeak<List<StatisticsBean>>() {
             @Override
             public void onSuccess(List<StatisticsBean> list) {
-                if (list == null || list.size() == 0) {
-                    return;
-                }
-                String[] keys = new String[list.size()];
-                Object[] values = new Object[list.size()];
-                for (int i = 0; i < list.size(); i++) {
-                    keys[i] = list.get(i).getFieldName();
-                    values[i] = list.get(i).getFieldValue();
-                }
-                fieldNames = keys;
-                fieldValues = values;
-                setUpAAChartView();
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        if (list == null || list.size() == 0) {
+                            return;
+                        }
+                        String[] keys = new String[list.size()];
+                        Object[] values = new Object[list.size()];
+                        for (int i = 0; i < list.size(); i++) {
+                            keys[i] = list.get(i).getFieldName();
+                            values[i] = HdlCommonLogic.getBigDecimal(list.get(i).getFieldValue()).intValue();//鑾峰彇鏁存暟閮ㄥ垎
+                        }
+                        fieldNames = keys;
+                        fieldValues = values;
+                        setUpAAChartView();
+                    }
+                });
+
             }
 
             @Override
@@ -529,9 +538,9 @@
                 if (socialContributionBean == null) {
                     return;
                 }
-                viewBinding.socialContributionData1Tv.setText(socialContributionBean.getCoal());
-                viewBinding.socialContributionData2Tv.setText(socialContributionBean.getCo2());
-                viewBinding.socialContributionData3Tv.setText(socialContributionBean.getTreePlanting());
+                viewBinding.socialContributionData1Tv.setText(HdlCommonLogic.convertString(HdlCommonLogic.getBigDecimal(socialContributionBean.getCoal())));
+                viewBinding.socialContributionData2Tv.setText(HdlCommonLogic.convertString(HdlCommonLogic.getBigDecimal(socialContributionBean.getCo2())));
+                viewBinding.socialContributionData3Tv.setText(HdlCommonLogic.convertString(HdlCommonLogic.getBigDecimal(socialContributionBean.getTreePlanting())));
             }
 
             @Override
@@ -539,51 +548,6 @@
 
             }
         });
-    }
-
-
-    /**
-     * 鑾峰彇褰撳墠绯荤粺鏃ユ湡鏃堕棿鎴�
-     *
-     * @return 鏃堕棿鎴�
-     */
-    private long getCurrentTimestamp() {
-        return new Date().getTime();
-    }
-
-    /**
-     * 鑾峰彇鏃ユ湡鏍煎紡 (2024/2/09,yyyy/DD/dd)
-     *
-     * @return 鏃ユ湡鏍煎紡 (2024/2/09,yyyy/DD/dd)
-     */
-    private String getTimeDateFormat() {
-        String timeDateFormat = TimeUtils.zhDateYearMonthDayFormat;
-        switch (timeType) {
-            case TimeType.day: {
-                timeDateFormat = TimeUtils.zhDateYearMonthDayFormat;
-                if (!UserConfigManage.getInstance().isZh()) {
-                    timeDateFormat = TimeUtils.enDateYearMonthDayFormat;
-                }
-            }
-            break;
-            case TimeType.month: {
-                timeDateFormat = TimeUtils.zhDateYearMonthFormat;
-                if (!UserConfigManage.getInstance().isZh()) {
-                    timeDateFormat = TimeUtils.enDateYearMonthFormat;
-                }
-            }
-            break;
-            case TimeType.year:
-            case TimeType.all: {
-                timeDateFormat = TimeUtils.zhDateYearFormat;
-                if (!UserConfigManage.getInstance().isZh()) {
-                    timeDateFormat = TimeUtils.enDateYearFormat;
-                }
-            }
-            break;
-
-        }
-        return timeDateFormat;
     }
 
 

--
Gitblit v1.8.0