Browse Source

代码重构

zhoutg 4 years ago
parent
commit
f38e69ff42

+ 14 - 34
src/main/java/com/diagbot/facade/CommonFacade.java

@@ -150,12 +150,9 @@ public class CommonFacade {
         // 4、既往史诊断
         CoreUtil.addList(diagList, CoreUtil.getPropertyList(pastLabel.getDiags()));
         // 5、开单项诊断
-        diagList.addAll(wordCrfDTO.getDiagOrder().stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
-                .map(x -> x.getName()).collect(Collectors.toList()));
+        CoreUtil.addList(diagList, CoreUtil.filterUniqueList(wordCrfDTO.getDiagOrder()));
         // 6、结构化诊断
-        diagList.addAll(wordCrfDTO.getDiag().stream().filter(x ->
-                StringUtils.isBlank(x.getUniqueName()))
-                .map(x -> x.getName()).collect(Collectors.toList()));
+        CoreUtil.addList(diagList, CoreUtil.filterUniqueList(wordCrfDTO.getDiag()));
         // 7、选中诊断
         if (wordCrfDTO.getDiseaseName() != null && StringUtils.isBlank(wordCrfDTO.getDiseaseName().getUniqueName())) {
             diagList.add(wordCrfDTO.getDiseaseName().getName());
@@ -165,36 +162,19 @@ public class CommonFacade {
         // 【所有化验】
         List<String> allLis = new ArrayList<>();
         // 1、普通化验——取明细
-        List<Lis> lis = wordCrfDTO.getLis();
-        if (ListUtil.isNotEmpty(lis)) {
-            List<String> lis_unique = lis.stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
-                    //                    .map(x -> x.getName() + x.getDetailName()).collect(Collectors.toList());
-                    .map(x -> x.getDetailName()).collect(Collectors.toList());
-            CoreUtil.addList(allLis, lis_unique);
-        }
+        CoreUtil.addList(allLis, CoreUtil.filterUniqueList(wordCrfDTO.getLis(), "detailName"));
         // 2、开单化验——取套餐
-        List<Lis> lisOrder = wordCrfDTO.getLisOrder();
-        if (ListUtil.isNotEmpty(lisOrder)) {
-            List<String> lis_unique = lisOrder.stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
-                    .map(x -> x.getName()).collect(Collectors.toList());
-            CoreUtil.addList(allLis, lis_unique);
-        }
+        CoreUtil.addList(allLis, CoreUtil.filterUniqueList(wordCrfDTO.getLisOrder()));
         standConvert.setLisList(allLis);
 
         // 【所有辅助项目】
         List<String> allPacs = new ArrayList<>();
         // 1、模型解析辅检项目
-        List<Item> pacsList = wordCrfDTO.getPacsLabel().getItem();
-        if (ListUtil.isNotEmpty(pacsList)) {
-            List<String> pacss_unique = pacsList.stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
-                    .map(x -> x.getName()).collect(Collectors.toList());
-            CoreUtil.addList(allPacs, pacss_unique);
-        }
+        CoreUtil.addList(allPacs, CoreUtil.filterUniqueList(wordCrfDTO.getPacsLabel().getItem()));
         // 2、结构化辅检项目
-        CoreUtil.addList(allPacs, wordCrfDTO.getPacs().stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
-                .map(x -> x.getName()).collect(Collectors.toList()));
+        CoreUtil.addList(allPacs, CoreUtil.filterUniqueList(wordCrfDTO.getPacs()));
         // 3、开单辅检项目
-        CoreUtil.addList(allPacs, wordCrfDTO.getPacsOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
+        CoreUtil.addList(allPacs, CoreUtil.filterUniqueList(wordCrfDTO.getPacsOrder()));
         standConvert.setPacsList(allPacs);
 
         // 【所有药品】
@@ -208,21 +188,21 @@ public class CommonFacade {
         // 4、既往史(药物)
         CoreUtil.addList(drugList, CoreUtil.getPropertyList(pastLabel.getMedicines()));
         // 5、开单药品
-        CoreUtil.addList(drugList, wordCrfDTO.getDrugOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
+        CoreUtil.addList(drugList, CoreUtil.filterUniqueList(wordCrfDTO.getDrugOrder()));
         // 6、结构化药品
-        CoreUtil.addList(drugList, wordCrfDTO.getDrug().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
+        CoreUtil.addList(drugList, CoreUtil.filterUniqueList(wordCrfDTO.getDrug()));
         standConvert.setDrugList(drugList);
 
         // 【所有手术】
         List<String> operationList = new ArrayList<>();
         // 1、现病史手术
-        CoreUtil.addList(drugList, CoreUtil.getPropertyList(presentLabel.getOperations()));
+        CoreUtil.addList(operationList, CoreUtil.getPropertyList(presentLabel.getOperations()));
         // 2、既往史手术
-        CoreUtil.addList(drugList, CoreUtil.getPropertyList(pastLabel.getOperations()));
+        CoreUtil.addList(operationList, CoreUtil.getPropertyList(pastLabel.getOperations()));
         // 3、开单手术
-        CoreUtil.addList(drugList, wordCrfDTO.getOperationOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
+        CoreUtil.addList(operationList, CoreUtil.filterUniqueList(wordCrfDTO.getOperationOrder()));
         // 4、结构化手术
-        CoreUtil.addList(drugList, wordCrfDTO.getOperation().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
+        CoreUtil.addList(operationList, CoreUtil.filterUniqueList(wordCrfDTO.getOperation()));
         // 5、选中手术
         if (wordCrfDTO.getOperationName() != null && StringUtils.isBlank(wordCrfDTO.getOperationName().getUniqueName())) {
             operationList.add(wordCrfDTO.getOperationName().getName());
@@ -238,7 +218,7 @@ public class CommonFacade {
 
         // 【输血】
         List<String> transfusionList = new ArrayList<>();
-        CoreUtil.addList(transfusionList, wordCrfDTO.getTransfusionOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
+        CoreUtil.addList(transfusionList, CoreUtil.filterUniqueList(wordCrfDTO.getTransfusionOrder()));
         standConvert.setTransfusionList(transfusionList);
 
         return standConvert;

+ 43 - 3
src/main/java/com/diagbot/util/CoreUtil.java

@@ -19,6 +19,7 @@ import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @description:
@@ -850,9 +851,48 @@ public class CoreUtil {
         }
     }
 
+    /**
+     * 筛选对象列表中“uniqueName”字段为空的数据,返回targetProperty字段列表
+     *
+     * @param list
+     * @param <T>
+     * @return
+     */
+    public static <T> List<String> filterUniqueList(List<T> list, String targetProperty) {
+        if (ListUtil.isEmpty(list)) {
+            return new ArrayList<>();
+        }
+        return list.stream()
+                .filter(r -> StringUtil.isBlank((String)getFieldValue(r, "uniqueName")))
+                .map(r -> (String)getFieldValue(r, targetProperty))
+                .collect(Collectors.toList());
+    }
+
+    /**
+     * 筛选对象列表中“uniqueName”字段为空的数据,返回“name”字段列表
+     *
+     * @param list
+     * @param <T>
+     * @return
+     */
+    public static <T> List<String> filterUniqueList(List<T> list) {
+        if (ListUtil.isEmpty(list)) {
+            return new ArrayList<>();
+        }
+        return list.stream()
+                .filter(r -> StringUtil.isBlank((String)getFieldValue(r, "uniqueName")))
+                .map(r -> (String)getFieldValue(r, "name"))
+                .collect(Collectors.toList());
+    }
+
     public static void main(String[] args) {
-        String ageStr = ".545458";
-        System.out.println(Double.parseDouble(ageStr));
-        System.out.println(isNumbers(ageStr));
+        // List<Item> list = new ArrayList<>();
+        // Item item = new Item();
+        // item.setUniqueName(null);
+        // item.setName("aaa");
+        // list.add(item);
+        // // list = null;
+        // List<String> res = getNoUniqueList(list);
+        // System.out.println(res);
     }
 }