Selaa lähdekoodia

大小科室同名去重

zhaops 5 vuotta sitten
vanhempi
commit
3874015ffd

+ 1 - 0
triage-service/src/main/java/com/diagbot/dto/SYFDiseaseDeptDTO.java

@@ -18,5 +18,6 @@ public class SYFDiseaseDeptDTO {
     private String url;
     private String deptCode;
     private String subDeptCode;
+    private List<String> diseaseNames;
     private List<SYFFeatureDTO> features;
 }

+ 25 - 0
triage-service/src/main/java/com/diagbot/facade/AIFacade.java

@@ -292,6 +292,11 @@ public class AIFacade {
                         List<SYFFeatureDTO> features = Lists.newLinkedList();
                         features.add(syfFeatureDTO);
                         syfDiseaseDeptDTO.setFeatures(features);
+                        syfDiseaseDeptDTO.setDiseaseNames(features
+                                .stream()
+                                .map(i -> i.getDiseaseName())
+                                .distinct()
+                                .collect(Collectors.toList()));
                         syfDiseaseDeptList.add(syfDiseaseDeptDTO);
                     }
                 }
@@ -303,6 +308,11 @@ public class AIFacade {
                         syfDiseaseDeptDTO.setDeptCode(entry.getValue().get(0).getDeptCode());
                         syfDiseaseDeptDTO.setSubDeptCode(entry.getValue().get(0).getSubDeptCode());
                         syfDiseaseDeptDTO.setFeatures(entry.getValue());
+                        syfDiseaseDeptDTO.setDiseaseNames(entry.getValue()
+                                .stream()
+                                .map(i -> i.getDiseaseName())
+                                .distinct()
+                                .collect(Collectors.toList()));
                         Double rate = 0d;
                         for (SYFFeatureDTO feature : entry.getValue()) {
                             rate += Double.valueOf(feature.getRate());
@@ -430,6 +440,11 @@ public class AIFacade {
                 }
                 features.add(syfFeatureDTO);
                 syfDiseaseDeptDTO.setFeatures(features);
+                syfDiseaseDeptDTO.setDiseaseNames(features
+                        .stream()
+                        .map(i -> i.getDiseaseName())
+                        .distinct()
+                        .collect(Collectors.toList()));
                 syfFeatureMap.put(syfFeatureDTO.getConcatDept(), features);
             } else {
                 //科室为空的数据,不更改推理结果排序
@@ -437,6 +452,11 @@ public class AIFacade {
                 List<SYFFeatureDTO> features = Lists.newLinkedList();
                 features.add(syfFeatureDTO);
                 syfDiseaseDeptDTO.setFeatures(features);
+                syfDiseaseDeptDTO.setDiseaseNames(features
+                        .stream()
+                        .map(i->i.getDiseaseName())
+                        .distinct()
+                        .collect(Collectors.toList()));
                 mergeFeatureList.add(syfDiseaseDeptDTO);
             }
         }
@@ -444,6 +464,11 @@ public class AIFacade {
             if (StringUtil.isNotBlank(syfDiseaseDeptDTO.getDept())) {
                 if (syfFeatureMap.containsKey(syfDiseaseDeptDTO.getDept())) {
                     syfDiseaseDeptDTO.setFeatures(syfFeatureMap.get(syfDiseaseDeptDTO.getDept()));
+                    syfDiseaseDeptDTO.setDiseaseNames(syfFeatureMap.get(syfDiseaseDeptDTO.getDept())
+                            .stream()
+                            .map(i -> i.getDiseaseName())
+                            .distinct()
+                            .collect(Collectors.toList()));
                 }
             }
         }