From 7fdae87bc3de46b5b012f8987c6902cd8b054323 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 16 五月 2024 18:17:11 +0800
Subject: [PATCH] 2024年05月16日18:17:09

---
 app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java                         |    8 
 app/src/main/res/layout/item_station.xml                                             |   65 ++++--
 app/src/main/res/drawable/module_13_ffffff.xml                                       |    7 
 app/src/main/java/com/hdl/photovoltaic/other/HdlPowerStationDataStatisticsLogic.java |   20 +
 app/src/main/res/layout/activity_my_power_station.xml                                |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java                 |   56 +++++
 app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatus.java                 |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java               |   13 
 app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java                 |   70 +++++-
 app/src/main/res/layout/fragment_home_page.xml                                       |  162 +++-------------
 app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatusType.java             |    9 
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java    |   10 +
 app/src/main/res/layout/item_data.xml                                                |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/bean/DataOverBean.java                     |    3 
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java        |  105 ++++-----
 app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java                     |   33 ++
 16 files changed, 316 insertions(+), 251 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatus.java b/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatus.java
index 9ede726..bfed333 100644
--- a/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatus.java
+++ b/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatus.java
@@ -6,5 +6,5 @@
     String off = "2";//绂荤嚎
     String connecting = "3";//杩炴帴涓�(寰呮帴鍏�)
     String malfunction = "4";//鏁呴殰
-    String off_malfunction = "4";//绂荤嚎鏈夋晠闅�
+    String off_malfunction = "5";//绂荤嚎鏈夋晠闅�
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatusType.java b/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatusType.java
new file mode 100644
index 0000000..720e8c1
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatusType.java
@@ -0,0 +1,9 @@
+package com.hdl.photovoltaic.enums;
+
+public interface PowerStationStatusType {
+
+    String All = "1";//鍏ㄩ儴
+    String off = "2";//绂荤嚎
+    String connecting = "3";//杩炴帴涓�(寰呮帴鍏�)
+    String malfunction = "4";//鏁呴殰
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
index a83dc73..59c99f1 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -44,6 +44,8 @@
 
 
 import java.lang.reflect.Type;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -76,7 +78,34 @@
     public static final String kWh = "kW.h";
 
     public static final String kW = "kW";
+    public static final String noValue = "0.00";
+
     private List<DeviceBean> mListDevice = new ArrayList<>();
+
+    public static String getConvertDoubleUnit(String value) {
+        if (TextUtils.isEmpty(value)) {
+            return noValue + kWh;
+        }
+        BigDecimal formattedValue = getBigDecimal(value);
+        return formattedValue + kWh;
+
+    }
+
+    public static String getConvertDoubleUnit(int value) {
+        if (value == 0) {
+            return noValue + kWh;
+        }
+        BigDecimal formattedValue = getBigDecimal(value + "");
+        return formattedValue + kWh;
+    }
+
+    private static BigDecimal getBigDecimal(String value) {
+        if (TextUtils.isEmpty(value)) {
+            return new BigDecimal(0);
+        }
+        double doubleValue = Double.parseDouble(value);
+        return BigDecimal.valueOf(doubleValue).setScale(2, RoundingMode.HALF_UP);
+    }
 
     public void clearDeviceList() {
         if (mListDevice == null) {
@@ -212,7 +241,6 @@
             }
         });
     }
-
 
 
     /**
@@ -1351,9 +1379,6 @@
             }
         });
     }
-
-
-
 
 
     /**
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlPowerStationDataStatisticsLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlPowerStationDataStatisticsLogic.java
index b7475f0..2976c31 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlPowerStationDataStatisticsLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlPowerStationDataStatisticsLogic.java
@@ -6,7 +6,6 @@
 import com.google.gson.JsonObject;
 import com.google.gson.reflect.TypeToken;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
-import com.hdl.photovoltaic.enums.TimeType;
 import com.hdl.photovoltaic.internet.HttpClient;
 import com.hdl.photovoltaic.internet.api.HttpApi;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
@@ -52,15 +51,18 @@
         HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
             @Override
             public void onSuccess(String jsonStr) {
-                if (TextUtils.isEmpty(jsonStr)) {
-                    if (cloudCallBeak != null) {
-                        cloudCallBeak.onSuccess(null);
+                try {
+                    if (TextUtils.isEmpty(jsonStr)) {
+                        if (cloudCallBeak != null) {
+                            cloudCallBeak.onSuccess(new DataOverBean());
+                        }
                     }
-                }
-                Gson gson = new Gson();
-                DataOverBean dataOverBean = gson.fromJson(jsonStr, DataOverBean.class);
-                if (cloudCallBeak != null) {
-                    cloudCallBeak.onSuccess(dataOverBean);
+                    Gson gson = new Gson();
+                    DataOverBean dataOverBean = gson.fromJson(jsonStr, DataOverBean.class);
+                    if (cloudCallBeak != null) {
+                        cloudCallBeak.onSuccess(dataOverBean);
+                    }
+                } catch (Exception ignored) {
                 }
             }
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
index 4276a36..3425d20 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
@@ -7,6 +7,7 @@
 import androidx.fragment.app.FragmentTransaction;
 
 import android.Manifest;
+import android.annotation.SuppressLint;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
@@ -17,6 +18,7 @@
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.view.View;
+import android.widget.TextView;
 
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
@@ -34,6 +36,7 @@
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlDeviceLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlMessageLogic;
 import com.hdl.photovoltaic.other.HdlMqttLogic;
 import com.hdl.photovoltaic.other.HdlOtaLogic;
 import com.hdl.photovoltaic.other.HdlResidenceLogic;
@@ -41,6 +44,7 @@
 import com.hdl.photovoltaic.other.HdlUniLogic;
 import com.hdl.photovoltaic.ui.bean.DeviceRemoteInfo;
 import com.hdl.photovoltaic.ui.bean.OidBean;
+import com.hdl.photovoltaic.ui.bean.UnCountBean;
 import com.hdl.photovoltaic.ui.home.HomePageFragment;
 import com.hdl.photovoltaic.ui.me.MeFragment;
 import com.hdl.photovoltaic.ui.message.MessageFragment;
@@ -113,6 +117,8 @@
         this.clickJpushNotificationMessage();
         //鍒濆鍖栨潈闄�
         this.requestPermissions();
+        //璇诲彇娑堟伅鏈鏁伴噺
+        this.getUnreadCount();
 
     }
 
@@ -635,6 +641,56 @@
     }
 
     /**
+     * 璇诲彇娑堟伅銆愭湭璇绘暟閲�,鏈鐞嗘�绘暟閲忥紝宸插鐞嗘�绘暟閲忋��
+     */
+    private void getUnreadCount() {
+        HdlMessageLogic.getInstance().getMessageUntreatedCount("", new CloudCallBeak<UnCountBean>() {
+            @Override
+            public void onSuccess(UnCountBean unCountBean) {
+
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        if (unCountBean == null) {
+                            return;
+                        }
+                        //鍒锋柊銆愭秷鎭ā鍧椼�戜笅瑙掓爣鏁板��
+                        TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
+                        if (textView != null) {
+                            if (unCountBean.getUnreadCount() == 0) {
+                                textView.setVisibility(View.GONE);
+                            } else {
+                                textView.setVisibility(View.VISIBLE);
+                                if (unCountBean.getUnreadCount() > 99) {
+                                    textView.setText("99+");
+                                } else {
+                                    textView.setText(unCountBean.getUnreadCount() + "");
+                                }
+                            }
+                        }
+                    }
+
+                });
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
+                        if (textView != null) {
+                            textView.setVisibility(View.GONE);
+                        }
+                    }
+                });
+
+            }
+        });
+    }
+
+
+    /**
      * 鐐瑰嚮鏋佸厜閫氱煡鏍忔秷鎭繘鏉�
      */
     private void clickJpushNotificationMessage() {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
index 61338b8..f1d023e 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
@@ -234,10 +234,10 @@
                 HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
                     @Override
                     public void onSuccess(HDLUserRegionBean obj) {
-                        //String APP_REGIONURL_TEST = "http://47.114.131.143:27199";
-                        //AppConfigManage.setUserRegionUrl(APP_REGIONURL_TEST);
+                        String APP_REGIONURL_TEST = "http://47.114.131.143:27199";
+                        AppConfigManage.setUserRegionUrl(APP_REGIONURL_TEST);
                         //鍒濆鍖栨湇鍔″煙鍚�
-                        AppConfigManage.setUserRegionUrl(obj.getRegionUrl());
+//                        AppConfigManage.setUserRegionUrl(obj.getRegionUrl());
                         HDLLinkPMUser.getInstance().setUserRegionUrl(AppConfigManage.getUserRegionUrl());
                         HdlAccountLogic.getInstance().loginByPassword(account, password, new ILoginCallBack() {
                             @Override
@@ -562,8 +562,6 @@
         viewBinding.homeLoginAccountEt.removeTextChangedListener(accountTextWatcher);
         viewBinding.homeLoginPasswordEt.removeTextChangedListener(passwordTextWatcher);
     }
-
-
 
 
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/DataOverBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/DataOverBean.java
index 23fde4d..5c9e506 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/DataOverBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/DataOverBean.java
@@ -6,7 +6,6 @@
  * 缁熻姒傝鏁版嵁瀹炰綋绫�
  */
 public class DataOverBean implements Serializable {
-
     private String installedCapacity;//瑁呮満瀹归噺
     private String power;//鍙戠數鍔熺巼
     private String powerRatio;//鍙戠數鍔熺巼鍗犳瘮(褰撴棩鍙戠數鍔熺巼/瑁呮満瀹归噺 * 100%	)
@@ -32,7 +31,7 @@
     }
 
     public String getPowerRatio() {
-        return powerRatio == null ? "" : getPowerRatio();
+        return powerRatio == null ? "" : powerRatio;
     }
 
     public void setPowerRatio(String powerRatio) {
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 0b72e9d..c048c81 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
@@ -29,11 +29,15 @@
 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.sdk.link.core.bean.eventbus.BaseEventBus;
 
@@ -91,6 +95,7 @@
         HdlThreadLogic.runSubThread(new Runnable() {
             @Override
             public void run() {
+                getStatusOverview();
                 getDataOver();
                 getStatistics();
                 getSocialContribution();
@@ -100,6 +105,13 @@
     }
 
     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.yearMonthDayTv.setOnClickListener(new View.OnClickListener() {
             @Override
@@ -356,6 +368,12 @@
 
     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(getCurrentTimestamp(), getTimeDateFormat());
         viewBinding.yearMonthDayTv.setText(dataStr);
 
@@ -363,7 +381,7 @@
         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 + ")";
+        String generation = getString(R.string.generation) + "(" + HdlDeviceLogic.kWh + ")";
         viewBinding.homePageStationInfoRl1TitleTv.setText(generation);
 
         viewBinding.homePageStationInfoRl2DayIc.dataTypeTv.setText(R.string.day_power_generation);
@@ -416,6 +434,29 @@
         }
     }
 
+    /**
+     * 鐢电珯鐘舵�佹瑙�
+     */
+    private void getStatusOverview() {
+        HdlResidenceLogic.getInstance().getStatusOverview(new CloudCallBeak<StatusOverviewBean>() {
+            @Override
+            public void onSuccess(StatusOverviewBean statusOverviewBean) {
+                if (statusOverviewBean == null) {
+                    return;
+                }
+                viewBinding.homeAllIl.stationTotalTv.setText(statusOverviewBean.getTotal() + "");
+                viewBinding.homeFaultsIl.stationTotalTv.setText(statusOverviewBean.getFault() + "");
+                viewBinding.homeOfflineIl.stationTotalTv.setText(statusOverviewBean.getOffline() + "");
+                viewBinding.homeConnectedIl.stationTotalTv.setText(statusOverviewBean.getConnecting() + "");
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+
+            }
+        });
+    }
+
 
     /**
      * 鑾峰彇缁熻姒傝鏁版嵁(鍏徃缁村害)
@@ -424,17 +465,22 @@
         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(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getInstalledCapacity()));
+                        viewBinding.infoRl1Text3Tv.setText(HdlDeviceLogic.getConvertDoubleUnit(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());
+                        viewBinding.homePageStationInfoRl2DayIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getTodayElectricity()));
+                        viewBinding.homePageStationInfoRl2MonIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getMonthElectricity()));
+                        viewBinding.homePageStationInfoRl2YearIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getYearElectricity()));
+                        viewBinding.homePageStationInfoRl2CumulativeIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getTotalElectricity()));
+                    }
+                });
             }
 
             @Override
@@ -474,7 +520,7 @@
     }
 
     /**
-     * 鍙戠數閲忕粺璁�(鍏徃缁村害)
+     * 绀句細璐$尞(鍏徃缁村害)
      */
     private void getSocialContribution() {
         HdlPowerStationDataStatisticsLogic.getInstance().getSocialContribution(new CloudCallBeak<SocialContributionBean>() {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
index 466190d..5384da5 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
@@ -495,10 +495,15 @@
 
             @Override
             public void onFailure(HDLException e) {
-                TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
-                if (textView != null) {
-                    textView.setVisibility(View.GONE);
-                }
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
+                        if (textView != null) {
+                            textView.setVisibility(View.GONE);
+                        }
+                    }
+                });
             }
         });
     }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java
index 8564260..aa5901a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java
@@ -73,6 +73,16 @@
         }
     }
 
+    @Override
+    public void onBackPressed() {
+        super.onBackPressed();
+        BaseEventBus baseEventBus = new BaseEventBus();
+        baseEventBus.setTopic(ConstantManage.homepage_title_tab_switch);
+        baseEventBus.setType(HomepageTitleTabSwitch.powerstation.toString());
+        EventBus.getDefault().post(baseEventBus);
+        finish();
+    }
+
     private void initEvent() {
         //杩斿洖鎸夐挳
         viewBinding.toolbarTopFragmentHouseListRl.topBackLl.setOnClickListener(new View.OnClickListener() {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
index c912953..0fa9abd 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -88,6 +88,9 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
+        //鏀惧湪杩欓噷涔熷锛岃繖閲屽彧鏄鍒涘缓涓�娆�
+//        loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
+//        getStatusOverview();
         initData();
         //鍒濆鍖�
         initView();
@@ -494,8 +497,13 @@
             //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
             if (eventBus.getType().equals(HomepageTitleTabSwitch.powerstation.toString())) {
                 HdlLogLogic.print("姝e湪鐐瑰嚮銆愮數绔欍��");
+//                HdlThreadLogic.runSubThread(new Runnable() {
+//                    @Override
+//                    public void run() {
                 loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
                 getStatusOverview();
+//                    }
+//                });
 
             }
         }
@@ -541,15 +549,7 @@
      * @param pageNo               椤电爜
      * @param isClear              鏄惁娓呴櫎鏁版嵁
      */
-    private void loadNextPageHouseList(boolean isRefreshing,
-                                       String key,
-                                       String keyValue,
-                                       String installedCapacityMin,
-                                       String installedCapacityMax,
-                                       String gridType,
-                                       String powerStationStatus,
-                                       long pageNo,
-                                       boolean isClear) {
+    private void loadNextPageHouseList(boolean isRefreshing, String key, String keyValue, String installedCapacityMin, String installedCapacityMax, String gridType, String powerStationStatus, long pageNo, boolean isClear) {
         if (isClear) {
             clearData();
         }
@@ -565,57 +565,50 @@
         }
 
         //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃
-        HdlResidenceLogic.getInstance().getResidenceIdList(
-                key,
-                keyValue,
-                installedCapacityMin,
-                installedCapacityMax,
-                gridType,
-                powerStationStatus,
-                pageNo, pageSize, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() {
+        HdlResidenceLogic.getInstance().getResidenceIdList(key, keyValue, installedCapacityMin, installedCapacityMax, gridType, powerStationStatus, pageNo, pageSize, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() {
+            @Override
+            public void onSuccess(HdlResidenceLogic.HouseBeanClass houseBeanClass) {
+                HdlThreadLogic.runMainThread(new Runnable() {
                     @Override
-                    public void onSuccess(HdlResidenceLogic.HouseBeanClass houseBeanClass) {
-                        HdlThreadLogic.runMainThread(new Runnable() {
-                            @Override
-                            public void run() {
-                                if (isRefreshing) {
-                                    hideLoading();
-                                }
-                                isHouseLoadingMore = false;
-                                if (houseBeanClass != null) {
-                                    currentHouseListTotal = (int) houseBeanClass.getTotalPage();
-                                    currentHouseListPage = (int) houseBeanClass.getPageNo();
-                                    //鏇存柊缂撳瓨
-                                    HdlResidenceLogic.getInstance().setHouseIdList(houseBeanClass.getList());
-                                    if (houseInfoAdapter != null) {
-                                        initData();
-                                        //鏇存柊UI
-                                        houseInfoAdapter.setList(houseListBeanIDList);
-                                    }
-                                }
-                                nullDataUpdateUi();
+                    public void run() {
+                        if (isRefreshing) {
+                            hideLoading();
+                        }
+                        isHouseLoadingMore = false;
+                        if (houseBeanClass != null) {
+                            currentHouseListTotal = (int) houseBeanClass.getTotalPage();
+                            currentHouseListPage = (int) houseBeanClass.getPageNo();
+                            //鏇存柊缂撳瓨
+                            HdlResidenceLogic.getInstance().setHouseIdList(houseBeanClass.getList());
+                            if (houseInfoAdapter != null) {
+                                initData();
+                                //鏇存柊UI
+                                houseInfoAdapter.setList(houseListBeanIDList);
                             }
-                        }, _mActivity, ShowErrorMode.YES);
+                        }
+                        nullDataUpdateUi();
+                    }
+                }, _mActivity, ShowErrorMode.YES);
+
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        if (currentHouseListPage > 1) {
+                            --currentHouseListPage;
+                        }
+                        isHouseLoadingMore = false;
+                        if (isRefreshing) {
+                            hideLoading();
+                        }
 
                     }
-
-                    @Override
-                    public void onFailure(HDLException e) {
-                        HdlThreadLogic.runMainThread(new Runnable() {
-                            @Override
-                            public void run() {
-                                if (currentHouseListPage > 1) {
-                                    --currentHouseListPage;
-                                }
-                                isHouseLoadingMore = false;
-                                if (isRefreshing) {
-                                    hideLoading();
-                                }
-
-                            }
-                        }, _mActivity, ShowErrorMode.YES);
-                    }
-                });
+                }, _mActivity, ShowErrorMode.YES);
+            }
+        });
     }
 
     /**
diff --git a/app/src/main/res/drawable/module_13_ffffff.xml b/app/src/main/res/drawable/module_13_ffffff.xml
new file mode 100644
index 0000000..b8a9c24
--- /dev/null
+++ b/app/src/main/res/drawable/module_13_ffffff.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/text_FFFFFFFF" />
+    <corners
+        android:topLeftRadius="@dimen/dp_13"
+        android:topRightRadius="@dimen/dp_13" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_my_power_station.xml b/app/src/main/res/layout/activity_my_power_station.xml
index 20a2b11..1380c78 100644
--- a/app/src/main/res/layout/activity_my_power_station.xml
+++ b/app/src/main/res/layout/activity_my_power_station.xml
@@ -22,7 +22,7 @@
         android:id="@+id/my_power_station_bottom_ll"
         android:layout_width="match_parent"
         android:layout_height="@dimen/dp_49"
-        android:background="@color/text_FFFFFFFF"
+        android:background="@drawable/module_13_ffffff"
         android:orientation="horizontal"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/fragment_home_page.xml b/app/src/main/res/layout/fragment_home_page.xml
index 4cd5ea9..193afad 100644
--- a/app/src/main/res/layout/fragment_home_page.xml
+++ b/app/src/main/res/layout/fragment_home_page.xml
@@ -45,147 +45,43 @@
 
             <androidx.constraintlayout.widget.ConstraintLayout
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="@dimen/dp_16"
-                android:layout_marginEnd="@dimen/dp_16">
+                android:layout_height="wrap_content">
 
-                <RelativeLayout
+                <!--鏉′欢绛涢��-->
+                <LinearLayout
                     android:id="@+id/home_page_station_ll"
                     android:layout_width="0dp"
                     android:layout_height="@dimen/dp_56"
+                    android:layout_marginStart="@dimen/dp_16"
+                    android:orientation="horizontal"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
                     app:layout_constraintTop_toTopOf="parent">
 
-                    <RelativeLayout
-                        android:id="@+id/station_status_all_rl"
-                        android:layout_width="74dp"
-                        android:layout_height="match_parent"
-                        android:background="@drawable/station_status_no_ffffff">
+                    <include
+                        android:id="@+id/home_all_il"
+                        layout="@layout/item_station" />
 
-                        <TextView
-                            android:id="@+id/station_status_all_tv"
-                            android:layout_width="match_parent"
-                            android:layout_height="@dimen/dp_25"
-                            android:layout_marginTop="7dp"
-                            android:gravity="center"
-                            android:text="999"
-                            android:textColor="@color/text_E6000000"
-                            android:textSize="@dimen/text_21"
-                            android:textStyle="bold" />
+                    <include
+                        android:id="@+id/home_faults_il"
+                        layout="@layout/item_station" />
 
-                        <TextView
-                            android:id="@+id/station_status_number_all_tv"
-                            android:layout_width="match_parent"
-                            android:layout_height="@dimen/dp_17"
-                            android:layout_below="@+id/station_status_all_tv"
-                            android:layout_marginTop="1dp"
-                            android:gravity="center"
-                            android:text="state"
-                            android:textColor="@color/text_66000000"
-                            android:textSize="@dimen/text_14" />
-                    </RelativeLayout>
+                    <include
+                        android:id="@+id/home_offline_il"
+                        layout="@layout/item_station" />
 
-                    <RelativeLayout
-                        android:id="@+id/station_status_faults_rl"
-                        android:layout_width="74dp"
-                        android:layout_height="match_parent"
-                        android:layout_marginStart="@dimen/dp_16"
-                        android:layout_toEndOf="@+id/station_status_all_rl"
-                        android:background="@drawable/station_status_no_ffffff">
+                    <include
+                        android:id="@+id/home_connected_il"
+                        layout="@layout/item_station" />
 
-                        <TextView
-                            android:id="@+id/station_status_faults_tv"
-                            android:layout_width="match_parent"
-                            android:layout_height="@dimen/dp_25"
-                            android:layout_marginTop="7dp"
-                            android:gravity="center"
-                            android:text="999"
-                            android:textColor="@color/text_E6000000"
-                            android:textSize="@dimen/text_21"
-                            android:textStyle="bold" />
-
-                        <TextView
-                            android:id="@+id/station_status_number_faults_tv"
-                            android:layout_width="match_parent"
-                            android:layout_height="@dimen/dp_17"
-                            android:layout_below="@+id/station_status_faults_tv"
-                            android:layout_marginTop="1dp"
-                            android:gravity="center"
-                            android:text="state"
-                            android:textColor="@color/text_66000000"
-                            android:textSize="@dimen/text_14" />
-                    </RelativeLayout>
-
-                    <RelativeLayout
-                        android:id="@+id/station_status_off_rl"
-                        android:layout_width="74dp"
-                        android:layout_height="match_parent"
-                        android:layout_marginStart="@dimen/dp_16"
-                        android:layout_toEndOf="@+id/station_status_faults_rl"
-                        android:background="@drawable/station_status_no_ffffff">
-
-                        <TextView
-                            android:id="@+id/station_status_off_tv"
-                            android:layout_width="match_parent"
-                            android:layout_height="@dimen/dp_25"
-                            android:layout_marginTop="7dp"
-                            android:gravity="center"
-                            android:text="999"
-                            android:textColor="@color/text_E6000000"
-                            android:textSize="@dimen/text_21"
-                            android:textStyle="bold" />
-
-                        <TextView
-                            android:id="@+id/station_status_number_off_tv"
-                            android:layout_width="match_parent"
-                            android:layout_height="@dimen/dp_17"
-                            android:layout_below="@+id/station_status_off_tv"
-                            android:layout_marginTop="1dp"
-                            android:gravity="center"
-                            android:text="state"
-                            android:textColor="@color/text_66000000"
-                            android:textSize="@dimen/text_14" />
-                    </RelativeLayout>
-
-                    <RelativeLayout
-                        android:id="@+id/station_status_connected_rl"
-                        android:layout_width="74dp"
-                        android:layout_height="match_parent"
-                        android:layout_marginStart="@dimen/dp_16"
-                        android:layout_toEndOf="@+id/station_status_off_rl"
-                        android:background="@drawable/station_status_no_ffffff">
-
-                        <TextView
-                            android:id="@+id/station_status_connected_tv"
-                            android:layout_width="match_parent"
-                            android:layout_height="@dimen/dp_25"
-                            android:layout_marginTop="7dp"
-                            android:gravity="center"
-                            android:text="999"
-                            android:textColor="@color/text_E6000000"
-                            android:textSize="@dimen/text_21"
-                            android:textStyle="bold" />
-
-                        <TextView
-                            android:id="@+id/station_status_number_connected_tv"
-                            android:layout_width="match_parent"
-                            android:layout_height="@dimen/dp_17"
-                            android:layout_below="@+id/station_status_connected_tv"
-                            android:layout_marginTop="1dp"
-                            android:gravity="center"
-                            android:text="state"
-                            android:textColor="@color/text_66000000"
-                            android:textSize="@dimen/text_14" />
-                    </RelativeLayout>
-
-
-                </RelativeLayout>
-
+                </LinearLayout>
+                <!--瑁呮満瀹归噺 鍙戠數鍔熺巼鏁版嵁鏄剧ず-->
                 <androidx.constraintlayout.widget.ConstraintLayout
                     android:id="@+id/home_page_station_info_cl"
                     android:layout_width="0dp"
                     android:layout_height="312dp"
+                    android:layout_marginStart="@dimen/dp_16"
+                    android:layout_marginEnd="@dimen/dp_16"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
                     app:layout_constraintTop_toBottomOf="@+id/home_page_station_ll">
@@ -237,7 +133,7 @@
                             android:layout_marginStart="@dimen/dp_16"
                             android:layout_marginTop="@dimen/dp_21"
                             android:layout_toEndOf="@+id/home_page_station_info_rl1_f"
-                            android:text="33333333" />
+                            android:text="0.00kW.h" />
 
                         <TextView
                             android:id="@+id/info_rl1_text2_tv"
@@ -257,7 +153,7 @@
                             android:layout_below="@+id/info_rl1_text2_tv"
                             android:layout_alignStart="@+id/info_rl1_text1_tv"
                             android:layout_marginTop="@dimen/dp_16"
-                            android:text="33333" />
+                            android:text="0.00kW.h" />
 
                         <TextView
                             android:id="@+id/info_rl1_text4_tv"
@@ -350,6 +246,8 @@
                     android:id="@+id/home_page_station_data_cl"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
+                    android:layout_marginStart="@dimen/dp_16"
+                    android:layout_marginEnd="@dimen/dp_16"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
                     app:layout_constraintTop_toBottomOf="@+id/home_page_station_info_cl">
@@ -559,12 +457,14 @@
                             />
                     </FrameLayout>
                 </androidx.constraintlayout.widget.ConstraintLayout>
-
+                <!--绀句細璐$尞鏄剧ず-->
                 <androidx.constraintlayout.widget.ConstraintLayout
                     android:id="@+id/home_page_station_statistics_cl"
                     android:layout_width="match_parent"
                     android:layout_height="186dp"
+                    android:layout_marginStart="@dimen/dp_16"
                     android:layout_marginTop="@dimen/dp_26"
+                    android:layout_marginEnd="@dimen/dp_16"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
                     app:layout_constraintTop_toBottomOf="@+id/home_page_station_data_cl">
@@ -629,7 +529,7 @@
                             android:layout_alignParentTop="true"
                             android:layout_marginStart="@dimen/dp_10"
                             android:layout_marginTop="@dimen/dp_35"
-                            android:text="ssss"
+                            android:text="s"
                             android:textColor="@color/text_66000000"
                             android:textSize="@dimen/text_12" />
 
@@ -685,7 +585,7 @@
                             android:layout_alignParentTop="true"
                             android:layout_marginStart="@dimen/dp_10"
                             android:layout_marginTop="@dimen/dp_35"
-                            android:text="ssss"
+                            android:text="s"
                             android:textColor="@color/text_66000000"
                             android:textSize="@dimen/text_12" />
 
@@ -740,7 +640,7 @@
                             android:layout_alignParentTop="true"
                             android:layout_marginStart="@dimen/dp_10"
                             android:layout_marginTop="@dimen/dp_35"
-                            android:text="ssss"
+                            android:text="s"
                             android:textColor="@color/text_66000000"
                             android:textSize="@dimen/text_12" />
 
diff --git a/app/src/main/res/layout/item_data.xml b/app/src/main/res/layout/item_data.xml
index ed8ddb4..af85c6f 100644
--- a/app/src/main/res/layout/item_data.xml
+++ b/app/src/main/res/layout/item_data.xml
@@ -11,7 +11,7 @@
         android:textColor="@color/text_E6000000"
         android:textSize="@dimen/text_20"
         android:textStyle="bold"
-        android:text="33"
+        android:text="0.00kW.h"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
diff --git a/app/src/main/res/layout/item_station.xml b/app/src/main/res/layout/item_station.xml
index 48dca6c..835724b 100644
--- a/app/src/main/res/layout/item_station.xml
+++ b/app/src/main/res/layout/item_station.xml
@@ -2,33 +2,48 @@
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/station_status_cl"
-    android:layout_width="74dp"
-    android:layout_height="56dp"
-    android:background="@drawable/station_status_no_ffffff">
+    android:layout_width="90dp"
+    android:layout_height="56dp">
 
-    <TextView
-        android:id="@+id/station_status_tv"
-        android:layout_width="wrap_content"
-        android:layout_height="@dimen/dp_25"
-        android:layout_marginTop="7dp"
-        android:text="99"
-        android:textColor="@color/text_E6000000"
-        android:textSize="@dimen/text_21"
-        android:textStyle="bold"
-        app:layout_constraintEnd_toEndOf="parent"
+    <LinearLayout
+        android:layout_width="@dimen/dp_74"
+        android:layout_height="match_parent"
+        android:background="@drawable/station_status_no_ffffff"
+        android:orientation="vertical"
+        app:layout_constraintEnd_toStartOf="@+id/v"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
+        app:layout_constraintTop_toTopOf="parent">
 
-    <TextView
-        android:id="@+id/station_status_number_tv"
-        android:layout_width="wrap_content"
-        android:layout_height="@dimen/dp_17"
-        android:layout_marginTop="1dp"
-        android:text="state"
-        android:textColor="@color/text_66000000"
-        android:textSize="@dimen/text_14"
-        app:layout_constraintEnd_toEndOf="@+id/station_status_tv"
-        app:layout_constraintStart_toStartOf="@+id/station_status_tv"
-        app:layout_constraintTop_toBottomOf="@+id/station_status_tv" />
+        <TextView
+            android:id="@+id/station_total_tv"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/dp_25"
+            android:layout_marginTop="7dp"
+            android:gravity="center"
+            android:text="99"
+            android:textColor="@color/text_E6000000"
+            android:textSize="@dimen/text_21"
+            android:textStyle="bold" />
+
+        <TextView
+            android:id="@+id/station_title_tv"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/dp_17"
+            android:layout_marginTop="1dp"
+            android:gravity="center"
+            android:text="state"
+            android:textColor="@color/text_66000000"
+            android:textSize="@dimen/text_14" />
+    </LinearLayout>
+
+    <View
+        android:id="@+id/v"
+        android:layout_width="@dimen/dp_16"
+        android:layout_height="match_parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+
+        />
+
 
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file

--
Gitblit v1.8.0