Browse Source

急诊问诊保存修改

rgb 6 years ago
parent
commit
4bacb81249

+ 2 - 2
icss-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -191,9 +191,9 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
         }
 
         saveInquiryDTO.setInquiryId(inquiryId_);
-
+        
         SaveInquiryToHisVO saveInquiryToHisVO = new SaveInquiryToHisVO();
-        saveInquiryToHisVO.setContentList(contentList);
+        BeanUtil.copyProperties(saveInquiryVO, saveInquiryToHisVO);
         tranServiceClient.saveInquiryToHis(saveInquiryToHisVO);
 
         return saveInquiryDTO;

+ 25 - 0
icss-service/src/main/java/com/diagbot/vo/SaveInquiryToHisDetailVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rengb
+ * @time 2018年11月23日下午2:29:43
+ */
+@Getter
+@Setter
+public class SaveInquiryToHisDetailVO {
+	
+	/**
+     * 类型(1:主诉,2现病史,3其他史,4查体,5化验,6辅检,7诊断,8医嘱)
+     */
+    private Integer type;
+
+    /**
+     * 内容字符串纯文本
+     */
+    private String contentValue;
+
+}

+ 44 - 2
icss-service/src/main/java/com/diagbot/vo/SaveInquiryToHisVO.java

@@ -14,8 +14,50 @@ import lombok.Setter;
 @Setter
 public class SaveInquiryToHisVO {
 	
-	private List<String> contentList;
-	
+	/**
+     * 医院id
+     */
+    private Long hospitalId;
+
+    /**
+     * 科室id
+     */
+    private Long hospitalDeptId;
+
+    /**
+     * 医生id
+     */
+    private Long doctorId;
+
+    /**
+     * 患者id
+     */
+    private Long patientId;
+
+    /**
+     * 就诊序列号
+     */
+    private String inquiryCode;
+
+    /**
+     * 就诊状态(0待接诊,1接诊中,2完成接诊)
+     */
+	private Integer regVisitedState=1;
+
+    /**
+     * 病历分类(1:门诊,2:住院)
+     */
+    private Integer type=1;
+
+    /**
+     * 诊断
+     */
+    private String diagnose;
 
+	/**
+	 * 问诊明细
+	 */
+    private List<SaveInquiryToHisDetailVO> detailList;
+    
    
 }

+ 74 - 9
tran-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -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;
-	}
+
 
 }

+ 25 - 0
tran-service/src/main/java/com/diagbot/vo/SaveInquiryToHisDetailVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rengb
+ * @time 2018年11月23日下午2:29:43
+ */
+@Getter
+@Setter
+public class SaveInquiryToHisDetailVO {
+	
+	/**
+     * 类型(1:主诉,2现病史,3其他史,4查体,5化验,6辅检,7诊断,8医嘱)
+     */
+    private Integer type;
+
+    /**
+     * 内容字符串纯文本
+     */
+    private String contentValue;
+
+}

+ 44 - 2
tran-service/src/main/java/com/diagbot/vo/SaveInquiryToHisVO.java

@@ -14,8 +14,50 @@ import lombok.Setter;
 @Setter
 public class SaveInquiryToHisVO {
 	
-	private List<String> contentList;
-	
+	/**
+     * 医院id
+     */
+    private Long hospitalId;
+
+    /**
+     * 科室id
+     */
+    private Long hospitalDeptId;
+
+    /**
+     * 医生id
+     */
+    private Long doctorId;
+
+    /**
+     * 患者id
+     */
+    private Long patientId;
+
+    /**
+     * 就诊序列号
+     */
+    private String inquiryCode;
+
+    /**
+     * 就诊状态(0待接诊,1接诊中,2完成接诊)
+     */
+	private Integer regVisitedState=1;
+
+    /**
+     * 病历分类(1:门诊,2:住院)
+     */
+    private Integer type=1;
+
+    /**
+     * 诊断
+     */
+    private String diagnose;
 
+	/**
+	 * 问诊明细
+	 */
+    private List<SaveInquiryToHisDetailVO> detailList;
+    
    
 }

+ 13 - 17
tran-service/src/main/java/com/diagbot/web/InquiryInfoController.java

@@ -1,8 +1,7 @@
 package com.diagbot.web;
 
-import javax.validation.Valid;
-
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -14,10 +13,11 @@ import com.diagbot.facade.InquiryInfoFacade;
 import com.diagbot.vo.SaveInquiryToHisVO;
 
 import io.swagger.annotations.Api;
+import springfox.documentation.annotations.ApiIgnore;
 
 /**
  * <p>
- * 对接问诊信息控制器
+ * 对接问诊信息控制器
  * </p>
  *
  * @author rengb
@@ -25,29 +25,25 @@ import io.swagger.annotations.Api;
  */
 @RestController
 @RequestMapping("/inquiryInfo")
-@Api(value = "对接问诊信息API", tags = { "对接问诊信息API" })
+@Api(value = "对接层-问诊信息API", tags = { "对接层-问诊信息API" })
 @SuppressWarnings("unchecked")
 public class InquiryInfoController {
 	
 	 @Autowired
 	 private InquiryInfoFacade inquiryInfoFacade;
 	 
+	 /**
+	  * 问诊记录保存
+	  * @param saveInquiryToHisVO
+	  * @return
+	  */
 	 @PostMapping("/saveInquiryToHis")
 	 @SysLogger("saveInquiryToHis")
-	 public RespDTO<Boolean> saveInquiryToHis(@Valid @RequestBody SaveInquiryToHisVO saveInquiryToHisVO) {
-		 
-		 
-		
-	     return RespDTO.onSuc(true);
+	 @Transactional
+	 @ApiIgnore
+	 public RespDTO<Boolean> saveInquiryToHis(@RequestBody SaveInquiryToHisVO saveInquiryToHisVO) {
+	     return RespDTO.onSuc(inquiryInfoFacade.saveInquiryToHis(saveInquiryToHisVO));
 	 }
 	 
-	 @PostMapping("/hisInquirysForDj")
-	 @SysLogger("hisInquirysForDj")
-	 public RespDTO<Object> hisInquirysForDj() {
-		 
-		 
-		
-	     return RespDTO.onSuc(true);
-	 }
 
 }