Bladeren bron

移除公式编码中没有的数据

kongwz 4 jaren geleden
bovenliggende
commit
6b18bdd78f
1 gewijzigde bestanden met toevoegingen van 16 en 6 verwijderingen
  1. 16 6
      src/main/java/com/diagbot/facade/KlDiagnoseDetailFacade.java

+ 16 - 6
src/main/java/com/diagbot/facade/KlDiagnoseDetailFacade.java

@@ -76,12 +76,7 @@ public class KlDiagnoseDetailFacade extends KlDiagnoseDetailServiceImpl {
      * @param klDiagnoseDetails
      */
     public void removeKlDiagnoseDetail(List<KlDiagnoseDetail> klDiagnoseDetails){
-        List<String> collect = klDiagnoseDetails.stream().filter(x -> (x.getType().equals(91)
-        || x.getType().equals(92)|| x.getType().equals(93))&& StringUtil.isNotBlank(x.getFormula()))
-                .map(y -> y.getFormula()).collect(Collectors.toList());
-        String content = collect.stream().collect(Collectors.joining(","));
-        //获取公式中的编码
-        List<String> regexData = RegexUtil.getRegexDatas(content, "([1-9]\\d*\\.?\\d*)|(0\\.\\d*[1-9])");
+        List<String> regexData = getCodes(klDiagnoseDetails);
         Iterator<KlDiagnoseDetail> iterator = klDiagnoseDetails.iterator();
         while (iterator.hasNext()){
             KlDiagnoseDetail next = iterator.next();
@@ -92,4 +87,19 @@ public class KlDiagnoseDetailFacade extends KlDiagnoseDetailServiceImpl {
         }
     }
 
+    /**
+     * 获取公式中的所有编码
+     * @param klDiagnoseDetails
+     * @return
+     */
+    private List<String> getCodes(List<KlDiagnoseDetail> klDiagnoseDetails) {
+        String pateern = "([1-9]\\d*\\.?\\d*)|(0\\.\\d*[1-9])";
+        List<String> collect = klDiagnoseDetails.stream().filter(x -> (x.getType().equals(91)
+        || x.getType().equals(92)|| x.getType().equals(93))&& StringUtil.isNotBlank(x.getFormula()))
+                .map(y -> y.getFormula()).collect(Collectors.toList());
+        String content = collect.stream().collect(Collectors.joining(","));
+        //获取公式中的编码
+        return RegexUtil.getRegexDatas(content, pateern);
+    }
+
 }