From 77688e52fdc2761f17ce24be9704ee25bff2194d Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期三, 04 十二月 2024 13:55:21 +0800
Subject: [PATCH] Merge branch '1.5.0' of http://172.16.1.23:6688/r/~wjc/HDLPhotovoltaicDebugAPP into 1.5.0
---
app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java | 516 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 389 insertions(+), 127 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 af3f440..28f214f 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
@@ -1,13 +1,26 @@
package com.hdl.photovoltaic.ui.home;
-import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureColorfulColumnChart;
+import static com.hdl.photovoltaic.ui.home.aachart.CustomStyleChartComposer.configureColorfulColumnChart;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.os.SystemClock;
+import android.text.SpannableString;
+import android.text.Spanned;
import android.text.TextUtils;
+import android.text.style.AbsoluteSizeSpan;
+import android.text.style.ClickableSpan;
+import android.text.style.ForegroundColorSpan;
+import android.text.style.StyleSpan;
import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.bigkoo.pickerview.builder.TimePickerBuilder;
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
@@ -15,24 +28,42 @@
import com.github.AAChartModel.AAChartCore.AAChartCreator.AAChartModel;
import com.github.AAChartModel.AAChartCore.AAChartCreator.AAChartView;
import com.github.AAChartModel.AAChartCore.AAChartCreator.AAMoveOverEventMessageModel;
+import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseFragment;
import com.hdl.photovoltaic.config.ConstantManage;
-import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.FragmentHomePageBinding;
import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
+import com.hdl.photovoltaic.enums.PowerStationStatus;
+import com.hdl.photovoltaic.enums.TimeType;
+import com.hdl.photovoltaic.enums.UnitType;
+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;
+import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.photovoltaic.other.HdlUniLogic;
+import com.hdl.photovoltaic.ui.bean.DataOverBean;
+import com.hdl.photovoltaic.ui.bean.SocialContributionBean;
+import com.hdl.photovoltaic.ui.bean.StatisticsBean;
+import com.hdl.photovoltaic.ui.bean.StatusOverviewBean;
+import com.hdl.photovoltaic.ui.home.aachart.BasicChartComposer;
+import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.utils.TimeUtils;
+import com.hdl.photovoltaic.utils.UnitConversionUtils;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
+import java.lang.ref.WeakReference;
import java.util.Calendar;
import java.util.Date;
+import java.util.List;
/**
@@ -43,12 +74,16 @@
FragmentHomePageBinding viewBinding;
- AAChartView aaChartView;
+ AutoSizeMyAAChart aaChartView;
AAChartModel aaChartModel;
- private TimeType timeType = TimeType.day;//鏃堕棿绫诲瀷(榛樿锛氬ぉ)
+ 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;//鏃堕棿绫诲瀷(榛樿锛氬ぉ)
@Override
@@ -63,11 +98,65 @@
initView();
//鍒濆鍖栫晫闈㈢洃鍚櫒
initEvent();
+ //璇诲彇鏁版嵁
+ readDate();
+ }
+ /**
+ * 璇诲彇鏁版嵁
+ */
+ private void readDate() {
+ HdlThreadLogic.runSubThread(new Runnable() {
+ @Override
+ public void run() {
+ getStatusOverview();
+ getDataOver();
+ getStatistics();
+ getSocialContribution();
+
+ }
+ });
}
private void initEvent() {
+ //鐢电珯娣诲姞
+ viewBinding.homePageStationAddIv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
+ }
+ });
+
+ //鍏ㄩ儴
+ viewBinding.homeAllIl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch, ConstantManage.station_page, PowerStationStatus.All);
+
+ }
+ });
+ //鏁呴殰
+ viewBinding.homeFaultsIl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch, ConstantManage.station_page, PowerStationStatus.malfunction);
+ }
+ });
+ //绂荤嚎
+ viewBinding.homeOfflineIl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch, ConstantManage.station_page, PowerStationStatus.off);
+ }
+ });
+ //寰呮帴鍏�
+ viewBinding.homeConnectedIl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch, ConstantManage.station_page, PowerStationStatus.connecting);
+ }
+ });
//鏃堕棿閫夋嫨鍣�
viewBinding.yearMonthDayTv.setOnClickListener(new View.OnClickListener() {
@Override
@@ -80,28 +169,33 @@
viewBinding.dayTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ if (timeType.equals(TimeType.day)) {
+ //鐐瑰嚮鍚屼竴涓被鍨�
+ return;
+ }
timeType = TimeType.day;
-
+ viewBinding.unitTv.setText(UnitType.kW);
+ viewBinding.unitTextTv.setText(getString(R.string.pv_power));
viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494));
- viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_38C494));
+ viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF));
viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
+ viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
+ viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
+ viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.v1.setVisibility(View.GONE);
viewBinding.v2.setVisibility(View.VISIBLE);
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);
- setUpAAChartView();
+ getStatistics();
}
});
@@ -109,26 +203,32 @@
viewBinding.monthTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ if (timeType.equals(TimeType.month)) {
+ //鐐瑰嚮鍚屼竴涓被鍨�
+ return;
+ }
timeType = TimeType.month;
+ viewBinding.unitTv.setText(UnitType.kWh);
+ viewBinding.unitTextTv.setText(getString(R.string.generation));
viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
+ viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494));
- viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_38C494));
+ viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF));
viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
+ viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
+ viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.v1.setVisibility(View.GONE);
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);
- setUpAAChartView();
+ getStatistics();
}
@@ -137,51 +237,62 @@
viewBinding.yearTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ if (timeType.equals(TimeType.year)) {
+ //鐐瑰嚮鍚屼竴涓被鍨�
+ return;
+ }
timeType = TimeType.year;
+ viewBinding.unitTv.setText(UnitType.kWh);
+ viewBinding.unitTextTv.setText(getString(R.string.generation));
viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
+ viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
+ viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494));
- viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_38C494));
+ viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF));
viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
+ viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.v1.setVisibility(View.VISIBLE);
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);
- setUpAAChartView();
+ getStatistics();
}
});
//鐢熷懡鏈�
viewBinding.lifeCycleTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- timeType = TimeType.lifecycle;
+ if (timeType.equals(TimeType.all)) {
+ //鐐瑰嚮鍚屼竴涓被鍨�
+ return;
+ }
+ timeType = TimeType.all;
+ viewBinding.unitTv.setText(UnitType.kWh);
+ viewBinding.unitTextTv.setText(getString(R.string.generation));
viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
+ viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
+ viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
+ viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494));
- viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_38C494));
+ viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF));
viewBinding.v1.setVisibility(View.VISIBLE);
viewBinding.v2.setVisibility(View.VISIBLE);
viewBinding.v3.setVisibility(View.GONE);
viewBinding.homePageStationSelectTimeLl.setVisibility(View.GONE);
-
- setUpAAChartView();
+ getStatistics();
}
});
@@ -193,11 +304,12 @@
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();
}
});
@@ -209,83 +321,64 @@
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();
}
});
+ //璁剧疆涓嬫媺绠ご棰滆壊
+ viewBinding.srl.setColorSchemeResources(R.color.text_FF245EC3);
+ viewBinding.srl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+ @Override
+ public void onRefresh() {
+ viewBinding.srl.setRefreshing(false);
+ readDate();
+ }
+ });
+
+
}
-
- private void initView() {
-
- String dataStr = TimeUtils.getDateTimestamp(getCurrentTimestamp(), getTimeDateFormat());
- viewBinding.yearMonthDayTv.setText(dataStr);
-
- String installed_capacity = getString(R.string.installed_capacity) + "(" + HdlDeviceLogic.kWp + ")";
- viewBinding.homePageStationInfoRl1Text2Tv.setText(installed_capacity);
- String generated_power = getString(R.string.generated_power) + "(" + HdlDeviceLogic.kW + ")";
- viewBinding.homePageStationInfoRl1Text4Tv.setText(generated_power);
- String generation = getString(R.string.generation) + "(" + HdlDeviceLogic.kWp + ")";
- viewBinding.homePageStationInfoRl1TitleTv.setText(generation);
-
- viewBinding.homePageStationInfoRl2DayIc.dataTypeTv.setText(R.string.day_power_generation);
- viewBinding.homePageStationInfoRl2MonIc.dataTypeTv.setText(R.string.month_power_generation);
- viewBinding.homePageStationInfoRl2YearIc.dataTypeTv.setText(R.string.year_power_generation);
- viewBinding.homePageStationInfoRl2CumulativeIc.dataTypeTv.setText(R.string.cumulative_power_generation);
-
-
- viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494));
- viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_38C494));
- viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
- viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
- viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_40000000));
- viewBinding.v1.setVisibility(View.GONE);
- viewBinding.v2.setVisibility(View.VISIBLE);
- viewBinding.v3.setVisibility(View.VISIBLE);
- viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE);
- setUpAAChartView();//鍥捐〃鍔犺浇
- }
-
/**
* 鏃堕棿閫夋嫨鍣�
*/
private void selectedTimePickerBuilder() {
+
String currDate = viewBinding.yearMonthDayTv.getText().toString();
- if (TextUtils.isEmpty(currDate)) {
- return;
- }
//鏃堕棿閫夋嫨鍣�
- 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));
boolean day = true;
boolean month = true;
boolean year = true;
- if (timeType == TimeType.month) {
+ if (timeType.equals(TimeType.month)) {
day = false;
- } else if (timeType == TimeType.year) {
+ } else if (timeType.equals(TimeType.year)) {
day = false;
month = false;
}
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)) {
+ //琛ㄧず鍚屼竴涓椂闂�
+ return;
+ }
viewBinding.yearMonthDayTv.setText(time);
+ getStatistics();
}
}).setType(new boolean[]{year, month, day, false, false, false})// 榛樿鍏ㄩ儴鏄剧ず
.setCancelText(_mActivity.getString(R.string.loading_cancel))//鍙栨秷鎸夐挳鏂囧瓧
@@ -295,12 +388,12 @@
.setTitleText(_mActivity.getString(R.string.time_selectd))//鏍囬鏂囧瓧
.setOutSideCancelable(true)//鐐瑰嚮灞忓箷锛岀偣鍦ㄦ帶浠跺閮ㄨ寖鍥存椂锛屾槸鍚﹀彇娑堟樉绀�
.isCyclic(false)//鏄惁寰幆婊氬姩
- .setTitleColor(_mActivity.getColor(R.color.text_90000000))//鏍囬鏂囧瓧棰滆壊
+ .setTitleColor(_mActivity.getColor(R.color.text_E6000000))//鏍囬鏂囧瓧棰滆壊
.setSubmitColor(_mActivity.getColor(R.color.text_38C494))//纭畾鎸夐挳鏂囧瓧棰滆壊
- .setCancelColor(_mActivity.getColor(R.color.text_40000000))//鍙栨秷鎸夐挳鏂囧瓧棰滆壊
+ .setCancelColor(_mActivity.getColor(R.color.text_66000000))//鍙栨秷鎸夐挳鏂囧瓧棰滆壊
.setTitleBgColor(_mActivity.getColor(R.color.text_FFFFFFFF))//鏍囬鑳屾櫙棰滆壊 Night mode
.setBgColor(_mActivity.getColor(R.color.text_FFFFFFFF))//婊氳疆鑳屾櫙棰滆壊 Night mode
- .setTextColorCenter(_mActivity.getColor(R.color.text_90000000)).setDate(selectedDate)// 濡傛灉涓嶈缃殑璇濓紝榛樿鏄郴缁熸椂闂�*/
+ .setTextColorCenter(_mActivity.getColor(R.color.text_E6000000)).setDate(selectedDate)// 濡傛灉涓嶈缃殑璇濓紝榛樿鏄郴缁熸椂闂�*/
.setRangDate(startDate, endDate)//璧峰缁堟骞存湀鏃ヨ瀹�
.setLabel(_mActivity.getString(R.string.year), _mActivity.getString(R.string.month), _mActivity.getString(R.string.day), _mActivity.getString(R.string.hour), _mActivity.getString(R.string.minute), _mActivity.getString(R.string.seconds))//榛樿璁剧疆涓哄勾鏈堟棩鏃跺垎绉�
.isCenterLabel(false) //鏄惁鍙樉绀轰腑闂撮�変腑椤圭殑label鏂囧瓧锛宖alse鍒欐瘡椤筰tem鍏ㄩ儴閮藉甫鏈塴abel銆�
@@ -314,17 +407,90 @@
/**
* 鍥捐〃鍔犺浇
*/
- private void setUpAAChartView() {
- aaChartView = viewBinding.AAChartView;
+ private void setUpAAChartView(boolean needDelay) {
+ aaChartView = viewBinding.autoSizeMyAAChart;
aaChartView.callBack = this;
- if (TimeType.day == timeType) {
- aaChartModel = BasicChartComposer.configureAreaChart();
- } else if (TimeType.month == timeType
- || TimeType.year == timeType
- || TimeType.lifecycle == timeType) {
- aaChartModel = configureColorfulColumnChart();
+ if (TimeType.day.equals(timeType)) {
+ 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(getString(R.string.generation), fieldNames, fieldValues);
}
- aaChartView.aa_drawChartWithChartModel(aaChartModel);
+
+
+ if(needDelay) {
+ viewBinding.autoSizeMyAAChart.setX(10000);//鐩存帴鎵撳紑鏈夐棯灞忥紝鍦ㄤ笉鏄剧ず鐨勫湴鏂瑰厛鏄剧ず锛屽啀绉诲姩鍒版甯哥殑浣嶇疆銆俆ODO 鍚庣画鎵惧埌鏍规簮闂鍚庡幓鎺夎繖涓敤娉�
+ aaChartView.aa_drawChartWithChartOptions(aaChartModel.aa_toAAOptions());
+ mHandler.sendEmptyMessageDelayed(100,800);
+ }
+ else{
+ aaChartView.aa_drawChartWithChartOptions(aaChartModel.aa_toAAOptions());
+ }
+ }
+
+ FHandler mHandler=new FHandler(this);
+
+ private static class FHandler extends Handler{
+ //瀹氫箟寮卞紩鐢ㄥ疄渚�
+ private WeakReference<HomePageFragment> reference;
+
+ //鍦ㄦ瀯閫犳柟娉曚腑浼犲叆闇�瑕佹寔鏈夌殑fragment瀹炰緥
+ public FHandler(HomePageFragment fragment) {
+ reference = new WeakReference<HomePageFragment>(fragment); }
+
+ //閫氳繃澶嶅啓handlerMessage()浠庤�屽喅瀹氬浣曡繘琛屾洿鏂癠I鎿嶄綔
+ @Override
+ public void handleMessage(Message msg) {
+ //鐪佺暐浠g爜
+
+ switch (msg.what){
+ case 100:
+ if(reference.get()!=null) {
+ reference.get().viewBinding.autoSizeMyAAChart.setX(0);//绉诲姩鍒版纭殑浣嶇疆
+ }
+ break;
+ }
+ }
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ mHandler.removeCallbacksAndMessages(null);
+ }
+
+ private void initView() {
+
+ String dataStr = TimeUtils.getDateTimestamp(TimeUtils.getCurrentTimestamp(), TimeUtils.getTimeDateFormat(timeType));
+ viewBinding.yearMonthDayTv.setText(dataStr);
+
+// String installed_capacity = getString(R.string.string_capacity) + "(" + UnitType.kWp + ")";
+// viewBinding.infoRl1Text2Tv.setText(installed_capacity);
+// String generated_power = getString(R.string.generated_power) + "(" + UnitType.kW + ")";
+// viewBinding.infoRl1Text4Tv.setText(generated_power);
+// String generation = getString(R.string.generation) + "/" + UnitType.kWh;
+// viewBinding.homePageStationInfoRl1TitleTv.setText(generation);
+
+// viewBinding.day.setText(R.string.day_power_generation);
+// viewBinding.month.setText(R.string.month_power_generation);
+// viewBinding.year.setText(R.string.year_power_generation);
+// viewBinding.Total.setText(R.string.cumulative_power_generation);
+//
+ viewBinding.unitTv.setText(UnitType.kW);
+
+
+ viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494));
+ viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF));
+ viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
+ viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
+ viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
+ viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
+ viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
+ viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
+ viewBinding.v1.setVisibility(View.GONE);
+ viewBinding.v2.setVisibility(View.VISIBLE);
+ viewBinding.v3.setVisibility(View.VISIBLE);
+ viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE);
+ setUpAAChartView(true);//鍥捐〃鍔犺浇
}
@@ -351,59 +517,155 @@
// 鍙栨秷绮樻�т簨浠�
EventBus.getDefault().removeStickyEvent(eventBus);
HdlLogLogic.print("姝e湪鐐瑰嚮銆愰椤点��");
-
}
}
}
/**
- * 鑾峰彇褰撳墠绯荤粺鏃ユ湡鏃堕棿鎴�
- *
- * @return 鏃堕棿鎴�
+ * 鐢电珯鐘舵�佹瑙�
*/
- private long getCurrentTimestamp() {
- return new Date().getTime();
+ private void getStatusOverview() {
+ HdlResidenceLogic.getInstance().getStatusOverview(new CloudCallBeak<StatusOverviewBean>() {
+ @Override
+ public void onSuccess(StatusOverviewBean statusOverviewBean) {
+ if (statusOverviewBean == null) {
+ return;
+ }
+ viewBinding.stationAllTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getTotal()));
+ viewBinding.stationFaultsTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getFault()));
+ viewBinding.stationOfflineTitleTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getOffline()));
+ viewBinding.stationConnectedTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getConnecting()));
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+
+ }
+ });
+ }
+
+
+ /**
+ * 鑾峰彇缁熻姒傝鏁版嵁(鍏徃缁村害)
+ */
+ private void getDataOver() {
+
+ HdlPowerStationDataStatisticsLogic.getInstance().getDataOver(new CloudCallBeak<DataOverBean>() {
+ @Override
+ public void onSuccess(DataOverBean dataOverBean) {
+ HdlThreadLogic.runMainThread(new Runnable() {
+ @Override
+ public void run() {
+ if (dataOverBean == null) {
+ return;
+ }
+ viewBinding.infoRl1Text1Tv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getInstalledCapacity()));
+ viewBinding.infoRl1Text3Tv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getPower(), UnitType.kW, false));
+
+// String str = dataOverBean.getPowerRatio() + "%";
+// int startIndex = str.lastIndexOf("%");
+// int endIndex = str.lastIndexOf("%") + 1;
+// SpannableString spannableString = new SpannableString(str);
+// //璁剧疆绗竴閮ㄥ垎鏂囧瓧鐨勫瓧浣撳ぇ灏�
+// spannableString.setSpan(new AbsoluteSizeSpan((int) UnitConversionUtils.dpToPx(HDLApp.getInstance(), 12)), startIndex, endIndex, 0);
+// // 鍒涘缓涓�涓狥oregroundColorSpan瀵硅薄锛屽弬鏁版槸棰滆壊鍊�
+// ForegroundColorSpan colorSpan = new ForegroundColorSpan(HDLApp.getInstance().getColor(R.color.text_66FFFFFF));
+// spannableString.setSpan(colorSpan, startIndex, endIndex, 0);
+// viewBinding.infoRl1FText1Tv.setText(spannableString);
+ viewBinding.infoRl1FText1Tv.setText(dataOverBean.getPowerRatio());
+ try {
+ int progress = 0;
+ if (!TextUtils.isEmpty(dataOverBean.getPowerRatio())) {
+ progress = (int) Double.parseDouble(dataOverBean.getPowerRatio());
+ if (progress > 100) {
+ progress = 100;
+ }
+ if (progress < 0) {
+ progress = 0;
+ }
+ viewBinding.progressBar.setProgress(progress);
+ }
+
+ } catch (Exception ignored) {
+ }
+
+ viewBinding.day.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getTodayElectricity()));
+ viewBinding.month.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getMonthElectricity()));
+ viewBinding.year.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getYearElectricity()));
+ viewBinding.Total.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getTotalElectricity()));
+
+ }
+ });
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+
+ }
+ });
}
/**
- * 鑾峰彇鏃ユ湡鏍煎紡 (2024/2/09,yyyy/DD/dd)
- *
- * @return 鏃ユ湡鏍煎紡 (2024/2/09,yyyy/DD/dd)
+ * 鍙戠數閲忕粺璁�(鍏徃缁村害)
*/
- private String getTimeDateFormat() {
- String timeDateFormat = TimeUtils.zhDateYearMonthDayFormat;
- switch (timeType) {
- case day: {
- timeDateFormat = TimeUtils.zhDateYearMonthDayFormat;
- if (!UserConfigManage.getInstance().isZh()) {
- timeDateFormat = TimeUtils.enDateYearMonthDayFormat;
- }
- }
- break;
- case month: {
- timeDateFormat = TimeUtils.zhDateYearMonthFormat;
- if (!UserConfigManage.getInstance().isZh()) {
- timeDateFormat = TimeUtils.enDateYearMonthFormat;
- }
- }
- break;
- case year:
- case lifecycle: {
- timeDateFormat = TimeUtils.zhDateYearFormat;
- if (!UserConfigManage.getInstance().isZh()) {
- timeDateFormat = TimeUtils.enDateYearFormat;
- }
- }
- break;
+ private void getStatistics() {
+ String currDate = viewBinding.yearMonthDayTv.getText().toString();
+ HdlPowerStationDataStatisticsLogic.getInstance().getStatistics(timeType, currDate, new CloudCallBeak<List<StatisticsBean>>() {
+ @Override
+ public void onSuccess(List<StatisticsBean> list) {
+ 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();
+ if (TimeType.day.equals(timeType)) {
+ values[i] = HdlCommonLogic.divideByOneThousandAndFormat(list.get(i).getFieldValue());// HdlCommonLogic.getBigDecimal(list.get(i).getFieldValue()).intValue();//鑾峰彇鏁存暟閮ㄥ垎
+ } else {
+ values[i] = HdlCommonLogic.getBigDecimal(list.get(i).getFieldValue());
+ }
+ }
+ fieldNames = keys;
+ fieldValues = values;
+ setUpAAChartView(false);
+ }
+ });
- }
- return timeDateFormat;
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+
+ }
+ });
}
- public enum TimeType {
- day, month, year, lifecycle
+ /**
+ * 绀句細璐$尞(鍏徃缁村害)
+ */
+ private void getSocialContribution() {
+ HdlPowerStationDataStatisticsLogic.getInstance().getSocialContribution(new CloudCallBeak<SocialContributionBean>() {
+ @Override
+ public void onSuccess(SocialContributionBean socialContributionBean) {
+ if (socialContributionBean == null) {
+ return;
+ }
+ viewBinding.socialContributionData1Tv.setText(HdlCommonLogic.convertString(HdlCommonLogic.getBigDecimal(socialContributionBean.getCoal())));
+ viewBinding.socialContributionData2Tv.setText(HdlCommonLogic.convertString(HdlCommonLogic.getBigDecimal(socialContributionBean.getCo2())));
+ viewBinding.socialContributionData3Tv.setText(HdlCommonLogic.convertString(socialContributionBean.getTreePlanting()));
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+
+ }
+ });
}
-}
\ No newline at end of file
+}
--
Gitblit v1.8.0