|
@@ -12,6 +12,7 @@ import com.diagbot.dto.FeatureRateDTO;
|
|
import com.diagbot.dto.HospitalDeptDTO;
|
|
import com.diagbot.dto.HospitalDeptDTO;
|
|
import com.diagbot.dto.RespDTO;
|
|
import com.diagbot.dto.RespDTO;
|
|
import com.diagbot.dto.SYFDTO;
|
|
import com.diagbot.dto.SYFDTO;
|
|
|
|
+import com.diagbot.dto.SYFDeptDTO;
|
|
import com.diagbot.dto.SYFDiseaseDeptDTO;
|
|
import com.diagbot.dto.SYFDiseaseDeptDTO;
|
|
import com.diagbot.dto.SYFFeatureDTO;
|
|
import com.diagbot.dto.SYFFeatureDTO;
|
|
import com.diagbot.enums.SysTypeEnum;
|
|
import com.diagbot.enums.SysTypeEnum;
|
|
@@ -291,7 +292,7 @@ public class AIFacade {
|
|
syfDiseaseDeptDTO.setRate(Double.valueOf(syfFeatureDTO.getRate()));
|
|
syfDiseaseDeptDTO.setRate(Double.valueOf(syfFeatureDTO.getRate()));
|
|
List<SYFFeatureDTO> features = Lists.newLinkedList();
|
|
List<SYFFeatureDTO> features = Lists.newLinkedList();
|
|
features.add(syfFeatureDTO);
|
|
features.add(syfFeatureDTO);
|
|
- syfDiseaseDeptDTO.setFeatures(features);
|
|
|
|
|
|
+ //syfDiseaseDeptDTO.setFeatures(features);
|
|
syfDiseaseDeptDTO.setDiseaseNames(features
|
|
syfDiseaseDeptDTO.setDiseaseNames(features
|
|
.stream()
|
|
.stream()
|
|
.map(i -> i.getDiseaseName())
|
|
.map(i -> i.getDiseaseName())
|
|
@@ -303,11 +304,13 @@ public class AIFacade {
|
|
if (syfFeatureMap != null) {
|
|
if (syfFeatureMap != null) {
|
|
for (Map.Entry<String, List<SYFFeatureDTO>> entry : syfFeatureMap.entrySet()) {
|
|
for (Map.Entry<String, List<SYFFeatureDTO>> entry : syfFeatureMap.entrySet()) {
|
|
SYFDiseaseDeptDTO syfDiseaseDeptDTO = new SYFDiseaseDeptDTO();
|
|
SYFDiseaseDeptDTO syfDiseaseDeptDTO = new SYFDiseaseDeptDTO();
|
|
- syfDiseaseDeptDTO.setDept(entry.getKey());
|
|
|
|
- syfDiseaseDeptDTO.setUrl(entry.getValue().get(0).getUrl());
|
|
|
|
|
|
+ syfDiseaseDeptDTO.setDeptName(entry.getKey());
|
|
|
|
+ syfDiseaseDeptDTO.setSubDeptName(entry.getValue().get(0).getSubDeptName());
|
|
|
|
+ syfDiseaseDeptDTO.setDept(entry.getValue().get(0).getConcatDept());
|
|
|
|
+ //syfDiseaseDeptDTO.setUrl(entry.getValue().get(0).getUrl());
|
|
syfDiseaseDeptDTO.setDeptCode(entry.getValue().get(0).getDeptCode());
|
|
syfDiseaseDeptDTO.setDeptCode(entry.getValue().get(0).getDeptCode());
|
|
syfDiseaseDeptDTO.setSubDeptCode(entry.getValue().get(0).getSubDeptCode());
|
|
syfDiseaseDeptDTO.setSubDeptCode(entry.getValue().get(0).getSubDeptCode());
|
|
- syfDiseaseDeptDTO.setFeatures(entry.getValue());
|
|
|
|
|
|
+ //syfDiseaseDeptDTO.setFeatures(entry.getValue());
|
|
syfDiseaseDeptDTO.setDiseaseNames(entry.getValue()
|
|
syfDiseaseDeptDTO.setDiseaseNames(entry.getValue()
|
|
.stream()
|
|
.stream()
|
|
.map(i -> i.getDiseaseName())
|
|
.map(i -> i.getDiseaseName())
|
|
@@ -334,7 +337,15 @@ public class AIFacade {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- syfdto.setDiseaseDept(items);
|
|
|
|
|
|
+ Map<String, List<SYFDiseaseDeptDTO>> itemMap = EntityUtil.makeEntityListMap(items, "deptName");
|
|
|
|
+ List<SYFDeptDTO> syfDeptDTOList = Lists.newLinkedList();
|
|
|
|
+ itemMap.entrySet().forEach(item -> {
|
|
|
|
+ SYFDeptDTO syfDeptDTO = new SYFDeptDTO();
|
|
|
|
+ syfDeptDTO.setDeptName(item.getKey());
|
|
|
|
+ syfDeptDTO.setDiseaseDept(item.getValue());
|
|
|
|
+ syfDeptDTOList.add(syfDeptDTO);
|
|
|
|
+ });
|
|
|
|
+ syfdto.setDiseaseDept(syfDeptDTOList);
|
|
return syfdto;
|
|
return syfdto;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -429,7 +440,9 @@ public class AIFacade {
|
|
if (StringUtil.isNotBlank(syfFeatureDTO.getConcatDept())) {
|
|
if (StringUtil.isNotBlank(syfFeatureDTO.getConcatDept())) {
|
|
SYFDiseaseDeptDTO syfDiseaseDeptDTO = new SYFDiseaseDeptDTO();
|
|
SYFDiseaseDeptDTO syfDiseaseDeptDTO = new SYFDiseaseDeptDTO();
|
|
syfDiseaseDeptDTO.setDept(syfFeatureDTO.getConcatDept());
|
|
syfDiseaseDeptDTO.setDept(syfFeatureDTO.getConcatDept());
|
|
- syfDiseaseDeptDTO.setUrl(syfFeatureDTO.getUrl());
|
|
|
|
|
|
+ syfDiseaseDeptDTO.setDeptName(syfFeatureDTO.getDeptName());
|
|
|
|
+ syfDiseaseDeptDTO.setSubDeptName(syfFeatureDTO.getSubDeptName());
|
|
|
|
+ //syfDiseaseDeptDTO.setUrl(syfFeatureDTO.getUrl());
|
|
syfDiseaseDeptDTO.setDeptCode(syfFeatureDTO.getDeptCode());
|
|
syfDiseaseDeptDTO.setDeptCode(syfFeatureDTO.getDeptCode());
|
|
syfDiseaseDeptDTO.setSubDeptCode(syfFeatureDTO.getSubDeptCode());
|
|
syfDiseaseDeptDTO.setSubDeptCode(syfFeatureDTO.getSubDeptCode());
|
|
List<SYFFeatureDTO> features = Lists.newLinkedList();
|
|
List<SYFFeatureDTO> features = Lists.newLinkedList();
|
|
@@ -439,7 +452,8 @@ public class AIFacade {
|
|
mergeFeatureList.add(syfDiseaseDeptDTO);
|
|
mergeFeatureList.add(syfDiseaseDeptDTO);
|
|
}
|
|
}
|
|
features.add(syfFeatureDTO);
|
|
features.add(syfFeatureDTO);
|
|
- syfDiseaseDeptDTO.setFeatures(features);
|
|
|
|
|
|
+
|
|
|
|
+ //syfDiseaseDeptDTO.setFeatures(features);
|
|
syfDiseaseDeptDTO.setDiseaseNames(features
|
|
syfDiseaseDeptDTO.setDiseaseNames(features
|
|
.stream()
|
|
.stream()
|
|
.map(i -> i.getDiseaseName())
|
|
.map(i -> i.getDiseaseName())
|
|
@@ -451,19 +465,20 @@ public class AIFacade {
|
|
SYFDiseaseDeptDTO syfDiseaseDeptDTO = new SYFDiseaseDeptDTO();
|
|
SYFDiseaseDeptDTO syfDiseaseDeptDTO = new SYFDiseaseDeptDTO();
|
|
List<SYFFeatureDTO> features = Lists.newLinkedList();
|
|
List<SYFFeatureDTO> features = Lists.newLinkedList();
|
|
features.add(syfFeatureDTO);
|
|
features.add(syfFeatureDTO);
|
|
- syfDiseaseDeptDTO.setFeatures(features);
|
|
|
|
|
|
+ //syfDiseaseDeptDTO.setFeatures(features);
|
|
syfDiseaseDeptDTO.setDiseaseNames(features
|
|
syfDiseaseDeptDTO.setDiseaseNames(features
|
|
.stream()
|
|
.stream()
|
|
- .map(i->i.getDiseaseName())
|
|
|
|
|
|
+ .map(i -> i.getDiseaseName())
|
|
.distinct()
|
|
.distinct()
|
|
.collect(Collectors.toList()));
|
|
.collect(Collectors.toList()));
|
|
mergeFeatureList.add(syfDiseaseDeptDTO);
|
|
mergeFeatureList.add(syfDiseaseDeptDTO);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
for (SYFDiseaseDeptDTO syfDiseaseDeptDTO : mergeFeatureList) {
|
|
for (SYFDiseaseDeptDTO syfDiseaseDeptDTO : mergeFeatureList) {
|
|
|
|
+ //更新诊断列表
|
|
if (StringUtil.isNotBlank(syfDiseaseDeptDTO.getDept())) {
|
|
if (StringUtil.isNotBlank(syfDiseaseDeptDTO.getDept())) {
|
|
if (syfFeatureMap.containsKey(syfDiseaseDeptDTO.getDept())) {
|
|
if (syfFeatureMap.containsKey(syfDiseaseDeptDTO.getDept())) {
|
|
- syfDiseaseDeptDTO.setFeatures(syfFeatureMap.get(syfDiseaseDeptDTO.getDept()));
|
|
|
|
|
|
+ //syfDiseaseDeptDTO.setFeatures(syfFeatureMap.get(syfDiseaseDeptDTO.getDept()));
|
|
syfDiseaseDeptDTO.setDiseaseNames(syfFeatureMap.get(syfDiseaseDeptDTO.getDept())
|
|
syfDiseaseDeptDTO.setDiseaseNames(syfFeatureMap.get(syfDiseaseDeptDTO.getDept())
|
|
.stream()
|
|
.stream()
|
|
.map(i -> i.getDiseaseName())
|
|
.map(i -> i.getDiseaseName())
|
|
@@ -473,10 +488,11 @@ public class AIFacade {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //根据出现次数排序
|
|
Collections.sort(mergeFeatureList, new Comparator<SYFDiseaseDeptDTO>() {
|
|
Collections.sort(mergeFeatureList, new Comparator<SYFDiseaseDeptDTO>() {
|
|
@Override
|
|
@Override
|
|
public int compare(SYFDiseaseDeptDTO o1, SYFDiseaseDeptDTO o2) {
|
|
public int compare(SYFDiseaseDeptDTO o1, SYFDiseaseDeptDTO o2) {
|
|
- return Integer.compare(o2.getFeatures().size(), o1.getFeatures().size());
|
|
|
|
|
|
+ return Integer.compare(o2.getDiseaseNames().size(), o1.getDiseaseNames().size());
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|