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