From b9cc7390e8e8ce64c41c26fb369c98ce669d660c Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 07 五月 2025 15:02:30 +0800
Subject: [PATCH] Merge branch '1.2.0'

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java |   79 ++++++++++++++++++---------------------
 1 files changed, 36 insertions(+), 43 deletions(-)

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 4720942..a935e16 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
@@ -62,14 +62,15 @@
 
 
     /**
-     * @param value 鍊�
+     * @param value    鍊�
+     * @param unitType 闇�瑕佽浆鐨勫崟浣嶏紙kW锛宬Wh锛�
      * @return 瀛楃涓插�艰繑鍥�
      */
-    public static String convertDoubleValue(String value) {
+    public static String convertDoubleValue(String value, String unitType) {
         if (TextUtils.isEmpty(value)) {
             return UnitType.noValue;
         }
-        return divideByOneThousandAndFormat(value).toString();
+        return divideByOneThousandAndFormat(value,unitType).toString();
     }
 
     /**
@@ -122,10 +123,10 @@
      * @param value 鍊�
      * @return BigDecimal
      */
-    public static BigDecimal divideByOneThousandAndFormat(String value) {
+    public static BigDecimal divideByOneThousandAndFormat(String value, String unitType) {
         try {
             double doubleValue = Double.parseDouble(value);
-            int mDoubleValue = doubleValue(value);
+            long mDoubleValue = doubleValue(value,unitType);
             if (mDoubleValue == 0) {
                 return getBigDecimal(value);
             } else {
@@ -143,17 +144,29 @@
      *
      * @param value 鍊�
      */
-    public static int doubleValue(String value) {
+    public static long doubleValue(String value, String unitType) {
         try {
             double doubleValue = Double.parseDouble(value);
-            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
-                return 1000;
-            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
-                return 1000 * 1000;
-            } else if (doubleValue > 1000 * 1000 * 1000) {
-                return 1000 * 1000 * 1000;
+            if (unitType.equals(UnitType.kW)) {
+                if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
+                    return 1000 ;
+                } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+                    return 1000 * 1000 ;
+                } else if (doubleValue >= 1000 * 1000 * 1000) {
+                    return 1000L * 1000 * 1000 ;
+                } else {
+                    return 1000;
+                }
             } else {
-                return 0;
+                if (doubleValue >= 1000 && doubleValue < 1000 * 1000) {
+                    return 1000;
+                } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+                    return 1000 * 1000;
+                } else if (doubleValue >= 1000 * 1000 * 1000) {
+                    return 1000 * 1000 * 1000;
+                } else {
+                    return 0;
+                }
             }
         } catch (Exception e) {
             return 0;
@@ -161,29 +174,7 @@
 
     }
 
-    /**
-     * 杞崲鍗曚綅
-     *
-     * @param value    鍊�
-     * @param unitType 琛ㄧず鏄崟浣嶏紙鍔熺巼锛岀數閲忥級
-     */
-    public static String convertUnit(String value, String unitType) {
-        try {
-            double doubleValue = Double.parseDouble(value);
-            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
-                return unitType.equals(UnitType.kW) ? UnitType.mW : UnitType.mWh;
-            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
-                return unitType.equals(UnitType.kW) ? UnitType.gW : UnitType.gWh;
-            } else if (doubleValue > 1000 * 1000 * 1000) {
-                return unitType.equals(UnitType.kW) ? UnitType.tW : UnitType.tWh;
-            } else {
-                return unitType.equals(UnitType.kW) ? UnitType.kW : UnitType.kWh;
-            }
-        } catch (Exception e) {
-            return unitType.equals(UnitType.kW) ? UnitType.kW : UnitType.kWh;
-        }
 
-    }
 
     /**
      * 杞崲鐢甸噺(kWh)鍗曚綅
@@ -193,11 +184,11 @@
     public static String convertKWHUnit(String value) {
         try {
             double doubleValue = Double.parseDouble(value);
-            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
+            if (doubleValue >= 1000 && doubleValue < 1000 * 1000) {
                 return UnitType.mWh;
-            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+            } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
                 return UnitType.gWh;
-            } else if (doubleValue > 1000 * 1000 * 1000) {
+            } else if (doubleValue >= 1000 * 1000 * 1000) {
                 return UnitType.tWh;
             } else {
                 return UnitType.kWh;
@@ -217,10 +208,12 @@
         try {
             double doubleValue = Double.parseDouble(value);
             if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
+                return UnitType.kW;
+            } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
                 return UnitType.mW;
-            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+            } else if (doubleValue >= 1000 * 1000 * 1000&&doubleValue < 1000 * 1000 * 1000*1000L) {
                 return UnitType.gW;
-            } else if (doubleValue > 1000 * 1000 * 1000) {
+            } else if (doubleValue >= 1000 * 1000 * 1000*1000L) {
                 return UnitType.tW;
             } else {
                 return UnitType.kW;
@@ -239,11 +232,11 @@
     public static String convertKWPUnit(String value) {
         try {
             double doubleValue = Double.parseDouble(value);
-            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
+            if (doubleValue >= 1000 && doubleValue < 1000 * 1000) {
                 return UnitType.MWp;
-            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
+            } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
                 return UnitType.GWp;
-            } else if (doubleValue > 1000 * 1000 * 1000) {
+            } else if (doubleValue >= 1000 * 1000 * 1000) {
                 return UnitType.TWp;
             } else {
                 return UnitType.kWp;

--
Gitblit v1.8.0