Kaynağa Gözat

第三方导入,数字类型增加默认值

欧阳劲驰 1 ay önce
ebeveyn
işleme
6c68d55319

+ 8 - 7
src/main/java/com/shkpr/service/alambizplugin/components/GisSurveyThirdImporter.java

@@ -493,14 +493,15 @@ public class GisSurveyThirdImporter {
         if (StringUtils.isNotBlank(value)) {
             //double按数字处理,否则按字符串处理
             if (propertyTemplate.getType().equals(GisSurveyExcelDefine.DATA_TYPE.DOUBLE)
-                    && NumberUtils.isParsable(value)
                     && propertyTemplate.getPrecisions() != null) {
-                //值按精度设置小数位,并抹去0
-                value = new BigDecimal(value)
-                        .setScale(propertyTemplate.getPrecisions(), RoundingMode.HALF_UP)
-                        .stripTrailingZeros()
-                        .toPlainString();
-
+                //如能被解析,则处理精度,否则设置为0
+                if (NumberUtils.isParsable(value)) {
+                    //值按精度设置小数位,并抹去0
+                    value = new BigDecimal(value)
+                            .setScale(propertyTemplate.getPrecisions(), RoundingMode.DOWN)
+                            .stripTrailingZeros()
+                            .toPlainString();
+                } else value = "0";
             } else {
                 //值长度64截断
                 value = StringUtils.substring(value, 0, 64);