From 7e1ff0216432f674021c3e882ae5ff3724accea7 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期四, 12 十二月 2024 16:50:46 +0800 Subject: [PATCH] 2024年12月12日16:50:44 --- app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java | 369 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 233 insertions(+), 136 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 58309c2..cafc21e 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,24 @@ package com.hdl.photovoltaic.ui.home; -import static com.hdl.photovoltaic.ui.powerstation.aachart.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; @@ -18,29 +29,38 @@ 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.powerstation.aachart.BasicChartComposer; +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; @@ -54,13 +74,13 @@ FragmentHomePageBinding viewBinding; - AAChartView aaChartView; + AutoSizeMyAAChart aaChartView; 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;//鏃堕棿绫诲瀷(榛樿锛氬ぉ) @@ -80,8 +100,8 @@ initEvent(); //璇诲彇鏁版嵁 readDate(); - } + /** * 璇诲彇鏁版嵁 @@ -90,6 +110,7 @@ HdlThreadLogic.runSubThread(new Runnable() { @Override public void run() { + getStatusOverview(); getDataOver(); getStatistics(); getSocialContribution(); @@ -99,6 +120,43 @@ } 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 @@ -116,25 +174,26 @@ 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); getStatistics(); @@ -149,23 +208,25 @@ 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); getStatistics(); @@ -181,23 +242,25 @@ 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); getStatistics(); } @@ -211,17 +274,19 @@ 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); @@ -239,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(); } }); @@ -255,15 +321,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(); } }); //璁剧疆涓嬫媺绠ご棰滆壊 @@ -275,17 +342,20 @@ readDate(); } }); + + } /** * 鏃堕棿閫夋嫨鍣� */ 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)); @@ -301,7 +371,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)) { //琛ㄧず鍚屼竴涓椂闂� @@ -318,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銆� @@ -337,50 +407,56 @@ /** * 鍥捐〃鍔犺浇 */ - private void setUpAAChartView() { - aaChartView = viewBinding.AAChartView; + private void setUpAAChartView(boolean needDelay) { + aaChartView = viewBinding.autoSizeMyAAChart; aaChartView.callBack = this; if (TimeType.day.equals(timeType)) { - aaChartModel = BasicChartComposer.configureAreaChart("Pv鍙戠數鍔熺巼", fieldNames, fieldValues); - } else if (TimeType.month.equals(timeType) - || TimeType.year.equals(timeType) - || TimeType.all.equals(timeType)) { - aaChartModel = configureColorfulColumnChart("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(getString(R.string.generation), fieldNames, fieldValues); } - aaChartView.aa_drawChartWithChartModel(aaChartModel); + aaChartView.aa_drawChartWithChartOptions(aaChartModel.aa_toAAOptions()); + } + + @Override + public void onDestroy() { + super.onDestroy(); } private void initView() { - 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 + ")"; - viewBinding.infoRl1Text2Tv.setText(installed_capacity); - String generated_power = getString(R.string.generated_power) + "(" + HdlDeviceLogic.kW + ")"; - viewBinding.infoRl1Text4Tv.setText(generated_power); - String generation = getString(R.string.generation) + "(" + HdlDeviceLogic.kWp + ")"; - viewBinding.homePageStationInfoRl1TitleTv.setText(generation); +// 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.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.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.unitTv.setText(HdlDeviceLogic.kW); + 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); - setUpAAChartView();//鍥捐〃鍔犺浇 + viewBinding.autoSizeMyAAChart.setBackgroundColor(_mActivity.getColor(R.color.text_FF1C1C1E)); + setUpAAChartView(true);//鍥捐〃鍔犺浇 } @@ -407,9 +483,32 @@ // 鍙栨秷绮樻�т簨浠� EventBus.getDefault().removeStickyEvent(eventBus); HdlLogLogic.print("姝e湪鐐瑰嚮銆愰椤点��"); - } } + } + + + /** + * 鐢电珯鐘舵�佹瑙� + */ + 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.stationOfflineTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getOffline())); + viewBinding.stationConnectedTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getConnecting())); + } + + @Override + public void onFailure(HDLException e) { + + } + }); } @@ -417,20 +516,53 @@ * 鑾峰彇缁熻姒傝鏁版嵁(鍏徃缁村害) */ private void getDataOver() { + HdlPowerStationDataStatisticsLogic.getInstance().getDataOver(new CloudCallBeak<DataOverBean>() { @Override public void onSuccess(DataOverBean dataOverBean) { - if (dataOverBean == null) { - return; - } - viewBinding.infoRl1Text1Tv.setText(dataOverBean.getInstalledCapacity()); - viewBinding.infoRl1Text3Tv.setText(dataOverBean.getPower()); - viewBinding.infoRl1FText1Tv.setText(dataOverBean.getPowerRatio()); + 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)); - viewBinding.homePageStationInfoRl2DayIc.dataTv.setText(dataOverBean.getTodayElectricity()); - viewBinding.homePageStationInfoRl2MonIc.dataTv.setText(dataOverBean.getMonthElectricity()); - viewBinding.homePageStationInfoRl2YearIc.dataTv.setText(dataOverBean.getYearElectricity()); - viewBinding.homePageStationInfoRl2CumulativeIc.dataTv.setText(dataOverBean.getTotalElectricity()); +// 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 @@ -445,21 +577,31 @@ */ 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(); + 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); + } + }); + } @Override @@ -470,7 +612,7 @@ } /** - * 鍙戠數閲忕粺璁�(鍏徃缁村害) + * 绀句細璐$尞(鍏徃缁村害) */ private void getSocialContribution() { HdlPowerStationDataStatisticsLogic.getInstance().getSocialContribution(new CloudCallBeak<SocialContributionBean>() { @@ -479,9 +621,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(socialContributionBean.getTreePlanting())); } @Override @@ -492,49 +634,4 @@ } - /** - * 鑾峰彇褰撳墠绯荤粺鏃ユ湡鏃堕棿鎴� - * - * @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; - } - - -} \ No newline at end of file +} -- Gitblit v1.8.0