|
@@ -2,10 +2,13 @@ package com.diagbot.facade;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
+import com.diagbot.dto.GetInquiryDTO;
|
|
|
+import com.diagbot.dto.GetInquiryDetailDTO;
|
|
|
import com.diagbot.dto.InquiryDTO;
|
|
|
import com.diagbot.dto.InquiryPatDTO;
|
|
|
import com.diagbot.entity.InquiryDetail;
|
|
|
import com.diagbot.entity.InquiryInfo;
|
|
|
+import com.diagbot.entity.Option;
|
|
|
import com.diagbot.enums.IdTypeEnum;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
@@ -14,19 +17,24 @@ 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.GsonUtil;
|
|
|
import com.diagbot.util.HttpUtils;
|
|
|
import com.diagbot.util.IdCard;
|
|
|
import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.StringUtil;
|
|
|
+import com.diagbot.vo.GetInquiryVO;
|
|
|
import com.diagbot.vo.HospitalVO;
|
|
|
+import com.diagbot.vo.InquiryCodeVO;
|
|
|
import com.diagbot.vo.InquiryDetailVO;
|
|
|
import com.diagbot.vo.InquiryPatInquiryVO;
|
|
|
import com.diagbot.vo.InquiryPatVO;
|
|
|
+import com.diagbot.vo.SaveInquiryDetailVO;
|
|
|
import com.diagbot.vo.SaveInquiryVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
@@ -48,7 +56,7 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
@Qualifier("inquiryDetailServiceImpl")
|
|
|
private InquiryDetailServiceImpl inquiryDetailService;
|
|
|
|
|
|
- public void saveInquiry(SaveInquiryVO saveInquiryVO) {
|
|
|
+ public Long saveInquiry(SaveInquiryVO saveInquiryVO) {
|
|
|
if (StringUtil.isBlank(saveInquiryVO.getHospitalCode())) {
|
|
|
saveInquiryVO.setHospitalCode("朗通通用");
|
|
|
}
|
|
@@ -96,24 +104,36 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
);
|
|
|
// 删除原明细
|
|
|
inquiryDetailFacade.update(new UpdateWrapper<InquiryDetail>()
|
|
|
- .set("gmt_modified", now)
|
|
|
- .set("is_deleted", IsDeleteEnum.Y.getKey())
|
|
|
- .eq("inquiry_id", inquiryInfo.getId())
|
|
|
+ .set("gmt_modified", now)
|
|
|
+ .set("is_deleted", IsDeleteEnum.Y.getKey())
|
|
|
+ .eq("inquiry_id", inquiryInfo.getId())
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
);
|
|
|
}
|
|
|
Long id = inquiryInfo.getId();
|
|
|
- List<InquiryDetail> inquiryDetailList = BeanUtil.listCopyTo(saveInquiryVO.getDetailList(), InquiryDetail.class);
|
|
|
- inquiryDetailList.forEach(i -> {
|
|
|
- i.setInquiryId(id);
|
|
|
- i.setGmtCreate(now);
|
|
|
- i.setGmtModified(now);
|
|
|
- });
|
|
|
+ List<InquiryDetail> inquiryDetailList = new ArrayList<>();
|
|
|
+ if (ListUtil.isNotEmpty(saveInquiryVO.getDetailList())) {
|
|
|
+ for (SaveInquiryDetailVO saveInquiryDetailVO : saveInquiryVO.getDetailList()) {
|
|
|
+ InquiryDetail inquiryDetail = new InquiryDetail();
|
|
|
+ BeanUtil.copyProperties(saveInquiryDetailVO, inquiryDetail);
|
|
|
+ inquiryDetail.setInquiryId(id);
|
|
|
+ inquiryDetail.setGmtCreate(now);
|
|
|
+ inquiryDetail.setGmtModified(now);
|
|
|
+ if (ListUtil.isNotEmpty(saveInquiryDetailVO.getOptions())) {
|
|
|
+ inquiryDetail.setRemark(GsonUtil.toJson(saveInquiryDetailVO.getOptions()));
|
|
|
+ }
|
|
|
+ inquiryDetailList.add(inquiryDetail);
|
|
|
+ }
|
|
|
+ }
|
|
|
inquiryDetailService.saveBatch(inquiryDetailList);
|
|
|
|
|
|
HospitalVO hospitalVO = new HospitalVO();
|
|
|
hospitalVO.setHospitalCode(saveInquiryVO.getHospitalCode());
|
|
|
// 保存记录表
|
|
|
optInfoFacade.saveOptOnfo(hospitalVO, "2");
|
|
|
+
|
|
|
+ return id;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
@@ -134,5 +154,55 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
+ public GetInquiryDTO getInquiry(GetInquiryVO getInquiryVO) {
|
|
|
+ GetInquiryDTO getInquiryDTO = new GetInquiryDTO();
|
|
|
+
|
|
|
+ InquiryInfo inquiryInfo = this.getOne(new QueryWrapper<InquiryInfo>()
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("hospital_code", getInquiryVO.getHospitalCode())
|
|
|
+ .eq("inquiry_code", getInquiryVO.getInquiryCode()), false
|
|
|
+ );
|
|
|
+
|
|
|
+ if (null != inquiryInfo) {
|
|
|
+ BeanUtil.copyProperties(inquiryInfo, getInquiryDTO);
|
|
|
+ List<InquiryDetail> list = inquiryDetailFacade.list(new QueryWrapper<InquiryDetail>()
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("inquiry_id", inquiryInfo.getId())
|
|
|
+ .orderByAsc("id")
|
|
|
+ );
|
|
|
+
|
|
|
+ List<GetInquiryDetailDTO> inquiryDetailDTOS = new ArrayList<>();
|
|
|
+ if (ListUtil.isNotEmpty(list)) {
|
|
|
+ for (InquiryDetail inquiryDetail : list) {
|
|
|
+ GetInquiryDetailDTO getInquiryDetailDTO = new GetInquiryDetailDTO();
|
|
|
+ BeanUtil.copyProperties(inquiryDetail, getInquiryDetailDTO);
|
|
|
+ if (StringUtil.isNotBlank(inquiryDetail.getRemark())) {
|
|
|
+ List<Option> options = GsonUtil.toList(inquiryDetail.getRemark(), Option.class);
|
|
|
+ getInquiryDetailDTO.setOptions(options);
|
|
|
+ }
|
|
|
+ inquiryDetailDTOS.add(getInquiryDetailDTO);
|
|
|
+ }
|
|
|
+ getInquiryDTO.setInquiryDetailDTOS(inquiryDetailDTOS);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw new CommonException(CommonErrorCode.NOT_EXISTS, "该医院下该就诊序列号无病历信息!");
|
|
|
+ }
|
|
|
+ return getInquiryDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Boolean upInquiryCode(InquiryCodeVO inquiryCodeVO) {
|
|
|
+ Date now = DateUtil.now();
|
|
|
+ return this.update(new UpdateWrapper<InquiryInfo>()
|
|
|
+ .set("gmt_modified", now)
|
|
|
+ .set("inquiry_code", inquiryCodeVO.getInquiryCode())
|
|
|
+ .set("source", inquiryCodeVO.getSource())
|
|
|
+ .set("dept_code", inquiryCodeVO.getDeptCode())
|
|
|
+ .set("dept_name", inquiryCodeVO.getDeptName())
|
|
|
+ .set("doctor_code", inquiryCodeVO.getDoctorCode())
|
|
|
+ .set("doctor_name", inquiryCodeVO.getDoctorName())
|
|
|
+ .eq("id", inquiryCodeVO.getInquiryId())
|
|
|
+ .eq("hospital_code", inquiryCodeVO.getHospitalCode())
|
|
|
+ );
|
|
|
+ }
|
|
|
|
|
|
}
|