From bae677bcbf12e6e7bff63baff362f3ce91184a62 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 09 五月 2024 17:49:33 +0800
Subject: [PATCH] 2024年05月09日17:49:28
---
app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java | 275 ++++++++++++++++++++++++
app/src/main/res/values/styles.xml | 4
app/src/main/java/com/hdl/photovoltaic/base/BaseDialog.java | 3
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java | 46 ++-
app/src/main/res/values/strings.xml | 1
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java | 74 +++---
app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java | 54 ++++
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java | 152 ++++++++-----
app/src/main/res/layout/dialog_default_filtering.xml | 29 +-
9 files changed, 495 insertions(+), 143 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/base/BaseDialog.java b/app/src/main/java/com/hdl/photovoltaic/base/BaseDialog.java
index 082298e..4afe44c 100644
--- a/app/src/main/java/com/hdl/photovoltaic/base/BaseDialog.java
+++ b/app/src/main/java/com/hdl/photovoltaic/base/BaseDialog.java
@@ -1,5 +1,6 @@
package com.hdl.photovoltaic.base;
+import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Color;
@@ -8,6 +9,7 @@
import androidx.annotation.NonNull;
import com.hdl.photovoltaic.R;
+import com.jaeger.library.StatusBarUtil;
public class BaseDialog extends Dialog {
@@ -20,6 +22,7 @@
setNotificationBarBackgroundColor(CustomColor.white);
}
+
/**
* 淇敼鐘舵�佹爮瀛椾綋棰滆壊锛堥粦鑹诧級
*/
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
index a7b54f7..735f513 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
@@ -344,21 +344,59 @@
/**
* 鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃
*
- * @param key 鍙戠數鍔熺巼鎺掑簭(powerSort);
- * 浠婃棩鍙戠數閲忔帓搴�(todayElectricitySort);
- * 鍒涘缓鏃堕棿鎺掑簭(createTimeSort);
- * @param keyValue (descending:闄嶅簭
- * ascending:鍗囧簭),
- * @param pageNo 椤电爜
- * @param pageSize 椤垫暟锛堜竴椤靛灏戞暟鎹級
+ * @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 pageSize 椤垫暟锛堜竴椤靛灏戞暟鎹級
*/
- public void getResidenceIdList(String key, String keyValue, long pageNo, long pageSize, CloudCallBeak<HouseBeanClass> cloudCallBeak) {
+ public void getResidenceIdList(
+ String key,
+ String keyValue,
+ String installedCapacityMin,
+ String installedCapacityMax,
+ String gridType,
+ String powerStationStatus,
+ long pageNo, long pageSize, CloudCallBeak<HouseBeanClass> cloudCallBeak) {
String requestUrl = HttpApi.POST_PowerStation_List;
JsonObject json = new JsonObject();
if (!TextUtils.isEmpty(key) && !TextUtils.isEmpty(keyValue)) {
json.addProperty(key, keyValue);//鍙戠數鍔熺巼鎺掑簭(descending:闄嶅簭ascending:鍗囧簭)
}
+ if (!TextUtils.isEmpty(installedCapacityMin)) {
+ try {
+ int value = Integer.parseInt(installedCapacityMin);//鍙兘鏈夊紓甯�,鐢ㄦ埛杈撳叆鍊艰秴鏃秈nt鏈�澶ц嚧瀵艰嚧鐨�
+ json.addProperty("installedCapacityMin", value);
+ } catch (Exception ignored) {
+ }
+ }
+ if (!TextUtils.isEmpty(installedCapacityMax)) {
+ try {
+ int value = Integer.parseInt(installedCapacityMax);//鍙兘鏈夊紓甯�,鐢ㄦ埛杈撳叆鍊艰秴鏃秈nt鏈�澶ц嚧瀵艰嚧鐨�
+ json.addProperty("installedCapacityMax", value);
+ } catch (Exception ignored) {
+ }
+ }
+ if (!TextUtils.isEmpty(gridType)) {
+ try {
+ json.addProperty("gridType", gridType);
+ } catch (Exception ignored) {
+ }
+ }
+ if (!TextUtils.isEmpty(powerStationStatus)) {
+ try {
+ int value = Integer.parseInt(powerStationStatus);
+ json.addProperty("powerStationStatus", value);
+ } catch (Exception ignored) {
+ }
+ }
// json.addProperty("zoneType", "password");//鍖哄煙
json.addProperty("pageNo", pageNo);//椤电爜
json.addProperty("pageSize", pageSize);//椤垫暟
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
index 80d727b..c0b0223 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
@@ -125,18 +125,20 @@
}
//鏈鐞�
if (mMessageBean.getStatus().equals(MessageStateType.untreated)) {
- BaseEventBus baseEventBus = new BaseEventBus();
- baseEventBus.setTopic(ConstantManage.message_function_push_post);
+
//鏀瑰彉缂撳瓨鐘舵��
if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.untreated);
+ BaseEventBus baseEventBus = new BaseEventBus();
+ baseEventBus.setTopic(ConstantManage.message_function_push_post);
baseEventBus.setType(MessageStateType.untreated);
+ EventBus.getDefault().post(baseEventBus);
} else {
//闄も�滄晠闅溾�濆锛屽叾浠栫瓑绾т俊鎭�滃凡璇烩�濆悗锛岃嚜鍔ㄧЩ鍑衡�滃彂鐢熶腑鈥濆垪琛ㄥ苟鍔犲叆鈥滃巻鍙茶褰曗�濆垪琛�
HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed);
- baseEventBus.setType(MessageStateType.processed);
+ sendEventBus();
}
- EventBus.getDefault().post(baseEventBus);
+
}
finish();
}
@@ -151,18 +153,18 @@
}
//鏈鐞�
if (mMessageBean.getStatus().equals(MessageStateType.untreated)) {
- BaseEventBus baseEventBus = new BaseEventBus();
- baseEventBus.setTopic(ConstantManage.message_function_push_post);
//鏀瑰彉缂撳瓨鐘舵��
if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.untreated);
+ BaseEventBus baseEventBus = new BaseEventBus();
+ baseEventBus.setTopic(ConstantManage.message_function_push_post);
baseEventBus.setType(MessageStateType.untreated);
+ EventBus.getDefault().post(baseEventBus);
} else {
//闄も�滄晠闅溾�濆锛屽叾浠栫瓑绾т俊鎭�滃凡璇烩�濆悗锛岃嚜鍔ㄧЩ鍑衡�滃彂鐢熶腑鈥濆垪琛ㄥ苟鍔犲叆鈥滃巻鍙茶褰曗�濆垪琛�
HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed);
- baseEventBus.setType(MessageStateType.processed);
+ sendEventBus();
}
- EventBus.getDefault().post(baseEventBus);
}
finish();
}
@@ -181,17 +183,7 @@
//鏈鐞�
if (mMessageBean.getStatus().equals(MessageStateType.untreated)) {
HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed);
-
- //閫氱煡宸插鐞嗚鏇存柊鏁版嵁
- BaseEventBus processedBus = new BaseEventBus();
- processedBus.setTopic(ConstantManage.message_function_push_post);
- processedBus.setType(MessageStateType.processed);
- EventBus.getDefault().post(processedBus);
- //閫氱煡鏈鐞嗚鏇存柊鏁版嵁
- BaseEventBus untreatedBus = new BaseEventBus();
- untreatedBus.setTopic(ConstantManage.message_function_push_post);
- untreatedBus.setType(MessageStateType.untreated);
- EventBus.getDefault().post(untreatedBus);
+ sendEventBus();
}
finish();
@@ -210,6 +202,22 @@
}
+ /**
+ * 閫氱煡鍑哄幓澶栭潰鏇存柊鏁版嵁
+ */
+ private void sendEventBus() {
+ //閫氱煡宸插鐞嗚鏇存柊鏁版嵁
+ BaseEventBus processedBus = new BaseEventBus();
+ processedBus.setTopic(ConstantManage.message_function_push_post);
+ processedBus.setType(MessageStateType.processed);
+ EventBus.getDefault().post(processedBus);
+ //閫氱煡鏈鐞嗚鏇存柊鏁版嵁
+ BaseEventBus untreatedBus = new BaseEventBus();
+ untreatedBus.setTopic(ConstantManage.message_function_push_post);
+ untreatedBus.setType(MessageStateType.untreated);
+ EventBus.getDefault().post(untreatedBus);
+ }
+
private void initView() {
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 b850088..f32beb7 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
@@ -36,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;
@@ -70,16 +71,10 @@
private String key = SortValue.all;
private String value = SortValue.all;//descending:闄嶅簭,ascending:鍗囧簭
-
-
- private String installedCapacityMinKey = SortType.installedCapacityMin;
- private int installedCapacityMinValue;//鏈�灏忕粍涓插閲�(瑁呮満瀹归噺)
- private String installedCapacityMaxKey = SortType.installedCapacityMax;
- private int installedCapacityMaxValue;//鏈�澶х粍涓插閲�(瑁呮満瀹归噺)
- private String gridTypeKey = SortType.gridType;
- private String gridTypeValue;//骞剁綉鐘舵��(鍏ㄩ儴 涓嶄紶璇ヨ繃婊ゅ弬鏁�,FULL_GRID:骞剁綉,OFFLINE:绂荤綉)
- private String powerStationStatusKey = SortType.powerStationStatus;
- private int powerStationStatusValue;//鐢电珯鐘舵��(鍏ㄩ儴 涓嶄紶璇ヨ繃婊ゅ弬鏁�,1:姝e父(杩愯),2:绂荤嚎,3:寰呮帴鍏�,4:鏁呴殰)
+ private String installedCapacityMinValue = "";//鏈�灏忕粍涓插閲�(瑁呮満瀹归噺)
+ private String installedCapacityMaxValue = "";//鏈�澶х粍涓插閲�(瑁呮満瀹归噺)
+ private String gridTypeValue = "";//骞剁綉鐘舵��(鍏ㄩ儴 涓嶄紶璇ヨ繃婊ゅ弬鏁�,FULL_GRID:骞剁綉,OFFLINE:绂荤綉)
+ private String powerStationStatusValue = "";//鐢电珯鐘舵��(鍏ㄩ儴 涓嶄紶璇ヨ繃婊ゅ弬鏁�,1:姝e父(杩愯),2:绂荤嚎,3:寰呮帴鍏�,4:鏁呴殰)
private final long pageSize = 20;//椤垫暟
@@ -113,7 +108,7 @@
viewBinding.deviceLabel.setTextAppearance(R.style.Text16Style);
viewBinding.powerStationLabelParent.setVisibility(View.VISIBLE);
viewBinding.deviceLabelParent.setVisibility(View.GONE);//璁惧鏍囩闅愯棌
- loadNextPageHouseList(true, 1, true);
+ loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
}
});
//璁惧鏍囩
@@ -142,7 +137,7 @@
}
});
- //鐢电珯娣绘悳绱�
+ //鐢电珯鎼滅储
viewBinding.powerStationSearchClickCl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -151,6 +146,25 @@
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);
//鐢电珯涓嬫媺璇诲彇
@@ -158,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);
}
});
//鐢电珯涓婃媺璇诲彇
@@ -178,7 +192,7 @@
if (!isHouseLoadingMore) {
// 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔
HdlLogLogic.print("--->婊戝姩鍒颁簡搴曢儴");
- loadNextPageHouseList(false, ++currentHouseListPage, false);
+ loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, ++currentHouseListPage, false);
}
}
}
@@ -421,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();
@@ -460,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璇诲彇閫嗗彉鍣ㄥ垪琛ㄦ垚鍔熷悗閫氱煡
@@ -475,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);
}
}
}
@@ -484,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();
}
@@ -502,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);
- }
- });
+ });
}
/**
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java
index a84f2c0..6afbe86 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java
@@ -270,49 +270,51 @@
}
//鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃
- HdlResidenceLogic.getInstance().getResidenceIdList(SortType.homeName, currSearchText, pageNo, 20, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() {
- @Override
- public void onSuccess(HdlResidenceLogic.HouseBeanClass houseBeanClass) {
- HdlThreadLogic.runMainThread(new Runnable() {
+ HdlResidenceLogic.getInstance().getResidenceIdList(SortType.homeName, currSearchText,
+ "", "", "", "",
+ pageNo, 20, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() {
@Override
- public void run() {
- if (isRefreshing) {
- hideLoading();
- }
- isHouseLoadingMore = false;
- if (houseBeanClass != null) {
- currentHouseListTotal = (int) houseBeanClass.getTotalPage();
- currentHouseListPage = (int) houseBeanClass.getPageNo();
- //鏇存柊缂撳瓨
- setHouseIdList(houseBeanClass.getList());
- if (searchHouseAdapter != null) {
- initData();
- //鏇存柊UI
- searchHouseAdapter.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();
+ //鏇存柊缂撳瓨
+ setHouseIdList(houseBeanClass.getList());
+ if (searchHouseAdapter != null) {
+ initData();
+ //鏇存柊UI
+ searchHouseAdapter.setList(houseListBeanIDList);
+ }
+ }
}
- }
+ }, _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);
- }
- });
+ });
}
private void clearData() {
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java
index 6f41018..5fd99bc 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java
@@ -2,13 +2,18 @@
import android.content.Context;
import android.os.Bundle;
+import android.text.TextUtils;
import android.view.View;
+import android.widget.TextView;
import androidx.annotation.NonNull;
+import androidx.appcompat.content.res.AppCompatResources;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.BaseDialog;
import com.hdl.photovoltaic.databinding.DialogDefaultFilteringBinding;
+import com.hdl.photovoltaic.enums.GridType;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
public class DefaultFilteringDialog extends BaseDialog {
private final Context mContext;
@@ -16,6 +21,18 @@
DialogDefaultFilteringBinding viewBinding;
OnClickListener mOnClickListener;
+
+ final String text1 = "0-5";
+ final String text2 = "5-10";
+ final String text3 = "10-15";
+ final String text4 = "15-30";
+ final String text5 = "30-100";
+ final String text6 = "100-300";
+ final String text7 = "300-500";
+ final String text8 = "500+";
+
+
+ private String mStateValue = GridType.All;
public DefaultFilteringDialog(@NonNull Context context) {
super(context, R.style.Custom_Dialog);
@@ -32,7 +49,7 @@
//鍒濆鍖栫晫闈㈡帶浠�
initView();
//鍒濆鍖栫晫闈㈡暟鎹�
- initData();
+// initData(mMinValue, mMaxValue, mStateValue);
//鍒濆鍖栫晫闈㈡帶浠剁殑浜嬩欢
initEvent();
}
@@ -42,12 +59,36 @@
viewBinding.affirmLl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- if (mOnClickListener != null) {
- mOnClickListener.confirm();
+ String minValue = viewBinding.minEt.getText().toString();
+ String maxValue = viewBinding.maxEt.getText().toString();
+ if (!TextUtils.isEmpty(minValue) && !TextUtils.isEmpty(maxValue)) {
+ try {
+ if (Integer.parseInt(minValue) > Integer.parseInt(maxValue)) {
+ //鏈�灏忓�煎湪鍓嶉潰
+ if (mOnClickListener != null) {
+ mOnClickListener.confirm(maxValue, minValue, mStateValue);
+ }
+ } else {
+ if (mOnClickListener != null) {
+ mOnClickListener.confirm(minValue, maxValue, mStateValue);
+ }
+ }
+ } catch (Exception e) {
+ //寮哄埗杞崲鍥犺緭鍏ュ�艰秴鍑篿nt鍊煎煙鑼冨洿鎶ュ嚭寮傚父
+ int maxValueInt = Integer.MAX_VALUE;
+ HdlThreadLogic.toast(mContext, mContext.getString(R.string.the_input_value_has_been_exceeded) + "(" + maxValueInt + ").");
+ return;
+ }
+
+ } else {
+ if (mOnClickListener != null) {
+ mOnClickListener.confirm(minValue, maxValue, mStateValue);
+ }
}
dismiss();
}
});
+
viewBinding.cancelLl.setOnClickListener(new View.OnClickListener() {
@Override
@@ -55,12 +96,228 @@
dismiss();
}
});
+
+ viewBinding.resetTv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(null, TitleType.string_capacity);
+ setSelectedText("");
+ }
+ });
+ viewBinding.text1Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text1Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text1Tv.getTag().toString());
+ }
+ });
+ viewBinding.text2Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text2Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text2Tv.getTag().toString());
+ }
+ });
+ viewBinding.text3Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text3Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text3Tv.getTag().toString());
+ }
+ });
+ viewBinding.text4Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text4Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text4Tv.getTag().toString());
+ }
+ });
+
+ viewBinding.text5Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text5Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text5Tv.getTag().toString());
+ }
+ });
+ viewBinding.text6Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text6Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text6Tv.getTag().toString());
+ }
+ });
+ viewBinding.text7Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text7Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text7Tv.getTag().toString());
+ }
+ });
+ viewBinding.text8Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text8Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text8Tv.getTag().toString());
+ }
+ });
+
+ viewBinding.allTv.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.allTv, TitleType.GridConnectedState);
+ setSelectedText(viewBinding.allTv.getTag().toString());
+ }
+ });
+ viewBinding.gridConnectedTv.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.gridConnectedTv, TitleType.GridConnectedState);
+ setSelectedText(viewBinding.gridConnectedTv.getTag().toString());
+ }
+ });
+ viewBinding.offNetworkTv.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.offNetworkTv, TitleType.GridConnectedState);
+ setSelectedText(viewBinding.offNetworkTv.getTag().toString());
+ }
+ });
+
}
- private void initData() {
+ /**
+ * @param value 閫変腑鐨勫��
+ */
+ private void setSelectedText(String value) {
+
+ String minValue = "", maxValue = "";
+ if (TextUtils.isEmpty(value)) {
+ minValue = "";
+ maxValue = "";
+ } else if (value.contains("+")) {
+ minValue = "500";
+ maxValue = "";
+ } else if (value.contains("-")) {
+ String[] min_max = value.split("-");
+ if (min_max.length == 2) {
+ minValue = min_max[0];
+ maxValue = min_max[1];
+ }
+ } else {
+ mStateValue = value;
+ }
+
+ viewBinding.minEt.setText(minValue);
+ viewBinding.maxEt.setText(maxValue);
+
+ }
+
+ /**
+ * 鏀瑰彉缁勪欢鑳屾櫙锛屽瓧浣撻鑹叉牸寮�
+ *
+ * @param textView 缁勪欢鍙互锛堣缃负null,娌℃湁閫変腑鐘舵��)
+ * @param titleType 淇敼绫诲瀷
+ */
+ private void setBackgroundColor(TextView textView, TitleType titleType) {
+ if (titleType == TitleType.string_capacity) {
+ viewBinding.text1Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+ viewBinding.text1Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+ viewBinding.text2Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+ viewBinding.text2Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+ viewBinding.text3Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+ viewBinding.text3Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+ viewBinding.text4Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+ viewBinding.text4Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+ viewBinding.text5Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+ viewBinding.text5Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+ viewBinding.text6Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+ viewBinding.text6Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+ viewBinding.text7Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+ viewBinding.text7Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+ viewBinding.text8Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+ viewBinding.text8Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+ } else {
+ viewBinding.allTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+ viewBinding.allTv.setTextColor(mContext.getColor(R.color.text_90000000));
+ viewBinding.gridConnectedTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+ viewBinding.gridConnectedTv.setTextColor(mContext.getColor(R.color.text_90000000));
+ viewBinding.offNetworkTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+ viewBinding.offNetworkTv.setTextColor(mContext.getColor(R.color.text_90000000));
+ }
+ if (textView != null) {
+ textView.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.selected_38c494));
+ textView.setTextColor(mContext.getColor(R.color.text_FFFFFFFF));
+ }
+
+ }
+
+ public void initState(String min, String max, String stateValue) {
+ try {
+ mStateValue = stateValue;
+ viewBinding.minEt.setText(min);
+ viewBinding.maxEt.setText(max);
+
+ if (!TextUtils.isEmpty(min) || !TextUtils.isEmpty(max)) {
+ String str = min + "-" + max;
+ switch (str) {
+ case text1:
+ setBackgroundColor(viewBinding.text1Tv, TitleType.string_capacity);
+ break;
+ case text2:
+ setBackgroundColor(viewBinding.text2Tv, TitleType.string_capacity);
+ break;
+ case text3:
+ setBackgroundColor(viewBinding.text3Tv, TitleType.string_capacity);
+ break;
+ case text4:
+ setBackgroundColor(viewBinding.text4Tv, TitleType.string_capacity);
+ break;
+ case text5:
+ setBackgroundColor(viewBinding.text5Tv, TitleType.string_capacity);
+ break;
+ case text6:
+ setBackgroundColor(viewBinding.text6Tv, TitleType.string_capacity);
+ break;
+ case text7:
+ setBackgroundColor(viewBinding.text7Tv, TitleType.string_capacity);
+ break;
+ case text8:
+ setBackgroundColor(viewBinding.text8Tv, TitleType.string_capacity);
+ break;
+ }
+ }
+ if (TextUtils.isEmpty(stateValue)) {
+ setBackgroundColor(viewBinding.allTv, TitleType.GridConnectedState);
+ } else if (stateValue.equals(GridType.FULL_GRID)) {
+ setBackgroundColor(viewBinding.gridConnectedTv, TitleType.GridConnectedState);
+ } else {
+ setBackgroundColor(viewBinding.offNetworkTv, TitleType.GridConnectedState);
+ }
+ } catch (Exception ignored) {
+ }
+
}
private void initView() {
+
+ viewBinding.text1Tv.setTag(text1);
+ viewBinding.text2Tv.setTag(text2);
+ viewBinding.text3Tv.setTag(text3);
+ viewBinding.text4Tv.setTag(text4);
+ viewBinding.text5Tv.setTag(text5);
+ viewBinding.text6Tv.setTag(text6);
+ viewBinding.text7Tv.setTag(text7);
+ viewBinding.text8Tv.setTag(text8);
+
+ viewBinding.allTv.setTag(GridType.All);
+ viewBinding.gridConnectedTv.setTag(GridType.FULL_GRID);
+ viewBinding.offNetworkTv.setTag(GridType.OFFLINE);
+ setBackgroundColor(null, TitleType.string_capacity);
+ setBackgroundColor(viewBinding.allTv, TitleType.GridConnectedState);
}
public void setOnClickListener(OnClickListener onClickListener) {
@@ -71,6 +328,14 @@
public interface OnClickListener {
- void confirm();
+ void confirm(String min, String max, String state);
}
+
+ public enum TitleType {
+ string_capacity,//缁勪覆瀹归噺
+ GridConnectedState//骞剁綉鐘舵��
+
+ }
+
+
}
diff --git a/app/src/main/res/layout/dialog_default_filtering.xml b/app/src/main/res/layout/dialog_default_filtering.xml
index b9c7d65..a2dd503 100644
--- a/app/src/main/res/layout/dialog_default_filtering.xml
+++ b/app/src/main/res/layout/dialog_default_filtering.xml
@@ -123,22 +123,18 @@
android:layout_marginStart="@dimen/dp_20"
android:background="@drawable/search_bj_ff05000000"
android:gravity="center"
- android:hint="min"
+ android:inputType="number"
android:textColor="@color/text_90000000"
android:textColorHint="@color/text_40000000"
android:textSize="@dimen/text_14" />
<View
- android:layout_width="match_parent"
+ android:layout_width="@dimen/dp_16"
android:layout_height="1dp"
- android:layout_marginStart="@dimen/dp_5"
- android:layout_marginTop="@dimen/dp_17"
- android:layout_marginEnd="@dimen/dp_5"
- android:layout_toStartOf="@+id/max_et"
- android:layout_toEndOf="@+id/min_et"
- android:background="@color/text_E1E1E1"
-
- />
+ android:layout_alignParentStart="true"
+ android:layout_marginStart="@dimen/dp_180"
+ android:layout_marginTop="@dimen/dp_19"
+ android:background="@color/text_E1E1E1" />
<EditText
android:id="@+id/max_et"
@@ -149,7 +145,7 @@
android:layout_marginEnd="@dimen/dp_20"
android:background="@drawable/search_bj_ff05000000"
android:gravity="center"
- android:hint="max"
+ android:inputType="number"
android:textColor="@color/text_90000000"
android:textColorHint="@color/text_40000000"
android:textSize="@dimen/text_14" />
@@ -219,7 +215,7 @@
android:id="@+id/text5_tv"
android:layout_width="102dp"
android:layout_height="@dimen/dp_35"
- android:layout_marginStart="@dimen/dp_20"
+ android:layout_marginStart="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_66"
android:background="@drawable/search_bj_ff05000000"
android:gravity="center"
@@ -234,7 +230,7 @@
android:id="@+id/text6_tv"
android:layout_width="102dp"
android:layout_height="@dimen/dp_35"
- android:layout_marginStart="@dimen/dp_20"
+ android:layout_marginStart="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_66"
android:background="@drawable/search_bj_ff05000000"
android:gravity="center"
@@ -264,11 +260,11 @@
android:id="@+id/text8_tv"
android:layout_width="102dp"
android:layout_height="@dimen/dp_35"
- android:layout_marginStart="@dimen/dp_20"
+ android:layout_marginStart="@dimen/dp_15"
android:layout_marginTop="114dp"
android:background="@drawable/search_bj_ff05000000"
android:gravity="center"
- android:tag="500-1000000"
+ android:tag="500+"
android:text="500+"
android:textColor="@color/text_90000000"
android:textSize="@dimen/text_14"
@@ -295,7 +291,6 @@
android:layout_marginTop="13dp"
android:background="@drawable/search_bj_ff05000000"
android:gravity="center"
- android:tag="all"
android:text="@string/message_all"
android:textColor="@color/text_90000000"
android:textSize="@dimen/text_14"
@@ -310,7 +305,6 @@
android:layout_marginTop="13dp"
android:background="@drawable/search_bj_ff05000000"
android:gravity="center"
- android:tag="grid_connected"
android:text="@string/grid_connected"
android:textColor="@color/text_90000000"
android:textSize="@dimen/text_14"
@@ -325,7 +319,6 @@
android:layout_marginTop="13dp"
android:background="@drawable/search_bj_ff05000000"
android:gravity="center"
- android:tag="off_network"
android:text="@string/off_network"
android:textColor="@color/text_90000000"
android:textSize="@dimen/text_14"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 44ba7df..02a7e84 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -286,6 +286,7 @@
<string name="grid_connected_state">骞剁綉鐘舵��</string>
<string name="grid_connected">骞剁綉</string>
<string name="off_network">绂荤綉</string>
+ <string name="the_input_value_has_been_exceeded">杈撳叆鍊煎凡缁忚秴杩�</string>
</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 4e9d4d2..114e0be 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -13,7 +13,7 @@
<item name="android:textSize">@dimen/text_20</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/text_90000000</item>
-<!-- <item name="android:fontFamily"></item>-->
+ <!-- <item name="android:fontFamily"></item>-->
</style>
<!-- 鑷畾涔夊瓧浣撴牱寮� 鍐呭涓�绾ф爣棰�-->
@@ -35,4 +35,6 @@
</style>
+
+
</resources>
\ No newline at end of file
--
Gitblit v1.8.0