From 43c0a28db7e43959561036dbde0eb5cb37a7e324 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 10 五月 2024 18:25:40 +0800 Subject: [PATCH] 2024年05月10日18:25:29 --- app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java | 671 ++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 432 insertions(+), 239 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 283afbf..58309c2 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,62 +1,15 @@ package com.hdl.photovoltaic.ui.home; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.adjustYAxisMaxAndMinValues; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureAreaChartThreshold; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureChartWithShadowStyle; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureColorfulChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureColorfulColumnChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureColorfulDataLabelsStepLineChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureColorfulGradientAreaChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureColorfulGradientColorAndColorfulDataLabelsStepAreaChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureColorfulGradientColorChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureColorfulGradientSplineChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureColorfulShadowSplineChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureDiscontinuousDataChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureGradientColorAreasplineChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureHexagonRadarChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureMaxAndMinDataLabelsForChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureMultiLevelStopsArrGradientColorAreasplineMixedLineChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureNightingaleRoseChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configurePentagonRadarChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureQuadrangleRadarChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureSpecialStyleColumnForNegativeDataMixedPositiveData; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureSpecialStyleColumnOfSingleDataElementChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureSpecialStyleMarkerOfSingleDataElementChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.configureTriangleRadarChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.connectNullsForSingleAASeriesElement; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.customAreasplineChartWithColorfulGradientColorZones; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.customBarChartHoverColorAndSelectColor; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.customChartHoverAndSelectHaloStyle; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.customColumnChartBorderStyleAndStatesHoverColor; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.customLineChartMarkerSymbolContent; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.customLineChartWithColorfulMarkersAndLines; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.customLineChartWithColorfulMarkersAndLines2; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.customNormalStackingChartDataLabelsContentAndStyle; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.customScatterChartMarkerSymbolContent; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.customSpecialStyleDataLabelOfSingleDataElementChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.customSplineChartMarkerStatesHoverStyle; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.customVerticalXAxisCategoriesLabelsByHTMLBreakLineTag; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.disableSomeOfLinesMouseTrackingEffect; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.disableSplineChartMarkerHoverEffect; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.doubleLayerPieChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.drawLineChartWithPointsCoordinates; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.freeStyleRoundedCornersStackingColumnChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.largeDataStackingColumnChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.lineChartsWithLargeDifferencesInTheNumberOfDataInDifferentSeriesElement; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.noMoreGroupingAndNestedColumnChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.noMoreGroupingAndOverlapEachOtherColumnChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.splineChartHoverLineWithNoChangeAndCustomMarkerStatesHoverStyle; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.topRoundedCornersStackingColumnChart; -import static com.hdl.photovoltaic.ui.home.CustomStyleChartComposer.upsideDownPyramidChart; +import static com.hdl.photovoltaic.ui.powerstation.aachart.CustomStyleChartComposer.configureColorfulColumnChart; -import android.content.Intent; -import android.graphics.Color; import android.os.Bundle; +import android.text.TextUtils; import android.view.View; -import android.view.ViewGroup; -import android.view.WindowManager; -import android.widget.Toast; + + +import androidx.appcompat.content.res.AppCompatResources; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import com.bigkoo.pickerview.builder.TimePickerBuilder; import com.bigkoo.pickerview.listener.OnTimeSelectListener; @@ -64,13 +17,24 @@ 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.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.TimeType; +import com.hdl.photovoltaic.listener.CloudCallBeak; +import com.hdl.photovoltaic.other.HdlDeviceLogic; import com.hdl.photovoltaic.other.HdlLogLogic; +import com.hdl.photovoltaic.other.HdlPowerStationDataStatisticsLogic; +import com.hdl.photovoltaic.other.HdlThreadLogic; +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.utils.TimeUtils; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import org.greenrobot.eventbus.EventBus; @@ -79,8 +43,8 @@ import java.util.Calendar; import java.util.Date; +import java.util.List; -import io.dcloud.common.util.DensityUtils; /** * 棣栭〉妯″潡 @@ -90,12 +54,16 @@ FragmentHomePageBinding viewBinding; - AAChartView aaChartView1; + AAChartView aaChartView; - AAChartModel aaChartModel1; - AAChartView aaChartView2; + AAChartModel aaChartModel; - AAChartModel aaChartModel2; + + 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 timeType = TimeType.day;//鏃堕棿绫诲瀷(榛樿锛氬ぉ) @Override @@ -106,53 +74,248 @@ @Override public void onBindView(Bundle savedInstanceState) { - viewBinding.homePageStationDataTitleTv.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - setUpAAChartView(1); - } - }); - viewBinding.yearMonthDayTv.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - timeSelectedView(); - - } - }); - timeSelectedView(); -// viewBinding.test2.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View v) { -// setUpAAChartView(2); -// } -// }); + //鍒濆鍖� + initView(); + //鍒濆鍖栫晫闈㈢洃鍚櫒 + initEvent(); + //璇诲彇鏁版嵁 + readDate(); } - private void timeSelectedView(){ + /** + * 璇诲彇鏁版嵁 + */ + private void readDate() { + HdlThreadLogic.runSubThread(new Runnable() { + @Override + public void run() { + getDataOver(); + getStatistics(); + getSocialContribution(); + + } + }); + } + + private void initEvent() { //鏃堕棿閫夋嫨鍣� - Calendar selectedDate = Calendar.getInstance(); + 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.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); + + String dataStr = TimeUtils.getDateTimestamp(getCurrentTimestamp(), getTimeDateFormat()); + 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.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); + viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_40000000)); + + 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_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.GONE); + viewBinding.v3.setVisibility(View.VISIBLE); + viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE); + String dataStr = TimeUtils.getDateTimestamp(getCurrentTimestamp(), getTimeDateFormat()); + 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.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); + viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_40000000)); + + 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.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_40000000)); + + 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()); + 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.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000)); + viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_40000000)); + + 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.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 = getTimeDateFormat(); + Calendar calendar = TimeUtils.stringToCalendar(currDate, timeDateFormat); + String time = TimeUtils.subtractDayMonthYearFromDate(calendar, 1, timeDateFormat, timeType); + viewBinding.yearMonthDayTv.setText(time); + + + } + }); + //涓嬩竴姝� + 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 = getTimeDateFormat(); + Calendar calendar = TimeUtils.stringToCalendar(currDate, timeDateFormat); + String time = TimeUtils.addDayMonthYearToDate(calendar, 1, timeDateFormat, timeType); + if (TimeUtils.stringDateToTimestamp(time, timeDateFormat) > getCurrentTimestamp()) { + HdlThreadLogic.toast(_mActivity, getString(R.string.the_query_date_is_exceeded)); + + return; + } + viewBinding.yearMonthDayTv.setText(time); + } + }); + //璁剧疆涓嬫媺绠ご棰滆壊 + 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, getTimeDateFormat()); Calendar startDate = Calendar.getInstance(); - //startDate.set(2013,1,1); - Calendar endDate = Calendar.getInstance(); - //endDate.set(2020,1,1); - - //姝g‘璁剧疆鏂瑰紡 - startDate.set(2024, 1, 1); - endDate.set(2025, 4, 25); - + Calendar endDate = TimeUtils.timestampToCalendar(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) {//閫変腑浜嬩欢鍥炶皟 -// tvTime.setText(getTime(date)); + String timeDateFormat = getTimeDateFormat(); + String time = TimeUtils.dateToString(date, timeDateFormat); + if (viewBinding.yearMonthDayTv.getText().toString().equals(time)) { + //琛ㄧず鍚屼竴涓椂闂� + return; + } + viewBinding.yearMonthDayTv.setText(time); + getStatistics(); } - }) - .setType(new boolean[]{true, false, false, false, false, false})// 榛樿鍏ㄩ儴鏄剧ず - .setCancelText("鍙栨秷")//鍙栨秷鎸夐挳鏂囧瓧 - .setSubmitText("纭畾")//纭鎸夐挳鏂囧瓧 + }).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("鏃堕棿閫夋嫨")//鏍囬鏂囧瓧 + .setTitleText(_mActivity.getString(R.string.time_selectd))//鏍囬鏂囧瓧 .setOutSideCancelable(true)//鐐瑰嚮灞忓箷锛岀偣鍦ㄦ帶浠跺閮ㄨ寖鍥存椂锛屾槸鍚﹀彇娑堟樉绀� .isCyclic(false)//鏄惁寰幆婊氬姩 .setTitleColor(_mActivity.getColor(R.color.text_90000000))//鏍囬鏂囧瓧棰滆壊 @@ -160,162 +323,66 @@ .setCancelColor(_mActivity.getColor(R.color.text_40000000))//鍙栨秷鎸夐挳鏂囧瓧棰滆壊 .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_90000000)).setDate(selectedDate)// 濡傛灉涓嶈缃殑璇濓紝榛樿鏄郴缁熸椂闂�*/ .setRangDate(startDate, endDate)//璧峰缁堟骞存湀鏃ヨ瀹� - .setLabel("骞�", "鏈�", "鏃�", "鏃�", "鍒�", "绉�")//榛樿璁剧疆涓哄勾鏈堟棩鏃跺垎绉� + .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(17)//瀵硅瘽妗嗛珮搴� - .setDividerColor(_mActivity.getColor(R.color.text_E1E1E1)) - .setDecorView(viewBinding.wwwwww) -// .setLineSpacingMultiplier(3f)// + .setItemVisibleCount(7)//瀵硅瘽妗嗛珮搴� + .setDividerColor(_mActivity.getColor(R.color.text_E1E1E1)).setLineSpacingMultiplier(3f)// .build(); pvTime.show(); } - private void setUpAAChartView(int value) { - if (value == 1) { - aaChartView1 = viewBinding.AAChartView; - aaChartView1.callBack = this; - aaChartModel1 = configureAAChartModel(); - aaChartView1.aa_drawChartWithChartModel(aaChartModel1); - } else if (value == 2) { -// aaChartView2 = viewBinding.AAChartView2; - aaChartView2.callBack = this; - aaChartModel2 = configureColorfulColumnChart();// configureTheAAChartModel("colorfulColumnChart"); - aaChartView2.aa_drawChartWithChartModel(aaChartModel2); + /** + * 鍥捐〃鍔犺浇 + */ + private void setUpAAChartView() { + aaChartView = viewBinding.AAChartView; + 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); } + aaChartView.aa_drawChartWithChartModel(aaChartModel); } - private AAChartModel configureAAChartModel() { -// Intent intent = getIntent(); - String chartType = AAChartType.Area; - int position = 0; - aaChartModel1 = BasicChartComposer.configureAreaChart(); - configureTheStyleForDifferentTypeChart(chartType, position); -// configureViewsVisibility(chartType); - return aaChartModel1; + private void initView() { + + String dataStr = TimeUtils.getDateTimestamp(getCurrentTimestamp(), getTimeDateFormat()); + 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); + + 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(HdlDeviceLogic.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_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 configureTheStyleForDifferentTypeChart(String chartType, int position) { - if ((chartType.equals(AAChartType.Area) || chartType.equals(AAChartType.Line)) - && (position == 4 || position == 5)) { - aaChartModel1 = BasicChartComposer.configureStepAreaChartAndStepLineChart(); - } else if (chartType.equals(AAChartType.Column) || chartType.equals(AAChartType.Bar)) { - - aaChartModel1 = BasicChartComposer.configureColumnChartAndBarChart(); - } else if (chartType.equals(AAChartType.Area) || chartType.equals(AAChartType.Areaspline)) { - aaChartModel1 = BasicChartComposer.configureAreaChartAndAreasplineChartStyle(chartType); - } else if (chartType.equals(AAChartType.Line) || chartType.equals(AAChartType.Spline)) { - aaChartModel1 = BasicChartComposer.configureLineChartAndSplineChartStyle(chartType); - } - aaChartModel1.chartType = chartType; - } - - private AAChartModel configureTheAAChartModel(String chartType) { - switch (chartType) { - case "colorfulChart": - return configureColorfulChart(); - case "gradientColorfulChart": - return configureColorfulGradientColorChart(); - case "discontinuousDataChart": - return configureDiscontinuousDataChart(); - case "colorfulColumnChart": - return configureColorfulColumnChart(); - case "nightingaleRoseChart": - return configureNightingaleRoseChart(); - case "chartWithShadowStyle": - return configureChartWithShadowStyle(); - case "colorfulGradientAreaChart": - return configureColorfulGradientAreaChart(); - case "colorfulGradientSplineChart": - return configureColorfulGradientSplineChart(); - case "gradientColorAreasplineChart": - return configureGradientColorAreasplineChart(); - case "SpecialStyleMarkerOfSingleDataElementChart": - return configureSpecialStyleMarkerOfSingleDataElementChart(); - case "SpecialStyleColumnOfSingleDataElementChart": - return configureSpecialStyleColumnOfSingleDataElementChart(); - case "AreaChartThreshold": - return configureAreaChartThreshold(); - case "customScatterChartMarkerSymbolContent": - return customScatterChartMarkerSymbolContent(); - case "customLineChartMarkerSymbolContent": - return customLineChartMarkerSymbolContent(); - case "TriangleRadarChart": - return configureTriangleRadarChart(); - case "QuadrangleRadarChart": - return configureQuadrangleRadarChart(); - case "PentagonRadarChart": - return configurePentagonRadarChart(); - case "HexagonRadarChart": - return configureHexagonRadarChart(); - case "adjustYAxisMaxAndMinValues": - return adjustYAxisMaxAndMinValues(); - case "customSpecialStyleDataLabelOfSingleDataElementChart": - return customSpecialStyleDataLabelOfSingleDataElementChart(); - case "customBarChartHoverColorAndSelectColor": - return customBarChartHoverColorAndSelectColor(); - case "customChartHoverAndSelectHaloStyle": - return customChartHoverAndSelectHaloStyle(); - case "customSplineChartMarkerStatesHoverStyle": - return customSplineChartMarkerStatesHoverStyle(); - case "splineChartHoverLineWithNoChangeAndCustomMarkerStatesHoverStyle": - return splineChartHoverLineWithNoChangeAndCustomMarkerStatesHoverStyle(); - case "customNormalStackingChartDataLabelsContentAndStyle": - return customNormalStackingChartDataLabelsContentAndStyle(); - case "upsideDownPyramidChart": - return upsideDownPyramidChart(); - case "doubleLayerPieChart": - return doubleLayerPieChart(); - case "disableSomeOfLinesMouseTrackingEffect": - return disableSomeOfLinesMouseTrackingEffect(); - case "configureColorfulShadowSplineChart": - return configureColorfulShadowSplineChart(); - case "configureColorfulDataLabelsStepLineChart": - return configureColorfulDataLabelsStepLineChart(); - case "configureColorfulGradientColorAndColorfulDataLabelsStepAreaChart": - return configureColorfulGradientColorAndColorfulDataLabelsStepAreaChart(); - case "disableSplineChartMarkerHoverEffect": - return disableSplineChartMarkerHoverEffect(); - case "configureMaxAndMinDataLabelsForChart": - return configureMaxAndMinDataLabelsForChart(); - case "customVerticalXAxisCategoriesLabelsByHTMLBreakLineTag": - return customVerticalXAxisCategoriesLabelsByHTMLBreakLineTag(); - case "noMoreGroupingAndOverlapEachOtherColumnChart": - return noMoreGroupingAndOverlapEachOtherColumnChart(); - case "noMoreGroupingAndNestedColumnChart": - return noMoreGroupingAndNestedColumnChart(); - case "topRoundedCornersStackingColumnChart": - return topRoundedCornersStackingColumnChart(); - case "freeStyleRoundedCornersStackingColumnChart": - return freeStyleRoundedCornersStackingColumnChart(); - case "customColumnChartBorderStyleAndStatesHoverColor": - return customColumnChartBorderStyleAndStatesHoverColor(); - case "customLineChartWithColorfulMarkersAndLines": - return customLineChartWithColorfulMarkersAndLines(); - case "customLineChartWithColorfulMarkersAndLines2": - return customLineChartWithColorfulMarkersAndLines2(); - case "drawLineChartWithPointsCoordinates": - return drawLineChartWithPointsCoordinates(); - case "configureSpecialStyleColumnForNegativeDataMixedPositiveData": - return configureSpecialStyleColumnForNegativeDataMixedPositiveData(); - case "configureMultiLevelStopsArrGradientColorAreasplineMixedLineChart": - return configureMultiLevelStopsArrGradientColorAreasplineMixedLineChart(); - case "connectNullsForSingleAASeriesElement": - return connectNullsForSingleAASeriesElement(); - case "lineChartsWithLargeDifferencesInTheNumberOfDataInDifferentSeriesElement": - return lineChartsWithLargeDifferencesInTheNumberOfDataInDifferentSeriesElement(); - case "customAreasplineChartWithColorfulGradientColorZones": - return customAreasplineChartWithColorfulGradientColorZones(); - case "largeDataStackingColumnChart": - return largeDataStackingColumnChart(); - - - } - return configureColorfulChart(); - } @Override public void chartViewDidFinishLoad(AAChartView aaChartView) { @@ -344,4 +411,130 @@ } } } + + + /** + * 鑾峰彇缁熻姒傝鏁版嵁(鍏徃缁村害) + */ + 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()); + + viewBinding.homePageStationInfoRl2DayIc.dataTv.setText(dataOverBean.getTodayElectricity()); + viewBinding.homePageStationInfoRl2MonIc.dataTv.setText(dataOverBean.getMonthElectricity()); + viewBinding.homePageStationInfoRl2YearIc.dataTv.setText(dataOverBean.getYearElectricity()); + viewBinding.homePageStationInfoRl2CumulativeIc.dataTv.setText(dataOverBean.getTotalElectricity()); + } + + @Override + public void onFailure(HDLException e) { + + } + }); + } + + /** + * 鍙戠數閲忕粺璁�(鍏徃缁村害) + */ + private void getStatistics() { + String currDate = viewBinding.yearMonthDayTv.getText().toString(); + HdlPowerStationDataStatisticsLogic.getInstance().getStatistics(currDate, timeType, 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(); + } + + @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(socialContributionBean.getCoal()); + viewBinding.socialContributionData2Tv.setText(socialContributionBean.getCo2()); + viewBinding.socialContributionData3Tv.setText(socialContributionBean.getTreePlanting()); + } + + @Override + public void onFailure(HDLException e) { + + } + }); + } + + + /** + * 鑾峰彇褰撳墠绯荤粺鏃ユ湡鏃堕棿鎴� + * + * @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