From 0582b05b1f9dc97a71a72e4784452e5a43510256 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 29 十月 2024 17:23:48 +0800
Subject: [PATCH] 2024年10月29日17:21:51

---
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java |   72 +++++++++++++++++++-----------------
 1 files changed, 38 insertions(+), 34 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
index 4206835..500d6ea 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
@@ -18,7 +18,6 @@
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.bean.PageNumberObject;
 import com.hdl.photovoltaic.config.ConstantManage;
-import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.FragmentHouseListBinding;
 import com.hdl.photovoltaic.base.CustomBaseFragment;
 import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
@@ -94,7 +93,7 @@
     /**
      * 杩樺師鏉′欢鐨勫垵濮嬪寲鐘舵��
      */
-    private void InitializationState() {
+    private void initializationState() {
         key = SortValue.all;
         value = SortValue.all;
         installedCapacityMinValue = "";
@@ -130,7 +129,7 @@
                 }
                 isClickPowerStationLabel = true;
                 selectedTitleLabelStyle();
-                InitializationState();
+                initializationState();
                 getStatusOverview();
                 loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
 
@@ -260,7 +259,7 @@
             public void onClick(int position, HouseIdBean houseIdBean) {
                 //鐐瑰嚮浣忓畢璇︽儏
                 HdlLogLogic.print("鐐瑰嚮浣忓畢璇︽儏---" + new Gson().toJson(houseIdBean), false);
-                HdlResidenceLogic.getInstance().switchHouse(houseIdBean);
+                HdlResidenceLogic.getInstance().switchHouse(houseIdBean,true);
                 String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS + "?homeId=" + houseIdBean.getHomeId() + "&homeName=" + houseIdBean.getHomeName() + "&powerStationStatus=" + houseIdBean.getPowerStationStatus();
                 HdlUniLogic.getInstance().openUniMP(path, null);
 
@@ -611,7 +610,7 @@
                     Gson gson = new Gson();
                     String json = eventBus.getData().toString();
                     HouseIdBean houseIdBean = gson.fromJson(json, HouseIdBean.class);
-                    HdlResidenceLogic.getInstance().switchHouse(houseIdBean);
+                    HdlResidenceLogic.getInstance().switchHouse(houseIdBean,true);
 
                 }
             } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT.equals(eventBus.getType())) {
@@ -646,10 +645,10 @@
             EventBus.getDefault().removeStickyEvent(eventBus);
             //鏄湪锛堢數绔欙級妯″潡涓斿湪锛堢數绔欙級鏍囩椤垫墠杩涙潵杩欓噷
             if (HdlCommonLogic.lowerTagType == LowerTagType.power_station && isClickPowerStationLabel) {
-                //uin鍏抽棴浣忓畢璇︽儏鐣岄潰閫氱煡
-                if (MqttRecvClient.getInstance() != null) {
-                    MqttRecvClient.getInstance().removeAllTopic();
-                }
+//                //uin鍏抽棴浣忓畢璇︽儏鐣岄潰閫氱煡
+//                if (MqttRecvClient.getInstance() != null) {
+//                    MqttRecvClient.getInstance().removeAllTopic();
+//                }
                 loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
             }
         } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST.equals(eventBus.getType())) {
@@ -658,24 +657,28 @@
 //            if (!isClickPowerStationLabel) {
 //                return;
 //            }
+            //鍏堟竻绌鸿闃呬富棰�
+            if (MqttRecvClient.getInstance() != null) {
+                MqttRecvClient.getInstance().removeAllTopic();
+            }
+            String homeId = eventBus.getData().toString();
             //杩涘幓浣忓畢璇︽儏uni璇诲彇閫嗗彉鍣ㄥ垪琛ㄦ垚鍔熷悗閫氱煡
-            for (int i = 0; i < HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId()).size(); i++) {
-                String gatewayId = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId()).get(i).getGatewayId();
+            for (int i = 0; i < HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId).size(); i++) {
+                String gatewayId = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId).get(i).getGatewayId();
                 //瀛楃涓叉槸鑷繁鎸夎鍒欐嫾鎺ョ殑,閲岄潰娉ㄥ唽涓婚鏃朵細瑙f瀽瀛楃涓�,鍙嬁getGatewayId()鍊�;
                 String topic = "/user/" + gatewayId + "/#";
                 //杩涘幓浣忓畢璇︽儏寮�濮嬭闃呬富棰�
                 MqttRecvClient.getInstance().checkAndsubscribeAllTopics(topic);//璁㈤槄銆愰�嗗彉鍣ㄣ�戞秷鎭�
-
             }
-            String topicHome = "/user/" + UserConfigManage.getInstance().getHomeId() + "/#";
+            String topicHome = "/user/" + homeId + "/#";
             MqttRecvClient.getInstance().checkAndsubscribeAllTopics(topicHome);//璁㈤槄銆愮數绔欍�戞秷鎭�
 
 
         } else if (eventBus.getTopic().equals(ConstantManage.homepage_title_tab_switch)) {
+            // 鍙栨秷绮樻�т簨浠�
+            EventBus.getDefault().removeStickyEvent(eventBus);
             //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
             if (eventBus.getType().equals(HomepageTitleTabSwitch.powerstation.toString())) {
-                // 鍙栨秷绮樻�т簨浠�
-                EventBus.getDefault().removeStickyEvent(eventBus);
                 HdlLogLogic.print("姝e湪鐐瑰嚮銆愮數绔欍��");
 //                if (!isReadData) {
 //                    //1锛屼粠棣栭〉-鏁呴殰-杩涙潵-鐢电珯锛堜笉璇诲彇锛�
@@ -686,27 +689,28 @@
                 //2024骞�06鏈�24鏃�14:34:01 浜у搧缁忕悊瑕佹眰杩涘幓鐢电珯鍒楄〃閮借璇诲彇 涓旈粯璁よ繘鍘婚兘鏄粯璁ょ數绔欐爣绛�
                 isClickPowerStationLabel = true;
                 selectedTitleLabelStyle();
-                InitializationState();
+                initializationState();
                 getStatusOverview();
                 loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
-
-
-            } else if (eventBus.getType().equals(PowerStationStatus.All)) {
-                isClickPowerStationLabel = true;
-                selectedTitleLabelStyle();
-                viewBinding.powerStationAllIl.parentLl.performClick();
-            } else if (eventBus.getType().equals(PowerStationStatus.malfunction)) {
-                isClickPowerStationLabel = true;
-                selectedTitleLabelStyle();
-                viewBinding.powerStationFaultsIl.parentLl.performClick();
-            } else if (eventBus.getType().equals(PowerStationStatus.off)) {
-                isClickPowerStationLabel = true;
-                selectedTitleLabelStyle();
-                viewBinding.powerStationOfflineIl.parentLl.performClick();
-            } else if (eventBus.getType().equals(PowerStationStatus.connecting)) {
-                isClickPowerStationLabel = true;
-                selectedTitleLabelStyle();
-                viewBinding.powerStationConnectedIl.parentLl.performClick();
+            } else if (eventBus.getType().equals(ConstantManage.station_page)) {
+                //閫氳繃棣栭〉鐢电珯杩涙潵鐨�
+                if (eventBus.getData().equals(PowerStationStatus.All)) {
+                    isClickPowerStationLabel = true;
+                    selectedTitleLabelStyle();
+                    viewBinding.powerStationAllIl.parentLl.performClick();
+                } else if (eventBus.getData().equals(PowerStationStatus.malfunction)) {
+                    isClickPowerStationLabel = true;
+                    selectedTitleLabelStyle();
+                    viewBinding.powerStationFaultsIl.parentLl.performClick();
+                } else if (eventBus.getData().equals(PowerStationStatus.off)) {
+                    isClickPowerStationLabel = true;
+                    selectedTitleLabelStyle();
+                    viewBinding.powerStationOfflineIl.parentLl.performClick();
+                } else if (eventBus.getData().equals(PowerStationStatus.connecting)) {
+                    isClickPowerStationLabel = true;
+                    selectedTitleLabelStyle();
+                    viewBinding.powerStationConnectedIl.parentLl.performClick();
+                }
             } else if (eventBus.getType().equals(ConstantManage.station_edit)) {
                 //缂栬緫鍚庢洿鏂颁竴涓嬩綇瀹呭垪琛�
                 //loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);

--
Gitblit v1.8.0