Просмотр исходного кода

Merge branch 'master' into his/yiwufuyou

# Conflicts:
#	src/main/java/com/diagbot/entity/MedNurse.java
#	src/main/java/com/diagbot/facade/MedNurseFacade.java
#	src/main/java/com/diagbot/mapper/MedNurseMapper.java
#	src/main/java/com/diagbot/service/MedNurseService.java
#	src/main/java/com/diagbot/service/impl/MedNurseServiceImpl.java
#	src/main/resources/mapper/MedNurseMapper.xml
zhangzw 4 лет назад
Родитель
Сommit
45ebc9130c
77 измененных файлов с 6726 добавлено и 254 удалено
  1. 25 0
      doc/028.20201210v1.4.9/qc_initv1.4.9.sql
  2. 24 0
      src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  3. 24 0
      src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  4. 9 4
      src/main/java/com/diagbot/dto/AnalyzeRunDTO.java
  5. 29 0
      src/main/java/com/diagbot/dto/ExportExcelWideBehospitalDTO.java
  6. 26 0
      src/main/java/com/diagbot/dto/ExportWideExcelDTO.java
  7. 7 8
      src/main/java/com/diagbot/dto/QcResultApiDTO.java
  8. 1 1
      src/main/java/com/diagbot/entity/HomePage.java
  9. 1 1
      src/main/java/com/diagbot/entity/MedNurse.java
  10. 280 46
      src/main/java/com/diagbot/facade/BehospitalInfoFacade.java
  11. 147 32
      src/main/java/com/diagbot/facade/ConsoleExportFacade.java
  12. 45 7
      src/main/java/com/diagbot/facade/MedNurseFacade.java
  13. 6 1
      src/main/java/com/diagbot/facade/QcresultInfoFacade.java
  14. 1 0
      src/main/java/com/diagbot/facade/data/ColumnFacade.java
  15. 66 1
      src/main/java/com/diagbot/facade/data/AStrAdmissionNoteFacade.java
  16. 81 1
      src/main/java/com/diagbot/facade/data/AStrBloodResultFacade.java
  17. 71 1
      src/main/java/com/diagbot/facade/data/AStrBloodTransfusionFacade.java
  18. 66 1
      src/main/java/com/diagbot/facade/data/AStrConsultationApplyFacade.java
  19. 65 1
      src/main/java/com/diagbot/facade/data/AStrConsultationNoteFacade.java
  20. 66 5
      src/main/java/com/diagbot/facade/data/AStrConsultationRecordFacade.java
  21. 70 1
      src/main/java/com/diagbot/facade/data/AStrConsultationResultFacade.java
  22. 66 1
      src/main/java/com/diagbot/facade/data/AStrCrisisNoteFacade.java
  23. 65 1
      src/main/java/com/diagbot/facade/data/AStrDeathDiscussionFacade.java
  24. 66 1
      src/main/java/com/diagbot/facade/data/AStrDeathNoteFacade.java
  25. 66 1
      src/main/java/com/diagbot/facade/data/AStrDifficultCaseFacade.java
  26. 65 1
      src/main/java/com/diagbot/facade/data/AStrFirstRecordFacade.java
  27. 65 1
      src/main/java/com/diagbot/facade/data/AStrIllCriticallyFacade.java
  28. 65 1
      src/main/java/com/diagbot/facade/data/AStrIllSeriouslFacade.java
  29. 66 1
      src/main/java/com/diagbot/facade/data/AStrLeaveHospitalFacade.java
  30. 65 1
      src/main/java/com/diagbot/facade/data/AStrOperativeFirstRecord.java
  31. 66 1
      src/main/java/com/diagbot/facade/data/AStrOperativeNoteFacade.java
  32. 65 2
      src/main/java/com/diagbot/facade/data/AStrPeriodConclusionFacade.java
  33. 66 1
      src/main/java/com/diagbot/facade/data/AStrPreoperativeDiscussionFacade.java
  34. 66 1
      src/main/java/com/diagbot/facade/data/AStrRescueNoteFacade.java
  35. 65 1
      src/main/java/com/diagbot/facade/data/AStrTransferInNoteFacade.java
  36. 65 1
      src/main/java/com/diagbot/facade/data/AStrTransferOutNoteFacade.java
  37. 66 1
      src/main/java/com/diagbot/facade/data/AStrWardRecordFacade.java
  38. 0 25
      src/main/java/com/diagbot/service/impl/BehospitalInfoServiceImpl.java
  39. 1 2
      src/main/java/com/diagbot/util/ColumnCacheUtil.java
  40. 3 2
      src/main/java/com/diagbot/vo/AnalyzeRunVO.java
  41. 3 0
      src/main/java/com/diagbot/vo/ExportQcresultVO.java
  42. 62 0
      src/main/java/com/diagbot/vo/MedNurseInfoVO.java
  43. 4 0
      src/main/java/com/diagbot/vo/QcResultShortPageVO.java
  44. 317 0
      src/main/java/com/diagbot/vo/str/StrAdmissionNoteVO.java
  45. 127 0
      src/main/java/com/diagbot/vo/str/StrBloodResultVO.java
  46. 147 0
      src/main/java/com/diagbot/vo/str/StrBloodTransfusionVO.java
  47. 187 0
      src/main/java/com/diagbot/vo/str/StrConsultationApplyVO.java
  48. 187 0
      src/main/java/com/diagbot/vo/str/StrConsultationNoteVO.java
  49. 188 0
      src/main/java/com/diagbot/vo/str/StrConsultationRecordVO.java
  50. 176 0
      src/main/java/com/diagbot/vo/str/StrConsultationResultVO.java
  51. 137 0
      src/main/java/com/diagbot/vo/str/StrCrisisNoteVO.java
  52. 178 0
      src/main/java/com/diagbot/vo/str/StrDeathDiscussionVO.java
  53. 158 0
      src/main/java/com/diagbot/vo/str/StrDeathNoteVO.java
  54. 162 0
      src/main/java/com/diagbot/vo/str/StrDifficultCaseVO.java
  55. 172 0
      src/main/java/com/diagbot/vo/str/StrFirstRecordVO.java
  56. 131 0
      src/main/java/com/diagbot/vo/str/StrIllCriticallyVO.java
  57. 132 0
      src/main/java/com/diagbot/vo/str/StrIllSeriouslVO.java
  58. 173 0
      src/main/java/com/diagbot/vo/str/StrLeaveHospitalVO.java
  59. 213 0
      src/main/java/com/diagbot/vo/str/StrOperativeFirstRecordVO.java
  60. 218 0
      src/main/java/com/diagbot/vo/str/StrOperativeNoteVO.java
  61. 163 0
      src/main/java/com/diagbot/vo/str/StrPeriodConclusionVO.java
  62. 187 0
      src/main/java/com/diagbot/vo/str/StrPreoperativeDiscussionVO.java
  63. 148 0
      src/main/java/com/diagbot/vo/str/StrRescueNoteVO.java
  64. 173 0
      src/main/java/com/diagbot/vo/str/StrTransferInNoteVO.java
  65. 172 0
      src/main/java/com/diagbot/vo/str/StrTransferOutNoteVO.java
  66. 157 0
      src/main/java/com/diagbot/vo/str/StrWardRecordVO.java
  67. 253 0
      src/main/java/com/diagbot/web/ADataStrController.java
  68. 2 2
      src/main/java/com/diagbot/web/BehospitalInfoController.java
  69. 1 1
      src/main/java/com/diagbot/web/MedLisInfoController.java
  70. 47 0
      src/main/java/com/diagbot/web/MedNurseController.java
  71. 1 1
      src/main/java/com/diagbot/web/MedPacsInfoController.java
  72. 8 0
      src/main/resources/application-dev.yml
  73. 8 0
      src/main/resources/application-local.yml
  74. 8 0
      src/main/resources/application-pre.yml
  75. 8 0
      src/main/resources/application-pro.yml
  76. 8 0
      src/main/resources/application-test.yml
  77. 148 93
      src/main/resources/mapper/BehospitalInfoMapper.xml

+ 25 - 0
doc/028.20201210v1.4.9/qc_initv1.4.9.sql

@@ -0,0 +1,25 @@
+use `qc`;
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+DROP TABLE IF EXISTS `med_nurse`;
+CREATE TABLE `med_nurse` (
+  `rep_no` varchar(255) NOT NULL COMMENT '单号',
+  `hospital_id` int(11) NOT NULL COMMENT '医院ID',
+  `behospital_code` varchar(255) DEFAULT NULL COMMENT '住院病人ID',
+  `measure_time` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '测量时间',
+  `item_name` varchar(255) DEFAULT NULL COMMENT '生命体征名称',
+  `item_value` varchar(255) DEFAULT NULL COMMENT '生命体征数值',
+  `item_unit` varchar(255) DEFAULT NULL COMMENT '生命体征单位',
+  `item_type` varchar(255) DEFAULT NULL COMMENT '生命体征类型',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  KEY `behospital_code` (`behospital_code`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+INSERT INTO `qc_mode`( `name`, `order_no`, `parent_id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `remark`) VALUES ( '护理信息', 259, 37, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', NULL);

+ 24 - 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()
@@ -175,6 +198,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/console/export/medicalCheckInnerExport").permitAll()
                 .antMatchers("/console/badLevelPage").permitAll()
                 .antMatchers("/console/export/badLevelPagePageExport").permitAll()
+                .antMatchers("/qc/medNurse/getMedNursePage").permitAll()
                 .antMatchers("/**").authenticated();
         //                .antMatchers("/**").permitAll();
     }

+ 24 - 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)
@@ -219,6 +242,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/console/export/medicalCheckInnerExport", request)
                 || matchers("/console/badLevelPage", request)
                 || matchers("/console/export/badLevelPagePageExport", request)
+                || matchers("/qc/medNurse/getMedNursePage", request)
                 || matchers("/", request)) {
             return true;
         }

+ 9 - 4
src/main/java/com/diagbot/dto/AnalyzeRunDTO.java

@@ -3,6 +3,7 @@ package com.diagbot.dto;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -14,10 +15,14 @@ import java.util.List;
 @Getter
 @Setter
 public class AnalyzeRunDTO {
-    // //得分
-    // private BigDecimal scoreRes;
-    // //等级
-    // private String level;
+    //得分
+    private BigDecimal scoreRes;
+    //等级
+    private String level;
+    //缺陷总数
+    private Long num;
+    //缺陷总扣分
+    private BigDecimal numScore;
     // 缺陷条目
     private List<MsgDTO> msgDTOList = new ArrayList<>();
 }

+ 29 - 0
src/main/java/com/diagbot/dto/ExportExcelWideBehospitalDTO.java

@@ -0,0 +1,29 @@
+package com.diagbot.dto;
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Getter;
+import lombok.Setter;
+import java.util.Date;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/6/2 19:35
+ */
+@Getter
+@Setter
+public class ExportExcelWideBehospitalDTO {
+    @Excel(name = "主管医生", needMerge = true)
+    private String behDoctorName;
+    @Excel(name = "患者姓名", needMerge = true)
+    private String patName;
+    @Excel(name = "住院号", needMerge = true)
+    private String behospitalCode;
+    @Excel(name = "入院时间", needMerge = true, exportFormat = "yyyy/MM/dd")
+    private Date behospitalDate;
+    @Excel(name = "出院时间", needMerge = true, exportFormat = "yyyy/MM/dd")
+    private Date leaveHospitalDate;
+    @Excel(name = "分数", needMerge = true)
+    private Double score;
+    @Excel(name = "病案首页分数", needMerge = true)
+    private Double scoreBn;
+}

+ 26 - 0
src/main/java/com/diagbot/dto/ExportWideExcelDTO.java

@@ -0,0 +1,26 @@
+package com.diagbot.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/6/2 19:00
+ */
+@Getter
+@Setter
+public class ExportWideExcelDTO {
+    @Excel(name = "科室", needMerge = true)
+    private String behDeptName;
+    @Excel(name = "平均分数", needMerge = true)
+    private Double avgScore;
+    @ExcelCollection(name = "" )
+    private List<ExportExcelWideBehospitalDTO> excelBehospitalDTOS;
+
+
+}

+ 7 - 8
src/main/java/com/diagbot/dto/QcResultApiDTO.java

@@ -18,14 +18,13 @@ public class QcResultApiDTO implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    /**
-     * 等级
-     */
-    private String level;
-
-    /**
-     * 最后得分
-     */
+    //得分
     private BigDecimal scoreRes;
+    //等级
+    private String level;
+    //缺陷总数
+    private Long num;
+    //缺陷总扣分
+    private BigDecimal numScore;
 
 }

+ 1 - 1
src/main/java/com/diagbot/entity/HomePage.java

@@ -89,7 +89,7 @@ public class HomePage implements Serializable {
     private Date birthday;
 
     /**
-     * 年龄
+     * 年龄(拼接年龄单位)
      */
     private String age;
 

+ 1 - 1
src/main/java/com/diagbot/entity/MedNurse.java

@@ -53,7 +53,7 @@ public class MedNurse implements Serializable {
     private String itemUnit;
 
     /**
-     * 生命体征类
+     * 生命体征类
      */
     private String itemType;
 

+ 280 - 46
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -39,20 +39,16 @@ import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -159,6 +155,11 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
     StrWardRecordFacade strWardRecordFacade;
     @Autowired
     MedTransferRecordFacade medTransferRecordFacade;
+    @Autowired
+    MedNurseFacade medNurseFacade;
+    @Autowired
+    SysHospitalSetFacade sysHospitalSetFacade;
+
 
 
     /**
@@ -537,6 +538,13 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
                 .orderByAsc("rec_date")
         );
 //        -------------------------------------文书数据改造结束----------------------------------
+        // 获取护理
+        List<MedNurse> medNurseList = medNurseFacade.list(new QueryWrapper<MedNurse>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_id", hospitalId)
+                .eq("behospital_code", analyzeVO.getBehospitalCode())
+                .orderByAsc("gmt_create")
+        );
 
         // 获取医嘱
         List<DoctorAdvice> doctorAdviceList = doctorAdviceFacade.list(new QueryWrapper<DoctorAdvice>()
@@ -563,9 +571,10 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         List<HomeDiagnoseInfo> homePageList = new ArrayList<>();
         List<HomeOperationInfo> homeOperationInfoList = new ArrayList<>();
         if (homePage != null) {
-            if(StringUtils.isNotEmpty(homePage.getAge())){
+            String ageData = homePage.getAge();
+        try {
+            if(StringUtils.isNotEmpty(homePage.getAge())&&"-".equals(homePage.getAge())==false&&"—".equals(homePage.getAge())==false){
                 //兼容数据库出现 .03岁数据 作后期判断处理
-                String ageData = homePage.getAge();
                 String ageUnitString = homePage.getAgeUnit() == null ? "" : homePage.getAgeUnit();
                 if(homePage.getAge().contains(".")&&"岁".equals(ageUnitString)){
                     String ageString = homePage.getAge().split("\\.")[0];
@@ -599,11 +608,14 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
                     homePage.setNewbornMonth("-");
                     homePage.setNewbornDay("-");
                 }
-                homePage.setAge(ageData+(StringUtils.isEmpty(homePage.getAgeUnit())==true ? "":homePage.getAgeUnit()));
-
             }
+        } catch (Exception e) {
+            System.out.println("年龄解析出错" + e);
+        }
+            homePage.setAge(ageData+(StringUtils.isEmpty(homePage.getAgeUnit())==true ? "":homePage.getAgeUnit()));
             //去掉年龄单位
             homePage.setAgeUnit("");
+
             // 获取首页出院诊断、病理诊断
             homePageList = homeDiagnoseInfoFacade.list(new QueryWrapper<HomeDiagnoseInfo>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -870,7 +882,11 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         addDataWithInnerKey("谈话告知书", recMap, medrecVoList);
 
         //==============文书====================
-
+        //护理
+        if (ListUtil.isNotEmpty(medNurseList)) {
+            addDataWithKeyConvert("护理", medNurseList, medrecVoList,
+                    dicMap.get("23"), Arrays.asList("measureTime"));
+        }
         // 医嘱
         if (ListUtil.isNotEmpty(doctorAdviceList)) {
             addDataWithKeyConvert("医嘱信息", doctorAdviceList, medrecVoList,
@@ -896,10 +912,15 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         }
 
         // 病案首页
-        if (homePage != null) {
+        //义乌数据回来还要处理
+//        if(analyzeVO.getHospitalId()==5 && ListUtil.isNotEmpty(recMap.get("病案首页"))){
+//            addDataWithInnerKey("病案首页", recMap, medrecVoList);
+//        }else {
+            if(homePage != null){
             addDataWithFirstPage("病案首页", homePage, medrecVoList, dicMap,
                     homePageList, homeOperationInfoList);
-        }
+             }
+//        }
 
         queryVo.setMedrec(medrecVoList);
         return queryVo;
@@ -920,7 +941,6 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         analyzeVO.setHospitalId(hospitalId);
 
         // 处理公共数据
-
             QueryVo  queryVo = dealCommonData(hospitalId, analyzeVO);
         queryVo.setUseCrfCache(analyzeVO.isUseCrfCache());
         //  调用质控接口
@@ -1512,23 +1532,115 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
     /**
      * 评分api
      *
-     * @param analyzeApiVO
+     * @param analyzeRunVO
      * @return
      */
-    public Map<String, Object> analyzeApi(AnalyzeApiVO analyzeApiVO) {
+    public Map<String, Object> analyzeApi(AnalyzeRunVO analyzeRunVO) {
+        Map<String, Object> resMapData = new HashMap<>(); // 返回结果
         AnalyzeVO analyzeVO = new AnalyzeVO();
-        BeanUtil.copyProperties(analyzeApiVO, analyzeVO);
-        // 评分
-        analyze(analyzeVO);
-        // 获取结果
-        GetDetailVO getDetailVO = new GetDetailVO();
-        getDetailVO.setHospitalId(analyzeApiVO.getHospitalId());
-        getDetailVO.setBehospitalCode(analyzeApiVO.getBehospitalCode());
-        getDetailVO.setNeedGroup(analyzeApiVO.getNeedGroup());
-        return getByBehospitalCodeApi(getDetailVO);
+        BeanUtil.copyProperties(analyzeRunVO, analyzeVO);
+        Long hospitalId = analyzeVO.getHospitalId();
+        // 获取病历信息
+        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, "该病历不存在或已删除!");
+        }
+        // 处理公共数据
+        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);
+        String reNum = "0";
+        SysHospitalSet sysHospitalSet
+                = sysHospitalSetFacade.getOne(new QueryWrapper<SysHospitalSet>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("hospital_id", analyzeRunVO.getHospitalId())
+                , false);
+        if (null != sysHospitalSet && sysHospitalSet.getValue().equals("1")) {
+            //百分制
+            reNum = "1";
+        }
+        QcResultApiDTO qcResultApiDTO = new QcResultApiDTO();
+        if(StringUtils.isNotEmpty(algorithmDTO.getLevel()) && algorithmDTO.getScore()!=null && msgDTOList != null){
+            if("1".equals(reNum)) {
+                bigDecimal = resPr.subtract(algorithmDTO.getScore());
+            }else if("0".equals(reNum)){
+                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();
+            qcResultApiDTO.setScoreRes(algorithmDTO.getScore());
+            qcResultApiDTO.setLevel(algorithmDTO.getLevel());
+            qcResultApiDTO.setNum(num);
+            qcResultApiDTO.setNumScore(bigDecimal);
+            resMapData.put("result", qcResultApiDTO);
+            List<MsgApiDTO> msgApiDTOList = BeanUtil.listCopyTo(msgDTOList, MsgApiDTO.class);
+            if (analyzeRunVO.getNeedGroup() == 0) {
+                resMapData.put("details", msgApiDTOList);
+            } else {
+                Map<String, List<MsgApiDTO>> msgMap = EntityUtil.makeEntityListMap(msgApiDTOList, "modelName");
+                resMapData.put("details", msgMap);
+            }
+        };
+        return resMapData;
     }
 
 
+
+
     /**
      * 获取明细api
      *
@@ -1614,6 +1726,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
      * @return
      */
     public AnalyzeRunDTO analyzeRun(AnalyzeRunVO analyzeRunVO) {
+        Long modeId = analyzeRunVO.getModeId();
+        analyzeRunVO.setModeId(null);
         AnalyzeVO analyzeVO = new AnalyzeVO();
         BeanUtil.copyProperties(analyzeRunVO, analyzeVO);
         Long hospitalId = analyzeVO.getHospitalId();
@@ -1650,8 +1764,7 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
             AnalyzeCodeVO analyzeCodeVO = new AnalyzeCodeVO();
             analyzeCodeVO.setCodeList(codeList);
             analyzeCodeVO.setHospitalId(hospitalId);
-            analyzeCodeVO.setModeId(analyzeRunVO.getModeId());
-
+            analyzeCodeVO.setModeId(modeId);
             // 获取缺陷条目信息
             msgDTOList = getMsgByEntryCode(analyzeCodeVO);
             // 设置info信息
@@ -1729,9 +1842,43 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         //时间设置
         exportQcresultVOSet(exportQcresultVO);
         List<ExportExcelDTO> res = this.exportQcresult(exportQcresultVO);
+        List<ExportWideExcelDTO> resWide = new ArrayList<ExportWideExcelDTO>();
+        if("2".equals(exportQcresultVO.getRadioCheck())){
+            resWide = transList(res, resWide);
+        }
         String fileName = "抽查住院病历质量情况.xls";
         response.setContentType("text/html;charset=UTF-8");
-        ExcelUtils.exportExcelUser(res, null, "sheet1", ExportExcelDTO.class, fileName, response);
+        if("1".equals(exportQcresultVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(res, null, "sheet1", ExportExcelDTO.class, fileName, response);
+        }
+        if("2".equals(exportQcresultVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(resWide, null, "sheet1", ExportWideExcelDTO.class, fileName, response);
+        }
+    }
+    public List<ExportWideExcelDTO> transList(List<ExportExcelDTO>res, List<ExportWideExcelDTO>resWide){
+        if(ListUtil.isNotEmpty(res)){
+            res.forEach(exportExcelDTO->{
+                ExportWideExcelDTO exportWideExcelDTO = new ExportWideExcelDTO();
+                    exportWideExcelDTO.setAvgScore(exportExcelDTO.getAvgScore());
+                    exportWideExcelDTO.setBehDeptName(exportExcelDTO.getBehDeptName());
+                    List<ExportExcelBehospitalDTO> excelBehospitalDTOS = exportExcelDTO.getExcelBehospitalDTOS();
+                    List<ExportExcelWideBehospitalDTO> exportExcelWideBehospitalDTOs = new ArrayList<>();
+                        excelBehospitalDTOS.forEach(exportExcelBehospitalDTO->{
+                        ExportExcelWideBehospitalDTO exportExcelWideBehospitalDTO = new ExportExcelWideBehospitalDTO();
+                            exportExcelWideBehospitalDTO.setBehDoctorName(exportExcelBehospitalDTO.getBehDoctorName());
+                            exportExcelWideBehospitalDTO.setBehospitalCode(exportExcelBehospitalDTO.getBehospitalCode());
+                            exportExcelWideBehospitalDTO.setBehospitalDate(exportExcelBehospitalDTO.getBehospitalDate());
+                            exportExcelWideBehospitalDTO.setLeaveHospitalDate(exportExcelBehospitalDTO.getLeaveHospitalDate());
+                            exportExcelWideBehospitalDTO.setPatName(exportExcelBehospitalDTO.getPatName());
+                            exportExcelWideBehospitalDTO.setScore(exportExcelBehospitalDTO.getScore());
+                            exportExcelWideBehospitalDTO.setScoreBn(exportExcelBehospitalDTO.getScoreBn());
+                            exportExcelWideBehospitalDTOs.add(exportExcelWideBehospitalDTO);
+                        });
+                           exportWideExcelDTO.setExcelBehospitalDTOS(exportExcelWideBehospitalDTOs);
+                resWide.add(exportWideExcelDTO);
+            });
+        }
+        return resWide;
     }
 
     /**
@@ -1748,9 +1895,18 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         //时间设置
         exportQcresultVOSet(exportQcresultVO);
         List<ExportExcelDTO> res = this.exportQcresultByDept(exportQcresultVO);
+        List<ExportWideExcelDTO> resWide = new ArrayList<ExportWideExcelDTO>();
+        if("2".equals(exportQcresultVO.getRadioCheck())){
+            resWide = transList(res, resWide);
+        }
         String fileName = "抽查住院病历质量情况.xls";
         response.setContentType("text/html;charset=UTF-8");
-        ExcelUtils.exportExcelUser(res, null, "sheet1", ExportExcelDTO.class, fileName, response);
+      if("1".equals(exportQcresultVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(res, null, "sheet1", ExportExcelDTO.class, fileName, response);
+        }
+        if("2".equals(exportQcresultVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(resWide, null, "sheet1", ExportWideExcelDTO.class, fileName, response);
+        }
     }
 
     /**
@@ -1767,24 +1923,43 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         //时间设置
         exportQcresultVOSet(exportQcresultVO);
         List<ExportExcelDTO> res = this.exportQcresultByGroup(exportQcresultVO);
+        List<ExportWideExcelDTO> resWide = new ArrayList<ExportWideExcelDTO>();
+        if("2".equals(exportQcresultVO.getRadioCheck())){
+            resWide = transList(res, resWide);
+        }
         String fileName = "抽查住院病历质量情况.xls";
         response.setContentType("text/html;charset=UTF-8");
-        ExcelUtils.exportExcelUser(res, null, "sheet1", ExportExcelDTO.class, fileName, response);
-    }
+        if("1".equals(exportQcresultVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(res, null, "sheet1", ExportExcelDTO.class, fileName, response);
+        }
+        if("2".equals(exportQcresultVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(resWide, null, "sheet1", ExportWideExcelDTO.class, fileName, response);
+        } }
 
     private void exportQcresultVOSet(ExportQcresultVO exportQcresultVO) {
         //入参验证
-        long interval = 7 * 24 * 60 * 60 * 1000;
+        long interval_7 = 7 * 24 * 60 * 60 * 1000;
+        long interval_90 = 90l * 24 * 60 * 60 * 1000;
         //入院时间
         if (null != exportQcresultVO && null != exportQcresultVO.getBehosDateStart() && null != exportQcresultVO.getBehosDateEnd()) {
             Date startDate = exportQcresultVO.getBehosDateStart();
             Date endDate = exportQcresultVO.getBehosDateEnd();
-            //时间间隔7天
-            if (endDate.getTime() < startDate.getTime()) {
-                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
-            }
-            if (endDate.getTime() - startDate.getTime() > interval) {
-                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+            if("1".equals(exportQcresultVO.getRadioCheck())){
+                //时间间隔7天
+                if (endDate.getTime() < startDate.getTime()) {
+                    throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+                }
+                if (endDate.getTime() - startDate.getTime() > interval_7) {
+                    throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+                }
+            }else{
+                //时间间隔90天
+                if (endDate.getTime() < startDate.getTime()) {
+                    throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+                }
+                if (endDate.getTime() - startDate.getTime() > interval_90) {
+                    throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于90天");
+                }
             }
             exportQcresultVO.setBehosDateStart(DateUtil.getFirstTimeOfDay(exportQcresultVO.getBehosDateStart()));
             exportQcresultVO.setBehosDateEnd(DateUtil.getFirstTimeOfDay(DateUtil.addDay(exportQcresultVO.getBehosDateEnd(), 1)));
@@ -1793,12 +1968,22 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         if (null != exportQcresultVO && null != exportQcresultVO.getLeaveHosDateStart() && null != exportQcresultVO.getLeaveHosDateEnd()) {
             Date startDate = exportQcresultVO.getLeaveHosDateStart();
             Date endDate = exportQcresultVO.getLeaveHosDateEnd();
-            //时间间隔7天
-            if (endDate.getTime() < startDate.getTime()) {
-                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
-            }
-            if (endDate.getTime() - startDate.getTime() > interval) {
-                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+            if("1".equals(exportQcresultVO.getRadioCheck())){
+                //时间间隔7天
+                if (endDate.getTime() < startDate.getTime()) {
+                    throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+                }
+                if (endDate.getTime() - startDate.getTime() > interval_7) {
+                    throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+                }
+            }else{
+                //时间间隔90天
+                if (endDate.getTime() < startDate.getTime()) {
+                    throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+                }
+                if (endDate.getTime() - startDate.getTime() > interval_90) {
+                    throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于90天");
+                }
             }
             exportQcresultVO.setLeaveHosDateStart(DateUtil.getFirstTimeOfDay(exportQcresultVO.getLeaveHosDateStart()));
             exportQcresultVO.setLeaveHosDateEnd(DateUtil.getFirstTimeOfDay(DateUtil.addDay(exportQcresultVO.getLeaveHosDateEnd(), 1)));
@@ -1823,6 +2008,53 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         }
     }
 
+    /**
+     * 计算分值
+     *
+     * @param outputInfo    质控出参数据
+     * @param codeList      质控编码列表
+     * @param codeToInfoMap 质控编码对应的info信息
+     * @param analyzeVO     入参
+     * @return
+     */
+    public Map<String, Object> calScore(OutputInfo outputInfo, List<String> codeList,
+                                               Map<String, String> codeToInfoMap, AnalyzeVO analyzeVO,
+                                               String isPlacefile) {
+        Long hospitalId = analyzeVO.getHospitalId();
+        List<QcResultAlgVO> qcResultAlgVOList = new ArrayList<>();
+        if (ListUtil.isNotEmpty(codeList)) {
+            // 根据质控结果获取质控条目
+            QcResultAlgQueryVO qcResultAlgQueryVO = new QcResultAlgQueryVO();
+            qcResultAlgQueryVO.setCodeList(codeList);
+            qcResultAlgQueryVO.setHospitalId(hospitalId);
+            qcResultAlgQueryVO.setIsPlacefile(isPlacefile);
+            qcResultAlgVOList = qcCasesEntryFacade.getQcResultAlgVO(qcResultAlgQueryVO);
+        }
+
+        // 对info赋值
+        for (QcResultAlgVO bean : qcResultAlgVOList) {
+            String info = codeToInfoMap.get(bean.getCode());
+            if (StringUtil.isNotBlank(info)) {
+                bean.setInfo(info);
+            }
+        }
+
+        // 评分
+        AlgorithmVO algorithmVO = new AlgorithmVO();
+        algorithmVO.setType(0);
+        algorithmVO.setQcResultAlgVOList(qcResultAlgVOList);
+        algorithmVO.setHospitalId(hospitalId);
+        algorithmVO.setBehospitalCode(analyzeVO.getBehospitalCode());
+        algorithmVO.setQcResultAlgVOList(qcResultAlgVOList);
+        algorithmVO.setIsPlacefile(isPlacefile);
+        AlgorithmDTO algorithmDTO = algorithmFacade.getAlgorithmRes(algorithmVO);
+
+        // 返回结果信息
+        Map<String, Object> map = new HashMap<>();
+        map.put("algorithmDTO", algorithmDTO);
+        return map;
+    }
+
 
     /**
      * 计算分值并保存结果至数据库
@@ -1890,6 +2122,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         pageMap.put("检查信息", null);
         // 医嘱信息
         pageMap.put("检验信息", null);
+        // 护理信息
+        pageMap.put("护理信息", null);
         // 知情同意书 = 【知情同意书】 + 【手术知情同意书】
         pageMap.put("知情同意书", recordDTOList);
         pageMap.put("谈话告知书", recordMap.get(54L));

+ 147 - 32
src/main/java/com/diagbot/facade/ConsoleExportFacade.java

@@ -18,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
@@ -261,20 +262,68 @@ public class ConsoleExportFacade {
         Date startDate = qcResultShortPageVO.getStartDate();
         Date endDate = qcResultShortPageVO.getEndDate();
         //时间间隔7天
-        long interval = 7 * 24 * 60 * 60 * 1000;
-        if (endDate.getTime() < startDate.getTime()) {
-            throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
-        }
-        if (endDate.getTime() - startDate.getTime() > interval) {
-            throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+        long interval_7 = 7 * 24 * 60 * 60 * 1000;
+        long interval_90 = 90l * 24 * 60 * 60 * 1000;
+
+        if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            //时间间隔7天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_7) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+            }
+        }else{
+            //时间间隔90天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_90) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于90天");
+            }
         }
 
         qcResultShortPageVO.setCurrent(1L);
         qcResultShortPageVO.setSize(Long.MAX_VALUE);
         qcResultShortPageVO.setSearchCount(false);
         List<ExportExcelDTO> records = behospitalInfoFacade.leaveHosMRPageExport(qcResultShortPageVO);
+        List<ExportWideExcelDTO> resWide = new ArrayList<ExportWideExcelDTO>();
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            resWide = transList(records, resWide);
+        }
         String fileName = "出院人数统计.xls";
-        ExcelUtils.exportExcelUser(records, null, "sheet1", ExportExcelDTO.class, fileName, response);
+          if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(records, null, "sheet1", ExportExcelDTO.class, fileName, response);
+        }
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(resWide, null, "sheet1", ExportWideExcelDTO.class, fileName, response);
+        }
+    }
+
+    public List<ExportWideExcelDTO> transList(List<ExportExcelDTO>res, List<ExportWideExcelDTO>resWide){
+        if(ListUtil.isNotEmpty(res)){
+            res.forEach(exportExcelDTO->{
+                ExportWideExcelDTO exportWideExcelDTO = new ExportWideExcelDTO();
+                exportWideExcelDTO.setAvgScore(exportExcelDTO.getAvgScore());
+                exportWideExcelDTO.setBehDeptName(exportExcelDTO.getBehDeptName());
+                List<ExportExcelBehospitalDTO> excelBehospitalDTOS = exportExcelDTO.getExcelBehospitalDTOS();
+                List<ExportExcelWideBehospitalDTO> exportExcelWideBehospitalDTOs = new ArrayList<>();
+                excelBehospitalDTOS.forEach(exportExcelBehospitalDTO->{
+                    ExportExcelWideBehospitalDTO exportExcelWideBehospitalDTO = new ExportExcelWideBehospitalDTO();
+                    exportExcelWideBehospitalDTO.setBehDoctorName(exportExcelBehospitalDTO.getBehDoctorName());
+                    exportExcelWideBehospitalDTO.setBehospitalCode(exportExcelBehospitalDTO.getBehospitalCode());
+                    exportExcelWideBehospitalDTO.setBehospitalDate(exportExcelBehospitalDTO.getBehospitalDate());
+                    exportExcelWideBehospitalDTO.setLeaveHospitalDate(exportExcelBehospitalDTO.getLeaveHospitalDate());
+                    exportExcelWideBehospitalDTO.setPatName(exportExcelBehospitalDTO.getPatName());
+                    exportExcelWideBehospitalDTO.setScore(exportExcelBehospitalDTO.getScore());
+                    exportExcelWideBehospitalDTO.setScoreBn(exportExcelBehospitalDTO.getScoreBn());
+                    exportExcelWideBehospitalDTOs.add(exportExcelWideBehospitalDTO);
+                });
+                exportWideExcelDTO.setExcelBehospitalDTOS(exportExcelWideBehospitalDTOs);
+                resWide.add(exportWideExcelDTO);
+            });
+        }
+        return resWide;
     }
 
     /**
@@ -337,27 +386,48 @@ public class ConsoleExportFacade {
         Date startDate = qcResultShortPageVO.getStartDate();
         Date endDate = qcResultShortPageVO.getEndDate();
         //时间间隔7天
-        long interval = 90l * 24l * 60l * 60l * 1000l;
-        if (endDate.getTime() < startDate.getTime()) {
-            throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
-        }
-        if (endDate.getTime() - startDate.getTime() > interval) {
-            throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于90天");
+        long interval_7 = 7 * 24 * 60 * 60 * 1000;
+        long interval_90 = 90l * 24 * 60 * 60 * 1000;
+
+        if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            //时间间隔7天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_7) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+            }
+        }else{
+            //时间间隔90天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_90) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于90天");
+            }
         }
 
         qcResultShortPageVO.setCurrent(1L);
         qcResultShortPageVO.setSize(Long.MAX_VALUE);
         qcResultShortPageVO.setSearchCount(false);
         List<ExportExcelDTO> records = behospitalInfoFacade.badLevelPagePageExport(qcResultShortPageVO);
+        List<ExportWideExcelDTO> resWide = new ArrayList<ExportWideExcelDTO>();
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            resWide = transList(records, resWide);
+        }
         String fileName = null;
         if("不合格数".equals(qcResultShortPageVO.getTitleName())){
-             fileName = "病案首页不合格数病历详情页.xls";
+            fileName = "病案首页不合格数病历详情页.xls";
         }else{
-             fileName = "病案首页合格数病历详情页.xls";
+            fileName = "病案首页合格数病历详情页.xls";
         }
-
-        ExcelUtils.exportExcelUser(records, null, "sheet1", ExportExcelDTO.class, fileName, response);
-    }
+        if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(records, null, "sheet1", ExportExcelDTO.class, fileName, response);
+        }
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(resWide, null, "sheet1", ExportWideExcelDTO.class, fileName, response);
+        }
+   }
 
     /**
      * 未整改病历统计导出
@@ -435,20 +505,42 @@ public class ConsoleExportFacade {
         Date startDate = qcResultShortPageVO.getStartDate();
         Date endDate = qcResultShortPageVO.getEndDate();
         //时间间隔7天
-        long interval = 7 * 24 * 60 * 60 * 1000;
-        if (endDate.getTime() < startDate.getTime()) {
-            throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
-        }
-        if (endDate.getTime() - startDate.getTime() > interval) {
-            throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+        long interval_7 = 7 * 24 * 60 * 60 * 1000;
+        long interval_90 = 90l * 24 * 60 * 60 * 1000;
+
+        if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            //时间间隔7天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_7) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+            }
+        }else{
+            //时间间隔90天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_90) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于90天");
+            }
         }
 
         qcResultShortPageVO.setCurrent(1L);
         qcResultShortPageVO.setSize(Long.MAX_VALUE);
         qcResultShortPageVO.setSearchCount(false);
         List<ExportExcelDTO> records = behospitalInfoFacade.hmImproveMRPageExport(qcResultShortPageVO);
+        List<ExportWideExcelDTO> resWide = new ArrayList<ExportWideExcelDTO>();
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            resWide = transList(records, resWide);
+        }
         String fileName = "病案首页改善率评分病历导出.xls";
-        ExcelUtils.exportExcelUser(records, null, "sheet1", ExportExcelDTO.class, fileName, response);
+        if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(records, null, "sheet1", ExportExcelDTO.class, fileName, response);
+        }
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(resWide, null, "sheet1", ExportWideExcelDTO.class, fileName, response);
+        }
     }
 
     /**
@@ -466,20 +558,43 @@ public class ConsoleExportFacade {
         }
         Date startDate = qcResultShortPageVO.getStartDate();
         Date endDate = qcResultShortPageVO.getEndDate();
+
         //时间间隔7天
-        long interval = 7 * 24 * 60 * 60 * 1000;
-        if (endDate.getTime() < startDate.getTime()) {
-            throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
-        }
-        if (endDate.getTime() - startDate.getTime() > interval) {
-            throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+        long interval_7 = 7 * 24 * 60 * 60 * 1000;
+        long interval_90 = 90l * 24 * 60 * 60 * 1000;
+
+        if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            //时间间隔7天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_7) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+            }
+        }else{
+            //时间间隔90天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_90) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于90天");
+            }
         }
 
         qcResultShortPageVO.setCurrent(1L);
         qcResultShortPageVO.setSize(Long.MAX_VALUE);
         qcResultShortPageVO.setSearchCount(false);
         List<ExportExcelDTO> records = behospitalInfoFacade.qcCheckMRPageExport(qcResultShortPageVO);
+        List<ExportWideExcelDTO> resWide = new ArrayList<ExportWideExcelDTO>();
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            resWide = transList(records, resWide);
+        }
         String fileName = "质控核查病历导出.xls";
-        ExcelUtils.exportExcelUser(records, null, "sheet1", ExportExcelDTO.class, fileName, response);
+        if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(records, null, "sheet1", ExportExcelDTO.class, fileName, response);
+        }
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(resWide, null, "sheet1", ExportWideExcelDTO.class, fileName, response);
+        }
     }
 }

+ 45 - 7
src/main/java/com/diagbot/facade/MedNurseFacade.java

@@ -1,18 +1,56 @@
 package com.diagbot.facade;
 
-import com.diagbot.dto.MedLisResultDTO;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.entity.BehospitalInfo;
-import com.diagbot.service.impl.MedLisResultServiceImpl;
+import com.diagbot.entity.MedNurse;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.mapper.MedNurseMapper;
+import com.diagbot.service.impl.MedNurseServiceImpl;
+import com.diagbot.vo.MedNurseInfoVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
-
 /**
  * @Description:
- * @author: zhangzw
- * @time: 2020/4/12 11:39
+ * @author: cy
+ * @time: 2020/9/23 11:39
  */
 @Component
-public class MedNurseFacade extends MedLisResultServiceImpl {
+public class MedNurseFacade extends MedNurseServiceImpl {
+    @Autowired
+    BehospitalInfoFacade behospitalInfoFacade;
+    @Autowired
+    MedNurseMapper medNurseMapper;
+
+    public  IPage<MedNurse> getMedNursePage(MedNurseInfoVO medNurseInfoVO){
+        // 添加住院病历信息
+       BehospitalInfo behospitalInfo = behospitalInfoFacade.getOne(new QueryWrapper<BehospitalInfo>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("behospital_code", medNurseInfoVO.getBehospitalCode())
+               .select("behospital_code","hospital_id","behospital_date","leave_hospital_date")
+        );
+        QueryWrapper<MedNurse> medNurseQueryWrapper = new QueryWrapper<>();
+        medNurseQueryWrapper.eq("behospital_code",medNurseInfoVO.getBehospitalCode());
+        medNurseQueryWrapper .eq("hospital_id",behospitalInfo.getHospitalId());
+        medNurseQueryWrapper .eq("is_deleted", IsDeleteEnum.N.getKey());
+        medNurseQueryWrapper .like("item_name", medNurseInfoVO.getItemName());
+        medNurseQueryWrapper.orderByDesc( "measure_time");
+        //测量时间
+        medNurseQueryWrapper.ge( "measure_time", medNurseInfoVO.getDateStart());
+        medNurseQueryWrapper.le( "measure_time", medNurseInfoVO.getDateEnd());
+        //出入院时间
+        medNurseQueryWrapper.ge( "measure_time", behospitalInfo.getBehospitalDate());
+        if(behospitalInfo.getLeaveHospitalDate() != null){
+            medNurseQueryWrapper.le( "measure_time",behospitalInfo.getLeaveHospitalDate());
+        }
+        Page<MedNurse> pageCase = new Page<MedNurse>(medNurseInfoVO.getCurrent(),medNurseInfoVO.getSize());
+        IPage<MedNurse> medNurseIPage = medNurseMapper.selectPage(pageCase, medNurseQueryWrapper);
+        medNurseIPage.getRecords().forEach(medNurse -> {
+            medNurse.setItemValue(medNurse.getItemValue()+medNurse.getItemUnit());
+        });
+        return medNurseIPage;
 
+    }
 }

+ 6 - 1
src/main/java/com/diagbot/facade/QcresultInfoFacade.java

@@ -137,7 +137,12 @@ public class QcresultInfoFacade extends QcresultInfoServiceImpl {
         //更新质控评分结果信息
         Long useId = 0L;
         if (!isTask) {
-            useId = Long.valueOf(SysUserUtils.getCurrentPrincipleID());
+            try {
+                useId = Long.valueOf(SysUserUtils.getCurrentPrincipleID());
+            } catch (Exception e) {
+            //analyze_run运行质控没有登录认证   所以会获取不到
+                useId = 952795279527L;
+            }
         }
         Date now = DateUtil.now();
         //逻辑删除记录

+ 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());
+        }
+    }
 }

+ 0 - 25
src/main/java/com/diagbot/service/impl/BehospitalInfoServiceImpl.java

@@ -375,31 +375,6 @@ public class BehospitalInfoServiceImpl extends ServiceImpl<BehospitalInfoMapper,
     @Override
     public IPage<QcResultShortDTO> leaveHosMRPage(@Param("qcResultShortPageVO") QcResultShortPageVO qcResultShortPageVO) {
         IPage<QcResultShortDTO> qcResultShortDTOIPage = baseMapper.leaveHosMRPage(qcResultShortPageVO);
-        List<QcResultShortDTO> records = qcResultShortDTOIPage.getRecords();
-        if (CollectionUtils.isEmpty(records)) {
-            return qcResultShortDTOIPage;
-        }
-        String hospitalId = qcResultShortPageVO.getHospitalId();
-        Set<String> behospitalCodes = new HashSet<String>();
-        for (QcResultShortDTO record : records) {
-            if (StringUtils.isEmpty(record.getAge())) {
-                String behospitalCode = record.getBehospitalCode();
-                behospitalCodes.add(behospitalCode);
-            }
-        }
-        //目标数据个数与年龄数据为空个数对比,匹配上说明年龄字段从单独sql查出
-        if (records.size() == behospitalCodes.size()) {
-            List<Map<String, Object>> mapLists = baseMapper.getAge(hospitalId, behospitalCodes);
-            for (Map<String, Object> mapList : mapLists) {
-                for (QcResultShortDTO record : records) {
-                    if (record.getBehospitalCode().equals(mapList.get("behospitalCode"))) {
-                        record.setAge(String.valueOf(mapList.get("age")));
-                    }
-                }
-            }
-        }
-
-
         return qcResultShortDTOIPage;
 
     }

+ 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 {

+ 3 - 2
src/main/java/com/diagbot/vo/AnalyzeRunVO.java

@@ -19,8 +19,9 @@ public class AnalyzeRunVO {
     @NotNull(message = "hospitalId不能为空")
     private Long hospitalId;
     // 模块id
-    @NotNull(message = "modeId不能为空")
     private Long modeId;
     // 归档字段
-    private String isPlacefile = "1";
+    private String isPlacefile = "0";
+    //默认分组
+    private Integer NeedGroup = 1;
 }

+ 3 - 0
src/main/java/com/diagbot/vo/ExportQcresultVO.java

@@ -27,8 +27,11 @@ public class ExportQcresultVO {
     private Date leaveHosDateEnd;
     @ApiModelProperty(hidden = true)
     private String hospitalId;
+    //(1-导出7天[含缺陷明细项]  2-导出90天[不含缺陷明细项] )
+    private String radioCheck = "1";
     @ApiModelProperty(hidden = true)
     private Long userId;
+    private Long deptId;
     /**
      * 主诊断
      */

+ 62 - 0
src/main/java/com/diagbot/vo/MedNurseInfoVO.java

@@ -0,0 +1,62 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import java.util.Date;
+
+/**
+ * @Description:
+ * @author: cy
+ * @time: 2020/9/4 14:59
+ */
+@Getter
+@Setter
+public class MedNurseInfoVO extends Page {
+    /**
+     * 医院id
+     */
+    @ApiModelProperty(hidden = true)
+    private Long hospitalId;
+
+    /**
+     * 病历号
+     */
+    @NotBlank(message = "请输入病历号")
+    private String behospitalCode;
+
+    /**
+     * 体征名称
+     */
+    private String itemName;
+
+    /**
+     * 测量开始时间
+     */
+    private Date dateStart;
+
+    /**
+     * 入院时间
+     */
+    private Date behospitalDate;
+
+    /**
+     * 出院时间
+     */
+    private Date leaveHospitalDate;
+
+    /**
+     * 测量结束时间
+     */
+    private Date dateEnd;
+
+    /**
+     * 是否归档 (0-未归档 1-归档)
+     */
+    private String isPlacefile;
+
+}

+ 4 - 0
src/main/java/com/diagbot/vo/QcResultShortPageVO.java

@@ -32,6 +32,10 @@ public class QcResultShortPageVO extends Page {
      * 条目名称
      */
     private String casesEntryName;
+    /**
+     * (1-导出7天[含缺陷明细项]  2-导出90天[不含缺陷明细项] )
+     */
+    private String radioCheck = "1";
 
     /**
      * 主诊断

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

+ 2 - 2
src/main/java/com/diagbot/web/BehospitalInfoController.java

@@ -122,8 +122,8 @@ public class BehospitalInfoController {
     @SysLogger("analyze_api")
     @Transactional
     //    @ApiIgnore
-    public RespDTO<Map<String, Object>> analyzeApi(@RequestBody AnalyzeApiVO analyzeApiVO) {
-        return RespDTO.onSuc(behospitalInfoFacade.analyzeApi(analyzeApiVO));
+    public RespDTO<Map<String, Object> > analyzeApi(@RequestBody AnalyzeRunVO analyzeRunVO) {
+        return RespDTO.onSuc(behospitalInfoFacade.analyzeApi(analyzeRunVO));
     }
 
 

+ 1 - 1
src/main/java/com/diagbot/web/MedLisInfoController.java

@@ -29,7 +29,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
  */
 
 @RestController
-@RequestMapping("qc/medLisInfo")
+@RequestMapping("/qc/medLisInfo")
 @Api(value = "检验信息API", tags = { "检验信息API" })
 public class MedLisInfoController {
     @Autowired

+ 47 - 0
src/main/java/com/diagbot/web/MedNurseController.java

@@ -0,0 +1,47 @@
+package com.diagbot.web;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.annotation.SysLogger;
+
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.MedNurse;
+import com.diagbot.facade.MedNurseFacade;
+import com.diagbot.vo.MedNurseInfoVO;
+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 javax.validation.Valid;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author cy
+ * @since 2020-12-11
+ */
+@RestController
+@RequestMapping("/qc/medNurse")
+@Api(value = "护理信息API", tags = {"护理信息API"})
+public class MedNurseController {
+    @Autowired
+    private MedNurseFacade medNurseFacade;
+
+    @ApiOperation(value = "护理信息API[by:cy]",
+            notes = "behospitalCode:病人住院序号<br>" +
+                    "itemName:体征名称(模糊搜索)<br>" +
+                    "DateStart:护理时间开始<br>" +
+                    "DateEnd:护理时间结束<br>;")
+    @PostMapping("/getMedNursePage")
+    @SysLogger("getMedNursePage")
+    public RespDTO<IPage<MedNurse>> getMedNursePage(@RequestBody @Valid MedNurseInfoVO medNurseInfoVO) {
+        return RespDTO.onSuc(medNurseFacade.getMedNursePage(medNurseInfoVO));
+    }
+
+}

+ 1 - 1
src/main/java/com/diagbot/web/MedPacsInfoController.java

@@ -27,7 +27,7 @@ import javax.validation.Valid;
  * @since 2020-09-04
  */
 @RestController
-@RequestMapping("qc/medPacsInfo")
+@RequestMapping("/qc/medPacsInfo")
 @Api(value = "检查信息API", tags = {"检查信息API"})
 public class MedPacsInfoController {
     @Autowired

+ 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

@@ -169,3 +169,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

+ 148 - 93
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -41,7 +41,13 @@
 
     <select id="getPage" resultType="com.diagbot.dto.BehospitalInfoDTO">
         SELECT * FROM (
-        select   t.*,
+        select distinct  a.*,
+        ifnull(b.level,'未评分') as `level`,
+        b.grade_type,
+        b.score_res,
+        b.gmt_create as grade_time,
+        CONCAT( ifnull(c.age,'') ,ifnull(c.age_unit,'') )as age,
+        e.score_res as score_bn,
         CASE WHEN ISNULL(g.status) THEN 0 ELSE g.status END check_status,
         CASE WHEN ISNULL(h.status) THEN 0 ELSE h.status END mr_status,
         g.check_type AS ch_type,
@@ -50,9 +56,13 @@
         h.check_name AS mr_name,
         g.check_time AS ch_time,
         h.check_time AS mr_time
-        from (
-        select a.*, ifnull(b.level,'未评分') as `level`, b.grade_type, b.score_res, b.gmt_create as
-        grade_time,IF(c.age is null, null,CONCAT( c.age,IF(c.age_unit is null, "",c.age_unit)))as age,e.score_res as score_bn from med_behospital_info a
+        from med_behospital_info a
+        LEFT JOIN (SELECT * FROM med_check_info WHERE is_deleted = 'N' AND check_type = 0 ) g
+        ON a.behospital_code = g.behospital_code
+        AND a.hospital_id = g.hospital_id
+        LEFT JOIN (SELECT * FROM med_check_info WHERE is_deleted = 'N'AND check_type = 1 ) h
+        ON a.behospital_code = h.behospital_code
+        AND a.hospital_id = h.hospital_id
         LEFT JOIN med_qcresult_info b
         on a.behospital_code = b.behospital_code and b.is_deleted = 'N'
         left join med_home_page c
@@ -61,61 +71,55 @@
         on  a.behospital_code = e.behospital_code
         AND e.is_deleted = 'N'
         and e.cases_id = 243
-        ) t
-        LEFT JOIN (SELECT * FROM med_check_info WHERE is_deleted = 'N' AND check_type = 0 ) g
-        ON t.behospital_code = g.behospital_code
-        AND t.hospital_id = g.hospital_id
-        LEFT JOIN (SELECT * FROM med_check_info WHERE is_deleted = 'N'AND check_type = 1 ) h
-        ON t.behospital_code = h.behospital_code
-        AND t.hospital_id = h.hospital_id
-        where t.is_deleted = 'N'
+        where
+        a.is_deleted = 'N'
         <if test="diagnose != null and diagnose != ''">
-            AND t.diagnose LIKE CONCAT( '%', #{diagnose}, '%' )
+            AND a.diagnose LIKE CONCAT( '%', #{diagnose}, '%' )
         </if>
         <if test="deptName != null and deptName != ''">
-            and t.beh_dept_name LIKE CONCAT( '%', #{deptName}, '%' )
+            and a.beh_dept_name LIKE CONCAT( '%', #{deptName}, '%' )
         </if>
         <if test="doctorName != null and doctorName != ''">
             and CONCAT(
-            IFNULL(t.doctor_name,''),IFNULL(t.beh_doctor_name,''),IFNULL(t.director_doctor_name,''))
+            IFNULL(a.doctor_name,''),IFNULL(a.beh_doctor_name,''),IFNULL(a.director_doctor_name,''))
             like CONCAT('%',#{doctorName},'%')
         </if>
         <if test="name != null and name != ''">
-            and t.name like CONCAT('%',#{name},'%')
+            and a.name like CONCAT('%',#{name},'%')
         </if>
         <if test="doctorCode != null and doctorCode != ''">
-            and (t.doctor_id = #{doctorCode}
-            or t.beh_doctor_id = #{doctorCode}
-            or t.director_doctor_id = #{doctorCode})
+            and (a.doctor_id = #{doctorCode}
+            or a.beh_doctor_id = #{doctorCode}
+            or a.director_doctor_id = #{doctorCode})
         </if>
         <if test="fileCode != null and fileCode != ''">
-            and t.file_code like CONCAT('%',#{fileCode},'%')
+            and a.file_code like CONCAT('%',#{fileCode},'%')
         </if>
         <if test="hospitalId != null">
-            and t.hospital_id = #{hospitalId}
+            and a.hospital_id = #{hospitalId}
         </if>
         <if test="behospitalCode != null and behospitalCode != ''">
-            and t.behospital_code like CONCAT('%',#{behospitalCode},'%')
+            and a.behospital_code like CONCAT('%',#{behospitalCode},'%')
         </if>
         <if test="behosDateStart != null">
-            <![CDATA[ and t.behospital_date >= #{behosDateStart}]]>
+            <![CDATA[ and a.behospital_date >= #{behosDateStart}]]>
         </if>
         <if test="behosDateEnd != null">
-            <![CDATA[ and t.behospital_date < #{behosDateEnd}]]>
+            <![CDATA[ and a.behospital_date < #{behosDateEnd}]]>
         </if>
         <if test="leaveHosDateStart != null">
-            <![CDATA[ and t.leave_hospital_date >= #{leaveHosDateStart}]]>
+            <![CDATA[ and a.leave_hospital_date >= #{leaveHosDateStart}]]>
         </if>
         <if test="leaveHosDateEnd != null">
-            <![CDATA[ and t.leave_hospital_date < #{leaveHosDateEnd}]]>
+            <![CDATA[ and a.leave_hospital_date < #{leaveHosDateEnd}]]>
         </if>
         <if test="level != null and level != ''">
-            and t.level = #{level}
+            and b.level = #{level}
         </if>
         <if test="isPlacefile != null and isPlacefile != ''">
-            and t.is_placefile = #{isPlacefile}
+            and a.is_placefile = #{isPlacefile}
         </if>
-        and t.qc_type_id != 0) p
+        and a.qc_type_id != 0) p
         where p.is_deleted="N"
         <if test="checkStatus != null ">
             and p.check_status = #{checkStatus}
@@ -349,7 +353,7 @@
         b.score_res,
         e.score_res as score_bn,
         b.gmt_create AS grade_time,
-        IF(c.age is null, null,CONCAT( c.age,IF(c.age_unit is null, "",c.age_unit)))as age
+        CONCAT( ifnull(c.age,'') ,ifnull(c.age_unit,'') )as age
         FROM
         med_behospital_info a
         JOIN sys_user_dept d
@@ -468,7 +472,7 @@
         b.score_res,
         e.score_res as score_bn,
         b.gmt_create AS grade_time,
-        IF(c.age is null, null,CONCAT( c.age,IF(c.age_unit is null, "",c.age_unit)))as age
+        CONCAT( ifnull(c.age,'') ,ifnull(c.age_unit,'') )as age
         FROM
         med_behospital_info a
         JOIN
@@ -582,7 +586,7 @@
         h.check_time AS mr_time
         from (
         select a.*, ifnull(b.level,'未评分') as `level`, b.grade_type, b.score_res, b.gmt_create as
-        grade_time,IF(c.age is null, null,CONCAT( c.age,IF(c.age_unit is null, "",c.age_unit)))as age, e.score_res as score_bn from med_behospital_info a
+        grade_time,CONCAT( ifnull(c.age,'') ,ifnull(c.age_unit,'') )as age, e.score_res as score_bn from med_behospital_info a
         LEFT JOIN med_qcresult_info b
         on a.behospital_code = b.behospital_code and b.is_deleted = 'N'
         LEFT JOIN med_qcresult_cases e
@@ -730,8 +734,8 @@
             and a.is_placefile = #{isPlacefile}
         </if>
         AND (
-        ( IFNULL( b.newborn_day, '' ) != '' AND b.newborn_day != '0' AND b.newborn_day != '-' )
-        OR ( IFNULL( b.newborn_month, '' )!= '' AND b.newborn_month != '0' AND b.newborn_month != '-' )
+        ( IFNULL( b.newborn_day, '' ) != '' AND b.newborn_day != '0' AND b.newborn_day != '-' AND b.newborn_day != '—')
+        OR ( IFNULL( b.newborn_month, '' )!= '' AND b.newborn_month != '0' AND b.newborn_month != '-' AND b.newborn_month != '—')
         )
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="hospitalId != null and hospitalId != ''">
@@ -941,8 +945,8 @@
         AND a.behospital_code = b.behospital_code
         AND a.beh_dept_id = c.dept_id
         AND (
-        ( IFNULL( b.newborn_day, '' ) != '' AND b.newborn_day != '0' AND b.newborn_day != '-' )
-        OR ( IFNULL( b.newborn_month, '' )!= '' AND b.newborn_month != '0' AND b.newborn_month != '-' )
+        ( IFNULL( b.newborn_day, '' ) != '' AND b.newborn_day != '0' AND b.newborn_day != '-'AND b.newborn_day != '—' )
+        OR ( IFNULL( b.newborn_month, '' )!= '' AND b.newborn_month != '0' AND b.newborn_month != '-' AND b.newborn_month != '—')
         )
         <if test="isPlacefile != null and isPlacefile != ''">
             and a.is_placefile = #{isPlacefile}
@@ -3248,10 +3252,12 @@
         t1.behospitalDate,
         t1.leaveHospitalDate,
         t1.score,
-        t1.scoreBn,
-        t2.avgScore,
+        <if test="radioCheck !=null and radioCheck == 1">
         t1.msg,
-        t1.caseName
+        t1.caseName,
+        </if>
+        t1.scoreBn,
+        t2.avgScore
         FROM
         (
         SELECT
@@ -3265,8 +3271,10 @@
         a.leave_hospital_date AS leaveHospitalDate,
         b.score_res AS score,
         e.score_res as scoreBn,
+        <if test="radioCheck !=null and radioCheck == 1">
         c.msg AS msg,
         d.NAME AS caseName,
+        </if>
         a.beh_dept_id AS behDeptId,
         a.beh_dept_name AS behDeptName,
         a.hospital_id AS hospitalId
@@ -3278,15 +3286,17 @@
         AND a.is_deleted = 'N'
         AND b.is_deleted = 'N'
         AND a.behospital_code = b.behospital_code
-        LEFT JOIN
-        med_qcresult_detail c
-        ON c.is_deleted = 'N'
-        AND b.behospital_code = c.behospital_code
-        AND b.hospital_id = c.hospital_id
-        LEFT JOIN
-        qc_cases d
-        on d.is_deleted = 'N'
-        AND c.cases_id = d.id
+        <if test="radioCheck !=null and radioCheck == 1">
+            LEFT JOIN
+            med_qcresult_detail c
+            ON c.is_deleted = 'N'
+            AND b.behospital_code = c.behospital_code
+            AND b.hospital_id = c.hospital_id
+            LEFT JOIN
+            qc_cases d
+            on d.is_deleted = 'N'
+            AND c.cases_id = d.id
+        </if>
         LEFT JOIN med_qcresult_cases e
         on  b.behospital_code = e.behospital_code
         and b.hospital_id = e.hospital_id
@@ -3407,8 +3417,11 @@
         t1.behDeptName,
         t1.behDoctorName,
         t1.patName,
-        t1.behospitalCode,
-        t1.caseName)tp
+        <if test="radioCheck !=null and radioCheck == 1">
+        t1.caseName,
+        </if>
+        t1.behospitalCode
+       )tp
         LEFT JOIN (SELECT * FROM med_check_info WHERE is_deleted = 'N' AND check_type = 0 ) g
         ON tp.behospitalCode = g.behospital_code
         AND tp.hospitalId = g.hospital_id
@@ -3466,9 +3479,11 @@
         t1.leaveHospitalDate,
         t1.score,
         t2.avgScore,
-        e.score_res as scoreBn,
+        <if test="radioCheck !=null and radioCheck == 1">
         t1.msg,
-        t1.caseName
+        t1.caseName,
+        </if>
+        e.score_res as scoreBn
         FROM
         (
         SELECT
@@ -3479,8 +3494,10 @@
         a.behospital_date AS behospitalDate,
         a.leave_hospital_date AS leaveHospitalDate,
         b.score_res AS score,
-        c.msg AS msg,
-        d.NAME AS caseName,
+        <if test="radioCheck !=null and radioCheck == 1">
+            c.msg AS msg,
+            d.NAME AS caseName,
+        </if>
         a.beh_dept_id AS behDeptId,
         a.beh_dept_name AS behDeptName,
         a.hospital_id AS hospitalId
@@ -3631,8 +3648,11 @@
         t1.behDeptName,
         t1.behDoctorName,
         t1.patName,
-        t1.behospitalCode,
-        t1.caseName)tp
+        <if test="radioCheck !=null and radioCheck == 1">
+            t1.caseName,
+        </if>
+        t1.behospitalCode
+        )tp
         LEFT JOIN (SELECT * FROM med_check_info WHERE is_deleted = 'N' AND check_type = 0 ) g
         ON tp.behospitalCode = g.behospital_code
         AND tp.hospitalId = g.hospital_id
@@ -3690,9 +3710,11 @@
         t1.leaveHospitalDate,
         t1.score,
         t2.avgScore,
-        e.score_res as scoreBn,
-        t1.msg,
-        t1.caseName
+        <if test="radioCheck !=null and radioCheck == 1">
+            t1.msg,
+            t1.caseName,
+        </if>
+        e.score_res as scoreBn
         FROM
         (
         SELECT
@@ -3702,8 +3724,10 @@
         a.behospital_date AS behospitalDate,
         a.leave_hospital_date AS leaveHospitalDate,
         b.score_res AS score,
-        c.msg AS msg,
-        d.NAME AS caseName,
+        <if test="radioCheck !=null and radioCheck == 1">
+            c.msg AS msg,
+            d.NAME AS caseName,
+        </if>
         a.beh_dept_id AS behDeptId,
         a.beh_dept_name AS behDeptName,
         a.hospital_id AS hospitalId
@@ -3778,7 +3802,7 @@
         </if>
         ) t1 LEFT JOIN med_qcresult_cases e
         on  t1.behospitalCode = e.behospital_code
-        and t1.hospital_id = e.hospital_id
+        and t1.hospitalId = e.hospital_id
         AND e.is_deleted = 'N'
         and e.cases_id = 243,
         (
@@ -3859,8 +3883,11 @@
         t1.behDeptName,
         t1.behDoctorName,
         t1.patName,
-        t1.behospitalCode,
-        t1.caseName)tp
+        <if test="radioCheck !=null and radioCheck == 1">
+            t1.caseName,
+        </if>
+        t1.behospitalCode
+        )tp
         LEFT JOIN (SELECT * FROM med_check_info WHERE is_deleted = 'N' AND check_type = 0 ) g
         ON tp.behospitalCode = g.behospital_code
         AND tp.hospitalId = g.hospital_id
@@ -3924,7 +3951,7 @@
         t1.gmt_create AS gradeTime,
         t1.diagnose,
         t1.ward_name AS wardName,
-        IF(t2.age is null, null,CONCAT( t2.age,IF(t2.age_unit is null, "",t2.age_unit)))as age,
+        CONCAT( ifnull(t2.age,''),ifnull(t2.age_unit,'') )as age,
         t1.file_code AS fileCode,
         t1.checkStatus,
         t1.mrStatus,
@@ -5140,7 +5167,7 @@
     <select id="getAge" resultType="java.util.Map">
         SELECT
         a.behospital_code as behospitalCode,
-        IF(a.age is null, null,CONCAT( a.age,IF(a.age_unit is null, "",a.age_unit)))as age
+        CONCAT( ifnull(a.age,'') ,ifnull(a.age_unit,'') )as age
         FROM
         med_home_page a
         WHERE
@@ -5187,7 +5214,8 @@
         t1.mrName,
         t1.chTime,
         t1.mrTime,
-         t1.file_code AS fileCode
+        CONCAT( ifnull(t2.age,'') ,ifnull(t2.age_unit,'') )as age,
+        t1.file_code AS fileCode
         FROM
         (
         SELECT be.*,
@@ -5322,19 +5350,23 @@
             AND t1.hospital_id = t2.hospital_id
             AND t1.behospital_code = t2.behospital_code
             AND (
-            ( IFNULL( t2.newborn_day, '' ) != '' AND t2.newborn_day != '0' AND t2.newborn_day != '-' )
-            OR ( IFNULL( t2.newborn_month, '' )!= '' AND t2.newborn_month != '0' AND t2.newborn_month != '-' )
+            ( IFNULL( t2.newborn_day, '' ) != '' AND t2.newborn_day != '0' AND t2.newborn_day != '-'AND t2.newborn_day != '—' )
+            OR ( IFNULL( t2.newborn_month, '' )!= '' AND t2.newborn_month != '0' AND t2.newborn_month != '-'AND t2.newborn_month != '—' )
             )
         </if>
         <if test="qcResultShortPageVO.leaveHosType != null and qcResultShortPageVO.leaveHosType ==1">
             , med_medical_record b,
-            med_medical_record_content c
+            med_medical_record_content c,
+            med_home_page t2
             WHERE
             b.is_deleted = 'N'
             and c.is_deleted = 'N'
+            and t2.is_deleted = 'N'
             and t1.hospital_id = b.hospital_id
             and t1.hospital_id = c.hospital_id
+            and t1.hospital_id = t2.hospital_id
             AND t1.behospital_code = b.behospital_code
+            AND t1.behospital_code = t2.behospital_code
             AND b.rec_id = c.rec_id
             and b.mode_id = '24'
         </if>
@@ -5868,8 +5900,10 @@
         f1.score,
         f2.avgScore,
         f1.scoreBn,
+        <if test="qcResultShortPageVO.radioCheck !=null and qcResultShortPageVO.radioCheck == 1">
         f1.msg,
         f1.caseName,
+        </if>
         f1.checkStatus,
         f1.mrStatus,
         f1.chName,
@@ -5885,8 +5919,10 @@
         t.leaveHospitalDate AS leaveHospitalDate,
         qi.score_res AS score,
         t.scoreBn,
+        <if test="qcResultShortPageVO.radioCheck !=null and qcResultShortPageVO.radioCheck == 1">
         qd.msg AS msg,
         qc.NAME AS caseName,
+        </if>
         t.behDeptId,
         t.behDeptName,
         t.hospitalId,
@@ -6093,11 +6129,13 @@
         LEFT JOIN med_qcresult_info qi ON qi.is_deleted = 'N'
         AND t.hospitalId = qi.hospital_id
         AND t.behospitalCode = qi.behospital_code
+        <if test="qcResultShortPageVO.radioCheck !=null and qcResultShortPageVO.radioCheck == 1">
         LEFT JOIN med_qcresult_detail qd ON qd.is_deleted = 'N'
         AND t.hospitalId = qd.hospital_id
         AND t.behospitalCode = qd.behospital_code
         LEFT JOIN qc_cases qc ON qc.is_deleted = 'N'
         AND qd.cases_id = qc.id
+        </if>
         where 1=1
         <if test="qcResultShortPageVO.checkStatus != null">
             and t.checkStatus = #{qcResultShortPageVO.checkStatus}
@@ -6394,7 +6432,6 @@
         t1.gmt_create AS gradeTime,
         t1.diagnose AS diagnose,
         t1.ward_name AS wardName,
-        IF(t2.age is null, null,CONCAT( t2.age,IF(t2.age_unit is null, "",t2.age_unit)))as age,
         t1.file_code AS fileCode,
         t1.checkStatus AS checkStatus,
         t1.mrStatus AS mrStatus,
@@ -7228,7 +7265,7 @@
         t1.gmt_create AS gradeTime,
         t1.diagnose,
         t1.ward_name AS wardName,
-        IF(t2.age is null, null,CONCAT( t2.age,IF(t2.age_unit is null, "",t2.age_unit)))as age,
+        CONCAT( ifnull(t2.age,'') ,ifnull(t2.age_unit,'') )as age,
         t1.file_code AS fileCode,
         t1.checkStatus,
         t1.mrStatus,
@@ -7383,14 +7420,14 @@
         AND d.cases_entry_id = e.id
         AND d.cases_id = 243
         AND a.qc_type_id != 0
-        <if test="qcResultPageVO.titleName != null ">
-            <if test="qcResultPageVO.titleName == '不合格数'">
-                AND c.`level`='不合格'
-            </if>
-            <if test="qcResultPageVO.titleName == '合格数'">
-                AND c.`level`='合格'
-            </if>
-        </if>
+<!--        <if test="qcResultPageVO.titleName != null ">-->
+<!--            <if test="qcResultPageVO.titleName == '不合格数'">-->
+<!--                AND c.`level`='不合格'-->
+<!--            </if>-->
+<!--            <if test="qcResultPageVO.titleName == '合格数'">-->
+<!--                AND c.`level`='合格'-->
+<!--            </if>-->
+<!--        </if>-->
         <if test="qcResultPageVO.isPlacefile != null and qcResultPageVO.isPlacefile != ''">
             and a.is_placefile = #{qcResultPageVO.isPlacefile}
         </if>
@@ -7496,7 +7533,7 @@
         t1.gmt_create AS gradeTime,
         t1.diagnose,
         t1.ward_name AS wardName,
-        IF(t2.age is null, null,CONCAT( t2.age,IF(t2.age_unit is null, "",t2.age_unit)))as age,
+        CONCAT( ifnull(t2.age,'') ,ifnull(t2.age_unit,'') )as age,
         t1.file_code AS fileCode,
         t1.checkStatus,
         t1.mrStatus,
@@ -7680,8 +7717,10 @@
         f1.score,
         f1.scoreBn,
         f2.avgScore,
+        <if test="qcResultShortPageVO.radioCheck !=null and qcResultShortPageVO.radioCheck == 1">
         f1.msg,
         f1.caseName,
+        </if>
         f1.checkStatus,
         f1.mrStatus,
         f1.chName,
@@ -7696,9 +7735,11 @@
         t.behospitalDate AS behospitalDate,
         t.leaveHospitalDate AS leaveHospitalDate,
         qi.score_res AS score,
-        qd.msg AS msg,
         t.scoreBn,
+        <if test="qcResultShortPageVO.radioCheck !=null and qcResultShortPageVO.radioCheck == 1">
+        qd.msg AS msg,
         qc.NAME AS caseName,
+        </if>
         t.behDeptId,
         t.behDeptName,
         t.hospitalId,
@@ -7880,6 +7921,7 @@
         LEFT JOIN med_qcresult_info qi ON qi.is_deleted = 'N'
         AND t.hospitalId = qi.hospital_id
         AND t.behospitalCode = qi.behospital_code
+        <if test="qcResultShortPageVO.radioCheck !=null and qcResultShortPageVO.radioCheck == 1">
         LEFT JOIN med_qcresult_detail qd ON qd.is_deleted = 'N'
         AND t.hospitalId = qd.hospital_id
         AND t.behospitalCode = qd.behospital_code
@@ -7888,6 +7930,7 @@
         LEFT JOIN qc_cases_entry qce ON qce.is_deleted = 'N'
         AND qd.cases_id = qce.cases_id
         AND qd.cases_entry_id = qce.id
+        </if>
         where 1=1
         <if test="qcResultShortPageVO.checkStatus != null">
             AND t.checkStatus = #{qcResultShortPageVO.checkStatus}
@@ -8010,14 +8053,14 @@
         AND c.cases_id = k.cases_id
         AND k.cases_id = d.cases_id
         AND k.cases_entry_id = d.id
-        <if test="qcResultShortPageVO.titleName != null ">
-            <if test="qcResultShortPageVO.titleName == '不合格数'">
-                AND c.`level`='不合格'
-            </if>
-            <if test="qcResultShortPageVO.titleName == '合格数'">
-                AND c.`level`='合格'
-            </if>
-        </if>
+<!--        <if test="qcResultShortPageVO.titleName != null ">-->
+<!--            <if test="qcResultShortPageVO.titleName == '不合格数'">-->
+<!--                AND c.`level`='不合格'-->
+<!--            </if>-->
+<!--            <if test="qcResultShortPageVO.titleName == '合格数'">-->
+<!--                AND c.`level`='合格'-->
+<!--            </if>-->
+<!--        </if>-->
         AND a.qc_type_id != 0
         <if test="qcResultShortPageVO.isPlacefile != null and qcResultShortPageVO.isPlacefile != ''">
             and a.is_placefile = #{qcResultShortPageVO.isPlacefile}
@@ -8975,7 +9018,7 @@
         t1.gmt_create AS gradeTime,
         t1.diagnose,
         t1.ward_name AS wardName,
-        t2.age,
+        CONCAT( ifnull(t2.age,'') ,ifnull(t2.age_unit,'') )as age,
         t1.file_code AS fileCode,
         t1.checkStatus,
         t1.mrStatus,
@@ -9218,7 +9261,7 @@
         t1.gmt_create AS gradeTime,
         t1.diagnose,
         t1.ward_name AS wardName,
-        IF(t2.age is null, null,CONCAT( t2.age,IF(t2.age_unit is null, "",t2.age_unit)))as age,
+        CONCAT( ifnull(t2.age,'') ,ifnull(t2.age_unit,'') )as age,
         t1.file_code AS fileCode,
         t1.checkStatus,
         t1.mrStatus,
@@ -9302,7 +9345,7 @@
             AND a.beh_dept_name LIKE CONCAT( '%', #{qcResultShortPageVO.deptName}, '%' )
         </if>
         <if test="qcResultShortPageVO.level != null and qcResultShortPageVO.level != ''">
-            AND c.`level` = #{qcResultShortPageVO.level}
+            AND b.`level` = #{qcResultShortPageVO.level}
         </if>
         <if test="qcResultShortPageVO.behospitalCode != null and qcResultShortPageVO.behospitalCode != ''">
             AND a.behospital_code LIKE CONCAT( '%', #{qcResultShortPageVO.behospitalCode}, '%' )
@@ -9380,8 +9423,10 @@
         f1.leaveHospitalDate,
         f1.score,
         f2.avgScore,
+        <if test="qcResultShortPageVO.radioCheck !=null and qcResultShortPageVO.radioCheck == 1">
         f1.msg,
         f1.caseName,
+        </if>
         f1.checkStatus,
         f1.mrStatus,
         f1.chName,
@@ -9396,8 +9441,10 @@
         t.behospitalDate AS behospitalDate,
         t.leaveHospitalDate AS leaveHospitalDate,
         qi.score_res AS score,
+        <if test="qcResultShortPageVO.radioCheck !=null and qcResultShortPageVO.radioCheck == 1">
         qd.msg AS msg,
         qc.NAME AS caseName,
+        </if>
         t.behDeptId,
         t.behDeptName,
         t.hospitalId,
@@ -9620,11 +9667,13 @@
         LEFT JOIN med_qcresult_info qi ON qi.is_deleted = 'N'
         AND t.hospitalId = qi.hospital_id
         AND t.behospitalCode = qi.behospital_code
+        <if test="qcResultShortPageVO.radioCheck !=null and qcResultShortPageVO.radioCheck == 1">
         LEFT JOIN med_qcresult_detail qd ON qd.is_deleted = 'N'
         AND t.hospitalId = qd.hospital_id
         AND t.behospitalCode = qd.behospital_code
         LEFT JOIN qc_cases qc ON qc.is_deleted = 'N'
         AND qd.cases_id = qc.id
+        </if>
         where 1=1
         <if test="qcResultShortPageVO.checkStatus != null">
             AND t.checkStatus = #{qcResultShortPageVO.checkStatus}
@@ -9916,8 +9965,10 @@
         f1.score,
         f1.scoreBn,
         f2.avgScore,
+        <if test="qcResultShortPageVO.radioCheck !=null and qcResultShortPageVO.radioCheck == 1">
         f1.msg,
         f1.caseName,
+        </if>
         f1.checkStatus,
         f1.mrStatus,
         f1.chName,
@@ -9933,8 +9984,10 @@
         t.leaveHospitalDate AS leaveHospitalDate,
         qi.score_res AS score,
         t.scoreBn,
+        <if test="qcResultShortPageVO.radioCheck !=null and qcResultShortPageVO.radioCheck == 1">
         qd.msg AS msg,
         qc.NAME AS caseName,
+        </if>
         t.behDeptId,
         t.behDeptName,
         t.hospitalId,
@@ -10096,11 +10149,13 @@
         LEFT JOIN med_qcresult_info qi ON qi.is_deleted = 'N'
         AND t.hospitalId = qi.hospital_id
         AND t.behospitalCode = qi.behospital_code
+        <if test="qcResultShortPageVO.radioCheck !=null and qcResultShortPageVO.radioCheck == 1">
         LEFT JOIN med_qcresult_detail qd ON qd.is_deleted = 'N'
         AND t.hospitalId = qd.hospital_id
         AND t.behospitalCode = qd.behospital_code
         LEFT JOIN qc_cases qc ON qc.is_deleted = 'N'
         AND qd.cases_id = qc.id
+        </if>
         where 1=1
         <if test="qcResultShortPageVO.checkStatus != null">
             AND t.checkStatus = #{qcResultShortPageVO.checkStatus}