Переглянути джерело

质检-资料填报
1、评定表获取数据去重公式失效处理

LHB 1 тиждень тому
батько
коміт
454e60cd04

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

@@ -510,18 +510,18 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                                         FormulaUtils.write(t.getJudge(), "合格", false);
                                     }
 //                                    itemBlockList.sort(Comparator.comparingInt(a -> ids.indexOf(a.getPkeyId())));
-                                    List<String> values;
+                                    Set<String> values;
                                     Predicate<String> predicate = s -> Pattern.matches("^[,]*$", s);
                                     if (itemBlockList.stream().map(ItemBlock::getData).flatMap(v -> v.stream().flatMap(Collection::stream)).map(Func::toStr).anyMatch(CustomFunction::containsZH)) {
-                                        values = itemBlockList.stream().map(ItemBlock::getData).flatMap(v -> v.stream().map(l -> l.stream().map(Func::toStr).collect(Collectors.joining(","))).filter(predicate.negate()).distinct().flatMap(s -> Arrays.stream(s.split(",")))).collect(Collectors.toList());
+                                        values = itemBlockList.stream().map(ItemBlock::getData).flatMap(v -> v.stream().map(l -> l.stream().map(Func::toStr).collect(Collectors.joining(","))).filter(predicate.negate()).distinct().flatMap(s -> Arrays.stream(s.split(",")))).collect(Collectors.toSet());
                                     } else {
-                                        values = itemBlockList.stream().map(ItemBlock::getData).flatMap(v -> v.stream().flatMap(Collection::stream)).map(Func::toStr).collect(Collectors.toList());
+                                        values = itemBlockList.stream().map(ItemBlock::getData).flatMap(v -> v.stream().flatMap(Collection::stream)).map(Func::toStr).collect(Collectors.toSet());
                                     }
                                     if (t.getPoint().contains("榀数")) {
                                         if (values.size() > 0) {
                                             double x = values.stream().mapToDouble(Double::parseDouble).sum() / 3.0;
                                             if (x != 0) {
-                                                values = Collections.singletonList(StringUtils.number2String(x, 0));
+                                                values = Collections.singleton(StringUtils.number2String(x, 0));
                                             }
                                         }
                                     }