From 5dfed3cf524a2bcacc19643c9af6d9fedc182420 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期二, 06 八月 2024 09:03:12 +0800 Subject: [PATCH] 2024年08月06日09:03:10 --- app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java | 572 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 537 insertions(+), 35 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 3bc0fa3..c056421 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,24 +1,66 @@ package com.hdl.photovoltaic.ui.home; -import android.content.Intent; +import static com.hdl.photovoltaic.ui.home.aachart.CustomStyleChartComposer.configureColorfulColumnChart; + import android.os.Bundle; +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 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; +import com.bigkoo.pickerview.view.TimePickerView; import com.github.AAChartModel.AAChartCore.AAChartCreator.AAChartModel; import com.github.AAChartModel.AAChartCore.AAChartCreator.AAChartView; import com.github.AAChartModel.AAChartCore.AAChartCreator.AAMoveOverEventMessageModel; -import com.github.AAChartModel.AAChartCore.AAChartEnum.AAChartType; +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.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.util.Calendar; +import java.util.Date; +import java.util.List; + /** * 棣栭〉妯″潡 @@ -28,9 +70,16 @@ FragmentHomePageBinding viewBinding; - AAChartView aaChartView; + AutoSizeMyAAChart aaChartView; AAChartModel aaChartModel; + + + 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 @@ -41,48 +90,370 @@ @Override public void onBindView(Bundle savedInstanceState) { - setUpAAChartView(); - viewBinding.test.setOnClickListener(new View.OnClickListener() { + //鍒濆鍖� + initView(); + //鍒濆鍖栫晫闈㈢洃鍚櫒 + initEvent(); + //璇诲彇鏁版嵁 + readDate(); + } + + + /** + * 璇诲彇鏁版嵁 + */ + private void readDate() { + HdlThreadLogic.runSubThread(new Runnable() { @Override - public void onClick(View v) { + public void run() { + getStatusOverview(); + getDataOver(); + getStatistics(); + getSocialContribution(); } }); } - private void setUpAAChartView() { - aaChartView = viewBinding.AAChartView; - aaChartView.callBack = this; - aaChartModel = configureAAChartModel(); - aaChartView.aa_drawChartWithChartModel(aaChartModel); + 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.parentLl.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + HdlCommonLogic.getInstance().postEventBus(ConstantManage.station_status, PowerStationStatus.All); + + } + }); + //鏁呴殰 + viewBinding.homeFaultsIl.parentLl.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + HdlCommonLogic.getInstance().postEventBus(ConstantManage.station_status, PowerStationStatus.malfunction); + } + }); + //绂荤嚎 + viewBinding.homeOfflineIl.parentLl.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + HdlCommonLogic.getInstance().postEventBus(ConstantManage.station_status, PowerStationStatus.off); + } + }); + //寰呮帴鍏� + viewBinding.homeConnectedIl.parentLl.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + HdlCommonLogic.getInstance().postEventBus(ConstantManage.station_status, PowerStationStatus.connecting); + } + }); + //鏃堕棿閫夋嫨鍣� + viewBinding.yearMonthDayTv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + selectedTimePickerBuilder(); + + } + }); + //鏃� + 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.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); + viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); + + viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); + viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); + + viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); + viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); + + viewBinding.v1.setVisibility(View.GONE); + viewBinding.v2.setVisibility(View.VISIBLE); + viewBinding.v3.setVisibility(View.VISIBLE); + viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE); + + String dataStr = TimeUtils.getDateTimestamp(TimeUtils.getCurrentTimestamp(), TimeUtils.getTimeDateFormat(timeType)); + viewBinding.yearMonthDayTv.setText(dataStr); + getStatistics(); + + } + }); + //鏈� + 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_66000000)); + + viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494)); + viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_38C494)); + + viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); + viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); + + viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); + viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); + + viewBinding.v1.setVisibility(View.GONE); + viewBinding.v2.setVisibility(View.GONE); + viewBinding.v3.setVisibility(View.VISIBLE); + viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE); + String dataStr = TimeUtils.getDateTimestamp(TimeUtils.getCurrentTimestamp(), TimeUtils.getTimeDateFormat(timeType)); + viewBinding.yearMonthDayTv.setText(dataStr); + getStatistics(); + + + } + }); + //骞� + 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_66000000)); + + viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); + viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); + + viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494)); + viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_38C494)); + + viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); + viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); + + viewBinding.v1.setVisibility(View.VISIBLE); + viewBinding.v2.setVisibility(View.GONE); + viewBinding.v3.setVisibility(View.GONE); + viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE); + String dataStr = TimeUtils.getDateTimestamp(TimeUtils.getCurrentTimestamp(), TimeUtils.getTimeDateFormat(timeType)); + viewBinding.yearMonthDayTv.setText(dataStr); + getStatistics(); + } + }); + //鐢熷懡鏈� + viewBinding.lifeCycleTv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + 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_66000000)); + + viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); + viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); + + viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); + viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); + + viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494)); + viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_38C494)); + + viewBinding.v1.setVisibility(View.VISIBLE); + viewBinding.v2.setVisibility(View.VISIBLE); + viewBinding.v3.setVisibility(View.GONE); + viewBinding.homePageStationSelectTimeLl.setVisibility(View.GONE); + getStatistics(); + + } + }); + //涓婁竴姝� + viewBinding.lastStepClickLl.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String currDate = viewBinding.yearMonthDayTv.getText().toString(); + if (TextUtils.isEmpty(currDate)) { + return; + } + String timeDateFormat = TimeUtils.getTimeDateFormat(timeType); + Calendar calendar = TimeUtils.stringToCalendar(currDate, timeDateFormat); + String time = TimeUtils.subtractDayMonthYearFromDate(calendar, 1, timeDateFormat, timeType); + //涓嶉渶瑕侀檺鍒舵渶灏忔棩鏈燂紝鍥犱负鏄煡璇㈣处鍙蜂笅鎵�鏈夌數绔欙紝鏃犳硶鐭ラ亾鏈�灏忓缓绔欐棩鏈� + viewBinding.yearMonthDayTv.setText(time); + getStatistics(); + + } + }); + //涓嬩竴姝� + viewBinding.nextStepClickLl.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String currDate = viewBinding.yearMonthDayTv.getText().toString(); + if (TextUtils.isEmpty(currDate)) { + return; + } + String timeDateFormat = TimeUtils.getTimeDateFormat(timeType); + Calendar calendar = TimeUtils.stringToCalendar(currDate, timeDateFormat); + String time = TimeUtils.addDayMonthYearToDate(calendar, 1, timeDateFormat, timeType); + 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 AAChartModel configureAAChartModel() { -// Intent intent = getIntent(); -// String chartType = intent.getStringExtra("chartType"); -// int position = intent.getIntExtra("position", 0); + /** + * 鏃堕棿閫夋嫨鍣� + */ + private void selectedTimePickerBuilder() { - aaChartModel = BasicChartComposer.configureAreaChart(); -// configureTheStyleForDifferentTypeChart(chartType, position); -// configureViewsVisibility(chartType); - - return aaChartModel; - } - - private void configureTheStyleForDifferentTypeChart(String chartType, int position) { - if ((chartType.equals(AAChartType.Area) || chartType.equals(AAChartType.Line)) - && (position == 4 || position == 5)) { - aaChartModel = BasicChartComposer.configureStepAreaChartAndStepLineChart(); - } else if (chartType.equals(AAChartType.Column) || chartType.equals(AAChartType.Bar)) { - - aaChartModel = BasicChartComposer.configureColumnChartAndBarChart(); - } else if (chartType.equals(AAChartType.Area) || chartType.equals(AAChartType.Areaspline)) { - aaChartModel = BasicChartComposer.configureAreaChartAndAreasplineChartStyle(chartType); - } else if (chartType.equals(AAChartType.Line) || chartType.equals(AAChartType.Spline)) { - aaChartModel = BasicChartComposer.configureLineChartAndSplineChartStyle(chartType); + String currDate = viewBinding.yearMonthDayTv.getText().toString(); + //鏃堕棿閫夋嫨鍣� + Calendar selectedDate = TimeUtils.stringToCalendar(currDate, TimeUtils.getTimeDateFormat(timeType)); + Calendar startDate = Calendar.getInstance(); + 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.equals(TimeType.month)) { + day = false; + } else if (timeType.equals(TimeType.year)) { + day = false; + month = false; } - aaChartModel.chartType = chartType; + TimePickerView pvTime = new TimePickerBuilder(_mActivity, new OnTimeSelectListener() { + @Override + public void onTimeSelect(Date date, View v) {//閫変腑浜嬩欢鍥炶皟 + 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))//鍙栨秷鎸夐挳鏂囧瓧 + .setSubmitText(_mActivity.getString(R.string.loading_affirm))//纭鎸夐挳鏂囧瓧 + .setContentTextSize(18)//婊氳疆鏂囧瓧澶у皬 + .setTitleSize(18)//鏍囬鏂囧瓧澶у皬 + .setTitleText(_mActivity.getString(R.string.time_selectd))//鏍囬鏂囧瓧 + .setOutSideCancelable(true)//鐐瑰嚮灞忓箷锛岀偣鍦ㄦ帶浠跺閮ㄨ寖鍥存椂锛屾槸鍚﹀彇娑堟樉绀� + .isCyclic(false)//鏄惁寰幆婊氬姩 + .setTitleColor(_mActivity.getColor(R.color.text_E6000000))//鏍囬鏂囧瓧棰滆壊 + .setSubmitColor(_mActivity.getColor(R.color.text_38C494))//纭畾鎸夐挳鏂囧瓧棰滆壊 + .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_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銆� + .isDialog(false)//鏄惁鏄剧ず涓哄璇濇鏍峰紡 + .setItemVisibleCount(7)//瀵硅瘽妗嗛珮搴� + .setDividerColor(_mActivity.getColor(R.color.text_E1E1E1)).setLineSpacingMultiplier(3f)// + .build(); + pvTime.show(); } + + /** + * 鍥捐〃鍔犺浇 + */ + private void setUpAAChartView() { + aaChartView = viewBinding.autoSizeMyAAChart; + aaChartView.callBack = this; + 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); + + } + + private void initView() { + + + viewBinding.homeAllIl.stationTitleTv.setText(getString(R.string.message_all)); + viewBinding.homeFaultsIl.stationTitleTv.setText(getString(R.string.my_power_station_malfunction)); + 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(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.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.unitTv.setText(UnitType.kW); + 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_66000000)); + viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); + viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); + viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); + viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66000000)); + viewBinding.v1.setVisibility(View.GONE); + viewBinding.v2.setVisibility(View.VISIBLE); + viewBinding.v3.setVisibility(View.VISIBLE); + viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE); + setUpAAChartView();//鍥捐〃鍔犺浇 + } + @Override public void chartViewDidFinishLoad(AAChartView aaChartView) { @@ -107,8 +478,139 @@ // 鍙栨秷绮樻�т簨浠� 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.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 + 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_191919)); + spannableString.setSpan(colorSpan, startIndex, endIndex, 0); + + viewBinding.infoRl1FText1Tv.setText(spannableString); + + 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())); + } + }); + } + + @Override + public void onFailure(HDLException e) { + + } + }); + } + + /** + * 鍙戠數閲忕粺璁�(鍏徃缁村害) + */ + 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(); + } + }); + + } + + @Override + public void onFailure(HDLException e) { + + } + }); + } + + /** + * 绀句細璐$尞(鍏徃缁村害) + */ + 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