|
@@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.diagbot.client.TranServiceClient;
|
|
import com.diagbot.client.TranServiceClient;
|
|
import com.diagbot.dto.GetEvaluationScalesDTO;
|
|
import com.diagbot.dto.GetEvaluationScalesDTO;
|
|
import com.diagbot.dto.GetEvaluationsDTO;
|
|
import com.diagbot.dto.GetEvaluationsDTO;
|
|
@@ -20,10 +21,12 @@ import com.diagbot.dto.GetInquiryDetailDTO;
|
|
import com.diagbot.dto.GetLastOtherDTO;
|
|
import com.diagbot.dto.GetLastOtherDTO;
|
|
import com.diagbot.dto.HisInquiryDTO;
|
|
import com.diagbot.dto.HisInquiryDTO;
|
|
import com.diagbot.dto.HisInquirysForDjDTO;
|
|
import com.diagbot.dto.HisInquirysForDjDTO;
|
|
|
|
+import com.diagbot.dto.HisInquirysForJzDTO;
|
|
import com.diagbot.dto.HospitalInfoDTO;
|
|
import com.diagbot.dto.HospitalInfoDTO;
|
|
import com.diagbot.dto.PatientInfoDTO;
|
|
import com.diagbot.dto.PatientInfoDTO;
|
|
import com.diagbot.dto.ReadInquiryDTO;
|
|
import com.diagbot.dto.ReadInquiryDTO;
|
|
import com.diagbot.dto.ReadInquiryDrugDTO;
|
|
import com.diagbot.dto.ReadInquiryDrugDTO;
|
|
|
|
+import com.diagbot.dto.RespDTO;
|
|
import com.diagbot.dto.SaveInquiryDTO;
|
|
import com.diagbot.dto.SaveInquiryDTO;
|
|
import com.diagbot.entity.DoctorInfo;
|
|
import com.diagbot.entity.DoctorInfo;
|
|
import com.diagbot.entity.HospitalDept;
|
|
import com.diagbot.entity.HospitalDept;
|
|
@@ -41,12 +44,15 @@ import com.diagbot.service.impl.InquiryInfoServiceImpl;
|
|
import com.diagbot.util.BeanUtil;
|
|
import com.diagbot.util.BeanUtil;
|
|
import com.diagbot.util.DateUtil;
|
|
import com.diagbot.util.DateUtil;
|
|
import com.diagbot.util.ListUtil;
|
|
import com.diagbot.util.ListUtil;
|
|
|
|
+import com.diagbot.util.RespDTOUtil;
|
|
import com.diagbot.util.StringUtil;
|
|
import com.diagbot.util.StringUtil;
|
|
|
|
+import com.diagbot.vo.AddDiagnoseSecondVO;
|
|
import com.diagbot.vo.GetEvaluationScalesVO;
|
|
import com.diagbot.vo.GetEvaluationScalesVO;
|
|
import com.diagbot.vo.GetEvaluationsVO;
|
|
import com.diagbot.vo.GetEvaluationsVO;
|
|
import com.diagbot.vo.GetInquiryDetailVO;
|
|
import com.diagbot.vo.GetInquiryDetailVO;
|
|
import com.diagbot.vo.GetLastOtherVO;
|
|
import com.diagbot.vo.GetLastOtherVO;
|
|
import com.diagbot.vo.HisInquirysForDjVO;
|
|
import com.diagbot.vo.HisInquirysForDjVO;
|
|
|
|
+import com.diagbot.vo.HisInquirysForJzVO;
|
|
import com.diagbot.vo.HisInquirysVO;
|
|
import com.diagbot.vo.HisInquirysVO;
|
|
import com.diagbot.vo.IndexDataSaveVO;
|
|
import com.diagbot.vo.IndexDataSaveVO;
|
|
import com.diagbot.vo.PatientInfoVO;
|
|
import com.diagbot.vo.PatientInfoVO;
|
|
@@ -143,6 +149,7 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
inquiryDetailList.forEach(i->{
|
|
inquiryDetailList.forEach(i->{
|
|
i.setInquiryId(inquiryId_);
|
|
i.setInquiryId(inquiryId_);
|
|
i.setGmtCreate(now);
|
|
i.setGmtCreate(now);
|
|
|
|
+ i.setGmtModified(now);
|
|
});
|
|
});
|
|
inquiryDetailFacade.saveInquiryDetails(inquiryDetailList);
|
|
inquiryDetailFacade.saveInquiryDetails(inquiryDetailList);
|
|
}
|
|
}
|
|
@@ -152,6 +159,7 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
inquiryDrugList.stream().forEach(i -> {
|
|
inquiryDrugList.stream().forEach(i -> {
|
|
i.setInquiryId(inquiryId_);
|
|
i.setInquiryId(inquiryId_);
|
|
i.setGmtCreate(now);
|
|
i.setGmtCreate(now);
|
|
|
|
+ i.setGmtModified(now);
|
|
});
|
|
});
|
|
inquiryDrugService.saveBatch(inquiryDrugList);
|
|
inquiryDrugService.saveBatch(inquiryDrugList);
|
|
}
|
|
}
|
|
@@ -160,6 +168,7 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
InquiryEvaluation inquiryEvaluation = new InquiryEvaluation();
|
|
InquiryEvaluation inquiryEvaluation = new InquiryEvaluation();
|
|
inquiryEvaluation.setInquiryId(inquiryId_);
|
|
inquiryEvaluation.setInquiryId(inquiryId_);
|
|
inquiryEvaluation.setGmtCreate(now);
|
|
inquiryEvaluation.setGmtCreate(now);
|
|
|
|
+ inquiryEvaluation.setGmtModified(now);
|
|
inquiryEvaluation.setHtmlContent(saveInquiryVO.getInquiryEvaluation().getHtmlContent());
|
|
inquiryEvaluation.setHtmlContent(saveInquiryVO.getInquiryEvaluation().getHtmlContent());
|
|
inquiryEvaluationFacade.save(inquiryEvaluation);
|
|
inquiryEvaluationFacade.save(inquiryEvaluation);
|
|
|
|
|
|
@@ -169,6 +178,7 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
i.setInquiryId(inquiryId_);
|
|
i.setInquiryId(inquiryId_);
|
|
i.setInquiryEvaluationId(inquiryEvaluation.getId());
|
|
i.setInquiryEvaluationId(inquiryEvaluation.getId());
|
|
i.setGmtCreate(now);
|
|
i.setGmtCreate(now);
|
|
|
|
+ i.setGmtModified(now);
|
|
});
|
|
});
|
|
inquiryScaleService.saveBatch(inquiryScaleList);
|
|
inquiryScaleService.saveBatch(inquiryScaleList);
|
|
}
|
|
}
|
|
@@ -180,12 +190,12 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
indexDataFacade.saveIndexDatas(indexDataSaveVO);
|
|
indexDataFacade.saveIndexDatas(indexDataSaveVO);
|
|
}
|
|
}
|
|
|
|
|
|
- saveInquiryDTO.setInquiryId(inquiryId_);
|
|
|
|
-
|
|
|
|
SaveInquiryToHisVO saveInquiryToHisVO = new SaveInquiryToHisVO();
|
|
SaveInquiryToHisVO saveInquiryToHisVO = new SaveInquiryToHisVO();
|
|
BeanUtil.copyProperties(saveInquiryVO, saveInquiryToHisVO);
|
|
BeanUtil.copyProperties(saveInquiryVO, saveInquiryToHisVO);
|
|
- tranServiceClient.saveInquiryToHis(saveInquiryToHisVO);
|
|
|
|
|
|
+ RespDTOUtil.respNGDeal(tranServiceClient.saveInquiryToHis(saveInquiryToHisVO), "问诊记录插入tran层失败");
|
|
|
|
|
|
|
|
+ saveInquiryDTO.setInquiryId(inquiryId_);
|
|
|
|
+
|
|
return saveInquiryDTO;
|
|
return saveInquiryDTO;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -318,10 +328,10 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
|
|
- List<Long> hospitalDeptIdList = inquiryInfoList.stream().map(i -> i.getHospitalDeptId()).collect(Collectors.toList());
|
|
|
|
- List<Long> doctorIdList = inquiryInfoList.stream().map(i -> i.getDoctorId()).collect(Collectors.toList());
|
|
|
|
- List<Long> patientIdList = inquiryInfoList.stream().map(i -> i.getPatientId()).collect(Collectors.toList());
|
|
|
|
- List<Long> inquiryIdList = inquiryInfoList.stream().map(i -> i.getId()).collect(Collectors.toList());
|
|
|
|
|
|
+ List<Long> hospitalDeptIdList = inquiryInfoList.stream().map(i -> i.getHospitalDeptId()).distinct().collect(Collectors.toList());
|
|
|
|
+ List<Long> doctorIdList = inquiryInfoList.stream().map(i -> i.getDoctorId()).distinct().collect(Collectors.toList());
|
|
|
|
+ List<Long> patientIdList = inquiryInfoList.stream().map(i -> i.getPatientId()).distinct().collect(Collectors.toList());
|
|
|
|
+ List<Long> inquiryIdList = inquiryInfoList.stream().map(i -> i.getId()).distinct().collect(Collectors.toList());
|
|
|
|
|
|
Map<Long, HospitalDept> hospitalDeptMap = hospitalDeptFacade.hospitalDeptInfoMapByIds(hospitalDeptIdList);
|
|
Map<Long, HospitalDept> hospitalDeptMap = hospitalDeptFacade.hospitalDeptInfoMapByIds(hospitalDeptIdList);
|
|
Map<Long, DoctorInfo> doctorInfoMap = doctorInfoFacade.doctorInfoMapByIds(doctorIdList);
|
|
Map<Long, DoctorInfo> doctorInfoMap = doctorInfoFacade.doctorInfoMapByIds(doctorIdList);
|
|
@@ -351,10 +361,60 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
|
|
|
return hisInquiryDTOList;
|
|
return hisInquiryDTOList;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 急诊-历史病历列表
|
|
|
|
+ *
|
|
|
|
+ * @param hisInquirysForJzVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public IPage<HisInquirysForJzDTO> hisInquirysForJz(HisInquirysForJzVO hisInquirysForJzVO){
|
|
|
|
+ IPage<HisInquirysForJzDTO> ipage = this.baseMapper.hisInquirysForJz(hisInquirysForJzVO);
|
|
|
|
+
|
|
|
|
+ if(ListUtil.isNotEmpty(ipage.getRecords())){
|
|
|
|
+
|
|
|
|
+ List<Long> hospitalDeptIdList = ipage.getRecords().stream().map(i -> i.getHospitalDeptId()).distinct().collect(Collectors.toList());
|
|
|
|
+ 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());
|
|
|
|
+
|
|
|
|
+ List<Long> doctorIdList = ipage.getRecords().stream().map(i -> i.getDoctorId()).collect(Collectors.toList());
|
|
|
|
+ doctorIdList.addAll(ipage.getRecords().stream().map(i -> i.getDoctorIdSecond()).collect(Collectors.toList()));
|
|
|
|
+ doctorIdList = doctorIdList.stream().distinct().collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ Map<Long, HospitalDept> hospitalDeptMap = hospitalDeptFacade.hospitalDeptInfoMapByIds(hospitalDeptIdList);
|
|
|
|
+ Map<Long, PatientInfo> patientInfoMap = patientInfoFacade.patientInfoMapByIds(patientIdList);
|
|
|
|
+ Map<Long, List<InquiryDetail>> inquiryDetailMap = inquiryDetailFacade.getDetailsByInquryIds(inquiryIdList);
|
|
|
|
+ Map<Long, DoctorInfo> doctorInfoMap = doctorInfoFacade.doctorInfoMapByIds(doctorIdList);
|
|
|
|
+
|
|
|
|
+ ipage.getRecords().forEach(i -> {
|
|
|
|
+ i.setInquiryTime(i.getInquiryDate());
|
|
|
|
+ i.setHospitalDeptName(Optional.ofNullable(hospitalDeptMap.get(i.getHospitalDeptId())).map(t -> t.getName()).orElse(null));
|
|
|
|
+ i.setDoctorName(Optional.ofNullable(doctorInfoMap.get(i.getDoctorId())).map(t -> t.getName()).orElse(null));
|
|
|
|
+ i.setDoctorNameSecond(Optional.ofNullable(doctorInfoMap.get(i.getDoctorIdSecond())).map(t -> t.getName()).orElse(null));
|
|
|
|
+ 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.getContent()).toString();
|
|
|
|
+ i.setDiagnose(diagnose.split(";")[0]);
|
|
|
|
+
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return ipage;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 对接-历史病历列表
|
|
* 对接-历史病历列表
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @param hisInquirysForDjVO
|
|
* @param hisInquirysForDjVO
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@@ -447,5 +507,17 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
List<InquiryScale> inquiryScaleList = inquiryScaleFacade.list(queryWrapper);
|
|
List<InquiryScale> inquiryScaleList = inquiryScaleFacade.list(queryWrapper);
|
|
return BeanUtil.listCopyTo(inquiryScaleList, GetEvaluationScalesDTO.class);
|
|
return BeanUtil.listCopyTo(inquiryScaleList, GetEvaluationScalesDTO.class);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 急诊-添加二次诊断
|
|
|
|
+ *
|
|
|
|
+ * @param addDiagnoseSecondVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public Boolean addDiagnoseSecond(AddDiagnoseSecondVO addDiagnoseSecondVO){
|
|
|
|
+ RespDTO<Boolean> res = tranServiceClient.addDiagnoseSecond(addDiagnoseSecondVO);
|
|
|
|
+ RespDTOUtil.respNGDeal(res, "添加二次诊断失败");
|
|
|
|
+ return res.data;
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|