From 1f3acf4c29f367e40a3f589b51176ed24e28948f Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 02 九月 2025 17:54:42 +0800
Subject: [PATCH] 2025年09月02日17:54:39
---
app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java | 172 +++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 118 insertions(+), 54 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 d7b291b..a935e16 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
@@ -1,46 +1,32 @@
package com.hdl.photovoltaic.other;
-import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
-import android.os.SystemClock;
import android.text.SpannableStringBuilder;
import android.text.TextPaint;
import android.text.TextUtils;
import android.text.style.ClickableSpan;
import android.view.View;
-import android.view.inputmethod.InputMethodManager;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
-import com.google.gson.JsonObject;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
-import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.R;
-import com.hdl.photovoltaic.config.ConstantManage;
-import com.hdl.photovoltaic.config.UserConfigManage;
-import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
import com.hdl.photovoltaic.enums.LowerTagType;
import com.hdl.photovoltaic.enums.UnitType;
import com.hdl.photovoltaic.utils.GlideUtils;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
-import com.hdl.sdk.link.core.callback.BaseCallBack;
import org.greenrobot.eventbus.EventBus;
-import org.json.JSONObject;
-import java.io.InputStream;
-import java.io.OutputStream;
import java.math.BigDecimal;
import java.math.RoundingMode;
-import java.net.InetSocketAddress;
-import java.net.Socket;
import java.util.Hashtable;
/**
@@ -76,28 +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();
- }
-
-
- public static String convertString(Object value) {
- return String.valueOf(value);
- }
-
-
- public static BigDecimal getBigDecimal(String value) {
- if (TextUtils.isEmpty(value)) {
- return new BigDecimal(0);
- }
- double doubleValue = Double.parseDouble(value);
- return BigDecimal.valueOf(doubleValue).setScale(2, RoundingMode.HALF_UP);
+ return divideByOneThousandAndFormat(value,unitType).toString();
}
/**
@@ -116,15 +89,44 @@
}
/**
+ * @param value 鍊�
+ * @param diploidValue 鍊嶆暟
+ * @return 瀛楃涓�
+ */
+ public static BigDecimal convertBigDecimal(String value, int diploidValue) {
+ try {
+ double doubleValue = Double.parseDouble(value);
+ BigDecimal bigDecimal = new BigDecimal(doubleValue);
+ return bigDecimal.divide(new BigDecimal(diploidValue), 2, RoundingMode.HALF_EVEN);
+ } catch (Exception e) {
+ return new BigDecimal(0);
+ }
+ }
+
+ public static String convertString(Object value) {
+ return String.valueOf(value);
+ }
+
+
+ public static BigDecimal getBigDecimal(String value) {
+ if (TextUtils.isEmpty(value)) {
+ return new BigDecimal(0);
+ }
+ double doubleValue = Double.parseDouble(value);
+ return BigDecimal.valueOf(doubleValue).setScale(2, RoundingMode.HALF_UP);
+ }
+
+
+ /**
* 闄や互涓�鍗冨拰鏍煎紡
*
* @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 {
@@ -142,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;
@@ -160,29 +174,79 @@
}
+
+
/**
- * 杞崲鍗曚綅
+ * 杞崲鐢甸噺(kWh)鍗曚綅
*
- * @param value 鍊�
- * @param unitType 琛ㄧず鏄崟浣嶏紙鍔熺巼锛岀數閲忥級
+ * @param value 鍊�
*/
- public static String convertUnit(String value, String unitType) {
+ public static String convertKWHUnit(String value) {
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;
+ 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.equals(UnitType.kW) ? UnitType.kW : UnitType.kWh;
+ return UnitType.kWh;
}
} catch (Exception e) {
- return unitType.equals(UnitType.kW) ? UnitType.kW : UnitType.kWh;
+ return UnitType.kWh;
}
}
+
+ /**
+ * 杞崲鍔熺巼(kW)鍗曚綅
+ *
+ * @param value 鍊�
+ */
+ public static String convertKWUnit(String value) {
+ 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 * 1000&&doubleValue < 1000 * 1000 * 1000*1000L) {
+ return UnitType.gW;
+ } else if (doubleValue >= 1000 * 1000 * 1000*1000L) {
+ return UnitType.tW;
+ } else {
+ return UnitType.kW;
+ }
+ } catch (Exception e) {
+ return UnitType.kW;
+ }
+
+ }
+
+ /**
+ * 杞崲(kWp)鍗曚綅
+ *
+ * @param value 鍊�
+ */
+ public static String convertKWPUnit(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;
+ }
+
+ }
+
/**
* 鐢熸垚浜岀淮鐮�
@@ -294,7 +358,7 @@
public void updateDrawState(@NonNull TextPaint ds) {
super.updateDrawState(ds);
//璁剧疆瀛椾綋棰滆壊
- ds.setColor(HDLApp.getInstance().getResources().getColor(R.color.text_E6FFFFFF, null));
+ ds.setColor(HDLApp.getInstance().getResources().getColor(R.color.text_FFACACAC, null));
// 鍘绘帀涓嬪垝绾�
ds.setUnderlineText(isUnderline);
}
--
Gitblit v1.8.0