From 3a70ebddb80aa8420af1da25d19ef6b4aea9dc72 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 28 十一月 2024 19:45:08 +0800
Subject: [PATCH] 2024年11月28日19:45:06

---
 app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java |  352 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 220 insertions(+), 132 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..6fd51e8 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,21 @@
 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.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;
 
@@ -18,23 +26,31 @@
 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;
@@ -54,13 +70,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 +96,8 @@
         initEvent();
         //璇诲彇鏁版嵁
         readDate();
-
     }
+
 
     /**
      * 璇诲彇鏁版嵁
@@ -90,6 +106,7 @@
         HdlThreadLogic.runSubThread(new Runnable() {
             @Override
             public void run() {
+                getStatusOverview();
                 getDataOver();
                 getStatistics();
                 getSocialContribution();
@@ -99,6 +116,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 +170,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 +204,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 +238,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 +270,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 +300,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 +317,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 +338,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 +367,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 +384,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銆�
@@ -338,44 +404,45 @@
      * 鍥捐〃鍔犺浇
      */
     private void setUpAAChartView() {
-        aaChartView = viewBinding.AAChartView;
+        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);
+
     }
 
     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);
@@ -407,9 +474,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.stationOfflineTitleTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getOffline()));
+                viewBinding.stationConnectedTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getConnecting()));
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+
+            }
+        });
     }
 
 
@@ -417,20 +507,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 +568,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();
+                    }
+                });
+
             }
 
             @Override
@@ -470,7 +603,7 @@
     }
 
     /**
-     * 鍙戠數閲忕粺璁�(鍏徃缁村害)
+     * 绀句細璐$尞(鍏徃缁村害)
      */
     private void getSocialContribution() {
         HdlPowerStationDataStatisticsLogic.getInstance().getSocialContribution(new CloudCallBeak<SocialContributionBean>() {
@@ -479,9 +612,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
@@ -489,51 +622,6 @@
 
             }
         });
-    }
-
-
-    /**
-     * 鑾峰彇褰撳墠绯荤粺鏃ユ湡鏃堕棿鎴�
-     *
-     * @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;
     }
 
 

--
Gitblit v1.8.0