소스 검색

Merge branch 'dev/20201210_1.4.9'

chengyao 4 년 전
부모
커밋
2d3ea1faf2
57개의 변경된 파일5952개의 추가작업 그리고 97개의 파일을 삭제
  1. 23 0
      src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  2. 23 0
      src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  3. 75 67
      src/main/java/com/diagbot/facade/BehospitalInfoFacade.java
  4. 1 0
      src/main/java/com/diagbot/facade/data/ColumnFacade.java
  5. 66 1
      src/main/java/com/diagbot/facade/data/AStrAdmissionNoteFacade.java
  6. 81 1
      src/main/java/com/diagbot/facade/data/AStrBloodResultFacade.java
  7. 71 1
      src/main/java/com/diagbot/facade/data/AStrBloodTransfusionFacade.java
  8. 66 1
      src/main/java/com/diagbot/facade/data/AStrConsultationApplyFacade.java
  9. 65 1
      src/main/java/com/diagbot/facade/data/AStrConsultationNoteFacade.java
  10. 66 5
      src/main/java/com/diagbot/facade/data/AStrConsultationRecordFacade.java
  11. 70 1
      src/main/java/com/diagbot/facade/data/AStrConsultationResultFacade.java
  12. 66 1
      src/main/java/com/diagbot/facade/data/AStrCrisisNoteFacade.java
  13. 65 1
      src/main/java/com/diagbot/facade/data/AStrDeathDiscussionFacade.java
  14. 66 1
      src/main/java/com/diagbot/facade/data/AStrDeathNoteFacade.java
  15. 66 1
      src/main/java/com/diagbot/facade/data/AStrDifficultCaseFacade.java
  16. 65 1
      src/main/java/com/diagbot/facade/data/AStrFirstRecordFacade.java
  17. 65 1
      src/main/java/com/diagbot/facade/data/AStrIllCriticallyFacade.java
  18. 65 1
      src/main/java/com/diagbot/facade/data/AStrIllSeriouslFacade.java
  19. 66 1
      src/main/java/com/diagbot/facade/data/AStrLeaveHospitalFacade.java
  20. 65 1
      src/main/java/com/diagbot/facade/data/AStrOperativeFirstRecord.java
  21. 66 1
      src/main/java/com/diagbot/facade/data/AStrOperativeNoteFacade.java
  22. 65 2
      src/main/java/com/diagbot/facade/data/AStrPeriodConclusionFacade.java
  23. 66 1
      src/main/java/com/diagbot/facade/data/AStrPreoperativeDiscussionFacade.java
  24. 66 1
      src/main/java/com/diagbot/facade/data/AStrRescueNoteFacade.java
  25. 65 1
      src/main/java/com/diagbot/facade/data/AStrTransferInNoteFacade.java
  26. 65 1
      src/main/java/com/diagbot/facade/data/AStrTransferOutNoteFacade.java
  27. 66 1
      src/main/java/com/diagbot/facade/data/AStrWardRecordFacade.java
  28. 1 2
      src/main/java/com/diagbot/util/ColumnCacheUtil.java
  29. 317 0
      src/main/java/com/diagbot/vo/str/StrAdmissionNoteVO.java
  30. 127 0
      src/main/java/com/diagbot/vo/str/StrBloodResultVO.java
  31. 147 0
      src/main/java/com/diagbot/vo/str/StrBloodTransfusionVO.java
  32. 187 0
      src/main/java/com/diagbot/vo/str/StrConsultationApplyVO.java
  33. 187 0
      src/main/java/com/diagbot/vo/str/StrConsultationNoteVO.java
  34. 188 0
      src/main/java/com/diagbot/vo/str/StrConsultationRecordVO.java
  35. 176 0
      src/main/java/com/diagbot/vo/str/StrConsultationResultVO.java
  36. 137 0
      src/main/java/com/diagbot/vo/str/StrCrisisNoteVO.java
  37. 178 0
      src/main/java/com/diagbot/vo/str/StrDeathDiscussionVO.java
  38. 158 0
      src/main/java/com/diagbot/vo/str/StrDeathNoteVO.java
  39. 162 0
      src/main/java/com/diagbot/vo/str/StrDifficultCaseVO.java
  40. 172 0
      src/main/java/com/diagbot/vo/str/StrFirstRecordVO.java
  41. 131 0
      src/main/java/com/diagbot/vo/str/StrIllCriticallyVO.java
  42. 132 0
      src/main/java/com/diagbot/vo/str/StrIllSeriouslVO.java
  43. 173 0
      src/main/java/com/diagbot/vo/str/StrLeaveHospitalVO.java
  44. 213 0
      src/main/java/com/diagbot/vo/str/StrOperativeFirstRecordVO.java
  45. 218 0
      src/main/java/com/diagbot/vo/str/StrOperativeNoteVO.java
  46. 163 0
      src/main/java/com/diagbot/vo/str/StrPeriodConclusionVO.java
  47. 187 0
      src/main/java/com/diagbot/vo/str/StrPreoperativeDiscussionVO.java
  48. 148 0
      src/main/java/com/diagbot/vo/str/StrRescueNoteVO.java
  49. 173 0
      src/main/java/com/diagbot/vo/str/StrTransferInNoteVO.java
  50. 172 0
      src/main/java/com/diagbot/vo/str/StrTransferOutNoteVO.java
  51. 157 0
      src/main/java/com/diagbot/vo/str/StrWardRecordVO.java
  52. 253 0
      src/main/java/com/diagbot/web/ADataStrController.java
  53. 8 0
      src/main/resources/application-dev.yml
  54. 8 0
      src/main/resources/application-local.yml
  55. 8 0
      src/main/resources/application-pre.yml
  56. 8 0
      src/main/resources/application-pro.yml
  57. 8 0
      src/main/resources/application-test.yml

+ 23 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -164,6 +164,29 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/qc/data/getColumnZhAndCh").permitAll()
                 .antMatchers("/qc/data/analyseRec").permitAll()
                 .antMatchers("/qc/data/hisDataDeal").permitAll()
+                .antMatchers("/qc/data_str/sendAdmissionNote").permitAll()
+                .antMatchers("/qc/data_str/sendBloodResult").permitAll()
+                .antMatchers("/qc/data_str/sendBloodTransfusion").permitAll()
+                .antMatchers("/qc/data_str/sendConsultationApply").permitAll()
+                .antMatchers("/qc/data_str/sendConsultationNote").permitAll()
+                .antMatchers("/qc/data_str/sendConsultationRecord").permitAll()
+                .antMatchers("/qc/data_str/sendConsultationResult").permitAll()
+                .antMatchers("/qc/data_str/sendCrisisNote").permitAll()
+                .antMatchers("/qc/data_str/sendDeathDiscussion").permitAll()
+                .antMatchers("/qc/data_str/sendDeathNote").permitAll()
+                .antMatchers("/qc/data_str/sendDifficultCase").permitAll()
+                .antMatchers("/qc/data_str/sendFirstRecord").permitAll()
+                .antMatchers("/qc/data_str/sendIllCritically").permitAll()
+                .antMatchers("/qc/data_str/sendIllSeriousl").permitAll()
+                .antMatchers("/qc/data_str/sendLeaveHospital").permitAll()
+                .antMatchers("/qc/data_str/sendOperativeFirstRecord").permitAll()
+                .antMatchers("/qc/data_str/sendOperativeNote").permitAll()
+                .antMatchers("/qc/data_str/sendWardRecord").permitAll()
+                .antMatchers("/qc/data_str/sendTransferOutNote").permitAll()
+                .antMatchers("/qc/data_str/sendTransferInNote").permitAll()
+                .antMatchers("/qc/data_str/sendRescueNote").permitAll()
+                .antMatchers("/qc/data_str/sendPeriodConclusion").permitAll()
+                .antMatchers("/qc/data_str/sendPreoperativeDiscussion").permitAll()
                 .antMatchers("/qc/doctoradvice/getPage").permitAll()
                 .antMatchers("/qc/medPacsInfo/getCheckPage").permitAll()
                 .antMatchers("/qc/medLisInfo/getExaminePage").permitAll()

+ 23 - 0
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -208,6 +208,29 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/qc/data/getColumnZhAndCh", request)
                 || matchers("/qc/data/analyseRec", request)
                 || matchers("/qc/data/hisDataDeal", request)
+                || matchers("/qc/data_str/sendAdmissionNote", request)
+                || matchers("/qc/data_str/sendBloodResult", request)
+                || matchers("/qc/data_str/sendBloodTransfusion", request)
+                || matchers("/qc/data_str/sendConsultationApply", request)
+                || matchers("/qc/data_str/sendConsultationNote", request)
+                || matchers("/qc/data_str/sendConsultationRecord", request)
+                || matchers("/qc/data_str/sendConsultationResult", request)
+                || matchers("/qc/data_str/sendCrisisNote", request)
+                || matchers("/qc/data_str/sendDeathDiscussion", request)
+                || matchers("/qc/data_str/sendDeathNote", request)
+                || matchers("/qc/data_str/sendDifficultCase", request)
+                || matchers("/qc/data_str/sendFirstRecord", request)
+                || matchers("/qc/data_str/sendIllCritically", request)
+                || matchers("/qc/data_str/sendIllSeriousl", request)
+                || matchers("/qc/data_str/sendLeaveHospital", request)
+                || matchers("/qc/data_str/sendOperativeFirstRecord", request)
+                || matchers("/qc/data_str/sendOperativeNote", request)
+                || matchers("/qc/data_str/sendWardRecord", request)
+                || matchers("/qc/data_str/sendTransferOutNote", request)
+                || matchers("/qc/data_str/sendTransferInNote", request)
+                || matchers("/qc/data_str/sendRescueNote", request)
+                || matchers("/qc/data_str/sendPeriodConclusion", request)
+                || matchers("/qc/data_str/sendPreoperativeDiscussion", request)
                 || matchers("/qc/doctoradvice/getPage", request)
                 || matchers("/qc/medPacsInfo/getCheckPage", request)
                 || matchers("/qc/medLisInfo/getExaminePage", request)

+ 75 - 67
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -274,48 +274,6 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         return res;
     }
 
-    /**
-     *  仅获取缺陷总揽提示信息
-     *
-     * @param analyzeRunVO
-     * @return
-     */
-    public List<MsgDTO> getMsgByBehospitalCode(AnalyzeRunVO analyzeRunVO) {
-        // 获取病历信息
-        BehospitalInfo behospitalInfo = this.getOne(new QueryWrapper<BehospitalInfo>()
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("hospital_id", analyzeRunVO.getHospitalId())
-                .eq("behospital_code", analyzeRunVO.getBehospitalCode()), false
-        );
-        if (null == behospitalInfo) {
-            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该病历不存在或已删除!");
-        }
-        // 获取质控条目
-        AnalyzeVO analyzeVO = new AnalyzeVO();
-        BeanUtil.copyProperties(analyzeRunVO, analyzeVO);
-        List<QcCasesEntryDTO> qcCasesEntryDTOList = qcCasesEntryFacade.getQcCasesEntry(analyzeVO);
-        if (ListUtil.isEmpty(qcCasesEntryDTOList)) {
-            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该病历无关联的质控条目!");
-        }
-
-        List<MsgDTO> msgDTOList = getMsg(analyzeVO);
-            if (ListUtil.isNotEmpty(msgDTOList)) {
-                // 从qc_question_info的cases_entry_ids获取
-                Map<String, Object> paramMap = new HashMap<>();
-                paramMap.put("hospitalId",  analyzeRunVO.getHospitalId());
-                paramMap.put("casesEntryIds", msgDTOList.stream().map(r -> r.getCasesEntryId()).collect(Collectors.toList()));
-                Map<Long, List<QuestionEntryDTO>> quesEntryMap = qcQuestionFacade.getByCaseEntryIdsFac(paramMap);
-                for (MsgDTO msgDTO : msgDTOList) {
-                    if (quesEntryMap.get(msgDTO.getCasesEntryId()) != null) {
-                        msgDTO.setPageKeyList(quesEntryMap.get(msgDTO.getCasesEntryId())
-                                .stream().map(r -> r.getId()).collect(Collectors.toList()));
-                    }
-                }
-            }
-        return msgDTOList;
-    }
-
-
     /**
      * 处理数据(公共方法)
      *
@@ -1573,15 +1531,64 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
      * @return
      */
     public AnalyzeRunDTO analyzeApi(AnalyzeRunVO analyzeRunVO) {
-        List<MsgDTO> msgDTOList = this.getMsgByBehospitalCode(analyzeRunVO);
-        //返回参数组装
-        AnalyzeRunDTO analyzeRunDTO = new AnalyzeRunDTO();
-
-        QcresultInfo qcresultInfo = qcresultInfoFacade.getOne(new QueryWrapper<QcresultInfo>()
-                .eq("behospital_code", analyzeRunVO.getBehospitalCode())
-                .eq("hospital_id", analyzeRunVO.getHospitalId())
+        AnalyzeVO analyzeVO = new AnalyzeVO();
+        BeanUtil.copyProperties(analyzeRunVO, analyzeVO);
+        Long hospitalId = analyzeVO.getHospitalId();
+        // 获取病历信息
+        BehospitalInfo behospitalInfo = this.getOne(new QueryWrapper<BehospitalInfo>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .select("behospital_code", "level", "score_res"));
+                .eq("hospital_id", analyzeRunVO.getHospitalId())
+                .eq("behospital_code", analyzeRunVO.getBehospitalCode()), false
+        );
+        if (null == behospitalInfo) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该病历不存在或已删除!");
+        }
+        // 处理公共数据
+        QueryVo queryVo = dealCommonData(hospitalId, analyzeVO);
+        //  调用质控接口
+        Response<OutputInfo> response = qcServiceClient.extract(queryVo);
+        if (response == null || response.getData() == null) {
+            if (null == response) {
+                throw new CommonException(CommonErrorCode.RPC_ERROR, "远程质控接口没有返回数据!【" + analyzeVO.getBehospitalCode() + "】");
+            } else {
+                throw new CommonException(CommonErrorCode.RPC_ERROR,
+                        "远程质控接口没有返回数据!【" + analyzeVO.getBehospitalCode() + "】错误原因:" + response.getMsg());
+            }
+        }
+        OutputInfo outputInfo = response.getData();
+        // 质控编码列表
+        List<String> codeList = new ArrayList<>();
+        // code和info的映射map
+        Map<String, String> codeToInfoMap = new LinkedHashMap<>();
+        // 对codeList 和 codeToInfoMap进行赋值
+        setCodeData(outputInfo, codeList, codeToInfoMap);
+        AlgorithmDTO algorithmDTO = new AlgorithmDTO();
+        // 如果是1,说明已是终末质控,不再保存质控结果数据;如果是0,则保存质控结果数据
+        if ("0".equals(analyzeRunVO.getIsPlacefile())) {
+            Map<String, Object> resMap = calScoreAndSave(outputInfo, codeList, codeToInfoMap, analyzeVO, queryVo.getBehospitalInfo().getIsPlacefile());
+            algorithmDTO = (AlgorithmDTO) resMap.get("algorithmDTO");
+        }else{
+            //终末质控不保存数据
+            Map<String, Object> resMap = calScore(outputInfo, codeList, codeToInfoMap, analyzeVO, queryVo.getBehospitalInfo().getIsPlacefile());
+            algorithmDTO = (AlgorithmDTO) resMap.get("algorithmDTO");
+        }
+
+        List<MsgDTO> msgDTOList = getMsg(analyzeVO);
+        if (ListUtil.isNotEmpty(msgDTOList)) {
+            // 从qc_question_info的cases_entry_ids获取
+            Map<String, Object> paramMap = new HashMap<>();
+            paramMap.put("hospitalId",  analyzeRunVO.getHospitalId());
+            paramMap.put("casesEntryIds", msgDTOList.stream().map(r -> r.getCasesEntryId()).collect(Collectors.toList()));
+            Map<Long, List<QuestionEntryDTO>> quesEntryMap = qcQuestionFacade.getByCaseEntryIdsFac(paramMap);
+            for (MsgDTO msgDTO : msgDTOList) {
+                if (quesEntryMap.get(msgDTO.getCasesEntryId()) != null) {
+                    msgDTO.setPageKeyList(quesEntryMap.get(msgDTO.getCasesEntryId())
+                            .stream().map(r -> r.getId()).collect(Collectors.toList()));
+                }
+            }
+        }
+
+        //返回参数组装
         BigDecimal bigDecimal = new BigDecimal(0);
         BigDecimal res = new BigDecimal(120);
         BigDecimal resPr = new BigDecimal(100);
@@ -1591,29 +1598,30 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
                         .eq("is_deleted", IsDeleteEnum.N.getKey())
                         .eq("hospital_id", analyzeRunVO.getHospitalId())
                 , false);
-        if (null != sysHospitalSet
-                && sysHospitalSet.getValue().equals("1")) {
+        if (null != sysHospitalSet && sysHospitalSet.getValue().equals("1")) {
             //百分制
             reNum = "1";
         }
-        if(null != qcresultInfo){
-            analyzeRunDTO.setLevel(qcresultInfo.getLevel()==null?"":qcresultInfo.getLevel());
-            analyzeRunDTO.setScoreRes(qcresultInfo.getScoreRes() ==null ? bigDecimal : qcresultInfo.getScoreRes());
+        AnalyzeRunDTO analyzeRunDTO =  new AnalyzeRunDTO();
+        if(StringUtils.isNotEmpty(algorithmDTO.getLevel()) && algorithmDTO.getScore()!=null && msgDTOList != null){
             if("1".equals(reNum)) {
-                bigDecimal = resPr.subtract(analyzeRunDTO.getScoreRes());
+                bigDecimal = resPr.subtract(algorithmDTO.getScore());
             }else if("0".equals(reNum)){
-                bigDecimal = res.subtract(analyzeRunDTO.getScoreRes().multiply(new BigDecimal(120))
-                          .divide(new BigDecimal(100), 1, RoundingMode.HALF_UP));
+                bigDecimal = res.subtract(algorithmDTO.getScore().multiply(new BigDecimal(120))
+                        .divide(new BigDecimal(100), 1, RoundingMode.HALF_UP));
             }
-            //缺陷总数
-            Long num = msgDTOList
-                    .stream()
-                    .filter(Objects::nonNull)
-                    .count();
-            analyzeRunDTO.setNum(num);
-            analyzeRunDTO.setNumScore(bigDecimal);
-            analyzeRunDTO.setMsgDTOList(msgDTOList);
-        }
+
+        //缺陷总数
+        Long num = msgDTOList
+                .stream()
+                .filter(Objects::nonNull)
+                .count();
+        analyzeRunDTO.setScoreRes(algorithmDTO.getScore());
+        analyzeRunDTO.setLevel(algorithmDTO.getLevel());
+        analyzeRunDTO.setNum(num);
+        analyzeRunDTO.setNumScore(bigDecimal);
+        analyzeRunDTO.setMsgDTOList(msgDTOList);
+        };
         return analyzeRunDTO;
     }
 

+ 1 - 0
src/main/java/com/diagbot/facade/data/ColumnFacade.java

@@ -5,6 +5,7 @@ import com.diagbot.dto.OutputInfo;
 import com.diagbot.dto.Response;
 import com.diagbot.enums.CacheKeyEnum;
 import com.diagbot.facade.QcClientFacade;
+import com.diagbot.facade.str.*;
 import com.diagbot.service.impl.ColumnServiceImpl;
 import com.diagbot.vo.QueryVo;
 import lombok.extern.slf4j.Slf4j;

+ 66 - 1
src/main/java/com/diagbot/facade/data/AStrAdmissionNoteFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrAdmissionNote;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrAdmissionNoteServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrAdmissionNoteVO;
+import com.diagbot.vo.str.StrAdmissionNoteVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -20,6 +27,10 @@ import java.util.Map;
 
 @Component
 public class AStrAdmissionNoteFacade extends StrAdmissionNoteServiceImpl {
+
+    @Autowired
+    @Qualifier("strAdmissionNoteServiceImpl")
+    private StrAdmissionNoteServiceImpl strAdmissionNoteService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -84,4 +95,58 @@ public class AStrAdmissionNoteFacade extends StrAdmissionNoteServiceImpl {
         return flag;
     }
 
+    public RespDTO execDealData(List<StrAdmissionNoteVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrAdmissionNoteVO strAdmissionNoteVO:list) {
+                if("".equals(strAdmissionNoteVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strAdmissionNoteVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strAdmissionNoteVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrAdmissionNote> strAdmissionNoteList=Lists.newArrayList();
+            strAdmissionNoteList=BeanUtil.listCopyTo(list,StrAdmissionNote.class);
+            execute(strAdmissionNoteList);
+
+            return RespDTO.onSuc(strAdmissionNoteList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrAdmissionNote> list){
+        try {
+            List<StrAdmissionNote> addE = Lists.newLinkedList();
+            List<StrAdmissionNote> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrAdmissionNote strAdmissionNote = this.getOne(new QueryWrapper<StrAdmissionNote>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strAdmissionNote != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strAdmissionNoteService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-入院记录","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
+
 }

+ 81 - 1
src/main/java/com/diagbot/facade/data/AStrBloodResultFacade.java

@@ -1,25 +1,41 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrBloodResult;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrBloodResultServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrBloodResultVO;
+import com.diagbot.vo.str.StrBloodResultVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
+/**
+ * @Description:输血后效果评价-业务类
+ * @Author:liuqq
+ * @time: ${DATE} ${TIME}
+ **/
 @Component
 public class AStrBloodResultFacade extends StrBloodResultServiceImpl {
+
+    @Autowired
+    @Qualifier("strBloodResultServiceImpl")
+    private StrBloodResultServiceImpl strBloodResultService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -68,6 +84,11 @@ public class AStrBloodResultFacade extends StrBloodResultServiceImpl {
 
     }
 
+    /**
+     * @Description: 是否存在
+     * @Author:liuqq
+     * @time: ${DATE} ${TIME}
+     **/
     public Boolean isExist(StrBloodResult strBloodResult){
         Boolean flag=true;
         int count = this.baseMapper.selectCount(new QueryWrapper<StrBloodResult>()
@@ -79,4 +100,63 @@ public class AStrBloodResultFacade extends StrBloodResultServiceImpl {
         }
         return flag;
     }
+
+    /**
+     * @Description:数据处理
+     * @Author:liuqq
+     * @time: ${DATE} ${TIME}
+     **/
+    public RespDTO execDealData(List<StrBloodResultVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrBloodResultVO strBloodResultVO:list) {
+                if("".equals(strBloodResultVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strBloodResultVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strBloodResultVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrBloodResult> strBloodResultList= Lists.newArrayList();
+            strBloodResultList= BeanUtil.listCopyTo(list,StrBloodResult.class);
+            execute(strBloodResultList);
+
+            return RespDTO.onSuc(strBloodResultList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrBloodResult> list){
+        try {
+            List<StrBloodResult> addE = Lists.newLinkedList();
+            List<StrBloodResult> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrBloodResult strBloodResult = this.getOne(new QueryWrapper<StrBloodResult>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strBloodResult != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strBloodResultService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-输血后效果评价","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 71 - 1
src/main/java/com/diagbot/facade/data/AStrBloodTransfusionFacade.java

@@ -1,25 +1,41 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrBloodTransfusion;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrBloodTransfusionServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrBloodTransfusionVO;
+import com.diagbot.vo.str.StrBloodTransfusionVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
+/**
+ * @Description:输血/血制品病程记录-业务类
+ * @Author:liuqq
+ * @time: ${DATE} ${TIME}
+ **/
 @Component
 public class AStrBloodTransfusionFacade extends StrBloodTransfusionServiceImpl {
+
+    @Autowired
+    @Qualifier("strBloodTransfusionServiceImpl")
+    private StrBloodTransfusionServiceImpl strBloodTransfusionService;
     @Autowired
     private ColumnFacade columnFacade;
 
@@ -85,4 +101,58 @@ public class AStrBloodTransfusionFacade extends StrBloodTransfusionServiceImpl {
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrBloodTransfusionVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrBloodTransfusionVO strBloodTransfusionVO:list) {
+                if("".equals(strBloodTransfusionVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strBloodTransfusionVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strBloodTransfusionVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrBloodTransfusion> strBloodTransfusionList= Lists.newArrayList();
+            strBloodTransfusionList= BeanUtil.listCopyTo(list,StrBloodTransfusion.class);
+            execute(strBloodTransfusionList);
+
+            return RespDTO.onSuc(strBloodTransfusionList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrBloodTransfusion> list){
+        try {
+            List<StrBloodTransfusion> addE = Lists.newLinkedList();
+            List<StrBloodTransfusion> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrBloodTransfusion strBloodTransfusion = this.getOne(new QueryWrapper<StrBloodTransfusion>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strBloodTransfusion != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strBloodTransfusionService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-入院记录","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 66 - 1
src/main/java/com/diagbot/facade/data/AStrConsultationApplyFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrConsultationApply;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrConsultationApplyServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrConsultationApplyVO;
+import com.diagbot.vo.str.StrConsultationApplyVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -20,6 +27,10 @@ import java.util.Map;
 
 @Component
 public class AStrConsultationApplyFacade extends StrConsultationApplyServiceImpl {
+
+    @Autowired
+    @Qualifier("strConsultationApplyServiceImpl")
+    private StrConsultationApplyServiceImpl strConsultationApplyService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -86,4 +97,58 @@ public class AStrConsultationApplyFacade extends StrConsultationApplyServiceImpl
         return flag;
     }
 
+    public RespDTO execDealData(List<StrConsultationApplyVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrConsultationApplyVO strConsultationApplyVO:list) {
+                if("".equals(strConsultationApplyVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strConsultationApplyVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strConsultationApplyVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrConsultationApply> strConsultationApplyList= Lists.newArrayList();
+            strConsultationApplyList= BeanUtil.listCopyTo(list,StrConsultationApply.class);
+            execute(strConsultationApplyList);
+
+            return RespDTO.onSuc(strConsultationApplyList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrConsultationApply> list){
+        try {
+            List<StrConsultationApply> addE = Lists.newLinkedList();
+            List<StrConsultationApply> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrConsultationApply strConsultationApply = this.getOne(new QueryWrapper<StrConsultationApply>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strConsultationApply != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strConsultationApplyService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-会诊申请单","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
+
 }

+ 65 - 1
src/main/java/com/diagbot/facade/data/AStrConsultationNoteFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrConsultationNote;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrConsultationNoteServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrConsultationNoteVO;
+import com.diagbot.vo.str.StrConsultationNoteVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -21,6 +28,9 @@ import java.util.Map;
 @Component
 public class AStrConsultationNoteFacade extends StrConsultationNoteServiceImpl {
 
+    @Autowired
+    @Qualifier("strConsultationNoteServiceImpl")
+    private StrConsultationNoteServiceImpl strConsultationNoteService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -88,4 +98,58 @@ public class AStrConsultationNoteFacade extends StrConsultationNoteServiceImpl {
         return flag;
     }
 
+    public RespDTO execDealData(List<StrConsultationNoteVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrConsultationNoteVO strConsultationNoteVO:list) {
+                if("".equals(strConsultationNoteVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strConsultationNoteVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strConsultationNoteVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrConsultationNote> strConsultationNoteList= Lists.newArrayList();
+            strConsultationNoteList= BeanUtil.listCopyTo(list,StrConsultationNote.class);
+            execute(strConsultationNoteList);
+
+            return RespDTO.onSuc(strConsultationNoteList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrConsultationNote> list){
+        try {
+            List<StrConsultationNote> addE = Lists.newLinkedList();
+            List<StrConsultationNote> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrConsultationNote strConsultationNote = this.getOne(new QueryWrapper<StrConsultationNote>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strConsultationNote != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strConsultationNoteService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-会诊申请单","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
+
 }

+ 66 - 5
src/main/java/com/diagbot/facade/data/AStrConsultationRecordFacade.java

@@ -1,19 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrConsultationRecord;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrConsultationRecordServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.AStrConsultationRecordVO;
-import com.diagbot.vo.data.AStrConsultationNoteVO;
-import com.diagbot.vo.data.AStrConsultationResultVO;
+import com.diagbot.vo.str.StrConsultationRecordVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -22,7 +27,9 @@ import java.util.Map;
 @Component
 public class AStrConsultationRecordFacade extends StrConsultationRecordServiceImpl {
 
-
+    @Autowired
+    @Qualifier("strConsultationRecordServiceImpl")
+    private StrConsultationRecordServiceImpl strConsultationRecordService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -37,7 +44,7 @@ public class AStrConsultationRecordFacade extends StrConsultationRecordServiceIm
         Map<String, String> columnMap= EntityUtil.makeMapWithKeyValue(list,"ch","en");
         Boolean flag=columnFacade.createColumn(columnMap,"strConsultationRecord");
 
-        //Map<String, String> map=columnFacade.getColumn("strConsultationNote");
+        //Map<String, String> map=columnFacade.getColumn("strConsultationRecord");
         if(!flag){
             return;
         }
@@ -89,4 +96,58 @@ public class AStrConsultationRecordFacade extends StrConsultationRecordServiceIm
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrConsultationRecordVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrConsultationRecordVO strConsultationRecordVO:list) {
+                if("".equals(strConsultationRecordVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strConsultationRecordVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strConsultationRecordVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrConsultationRecord> strConsultationRecordList= Lists.newArrayList();
+            strConsultationRecordList= BeanUtil.listCopyTo(list,StrConsultationRecord.class);
+            execute(strConsultationRecordList);
+
+            return RespDTO.onSuc(strConsultationRecordList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrConsultationRecord> list){
+        try {
+            List<StrConsultationRecord> addE = Lists.newLinkedList();
+            List<StrConsultationRecord> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrConsultationRecord strConsultationRecord = this.getOne(new QueryWrapper<StrConsultationRecord>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strConsultationRecord != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strConsultationRecordService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-会诊记录","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 70 - 1
src/main/java/com/diagbot/facade/data/AStrConsultationResultFacade.java

@@ -1,26 +1,41 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrConsultationResult;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrConsultationResultServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrConsultationResultVO;
+import com.diagbot.vo.str.StrConsultationResultVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
+/**
+ * @Description:会诊结果单-业务类
+ * @Author:liuqq
+ * @time: ${DATE} ${TIME}
+ **/
 @Component
 public class AStrConsultationResultFacade extends StrConsultationResultServiceImpl {
 
+    @Autowired
+    @Qualifier("strConsultationResultServiceImpl")
+    private StrConsultationResultServiceImpl strConsultationResultService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -87,4 +102,58 @@ public class AStrConsultationResultFacade extends StrConsultationResultServiceIm
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrConsultationResultVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrConsultationResultVO strConsultationResultVO:list) {
+                if("".equals(strConsultationResultVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strConsultationResultVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strConsultationResultVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrConsultationResult> strConsultationResultList= Lists.newArrayList();
+            strConsultationResultList= BeanUtil.listCopyTo(list,StrConsultationResult.class);
+            execute(strConsultationResultList);
+
+            return RespDTO.onSuc(strConsultationResultList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrConsultationResult> list){
+        try {
+            List<StrConsultationResult> addE = Lists.newLinkedList();
+            List<StrConsultationResult> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrConsultationResult strConsultationResult = this.getOne(new QueryWrapper<StrConsultationResult>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strConsultationResult != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strConsultationResultService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-会诊结果单","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 66 - 1
src/main/java/com/diagbot/facade/data/AStrCrisisNoteFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrCrisisNote;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrCrisisNoteServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrCrisisNoteVO;
+import com.diagbot.vo.str.StrCrisisNoteVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -20,6 +27,10 @@ import java.util.Map;
 
 @Component
 public class AStrCrisisNoteFacade extends StrCrisisNoteServiceImpl {
+
+    @Autowired
+    @Qualifier("strCrisisNoteServiceImpl")
+    private StrCrisisNoteServiceImpl strCrisisNoteService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -82,4 +93,58 @@ public class AStrCrisisNoteFacade extends StrCrisisNoteServiceImpl {
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrCrisisNoteVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrCrisisNoteVO strCrisisNoteVO:list) {
+                if("".equals(strCrisisNoteVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strCrisisNoteVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strCrisisNoteVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrCrisisNote> strCrisisNoteList= Lists.newArrayList();
+            strCrisisNoteList= BeanUtil.listCopyTo(list,StrCrisisNote.class);
+            execute(strCrisisNoteList);
+
+            return RespDTO.onSuc(strCrisisNoteList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrCrisisNote> list){
+        try {
+            List<StrCrisisNote> addE = Lists.newLinkedList();
+            List<StrCrisisNote> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrCrisisNote strCrisisNote = this.getOne(new QueryWrapper<StrCrisisNote>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strCrisisNote != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strCrisisNoteService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-危急值记录","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 65 - 1
src/main/java/com/diagbot/facade/data/AStrDeathDiscussionFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrDeathDiscussion;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrDeathDiscussionServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrDeathDiscussionVO;
+import com.diagbot.vo.str.StrDeathDiscussionVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -20,6 +27,9 @@ import java.util.Map;
 
 @Component
 public class AStrDeathDiscussionFacade extends StrDeathDiscussionServiceImpl {
+    @Autowired
+    @Qualifier("strDeathDiscussionServiceImpl")
+    private StrDeathDiscussionServiceImpl strDeathDiscussionService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -85,4 +95,58 @@ public class AStrDeathDiscussionFacade extends StrDeathDiscussionServiceImpl {
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrDeathDiscussionVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrDeathDiscussionVO strDeathDiscussionVO:list) {
+                if("".equals(strDeathDiscussionVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strDeathDiscussionVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strDeathDiscussionVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrDeathDiscussion> strDeathDiscussionList= Lists.newArrayList();
+            strDeathDiscussionList= BeanUtil.listCopyTo(list,StrDeathDiscussion.class);
+            execute(strDeathDiscussionList);
+
+            return RespDTO.onSuc(strDeathDiscussionList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrDeathDiscussion> list){
+        try {
+            List<StrDeathDiscussion> addE = Lists.newLinkedList();
+            List<StrDeathDiscussion> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrDeathDiscussion strDeathDiscussion = this.getOne(new QueryWrapper<StrDeathDiscussion>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strDeathDiscussion != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strDeathDiscussionService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-死亡病例讨论记录","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 66 - 1
src/main/java/com/diagbot/facade/data/AStrDeathNoteFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrDeathNote;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrDeathNoteServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrDeathNoteVO;
+import com.diagbot.vo.str.StrDeathNoteVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -20,6 +27,10 @@ import java.util.Map;
 
 @Component
 public class AStrDeathNoteFacade extends StrDeathNoteServiceImpl {
+
+    @Autowired
+    @Qualifier("strDeathNoteServiceImpl")
+    private StrDeathNoteServiceImpl strDeathNoteService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -85,4 +96,58 @@ public class AStrDeathNoteFacade extends StrDeathNoteServiceImpl {
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrDeathNoteVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrDeathNoteVO strDeathNoteVO:list) {
+                if("".equals(strDeathNoteVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strDeathNoteVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strDeathNoteVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrDeathNote> strDeathNoteList= Lists.newArrayList();
+            strDeathNoteList= BeanUtil.listCopyTo(list,StrDeathNote.class);
+            execute(strDeathNoteList);
+
+            return RespDTO.onSuc(strDeathNoteList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrDeathNote> list){
+        try {
+            List<StrDeathNote> addE = Lists.newLinkedList();
+            List<StrDeathNote> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrDeathNote strDeathNote = this.getOne(new QueryWrapper<StrDeathNote>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strDeathNote != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strDeathNoteService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-死亡记录","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 66 - 1
src/main/java/com/diagbot/facade/data/AStrDifficultCaseFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrDifficultCase;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrDifficultCaseServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrDifficultCaseVO;
+import com.diagbot.vo.str.StrDifficultCaseVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -20,6 +27,10 @@ import java.util.Map;
 
 @Component
 public class AStrDifficultCaseFacade extends StrDifficultCaseServiceImpl{
+
+    @Autowired
+    @Qualifier("strDifficultCaseServiceImpl")
+    private StrDifficultCaseServiceImpl strDifficultCaseService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -82,4 +93,58 @@ public class AStrDifficultCaseFacade extends StrDifficultCaseServiceImpl{
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrDifficultCaseVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrDifficultCaseVO strDifficultCaseVO:list) {
+                if("".equals(strDifficultCaseVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strDifficultCaseVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strDifficultCaseVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrDifficultCase> strDifficultCaseList= Lists.newArrayList();
+            strDifficultCaseList= BeanUtil.listCopyTo(list,StrDifficultCase.class);
+            execute(strDifficultCaseList);
+
+            return RespDTO.onSuc(strDifficultCaseList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrDifficultCase> list){
+        try {
+            List<StrDifficultCase> addE = Lists.newLinkedList();
+            List<StrDifficultCase> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrDifficultCase strDifficultCase = this.getOne(new QueryWrapper<StrDifficultCase>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strDifficultCase != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strDifficultCaseService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-死亡记录","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 65 - 1
src/main/java/com/diagbot/facade/data/AStrFirstRecordFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrFirstRecord;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrFirstRecordServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrFirstRecordVO;
+import com.diagbot.vo.str.StrFirstRecordVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -21,6 +28,9 @@ import java.util.Map;
 @Component
 public class AStrFirstRecordFacade extends StrFirstRecordServiceImpl {
 
+    @Autowired
+    @Qualifier("strFirstRecordServiceImpl")
+    private StrFirstRecordServiceImpl strFirstRecordService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -83,4 +93,58 @@ public class AStrFirstRecordFacade extends StrFirstRecordServiceImpl {
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrFirstRecordVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrFirstRecordVO strFirstRecordVO:list) {
+                if("".equals(strFirstRecordVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strFirstRecordVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strFirstRecordVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrFirstRecord> strFirstRecordList= Lists.newArrayList();
+            strFirstRecordList= BeanUtil.listCopyTo(list,StrFirstRecord.class);
+            execute(strFirstRecordList);
+
+            return RespDTO.onSuc(strFirstRecordList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrFirstRecord> list){
+        try {
+            List<StrFirstRecord> addE = Lists.newLinkedList();
+            List<StrFirstRecord> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrFirstRecord strFirstRecord = this.getOne(new QueryWrapper<StrFirstRecord>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strFirstRecord != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strFirstRecordService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-首次病程录","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 65 - 1
src/main/java/com/diagbot/facade/data/AStrIllCriticallyFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrIllCritically;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrIllCriticallyServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrIllCriticallyVO;
+import com.diagbot.vo.str.StrIllCriticallyVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -21,6 +28,9 @@ import java.util.Map;
 @Component
 public class AStrIllCriticallyFacade extends StrIllCriticallyServiceImpl {
 
+    @Autowired
+    @Qualifier("strIllCriticallyServiceImpl")
+    private StrIllCriticallyServiceImpl strIllCriticallyService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -82,4 +92,58 @@ public class AStrIllCriticallyFacade extends StrIllCriticallyServiceImpl {
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrIllCriticallyVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrIllCriticallyVO strIllCriticallyVO:list) {
+                if("".equals(strIllCriticallyVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strIllCriticallyVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strIllCriticallyVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrIllCritically> strIllCriticallyList= Lists.newArrayList();
+            strIllCriticallyList= BeanUtil.listCopyTo(list,StrIllCritically.class);
+            execute(strIllCriticallyList);
+
+            return RespDTO.onSuc(strIllCriticallyList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrIllCritically> list){
+        try {
+            List<StrIllCritically> addE = Lists.newLinkedList();
+            List<StrIllCritically> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrIllCritically strIllCritically = this.getOne(new QueryWrapper<StrIllCritically>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strIllCritically != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strIllCriticallyService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-病危通知单","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 65 - 1
src/main/java/com/diagbot/facade/data/AStrIllSeriouslFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrIllSeriousl;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrIllSeriouslServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrIllSeriouslVO;
+import com.diagbot.vo.str.StrIllSeriouslVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -21,6 +28,9 @@ import java.util.Map;
 @Component
 public class AStrIllSeriouslFacade extends StrIllSeriouslServiceImpl {
 
+    @Autowired
+    @Qualifier("strIllSeriouslServiceImpl")
+    private StrIllSeriouslServiceImpl strIllSeriouslService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -82,4 +92,58 @@ public class AStrIllSeriouslFacade extends StrIllSeriouslServiceImpl {
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrIllSeriouslVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrIllSeriouslVO strIllSeriouslVO:list) {
+                if("".equals(strIllSeriouslVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strIllSeriouslVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strIllSeriouslVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrIllSeriousl> strIllSeriouslList= Lists.newArrayList();
+            strIllSeriouslList= BeanUtil.listCopyTo(list,StrIllSeriousl.class);
+            execute(strIllSeriouslList);
+
+            return RespDTO.onSuc(strIllSeriouslList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrIllSeriousl> list){
+        try {
+            List<StrIllSeriousl> addE = Lists.newLinkedList();
+            List<StrIllSeriousl> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrIllSeriousl strIllSeriousl = this.getOne(new QueryWrapper<StrIllSeriousl>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strIllSeriousl != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strIllSeriouslService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-病重通知单","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 66 - 1
src/main/java/com/diagbot/facade/data/AStrLeaveHospitalFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrLeaveHospital;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrLeaveHospitalServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrLeaveHospitalVO;
+import com.diagbot.vo.str.StrLeaveHospitalVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -20,6 +27,10 @@ import java.util.Map;
 
 @Component
 public class AStrLeaveHospitalFacade extends StrLeaveHospitalServiceImpl {
+
+    @Autowired
+    @Qualifier("strLeaveHospitalServiceImpl")
+    private StrLeaveHospitalServiceImpl strLeaveHospitalService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -85,4 +96,58 @@ public class AStrLeaveHospitalFacade extends StrLeaveHospitalServiceImpl {
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrLeaveHospitalVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrLeaveHospitalVO strLeaveHospitalVO:list) {
+                if("".equals(strLeaveHospitalVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strLeaveHospitalVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strLeaveHospitalVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrLeaveHospital> strLeaveHospitalList= Lists.newArrayList();
+            strLeaveHospitalList= BeanUtil.listCopyTo(list,StrLeaveHospital.class);
+            execute(strLeaveHospitalList);
+
+            return RespDTO.onSuc(strLeaveHospitalList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrLeaveHospital> list){
+        try {
+            List<StrLeaveHospital> addE = Lists.newLinkedList();
+            List<StrLeaveHospital> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrLeaveHospital strLeaveHospital = this.getOne(new QueryWrapper<StrLeaveHospital>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strLeaveHospital != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strLeaveHospitalService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-出院小结","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 65 - 1
src/main/java/com/diagbot/facade/data/AStrOperativeFirstRecord.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrOperativeFirstRecord;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrOperativeFirstRecordServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrOperativeFirstRecordVO;
+import com.diagbot.vo.str.StrOperativeFirstRecordVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -21,6 +28,9 @@ import java.util.Map;
 @Component
 public class AStrOperativeFirstRecord extends StrOperativeFirstRecordServiceImpl {
 
+    @Autowired
+    @Qualifier("strOperativeFirstRecordServiceImpl")
+    private StrOperativeFirstRecordServiceImpl strOperativeFirstRecordService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -87,4 +97,58 @@ public class AStrOperativeFirstRecord extends StrOperativeFirstRecordServiceImpl
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrOperativeFirstRecordVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrOperativeFirstRecordVO strOperativeFirstRecordVO:list) {
+                if("".equals(strOperativeFirstRecordVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strOperativeFirstRecordVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strOperativeFirstRecordVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrOperativeFirstRecord> strOperativeFirstRecordList= Lists.newArrayList();
+            strOperativeFirstRecordList= BeanUtil.listCopyTo(list,StrOperativeFirstRecord.class);
+            execute(strOperativeFirstRecordList);
+
+            return RespDTO.onSuc(strOperativeFirstRecordList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrOperativeFirstRecord> list){
+        try {
+            List<StrOperativeFirstRecord> addE = Lists.newLinkedList();
+            List<StrOperativeFirstRecord> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrOperativeFirstRecord strOperativeFirstRecord = this.getOne(new QueryWrapper<StrOperativeFirstRecord>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strOperativeFirstRecord != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strOperativeFirstRecordService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-术后首程","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 66 - 1
src/main/java/com/diagbot/facade/data/AStrOperativeNoteFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrOperativeNote;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrOperativeNoteServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrOperativeNoteVO;
+import com.diagbot.vo.str.StrOperativeNoteVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -20,6 +27,10 @@ import java.util.Map;
 
 @Component
 public class AStrOperativeNoteFacade extends StrOperativeNoteServiceImpl {
+
+    @Autowired
+    @Qualifier("strOperativeNoteServiceImpl")
+    private StrOperativeNoteServiceImpl strOperativeNoteService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -86,4 +97,58 @@ public class AStrOperativeNoteFacade extends StrOperativeNoteServiceImpl {
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrOperativeNoteVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrOperativeNoteVO strOperativeNoteVO:list) {
+                if("".equals(strOperativeNoteVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strOperativeNoteVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strOperativeNoteVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrOperativeNote> strOperativeNoteList= Lists.newArrayList();
+            strOperativeNoteList= BeanUtil.listCopyTo(list,StrOperativeNote.class);
+            execute(strOperativeNoteList);
+
+            return RespDTO.onSuc(strOperativeNoteList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrOperativeNote> list){
+        try {
+            List<StrOperativeNote> addE = Lists.newLinkedList();
+            List<StrOperativeNote> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrOperativeNote strOperativeNote = this.getOne(new QueryWrapper<StrOperativeNote>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strOperativeNote != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strOperativeNoteService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-手术记录","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 65 - 2
src/main/java/com/diagbot/facade/data/AStrPeriodConclusionFacade.java

@@ -1,18 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrPeriodConclusion;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrPeriodConclusionServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
-import com.diagbot.vo.data.AStrAdmissionNoteVO;
 import com.diagbot.vo.data.AStrPeriodConclusionVO;
+import com.diagbot.vo.str.StrPeriodConclusionVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -22,6 +28,9 @@ import java.util.Map;
 @Component
 public class AStrPeriodConclusionFacade extends StrPeriodConclusionServiceImpl {
 
+    @Autowired
+    @Qualifier("strPeriodConclusionServiceImpl")
+    private StrPeriodConclusionServiceImpl strPeriodConclusionService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -85,4 +94,58 @@ public class AStrPeriodConclusionFacade extends StrPeriodConclusionServiceImpl {
         return flag;
     }
 
+    public RespDTO execDealData(List<StrPeriodConclusionVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrPeriodConclusionVO strPeriodConclusionVO:list) {
+                if("".equals(strPeriodConclusionVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strPeriodConclusionVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strPeriodConclusionVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrPeriodConclusion> strPeriodConclusionList= Lists.newArrayList();
+            strPeriodConclusionList= BeanUtil.listCopyTo(list,StrPeriodConclusion.class);
+            execute(strPeriodConclusionList);
+
+            return RespDTO.onSuc(strPeriodConclusionList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrPeriodConclusion> list){
+        try {
+            List<StrPeriodConclusion> addE = Lists.newLinkedList();
+            List<StrPeriodConclusion> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrPeriodConclusion strPeriodConclusion = this.getOne(new QueryWrapper<StrPeriodConclusion>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strPeriodConclusion != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strPeriodConclusionService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-阶段小结","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
+
 }

+ 66 - 1
src/main/java/com/diagbot/facade/data/AStrPreoperativeDiscussionFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrPreoperativeDiscussion;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrPreoperativeDiscussionServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrPreoperativeDiscussionVO;
+import com.diagbot.vo.str.StrPreoperativeDiscussionVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -20,6 +27,10 @@ import java.util.Map;
 
 @Component
 public class AStrPreoperativeDiscussionFacade extends StrPreoperativeDiscussionServiceImpl {
+
+    @Autowired
+    @Qualifier("strPreoperativeDiscussionServiceImpl")
+    private StrPreoperativeDiscussionServiceImpl strPreoperativeDiscussionService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -84,4 +95,58 @@ public class AStrPreoperativeDiscussionFacade extends StrPreoperativeDiscussionS
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrPreoperativeDiscussionVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrPreoperativeDiscussionVO strPreoperativeDiscussionVO:list) {
+                if("".equals(strPreoperativeDiscussionVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strPreoperativeDiscussionVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strPreoperativeDiscussionVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrPreoperativeDiscussion> strPreoperativeDiscussionList= Lists.newArrayList();
+            strPreoperativeDiscussionList= BeanUtil.listCopyTo(list,StrPreoperativeDiscussion.class);
+            execute(strPreoperativeDiscussionList);
+
+            return RespDTO.onSuc(strPreoperativeDiscussionList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrPreoperativeDiscussion> list){
+        try {
+            List<StrPreoperativeDiscussion> addE = Lists.newLinkedList();
+            List<StrPreoperativeDiscussion> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrPreoperativeDiscussion strPreoperativeDiscussion = this.getOne(new QueryWrapper<StrPreoperativeDiscussion>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strPreoperativeDiscussion != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strPreoperativeDiscussionService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-术前讨论小结","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 66 - 1
src/main/java/com/diagbot/facade/data/AStrRescueNoteFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrRescueNote;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrRescueNoteServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrRescueNoteVO;
+import com.diagbot.vo.str.StrRescueNoteVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -20,6 +27,10 @@ import java.util.Map;
 
 @Component
 public class AStrRescueNoteFacade extends StrRescueNoteServiceImpl {
+
+    @Autowired
+    @Qualifier("strRescueNoteServiceImpl")
+    private StrRescueNoteServiceImpl strRescueNoteService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -84,4 +95,58 @@ public class AStrRescueNoteFacade extends StrRescueNoteServiceImpl {
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrRescueNoteVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrRescueNoteVO strRescueNoteVO:list) {
+                if("".equals(strRescueNoteVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strRescueNoteVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strRescueNoteVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrRescueNote> strRescueNoteList= Lists.newArrayList();
+            strRescueNoteList= BeanUtil.listCopyTo(list,StrRescueNote.class);
+            execute(strRescueNoteList);
+
+            return RespDTO.onSuc(strRescueNoteList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrRescueNote> list){
+        try {
+            List<StrRescueNote> addE = Lists.newLinkedList();
+            List<StrRescueNote> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrRescueNote strRescueNote = this.getOne(new QueryWrapper<StrRescueNote>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strRescueNote != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strRescueNoteService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-抢救记录","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 65 - 1
src/main/java/com/diagbot/facade/data/AStrTransferInNoteFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrTransferInNote;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrTransferInNoteServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrTransferInNoteVO;
+import com.diagbot.vo.str.StrTransferInNoteVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -21,6 +28,9 @@ import java.util.Map;
 @Component
 public class AStrTransferInNoteFacade extends StrTransferInNoteServiceImpl {
 
+    @Autowired
+    @Qualifier("strTransferInNoteServiceImpl")
+    private StrTransferInNoteServiceImpl strTransferInNoteService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -84,4 +94,58 @@ public class AStrTransferInNoteFacade extends StrTransferInNoteServiceImpl {
         return flag;
     }
 
+    public RespDTO execDealData(List<StrTransferInNoteVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrTransferInNoteVO strTransferInNoteVO:list) {
+                if("".equals(strTransferInNoteVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strTransferInNoteVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strTransferInNoteVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrTransferInNote> strTransferInNoteList= Lists.newArrayList();
+            strTransferInNoteList= BeanUtil.listCopyTo(list,StrTransferInNote.class);
+            execute(strTransferInNoteList);
+
+            return RespDTO.onSuc(strTransferInNoteList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrTransferInNote> list){
+        try {
+            List<StrTransferInNote> addE = Lists.newLinkedList();
+            List<StrTransferInNote> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrTransferInNote strTransferInNote = this.getOne(new QueryWrapper<StrTransferInNote>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strTransferInNote != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strTransferInNoteService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-转入记录","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
+
 }

+ 65 - 1
src/main/java/com/diagbot/facade/data/AStrTransferOutNoteFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrTransferOutNote;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrTransferOutNoteServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrTransferOutNoteVO;
+import com.diagbot.vo.str.StrTransferOutNoteVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -21,6 +28,9 @@ import java.util.Map;
 @Component
 public class AStrTransferOutNoteFacade extends StrTransferOutNoteServiceImpl {
 
+    @Autowired
+    @Qualifier("strTransferOutNoteServiceImpl")
+    private StrTransferOutNoteServiceImpl strTransferOutNoteService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -82,4 +92,58 @@ public class AStrTransferOutNoteFacade extends StrTransferOutNoteServiceImpl {
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrTransferOutNoteVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrTransferOutNoteVO strTransferOutNoteVO:list) {
+                if("".equals(strTransferOutNoteVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strTransferOutNoteVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strTransferOutNoteVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrTransferOutNote> strTransferOutNoteList= Lists.newArrayList();
+            strTransferOutNoteList= BeanUtil.listCopyTo(list,StrTransferOutNote.class);
+            execute(strTransferOutNoteList);
+
+            return RespDTO.onSuc(strTransferOutNoteList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrTransferOutNote> list){
+        try {
+            List<StrTransferOutNote> addE = Lists.newLinkedList();
+            List<StrTransferOutNote> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrTransferOutNote strTransferOutNote = this.getOne(new QueryWrapper<StrTransferOutNote>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strTransferOutNote != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strTransferOutNoteService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-转出记录","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 66 - 1
src/main/java/com/diagbot/facade/data/AStrWardRecordFacade.java

@@ -1,17 +1,24 @@
-package com.diagbot.facade.data;
+package com.diagbot.facade.str;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.ColumnZhAndChDTO;
 import com.diagbot.entity.StrWardRecord;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
+import com.diagbot.facade.data.ColumnFacade;
 import com.diagbot.service.impl.StrWardRecordServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.MapUtil;
 import com.diagbot.vo.data.AStrWardRecordVO;
+import com.diagbot.vo.str.StrWardRecordVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -20,6 +27,10 @@ import java.util.Map;
 
 @Component
 public class AStrWardRecordFacade extends StrWardRecordServiceImpl {
+
+    @Autowired
+    @Qualifier("strWardRecordServiceImpl")
+    private StrWardRecordServiceImpl strWardRecordService;
     @Autowired
     private ColumnFacade columnFacade;
     @Autowired
@@ -84,4 +95,58 @@ public class AStrWardRecordFacade extends StrWardRecordServiceImpl {
         }
         return flag;
     }
+
+    public RespDTO execDealData(List<StrWardRecordVO> list){
+        if(list!=null && list.size()>0){
+            //循环验证数据有效性
+            for (StrWardRecordVO strWardRecordVO:list) {
+                if("".equals(strWardRecordVO.getRecId())) {
+                    return RespDTO.onError("请输入记录编号!");
+                }else if(strWardRecordVO.getHospitalId()==null){
+                    return RespDTO.onError("请输入医院编码!");
+                }else if("".equals(strWardRecordVO.getBehospitalCode())){
+                    return RespDTO.onError("请输入病人住院编码!");
+                }
+            }
+            //初始、格式化数据
+            List<StrWardRecord> strWardRecordList= Lists.newArrayList();
+            strWardRecordList= BeanUtil.listCopyTo(list,StrWardRecord.class);
+            execute(strWardRecordList);
+
+            return RespDTO.onSuc(strWardRecordList);
+        }else{
+            return RespDTO.onError("未接收到数据!");
+        }
+    }
+
+    public void execute(List<StrWardRecord> list){
+        try {
+            List<StrWardRecord> addE = Lists.newLinkedList();
+            List<StrWardRecord> updateE = Lists.newLinkedList();
+            if (list != null && list.size() > 0) {
+                list.stream().forEach(s -> {
+                    StrWardRecord strWardRecord = this.getOne(new QueryWrapper<StrWardRecord>()
+                            .eq("rec_id", s.getRecId())
+                            .eq("hospital_id", s.getHospitalId())
+                            .eq("behospital_code",s.getBehospitalCode()), false);
+                    if (strWardRecord != null) {
+                        s.setGmtModified(new Date());
+                        updateE.add(s);
+                    } else {
+                        s.setGmtCreate(new Date());
+                        addE.add(s);
+                    }
+                });
+            }
+            if(addE.size()>0){
+                strWardRecordService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                this.baseMapper.updateBatchByKey(updateE);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            aMedAbnormalInfoFacade.saveAbnormalInfo("结构化-查房记录","", JSON.toJSONString(list),"",e.getMessage());
+        }
+    }
 }

+ 1 - 2
src/main/java/com/diagbot/util/ColumnCacheUtil.java

@@ -1,6 +1,6 @@
 package com.diagbot.util;
 
-import com.diagbot.facade.data.*;
+import com.diagbot.facade.str.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.ApplicationArguments;
@@ -14,7 +14,6 @@ import org.springframework.stereotype.Component;
  */
 public class ColumnCacheUtil implements ApplicationRunner {
 
-
     @Override
     public void run(ApplicationArguments args) throws Exception {
         try {

+ 317 - 0
src/main/java/com/diagbot/vo/str/StrAdmissionNoteVO.java

@@ -0,0 +1,317 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 入院记录
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrAdmissionNoteVO {
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 出生日期
+     */
+    private Date birthday;
+
+    /**
+     * 婚姻状况
+     */
+    private String marriage;
+
+    /**
+     * 职业
+     */
+    private String jobType;
+
+    /**
+     * 民族
+     */
+    private String nation;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 工作单位
+     */
+    private String workplace;
+
+    /**
+     * 户口地址
+     */
+    private String registerAddress;
+
+    /**
+     * 出生地
+     */
+    private String bornAddress;
+
+    /**
+     * 预产期
+     */
+    private String expectDate;
+
+    /**
+     * 末次月经
+     */
+    private String lastMenstrual;
+
+    /**
+     * 孕/产次
+     */
+    private String pregnantNum;
+
+    /**
+     * 入院日期
+     */
+    private Date behospitalDate;
+
+    /**
+     * 病史陈述者
+     */
+    private String historyTeller;
+
+    /**
+     * 主诉
+     */
+    private String chief;
+
+    /**
+     * 现病史
+     */
+    private String present;
+
+    /**
+     * 既往史
+     */
+    private String pastHistory;
+
+    /**
+     * 个人史
+     */
+    private String personalHistory;
+
+    /**
+     * 婚育史
+     */
+    private String maritalHistory;
+
+    /**
+     * 月经史
+     */
+    private String menstrualHistory;
+
+    /**
+     * 家族史
+     */
+    private String familyHistory;
+
+    /**
+     * 喂养史
+     */
+    private String feedingHistory;
+
+    /**
+     * 手术外伤史
+     */
+    private String operationHistory;
+
+    /**
+     * 输血史
+     */
+    private String bloodHistory;
+
+    /**
+     * 传染病史
+     */
+    private String infectionHistory;
+
+    /**
+     * 专科检查
+     */
+    private String specialVital;
+
+    /**
+     * 辅助检查
+     */
+    private String assistantExam;
+
+    /**
+     * 实验室检查
+     */
+    private String lisExam;
+
+    /**
+     * 影像学检查
+     */
+    private String pacsExam;
+
+    /**
+     * 初步诊断
+     */
+    private String tentativeDiagnosis;
+
+    /**
+     * 补充诊断
+     */
+    private String supplyDiagnosis;
+
+    /**
+     * 修正诊断
+     */
+    private String revisedDiagnosis;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 体温
+     */
+    private String temperature;
+
+    /**
+     * 脉搏
+     */
+    private String pulse;
+
+    /**
+     * 呼吸
+     */
+    private String breathe;
+
+    /**
+     * 血压
+     */
+    private String bloodPressure;
+
+    /**
+     * 疼痛
+     */
+    private String pain;
+
+    /**
+     * 体重
+     */
+    private String weight;
+
+    /**
+     * 身高
+     */
+    private String height;
+
+    /**
+     * BMI
+     */
+    private String bmi;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+}

+ 127 - 0
src/main/java/com/diagbot/vo/str/StrBloodResultVO.java

@@ -0,0 +1,127 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 输血效果评价
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrBloodResultVO {
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 效果评价
+     */
+    private String transfusionEvaluate;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+
+}

+ 147 - 0
src/main/java/com/diagbot/vo/str/StrBloodTransfusionVO.java

@@ -0,0 +1,147 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 输血记录
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrBloodTransfusionVO{
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 开始时间
+     */
+    private Date startTime;
+
+    /**
+     * 结束时间
+     */
+    private Date endTime;
+
+    /**
+     * 输血原因
+     */
+    private String transfusionReason;
+
+    /**
+     * 输注种类、血型、数量
+     */
+    private String transfusionType;
+
+    /**
+     * 输注过程
+     */
+    private String transfusionProcess;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+}

+ 187 - 0
src/main/java/com/diagbot/vo/str/StrConsultationApplyVO.java

@@ -0,0 +1,187 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 会诊申请单
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrConsultationApplyVO {
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 入院日期
+     */
+    private Date behospitalDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 申请科室
+     */
+    private String applyDept;
+
+    /**
+     * 申请医生
+     */
+    private String applyDoctor;
+
+    /**
+     * 申请日期
+     */
+    private Date applyDate;
+
+    /**
+     * 会诊类别
+     */
+    private String inviteType;
+
+    /**
+     * 会诊科室
+     */
+    private String inviteDept;
+
+    /**
+     * 会诊医生
+     */
+    private String inviteDoctor;
+
+    /**
+     * 简要病情
+     */
+    private String briefNote;
+
+    /**
+     * 当前诊断
+     */
+    private String diagnosis;
+
+    /**
+     * 诊疗情况
+     */
+    private String treatmentSituation;
+
+    /**
+     * 会诊时间
+     */
+    private Date consultationDate;
+
+    /**
+     * 会诊目的
+     */
+    private String consultationPurpose;
+
+    /**
+     * 会诊意见
+     */
+    private String consultationOpinions;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+
+}

+ 187 - 0
src/main/java/com/diagbot/vo/str/StrConsultationNoteVO.java

@@ -0,0 +1,187 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 会诊单(申请和结果)
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrConsultationNoteVO {
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 入院日期
+     */
+    private Date behospitalDate;
+
+    /**
+     * 申请科室
+     */
+    private String applyDept;
+
+    /**
+     * 申请医生
+     */
+    private String applyDoctor;
+
+    /**
+     * 申请日期
+     */
+    private Date applyDate;
+
+    /**
+     * 会诊类别
+     */
+    private String inviteType;
+
+    /**
+     * 会诊科室
+     */
+    private String inviteDept;
+
+    /**
+     * 会诊医生
+     */
+    private String inviteDoctor;
+
+    /**
+     * 简要病情
+     */
+    private String briefNote;
+
+    /**
+     * 当前诊断
+     */
+    private String currentDiagnosis;
+
+    /**
+     * 诊疗情况
+     */
+    private String treatmentSituation;
+
+    /**
+     * 会诊时间
+     */
+    private Date consultationDate;
+
+    /**
+     * 会诊目的
+     */
+    private String consultationPurpose;
+
+    /**
+     * 会诊意见
+     */
+    private String consultationOpinions;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+}

+ 188 - 0
src/main/java/com/diagbot/vo/str/StrConsultationRecordVO.java

@@ -0,0 +1,188 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 会诊记录
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-11-13
+ */
+@Data
+public class StrConsultationRecordVO {
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 入院日期
+     */
+    private Date behospitalDate;
+
+    /**
+     * 申请科室
+     */
+    private String applyDept;
+
+    /**
+     * 申请医生
+     */
+    private String applyDoctor;
+
+    /**
+     * 申请日期
+     */
+    private Date applyDate;
+
+    /**
+     * 会诊类别
+     */
+    private String inviteType;
+
+    /**
+     * 会诊科室
+     */
+    private String inviteDept;
+
+    /**
+     * 会诊医生
+     */
+    private String inviteDoctor;
+
+    /**
+     * 简要病情
+     */
+    private String briefNote;
+
+    /**
+     * 当前诊断
+     */
+    private String currentDiagnosis;
+
+    /**
+     * 诊疗情况
+     */
+    private String treatmentSituation;
+
+    /**
+     * 会诊时间
+     */
+    private Date consultationDate;
+
+    /**
+     * 会诊目的
+     */
+    private String consultationPurpose;
+
+    /**
+     * 会诊意见
+     */
+    private String consultationOpinions;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+
+}

+ 176 - 0
src/main/java/com/diagbot/vo/str/StrConsultationResultVO.java

@@ -0,0 +1,176 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 会诊结果单
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrConsultationResultVO{
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 入院日期
+     */
+    private Date behospitalDate;
+
+    /**
+     * 申请科室
+     */
+    private String applyDept;
+
+    /**
+     * 申请医生
+     */
+    private String applyDoctor;
+
+    /**
+     * 申请日期
+     */
+    private Date applyDate;
+
+    /**
+     * 会诊类别
+     */
+    private String inviteType;
+
+    /**
+     * 会诊科室
+     */
+    private String inviteDept;
+
+    /**
+     * 会诊医生
+     */
+    private String inviteDoctor;
+
+    /**
+     * 当前诊断
+     */
+    private String currentDiagnosis;
+
+    /**
+     * 会诊目的
+     */
+    private String consultationPurpose;
+
+    /**
+     * 会诊意见
+     */
+    private String consultationOpinions;
+
+    /**
+     * 会诊到达时间
+     */
+    private Date consultationArriveDate;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+}

+ 137 - 0
src/main/java/com/diagbot/vo/str/StrCrisisNoteVO.java

@@ -0,0 +1,137 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 危急值记录
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrCrisisNoteVO {
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 危急值报告
+     */
+    private String crisisNote;
+
+    /**
+     * 病情分析及处理
+     */
+    private String briefNote;
+
+    /**
+     * 接收时间
+     */
+    private Date recieveDate;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+
+}

+ 178 - 0
src/main/java/com/diagbot/vo/str/StrDeathDiscussionVO.java

@@ -0,0 +1,178 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 死亡病例讨论记录
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrDeathDiscussionVO{
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 入院诊断
+     */
+    private String tentativeDiagnosis;
+
+    /**
+     * 死亡诊断
+     */
+    private String deathDiagnosis;
+
+    /**
+     * 死亡原因
+     */
+    private String deathReason;
+
+    /**
+     * 死亡时间
+     */
+    private Date deathDate;
+
+    /**
+     * 讨论时间
+     */
+    private Date discussDate;
+
+    /**
+     * 讨论地点
+     */
+    private String discussPlace;
+
+    /**
+     * 主持人
+     */
+    private String anchor;
+
+    /**
+     * 参加人员
+     */
+    private String participant;
+
+    /**
+     * 病史简介
+     */
+    private String briefHistory;
+
+    /**
+     * 讨论内容
+     */
+    private String discussionContent;
+
+    /**
+     * 主持人小结
+     */
+    private String anchorConclusion;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+
+}

+ 158 - 0
src/main/java/com/diagbot/vo/str/StrDeathNoteVO.java

@@ -0,0 +1,158 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 死亡记录
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrDeathNoteVO{
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 入院日期
+     */
+    private Date behospitalDate;
+
+    /**
+     * 死亡日期
+     */
+    private Date deathDate;
+
+    /**
+     * 入院情况
+     */
+    private String behospitalSituation;
+
+    /**
+     * 入院诊断
+     */
+    private String tentativeDiagnosis;
+
+    /**
+     * 诊疗经过
+     */
+    private String treatmentProcess;
+
+    /**
+     * 死亡原因
+     */
+    private String deathReason;
+
+    /**
+     * 死亡诊断
+     */
+    private String deathDiagnosis;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+
+}

+ 162 - 0
src/main/java/com/diagbot/vo/str/StrDifficultCaseVO.java

@@ -0,0 +1,162 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 疑难病例讨论记录
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrDifficultCaseVO {
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 讨论日期
+     */
+    private Date discussDate;
+
+    /**
+     * 讨论地点
+     */
+    private String discussPlace;
+
+    /**
+     * 主持人姓名及专业技术职务
+     */
+    private String anchorMan;
+
+    /**
+     * 参加人员的姓名及专业技术职务
+     */
+    private String participant;
+
+    /**
+     * 病史简介
+     */
+    private String briefHistory;
+
+    /**
+     * 讨论目的
+     */
+    private String discussAim;
+
+    /**
+     * 具体讨论意见
+     */
+    private String discussionOpinions;
+
+    /**
+     * 主持人小结
+     */
+    private String anchorConclusion;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+}

+ 172 - 0
src/main/java/com/diagbot/vo/str/StrFirstRecordVO.java

@@ -0,0 +1,172 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 首次病程录
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrFirstRecordVO  {
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 主诉
+     */
+    private String chief;
+
+    /**
+     * 现病史
+     */
+    private String present;
+
+    /**
+     * 既往史
+     */
+    private String pastHistory;
+
+    /**
+     * 查体
+     */
+    private String vital;
+
+    /**
+     * 辅检
+     */
+    private String assistantExam;
+
+    /**
+     * 病例特点
+     */
+    private String caseCharacter;
+
+    /**
+     * 初步诊断
+     */
+    private String tentativeDiagnosis;
+
+    /**
+     * 诊断依据
+     */
+    private String supplyDiagnosis;
+
+    /**
+     * 鉴别诊断
+     */
+    private String revisedDiagnosis;
+
+    /**
+     * 诊疗计划(方案)
+     */
+    private String treatPlan;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+
+}

+ 131 - 0
src/main/java/com/diagbot/vo/str/StrIllCriticallyVO.java

@@ -0,0 +1,131 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 病危通知单
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrIllCriticallyVO {
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 当前诊断
+     */
+    private String currentDiagnosis;
+
+    /**
+     * 病情危重情况
+     */
+    private String criticalSituation;
+
+    /**
+     * 患者签名
+     */
+    private String patientSign;
+
+    /**
+     * 患者签名时间
+     */
+    private Date patientSignDate;
+
+    /**
+     * 医生签名
+     */
+    private String doctorSign;
+
+    /**
+     * 医生签名时间
+     */
+    private Date doctorSignDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+}

+ 132 - 0
src/main/java/com/diagbot/vo/str/StrIllSeriouslVO.java

@@ -0,0 +1,132 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 病重通知单
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrIllSeriouslVO  {
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 当前诊断
+     */
+    private String currentDiagnosis;
+
+    /**
+     * 病情危重情况
+     */
+    private String criticalSituation;
+
+    /**
+     * 患者签名
+     */
+    private String patientSign;
+
+    /**
+     * 患者签名时间
+     */
+    private Date patientSignDate;
+
+    /**
+     * 医生签名
+     */
+    private String doctorSign;
+
+    /**
+     * 医生签名时间
+     */
+    private Date doctorSignDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+}

+ 173 - 0
src/main/java/com/diagbot/vo/str/StrLeaveHospitalVO.java

@@ -0,0 +1,173 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 出院小结
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrLeaveHospitalVO {
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 入院日期
+     */
+    private Date behospitalDate;
+
+    /**
+     * 出院日期
+     */
+    private Date leaveHospitalDate;
+
+    /**
+     * 入院诊断
+     */
+    private String tentativeDiagnosis;
+
+    /**
+     * 出院诊断
+     */
+    private String leaveDiagnosis;
+
+    /**
+     * 住院天数
+     */
+    private String behospitalDayNum;
+
+    /**
+     * 入院原因
+     */
+    private String behospitalReason;
+
+    /**
+     * 入院情况
+     */
+    private String behospitalSituation;
+
+    /**
+     * 诊治经过
+     */
+    private String treatmentProcess;
+
+    /**
+     * 出院情况
+     */
+    private String leaveHospitalSituation;
+
+    /**
+     * 出院医嘱
+     */
+    private String leaveHospitalDoctoradvice;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+
+}

+ 213 - 0
src/main/java/com/diagbot/vo/str/StrOperativeFirstRecordVO.java

@@ -0,0 +1,213 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 术后首程
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrOperativeFirstRecordVO {
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 手术日期
+     */
+    private Date operationDate;
+
+    /**
+     * 开始时间
+     */
+    private Date startTime;
+
+    /**
+     * 结束时间
+     */
+    private Date endTime;
+
+    /**
+     * 麻醉方式
+     */
+    private String narcosisType;
+
+    /**
+     * 麻醉医师
+     */
+    private String narcosisDoctor;
+
+    /**
+     * 术前诊断
+     */
+    private String preoperationDiagnosis;
+
+    /**
+     * 术(中)后诊断
+     */
+    private String postoperativeDiagnosis;
+
+    /**
+     * 手术人员
+     */
+    private String operationMan;
+
+    /**
+     * 手术名称方式
+     */
+    private String operationName;
+
+    /**
+     * 手术简要经过
+     */
+    private String operationProcess;
+
+    /**
+     * 患者术后情况
+     */
+    private String postoperativeSituation;
+
+    /**
+     * 术后处理措施
+     */
+    private String postoperativeTreatment;
+
+    /**
+     * 术后注意事项
+     */
+    private String postoperativeNotice;
+
+    /**
+     * 术后可能出现的并发症及预防措施
+     */
+    private String postoperativeComplication;
+
+    /**
+     * 手术切除标本
+     */
+    private String operationSpecimen;
+
+    /**
+     * 术中出血量
+     */
+    private String operationBleed;
+
+    /**
+     * 术中输血量
+     */
+    private String operationBloodTransfusion;
+
+    /**
+     * 术中并发症
+     */
+    private String operationComplication;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+
+}

+ 218 - 0
src/main/java/com/diagbot/vo/str/StrOperativeNoteVO.java

@@ -0,0 +1,218 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 手术记录
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrOperativeNoteVO  {
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 手术日期
+     */
+    private Date operationDate;
+
+    /**
+     * 开始时间
+     */
+    private Date startTime;
+
+    /**
+     * 结束时间
+     */
+    private Date endTime;
+
+    /**
+     * 术前诊断
+     */
+    private String preoperationDiagnosis;
+
+    /**
+     * 手术名称
+     */
+    private String operationName;
+
+    /**
+     * 术(中)后诊断
+     */
+    private String postoperativeDiagnosis;
+
+    /**
+     * 主刀医师
+     */
+    private String operationSurgeon;
+
+    /**
+     * 一助
+     */
+    private String firstHelping;
+
+    /**
+     * 二助
+     */
+    private String secondHelping;
+
+    /**
+     * 麻醉医师
+     */
+    private String narcosisDoctor;
+
+    /**
+     * 麻醉方式
+     */
+    private String narcosisType;
+
+    /**
+     * 切口类别
+     */
+    private String cutType;
+
+    /**
+     * 病理诊断
+     */
+    private String pathologicalDiagnosis;
+
+    /**
+     * 是否术中植入物
+     */
+    private String isImplants;
+
+    /**
+     * 植入物名称
+     */
+    private String implantsName;
+
+    /**
+     * 出血
+     */
+    private String bloodLoss;
+
+    /**
+     * 术中所见
+     */
+    private String intraoperativeView;
+
+    /**
+     * 术后注意事项
+     */
+    private String postoperativeNotice;
+
+    /**
+     * 手术经过及处理
+     */
+    private String operationProcess;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+
+}

+ 163 - 0
src/main/java/com/diagbot/vo/str/StrPeriodConclusionVO.java

@@ -0,0 +1,163 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 阶段小结
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrPeriodConclusionVO {
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 参加人员
+     */
+    private String participant;
+
+    /**
+     * 主诉
+     */
+    private String chief;
+
+    /**
+     * 入院情况
+     */
+    private String behospitalSituation;
+
+    /**
+     * 入院诊断
+     */
+    private String tentativeDiagnosis;
+
+    /**
+     * 诊治经过
+     */
+    private String treatmentProcess;
+
+    /**
+     * 目前诊断
+     */
+    private String currentDiagnosis;
+
+    /**
+     * 目前情况
+     */
+    private String presentSituation;
+
+    /**
+     * 诊疗计划
+     */
+    private String treatPlan;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+
+}

+ 187 - 0
src/main/java/com/diagbot/vo/str/StrPreoperativeDiscussionVO.java

@@ -0,0 +1,187 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 术前讨论小结
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrPreoperativeDiscussionVO {
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 讨论时间
+     */
+    private Date discussTime;
+
+    /**
+     * 讨论方式
+     */
+    private String discussType;
+
+    /**
+     * 参加人员
+     */
+    private String participant;
+
+    /**
+     * 简要病情
+     */
+    private String briefNote;
+
+    /**
+     * 术前诊断
+     */
+    private String preoperationDiagnosis;
+
+    /**
+     * 手术指征与禁忌
+     */
+    private String operationIndication;
+
+    /**
+     * 可替代的方案
+     */
+    private String replacePlan;
+
+    /**
+     * 拟施手术方式、名称及可能的变更与禁忌症
+     */
+    private String operationName;
+
+    /**
+     * 拟施麻醉方式
+     */
+    private String anesthesiaType;
+
+    /**
+     * 术前准备
+     */
+    private String preoperationPrepare;
+
+    /**
+     * 主要术中、术后风险及防范措施
+     */
+    private String intraoperativeRisk;
+
+    /**
+     * 术中注意事项
+     */
+    private String intraoperativeNotice;
+
+    /**
+     * 术后注意事项
+     */
+    private String postoperativeNotice;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+}

+ 148 - 0
src/main/java/com/diagbot/vo/str/StrRescueNoteVO.java

@@ -0,0 +1,148 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 抢救记录
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrRescueNoteVO {
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 开始时间
+     */
+    private Date startTime;
+
+    /**
+     * 结束时间
+     */
+    private Date endTime;
+
+    /**
+     * 简要病情
+     */
+    private String briefNote;
+
+    /**
+     * 抢救措施
+     */
+    private String resuscitation;
+
+    /**
+     * 参加抢救的医务人员姓名及专业技术职称
+     */
+    private String rescueMan;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+
+}

+ 173 - 0
src/main/java/com/diagbot/vo/str/StrTransferInNoteVO.java

@@ -0,0 +1,173 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 转入记录
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrTransferInNoteVO {
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 转入日期
+     */
+    private Date transferInDate;
+
+    /**
+     * 转出科室
+     */
+    private String transferOutDept;
+
+    /**
+     * 转入科室
+     */
+    private String transferInDept;
+
+    /**
+     * 主诉
+     */
+    private String chief;
+
+    /**
+     * 入院情况
+     */
+    private String behospitalSituation;
+
+    /**
+     * 目前病情
+     */
+    private String currentSituation;
+
+    /**
+     * 入院诊断
+     */
+    private String tentativeDiagnosis;
+
+    /**
+     * 诊疗经过
+     */
+    private String treatmentProcess;
+
+    /**
+     * 目前诊断
+     */
+    private String currentDiagnosis;
+
+    /**
+     * 转入诊疗计划
+     */
+    private String treatPlan;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+
+}

+ 172 - 0
src/main/java/com/diagbot/vo/str/StrTransferOutNoteVO.java

@@ -0,0 +1,172 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 转出记录
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrTransferOutNoteVO {
+
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 标题
+     */
+    private String recTitle;
+
+    /**
+     * 转入日期
+     */
+    private Date transferInDate;
+
+    /**
+     * 转出科室
+     */
+    private String transferOutDept;
+
+    /**
+     * 转入科室
+     */
+    private String transferInDept;
+
+    /**
+     * 主诉
+     */
+    private String chief;
+
+    /**
+     * 入院情况
+     */
+    private String behospitalSituation;
+
+    /**
+     * 目前病情
+     */
+    private String currentSituation;
+
+    /**
+     * 入院诊断
+     */
+    private String tentativeDiagnosis;
+
+    /**
+     * 诊疗经过
+     */
+    private String treatmentProcess;
+
+    /**
+     * 目前诊断
+     */
+    private String currentDiagnosis;
+
+    /**
+     * 转入诊疗计划
+     */
+    private String treatPlan;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+}

+ 157 - 0
src/main/java/com/diagbot/vo/str/StrWardRecordVO.java

@@ -0,0 +1,157 @@
+package com.diagbot.vo.str;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 查房记录
+ * </p>
+ *
+ * @author cy
+ * @since 2020-10-09
+ */
+@Data
+public class StrWardRecordVO  {
+    /**
+     * 记录编号
+     */
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 床号
+     */
+    private String bedNo;
+
+    /**
+     * 科别
+     */
+    private String deptName;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 病历日期
+     */
+    private Date recordDate;
+
+    /**
+     * 查房日期
+     */
+    private Date wardDate;
+
+    /**
+     * 查房医生
+     */
+    private String wardDoctor;
+
+    /**
+     * 标题
+     */
+    private String wardTitle;
+
+    /**
+     * 病情记录
+     */
+    private String wardContent;
+
+    /**
+     * S
+     */
+    private String wardS;
+
+    /**
+     * O
+     */
+    private String wardO;
+
+    /**
+     * A
+     */
+    private String wardA;
+
+    /**
+     * P
+     */
+    private String wardP;
+
+    /**
+     * 记录医生
+     */
+    private String recDoctor;
+
+    /**
+     * 记录时间
+     */
+    private Date recDate;
+
+    /**
+     * 审核医生
+     */
+    private String auditDoctor;
+
+    /**
+     * 审核时间
+     */
+    private Date auditDate;
+
+    /**
+     * 结构化数据
+     */
+    private String wholeData;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 修改人
+     */
+    private String modifier;
+
+}

+ 253 - 0
src/main/java/com/diagbot/web/ADataStrController.java

@@ -0,0 +1,253 @@
+package com.diagbot.web;
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.str.*;
+import com.diagbot.vo.str.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/qc/data_str")
+@Api(value = "对接接口API-结构化", tags = { "对接接口API-结构化" })
+public class ADataStrController {
+
+    @Autowired
+    private AStrAdmissionNoteFacade aStrAdmissionNoteFacade;
+
+    @Autowired
+    private AStrBloodResultFacade aStrBloodResultFacade;
+
+    @Autowired
+    private AStrBloodTransfusionFacade aStrBloodTransfusionFacade;
+
+    @Autowired
+    private AStrConsultationApplyFacade aStrConsultationApplyFacade;
+
+    @Autowired
+    private AStrCrisisNoteFacade aStrCrisisNoteFacade;
+
+    @Autowired
+    private AStrConsultationRecordFacade aStrConsultationRecordFacade;
+
+    @Autowired
+    private AStrConsultationResultFacade aStrConsultationResultFacade;
+
+    @Autowired
+    private AStrConsultationNoteFacade aStrConsultationNoteFacade;
+
+    @Autowired
+    private AStrFirstRecordFacade aStrFirstRecordFacade;
+
+    @Autowired
+    private AStrDifficultCaseFacade aStrDifficultCaseFacade;
+
+    @Autowired
+    private AStrDeathDiscussionFacade aStrDeathDiscussionFacade;
+
+    @Autowired
+    private AStrDeathNoteFacade aStrDeathNoteFacade;
+
+    @Autowired
+    private AStrOperativeFirstRecord aStrOperativeFirstRecordFacade;
+
+    @Autowired
+    private AStrLeaveHospitalFacade aStrLeaveHospitalFacade;
+
+    @Autowired
+    private AStrIllCriticallyFacade aStrIllCriticallyFacade;
+
+    @Autowired
+    private AStrIllSeriouslFacade aStrIllSeriouslFacade;
+
+
+    @Autowired
+    private AStrPreoperativeDiscussionFacade aStrPreoperativeDiscussionFacade;
+
+    @Autowired
+    private AStrPeriodConclusionFacade aStrPeriodConclusionFacade;
+
+    @Autowired
+    private AStrRescueNoteFacade aStrRescueNoteFacade;
+
+    @Autowired
+    private AStrTransferInNoteFacade aStrTransferInNoteFacade;
+
+    @Autowired
+    private AStrTransferOutNoteFacade aStrTransferOutNoteFacade;
+
+    @Autowired
+    private AStrWardRecordFacade aStrWardRecordFacade;
+
+    @Autowired
+    private AStrOperativeNoteFacade aStrOperativeNoteFacade;
+
+    @ApiOperation(value = "入院记录")
+    @PostMapping("/sendAdmissionNote")
+    @SysLogger("sendAdmissionNote")
+    public RespDTO sendAdmissionNote(@RequestBody List<StrAdmissionNoteVO> list){
+        return aStrAdmissionNoteFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "输血后效果评价")
+    @PostMapping("/sendBloodResult")
+    @SysLogger("sendBloodResult")
+    public RespDTO sendBloodResult(@RequestBody List<StrBloodResultVO> list){
+        return aStrBloodResultFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "输血/血制品病程记录")
+    @PostMapping("/sendBloodTransfusion")
+    @SysLogger("sendBloodTransfusion")
+    public RespDTO sendBloodTransfusion(@RequestBody List<StrBloodTransfusionVO> list){
+        return aStrBloodTransfusionFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "会诊申请单")
+    @PostMapping("/sendConsultationApply")
+    @SysLogger("sendConsultationApply")
+    public RespDTO sendConsultationApply(@RequestBody List<StrConsultationApplyVO> list){
+        return aStrConsultationApplyFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "会诊单(申请和结果)")
+    @PostMapping("/sendConsultationNote")
+    @SysLogger("sendConsultationNote")
+    public RespDTO sendConsultationNote(@RequestBody List<StrConsultationNoteVO> list){
+        return aStrConsultationNoteFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "会诊记录")
+    @PostMapping("/sendConsultationRecord")
+    @SysLogger("sendConsultationRecord")
+    public RespDTO sendConsultationRecord(@RequestBody List<StrConsultationRecordVO> list){
+        return aStrConsultationRecordFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "会诊结果单")
+    @PostMapping("/sendConsultationResult")
+    @SysLogger("sendConsultationResult")
+    public RespDTO sendConsultationResult(@RequestBody List<StrConsultationResultVO> list){
+        return aStrConsultationResultFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "危急值记录")
+    @PostMapping("/sendCrisisNote")
+    @SysLogger("sendCrisisNote")
+    public RespDTO sendCrisisNote(@RequestBody List<StrCrisisNoteVO> list){
+        return aStrCrisisNoteFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "死亡病例讨论记录")
+    @PostMapping("/sendDeathDiscussion")
+    @SysLogger("sendDeathDiscussion")
+    public RespDTO sendDeathDiscussion(@RequestBody List<StrDeathDiscussionVO> list){
+        return aStrDeathDiscussionFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "死亡记录")
+    @PostMapping("/sendDeathNote")
+    @SysLogger("sendDeathNote")
+    public RespDTO sendDeathNote(@RequestBody List<StrDeathNoteVO> list){
+        return aStrDeathNoteFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "疑难病例讨论记录")
+    @PostMapping("/sendDifficultCase")
+    @SysLogger("sendDifficultCase")
+    public RespDTO sendDifficultCase(@RequestBody List<StrDifficultCaseVO> list){
+        return aStrDifficultCaseFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "首次病程录")
+    @PostMapping("/sendFirstRecord")
+    @SysLogger("sendFirstRecord")
+    public RespDTO sendFirstRecord(@RequestBody List<StrFirstRecordVO> list){
+        return aStrFirstRecordFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "病危通知单")
+    @PostMapping("/sendIllCritically")
+    @SysLogger("sendIllCritically")
+    public RespDTO sendIllCritically(@RequestBody List<StrIllCriticallyVO> list){
+        return aStrIllCriticallyFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "病重通知单")
+    @PostMapping("/sendIllSeriousl")
+    @SysLogger("sendIllSeriousl")
+    public RespDTO sendIllSeriousl(@RequestBody List<StrIllSeriouslVO> list){
+        return aStrIllSeriouslFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "出院小结")
+    @PostMapping("/sendLeaveHospital")
+    @SysLogger("sendLeaveHospital")
+    public RespDTO sendLeaveHospital(@RequestBody List<StrLeaveHospitalVO> list){
+        return aStrLeaveHospitalFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "术后首程")
+    @PostMapping("/sendOperativeFirstRecord")
+    @SysLogger("sendOperativeFirstRecord")
+    public RespDTO sendOperativeFirstRecord(@RequestBody List<StrOperativeFirstRecordVO> list){
+        return aStrOperativeFirstRecordFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "手术记录")
+    @PostMapping("/sendOperativeNote")
+    @SysLogger("sendOperativeNote")
+    public RespDTO sendOperativeNote(@RequestBody List<StrOperativeNoteVO> list){
+        return aStrOperativeNoteFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "查房记录")
+    @PostMapping("/sendWardRecord")
+    @SysLogger("sendWardRecord")
+    public RespDTO sendWardRecord(@RequestBody List<StrWardRecordVO> list){
+        return aStrWardRecordFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "转出记录")
+    @PostMapping("/sendTransferOutNote")
+    @SysLogger("sendTransferOutNote")
+    public RespDTO sendTransferOutNote(@RequestBody List<StrTransferOutNoteVO> list){
+        return aStrTransferOutNoteFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "转入记录")
+    @PostMapping("/sendTransferInNote")
+    @SysLogger("sendTransferInNote")
+    public RespDTO sendTransferInNote(@RequestBody List<StrTransferInNoteVO> list){
+        return aStrTransferInNoteFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "抢救记录")
+    @PostMapping("/sendRescueNote")
+    @SysLogger("sendRescueNote")
+    public RespDTO sendRescueNote(@RequestBody List<StrRescueNoteVO> list){
+        return aStrRescueNoteFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "阶段小结")
+    @PostMapping("/sendPeriodConclusion")
+    @SysLogger("sendPeriodConclusion")
+    public RespDTO sendPeriodConclusion(@RequestBody List<StrPeriodConclusionVO> list){
+        return aStrPeriodConclusionFacade.execDealData(list);
+    }
+
+    @ApiOperation(value = "术前讨论小结")
+    @PostMapping("/sendPreoperativeDiscussion")
+    @SysLogger("sendPreoperativeDiscussion")
+    public RespDTO sendPreoperativeDiscussion(@RequestBody List<StrPreoperativeDiscussionVO> list){
+        return aStrPreoperativeDiscussionFacade.execDealData(list);
+    }
+
+}

+ 8 - 0
src/main/resources/application-dev.yml

@@ -168,3 +168,11 @@ encrypt:
 
 swagger:
   enable: true
+
+#xml解析成结构化开关
+xml_analyse:
+  enable: false
+
+#函数初始化modeId开关
+initmodeid:
+  enable: false

+ 8 - 0
src/main/resources/application-local.yml

@@ -168,3 +168,11 @@ encrypt:
 
 swagger:
   enable: true
+
+#xml解析成结构化开关
+xml_analyse:
+  enable: false
+
+#函数初始化modeId开关
+initmodeid:
+  enable: false

+ 8 - 0
src/main/resources/application-pre.yml

@@ -168,3 +168,11 @@ encrypt:
 
 swagger:
   enable: true
+
+#xml解析成结构化开关
+xml_analyse:
+  enable: false
+
+#函数初始化modeId开关
+initmodeid:
+  enable: false

+ 8 - 0
src/main/resources/application-pro.yml

@@ -168,3 +168,11 @@ encrypt:
 
 swagger:
   enable: true
+
+#xml解析成结构化开关
+xml_analyse:
+  enable: false
+
+#函数初始化modeId开关
+initmodeid:
+  enable: false

+ 8 - 0
src/main/resources/application-test.yml

@@ -168,3 +168,11 @@ encrypt:
 
 swagger:
   enable: true
+
+#xml解析成结构化开关
+xml_analyse:
+  enable: false
+
+#函数初始化modeId开关
+initmodeid:
+  enable: false