|
|
@ -19,6 +19,7 @@ import lombok.RequiredArgsConstructor;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
import java.util.Map;
|
|
|
|
import java.util.Objects;
|
|
|
|
import java.util.Objects;
|
|
|
@ -115,15 +116,18 @@ public class DiseaseManageServiceImpl implements DiseaseManageService {
|
|
|
|
List<String> containDiseaseIds = page.getRecords().stream()
|
|
|
|
List<String> containDiseaseIds = page.getRecords().stream()
|
|
|
|
.filter(disease -> CollUtil.isNotEmpty(disease.getContainDiseaseIds()))
|
|
|
|
.filter(disease -> CollUtil.isNotEmpty(disease.getContainDiseaseIds()))
|
|
|
|
.flatMap(disease -> disease.getContainDiseaseIds().stream()).distinct().collect(Collectors.toList());
|
|
|
|
.flatMap(disease -> disease.getContainDiseaseIds().stream()).distinct().collect(Collectors.toList());
|
|
|
|
Map<String, Disease> diseaseMap = diseaseService.listByIds(containDiseaseIds)
|
|
|
|
Map<String, Disease> diseaseMap = new HashMap<>();
|
|
|
|
.stream().collect(Collectors.toMap(Disease::getId, disease -> disease, (v1, v2) -> v1));
|
|
|
|
if (CollUtil.isNotEmpty(containDiseaseIds)){
|
|
|
|
|
|
|
|
diseaseMap = diseaseService.listByIds(containDiseaseIds)
|
|
|
|
|
|
|
|
.stream().collect(Collectors.toMap(Disease::getId, disease -> disease, (v1, v2) -> v1));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
final Map<String, Disease> diseaseMapCopy = new HashMap<>(diseaseMap);
|
|
|
|
// 把疾病名映射到DiseaseResVo中
|
|
|
|
// 把疾病名映射到DiseaseResVo中
|
|
|
|
return page.convert(record -> {
|
|
|
|
return page.convert(record -> {
|
|
|
|
DiseaseResVo bean = BeanUtil.toBean(record, DiseaseResVo.class);
|
|
|
|
DiseaseResVo bean = BeanUtil.toBean(record, DiseaseResVo.class);
|
|
|
|
if (CollUtil.isNotEmpty(bean.getContainDiseaseIds())){
|
|
|
|
if (CollUtil.isNotEmpty(bean.getContainDiseaseIds())){
|
|
|
|
bean.setContainDiseaseNames(bean.getContainDiseaseIds().stream()
|
|
|
|
bean.setContainDiseaseNames(bean.getContainDiseaseIds().stream()
|
|
|
|
.map(diseaseMap::get).filter(Objects::nonNull).map(Disease::getDiseaseName).collect(Collectors.toList()));
|
|
|
|
.map(diseaseMapCopy::get).filter(Objects::nonNull).map(Disease::getDiseaseName).collect(Collectors.toList()));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
bean.setUsedMedicalRec(medicalDiseaseIds.contains(bean.getId()));
|
|
|
|
bean.setUsedMedicalRec(medicalDiseaseIds.contains(bean.getId()));
|
|
|
|
return bean;
|
|
|
|
return bean;
|
|
|
|