소스 검색

直播数据报表 报表数据 过滤科学计数法数据

zhaoxian 3 년 전
부모
커밋
d3fa875e26

+ 25 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/enums/liveDataUtil.java

@@ -5,6 +5,7 @@ import cn.com.ctop.common.module.utils.ExportExcelUtils;
 import com.alibaba.fastjson.JSONObject;
 import org.apache.poi.ss.usermodel.Row;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -173,4 +174,28 @@ public class liveDataUtil {
         return obj;
     }
 
+
+    /**
+     * 1、判断是否为数字类型(NUMBER)或数字计算公式(NUMBER_FORMULA);
+     * 2、获取解析后的值进行判断是否包含有(E、e、+等符号);
+     * 3、使用java自带数学类,将科学计算公式转换成所需类型。
+     * @return
+     */
+    public static String NUMBER_FORMULA(String E_Value) {
+        String value=null;
+
+        // 判断是否为科学计数法(包含E、e、+等符号)
+        if (("" + E_Value).indexOf("E") != -1 || ("" + E_Value).indexOf("e") != -1 || ("" + E_Value).indexOf("+") != -1) {
+            BigDecimal bd = new BigDecimal("" + E_Value);
+            if (("" + E_Value).indexOf("E") != -1 || ("" + E_Value).indexOf("e") != -1 || ("" + E_Value).indexOf("+") != -1) {
+                bd = new BigDecimal(Double.parseDouble(bd.toString()));
+                value = bd.toString();
+            } else {
+                value = "" + E_Value;
+            }
+        } else {
+            value = "" + E_Value;
+        }
+        return value;
+    }
 }

+ 1 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataAdServiceImpl.java

@@ -139,6 +139,7 @@ public class LiveDataAdServiceImpl extends ServiceImpl<LiveDataAdMapper, LiveDat
                 if ("liveStartTime".equals(code) || "liveEndTime".equals(code)) {
                     value = DateUtils.formatDate(value.replace("/", "-"), DateUtils.NEW_FORMAT2);
                 }
+                value = liveDataUtil.NUMBER_FORMULA(value);
                 if (value.contains("%")) {
                     value = value.replace("%", "");
                     if (!("0.00".equals(value) || "0.0".equals(value) || "0".equals(value))) {

+ 1 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataAgeServiceImpl.java

@@ -159,6 +159,7 @@ public class LiveDataAgeServiceImpl extends ServiceImpl<LiveDataAgeMapper, LiveD
                     flag = true;
                     continue;
                 }
+                value = liveDataUtil.NUMBER_FORMULA(value);
                 if (value.contains("%")) {
                     value = value.replace("%", "");
                     if (!("0.00".equals(value) || "0.0".equals(value) || "0".equals(value))) {

+ 1 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataGenderServiceImpl.java

@@ -160,6 +160,7 @@ public class LiveDataGenderServiceImpl extends ServiceImpl<LiveDataGenderMapper,
                     flag = true;
                     continue;
                 }
+                value = liveDataUtil.NUMBER_FORMULA(value);
                 if (value.contains("%")) {
                     value = value.replace("%", "");
                     if (!("0.00".equals(value) || "0.0".equals(value) || "0".equals(value))) {

+ 1 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataMaterialServiceImpl.java

@@ -146,6 +146,7 @@ public class LiveDataMaterialServiceImpl extends ServiceImpl<LiveDataMaterialMap
                 if (Check.isNull(value)) {
                     return Result.error("数据缺失,文档中第" + (i + 1) + "行,【" + MaterialEnum.getNameByCode(code) + "】为空项,请补充完善后导入");
                 }
+                value = liveDataUtil.NUMBER_FORMULA(value);
                 if (value.contains("%")) {
                     value = value.replace("%", "");
                     if (!("0.00".equals(value) || "0.0".equals(value) || "0".equals(value))) {

+ 1 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataPriceServiceImpl.java

@@ -158,6 +158,7 @@ public class LiveDataPriceServiceImpl extends ServiceImpl<LiveDataPriceMapper, L
                     flag = true;
                     continue;
                 }
+                value = liveDataUtil.NUMBER_FORMULA(value);
                 if (value.contains("%")) {
                     value = value.replace("%", "");
                     if (!("0.00".equals(value) || "0.0".equals(value) || "0".equals(value))) {

+ 1 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataProvinceServiceImpl.java

@@ -159,6 +159,7 @@ public class LiveDataProvinceServiceImpl extends ServiceImpl<LiveDataProvinceMap
                     flag = true;
                     continue;
                 }
+                value = liveDataUtil.NUMBER_FORMULA(value);
                 if (value.contains("%")) {
                     value = value.replace("%", "");
                     if (!("0.00".equals(value) || "0.0".equals(value) || "0".equals(value))) {

+ 1 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataTouchServiceImpl.java

@@ -138,6 +138,7 @@ public class LiveDataTouchServiceImpl extends ServiceImpl<LiveDataTouchMapper, L
                 if ("statDate".equals(code)) {
                     value = DateUtils.formatDate(value.replace("/", "-"), DateUtils.WEB_FORMAT);
                 }
+                value = liveDataUtil.NUMBER_FORMULA(value);
                 if (value.contains("%")) {
                     value = value.replace("%", "");
                     if (!("0.00".equals(value) || "0.0".equals(value) || "0".equals(value))) {