|
@@ -1,6 +1,7 @@
|
|
|
package com.diagbot.facade;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.alibaba.fastjson.TypeReference;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
@@ -11,6 +12,7 @@ import com.diagbot.enums.IsDeleteEnum;
|
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
|
import com.diagbot.exception.CommonException;
|
|
|
import com.diagbot.service.impl.BehospitalInfoServiceImpl;
|
|
|
+import com.diagbot.service.impl.StrInformedConsentServiceImpl;
|
|
|
import com.diagbot.util.*;
|
|
|
import com.diagbot.vo.*;
|
|
|
import com.google.common.collect.Lists;
|
|
@@ -20,12 +22,12 @@ import org.apache.ibatis.annotations.Param;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -139,6 +141,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
|
|
|
SysHospitalSetFacade sysHospitalSetFacade;
|
|
|
@Autowired
|
|
|
QcCasesRelevanceEntryFacade qcCasesRelevanceEntryFacade;
|
|
|
+ @Autowired
|
|
|
+ StrInformedConsentServiceImpl strInformedConsentServiceImpl;
|
|
|
|
|
|
|
|
|
|
|
@@ -2208,6 +2212,43 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
|
|
|
|
|
|
//保存
|
|
|
Map<String, Object> pageMap = outputInfo.getPageData();
|
|
|
+ //保存解析过后的手术知情同意书
|
|
|
+ try {
|
|
|
+ List<String> recIds = new ArrayList<>();
|
|
|
+ if(pageMap.containsKey("手术知情同意书")){
|
|
|
+ Object informObject = pageMap.get("手术知情同意书");
|
|
|
+ List<Map<String,Object>> informList= (List<Map<String,Object>>) informObject;
|
|
|
+ List<StrInformedConsent> strInformedConsents = new ArrayList<>();
|
|
|
+ if(ListUtil.isNotEmpty(informList)) {
|
|
|
+ informList.forEach(obj ->
|
|
|
+ {
|
|
|
+ Map<String, String> strMap = new HashMap<>();
|
|
|
+ strMap.put("使用植入性材料", String.valueOf(obj.get("使用植入性材料")));
|
|
|
+ StrInformedConsent strInformedConsent = new StrInformedConsent();
|
|
|
+ strInformedConsent.setHospitalId(analyzeVO.getHospitalId());
|
|
|
+ strInformedConsent.setBehospitalCode(analyzeVO.getBehospitalCode());
|
|
|
+ strInformedConsent.setRecId(String.valueOf(obj.get("记录编号")));
|
|
|
+ strInformedConsent.setRecTitle(String.valueOf(obj.get("病历标题")));
|
|
|
+ strInformedConsent.setRecType("知情同意书");
|
|
|
+ strInformedConsent.setContent(JSONObject.toJSONString(strMap));
|
|
|
+ strInformedConsent.setGmtCreate(new Date());
|
|
|
+ strInformedConsents.add(strInformedConsent);
|
|
|
+ recIds.add(String.valueOf(obj.get("记录编号")));
|
|
|
+ }
|
|
|
+ );
|
|
|
+ //删除手术知情同意书历史ric_id
|
|
|
+ strInformedConsentServiceImpl.remove( new QueryWrapper<StrInformedConsent>()
|
|
|
+ .eq("hospital_id",analyzeVO.getHospitalId())
|
|
|
+ .eq("is_deleted",IsDeleteEnum.N.getKey())
|
|
|
+ .eq("behospital_code",analyzeVO.getBehospitalCode())
|
|
|
+ .in("rec_id",recIds));
|
|
|
+ //新增
|
|
|
+ strInformedConsentServiceImpl.saveBatch(strInformedConsents);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
// 手动拼接数据【知情同意书】【谈话告知书】
|
|
|
List<MedicalRecord> recordList = medicalRecordFacade.list(new QueryWrapper<MedicalRecord>()
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|