From 43c0a28db7e43959561036dbde0eb5cb37a7e324 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 10 五月 2024 18:25:40 +0800 Subject: [PATCH] 2024年05月10日18:25:29 --- app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java | 201 ++++++++++++++++++++++++++++++++----------------- 1 files changed, 131 insertions(+), 70 deletions(-) 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 ca77b32..64e341f 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 @@ -1,5 +1,6 @@ package com.hdl.photovoltaic.ui.powerstation; +import android.content.Intent; import android.content.pm.PackageManager; import android.os.Bundle; import android.view.View; @@ -35,6 +36,7 @@ import com.hdl.photovoltaic.ui.bean.HouseIdBean; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.utils.PermissionUtils; +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; @@ -68,19 +70,13 @@ private boolean isClickPowerStationLabel = true;//(鐢电珯鏍囩=true锛岃澶囨爣绛�=false) private String key = SortValue.all; - private String value = SortValue.all; + private String value = SortValue.all;//descending:闄嶅簭,ascending:鍗囧簭 + private String installedCapacityMinValue = "";//鏈�灏忕粍涓插閲�(瑁呮満瀹归噺) + private String installedCapacityMaxValue = "";//鏈�澶х粍涓插閲�(瑁呮満瀹归噺) + private String gridTypeValue = "";//骞剁綉鐘舵��(鍏ㄩ儴 涓嶄紶璇ヨ繃婊ゅ弬鏁�,FULL_GRID:骞剁綉,OFFLINE:绂荤綉) + private String powerStationStatusValue = "";//鐢电珯鐘舵��(鍏ㄩ儴 涓嶄紶璇ヨ繃婊ゅ弬鏁�,1:姝e父(杩愯),2:绂荤嚎,3:寰呮帴鍏�,4:鏁呴殰) - - private String installedCapacityMinKey = SortType.installedCapacityMin; - private int installedCapacityMinValue; - private String installedCapacityMaxKey = SortType.installedCapacityMax; - private int installedCapacityMaxValue; - private String gridTypeKey = SortType.gridType; - private String gridTypeValue; - private String powerStationStatusKey = SortType.powerStationStatus; - private int powerStationStatusValue; - - private long pageSize = 20;//椤垫暟 + private final long pageSize = 20;//椤垫暟 @Override @@ -110,9 +106,9 @@ isClickPowerStationLabel = true; viewBinding.powerStationLabel.setTextAppearance(R.style.Text20Style); viewBinding.deviceLabel.setTextAppearance(R.style.Text16Style); - viewBinding.powerStationLabelParent.setVisibility(View.VISIBLE); - viewBinding.deviceLabelParent.setVisibility(View.GONE);//璁惧鏍囩闅愯棌 - loadNextPageHouseList(true, 1, true); + viewBinding.powerStationLabelParent.setVisibility(View.VISIBLE);//鐢电珯鏍囩銆愮埗瀹瑰櫒銆戞樉绀� + viewBinding.deviceLabelParent.setVisibility(View.GONE);//璁惧鏍囩銆愮埗瀹瑰櫒銆戦殣钘� + loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); } }); //璁惧鏍囩 @@ -127,13 +123,13 @@ 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); + viewBinding.powerStationLabelParent.setVisibility(View.GONE);//鐢电珯鏍囩銆愮埗瀹瑰櫒銆戦殣钘� + viewBinding.deviceLabelParent.setVisibility(View.VISIBLE);//璁惧鏍囩銆愮埗瀹瑰櫒銆戞樉绀� loadNextPageDeviceList(true, 1, true); } }); - //娣诲姞鐢电珯 + //鐢电珯娣诲姞 viewBinding.addIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -141,6 +137,34 @@ } }); + //鐢电珯鎼滅储 + viewBinding.powerStationSearchClickCl.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(); + intent.setClass(_mActivity, HouseSearchActivity.class); + startActivity(intent); + } + }); + //榛樿閫夋嫨鍙傛暟鍥炬爣 + viewBinding.powerStationDefaultConditionIv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + DefaultFilteringDialog defaultFilteringDialog = new DefaultFilteringDialog(_mActivity); + defaultFilteringDialog.show(); + defaultFilteringDialog.initState(installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue); + defaultFilteringDialog.setOnClickListener(new DefaultFilteringDialog.OnClickListener() { + @Override + public void confirm(String min, String max, String state) { + installedCapacityMinValue = min;//鏈�灏忕粍涓插閲�(瑁呮満瀹归噺) + installedCapacityMaxValue = max;//鏈�澶х粍涓插閲�(瑁呮満瀹归噺) + gridTypeValue = state;//骞剁綉鐘舵��(鍏ㄩ儴 涓嶄紶璇ヨ繃婊ゅ弬鏁�,FULL_GRID:骞剁綉,OFFLINE:绂荤綉) + loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); + } + }); + } + }); + //鐢电珯璁剧疆涓嬫媺绠ご棰滆壊 viewBinding.fragmentHouseSrl.setColorSchemeResources(R.color.text_FF245EC3); //鐢电珯涓嬫媺璇诲彇 @@ -148,7 +172,7 @@ @Override public void onRefresh() { viewBinding.fragmentHouseSrl.setRefreshing(false); - loadNextPageHouseList(true, 1, true); + loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); } }); //鐢电珯涓婃媺璇诲彇 @@ -168,12 +192,12 @@ if (!isHouseLoadingMore) { // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 HdlLogLogic.print("--->婊戝姩鍒颁簡搴曢儴"); - loadNextPageHouseList(false, ++currentHouseListPage, false); + loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, ++currentHouseListPage, false); } } } }); - //杩涘叆鐢电珯璇︽儏,鍒犻櫎鐢电珯,绉诲姩鐢电珯浣嶇疆 + //鐢电珯璇︽儏杩涘叆,鍒犻櫎鐢电珯,绉诲姩鐢电珯浣嶇疆 houseInfoAdapter.setNoOnclickListener(new HouseInfoAdapter.OnclickListener() { @Override public void onClick(int position, HouseIdBean houseIdBean) { @@ -269,7 +293,7 @@ } }); - //缂栬緫鐢电珯鎸夐挳 + //鐢电珯缂栬緫鎸夐挳 viewBinding.editIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -287,7 +311,7 @@ value = isSelected ? SortValue.ascending : SortValue.descending; } }); - //鍙戠數鍔熺巼绛涢�� + //鐢电珯鍙戠數鍔熺巼绛涢�� viewBinding.stationPowerRl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -298,7 +322,7 @@ value = isSelected ? SortValue.ascending : SortValue.descending; } }); - //褰撴棩鍙戠數閲忕瓫閫� + //鐢电珯褰撴棩鍙戠數閲忕瓫閫� viewBinding.stationDayRl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -309,7 +333,7 @@ value = isSelected ? SortValue.ascending : SortValue.descending; } }); - //褰撴湀鍙戠數閲忕瓫閫� + //鐢电珯褰撴湀鍙戠數閲忕瓫閫� viewBinding.stationMonthRl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -320,7 +344,7 @@ value = isSelected ? SortValue.ascending : SortValue.descending; } }); - //鐐瑰嚮璁惧 + //璁惧鐐瑰嚮 deviceInfoAdapter.setOnclickListener(new DeviceInfoAdapter.OnClickListener() { @Override public void onClick(int position, DeviceBean deviceBean) { @@ -357,6 +381,15 @@ loadNextPageDeviceList(false, ++currentDeviceListPage, false); } } + } + }); + //璁惧娣绘悳绱� + viewBinding.deviceSearchCl.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(); + intent.setClass(_mActivity, DeviceSearchActivity.class); + startActivity(intent); } }); @@ -402,7 +435,7 @@ if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(eventBus.getTopic())) { if (HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION.equals(eventBus.getType())) { //uin鍒涘缓鐢电珯鎴愬姛鍚庨�氱煡 - loadNextPageHouseList(false, 1, true); + loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); if (eventBus.getData() != null) { Gson gson = new Gson(); String json = eventBus.getData().toString(); @@ -441,7 +474,7 @@ if (MqttRecvClient.getInstance() != null) { MqttRecvClient.getInstance().removeAllTopic(); } - loadNextPageHouseList(false, 1, true); + loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST.equals(eventBus.getType())) { //杩涘幓浣忓畢璇︽儏uni璇诲彇閫嗗彉鍣ㄥ垪琛ㄦ垚鍔熷悗閫氱煡 @@ -456,7 +489,7 @@ //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢 if (eventBus.getType().equals(HomepageTitleTabSwitch.powerstation.toString())) { HdlLogLogic.print("姝e湪鐐瑰嚮銆愮數绔欍��"); - loadNextPageHouseList(true, 1, true); + loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); } } } @@ -465,9 +498,28 @@ /** * 鍒锋柊UI锛堢數绔欙級 * - * @param isRefreshing 琛ㄧず鏄笅鎷夊埛鏂扮殑 + * @param isRefreshing 琛ㄧず鏄笅鎷夊埛鏂扮殑 + * @param key 鍙戠數鍔熺巼鎺掑簭(powerSort); + * 浠婃棩鍙戠數閲忔帓搴�(todayElectricitySort); + * 鍒涘缓鏃堕棿鎺掑簭(createTimeSort); + * @param keyValue (descending:闄嶅簭 + * ascending:鍗囧簭), + * @param installedCapacityMin 鏈�灏忕粍涓插閲�(瑁呮満瀹归噺) + * @param installedCapacityMax 鏈�澶х粍涓插閲�(瑁呮満瀹归噺) + * @param gridType 骞剁綉鐘舵�� (鍏ㄩ儴 锛�"";FULL_GRID 锛� 骞剁綉;OFFLINE 锛氱缃�) + * @param powerStationStatus 鐢电珯鐘舵�� (鍏ㄩ儴 锛�"";1 锛� 姝e父;2 锛� 绂荤嚎; 3 锛� 寰呮帴鍏�;4 锛� 鏁呴殰) + * @param pageNo 椤电爜 + * @param isClear 鏄惁娓呴櫎鏁版嵁 */ - private void loadNextPageHouseList(boolean isRefreshing, 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(); } @@ -483,50 +535,57 @@ } //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃 - HdlResidenceLogic.getInstance().getResidenceIdList(key, value, pageNo, pageSize, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() { - @Override - public void onSuccess(HdlResidenceLogic.HouseBeanClass houseBeanClass) { - HdlThreadLogic.runMainThread(new Runnable() { + HdlResidenceLogic.getInstance().getResidenceIdList( + key, + keyValue, + installedCapacityMin, + installedCapacityMax, + gridType, + powerStationStatus, + pageNo, pageSize, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() { @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); + 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(); } - } - nullDataUpdateUi(); + }, _mActivity, ShowErrorMode.YES); + } - }, _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(); - } + 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); - } - }); + }); } /** @@ -591,7 +650,6 @@ if (isRefreshing) { hideLoading(); } - } }, _mActivity, ShowErrorMode.YES); } @@ -626,12 +684,15 @@ */ private void nullDataUpdateUi() { boolean is_data; + String tipText = ""; if (isClickPowerStationLabel) { is_data = houseListBeanIDList != null && houseListBeanIDList.size() > 0; + tipText = getString(R.string.my_power_station_data_null); } else { is_data = deviceInfoList != null && deviceInfoList.size() > 0; + tipText = getString(R.string.no_equipment); } - HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.nullDataIc.getRoot(), viewBinding.nullDataIc.nullDataGifAnimationIv, viewBinding.nullDataIc.nullDataTv, getString(R.string.my_power_station_data_null), is_data); + HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.nullDataIc.getRoot(), viewBinding.nullDataIc.nullDataGifAnimationIv, viewBinding.nullDataIc.nullDataTv, tipText, is_data); } /** -- Gitblit v1.8.0