From cdcd08459665a89844a14c1d376995ebc501e018 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 22 五月 2024 16:23:49 +0800
Subject: [PATCH] 2024年05月22日16:23:47
---
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java | 124 ++++++++++++++++++++++++++++++-----------
1 files changed, 91 insertions(+), 33 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 22a168f..0563f1e 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
@@ -1,5 +1,6 @@
package com.hdl.photovoltaic.ui.powerstation;
+import android.app.job.JobInfo;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Bundle;
@@ -22,6 +23,8 @@
import com.hdl.photovoltaic.databinding.FragmentHouseListBinding;
import com.hdl.photovoltaic.base.CustomBaseFragment;
import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
+import com.hdl.photovoltaic.enums.LowerTagType;
+import com.hdl.photovoltaic.enums.PowerStationStatus;
import com.hdl.photovoltaic.enums.ShowErrorMode;
import com.hdl.photovoltaic.enums.SortType;
import com.hdl.photovoltaic.enums.SortValue;
@@ -40,6 +43,7 @@
import com.hdl.photovoltaic.ui.bean.StatusOverviewBean;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.utils.PermissionUtils;
+import com.hdl.photovoltaic.utils.URLEncodingUtils;
import com.hdl.photovoltaic.widget.DefaultFilteringDialog;
import com.hdl.photovoltaic.widget.DelayedConfirmationCancelDialog;
import com.hdl.sdk.link.common.exception.HDLLinkException;
@@ -58,6 +62,8 @@
* 鐢电珯鍜岃澶�-鐣岄潰
*/
public class HouseAndDeviceFragment extends CustomBaseFragment {
+
+ private boolean isReadData = false;
private FragmentHouseListBinding viewBinding;
private HouseInfoAdapter houseInfoAdapter;
@@ -65,8 +71,6 @@
private List<HouseIdBean> houseListBeanIDList;
private List<DeviceBean> deviceInfoList;
-
-
private int currentHouseListPage = 0; // 褰撳墠鐢电珯鍒楄〃椤电爜
private int currentHouseListTotal = 0; // 鐢电珯鍒楄〃鎬婚〉鐮�
private boolean isHouseLoadingMore = false; // 鏍囪鐢电珯鍒楄〃姝e湪鍔犺浇鏇村鏁版嵁
@@ -82,7 +86,7 @@
private String installedCapacityMinValue = "";//鏈�灏忕粍涓插閲�(瑁呮満瀹归噺)
private String installedCapacityMaxValue = "";//鏈�澶х粍涓插閲�(瑁呮満瀹归噺)
private String gridTypeValue = "";//骞剁綉鐘舵��(鍏ㄩ儴 涓嶄紶璇ヨ繃婊ゅ弬鏁�,FULL_GRID:骞剁綉,OFFLINE:绂荤綉)
- private String powerStationStatusValue = "";//鐢电珯鐘舵��(鍏ㄩ儴 涓嶄紶璇ヨ繃婊ゅ弬鏁�,1:姝e父(杩愯),2:绂荤嚎,3:寰呮帴鍏�,4:鏁呴殰)
+ private String powerStationStatusValue = PowerStationStatus.All;//鐢电珯鐘舵��(鍏ㄩ儴 涓嶄紶璇ヨ繃婊ゅ弬鏁�,1:姝e父(杩愯),2:绂荤嚎,3:寰呮帴鍏�,4:鏁呴殰)
private final long pageSize = 20;//椤垫暟
@@ -95,9 +99,7 @@
@Override
public void onBindView(Bundle savedInstanceState) {
- //鏀惧湪杩欓噷涔熷锛岃繖閲屽彧鏄鍒涘缓涓�娆�
-// loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
-// getStatusOverview();
+ getStatusOverview();
initData();
//鍒濆鍖�
initView();
@@ -121,7 +123,11 @@
viewBinding.addIv.setVisibility(View.VISIBLE);//娣诲姞鍥炬爣闅愯棌
viewBinding.powerStationLabelParent.setVisibility(View.VISIBLE);//鐢电珯鏍囩銆愮埗瀹瑰櫒銆戞樉绀�
viewBinding.deviceLabelParent.setVisibility(View.GONE);//璁惧鏍囩銆愮埗瀹瑰櫒銆戦殣钘�
+ if (viewBinding.deviceNullDataIc.getRoot().getVisibility() == View.VISIBLE) {
+ viewBinding.deviceNullDataIc.getRoot().setVisibility(View.GONE);
+ }
loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
+ getStatusOverview();
}
});
//璁惧鏍囩
@@ -138,6 +144,9 @@
viewBinding.addIv.setVisibility(View.GONE);//娣诲姞鍥炬爣闅愯棌
viewBinding.powerStationLabelParent.setVisibility(View.GONE);//鐢电珯鏍囩銆愮埗瀹瑰櫒銆戦殣钘�
viewBinding.deviceLabelParent.setVisibility(View.VISIBLE);//璁惧鏍囩銆愮埗瀹瑰櫒銆戞樉绀�
+ if (viewBinding.homeNullDataIc.getRoot().getVisibility() == View.VISIBLE) {
+ viewBinding.homeNullDataIc.getRoot().setVisibility(View.GONE);
+ }
loadNextPageDeviceList(true, 1, true);
}
});
@@ -145,6 +154,7 @@
viewBinding.powerStationAllIl.parentLl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ powerStationStatusValue = PowerStationStatus.All;
selectedStationStyle(viewBinding.powerStationAllIl.parentLl, viewBinding.powerStationAllIl.stationTotalTv, viewBinding.powerStationAllIl.stationTitleTv, true);
loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
}
@@ -153,15 +163,17 @@
viewBinding.powerStationFaultsIl.parentLl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ powerStationStatusValue = PowerStationStatus.malfunction;
selectedStationStyle(viewBinding.powerStationFaultsIl.parentLl, viewBinding.powerStationFaultsIl.stationTotalTv, viewBinding.powerStationFaultsIl.stationTitleTv, true);
loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
}
});
//绂荤嚎
- viewBinding.hpowerStationOfflineIl.parentLl.setOnClickListener(new View.OnClickListener() {
+ viewBinding.powerStationOfflineIl.parentLl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- selectedStationStyle(viewBinding.hpowerStationOfflineIl.parentLl, viewBinding.hpowerStationOfflineIl.stationTotalTv, viewBinding.hpowerStationOfflineIl.stationTitleTv, true);
+ powerStationStatusValue = PowerStationStatus.off;
+ selectedStationStyle(viewBinding.powerStationOfflineIl.parentLl, viewBinding.powerStationOfflineIl.stationTotalTv, viewBinding.powerStationOfflineIl.stationTitleTv, true);
loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
}
});
@@ -169,6 +181,7 @@
viewBinding.powerStationConnectedIl.parentLl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ powerStationStatusValue = PowerStationStatus.connecting;
selectedStationStyle(viewBinding.powerStationConnectedIl.parentLl, viewBinding.powerStationConnectedIl.stationTotalTv, viewBinding.powerStationConnectedIl.stationTitleTv, true);
loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
}
@@ -218,6 +231,7 @@
public void onRefresh() {
viewBinding.fragmentHouseSrl.setRefreshing(false);
loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
+ getStatusOverview();
}
});
//鐢电珯涓婃媺璇诲彇
@@ -287,10 +301,11 @@
public void onDelClick(int position, HouseIdBean houseIdBean) {
DelayedConfirmationCancelDialog delayedConfirmationCancelDialog = new DelayedConfirmationCancelDialog(_mActivity);
- delayedConfirmationCancelDialog.setTitleContent(getString(R.string.loading_title_tip));
+ delayedConfirmationCancelDialog.show();
+ delayedConfirmationCancelDialog.isHideTitle(true);
String homeName = "\"" + houseIdBean.getHomeName() + "\"";
delayedConfirmationCancelDialog.setContent(getString(R.string.delete_power_station).replace("%s", homeName));
- delayedConfirmationCancelDialog.show();
+
delayedConfirmationCancelDialog.startCountdown(4);
delayedConfirmationCancelDialog.setYesOnclickListener(new DelayedConfirmationCancelDialog.onYesOnclickListener() {
@Override
@@ -354,6 +369,7 @@
viewBinding.stationNameIv.setSelected(isSelected);
key = SortType.homeNameSort;
value = isSelected ? SortValue.ascending : SortValue.descending;
+ loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
}
});
//鐢电珯鍙戠數鍔熺巼绛涢��
@@ -365,6 +381,7 @@
viewBinding.stationPowerIv.setSelected(isSelected);
key = SortType.powerSort;
value = isSelected ? SortValue.ascending : SortValue.descending;
+ loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
}
});
//鐢电珯褰撴棩鍙戠數閲忕瓫閫�
@@ -376,6 +393,7 @@
viewBinding.stationDayIv.setSelected(isSelected);
key = SortType.todayElectricitySort;
value = isSelected ? SortValue.ascending : SortValue.descending;
+ loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
}
});
//鐢电珯褰撴湀鍙戠數閲忕瓫閫�
@@ -387,13 +405,29 @@
viewBinding.stationMonthIv.setSelected(isSelected);
key = SortType.monthElectricitySort;
value = isSelected ? SortValue.ascending : SortValue.descending;
+ loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
}
});
//璁惧鐐瑰嚮
deviceInfoAdapter.setOnclickListener(new DeviceInfoAdapter.OnClickListener() {
@Override
public void onClick(int position, DeviceBean deviceBean) {
-
+ GatewayBean gatewayBean = new GatewayBean();
+ gatewayBean.setCategorySecondName(deviceBean.getCategorySecondName());
+ gatewayBean.setDevice_mac(deviceBean.getOsn());
+ gatewayBean.setDevice_model(deviceBean.getOmodel());
+ gatewayBean.setOid(deviceBean.getOid());
+ gatewayBean.setGatewayId(deviceBean.getGatewayId());
+ gatewayBean.setAddresses(deviceBean.getAddresses());
+ gatewayBean.setSid(deviceBean.getSid());
+ gatewayBean.setDeviceId(deviceBean.getDeviceId());
+ gatewayBean.setDevice_name(deviceBean.getName());
+ gatewayBean.setDeviceStatus(deviceBean.getDeviceStatus());
+ gatewayBean.setHomeId(deviceBean.getHomeId());
+ gatewayBean.setDeviceType(deviceBean.getDeviceType());
+ String jsonEncryption = URLEncodingUtils.encodeURIComponent(new Gson().toJson(gatewayBean));
+ String path = HDLUniMP.UNI_EVENT_OPEN_DEVICE_DETAILS + "?inverterInfo=" + jsonEncryption;
+ HdlUniLogic.getInstance().openUniMP(path, null);
}
});
//璁惧璁剧疆涓嬫媺绠ご棰滆壊
@@ -428,7 +462,7 @@
}
}
});
- //璁惧娣绘悳绱�
+ //璁惧鎼滅储
viewBinding.deviceSearchCl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -446,7 +480,7 @@
viewBinding.powerStationAllIl.stationTitleTv.setText(getString(R.string.message_all));
viewBinding.powerStationFaultsIl.stationTitleTv.setText(getString(R.string.my_power_station_malfunction));
- viewBinding.hpowerStationOfflineIl.stationTitleTv.setText(getString(R.string.my_power_station_off_line));
+ viewBinding.powerStationOfflineIl.stationTitleTv.setText(getString(R.string.my_power_station_off_line));
viewBinding.powerStationConnectedIl.stationTitleTv.setText(getString(R.string.to_be_added));
selectedStationStyle(viewBinding.powerStationAllIl.parentLl, viewBinding.powerStationAllIl.stationTotalTv, viewBinding.powerStationAllIl.stationTitleTv, true);
@@ -476,7 +510,7 @@
private void selectedStationStyle(LinearLayout linearLayout, TextView numberTv, TextView titleTv, boolean isShowSelectedStatus) {
viewBinding.powerStationAllIl.parentLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
viewBinding.powerStationFaultsIl.parentLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
- viewBinding.hpowerStationOfflineIl.parentLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
+ viewBinding.powerStationOfflineIl.parentLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
viewBinding.powerStationConnectedIl.parentLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
viewBinding.powerStationAllIl.stationTotalTv.setTextColor(getResources().getColor(R.color.text_E6000000, null));
@@ -485,8 +519,8 @@
viewBinding.powerStationFaultsIl.stationTotalTv.setTextColor(getResources().getColor(R.color.text_E6000000, null));
viewBinding.powerStationFaultsIl.stationTitleTv.setTextColor(getResources().getColor(R.color.text_66000000, null));
- viewBinding.hpowerStationOfflineIl.stationTotalTv.setTextColor(getResources().getColor(R.color.text_E6000000, null));
- viewBinding.hpowerStationOfflineIl.stationTitleTv.setTextColor(getResources().getColor(R.color.text_66000000, null));
+ viewBinding.powerStationOfflineIl.stationTotalTv.setTextColor(getResources().getColor(R.color.text_E6000000, null));
+ viewBinding.powerStationOfflineIl.stationTitleTv.setTextColor(getResources().getColor(R.color.text_66000000, null));
viewBinding.powerStationConnectedIl.stationTotalTv.setTextColor(getResources().getColor(R.color.text_E6000000, null));
viewBinding.powerStationConnectedIl.stationTitleTv.setTextColor(getResources().getColor(R.color.text_66000000, null));
@@ -506,8 +540,7 @@
this.houseListBeanIDList.addAll(HdlResidenceLogic.getInstance().getHouseIdList());
} else {
this.deviceInfoList = new ArrayList<>();
- this.deviceInfoList.add(new DeviceBean());
-// this.deviceInfoList.addAll(HdlDeviceLogic.getInstance().getListDevice());
+ this.deviceInfoList.addAll(HdlDeviceLogic.getInstance().getDeviceList());
}
@@ -565,15 +598,20 @@
} else if (HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE.equals(eventBus.getType())) {
// 鍙栨秷绮樻�т簨浠�
EventBus.getDefault().removeStickyEvent(eventBus);
- //uin鍏抽棴浣忓畢璇︽儏鐣岄潰閫氱煡
- if (MqttRecvClient.getInstance() != null) {
- MqttRecvClient.getInstance().removeAllTopic();
+ //鏄湪鐢电珯鍒楄〃椤垫墠杩涙潵杩欓噷
+ if (HdlCommonLogic.lowerTagType == LowerTagType.power_station && isClickPowerStationLabel) {
+ //uin鍏抽棴浣忓畢璇︽儏鐣岄潰閫氱煡
+ if (MqttRecvClient.getInstance() != null) {
+ MqttRecvClient.getInstance().removeAllTopic();
+ }
+ loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
}
- loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
-
} else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST.equals(eventBus.getType())) {
// 鍙栨秷绮樻�т簨浠�
EventBus.getDefault().removeStickyEvent(eventBus);
+// if (!isClickPowerStationLabel) {
+// return;
+// }
//杩涘幓浣忓畢璇︽儏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();
@@ -588,14 +626,29 @@
// 鍙栨秷绮樻�т簨浠�
EventBus.getDefault().removeStickyEvent(eventBus);
HdlLogLogic.print("姝e湪鐐瑰嚮銆愮數绔欍��");
-// HdlThreadLogic.runSubThread(new Runnable() {
-// @Override
-// public void run() {
- loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
- getStatusOverview();
-// }
-// });
-
+ if (!isReadData) {
+ //1锛屼粠棣栭〉-鏁呴殰-杩涙潵-鐢电珯锛堜笉璇诲彇锛�
+ //1锛屼粠鐢电珯-杩涙潵-鐢电珯锛堣鍙栦竴娆�,鍚庨潰杩涙潵涓嶅湪璇诲彇锛�
+ loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
+ getStatusOverview();
+ }
+ } else if (eventBus.getType().equals(PowerStationStatus.All)) {
+ viewBinding.powerStationAllIl.parentLl.performClick();
+ } else if (eventBus.getType().equals(PowerStationStatus.malfunction)) {
+ viewBinding.powerStationFaultsIl.parentLl.performClick();
+ } else if (eventBus.getType().equals(PowerStationStatus.off)) {
+ viewBinding.powerStationOfflineIl.parentLl.performClick();
+ } else if (eventBus.getType().equals(PowerStationStatus.connecting)) {
+ viewBinding.powerStationConnectedIl.parentLl.performClick();
+ } else if (eventBus.getType().equals(ConstantManage.station_edit)) {
+ //缂栬緫鍚庢洿鏂颁竴涓嬩綇瀹呭垪琛�
+ //loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
+// getStatusOverview();
+ if (houseInfoAdapter != null) {
+ initData();
+ //鏇存柊UI
+ houseInfoAdapter.setList(houseListBeanIDList);
+ }
}
}
}
@@ -613,7 +666,7 @@
}
viewBinding.powerStationAllIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getTotal()));
viewBinding.powerStationFaultsIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getFault()));
- viewBinding.hpowerStationOfflineIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getOffline()));
+ viewBinding.powerStationOfflineIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getOffline()));
viewBinding.powerStationConnectedIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getConnecting()));
}
@@ -642,6 +695,7 @@
* @param isClear 鏄惁娓呴櫎鏁版嵁
*/
private void loadNextPageHouseList(boolean isRefreshing, String key, String keyValue, String installedCapacityMin, String installedCapacityMax, String gridType, String powerStationStatus, long pageNo, boolean isClear) {
+ isReadData = true;
if (isClear) {
clearData();
}
@@ -803,11 +857,15 @@
if (isClickPowerStationLabel) {
is_data = houseListBeanIDList != null && houseListBeanIDList.size() > 0;
tipText = getString(R.string.my_power_station_data_null);
+ HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.homeNullDataIc.getRoot(), viewBinding.homeNullDataIc.nullDataGifAnimationIv, viewBinding.homeNullDataIc.nullDataTv, tipText, is_data);
+
} else {
is_data = deviceInfoList != null && deviceInfoList.size() > 0;
tipText = getString(R.string.no_equipment);
+
+ HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.deviceNullDataIc.getRoot(), viewBinding.deviceNullDataIc.nullDataGifAnimationIv, viewBinding.deviceNullDataIc.nullDataTv, tipText, is_data);
+
}
- HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.nullDataIc.getRoot(), viewBinding.nullDataIc.nullDataGifAnimationIv, viewBinding.nullDataIc.nullDataTv, tipText, is_data);
}
/**
--
Gitblit v1.8.0