|
@@ -1,17 +1,5 @@
|
|
|
package com.diagbot.facade;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Optional;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.stereotype.Component;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
-
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.diagbot.dto.GetInquiryDetailDTO;
|
|
|
import com.diagbot.dto.HisInquiryDTO;
|
|
@@ -33,198 +21,212 @@ import com.diagbot.vo.HisInquirysVO;
|
|
|
import com.diagbot.vo.ReadInquiryVO;
|
|
|
import com.diagbot.vo.SaveInquiryDetailVO;
|
|
|
import com.diagbot.vo.SaveInquiryVO;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Optional;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
- * @Description
|
|
|
* @author rengb
|
|
|
+ * @Description
|
|
|
* @time 2018年11月23日下午2:08:08
|
|
|
*/
|
|
|
@Component
|
|
|
public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private InquiryDetailFacade inquiryDetailFacade;
|
|
|
- @Autowired
|
|
|
- private HospitalInfoFacade hospitalInfoFacade;
|
|
|
- @Autowired
|
|
|
- private PatientInfoFacade patientInfoFacade;
|
|
|
- @Autowired
|
|
|
- private DoctorInfoFacade doctorInfoFacade;
|
|
|
- @Autowired
|
|
|
- private HospitalDeptFacade hospitalDeptFacade;
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 问诊记录保存
|
|
|
- * @param saveInquiryVO
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Transactional
|
|
|
- public SaveInquiryDTO saveInquiry(SaveInquiryVO saveInquiryVO){
|
|
|
- SaveInquiryDTO saveInquiryDTO = new SaveInquiryDTO();
|
|
|
- Date now = new Date();
|
|
|
-
|
|
|
- QueryWrapper<InquiryInfo> queryWrapper = new QueryWrapper<InquiryInfo>();
|
|
|
- queryWrapper.eq("is_deleted", "N");
|
|
|
- queryWrapper.eq("hospital_id", saveInquiryVO.getHospitalId());
|
|
|
- queryWrapper.eq("hospital_dept_id", saveInquiryVO.getHospitalDeptId());
|
|
|
- queryWrapper.eq("doctor_id", saveInquiryVO.getDoctorId());
|
|
|
- queryWrapper.eq("patient_id", saveInquiryVO.getPatientId());
|
|
|
- queryWrapper.eq("inquiry_code", saveInquiryVO.getInquiryCode());
|
|
|
- InquiryInfo inquiryInfo = this.getOne(queryWrapper);
|
|
|
-
|
|
|
- Long inquiryId = null;
|
|
|
- InquiryInfo inquiryInfoSave = new InquiryInfo();
|
|
|
- inquiryInfoSave.setHospitalId(saveInquiryVO.getHospitalId());
|
|
|
- inquiryInfoSave.setHospitalDeptId(saveInquiryVO.getHospitalDeptId());
|
|
|
- inquiryInfoSave.setDoctorId(saveInquiryVO.getDoctorId());
|
|
|
- inquiryInfoSave.setPatientId(saveInquiryVO.getPatientId());
|
|
|
- inquiryInfoSave.setInquiryCode(saveInquiryVO.getInquiryCode());
|
|
|
- inquiryInfoSave.setRegVisitedState(saveInquiryVO.getRegVisitedState());
|
|
|
- inquiryInfoSave.setType(saveInquiryVO.getType());
|
|
|
- inquiryInfoSave.setDiagnose(saveInquiryVO.getDiagnose());
|
|
|
- inquiryInfoSave.setSign(saveInquiryVO.getSign());
|
|
|
- inquiryInfoSave.setDataJson(saveInquiryVO.getDataJson());
|
|
|
- if(inquiryInfo==null){
|
|
|
- inquiryInfoSave.setGmtCreate(now);
|
|
|
- this.save(inquiryInfoSave);
|
|
|
- inquiryId = inquiryInfoSave.getId();
|
|
|
- }else{
|
|
|
- inquiryId = inquiryInfo.getId();
|
|
|
- inquiryInfoSave.setId(inquiryId);
|
|
|
- inquiryInfoSave.setGmtModified(now);
|
|
|
- this.updateById(inquiryInfoSave);
|
|
|
-
|
|
|
- inquiryDetailFacade.removeByInquiryId(inquiryId);
|
|
|
- }
|
|
|
-
|
|
|
- List<InquiryDetail> inquiryDetailList = new ArrayList<>();
|
|
|
- for(SaveInquiryDetailVO i : saveInquiryVO.getDetailList()){
|
|
|
- if(StringUtil.isBlank(i.getContent())){
|
|
|
- continue;
|
|
|
- }
|
|
|
- InquiryDetail inquiryDetail = new InquiryDetail();
|
|
|
- inquiryDetail.setInquiryId(inquiryId);
|
|
|
- inquiryDetail.setType(i.getType());
|
|
|
- inquiryDetail.setContent(i.getContent());
|
|
|
- inquiryDetail.setGmtCreate(now);
|
|
|
- inquiryDetailList.add(inquiryDetail);
|
|
|
- }
|
|
|
- if(inquiryDetailList.size()>0){
|
|
|
- inquiryDetailFacade.saveInquiryDetails(inquiryDetailList);
|
|
|
- }
|
|
|
-
|
|
|
- saveInquiryDTO.setInquiryId(inquiryId);
|
|
|
- return saveInquiryDTO;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 问诊记录回显
|
|
|
- * @param readInquiryVO
|
|
|
- * @return
|
|
|
- */
|
|
|
- public ReadInquiryDTO readInquiry(ReadInquiryVO readInquiryVO){
|
|
|
- ReadInquiryDTO readInquiryDTO = new ReadInquiryDTO();
|
|
|
-
|
|
|
- HospitalInfo hospitalInfo = hospitalInfoFacade.getHospitalByCode(readInquiryVO.getHospitalCode());
|
|
|
- PatientInfo patientInfo = patientInfoFacade.getPatientByCode(readInquiryVO.getHospitalCode(), readInquiryVO.getPatientCode());
|
|
|
-
|
|
|
- Map<String,Object> map = new HashMap<>();
|
|
|
- map.put("hospitalId", hospitalInfo.getId());
|
|
|
- map.put("patientId", patientInfo.getId());
|
|
|
- InquiryInfo inquiryInfo = baseMapper.getPatientLast(map);
|
|
|
-
|
|
|
- if(inquiryInfo!=null){
|
|
|
- readInquiryDTO.setDataJson(inquiryInfo.getDataJson());
|
|
|
- }
|
|
|
-
|
|
|
- return readInquiryDTO;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 历史病历列表
|
|
|
- * @param hisInquirysVO
|
|
|
- * @return
|
|
|
- */
|
|
|
- public List<HisInquiryDTO> hisInquirys(HisInquirysVO hisInquirysVO){
|
|
|
- QueryWrapper<InquiryInfo> queryWrapper = new QueryWrapper<InquiryInfo>();
|
|
|
- queryWrapper.eq("is_deleted", "N");
|
|
|
- queryWrapper.eq("hospital_id", hisInquirysVO.getHospitalId());
|
|
|
- queryWrapper.eq("hospital_dept_id", hisInquirysVO.getHospitalDeptId());
|
|
|
- queryWrapper.eq("doctor_id", hisInquirysVO.getDoctorId());
|
|
|
- if(hisInquirysVO.getPatientId()!=null){
|
|
|
- queryWrapper.eq("patient_id", hisInquirysVO.getPatientId());
|
|
|
- }
|
|
|
- if(hisInquirysVO.getType()!=null){
|
|
|
- queryWrapper.eq("type", hisInquirysVO.getType());
|
|
|
- }
|
|
|
- if(hisInquirysVO.getSign()!=null){
|
|
|
- queryWrapper.eq("sign", hisInquirysVO.getSign());
|
|
|
- }
|
|
|
- if(hisInquirysVO.getStartDate()!=null){
|
|
|
- queryWrapper.ge("gmt_create", hisInquirysVO.getStartDate());
|
|
|
- }
|
|
|
- if(hisInquirysVO.getEndDate()!=null){
|
|
|
- queryWrapper.le("gmt_create", hisInquirysVO.getEndDate());
|
|
|
- }
|
|
|
- if(hisInquirysVO.getOrderType()==1){
|
|
|
- queryWrapper.orderByDesc("gmt_create");
|
|
|
- }else if(hisInquirysVO.getOrderType()==2){
|
|
|
- queryWrapper.orderByAsc("gmt_create");
|
|
|
- }
|
|
|
- List<InquiryInfo> inquiryInfoList = this.list(queryWrapper);
|
|
|
- if(inquiryInfoList.size()==0){
|
|
|
- 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());
|
|
|
-
|
|
|
- Map<Long,HospitalDept> hospitalDeptMap = hospitalDeptFacade.listByIds(hospitalDeptIdList).stream().filter(i->i.getIsDeleted().equals("N")&&i.getStatus()==1).collect(Collectors.toMap(HospitalDept::getId, i->i));
|
|
|
- Map<Long,DoctorInfo> doctorInfoMap = doctorInfoFacade.listByIds(doctorIdList).stream().filter(i->i.getIsDeleted().equals("N")).collect(Collectors.toMap(DoctorInfo::getId, i->i));
|
|
|
- Map<Long,PatientInfo> patientInfoMap = patientInfoFacade.listByIds(patientIdList).stream().filter(i->i.getIsDeleted().equals("N")).collect(Collectors.toMap(PatientInfo::getId, i->i));
|
|
|
- Map<Long,List<InquiryDetail>> inquiryDetailMap = inquiryDetailFacade.getDetailsByInquryIds(inquiryIdList);
|
|
|
-
|
|
|
- List<HisInquiryDTO> hisInquiryDTOList = new ArrayList<>();
|
|
|
- inquiryInfoList.forEach(i->{
|
|
|
- HisInquiryDTO hisInquiryDTO = new HisInquiryDTO();
|
|
|
- BeanUtil.copyProperties(i, hisInquiryDTO);
|
|
|
- hisInquiryDTO.setInquiryDate(i.getGmtCreate());
|
|
|
- hisInquiryDTO.setInquiryTime(i.getGmtCreate());
|
|
|
- hisInquiryDTO.setHospitalDeptName(Optional.ofNullable(hospitalDeptMap.get(i.getHospitalDeptId())).map(t->t.getName()).orElse(null));
|
|
|
- hisInquiryDTO.setDoctorName(Optional.ofNullable(doctorInfoMap.get(i.getDoctorId())).map(t->t.getName()).orElse(null));
|
|
|
- PatientInfo patientInfo = patientInfoMap.get(i.getPatientId());
|
|
|
- if(patientInfo!=null){
|
|
|
- hisInquiryDTO.setPatientName(patientInfo.getName());
|
|
|
- hisInquiryDTO.setPatientIdNo(patientInfo.getIdNo());
|
|
|
- hisInquiryDTO.setPatientSex(SexTypeEnum.getName(patientInfo.getSex()));
|
|
|
- hisInquiryDTO.setPatientAge(DateUtil.yearCompare(patientInfo.getBirthday(),DateUtil.now()));
|
|
|
- }
|
|
|
-
|
|
|
- hisInquiryDTO.setDetailList(inquiryDetailMap.get(i.getId()));
|
|
|
- hisInquiryDTOList.add(hisInquiryDTO);
|
|
|
- });
|
|
|
-
|
|
|
-
|
|
|
- return hisInquiryDTOList;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 病历详情
|
|
|
- * @param getInquiryDetailVO
|
|
|
- * @return
|
|
|
- */
|
|
|
- public GetInquiryDetailDTO getInquiryDetail(GetInquiryDetailVO getInquiryDetailVO){
|
|
|
- GetInquiryDetailDTO getInquiryDetailDTO = new GetInquiryDetailDTO();
|
|
|
-
|
|
|
- List<InquiryDetail> inquiryDetailList = inquiryDetailFacade.getListByInquryId(getInquiryDetailVO.getInquiryId());
|
|
|
-
|
|
|
- getInquiryDetailDTO.setInquiryDetailList(inquiryDetailList);
|
|
|
-
|
|
|
- return getInquiryDetailDTO;
|
|
|
- }
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private InquiryDetailFacade inquiryDetailFacade;
|
|
|
+ @Autowired
|
|
|
+ private HospitalInfoFacade hospitalInfoFacade;
|
|
|
+ @Autowired
|
|
|
+ private PatientInfoFacade patientInfoFacade;
|
|
|
+ @Autowired
|
|
|
+ private DoctorInfoFacade doctorInfoFacade;
|
|
|
+ @Autowired
|
|
|
+ private HospitalDeptFacade hospitalDeptFacade;
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 问诊记录保存
|
|
|
+ *
|
|
|
+ * @param saveInquiryVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Transactional
|
|
|
+ public SaveInquiryDTO saveInquiry(SaveInquiryVO saveInquiryVO) {
|
|
|
+ SaveInquiryDTO saveInquiryDTO = new SaveInquiryDTO();
|
|
|
+ Date now = new Date();
|
|
|
+
|
|
|
+ QueryWrapper<InquiryInfo> queryWrapper = new QueryWrapper<InquiryInfo>();
|
|
|
+ queryWrapper.eq("is_deleted", "N");
|
|
|
+ queryWrapper.eq("hospital_id", saveInquiryVO.getHospitalId());
|
|
|
+ queryWrapper.eq("hospital_dept_id", saveInquiryVO.getHospitalDeptId());
|
|
|
+ queryWrapper.eq("doctor_id", saveInquiryVO.getDoctorId());
|
|
|
+ queryWrapper.eq("patient_id", saveInquiryVO.getPatientId());
|
|
|
+ queryWrapper.eq("inquiry_code", saveInquiryVO.getInquiryCode());
|
|
|
+ InquiryInfo inquiryInfo = this.getOne(queryWrapper);
|
|
|
+
|
|
|
+ Long inquiryId = null;
|
|
|
+ InquiryInfo inquiryInfoSave = new InquiryInfo();
|
|
|
+ inquiryInfoSave.setHospitalId(saveInquiryVO.getHospitalId());
|
|
|
+ inquiryInfoSave.setHospitalDeptId(saveInquiryVO.getHospitalDeptId());
|
|
|
+ inquiryInfoSave.setDoctorId(saveInquiryVO.getDoctorId());
|
|
|
+ inquiryInfoSave.setPatientId(saveInquiryVO.getPatientId());
|
|
|
+ inquiryInfoSave.setInquiryCode(saveInquiryVO.getInquiryCode());
|
|
|
+ inquiryInfoSave.setRegVisitedState(saveInquiryVO.getRegVisitedState());
|
|
|
+ inquiryInfoSave.setType(saveInquiryVO.getType());
|
|
|
+ inquiryInfoSave.setDiagnose(saveInquiryVO.getDiagnose());
|
|
|
+ inquiryInfoSave.setSign(saveInquiryVO.getSign());
|
|
|
+ inquiryInfoSave.setDataJson(saveInquiryVO.getDataJson());
|
|
|
+ if (inquiryInfo == null) {
|
|
|
+ inquiryInfoSave.setGmtCreate(now);
|
|
|
+ this.save(inquiryInfoSave);
|
|
|
+ inquiryId = inquiryInfoSave.getId();
|
|
|
+ } else {
|
|
|
+ inquiryId = inquiryInfo.getId();
|
|
|
+ inquiryInfoSave.setId(inquiryId);
|
|
|
+ inquiryInfoSave.setGmtModified(now);
|
|
|
+ this.updateById(inquiryInfoSave);
|
|
|
+
|
|
|
+ inquiryDetailFacade.removeByInquiryId(inquiryId);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<InquiryDetail> inquiryDetailList = new ArrayList<>();
|
|
|
+ for (SaveInquiryDetailVO i : saveInquiryVO.getDetailList()) {
|
|
|
+ if (StringUtil.isBlank(i.getContent())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ InquiryDetail inquiryDetail = new InquiryDetail();
|
|
|
+ inquiryDetail.setInquiryId(inquiryId);
|
|
|
+ inquiryDetail.setType(i.getType());
|
|
|
+ inquiryDetail.setContent(i.getContent());
|
|
|
+ inquiryDetail.setGmtCreate(now);
|
|
|
+ inquiryDetailList.add(inquiryDetail);
|
|
|
+ }
|
|
|
+ if (inquiryDetailList.size() > 0) {
|
|
|
+ inquiryDetailFacade.saveInquiryDetails(inquiryDetailList);
|
|
|
+ }
|
|
|
+
|
|
|
+ saveInquiryDTO.setInquiryId(inquiryId);
|
|
|
+ return saveInquiryDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 问诊记录回显
|
|
|
+ *
|
|
|
+ * @param readInquiryVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public ReadInquiryDTO readInquiry(ReadInquiryVO readInquiryVO) {
|
|
|
+ ReadInquiryDTO readInquiryDTO = new ReadInquiryDTO();
|
|
|
+
|
|
|
+ HospitalInfo hospitalInfo = hospitalInfoFacade.getHospitalByCode(readInquiryVO.getHospitalCode());
|
|
|
+ PatientInfo patientInfo = patientInfoFacade.getPatientByCode(readInquiryVO.getHospitalCode(), readInquiryVO.getPatientCode());
|
|
|
+
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("hospitalId", hospitalInfo.getId());
|
|
|
+ map.put("patientId", patientInfo.getId());
|
|
|
+ InquiryInfo inquiryInfo = baseMapper.getPatientLast(map);
|
|
|
+
|
|
|
+ if (inquiryInfo != null) {
|
|
|
+ readInquiryDTO.setDataJson(inquiryInfo.getDataJson());
|
|
|
+ }
|
|
|
+
|
|
|
+ return readInquiryDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 历史病历列表
|
|
|
+ *
|
|
|
+ * @param hisInquirysVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<HisInquiryDTO> hisInquirys(HisInquirysVO hisInquirysVO) {
|
|
|
+ QueryWrapper<InquiryInfo> queryWrapper = new QueryWrapper<InquiryInfo>();
|
|
|
+ queryWrapper.eq("is_deleted", "N");
|
|
|
+ queryWrapper.eq("hospital_id", hisInquirysVO.getHospitalId());
|
|
|
+ queryWrapper.eq("hospital_dept_id", hisInquirysVO.getHospitalDeptId());
|
|
|
+ queryWrapper.eq("doctor_id", hisInquirysVO.getDoctorId());
|
|
|
+ if (hisInquirysVO.getPatientId() != null) {
|
|
|
+ queryWrapper.eq("patient_id", hisInquirysVO.getPatientId());
|
|
|
+ }
|
|
|
+ if (hisInquirysVO.getType() != null) {
|
|
|
+ queryWrapper.eq("type", hisInquirysVO.getType());
|
|
|
+ }
|
|
|
+ if (hisInquirysVO.getSign() != null) {
|
|
|
+ queryWrapper.eq("sign", hisInquirysVO.getSign());
|
|
|
+ }
|
|
|
+ if (hisInquirysVO.getStartDate() != null) {
|
|
|
+ queryWrapper.ge("gmt_create", hisInquirysVO.getStartDate());
|
|
|
+ }
|
|
|
+ if (hisInquirysVO.getEndDate() != null) {
|
|
|
+ queryWrapper.le("gmt_create", hisInquirysVO.getEndDate());
|
|
|
+ }
|
|
|
+ if (hisInquirysVO.getOrderType() == 1) {
|
|
|
+ queryWrapper.orderByDesc("gmt_create");
|
|
|
+ } else if (hisInquirysVO.getOrderType() == 2) {
|
|
|
+ queryWrapper.orderByAsc("gmt_create");
|
|
|
+ }
|
|
|
+ List<InquiryInfo> inquiryInfoList = this.list(queryWrapper);
|
|
|
+ if (inquiryInfoList.size() == 0) {
|
|
|
+ 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());
|
|
|
+
|
|
|
+ Map<Long, HospitalDept> hospitalDeptMap = hospitalDeptFacade.listByIds(hospitalDeptIdList).stream().filter(i -> i.getIsDeleted().equals("N") && i.getStatus() == 1).collect(Collectors.toMap(HospitalDept::getId, i -> i));
|
|
|
+ Map<Long, DoctorInfo> doctorInfoMap = doctorInfoFacade.listByIds(doctorIdList).stream().filter(i -> i.getIsDeleted().equals("N")).collect(Collectors.toMap(DoctorInfo::getId, i -> i));
|
|
|
+ Map<Long, PatientInfo> patientInfoMap = patientInfoFacade.listByIds(patientIdList).stream().filter(i -> i.getIsDeleted().equals("N")).collect(Collectors.toMap(PatientInfo::getId, i -> i));
|
|
|
+ Map<Long, List<InquiryDetail>> inquiryDetailMap = inquiryDetailFacade.getDetailsByInquryIds(inquiryIdList);
|
|
|
+
|
|
|
+ List<HisInquiryDTO> hisInquiryDTOList = new ArrayList<>();
|
|
|
+ inquiryInfoList.forEach(i -> {
|
|
|
+ HisInquiryDTO hisInquiryDTO = new HisInquiryDTO();
|
|
|
+ BeanUtil.copyProperties(i, hisInquiryDTO);
|
|
|
+ hisInquiryDTO.setInquiryDate(i.getGmtCreate());
|
|
|
+ hisInquiryDTO.setInquiryTime(i.getGmtCreate());
|
|
|
+ hisInquiryDTO.setHospitalDeptName(Optional.ofNullable(hospitalDeptMap.get(i.getHospitalDeptId())).map(t -> t.getName()).orElse(null));
|
|
|
+ hisInquiryDTO.setDoctorName(Optional.ofNullable(doctorInfoMap.get(i.getDoctorId())).map(t -> t.getName()).orElse(null));
|
|
|
+ PatientInfo patientInfo = patientInfoMap.get(i.getPatientId());
|
|
|
+ if (patientInfo != null) {
|
|
|
+ hisInquiryDTO.setPatientName(patientInfo.getName());
|
|
|
+ hisInquiryDTO.setPatientIdNo(patientInfo.getIdNo());
|
|
|
+ hisInquiryDTO.setPatientSex(SexTypeEnum.getName(patientInfo.getSex()));
|
|
|
+ hisInquiryDTO.setPatientAge(DateUtil.yearCompare(patientInfo.getBirthday(), DateUtil.now()));
|
|
|
+ }
|
|
|
+
|
|
|
+ hisInquiryDTO.setDetailList(inquiryDetailMap.get(i.getId()));
|
|
|
+ hisInquiryDTOList.add(hisInquiryDTO);
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ return hisInquiryDTOList;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 病历详情
|
|
|
+ *
|
|
|
+ * @param getInquiryDetailVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public GetInquiryDetailDTO getInquiryDetail(GetInquiryDetailVO getInquiryDetailVO) {
|
|
|
+ GetInquiryDetailDTO getInquiryDetailDTO = new GetInquiryDetailDTO();
|
|
|
+
|
|
|
+ List<InquiryDetail> inquiryDetailList = inquiryDetailFacade.getListByInquryId(getInquiryDetailVO.getInquiryId());
|
|
|
+
|
|
|
+ getInquiryDetailDTO.setInquiryDetailList(inquiryDetailList);
|
|
|
+
|
|
|
+ return getInquiryDetailDTO;
|
|
|
+ }
|
|
|
|
|
|
}
|