|
@@ -1,14 +1,23 @@
|
|
|
package com.diagbot.facade;
|
|
|
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
-import com.diagbot.client.InquiryInfoServiceClient;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.diagbot.entity.InquiryDetail;
|
|
|
+import com.diagbot.entity.InquiryInfo;
|
|
|
+import com.diagbot.enums.IsDeleteEnum;
|
|
|
+import com.diagbot.service.impl.InquiryDetailServiceImpl;
|
|
|
import com.diagbot.service.impl.InquiryInfoServiceImpl;
|
|
|
-import com.diagbot.vo.HisInquirysForDjVO;
|
|
|
+import com.diagbot.util.BeanUtil;
|
|
|
+import com.diagbot.vo.SaveInquiryToHisVO;
|
|
|
|
|
|
/**
|
|
|
- * @Description: 对接问诊信息业务逻辑
|
|
|
+ * @Description: 对接层问诊信息业务逻辑
|
|
|
* @author: rengb
|
|
|
* @since 2019-3-18
|
|
|
*/
|
|
@@ -16,12 +25,68 @@ import com.diagbot.vo.HisInquirysForDjVO;
|
|
|
public class InquiryInfoFacade extends InquiryInfoServiceImpl{
|
|
|
|
|
|
@Autowired
|
|
|
- private InquiryInfoServiceClient inquiryInfoServiceClient;
|
|
|
+ private InquiryDetailFacade inquiryDetailFacade;
|
|
|
+ @Autowired
|
|
|
+ @Qualifier("inquiryDetailServiceImpl")
|
|
|
+ private InquiryDetailServiceImpl inquiryDetailServiceImpl;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 问诊记录保存
|
|
|
+ *
|
|
|
+ * @param saveInquiryToHisVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Boolean saveInquiryToHis(SaveInquiryToHisVO saveInquiryToHisVO) {
|
|
|
+
|
|
|
+ Date now = new Date();
|
|
|
+
|
|
|
+ QueryWrapper<InquiryInfo> inquiryInfoQe = new QueryWrapper<>();
|
|
|
+ inquiryInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
+ inquiryInfoQe.eq("hospital_id", saveInquiryToHisVO.getHospitalId());
|
|
|
+ inquiryInfoQe.eq("hospital_dept_id", saveInquiryToHisVO.getHospitalDeptId());
|
|
|
+ inquiryInfoQe.eq("doctor_id", saveInquiryToHisVO.getDoctorId());
|
|
|
+ inquiryInfoQe.eq("patient_id", saveInquiryToHisVO.getPatientId());
|
|
|
+ inquiryInfoQe.eq("inquiry_code", saveInquiryToHisVO.getInquiryCode());
|
|
|
+ InquiryInfo inquiryInfo = this.getOne(inquiryInfoQe);
|
|
|
+
|
|
|
+ Long inquiryId = null;
|
|
|
+ InquiryInfo inquiryInfoSave = new InquiryInfo();
|
|
|
+ inquiryInfoSave.setHospitalId(saveInquiryToHisVO.getHospitalId());
|
|
|
+ inquiryInfoSave.setHospitalDeptId(saveInquiryToHisVO.getHospitalDeptId());
|
|
|
+ inquiryInfoSave.setDoctorId(saveInquiryToHisVO.getDoctorId());
|
|
|
+ inquiryInfoSave.setPatientId(saveInquiryToHisVO.getPatientId());
|
|
|
+ inquiryInfoSave.setInquiryCode(saveInquiryToHisVO.getInquiryCode());
|
|
|
+ inquiryInfoSave.setRegVisitedState(saveInquiryToHisVO.getRegVisitedState());
|
|
|
+ inquiryInfoSave.setType(saveInquiryToHisVO.getType());
|
|
|
+ inquiryInfoSave.setDiagnose(saveInquiryToHisVO.getDiagnose());
|
|
|
+ if (inquiryInfo == null) {
|
|
|
+ inquiryInfoSave.setGmtCreate(now);
|
|
|
+ inquiryInfoSave.setGmtModified(now);
|
|
|
+ this.save(inquiryInfoSave);
|
|
|
+ inquiryId = inquiryInfoSave.getId();
|
|
|
+ } else {
|
|
|
+ inquiryId = inquiryInfo.getId();
|
|
|
+ inquiryInfoSave.setId(inquiryId);
|
|
|
+ inquiryInfoSave.setGmtModified(now);
|
|
|
+ this.updateById(inquiryInfoSave);
|
|
|
+
|
|
|
+ QueryWrapper<InquiryDetail> inquiryDetailQe = new QueryWrapper<>();
|
|
|
+ inquiryDetailQe.eq("inquiry_id", inquiryId);
|
|
|
+ inquiryDetailQe.ne("type", 9);
|
|
|
+ inquiryDetailFacade.remove(inquiryDetailQe);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<InquiryDetail> inquiryDetailList = BeanUtil.listCopyTo(saveInquiryToHisVO.getDetailList(), InquiryDetail.class);
|
|
|
+ for(InquiryDetail i : inquiryDetailList){
|
|
|
+ i.setInquiryId(inquiryId);
|
|
|
+ i.setGmtCreate(now);
|
|
|
+ i.setGmtModified(now);
|
|
|
+ }
|
|
|
+ inquiryDetailServiceImpl.saveBatch(inquiryDetailList);
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
|
|
|
- public Object hisInquirysForDj(){
|
|
|
- HisInquirysForDjVO hisInquirysForDjVO = null;
|
|
|
- inquiryInfoServiceClient.hisInquirysForDj(hisInquirysForDjVO);
|
|
|
- return null;
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
}
|