From e5ca9f9fb28d65a71dc14c19e87098c62141419e Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 04 三月 2025 17:40:51 +0800
Subject: [PATCH] 2025年03月04日17:40:49

---
 app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java                 |    4 
 app/src/main/java/com/hdl/photovoltaic/other/HdlESLocalJsonLogic.java        |   90 +++++------------
 app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java         |    3 
 app/src/main/java/com/hdl/photovoltaic/ui/bean/AuthorizationAccountBean.java |   64 ++++++++++++
 app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog.java  |    2 
 app/src/main/res/values-en/strings.xml                                       |    4 
 app/src/main/java/com/hdl/photovoltaic/enums/UnitType.java                   |    9 +
 app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java             |   74 ++++++++++++++
 app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java            |   25 ++++-
 app/build.gradle                                                             |    4 
 10 files changed, 201 insertions(+), 78 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index d19861f..704a7ef 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -30,7 +30,7 @@
         minSdkVersion 23
         targetSdkVersion 34
         versionCode 4
-        versionName "1.0.0"//鐗堟湰瑙勫垯1.3鏄骇鍝佸姛鑳借凯浠g敤鐨�,鏈�鍚庝竴浣�0鏄垜浠慨澶峛ug鐢ㄧ殑
+        versionName "1.0.1"//鐗堟湰瑙勫垯1.3鏄骇鍝佸姛鑳借凯浠g敤鐨�,鏈�鍚庝竴浣�0鏄垜浠慨澶峛ug鐢ㄧ殑
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         multiDexEnabled true
         manifestPlaceholders = mfph
@@ -90,7 +90,7 @@
      */
     android.applicationVariants.configureEach { variant ->
         variant.outputs.configureEach {
-            outputFileName = "photovoltaic_v${versionName}_${generateTime()}_${getEnvironmentVersion(4)}.apk"
+            outputFileName = "photovoltaic_v${versionName}_${generateTime()}_${getEnvironmentVersion(1)}.apk"
         }
     }
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/enums/UnitType.java b/app/src/main/java/com/hdl/photovoltaic/enums/UnitType.java
index 9f8612e..24874d9 100644
--- a/app/src/main/java/com/hdl/photovoltaic/enums/UnitType.java
+++ b/app/src/main/java/com/hdl/photovoltaic/enums/UnitType.java
@@ -42,6 +42,15 @@
      * 鐢甸噺(1000GWh=1TWh)
      */
     String tWh = "TWh";
+
+    String Wp = "Wp";
     String kWp = "kWp";
+    String MWp = "MWp";
+    String GWp = "GWp";
+    String TWp = "TWp";
+    String PWp = "PWp";
+    String EWp = "EWp";
+    String ZWp = "ZWp";
     String noValue = "0.00";
+
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
index c1aae2b..538cd35 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -5,6 +5,7 @@
 
 import com.google.gson.Gson;
 import com.google.gson.JsonObject;
+import com.google.gson.reflect.TypeToken;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
 import com.hdl.linkpm.sdk.user.bean.HDLLoginBean;
@@ -15,10 +16,13 @@
 import com.hdl.photovoltaic.internet.HttpClient;
 import com.hdl.photovoltaic.internet.api.HttpApi;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.ui.bean.AuthorizationAccountBean;
 import com.hdl.photovoltaic.ui.bean.BUserInfo;
 import com.hdl.photovoltaic.ui.bean.CUserInfo;
 
 import java.io.File;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.regex.Matcher;
@@ -111,7 +115,7 @@
     }
 
     /**
-     * 淇敼瀵嗙爜(B绔处鍙�)
+     * 妫�楠岃处鍙锋潈闄�(B绔处鍙�)
      *
      * @param cloudCallBeak -
      */
@@ -121,11 +125,22 @@
         json.addProperty("sysCode", "xenterra-app");
         HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
             @Override
-            public void onSuccess(String str) {
+            public void onSuccess(String json) {
                 if (cloudCallBeak != null) {
-//                    boolean isBoolean =!TextUtils.isEmpty(str);
-//                    cloudCallBeak.onSuccess(isBoolean);
-                    cloudCallBeak.onSuccess(true);
+                    if (TextUtils.isEmpty(json)) {
+                        cloudCallBeak.onSuccess(false);
+                    } else {
+                        Gson gson = new Gson();
+                        Type type = new TypeToken<List<AuthorizationAccountBean>>() {
+                        }.getType();
+                        List<AuthorizationAccountBean> authorizationAccounts = gson.fromJson(json, type);
+                        if (authorizationAccounts != null && !authorizationAccounts.isEmpty()) {
+                            cloudCallBeak.onSuccess(true);
+                        } else {
+                            cloudCallBeak.onSuccess(false);
+                        }
+                    }
+
                 }
             }
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
index 5a4fd71..441f7b7 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
@@ -85,6 +85,7 @@
         }
         return divideByOneThousandAndFormat(value).toString();
     }
+
     /**
      * @param value        鍊�
      * @param diploidValue 鍊嶆暟
@@ -111,7 +112,7 @@
             BigDecimal bigDecimal = new BigDecimal(doubleValue);
             return bigDecimal.divide(new BigDecimal(diploidValue), 2, RoundingMode.HALF_EVEN);
         } catch (Exception e) {
-            return  new BigDecimal(0);
+            return new BigDecimal(0);
         }
     }
 
@@ -127,7 +128,6 @@
         double doubleValue = Double.parseDouble(value);
         return BigDecimal.valueOf(doubleValue).setScale(2, RoundingMode.HALF_UP);
     }
-
 
 
     /**
@@ -200,6 +200,76 @@
     }
 
     /**
+     * 杞崲(kWh)鍗曚綅
+     *
+     * @param value 鍊�
+     */
+    public static String convertKWUnit(String value) {
+        try {
+            double doubleValue = Double.parseDouble(value);
+            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
+                return UnitType.mWh;
+            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+                return UnitType.gWh;
+            } else if (doubleValue > 1000 * 1000 * 1000) {
+                return UnitType.tWh;
+            } else {
+                return UnitType.kWh;
+            }
+        } catch (Exception e) {
+            return UnitType.kWh;
+        }
+
+    }
+
+    /**
+     * 杞崲(kW)鍗曚綅
+     *
+     * @param value 鍊�
+     */
+    public static String convertKWhUnit(String value) {
+        try {
+            double doubleValue = Double.parseDouble(value);
+            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
+                return UnitType.mW;
+            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+                return UnitType.gW;
+            } else if (doubleValue > 1000 * 1000 * 1000) {
+                return UnitType.tW;
+            } else {
+                return UnitType.kW;
+            }
+        } catch (Exception e) {
+            return UnitType.kW;
+        }
+
+    }
+
+    /**
+     * 杞崲(Wp)鍗曚綅
+     *
+     * @param value 鍊�
+     */
+    public static String convertWPUnit(String value) {
+        try {
+            double doubleValue = Double.parseDouble(value);
+            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
+                return UnitType.MWp;
+            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+                return UnitType.GWp;
+            } else if (doubleValue > 1000 * 1000 * 1000) {
+                return UnitType.TWp;
+            } else {
+                return UnitType.kWp;
+            }
+        } catch (Exception e) {
+            return UnitType.kWp;
+        }
+
+    }
+
+
+    /**
      * 鐢熸垚浜岀淮鐮�
      *
      * @param content                瀛楃涓插唴瀹�
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlESLocalJsonLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlESLocalJsonLogic.java
index f510c1a..37a582a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlESLocalJsonLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlESLocalJsonLogic.java
@@ -74,7 +74,6 @@
      * @return map
      */
     private String getVersion(String fileName) {
-
         Map<String, String> map = this.getFeliAndVersion();
         for (Map.Entry<String, String> entry : map.entrySet()) {
             if (entry.getKey().equals(fileName)) {
@@ -84,75 +83,37 @@
         return "";
     }
 
-
-    /**
-     * 鑾峰彇json鏂囦欢鍚�,璁惧绫诲瀷锛岃澶囧瀷鍙�
-     *
-     * @return map
-     */
-    private List<String> getFileNameAndDeviceTypeAndDeviceModeList() {
-        //娉ㄦ剰锛堥�嗗彉鍣�:ME-GSE-S5K锛岃礋杞戒腑蹇�:ME-GSE-SPG63A锛宐ms:ME-GSE-BMS15K锛岀數姹犲寘:ME-GSE-B5K锛夎澶囧瀷鍙蜂笉涓�鏍�
-        //鎷兼帴瑙勫垯锛氭枃浠跺悕_璁惧绫诲瀷_璁惧淇″彿
-
-        List<String> stringList = new ArrayList<>();
-        stringList.add(FileName.hdl_lc_ecu_info_item + concatenation_symbol + DeviceType.LC + concatenation_symbol + DeviceModel.LC);//鑾峰彇璐熻浇鎺у埗涓績
-        stringList.add(FileName.hdl_lc_ecu_quick + concatenation_symbol + DeviceType.LC + concatenation_symbol + DeviceModel.LC);//鍒涘缓鐢电珯-璐熻浇鎺у埗涓績鍙傛暟閰嶇疆
-        stringList.add(FileName.hdl_inv_ecu_quick + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV);//鍒涘缓鐢电珯-閫嗗彉鍣ㄥ弬鏁伴厤缃�
-        stringList.add(FileName.hdl_inv_ecu + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV);//閫嗗彉鍣ㄥ弬鏁伴厤缃�
-        stringList.add(FileName.hdl_inv_ecu_info_pv + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV);// 閫嗗彉鍣ㄨ鎯�-pv
-        stringList.add(FileName.hdl_inv_ecu_info_output + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV);//閫嗗彉鍣ㄨ鎯�-杈撳嚭
-        stringList.add(FileName.hdl_inv_ecu_info_item + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV);//閫嗗彉鍣ㄨ鎯�-item椤�
-        stringList.add(FileName.hdl_inv_ecu_info_signal + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV);//閫嗗彉鍣ㄨ鎯�-淇″彿鐐�
-        stringList.add(FileName.hdl_bms_ecu + concatenation_symbol + DeviceType.BMS + concatenation_symbol + DeviceModel.INV_BMS);//鑾峰彇BMS淇℃伅
-        stringList.add(FileName.hdl_battery_ecu + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.INV_BATTERY);//鐢垫睜鍖呬俊鎭�
-        stringList.add(FileName.hdl_battery_ecu_cell + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.INV_BATTERY);//鐢垫睜鍖�-鐢佃姱淇℃伅
-        //绂荤綉閫嗗彉鍣�
-        stringList.add(FileName.hdl_inv_ecu_quick_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
-        stringList.add(FileName.hdl_inv_master_ecu_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
-        stringList.add(FileName.hdl_inv_slave_ecu_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
-        stringList.add(FileName.hdl_inv_ecu_info_pv_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
-        stringList.add(FileName.hdl_inv_ecu_info_input_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
-        stringList.add(FileName.hdl_inv_ecu_info_output_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
-        stringList.add(FileName.hdl_inv_ecu_info_item_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
-        stringList.add(FileName.hdl_inv_ecu_info_signal_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
-        stringList.add(FileName.hdl_bms_ecu_off + concatenation_symbol + DeviceType.BMS + concatenation_symbol + DeviceModel.OFF_INV_BMS);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
-        stringList.add(FileName.hdl_bms_ecu_off + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.OFF_INV_BATTERY);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
-        stringList.add(FileName.hdl_battery_ecu_cell_off + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.OFF_INV_BATTERY);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
-        return stringList;
-    }
-
     /**
      * 鏂囦欢瀵瑰簲鐗堟湰鍙�
      *
      * @return map
      */
     private Map<String, String> getFeliAndVersion() {
-
         Map<String, String> map = new HashMap<>();
         //鎷兼帴瑙勫垯锛氭枃浠跺悕_璁惧绫诲瀷_璁惧淇″彿
-        map.put(FileName.hdl_lc_ecu_info_item + concatenation_symbol + DeviceType.LC + concatenation_symbol + DeviceModel.LC, Version.v_1_5_0);
-        map.put(FileName.hdl_lc_ecu_quick + concatenation_symbol + DeviceType.LC + concatenation_symbol + DeviceModel.LC, Version.v_1_5_0);
-        map.put(FileName.hdl_inv_ecu_quick + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_5_1);
-        map.put(FileName.hdl_inv_ecu + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_5_1);//鏇存柊鍒皏_1_5_2,鐩墠纭欢涓嶆敮鎸�
-        map.put(FileName.hdl_inv_ecu_info_pv + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_4_2);
-        map.put(FileName.hdl_inv_ecu_info_output + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_4_2);
-        map.put(FileName.hdl_inv_ecu_info_item + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_5_1);//鏇存柊鍒皏_1_5_2锛岀洰鍓嶇‖浠朵笉鏀寔卢
-        map.put(FileName.hdl_inv_ecu_info_signal + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_4_1);
-        map.put(FileName.hdl_bms_ecu + concatenation_symbol + DeviceType.BMS + concatenation_symbol + DeviceModel.INV_BMS, Version.v_1_4_2);
-        map.put(FileName.hdl_battery_ecu + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.INV_BATTERY, Version.v_1_4_2);
-        map.put(FileName.hdl_battery_ecu_cell + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.INV_BATTERY, Version.v_1_4_2);
+        map.put(FileName.hdl_lc_ecu_info_item + concatenation_symbol + DeviceType.LC + concatenation_symbol + DeviceModel.LC, Version.v_1_5_0);//鑾峰彇璐熻浇鎺у埗涓績
+        map.put(FileName.hdl_lc_ecu_quick + concatenation_symbol + DeviceType.LC + concatenation_symbol + DeviceModel.LC, Version.v_1_5_0);//鍒涘缓鐢电珯-璐熻浇鎺у埗涓績鍙傛暟閰嶇疆
+        map.put(FileName.hdl_inv_ecu_quick + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_5_1);//鍒涘缓鐢电珯-閫嗗彉鍣ㄥ弬鏁伴厤缃�
+        map.put(FileName.hdl_inv_ecu + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_5_1);//閫嗗彉鍣ㄥ弬鏁伴厤缃�//鏇存柊鍒皏_1_5_2,鐩墠纭欢涓嶆敮鎸�
+        map.put(FileName.hdl_inv_ecu_info_pv + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_4_2);// 閫嗗彉鍣ㄨ鎯�-pv
+        map.put(FileName.hdl_inv_ecu_info_output + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_4_2);//閫嗗彉鍣ㄨ鎯�-杈撳嚭
+        map.put(FileName.hdl_inv_ecu_info_item + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_5_1);//閫嗗彉鍣ㄨ鎯�-item椤�//鏇存柊鍒皏_1_5_2锛岀洰鍓嶇‖浠朵笉鏀寔卢
+        map.put(FileName.hdl_inv_ecu_info_signal + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_4_1);//閫嗗彉鍣ㄨ鎯�-淇″彿鐐�
+        map.put(FileName.hdl_bms_ecu + concatenation_symbol + DeviceType.BMS + concatenation_symbol + DeviceModel.INV_BMS, Version.v_1_4_2);//鑾峰彇BMS淇℃伅
+        map.put(FileName.hdl_battery_ecu + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.INV_BATTERY, Version.v_1_4_2);//鐢垫睜鍖呬俊鎭�
+        map.put(FileName.hdl_battery_ecu_cell + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.INV_BATTERY, Version.v_1_4_2);//鐢垫睜鍖�-鐢佃姱淇℃伅
         //绂荤綉閫嗗彉鍣�
-        map.put(FileName.hdl_inv_ecu_quick_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);
-        map.put(FileName.hdl_inv_master_ecu_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);
-        map.put(FileName.hdl_inv_slave_ecu_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);
-        map.put(FileName.hdl_inv_ecu_info_pv_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);
-        map.put(FileName.hdl_inv_ecu_info_input_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);
-        map.put(FileName.hdl_inv_ecu_info_output_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);
-        map.put(FileName.hdl_inv_ecu_info_item_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);
-        map.put(FileName.hdl_inv_ecu_info_signal_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);
-        map.put(FileName.hdl_bms_ecu_off + concatenation_symbol + DeviceType.BMS + concatenation_symbol + DeviceModel.OFF_INV_BMS, Version.v_1_5_2);
-        map.put(FileName.hdl_bms_ecu_off + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.OFF_INV_BATTERY, Version.v_1_5_2);
-        map.put(FileName.hdl_battery_ecu_cell_off + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.OFF_INV_BATTERY, Version.v_1_5_2);
+        map.put(FileName.hdl_inv_ecu_quick_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
+        map.put(FileName.hdl_inv_master_ecu_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
+        map.put(FileName.hdl_inv_slave_ecu_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
+        map.put(FileName.hdl_inv_ecu_info_pv_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
+        map.put(FileName.hdl_inv_ecu_info_input_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
+        map.put(FileName.hdl_inv_ecu_info_output_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
+        map.put(FileName.hdl_inv_ecu_info_item_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
+        map.put(FileName.hdl_inv_ecu_info_signal_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
+        map.put(FileName.hdl_bms_ecu_off + concatenation_symbol + DeviceType.BMS + concatenation_symbol + DeviceModel.OFF_INV_BMS, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
+        map.put(FileName.hdl_bms_ecu_off + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.OFF_INV_BATTERY, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
+        map.put(FileName.hdl_battery_ecu_cell_off + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.OFF_INV_BATTERY, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
         return map;
     }
 
@@ -160,8 +121,11 @@
      * 鍚戜簯绔幏鍙朖son銆愭墍鏈夈�戣剼鏈�
      */
     public void getAllHdlESLocalJson() {
-        for (String str : this.getFileNameAndDeviceTypeAndDeviceModeList()) {
-            String[] ary = str.split(concatenation_symbol);
+        for (Map.Entry<String, String> str : this.getFeliAndVersion().entrySet()) {
+            if (TextUtils.isEmpty(str.getKey())) {
+                continue;
+            }
+            String[] ary = str.getKey().split(concatenation_symbol);
             String fileName = ary[0];
             String deviceType = ary[1];
             String deviceMode = ary[2];
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
index bcb0620..f3453f2 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
@@ -290,7 +290,7 @@
                 boolean isSelected = UserConfigManage.getInstance().isAcceiptPolicy();
                 if (!isSelected) {
                     //闅愮鍗忚鎻愮ず
-                    getDialog();
+                    getAcceiptPolicyDialog();
                     return;
                 }
                 //鐧诲綍
@@ -622,7 +622,7 @@
     /**
      * 寮圭獥
      */
-    private void getDialog() {
+    private void getAcceiptPolicyDialog() {
 
         ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(_mActivity);
         confirmationCancelDialog.show();
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/AuthorizationAccountBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/AuthorizationAccountBean.java
new file mode 100644
index 0000000..f276ce8
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/AuthorizationAccountBean.java
@@ -0,0 +1,64 @@
+package com.hdl.photovoltaic.ui.bean;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+public class AuthorizationAccountBean implements Serializable {
+    private String menuId;
+    private String menuName;
+    private String menuType;
+    private String menuCode;
+    private String menuIcon;
+
+    public int getMenuOrder() {
+        return menuOrder;
+    }
+
+    public void setMenuOrder(int menuOrder) {
+        this.menuOrder = menuOrder;
+    }
+
+    public String getMenuIcon() {
+        return menuIcon;
+    }
+
+    public void setMenuIcon(String menuIcon) {
+        this.menuIcon = menuIcon;
+    }
+
+    public String getMenuCode() {
+        return menuCode;
+    }
+
+    public void setMenuCode(String menuCode) {
+        this.menuCode = menuCode;
+    }
+
+    public String getMenuType() {
+        return menuType;
+    }
+
+    public void setMenuType(String menuType) {
+        this.menuType = menuType;
+    }
+
+    public String getMenuName() {
+        return menuName;
+    }
+
+    public void setMenuName(String menuName) {
+        this.menuName = menuName;
+    }
+
+    public String getMenuId() {
+        return menuId;
+    }
+
+    public void setMenuId(String menuId) {
+        this.menuId = menuId;
+    }
+
+    private int menuOrder;
+//    private List<String> children = new ArrayList<>();
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
index 092a5ce..26c69ed 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
@@ -537,8 +537,9 @@
                         if (dataOverBean == null) {
                             return;
                         }
-                        String capacityValue = HdlCommonLogic.getBigDecimal(dataOverBean.getInstalledCapacity()).toString();
+                        String capacityValue = HdlCommonLogic.divideByOneThousandAndFormat(dataOverBean.getInstalledCapacity()).toString();
                         viewBinding.infoRl1Text1Tv.setText(capacityValue);
+                        viewBinding.kwpUnit.setText(HdlCommonLogic.convertWPUnit(dataOverBean.getInstalledCapacity()));
                         viewBinding.infoRl1Text3Tv.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getPower()));
 
 //                        String str = dataOverBean.getPowerRatio() + "%";
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog.java
index 2928c1b..5d64da3 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog.java
@@ -39,7 +39,7 @@
 
 //        setCancelable(true);//绯荤粺鍚庨��鍙互鍙栨秷
         //绌虹櫧澶勪笉鑳藉彇娑堝姩鐢�
-//        setCanceledOnTouchOutside(false);
+        setCanceledOnTouchOutside(false);
         //鍒濆鍖栫晫闈㈡帶浠�
         initView();
         //鍒濆鍖栫晫闈㈡暟鎹�
diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml
index e418a61..df2b923 100644
--- a/app/src/main/res/values-en/strings.xml
+++ b/app/src/main/res/values-en/strings.xml
@@ -345,8 +345,8 @@
     <string name="account">Account</string>
     <string name="psw">Password</string>
 
-    <string name="battery_capacity_indicator">Battery capacity indicator</string>
-    <string name="rated_battery_capacity">Rated battery capacity</string>
+    <string name="battery_capacity_indicator">Battery capacity</string>
+    <string name="rated_battery_capacity">Battery capacity</string>
     <string name="be_debugging">Be debugging</string>
     <string name="debugging_completed">Debugging completed</string>
     <string name="delivered">Delivered</string>

--
Gitblit v1.8.0