|
@@ -2,20 +2,28 @@ package com.diagbot.facade;
|
|
|
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.diagbot.dto.HisInquirysForJzDTO;
|
|
|
import com.diagbot.entity.InquiryDetail;
|
|
|
import com.diagbot.entity.InquiryInfo;
|
|
|
+import com.diagbot.entity.PatientInfo;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
+import com.diagbot.enums.SexTypeEnum;
|
|
|
import com.diagbot.service.impl.InquiryDetailServiceImpl;
|
|
|
import com.diagbot.service.impl.InquiryInfoServiceImpl;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
import com.diagbot.util.DateUtil;
|
|
|
+import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.vo.AddDiagnoseSecondVO;
|
|
|
+import com.diagbot.vo.HisInquirysForJzVO;
|
|
|
import com.diagbot.vo.SaveInquiryToHisVO;
|
|
|
|
|
|
/**
|
|
@@ -28,6 +36,8 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl{
|
|
|
|
|
|
@Autowired
|
|
|
private InquiryDetailFacade inquiryDetailFacade;
|
|
|
+ @Autowired
|
|
|
+ private PatientInfoFacade patientInfoFacade;
|
|
|
@Autowired
|
|
|
@Qualifier("inquiryDetailServiceImpl")
|
|
|
private InquiryDetailServiceImpl inquiryDetailServiceImpl;
|
|
@@ -89,6 +99,42 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl{
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 急诊-历史病历列表
|
|
|
+ *
|
|
|
+ * @param hisInquirysForJzVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public IPage<HisInquirysForJzDTO> hisInquirysForJz(HisInquirysForJzVO hisInquirysForJzVO){
|
|
|
+ IPage<HisInquirysForJzDTO> ipage = this.baseMapper.hisInquirysForJz(hisInquirysForJzVO);
|
|
|
+
|
|
|
+ if(ListUtil.isNotEmpty(ipage.getRecords())){
|
|
|
+ List<Long> patientIdList = ipage.getRecords().stream().map(i -> i.getPatientId()).distinct().collect(Collectors.toList());
|
|
|
+ List<Long> inquiryIdList = ipage.getRecords().stream().map(i -> i.getInquiryId()).distinct().collect(Collectors.toList());
|
|
|
+
|
|
|
+ Map<Long, PatientInfo> patientInfoMap = patientInfoFacade.patientInfoMapByIds(patientIdList);
|
|
|
+ Map<Long, List<InquiryDetail>> inquiryDetailMap = inquiryDetailFacade.getDetailsByInquryIds(inquiryIdList);
|
|
|
+
|
|
|
+ ipage.getRecords().forEach(i -> {
|
|
|
+ PatientInfo patientInfo = patientInfoMap.get(i.getPatientId());
|
|
|
+ if (patientInfo != null) {
|
|
|
+ i.setPatientName(patientInfo.getName());
|
|
|
+ i.setPatientIdNo(patientInfo.getIdNo());
|
|
|
+ i.setPatientSex(SexTypeEnum.getName(patientInfo.getSex()));
|
|
|
+ i.setPatientAge(DateUtil.yearCompare(patientInfo.getBirthday(), DateUtil.now()));
|
|
|
+ }
|
|
|
+
|
|
|
+ List<InquiryDetail> detailList= inquiryDetailMap.get(i.getInquiryId());
|
|
|
+ i.setDetailList(detailList);
|
|
|
+ String diagnose = detailList.stream().filter(inquiryDetail->inquiryDetail.getType()==7).map(inquiryDetail->inquiryDetail.getContentValue()).collect(Collectors.toList()).get(0);
|
|
|
+ i.setDiagnose(diagnose.split(";")[0]);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ return ipage;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 急诊-添加二次诊断
|
|
|
*
|