瀏覽代碼

pass rate format

yangyj 1 年之前
父節點
當前提交
930519fea5
共有 1 個文件被更改,包括 16 次插入3 次删除
  1. 16 3
      blade-service/blade-manager/src/main/java/com/mixsmart/utils/CustomFunction.java

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

@@ -539,7 +539,7 @@ public class CustomFunction {
         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());
             if(data.size()>0) {
-                return StringUtils.number2String(100 * ((double) data.stream().filter(e -> StringUtils.isEquals(e, cp)).count()) / (double) data.size(), 1);
+                return 100 * ((double) data.stream().filter(e -> StringUtils.isEquals(e, cp)).count()) / (double) data.size();
             }
         }
         return "";
@@ -657,8 +657,19 @@ public class CustomFunction {
     public static String passRateDisplay(Object rates){
         List<Object> rate =obj2ListNe(rates);
         if(Func.isNotEmpty(rate)&&rate.stream().anyMatch(StringUtils::isNotEmpty)){
-           Optional<Object> op= rate.stream().filter(BaseUtils::isNumber).findAny();
-            return op.map(o -> StringUtils.number2String(o, 1) + "%").orElseGet(()->rate.get(0).toString());
+           Optional<Object> op= rate.stream().filter(s->s!=null&&RegexUtil.match("[\\d.]+%?",s.toString())).findAny();
+            return op.map(o ->{
+                o=o.toString().replace("%","");
+                int scale=1;
+                double x=BaseUtils.obj2DoubleZero(o);
+                if(x>=100.0){
+                   scale=0;
+                   if(x>100.0){
+                       o=100;
+                   }
+                }
+              return   StringUtils.number2StringZero(o, scale) + "%";
+            }).orElseGet(()->rate.get(0).toString());
         }
         return "/";
     }
@@ -667,6 +678,8 @@ public class CustomFunction {
 
 
 
+
+
     public String checkItems(List<String> items, List<Object> l1, List<Object> l2, List<Object> l3, List<Object> l4, List<Object> l5, List<Object> l6, List<Object> l7, List<Object> l8, List<Object> l9, List<Object> l10, List<Object> l11, List<Object> l12) {
         List<List<Object>> data = new ArrayList<>(Arrays.asList(l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12));
         List<String> result = new ArrayList<>();