package com.hdl.photovoltaic.ui.home; 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.util.Log; 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; 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.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.lang.ref.WeakReference; import java.util.Calendar; import java.util.Date; import java.util.List; /** * 首页模块 */ public class HomePageFragment extends CustomBaseFragment implements AAChartView.AAChartViewCallBack { FragmentHomePageBinding viewBinding; 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 public Object getContentView() { viewBinding = FragmentHomePageBinding.inflate(getLayoutInflater()); return viewBinding.getRoot(); } @Override public void onBindView(Bundle savedInstanceState) { //初始化 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 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_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); 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_66FFFFFF)); viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_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_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.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_66FFFFFF)); 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.drawable.time_selected_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_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(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_66FFFFFF)); 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.drawable.time_selected_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); 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 void selectedTimePickerBuilder() { 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; } 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文字,false则每项item全部都带有label。 .isDialog(false)//是否显示为对话框样式 .setItemVisibleCount(7)//对话框高度 .setDividerColor(_mActivity.getColor(R.color.text_E1E1E1)).setLineSpacingMultiplier(3f)// .build(); pvTime.show(); } /** * 图表加载 */ private void setUpAAChartView(boolean needDelay) { 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_drawChartWithChartOptions(aaChartModel.aa_toAAOptions()); } @Override public void onDestroy() { super.onDestroy(); } 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); viewBinding.autoSizeMyAAChart.setBackgroundColor(_mActivity.getColor(R.color.text_FF1C1C1E)); setUpAAChartView(true);//图表加载 } @Override public void chartViewDidFinishLoad(AAChartView aaChartView) { } @Override public void chartViewMoveOverEventMessage(AAChartView aaChartView, AAMoveOverEventMessageModel messageModel) { } @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onEventMessage(BaseEventBus eventBus) { super.onEventMessage(eventBus); if (eventBus == null) { return; } //接收外部点击事件 if (eventBus.getTopic().equals(ConstantManage.homepage_title_tab_switch)) { if (eventBus.getType().equals(HomepageTitleTabSwitch.homepage.toString())) { // 取消粘性事件 EventBus.getDefault().removeStickyEvent(eventBus); HdlLogLogic.print("正在点击【首页】"); } } } /** * 电站状态概览 */ private void getStatusOverview() { HdlResidenceLogic.getInstance().getStatusOverview(new CloudCallBeak() { @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) { } }); } /** * 获取统计概览数据(公司维度) */ private void getDataOver() { HdlPowerStationDataStatisticsLogic.getInstance().getDataOver(new CloudCallBeak() { @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); // // 创建一个ForegroundColorSpan对象,参数是颜色值 // 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) { } }); } /** * 发电量统计(公司维度) */ private void getStatistics() { String currDate = viewBinding.yearMonthDayTv.getText().toString(); HdlPowerStationDataStatisticsLogic.getInstance().getStatistics(timeType, currDate, new CloudCallBeak>() { @Override public void onSuccess(List 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); } }); } @Override public void onFailure(HDLException e) { } }); } /** * 社会贡献(公司维度) */ private void getSocialContribution() { HdlPowerStationDataStatisticsLogic.getInstance().getSocialContribution(new CloudCallBeak() { @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) { } }); } }