|
@@ -5,6 +5,7 @@ import com.diagbot.client.TranServiceClient;
|
|
import com.diagbot.dto.GetInquiryDetailDTO;
|
|
import com.diagbot.dto.GetInquiryDetailDTO;
|
|
import com.diagbot.dto.GetInquiryDetailImgDTO;
|
|
import com.diagbot.dto.GetInquiryDetailImgDTO;
|
|
import com.diagbot.dto.HisInquiryDTO;
|
|
import com.diagbot.dto.HisInquiryDTO;
|
|
|
|
+import com.diagbot.dto.InquiryDetailFlatDTO;
|
|
import com.diagbot.dto.RecordCheckDTO;
|
|
import com.diagbot.dto.RecordCheckDTO;
|
|
import com.diagbot.dto.RespDTO;
|
|
import com.diagbot.dto.RespDTO;
|
|
import com.diagbot.dto.SaveInquiryDTO;
|
|
import com.diagbot.dto.SaveInquiryDTO;
|
|
@@ -38,9 +39,11 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
+import java.util.Comparator;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @author: zhoutg
|
|
* @author: zhoutg
|
|
@@ -237,6 +240,31 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
i.setPatientAge(DateUtil.yearCompare(i.getPatientBirthday(), DateUtil.now()));
|
|
i.setPatientAge(DateUtil.yearCompare(i.getPatientBirthday(), DateUtil.now()));
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+ if (hisInquirysVO.getIsHaveDetail() == 1) {
|
|
|
|
+ List<Long> inquiryIdList = hisInquiryDTOList.stream().map(i -> i.getId()).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ QueryWrapper<InquiryDetail> inquiryDetailQe = new QueryWrapper<>();
|
|
|
|
+ inquiryDetailQe.in("inquiry_id", inquiryIdList);
|
|
|
|
+ Map<Long, List<InquiryDetail>> inquiryDetailListMap = inquiryDetailFacade.list(inquiryDetailQe)
|
|
|
|
+ .stream().collect(Collectors.groupingBy(InquiryDetail::getInquiryId));
|
|
|
|
+
|
|
|
|
+ QueryWrapper<InquiryReport> inquiryReportQe = new QueryWrapper<>();
|
|
|
|
+ inquiryReportQe.in("inquiry_id", inquiryIdList);
|
|
|
|
+ Map<Long, List<InquiryReport>> inquiryReportListMap = inquiryReportFacade.list(inquiryReportQe)
|
|
|
|
+ .stream().collect(Collectors.groupingBy(InquiryReport::getInquiryId));
|
|
|
|
+
|
|
|
|
+ QueryWrapper<InquiryEvaluator> inquiryEvaluatorQe = new QueryWrapper<>();
|
|
|
|
+ inquiryEvaluatorQe.in("inquiry_id", inquiryIdList);
|
|
|
|
+ Map<Long, List<InquiryEvaluator>> inquiryEvaluatorListMap = inquiryEvaluatorFacade.list(inquiryEvaluatorQe)
|
|
|
|
+ .stream().collect(Collectors.groupingBy(InquiryEvaluator::getInquiryId));
|
|
|
|
+
|
|
|
|
+ hisInquiryDTOList.forEach(i -> {
|
|
|
|
+ i.setDetail(getInquiryDetailFlat(inquiryDetailListMap.get(i.getId()),
|
|
|
|
+ inquiryReportListMap.get(i.getId()),
|
|
|
|
+ inquiryEvaluatorListMap.get(i.getId())));
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
return hisInquiryDTOList;
|
|
return hisInquiryDTOList;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -303,12 +331,10 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
|
|
|
QueryWrapper<InquiryDetail> inquiryDetailQe = new QueryWrapper<>();
|
|
QueryWrapper<InquiryDetail> inquiryDetailQe = new QueryWrapper<>();
|
|
inquiryDetailQe.eq("inquiry_id", inquiryInfo.getId());
|
|
inquiryDetailQe.eq("inquiry_id", inquiryInfo.getId());
|
|
- inquiryDetailQe.orderByAsc("type");
|
|
|
|
List<InquiryDetail> inquiryDetailList = inquiryDetailFacade.list(inquiryDetailQe);
|
|
List<InquiryDetail> inquiryDetailList = inquiryDetailFacade.list(inquiryDetailQe);
|
|
|
|
|
|
QueryWrapper<InquiryReport> inquiryReportQe = new QueryWrapper<>();
|
|
QueryWrapper<InquiryReport> inquiryReportQe = new QueryWrapper<>();
|
|
inquiryReportQe.eq("inquiry_id", inquiryInfo.getId());
|
|
inquiryReportQe.eq("inquiry_id", inquiryInfo.getId());
|
|
- inquiryReportQe.orderByAsc("order_num");
|
|
|
|
List<InquiryReport> inquiryReportList = inquiryReportFacade.list(inquiryReportQe);
|
|
List<InquiryReport> inquiryReportList = inquiryReportFacade.list(inquiryReportQe);
|
|
|
|
|
|
QueryWrapper<InquiryEvaluator> inquiryEvaluatorQe = new QueryWrapper<>();
|
|
QueryWrapper<InquiryEvaluator> inquiryEvaluatorQe = new QueryWrapper<>();
|
|
@@ -324,34 +350,63 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
getInquiryDetailDTO.setInquiryTime(inquiryInfo.getGmtModified());
|
|
getInquiryDetailDTO.setInquiryTime(inquiryInfo.getGmtModified());
|
|
getInquiryDetailDTO.setPatientAge(DateUtil.yearCompare(inquiryInfo.getPatientBirthday(), DateUtil.now()));
|
|
getInquiryDetailDTO.setPatientAge(DateUtil.yearCompare(inquiryInfo.getPatientBirthday(), DateUtil.now()));
|
|
|
|
|
|
|
|
+ BeanUtil.copyProperties(
|
|
|
|
+ getInquiryDetailFlat(inquiryDetailList, inquiryReportList, inquiryEvaluatorList),
|
|
|
|
+ getInquiryDetailDTO);
|
|
|
|
+
|
|
|
|
+ return getInquiryDetailDTO;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取预问诊病历详情
|
|
|
|
+ *
|
|
|
|
+ * @param inquiryDetailList 病历明细
|
|
|
|
+ * @param inquiryReportList 报告图
|
|
|
|
+ * @param inquiryEvaluatorList 体质辨识
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private InquiryDetailFlatDTO getInquiryDetailFlat(List<InquiryDetail> inquiryDetailList,
|
|
|
|
+ List<InquiryReport> inquiryReportList,
|
|
|
|
+ List<InquiryEvaluator> inquiryEvaluatorList) {
|
|
|
|
+
|
|
|
|
+ InquiryDetailFlatDTO inquiryDetailFlatDTO = new InquiryDetailFlatDTO();
|
|
|
|
+
|
|
if (ListUtil.isNotEmpty(inquiryDetailList)) {
|
|
if (ListUtil.isNotEmpty(inquiryDetailList)) {
|
|
Map<Integer, InquiryDetail> inquiryDetailMap
|
|
Map<Integer, InquiryDetail> inquiryDetailMap
|
|
= EntityUtil.makeEntityMap(inquiryDetailList, "type");
|
|
= EntityUtil.makeEntityMap(inquiryDetailList, "type");
|
|
if (null != inquiryDetailMap.get(1)) {
|
|
if (null != inquiryDetailMap.get(1)) {
|
|
- getInquiryDetailDTO.setChiefComplaint(inquiryDetailMap.get(1).getContentValue());
|
|
|
|
|
|
+ inquiryDetailFlatDTO.setChiefComplaint(inquiryDetailMap.get(1).getContentValue());
|
|
}
|
|
}
|
|
if (null != inquiryDetailMap.get(2)) {
|
|
if (null != inquiryDetailMap.get(2)) {
|
|
- getInquiryDetailDTO.setXbs(inquiryDetailMap.get(2).getContentValue());
|
|
|
|
|
|
+ inquiryDetailFlatDTO.setXbs(inquiryDetailMap.get(2).getContentValue());
|
|
}
|
|
}
|
|
if (null != inquiryDetailMap.get(3)) {
|
|
if (null != inquiryDetailMap.get(3)) {
|
|
- getInquiryDetailDTO.setQts(inquiryDetailMap.get(3).getContentValue());
|
|
|
|
|
|
+ inquiryDetailFlatDTO.setQts(inquiryDetailMap.get(3).getContentValue());
|
|
}
|
|
}
|
|
if (null != inquiryDetailMap.get(4)) {
|
|
if (null != inquiryDetailMap.get(4)) {
|
|
- getInquiryDetailDTO.setSupplement(inquiryDetailMap.get(4).getContentValue());
|
|
|
|
|
|
+ inquiryDetailFlatDTO.setSupplement(inquiryDetailMap.get(4).getContentValue());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- getInquiryDetailDTO.setPhysicalRes(
|
|
|
|
- ListUtil.isNotEmpty(inquiryEvaluatorList) ? inquiryEvaluatorList.get(0).getPhysicalRes() : null);
|
|
|
|
|
|
+ inquiryDetailFlatDTO.setPhysicalRes(
|
|
|
|
+ ListUtil.isNotEmpty(inquiryEvaluatorList) ?
|
|
|
|
+ inquiryEvaluatorList.stream()
|
|
|
|
+ .max(Comparator.comparing(InquiryEvaluator::getGmtModified))
|
|
|
|
+ .map(i -> i.getPhysicalRes())
|
|
|
|
+ .get() :
|
|
|
|
+ null
|
|
|
|
+ );
|
|
if (ListUtil.isNotEmpty(inquiryReportList)) {
|
|
if (ListUtil.isNotEmpty(inquiryReportList)) {
|
|
- for (InquiryReport inquiryReport : inquiryReportList) {
|
|
|
|
- if (StringUtil.isNotBlank(inquiryReport.getOriginalImage())) {
|
|
|
|
- inquiryReport.setOriginalImage(imageUrlPrefix + inquiryReport.getOriginalImage());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- getInquiryDetailDTO.setImageList(BeanUtil.listCopyTo(inquiryReportList, GetInquiryDetailImgDTO.class));
|
|
|
|
|
|
+ inquiryReportList.stream()
|
|
|
|
+ .sorted(Comparator.comparing(InquiryReport::getOrderNum))
|
|
|
|
+ .forEach(inquiryReport -> {
|
|
|
|
+ if (StringUtil.isNotBlank(inquiryReport.getOriginalImage())) {
|
|
|
|
+ inquiryReport.setOriginalImage(imageUrlPrefix + inquiryReport.getOriginalImage());
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ inquiryDetailFlatDTO.setImageList(BeanUtil.listCopyTo(inquiryReportList, GetInquiryDetailImgDTO.class));
|
|
}
|
|
}
|
|
|
|
|
|
- return getInquiryDetailDTO;
|
|
|
|
|
|
+ return inquiryDetailFlatDTO;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|