Parcourir la source

病历保存修改

rgb il y a 6 ans
Parent
commit
c882a202e6

+ 41 - 0
icss-service/src/main/java/com/diagbot/facade/InquiryDetailFacade.java

@@ -0,0 +1,41 @@
+/**
+ * 
+ */
+package com.diagbot.facade;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.InquiryDetail;
+import com.diagbot.service.impl.InquiryDetailServiceImpl;
+
+/**
+ * @Description
+ * @author rengb
+ * @time 2018年11月23日下午2:08:08
+ */
+public class InquiryDetailFacade extends InquiryDetailServiceImpl {
+	
+	/**
+	 * 批量保存问诊明细
+	 * @param inquiryDetailList
+	 */
+	public void saveInquiryDetails(List<InquiryDetail> inquiryDetailList){
+		if(inquiryDetailList!=null
+				&&inquiryDetailList.size()>0){
+			baseMapper.saveInquiryDetails(inquiryDetailList);
+		}
+	}
+	
+	/**
+	 * 根据问诊记录id删除问诊记录明细
+	 * @param inquiryId
+	 */
+	public void removeByInquiryId(Long inquiryId){
+		QueryWrapper<InquiryDetail> queryWrapper = new QueryWrapper<InquiryDetail>();
+		queryWrapper.eq("inquiry_id", inquiryId);
+		this.remove(queryWrapper);
+	}
+	
+
+}

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

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

+ 9 - 0
icss-service/src/main/java/com/diagbot/mapper/InquiryDetailMapper.java

@@ -1,6 +1,9 @@
 package com.diagbot.mapper;
 
 import com.diagbot.entity.InquiryDetail;
+
+import java.util.List;
+
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**
@@ -12,5 +15,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2018-11-23
  */
 public interface InquiryDetailMapper extends BaseMapper<InquiryDetail> {
+	
+	/**
+	 * 批量保存问诊明细
+	 * @param inquiryDetailList
+	 */
+	public void saveInquiryDetails(List<InquiryDetail> inquiryDetailList);
 
 }

+ 2 - 0
icss-service/src/main/java/com/diagbot/web/InquiryInfoController.java

@@ -4,6 +4,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;
@@ -34,6 +35,7 @@ public class InquiryInfoController {
 	 @ApiOperation(value = "问诊记录保存[by:rengb]")
 	 @PostMapping("/getTopPatientInfo")
 	 @SysLogger("getTopPatientInfo")
+	 @Transactional
 	 public RespDTO<SaveInquiryDTO> saveInquiry(@Valid @RequestBody SaveInquiryVO saveInquiryVO) {
 		 return RespDTO.onSuc(inquiryInfoFacade.saveInquiry(saveInquiryVO));
 	 }

+ 7 - 0
icss-service/src/main/resources/mapper/InquiryDetailMapper.xml

@@ -15,5 +15,12 @@
         <result column="content" property="content" />
         <result column="remark" property="remark" />
     </resultMap>
+    
+    <insert id="saveInquiryDetails" parameterType="list">
+    	insert into icss_inquiry_detail(inquiry_id,type,content) values
+    	<foreach collection="list" separator="," item="detail">
+    		(#{detail.inquiryId},#{detail.type},#{detail.content})
+    	</foreach>
+    </insert>
 
 </mapper>