yangyj 1 éve
szülő
commit
549059b1ec

+ 3 - 1
blade-service/blade-manager/src/main/java/com/mixsmart/utils/CustomFunction.java

@@ -538,7 +538,9 @@ public class CustomFunction {
     public static Object proportion(List<Object> data, String cp) {
         if (Func.isNotEmpty(data) && Func.isNotBlank(cp)) {
             data = data.stream().filter(Func::isNotEmpty).map(e -> e.toString().replaceAll("\\s+", "")).filter(s->!RegexUtil.match("/+",s)).collect(Collectors.toList());
-            return StringUtils.number2String(100 * ((double) data.stream().filter(e -> StringUtils.isEquals(e, cp)).count()) / (double) data.size(), 1);
+            if(data.size()>0) {
+                return StringUtils.number2String(100 * ((double) data.stream().filter(e -> StringUtils.isEquals(e, cp)).count()) / (double) data.size(), 1);
+            }
         }
         return "";
     }

+ 8 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -345,11 +345,14 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                                         }
                                     }
                                     int scale = StringUtils.getScale(values);
-                                    FormulaUtils.write(t.getValue(), values.stream().filter(StringUtils::isNotEmpty).map(u -> {
-                                              if(StringUtils.isNumber(u)){
-                                                  return  StringUtils.number2String(u, scale);
-                                              }  return u;
-                                            }
+                                    FormulaUtils.write(t.getValue(), values.stream().map(u -> {
+                                        if(StringUtils.isEmpty(u)){
+                                            return "/";
+                                        } else if(StringUtils.isNumber(u)){
+                                            return  StringUtils.number2String(u, scale);
+                                        }
+                                        return u;
+                                    }
                                     ).collect(Collectors.toList()), true);
 //                                   if(t.getValue().getEName().contains("±")){
 //                                       /*存在偏差范围则获取的是偏差值:实测-设计*/