From 30859ca8f2175475d2c666353bc27f3b2ceede53 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 22 八月 2024 13:43:47 +0800 Subject: [PATCH] 2024年08月22日13:43:45 --- app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java | 256 ++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 193 insertions(+), 63 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..c1c7ad4 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 @@ -22,6 +22,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; @@ -35,17 +37,20 @@ import com.hdl.photovoltaic.other.HdlUniLogic; import com.hdl.photovoltaic.ui.adapter.DeviceInfoAdapter; import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter; -import com.hdl.photovoltaic.ui.bean.DeviceBean; +import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; import com.hdl.photovoltaic.ui.bean.HouseIdBean; 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; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import com.hdl.sdk.link.core.bean.gateway.GatewayBean; +import com.hdl.sdk.link.core.config.HDLLinkConfig; import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient; +import com.hdl.sdk.link.gateway.HDLLinkLocalGateway; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -58,15 +63,15 @@ * 鐢电珯鍜岃澶�-鐣岄潰 */ public class HouseAndDeviceFragment extends CustomBaseFragment { + + private boolean isReadData = false; private FragmentHouseListBinding viewBinding; private HouseInfoAdapter houseInfoAdapter; private DeviceInfoAdapter deviceInfoAdapter; private List<HouseIdBean> houseListBeanIDList; - private List<DeviceBean> deviceInfoList; - - + private List<CloudInverterDeviceBean> deviceInfoList; private int currentHouseListPage = 0; // 褰撳墠鐢电珯鍒楄〃椤电爜 private int currentHouseListTotal = 0; // 鐢电珯鍒楄〃鎬婚〉鐮� private boolean isHouseLoadingMore = false; // 鏍囪鐢电珯鍒楄〃姝e湪鍔犺浇鏇村鏁版嵁 @@ -82,10 +87,21 @@ 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;//椤垫暟 + /** + * 杩樺師鏉′欢鐨勫垵濮嬪寲鐘舵�� + */ + private void InitializationState() { + key = SortValue.all; + value = SortValue.all; + installedCapacityMinValue = ""; + installedCapacityMaxValue = ""; + gridTypeValue = ""; + powerStationStatusValue = PowerStationStatus.All; + } @Override public Object getContentView() { @@ -95,9 +111,7 @@ @Override public void onBindView(Bundle savedInstanceState) { - //鏀惧湪杩欓噷涔熷锛岃繖閲屽彧鏄鍒涘缓涓�娆� -// loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); -// getStatusOverview(); + getStatusOverview(); initData(); //鍒濆鍖� initView(); @@ -115,13 +129,11 @@ return; } isClickPowerStationLabel = true; - viewBinding.powerStationLabel.setTextAppearance(R.style.Text20Style); - viewBinding.deviceLabel.setTextAppearance(R.style.Text16Style); - viewBinding.editIv.setVisibility(View.VISIBLE);//缂栬緫鍥炬爣闅愯棌 - viewBinding.addIv.setVisibility(View.VISIBLE);//娣诲姞鍥炬爣闅愯棌 - viewBinding.powerStationLabelParent.setVisibility(View.VISIBLE);//鐢电珯鏍囩銆愮埗瀹瑰櫒銆戞樉绀� - viewBinding.deviceLabelParent.setVisibility(View.GONE);//璁惧鏍囩銆愮埗瀹瑰櫒銆戦殣钘� + selectedTitleLabelStyle(); + InitializationState(); + getStatusOverview(); loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); + } }); //璁惧鏍囩 @@ -132,12 +144,7 @@ return; } isClickPowerStationLabel = false; - viewBinding.deviceLabel.setTextAppearance(R.style.Text20Style); - viewBinding.powerStationLabel.setTextAppearance(R.style.Text16Style); - viewBinding.editIv.setVisibility(View.GONE);//缂栬緫鍥炬爣闅愯棌 - viewBinding.addIv.setVisibility(View.GONE);//娣诲姞鍥炬爣闅愯棌 - viewBinding.powerStationLabelParent.setVisibility(View.GONE);//鐢电珯鏍囩銆愮埗瀹瑰櫒銆戦殣钘� - viewBinding.deviceLabelParent.setVisibility(View.VISIBLE);//璁惧鏍囩銆愮埗瀹瑰櫒銆戞樉绀� + selectedTitleLabelStyle(); loadNextPageDeviceList(true, 1, true); } }); @@ -145,7 +152,8 @@ viewBinding.powerStationAllIl.parentLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - selectedStationStyle(viewBinding.powerStationAllIl.parentLl, viewBinding.powerStationAllIl.stationTotalTv, viewBinding.powerStationAllIl.stationTitleTv, true); + powerStationStatusValue = PowerStationStatus.All; + selectedStationStateStyle(viewBinding.powerStationAllIl.parentLl, viewBinding.powerStationAllIl.stationTotalTv, viewBinding.powerStationAllIl.stationTitleTv, true); loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); } }); @@ -153,15 +161,17 @@ viewBinding.powerStationFaultsIl.parentLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - selectedStationStyle(viewBinding.powerStationFaultsIl.parentLl, viewBinding.powerStationFaultsIl.stationTotalTv, viewBinding.powerStationFaultsIl.stationTitleTv, true); + powerStationStatusValue = PowerStationStatus.malfunction; + selectedStationStateStyle(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; + selectedStationStateStyle(viewBinding.powerStationOfflineIl.parentLl, viewBinding.powerStationOfflineIl.stationTotalTv, viewBinding.powerStationOfflineIl.stationTitleTv, true); loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); } }); @@ -169,7 +179,8 @@ viewBinding.powerStationConnectedIl.parentLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - selectedStationStyle(viewBinding.powerStationConnectedIl.parentLl, viewBinding.powerStationConnectedIl.stationTotalTv, viewBinding.powerStationConnectedIl.stationTitleTv, true); + powerStationStatusValue = PowerStationStatus.connecting; + selectedStationStateStyle(viewBinding.powerStationConnectedIl.parentLl, viewBinding.powerStationConnectedIl.stationTotalTv, viewBinding.powerStationConnectedIl.stationTitleTv, true); loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); } }); @@ -218,6 +229,7 @@ public void onRefresh() { viewBinding.fragmentHouseSrl.setRefreshing(false); loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); + getStatusOverview(); } }); //鐢电珯涓婃媺璇诲彇 @@ -270,7 +282,7 @@ //绉诲姩鐢电珯浣嶇疆 HdlResidenceLogic.getInstance().moveHouseId(houseIdBean.getHomeId()); initData();//鍒濆鍖栫紦瀛樻暟鎹� - houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃 + houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);//閲嶆柊鍒锋柊鍒楄〃 nullDataUpdateUi();//妫�娴嬫暟鎹槸鍚︿负绌� } @@ -287,10 +299,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 +367,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 +379,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 +391,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 +403,51 @@ 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) { + public void onClick(int position, CloudInverterDeviceBean 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.setSpk(deviceBean.getSpk()); +// gatewayBean.setDeviceType(deviceBean.getDeviceType()); + if (deviceBean.getDeviceStatus() == 4) { + HdlThreadLogic.toast(_mActivity, R.string.device_off); + return; + } + //閰嶇疆鏈湴閫氫俊鐨勪俊鎭� + HDLLinkConfig.getInstance().setHomeId(deviceBean.getHomeId()); + HDLLinkConfig.getInstance().setLocalSecret(deviceBean.getLocalSecret()); + List<CloudInverterDeviceBean> newList = new ArrayList<>(); + newList.add(deviceBean); + //鐩殑鏄负浜嗚幏鍙栨嬁鍒扮綉鍏矷D锛宮qtt閫氳绉橀挜绛変俊鎭紝鎷垮埌鍚庣紦瀛樺埌鏈湴閫嗗彉鍣ㄥ垪琛ㄩ噷闈紝鍙戦�佹暟鎹暟鎹椂鑷姩鍘荤紦瀛樺垪琛ㄩ噷闈㈠幓鏌ユ壘锛� + HdlDeviceLogic.getInstance().setDeviceRemoteInfo(newList, deviceBean.getHomeId(), new CloudCallBeak<List<GatewayBean>>() { + @Override + public void onSuccess(List<GatewayBean> obj) { + GatewayBean newGatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(deviceBean.getOsn()); + String jsonEncryption = URLEncodingUtils.encodeURIComponent(new Gson().toJson(newGatewayBean)); + String path = HDLUniMP.UNI_EVENT_OPEN_DEVICE_DETAILS + "?inverterInfo=" + jsonEncryption; + HdlUniLogic.getInstance().openUniMP(path, null); + } + @Override + public void onFailure(HDLException e) { + + } + }); } }); //璁惧璁剧疆涓嬫媺绠ご棰滆壊 @@ -428,7 +482,7 @@ } } }); - //璁惧娣绘悳绱� + //璁惧鎼滅储 viewBinding.deviceSearchCl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -446,15 +500,15 @@ 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); + selectedStationStateStyle(viewBinding.powerStationAllIl.parentLl, viewBinding.powerStationAllIl.stationTotalTv, viewBinding.powerStationAllIl.stationTitleTv, true); //鐢电珯鏍囩 houseInfoAdapter = new HouseInfoAdapter(_mActivity); viewBinding.fragmentHouseSrlListRc.setLayoutManager(new LinearLayoutManager(_mActivity)); viewBinding.fragmentHouseSrlListRc.setAdapter(houseInfoAdapter); - houseInfoAdapter.setList(this.houseListBeanIDList); + houseInfoAdapter.setList(this.houseListBeanIDList, powerStationStatusValue); //璁惧鏍囩 deviceInfoAdapter = new DeviceInfoAdapter(_mActivity); @@ -462,6 +516,33 @@ viewBinding.fragmentDeviceSrlListRc.setAdapter(deviceInfoAdapter); this.nullDataUpdateUi(); + } + + /** + * 鐢电珯鍜岃澶囨爣绛炬牱寮� + */ + private void selectedTitleLabelStyle() { + if (isClickPowerStationLabel) { + viewBinding.powerStationLabel.setTextAppearance(R.style.Text20Style); + viewBinding.deviceLabel.setTextAppearance(R.style.Text16Style); +// viewBinding.editIv.setVisibility(View.VISIBLE);//缂栬緫鍥炬爣闅愯棌 + 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); + } + } else { + viewBinding.deviceLabel.setTextAppearance(R.style.Text20Style); + viewBinding.powerStationLabel.setTextAppearance(R.style.Text16Style); +// viewBinding.editIv.setVisibility(View.GONE);//缂栬緫鍥炬爣闅愯棌 + 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); + } + } } @@ -473,10 +554,10 @@ * @param titleTv 缁勪欢 * @param isShowSelectedStatus 鏄惁鏄剧ず鐘舵�佹牱寮� */ - private void selectedStationStyle(LinearLayout linearLayout, TextView numberTv, TextView titleTv, boolean isShowSelectedStatus) { + private void selectedStationStateStyle(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 +566,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 +587,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()); } @@ -560,42 +640,86 @@ // } // } - } - } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE.equals(eventBus.getType())) { + } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE.equals(eventBus.getTopic())) { // 鍙栨秷绮樻�т簨浠� 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; +// } + //鍏堟竻绌鸿闃呬富棰� + 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); + MqttRecvClient.getInstance().checkAndsubscribeAllTopics(topic);//璁㈤槄銆愰�嗗彉鍣ㄣ�戞秷鎭� } + String topicHome = "/user/" + homeId + "/#"; + MqttRecvClient.getInstance().checkAndsubscribeAllTopics(topicHome);//璁㈤槄銆愮數绔欍�戞秷鎭� + + } else if (eventBus.getTopic().equals(ConstantManage.homepage_title_tab_switch)) { //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢 if (eventBus.getType().equals(HomepageTitleTabSwitch.powerstation.toString())) { // 鍙栨秷绮樻�т簨浠� 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); +// if (!isReadData) { +// //1锛屼粠棣栭〉-鏁呴殰-杩涙潵-鐢电珯锛堜笉璇诲彇锛� +// //2锛屼粠鐢电珯-杩涙潵-鐢电珯锛堣鍙栦竴娆�,鍚庨潰杩涙潵涓嶅湪璇诲彇锛� +// loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); +// getStatusOverview(); +// } + //2024骞�06鏈�24鏃�14:34:01 浜у搧缁忕悊瑕佹眰杩涘幓鐢电珯鍒楄〃閮借璇诲彇 涓旈粯璁よ繘鍘婚兘鏄粯璁ょ數绔欐爣绛� + isClickPowerStationLabel = true; + selectedTitleLabelStyle(); + 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_edit)) { + //缂栬緫鍚庢洿鏂颁竴涓嬩綇瀹呭垪琛� + //loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); +// getStatusOverview(); + if (houseInfoAdapter != null) { + initData(); + //鏇存柊UI + houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue); + } } } } @@ -613,7 +737,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 +766,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(); } @@ -653,7 +778,7 @@ } isHouseLoadingMore = true;//鏍囪璇诲彇鐘舵�� if (isRefreshing) { - showLoading(); + showLoading(getString(R.string.device_loading)); } //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃 @@ -675,7 +800,7 @@ if (houseInfoAdapter != null) { initData(); //鏇存柊UI - houseInfoAdapter.setList(houseListBeanIDList); + houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue); } } nullDataUpdateUi(); @@ -722,12 +847,12 @@ } isDeviceLoadingMore = true;//鏍囪璇诲彇鐘舵�� if (isRefreshing) { - showLoading(); + showLoading(getString(R.string.device_loading)); } //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃 - HdlDeviceLogic.getInstance().getPowerStationDeviceList("", pageNo, pageSize, new CloudCallBeak<PageNumberObject<DeviceBean>>() { + HdlDeviceLogic.getInstance().getPowerStationDeviceList("", pageNo, pageSize, new CloudCallBeak<PageNumberObject<CloudInverterDeviceBean>>() { @Override - public void onSuccess(PageNumberObject<DeviceBean> pageNumberObject) { + public void onSuccess(PageNumberObject<CloudInverterDeviceBean> pageNumberObject) { HdlThreadLogic.runMainThread(new Runnable() { @Override public void run() { @@ -803,11 +928,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); } /** @@ -852,7 +981,8 @@ initializeInverter(list); //鍙戣捣鍒濆鍖栨寚浠ょ粰閫嗗彉鍣�;锛堟敞鎰�:鍙兘鏄湰鍦板彂閫佷簡(瑕佹悳绱㈠眬鍩熺綉閫嗗彉鍣ㄥ垪琛紝寤虹珛鏈湴閫氳閫氶亾),鍒犻櫎鐢电珯鎴愬姛鍚�,浜戠瑙g粦閫嗗彉鍣ㄧ殑鍏崇郴锛� HdlResidenceLogic.getInstance().delHouseId(homeId);//鍒犻櫎鐢电珯缂撳瓨 initData();//鍒濆鍖栫紦瀛樻暟鎹� - houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃 + houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);//閲嶆柊鍒锋柊鍒楄〃 + getStatusOverview();//鍒犻櫎鎴愬姛鍚庡埛鏂扮數绔欑姸鎬佹瑙� nullDataUpdateUi();//妫�娴嬫暟鎹槸鍚︿负绌� } -- Gitblit v1.8.0