|
@@ -3,7 +3,16 @@
|
|
|
*/
|
|
|
package com.diagbot.facade;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.diagbot.dto.InquiryDetailDTO;
|
|
|
import com.diagbot.dto.SaveInquiryDTO;
|
|
|
+import com.diagbot.entity.InquiryDetail;
|
|
|
+import com.diagbot.entity.InquiryInfo;
|
|
|
import com.diagbot.service.impl.InquiryInfoServiceImpl;
|
|
|
import com.diagbot.vo.SaveInquiryVO;
|
|
|
|
|
@@ -14,9 +23,60 @@ import com.diagbot.vo.SaveInquiryVO;
|
|
|
*/
|
|
|
public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private InquiryDetailFacade inquiryDetailFacade;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 问诊记录保存
|
|
|
+ * @param saveInquiryVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
public SaveInquiryDTO saveInquiry(SaveInquiryVO saveInquiryVO){
|
|
|
+ SaveInquiryDTO saveInquiryDTO = new SaveInquiryDTO();
|
|
|
+
|
|
|
+ QueryWrapper<InquiryInfo> queryWrapper = new QueryWrapper<InquiryInfo>();
|
|
|
+ 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){
|
|
|
+ this.save(inquiryInfoSave);
|
|
|
+ inquiryId = inquiryInfoSave.getId();
|
|
|
+ }else{
|
|
|
+ inquiryInfoSave.setId(inquiryId);
|
|
|
+ this.updateById(inquiryInfoSave);
|
|
|
+
|
|
|
+ inquiryId = inquiryInfo.getId();
|
|
|
+ inquiryDetailFacade.removeByInquiryId(inquiryId);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ List<InquiryDetail> inquiryDetailList = new ArrayList<>();
|
|
|
+ for(InquiryDetailDTO i : saveInquiryVO.getDetailList()){
|
|
|
+ InquiryDetail inquiryDetail = new InquiryDetail();
|
|
|
+ inquiryDetail.setInquiryId(inquiryId);
|
|
|
+ inquiryDetail.setType(i.getType());
|
|
|
+ inquiryDetail.setContent(i.getContent());
|
|
|
+ inquiryDetailList.add(inquiryDetail);
|
|
|
+ }
|
|
|
+ inquiryDetailFacade.saveInquiryDetails(inquiryDetailList);
|
|
|
|
|
|
- return null;
|
|
|
+ return saveInquiryDTO;
|
|
|
}
|
|
|
|
|
|
}
|