From 6e59290db032779ad7c4ae70bf0f8c63b02cd3f0 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 31 七月 2025 14:04:07 +0800
Subject: [PATCH] 2025年07月31日14:04:05

---
 app/src/main/res/values-zh/strings.xml                                             |    1 
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java         |   33 ++++++++++++++++
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java |    4 ++
 app/src/main/res/values/strings.xml                                                |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java        |   10 +++++
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java   |    4 ++
 app/src/main/res/values-en/strings.xml                                             |    1 
 sdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/GatewayBean.java              |   14 ++++++
 app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java                   |   15 +++++++
 9 files changed, 82 insertions(+), 2 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
index 4f12d4c..07c8a40 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -1329,6 +1329,20 @@
         AtomicInteger atomicInteger = new AtomicInteger(0);
         for (int i = 0; i < list.size(); i++) {
             CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i);
+            if (cloudInverterDeviceBean == null || !cloudInverterDeviceBean.isActivate()) {
+                //鏈縺娲昏澶�
+                atomicInteger.set(atomicInteger.get() + 1);
+                //娉ㄦ剰:杩欎釜閫嗗彉鍣ㄥ彧鑳芥湰鍦版帶鍒�(鍥犱负鎷夸笉鍒癿qtt閫氳绉橀挜浠ュ強GatewayID,鏃犳硶杩滅▼鎺у埗)
+                //鏇存柊閫嗗彉鍣ㄦ湰鍦扮紦瀛樹俊鎭�
+                refreshGatewayCacheData(false, cloudInverterDeviceBean, null, homeId);
+                //鍒版渶鍚庝竴鏉★紝鎵嶅鐞嗗洖璋�
+                if (atomicInteger.get() == list.size()) {
+                    if (cloudCallBeak != null) {
+                        cloudCallBeak.onSuccess(IntegrateCloudAndLocalData(homeId, list, false));
+                    }
+                }
+                HdlLogLogic.print("璁惧鏈縺娲�(mac:" + cloudInverterDeviceBean.getOsn() + "))", true);
+            }
             //鑾峰彇杩滅▼璁惧閫氳淇℃伅(鎷垮埌缃戝叧ID锛宮qtt閫氳绉橀挜)
             getDeviceRemoteInfo(homeId, cloudInverterDeviceBean.getSpk(), cloudInverterDeviceBean.getOsn(), new CloudCallBeak<DeviceRemoteInfo>() {
                 @Override
@@ -1831,6 +1845,7 @@
             gatewayBean.setDevice_model(cloudInverterDeviceBean.getOmodel());//璁惧鍨嬪彿
         }
         gatewayBean.setSpk(cloudInverterDeviceBean.getSpk());//璁惧spk
+        gatewayBean.setActivate(cloudInverterDeviceBean.isActivate());//鏄惁婵�娲昏澶�(true锛氭縺娲伙紱false锛氭湭婵�娲�)
 
 
     }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java
index 9fb4a5a..148f233 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java
@@ -49,6 +49,16 @@
     private HouseInfoBean.Location location;//鐢电珯鍦板潃
     private String localSecret;//鎵�灞炵數绔欑殑鏈湴瀵嗛挜
 
+    public boolean isActivate() {
+        return activate;
+    }
+
+    public void setActivate(boolean activate) {
+        this.activate = activate;
+    }
+
+    private boolean activate;//鏄惁婵�娲昏澶�(true锛氭縺娲伙紱false锛氭湭婵�娲�)
+
     public String getWorkStatusDesc() {
         return workStatusDesc==null?"":this.workStatusDesc;
     }
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 e3807de..75c641e 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
@@ -112,6 +112,23 @@
                             viewBinding.messageInfoAlarmTreatmentOptionsIn.getRoot().setVisibility(View.GONE);
                         }
 
+                        if (!TextUtils.isEmpty(mMessageBean.getPlan())) {
+                            viewBinding.messageInfoAlarmTreatmentOptionsIn.lineV.setVisibility(View.GONE);
+                        } else if (!TextUtils.isEmpty(mMessageBean.getCreateTime().toString())) {
+                            viewBinding.messageInfoAlarmTimeIn.lineV.setVisibility(View.GONE);
+                        } else if (!TextUtils.isEmpty(mMessageBean.getLocationAddress())) {
+                            viewBinding.messageInfoPowerStationLocationIn.lineV.setVisibility(View.GONE);
+                        } else if (!TextUtils.isEmpty(mMessageBean.getDeviceDesc())) {
+                            viewBinding.messageInfoAlarmDeviceIn.lineV.setVisibility(View.GONE);
+                        } else if (!TextUtils.isEmpty(mMessageBean.getRemark())) {
+                            viewBinding.messageInfoRemarkIn.lineV.setVisibility(View.GONE);
+                        } else if (!TextUtils.isEmpty(mMessageBean.getDescription())) {
+                            viewBinding.messageInfoEventContentIn.lineV.setVisibility(View.GONE);
+                        } else if (!TextUtils.isEmpty(mMessageBean.getTitle())) {
+                            viewBinding.messageInfoEventTitleIn.lineV.setVisibility(View.GONE);
+                        }
+
+
                         if (mMessageBean.getStatus().equals(MessageStateType.processed)) {
                             //宸茬粡瑙e喅鎺夌殑闅愯棌
                             viewBinding.messageInfoBackTv.setVisibility(View.GONE);
@@ -283,6 +300,22 @@
         if (TextUtils.isEmpty(mMessageBean.getPlan())) {
             viewBinding.messageInfoAlarmTreatmentOptionsIn.getRoot().setVisibility(View.GONE);
         }
+
+        if (!TextUtils.isEmpty(mMessageBean.getPlan())) {
+            viewBinding.messageInfoAlarmTreatmentOptionsIn.lineV.setVisibility(View.GONE);
+        } else if (!TextUtils.isEmpty(mMessageBean.getCreateTime().toString())) {
+            viewBinding.messageInfoAlarmTimeIn.lineV.setVisibility(View.GONE);
+        } else if (!TextUtils.isEmpty(mMessageBean.getLocationAddress())) {
+            viewBinding.messageInfoPowerStationLocationIn.lineV.setVisibility(View.GONE);
+        } else if (!TextUtils.isEmpty(mMessageBean.getDeviceDesc())) {
+            viewBinding.messageInfoAlarmDeviceIn.lineV.setVisibility(View.GONE);
+        } else if (!TextUtils.isEmpty(mMessageBean.getRemark())) {
+            viewBinding.messageInfoRemarkIn.lineV.setVisibility(View.GONE);
+        } else if (!TextUtils.isEmpty(mMessageBean.getDescription())) {
+            viewBinding.messageInfoEventContentIn.lineV.setVisibility(View.GONE);
+        } else if (!TextUtils.isEmpty(mMessageBean.getTitle())) {
+            viewBinding.messageInfoEventTitleIn.lineV.setVisibility(View.GONE);
+        }
     }
 
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java
index 33b52fe..19dc800 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java
@@ -228,6 +228,10 @@
         searchDeviceAdapter.setOnclickListener(new DeviceInfoAdapter.OnClickListener() {
             @Override
             public void onClick(int position, CloudInverterDeviceBean deviceBean) {
+                if (!deviceBean.isActivate()) {
+                    HdlThreadLogic.toast(_mActivity, getString(R.string.device_not_activated));
+                    return;
+                }
                 if (deviceBean.getDeviceStatus() == 4) {
                     HdlThreadLogic.toast(_mActivity, R.string.device_off);
                     return;
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 d7c1f19..9138302 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
@@ -435,6 +435,10 @@
         deviceInfoAdapter.setOnclickListener(new DeviceInfoAdapter.OnClickListener() {
             @Override
             public void onClick(int position, CloudInverterDeviceBean deviceBean) {
+                if (!deviceBean.isActivate()) {
+                    HdlThreadLogic.toast(_mActivity, getString(R.string.device_not_activated));
+                    return;
+                }
 //                GatewayBean gatewayBean = new GatewayBean();
 //                gatewayBean.setCategorySecondName(deviceBean.getCategorySecondName());
 //                gatewayBean.setDevice_mac(deviceBean.getOsn());
diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml
index d75124f..4abba39 100644
--- a/app/src/main/res/values-en/strings.xml
+++ b/app/src/main/res/values-en/strings.xml
@@ -374,4 +374,5 @@
     <string name="remark">remark</string>
     <string name="treatment_options">Treatment options</string>
     <string name="debug_status_rollback">Should the commissioning status of the %s power station be rolled back to commissioning?</string>
+    <string name="device_not_activated">The device is not activated</string>
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index 96f7316..99429db 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -370,4 +370,5 @@
     <string name="remark">澶囨敞</string>
     <string name="treatment_options">澶勭悊鏂规</string>鏄惁灏嗙數绔欑殑璋冭瘯鐘舵�佸洖閫�鍒拌皟璇曚腑
     <string name="debug_status_rollback">鏄惁灏�%s鐢电珯鐨勮皟璇曠姸鎬佸洖閫�鍒拌皟璇曚腑锛�</string>
+    <string name="device_not_activated">璁惧鏈縺娲�</string>
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d548f5e..5f2a5d1 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -376,6 +376,6 @@
     <string name="remark">remark</string>
     <string name="treatment_options">Treatment options</string>
     <string name="debug_status_rollback">Should the commissioning status of the %s power station be rolled back to commissioning?</string>
-
+    <string name="device_not_activated">The device is not activated</string>
 
 </resources>
\ No newline at end of file
diff --git a/sdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/GatewayBean.java b/sdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/GatewayBean.java
index 665ba99..b08062a 100644
--- a/sdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/GatewayBean.java
+++ b/sdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/GatewayBean.java
@@ -113,8 +113,19 @@
     private String deviceType;
     private String outputActivePower;//閫嗗彉鍣ㄨ緭鍑烘湁鍔熷姛鐜�
 
+    public boolean isActivate() {
+        return activate;
+    }
+
+    public void setActivate(boolean activate) {
+        this.activate = activate;
+    }
+
+    private boolean activate;//鏄惁婵�娲昏澶�(true锛氭縺娲伙紱false锛氭湭婵�娲�)
+
+
     public String getWorkStatusDesc() {
-        return workStatusDesc==null?"":this.workStatusDesc;
+        return workStatusDesc == null ? "" : this.workStatusDesc;
     }
 
     public void setWorkStatusDesc(String workStatusDesc) {
@@ -135,6 +146,7 @@
     public void setOgMaster(boolean ogMaster) {
         this.ogMaster = ogMaster;
     }
+
     public List<String> getUids() {
         return uids;
     }

--
Gitblit v1.8.0