Przeglądaj źródła

Merge remote-tracking branch 'origin/dev/icssNCD' into dev/icssNCD

zhoutg 6 lat temu
rodzic
commit
d92988f161

+ 14 - 0
icss-service/src/main/java/com/diagbot/facade/InquiryDrugFacade.java

@@ -1,10 +1,13 @@
 package com.diagbot.facade;
 
+import java.util.List;
+
 import org.springframework.stereotype.Component;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.entity.InquiryDrug;
 import com.diagbot.service.impl.InquiryDrugServiceImpl;
+import com.diagbot.util.ListUtil;
 
 /**
  * @author rengb
@@ -24,5 +27,16 @@ public class InquiryDrugFacade extends InquiryDrugServiceImpl {
         queryWrapper.eq("inquiry_id", inquiryId);
         this.remove(queryWrapper);
     }
+    
+    /**
+     * 批量保存问诊记录处方用药明细
+     *
+     * @param inquiryDrugList
+     */
+    public void saveInquiryDrugs(List<InquiryDrug> inquiryDrugList) {
+        if (ListUtil.isNotEmpty(inquiryDrugList)) {
+           super.saveBatch(inquiryDrugList);
+        }
+    }
 
 }

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

@@ -9,6 +9,7 @@ import java.util.Optional;
 import java.util.stream.Collectors;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -23,19 +24,24 @@ import com.diagbot.dto.SaveInquiryDTO;
 import com.diagbot.entity.DoctorInfo;
 import com.diagbot.entity.HospitalDept;
 import com.diagbot.entity.InquiryDetail;
+import com.diagbot.entity.InquiryDrug;
+import com.diagbot.entity.InquiryEvaluation;
 import com.diagbot.entity.InquiryInfo;
+import com.diagbot.entity.InquiryScale;
 import com.diagbot.entity.PatientInfo;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.SexTypeEnum;
+import com.diagbot.service.InquiryDrugService;
+import com.diagbot.service.InquiryScaleService;
 import com.diagbot.service.impl.InquiryInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.vo.GetInquiryDetailVO;
 import com.diagbot.vo.GetLastOtherVO;
 import com.diagbot.vo.HisInquirysVO;
 import com.diagbot.vo.PatientInfoVO;
 import com.diagbot.vo.ReadInquiryVO;
-import com.diagbot.vo.SaveInquiryDetailVO;
 import com.diagbot.vo.SaveInquiryVO;
 
 /**
@@ -59,9 +65,15 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
     @Autowired
     private InquiryDrugFacade inquiryDrugFacade;
     @Autowired
+    @Qualifier("inquiryDrugServiceImpl")
+    private InquiryDrugService inquiryDrugService;
+    @Autowired
     private InquiryEvaluationFacade inquiryEvaluationFacade;
     @Autowired
     private InquiryScaleFacade inquiryScaleFacade;
+    @Autowired
+    @Qualifier("inquiryScaleServiceImpl")
+    private InquiryScaleService inquiryScaleService;
 
     /**
      * 问诊记录保存
@@ -111,20 +123,45 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
             inquiryEvaluationFacade.removeByInquiryId(inquiryId);
             inquiryScaleFacade.removeByInquiryId(inquiryId);
         }
-
-        List<InquiryDetail> inquiryDetailList = new ArrayList<>();
-        for (SaveInquiryDetailVO i : saveInquiryVO.getDetailList()) {
-            InquiryDetail inquiryDetail = new InquiryDetail();
-            inquiryDetail.setInquiryId(inquiryId);
-            inquiryDetail.setType(i.getType());
-            inquiryDetail.setContent(i.getContent());
-            inquiryDetail.setGmtCreate(now);
-            inquiryDetailList.add(inquiryDetail);
-        }
-        if (inquiryDetailList.size() > 0) {
+        
+        Long inquiryId_=inquiryId;
+        
+        if(ListUtil.isNotEmpty(saveInquiryVO.getDetailList())){
+            List<InquiryDetail> inquiryDetailList = BeanUtil.listCopyTo(saveInquiryVO.getDetailList(),InquiryDetail.class);
+            inquiryDetailList.forEach(i->{
+            	i.setInquiryId(inquiryId_);
+            	i.setGmtCreate(now);
+            });
             inquiryDetailFacade.saveInquiryDetails(inquiryDetailList);
         }
-
+        
+        if(ListUtil.isNotEmpty(saveInquiryVO.getDrugList())){
+        	List<InquiryDrug> inquiryDrugList = BeanUtil.listCopyTo(saveInquiryVO.getDrugList(),InquiryDrug.class);
+            inquiryDrugList.stream().forEach(i->{
+            	i.setInquiryId(inquiryId_);
+            	i.setGmtCreate(now);
+            });
+            inquiryDrugService.saveBatch(inquiryDrugList);
+        }
+        
+        if(saveInquiryVO.getInquiryEvaluation()!=null){
+        	InquiryEvaluation inquiryEvaluation = new InquiryEvaluation();
+        	inquiryEvaluation.setInquiryId(inquiryId_);
+        	inquiryEvaluation.setGmtCreate(now);
+        	inquiryEvaluation.setHtmlContent(saveInquiryVO.getInquiryEvaluation().getHtmlContent());
+        	inquiryEvaluationFacade.save(inquiryEvaluation);
+        	
+        	if(ListUtil.isNotEmpty(saveInquiryVO.getInquiryEvaluation().getScaleList())){
+        		List<InquiryScale> inquiryScaleList = BeanUtil.listCopyTo(saveInquiryVO.getInquiryEvaluation().getScaleList(),InquiryScale.class);
+        		inquiryScaleList.forEach(i->{
+        			i.setInquiryId(inquiryId_);
+        			i.setInquiryEvaluationId(inquiryEvaluation.getId());
+        			i.setGmtCreate(now);
+        		});
+        		inquiryScaleService.saveBatch(inquiryScaleList);
+        	}
+        }
+        
         saveInquiryDTO.setInquiryId(inquiryId);
         return saveInquiryDTO;
     }

+ 14 - 0
icss-service/src/main/java/com/diagbot/facade/InquiryScaleFacade.java

@@ -1,10 +1,13 @@
 package com.diagbot.facade;
 
+import java.util.List;
+
 import org.springframework.stereotype.Component;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.entity.InquiryScale;
 import com.diagbot.service.impl.InquiryScaleServiceImpl;
+import com.diagbot.util.ListUtil;
 
 /**
  * @author rengb
@@ -24,5 +27,16 @@ public class InquiryScaleFacade extends InquiryScaleServiceImpl {
         queryWrapper.eq("inquiry_id", inquiryId);
         this.remove(queryWrapper);
     }
+    
+    /**
+     * 批量保存问诊记录评估结果量表明细
+     *
+     * @param inquiryScaleList
+     */
+    public void saveInquiryScales(List<InquiryScale> inquiryScaleList) {
+        if (ListUtil.isNotEmpty(inquiryScaleList)) {
+           super.saveBatch(inquiryScaleList);
+        }
+    }
 
 }