ソースを参照

Merge branch 'dev/20220228_v3.0.1通用版_渠道管理第一期' into test

rengb 3 年 前
コミット
69f6ab463f
100 ファイル変更2870 行追加308 行削除
  1. 36 0
      common/src/main/java/com/lantone/common/config/BaseJasyptConfig.java
  2. 69 0
      common/src/main/java/com/lantone/common/util/JasyptUtil.java
  3. 6 0
      common/src/main/java/com/lantone/common/vo/DataCompareVO.java
  4. 32 0
      common/src/main/java/com/lantone/common/vo/DataRepariVO.java
  5. 4 4
      config-center/src/main/resources/shared/daqe-center-debug.yml
  6. 5 5
      config-center/src/main/resources/shared/daqe-center-inner.yml
  7. 4 4
      config-center/src/main/resources/shared/daqe-center-local.yml
  8. 5 5
      config-center/src/main/resources/shared/daqe-center-outer.yml
  9. 5 5
      config-center/src/main/resources/shared/daqe-center-test.yml
  10. 2 2
      config-center/src/main/resources/shared/gateway-service-debug.yml
  11. 2 2
      config-center/src/main/resources/shared/gateway-service-inner.yml
  12. 2 2
      config-center/src/main/resources/shared/gateway-service-local.yml
  13. 2 2
      config-center/src/main/resources/shared/gateway-service-outer.yml
  14. 2 2
      config-center/src/main/resources/shared/gateway-service-test.yml
  15. 4 4
      config-center/src/main/resources/shared/message-service-debug.yml
  16. 7 7
      config-center/src/main/resources/shared/message-service-inner.yml
  17. 4 4
      config-center/src/main/resources/shared/message-service-local.yml
  18. 7 7
      config-center/src/main/resources/shared/message-service-outer.yml
  19. 7 7
      config-center/src/main/resources/shared/message-service-test.yml
  20. 4 4
      config-center/src/main/resources/shared/report-service-debug.yml
  21. 4 4
      config-center/src/main/resources/shared/report-service-inner.yml
  22. 4 4
      config-center/src/main/resources/shared/report-service-local.yml
  23. 4 4
      config-center/src/main/resources/shared/report-service-outer.yml
  24. 4 4
      config-center/src/main/resources/shared/report-service-test.yml
  25. 4 4
      config-center/src/main/resources/shared/security-center-debug.yml
  26. 5 5
      config-center/src/main/resources/shared/security-center-inner.yml
  27. 4 4
      config-center/src/main/resources/shared/security-center-local.yml
  28. 5 5
      config-center/src/main/resources/shared/security-center-outer.yml
  29. 5 5
      config-center/src/main/resources/shared/security-center-test.yml
  30. 2 2
      config-center/src/main/resources/shared/structure-center-debug.yml
  31. 2 2
      config-center/src/main/resources/shared/structure-center-inner.yml
  32. 2 2
      config-center/src/main/resources/shared/structure-center-local.yml
  33. 2 2
      config-center/src/main/resources/shared/structure-center-outer.yml
  34. 2 2
      config-center/src/main/resources/shared/structure-center-test.yml
  35. 14 0
      daqe-center/src/main/java/com/lantone/daqe/config/JasyptConfig.java
  36. 12 12
      daqe-center/src/main/java/com/lantone/daqe/dto/BlockLossTypeGatherDTO.java
  37. 27 0
      daqe-center/src/main/java/com/lantone/daqe/dto/GetColumnDTO.java
  38. 40 0
      daqe-center/src/main/java/com/lantone/daqe/dto/GetConceptLibraryPageDTO.java
  39. 2 2
      daqe-center/src/main/java/com/lantone/daqe/dto/GetRecordTemplateManageDTO.java
  40. 4 0
      daqe-center/src/main/java/com/lantone/daqe/dto/HisMedicalRecordDTO.java
  41. 3 1
      daqe-center/src/main/java/com/lantone/daqe/dto/UpBlockLossByIdVO.java
  42. 8 1
      daqe-center/src/main/java/com/lantone/daqe/entity/BehospitalInfo.java
  43. 6 0
      daqe-center/src/main/java/com/lantone/daqe/entity/BlocklossResult.java
  44. 83 0
      daqe-center/src/main/java/com/lantone/daqe/entity/ConceptLibrary.java
  45. 218 0
      daqe-center/src/main/java/com/lantone/daqe/entity/HisBehospitalInfo.java
  46. 938 0
      daqe-center/src/main/java/com/lantone/daqe/entity/HisHomePage.java
  47. 101 0
      daqe-center/src/main/java/com/lantone/daqe/entity/HisMedicalRecord.java
  48. 87 0
      daqe-center/src/main/java/com/lantone/daqe/entity/HisMedicalRecordContent.java
  49. 8 1
      daqe-center/src/main/java/com/lantone/daqe/entity/HomePage.java
  50. 8 1
      daqe-center/src/main/java/com/lantone/daqe/entity/MedicalRecord.java
  51. 8 1
      daqe-center/src/main/java/com/lantone/daqe/entity/MedicalRecordContent.java
  52. 42 0
      daqe-center/src/main/java/com/lantone/daqe/enums/ConceptLibraryTypeEnum.java
  53. 240 121
      daqe-center/src/main/java/com/lantone/daqe/facade/BlockLossManagementFacade.java
  54. 22 5
      daqe-center/src/main/java/com/lantone/daqe/facade/ColumnResultManagementFacade.java
  55. 33 17
      daqe-center/src/main/java/com/lantone/daqe/facade/ColumnVerifyManagementFacade.java
  56. 50 0
      daqe-center/src/main/java/com/lantone/daqe/facade/CurrencyManagementFacade.java
  57. 2 0
      daqe-center/src/main/java/com/lantone/daqe/facade/DiseaseManagementFacade.java
  58. 2 0
      daqe-center/src/main/java/com/lantone/daqe/facade/DrugManagementFacade.java
  59. 192 0
      daqe-center/src/main/java/com/lantone/daqe/facade/HisDataManagementFacade.java
  60. 1 1
      daqe-center/src/main/java/com/lantone/daqe/facade/OfficialCapacityManagementFacade.java
  61. 2 0
      daqe-center/src/main/java/com/lantone/daqe/facade/OperationManagementFacade.java
  62. 1 1
      daqe-center/src/main/java/com/lantone/daqe/facade/RecordTemplateManagementFacade.java
  63. 8 8
      daqe-center/src/main/java/com/lantone/daqe/facade/RegularManagementFacade.java
  64. 14 0
      daqe-center/src/main/java/com/lantone/daqe/facade/base/ConceptLibraryFacade.java
  65. 1 2
      daqe-center/src/main/java/com/lantone/daqe/facade/base/DrugInfoFacade.java
  66. 14 0
      daqe-center/src/main/java/com/lantone/daqe/facade/base/HisBehospitalInfoFacade.java
  67. 14 0
      daqe-center/src/main/java/com/lantone/daqe/facade/base/HisHomePageFacade.java
  68. 14 0
      daqe-center/src/main/java/com/lantone/daqe/facade/base/HisMedicalRecordContentFacade.java
  69. 14 0
      daqe-center/src/main/java/com/lantone/daqe/facade/base/HisMedicalRecordFacade.java
  70. 3 1
      daqe-center/src/main/java/com/lantone/daqe/facade/base/RegularInfoFacade.java
  71. 4 1
      daqe-center/src/main/java/com/lantone/daqe/mapper/ColumnVerifyMapper.java
  72. 13 0
      daqe-center/src/main/java/com/lantone/daqe/mapper/ConceptLibraryMapper.java
  73. 13 0
      daqe-center/src/main/java/com/lantone/daqe/mapper/HisBehospitalInfoMapper.java
  74. 13 0
      daqe-center/src/main/java/com/lantone/daqe/mapper/HisHomePageMapper.java
  75. 13 0
      daqe-center/src/main/java/com/lantone/daqe/mapper/HisMedicalRecordContentMapper.java
  76. 13 0
      daqe-center/src/main/java/com/lantone/daqe/mapper/HisMedicalRecordMapper.java
  77. 13 0
      daqe-center/src/main/java/com/lantone/daqe/service/ConceptLibraryService.java
  78. 13 0
      daqe-center/src/main/java/com/lantone/daqe/service/HisBehospitalInfoService.java
  79. 13 0
      daqe-center/src/main/java/com/lantone/daqe/service/HisHomePageService.java
  80. 13 0
      daqe-center/src/main/java/com/lantone/daqe/service/HisMedicalRecordContentService.java
  81. 13 0
      daqe-center/src/main/java/com/lantone/daqe/service/HisMedicalRecordService.java
  82. 17 0
      daqe-center/src/main/java/com/lantone/daqe/service/impl/ConceptLibraryServiceImpl.java
  83. 17 0
      daqe-center/src/main/java/com/lantone/daqe/service/impl/HisBehospitalInfoServiceImpl.java
  84. 17 0
      daqe-center/src/main/java/com/lantone/daqe/service/impl/HisHomePageServiceImpl.java
  85. 17 0
      daqe-center/src/main/java/com/lantone/daqe/service/impl/HisMedicalRecordContentServiceImpl.java
  86. 17 0
      daqe-center/src/main/java/com/lantone/daqe/service/impl/HisMedicalRecordServiceImpl.java
  87. 29 0
      daqe-center/src/main/java/com/lantone/daqe/vo/AddColumnVO.java
  88. 3 1
      daqe-center/src/main/java/com/lantone/daqe/vo/AddRegularVO.java
  89. 1 1
      daqe-center/src/main/java/com/lantone/daqe/vo/ColumnInfoVO.java
  90. 3 0
      daqe-center/src/main/java/com/lantone/daqe/vo/DataCheckVO.java
  91. 11 0
      daqe-center/src/main/java/com/lantone/daqe/vo/GetColumnResultNumberVO.java
  92. 36 0
      daqe-center/src/main/java/com/lantone/daqe/vo/GetConceptLibraryPageVO.java
  93. 1 1
      daqe-center/src/main/java/com/lantone/daqe/vo/GetMatchingOperationVO.java
  94. 2 1
      daqe-center/src/main/java/com/lantone/daqe/vo/GetTableColumnInfoVO.java
  95. 10 1
      daqe-center/src/main/java/com/lantone/daqe/web/BlockLossManagementController.java
  96. 8 0
      daqe-center/src/main/java/com/lantone/daqe/web/ColumnVerifyManagementController.java
  97. 35 0
      daqe-center/src/main/java/com/lantone/daqe/web/CurrencyManagmentController.java
  98. 6 6
      daqe-center/src/main/resources/mapper/BlocklossResultMapper.xml
  99. 12 6
      daqe-center/src/main/resources/mapper/ColumnResultMapper.xml
  100. 0 0
      daqe-center/src/main/resources/mapper/ColumnVerifyMapper.xml

+ 36 - 0
common/src/main/java/com/lantone/common/config/BaseJasyptConfig.java

@@ -0,0 +1,36 @@
+package com.lantone.common.config;
+
+import com.lantone.common.util.StringUtil;
+import org.jasypt.encryption.StringEncryptor;
+import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
+import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+
+/**
+ * @Description: Jasypt基础配置
+ * @author: rengb
+ * @time: 2021/1/5 18:27
+ */
+public class BaseJasyptConfig {
+
+    @Value("${jasypt.encryptor.password:#{null}}")
+    private String password;
+
+    @Bean("jasyptStringEncryptor")
+    public StringEncryptor stringEncryptor() {
+        PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
+        SimpleStringPBEConfig config = new SimpleStringPBEConfig();
+        config.setPassword(StringUtil.isBlank(password) ? "jasypt" : password);
+        config.setAlgorithm("PBEWITHHMACSHA512ANDAES_256");
+        config.setKeyObtentionIterations("1000");
+        config.setPoolSize("1");
+        config.setProviderName("SunJCE");
+        config.setIvGeneratorClassName("org.jasypt.iv.RandomIvGenerator");
+        config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
+        config.setStringOutputType("base64");
+        encryptor.setConfig(config);
+        return encryptor;
+    }
+
+}

+ 69 - 0
common/src/main/java/com/lantone/common/util/JasyptUtil.java

@@ -0,0 +1,69 @@
+package com.lantone.common.util;
+
+import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
+import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
+
+/**
+ * @Description: Jasypt安全框架加解密工具
+ * @author: rengb
+ * @time: 2022/3/21 15:26
+ */
+public class JasyptUtil {
+
+    /**
+     * 解密
+     *
+     * @param password 配置文件中设定的加密密码 jasypt.encryptor.password
+     * @param value    待解密密文
+     * @return
+     */
+    public static String decyptPwd(String password, String value) {
+        PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
+        encryptor.setConfig(cryptor(password));
+        String result = encryptor.decrypt(value);
+        return result;
+    }
+
+    /**
+     * 加密
+     *
+     * @param password 配置文件中设定的加密密码 jasypt.encryptor.password
+     * @param value    待加密值
+     * @return
+     */
+    public static String encyptPwd(String password, String value) {
+        PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
+        encryptor.setConfig(cryptor(password));
+        String result = encryptor.encrypt(value);
+        return result;
+    }
+
+    /**
+     * 生成通用配置
+     *
+     * @param password 配置文件中设定的加密密码 jasypt.encryptor.password
+     * @return
+     */
+    public static SimpleStringPBEConfig cryptor(String password) {
+        SimpleStringPBEConfig config = new SimpleStringPBEConfig();
+        config.setPassword(password);
+        config.setAlgorithm("PBEWITHHMACSHA512ANDAES_256");
+        config.setKeyObtentionIterations("1000");
+        config.setPoolSize("1");
+        config.setProviderName("SunJCE");
+        config.setIvGeneratorClassName("org.jasypt.iv.RandomIvGenerator");
+        config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
+        config.setStringOutputType("base64");
+        return config;
+    }
+
+    public static void main(String[] args) {
+        // 加密
+        String encPwd = encyptPwd("jasypt", "lantone");
+        // 解密
+        String decPwd = decyptPwd("jasypt", encPwd);
+        System.out.println(encPwd);
+        System.out.println(decPwd);
+    }
+
+}

+ 6 - 0
common/src/main/java/com/lantone/common/vo/DataCompareVO.java

@@ -7,6 +7,7 @@ import lombok.Setter;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @Description: 数据对比-接口入参
@@ -19,6 +20,8 @@ import java.util.Date;
 public class DataCompareVO implements Serializable {
 
     private static final long serialVersionUID = 4949654901048650724L;
+    @ApiModelProperty(value = "医院id", hidden = true)
+    private Long hospitalId;
 
     @ApiModelProperty(value = "开始日期")
     private Date startDate;
@@ -32,4 +35,7 @@ public class DataCompareVO implements Serializable {
     @ApiModelProperty(value = "操作url", hidden = true)
     private String operationUrl;
 
+    @ApiModelProperty(value = "病历号集合", hidden = true)
+    private List<String> behospitalCodes;
+
 }

+ 32 - 0
common/src/main/java/com/lantone/common/vo/DataRepariVO.java

@@ -0,0 +1,32 @@
+package com.lantone.common.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 数据补录-接口入参
+ * @author: songxl
+ * @time: 2022/2/28 11:15
+ */
+@ApiModel(value = "数据补录-接口入参")
+@Getter
+@Setter
+public class DataRepariVO implements Serializable {
+
+    private static final long serialVersionUID = 8436111449081669803L;
+
+    @ApiModelProperty(value = "开始日期")
+    private Date startDate;
+
+    @ApiModelProperty(value = "截止日期")
+    private Date endDate;
+
+    @ApiModelProperty(value = "住院序号")
+    private String behospitalCode;
+
+}

+ 4 - 4
config-center/src/main/resources/shared/daqe-center-debug.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(3G5NNq4jd+XnD/waOrs9rW50Hv9YPX7OisChDzM4xSveyLFYb6sn2cYVdN3XogyU) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
       url: jdbc:mysql://192.168.2.237:3306/daqe?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: lantone
+      username: ENC(j00VNE8vjb8dg6WJJpmAapN0DyT/TO3qdiQoloOrDWmJdei2DnWylArt/g2QiwZo)
+      password: ENC(RZz4slfEuQ7z1tjMo1uEyKcIa0wtq9pNEIxFXWbd/LeCXia3r3xF08VvzpEdLnwr)
 
 swagger.show: true

+ 5 - 5
config-center/src/main/resources/shared/daqe-center-inner.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(EOofvJuXt/500cwSLlbFucB1PjSIG4wOvchduGRpZ6JSjHoQVInGrlyECXhqDjRo) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
-      url: jdbc:mysql://192.168.2.237:3306/daqe?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: lantone
+      url: jdbc:mysql://192.168.2.125:3306/daqe?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      username: ENC(Az6Fp+AgkR0iiHP2l5HjH8UKmud+5w3bxv096AGiHVWgJxn4KnrgjgK4esoPwmxd)
+      password: ENC(iLkrdRLPM/5Y+1gAWdniZx/rDVbJILF7x3M8VuQ20219/p3Mck7hwfe7M8OntVTkDxqwpa4hLm8Q4n0qD5Lsog==)
 
 swagger.show: false

+ 4 - 4
config-center/src/main/resources/shared/daqe-center-local.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(LfJiGcjvB77hgiTZHrBzI4ccwrZ9jjrjmk9jLKLKOf8iOEeeTfzHOKyAkQrMIE0c) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
       url: jdbc:mysql://192.168.2.237:3306/daqe?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: lantone
+      username: ENC(Y/ndna0Me4aL99A1+VtbuiZmj0+0jxqa7DCP0jOQo+Yc+r+igFT7oayrwj/vw4fy)
+      password: ENC(WD7m3iIAAPiHt8PTCG6Wqng/CY7MX16+hhrygtMFg10k81tiyTdBsRxKazg/dqsw)
 
 swagger.show: true

+ 5 - 5
config-center/src/main/resources/shared/daqe-center-outer.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(4bAJxtxr2aFwEeYbouOhYk0b+NtDIrP35XWAhUxXZlllv82/1MiyhOEM56hhmhdV) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
-      url: jdbc:mysql://192.168.2.237:3306/daqe?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: lantone
+      url: jdbc:mysql://192.168.2.129:3306/daqe?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      username: ENC(W8OCGadBpumA0shuwzaPU6kcjdXhajivb0+wKjZowCid7YVvsxi7s436hcThGn9q)
+      password: ENC(K3iC2nMnARmKclU/50vfBLs2oJC/MlfqRgo/qXO+6eOxQnDKdm1hDCHwveo3ZRUGXlA5v219748Dw7EZKn/siA==)
 
 swagger.show: false

+ 5 - 5
config-center/src/main/resources/shared/daqe-center-test.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(2mpOAdlOoqAWPpaZYwK50FVqS12jjdxj7m/SdtbqlNIexoWEb4ReBk3IXKx2MhI2) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
-      url: jdbc:mysql://192.168.2.237:3306/daqe?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: lantone
+      url: jdbc:mysql://192.168.2.126:3306/daqe?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      username: ENC(jcBffg13qhhFZr8OQ6uFu7eLvtxNq5uwQqLLO6jyGdSUEFw0IO1Waesrz3DhqVMx)
+      password: ENC(TCiDVOvl/3KAZhVKEA/4+bVwgq2pcLx9VFf7zzDKJVvNpOkWX4Gm1nSw0bPcOycj)
 
 swagger.show: true

+ 2 - 2
config-center/src/main/resources/shared/gateway-service-debug.yml

@@ -2,7 +2,7 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(+3QNcQazEQDeidXgbssRGSXb5N0vb96HsByTC+zUmjPnzlOuoZgd3BGLS27E3/wG) # Redis服务器连接密码(默认为空)
 
 swagger.show: true

+ 2 - 2
config-center/src/main/resources/shared/gateway-service-inner.yml

@@ -2,7 +2,7 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(AZv6G8i84pAmUPbUP5CDDlO5vvX/1WbqZTERx/ecIW3CXFP0cCSRPv4MDOJxEvln) # Redis服务器连接密码(默认为空)
 
 swagger.show: false

+ 2 - 2
config-center/src/main/resources/shared/gateway-service-local.yml

@@ -2,7 +2,7 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(Ibu5vcLTqqaMwPgTtf/H2jeYwTmidL+Yk0CtNVBsQ3Alh/uVx1NpRrjjXfAFavy1) # Redis服务器连接密码(默认为空)
 
 swagger.show: true

+ 2 - 2
config-center/src/main/resources/shared/gateway-service-outer.yml

@@ -2,7 +2,7 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(JgDWqutkg2e8RZ77yIH5fUiQJ7sA5bROP8kOwutqt4+tHFRYrI5DH7899cyuZIIM) # Redis服务器连接密码(默认为空)
 
 swagger.show: false

+ 2 - 2
config-center/src/main/resources/shared/gateway-service-test.yml

@@ -2,7 +2,7 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(YMitYYfJ8WlrvbtKPNdEtyVqP7tPcbfegllqF2mnGtDJiq0pRZRoVpoa78dUfzyU) # Redis服务器连接密码(默认为空)
 
 swagger.show: true

+ 4 - 4
config-center/src/main/resources/shared/message-service-debug.yml

@@ -2,13 +2,13 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(yRoG5bY7HWMt5GedSBemK4+2crMSBLCGYGYvbYpMJvIqEKOzPbAR/BfOWG0RS+w8) # Redis服务器连接密码(默认为空)
   rabbitmq:
     host: 192.168.2.237
     port: 5672
-    username: emrais
-    password: emrais
+    username: ENC(9gQ7zU0IG+yknvcwxcWHO6l8TvUxODcoWNF6LnrlMIXcUitDl2MIy2uIUsg53LdA)
+    password: ENC(rW44uZL01M3njrwpyyvk5SnArnsGQZJmeovqjqaSg9RFznlsmu4T4eJZrYqs2yk9)
     virtual-host: /emrais # 虚拟host
 
 rabbitmq:

+ 7 - 7
config-center/src/main/resources/shared/message-service-inner.yml

@@ -2,19 +2,19 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(ZCCHM3HGeXELR9l6wD+Jb/WIypXUxULUZU9wausUahQsMLt/RcdLua1UXa7n+e5f) # Redis服务器连接密码(默认为空)
   rabbitmq:
-    host: 192.168.2.237
+    host: 192.168.2.125
     port: 5672
-    username: emrais
-    password: emrais
+    username: ENC(79XvRlB4BgWhhrbB0FPblnn+Rl7xOwJiX6YZkFeizY07L9BmR03dhd890MaO2BT/)
+    password: ENC(mBaNx+5I9mQf8tmAtKDIpiJ2lAc4hp6QHKDj+uNgeOH3YXhyCbqAqHCAvsqoBpo1)
     virtual-host: /emrais # 虚拟host
 
 rabbitmq:
   mqtt:
-    url: tcp://192.168.2.237:1883
-    front-url: ws://192.168.2.237:15675/ws
+    url: tcp://192.168.2.125:1883
+    front-url: ws://192.168.2.125:15675/ws
     defaultTopic: defaultSampleTopic
 
 swagger.show: false

+ 4 - 4
config-center/src/main/resources/shared/message-service-local.yml

@@ -2,13 +2,13 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(Uwufo1Fak0Cs5UZgNUpufficR3HUUYGc86SPyUW0CrLn3n2thMuFgzukUx95iBJU) # Redis服务器连接密码(默认为空)
   rabbitmq:
     host: 192.168.2.237
     port: 5672
-    username: emrais
-    password: emrais
+    username: ENC(c4T35OSMySYtaMnLIQznBeUKzcMmqi8khmE5RysqzYzIuLwWIg8mjQxhBlRQCZ0M)
+    password: ENC(uvbSuKGBONevV0hJzvoQVLLAMGlGTczbyLMGRcrFCl6+uY00Ds/rLKkgJfpv4qV0)
     virtual-host: /emrais # 虚拟host
 
 rabbitmq:

+ 7 - 7
config-center/src/main/resources/shared/message-service-outer.yml

@@ -2,19 +2,19 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(VhzXO4Ad7v5tUT5ZFLvbx3Eh+Qk9/p92oKIEgzWHw+AxM4ES2gS5NIojEo3dmZLB) # Redis服务器连接密码(默认为空)
   rabbitmq:
-    host: 192.168.2.237
+    host: 192.168.2.129
     port: 5672
-    username: emrais
-    password: emrais
+    username: ENC(nzwGIstiOQaf1mhjlsVnoRmLH95DUOhzHBOyHS3Rz/4hxJ6ewFyBzqa4M2koAy71)
+    password: ENC(LWxtG8CPNjjW5R1HooBHjbZZVpT2HoPhnS3s1C6UHn5vRZ0cKtxniWmkX7TIcgdxJanQJ6XQKVunPMMbT8W+2Q==)
     virtual-host: /emrais # 虚拟host
 
 rabbitmq:
   mqtt:
-    url: tcp://192.168.2.237:1883
-    front-url: ws://192.168.2.237:15675/ws
+    url: tcp://192.168.2.129:1883
+    front-url: ws://192.168.2.129:15675/ws
     defaultTopic: defaultSampleTopic
 
 swagger.show: false

+ 7 - 7
config-center/src/main/resources/shared/message-service-test.yml

@@ -2,19 +2,19 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(ZXXJ4nNpwUD3iyn9rmb9bhQlUeoWDMZ02Fj7fWV2AprPLTR1uT7NwyybBZl3go3Z) # Redis服务器连接密码(默认为空)
   rabbitmq:
-    host: 192.168.2.237
+    host: 192.168.2.126
     port: 5672
-    username: emrais
-    password: emrais
+    username: ENC(w8kdx+MILgTw77/jqTfwJv68oXowOfbnC2hiaj7M1IrR8xdsDImmJAFwlG+bcjZS)
+    password: ENC(gYwMH/4WB7fVbB2k7MOTpkgT3pV6yE12XByjmHYgxgd6k91wtOH8XBXjUxC4hPBAAGJTyLXLs3edHuH945t7Yw==)
     virtual-host: /emrais # 虚拟host
 
 rabbitmq:
   mqtt:
-    url: tcp://192.168.2.237:1883
-    front-url: ws://192.168.2.237:15675/ws
+    url: tcp://192.168.2.126:1883
+    front-url: ws://192.168.2.126:15675/ws
     defaultTopic: defaultSampleTopic
 
 swagger.show: true

+ 4 - 4
config-center/src/main/resources/shared/report-service-debug.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(Pfc4r7aTbxCpd0XAVZEpsoOTfvKlR+h3lK2RDwFntoeKt7RNo98hT8G2vznKCdg6) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
       url: jdbc:mysql://192.168.2.237:3307/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: lantone
+      username: ENC(iJ6mLZ4QEwAg5NNzgTw317tGlGqz1+UfKqrPKqopWih7bXrgsnknynFfDShkaVYv)
+      password: ENC(IlFDlxVjx+PfV2mYzBulkz5LfkiV54Syvzq/bky7Ij9+G5cZySPe2cFOHqKAdp2n)
 
 swagger.show: true

+ 4 - 4
config-center/src/main/resources/shared/report-service-inner.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(YBV01kMHu6ufwSegbHcfaoQ20bbW1ho67SHAnKMsJX6K9O0ZXaF+/wHYlLOQjxqN) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
       url: jdbc:mysql://192.168.2.125:3307/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: LangT0ng@lt
+      username: ENC(YJB0kpEK7yuHA9BxwPYNQVcmlRcRjMqXfyHsr64UplJ0zpGooSdbBsQNd0L/c3lk)
+      password: ENC(Lse35eqXdyY9JtY6o+FTzlOdQcQE5gyt4YioxE3i75yamWM5sdF+NTpnGlxIoVtT)
 
 swagger.show: false

+ 4 - 4
config-center/src/main/resources/shared/report-service-local.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(j/i26SYVLx6wfhf3GQZHVSXezzyyl41W7wChMG+FIgzZzlk+BYi1yDXe36zwoVLZ) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
       url: jdbc:mysql://192.168.2.237:3307/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: lantone
+      username: ENC(gvpQNZ97vaoD8tZkfegBuE7tp/yavyYV7XrkTHNkQJrO2qTILluezSU3e47hKLzx)
+      password: ENC(byBymj6qCH+dViJJ5EM2Aca/k5HazyPMjaswD8aioi67JY+43dVkQH6a5tn7FC99)
 
 swagger.show: true

+ 4 - 4
config-center/src/main/resources/shared/report-service-outer.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(mesC4twLS8qQ9BiZBnXO8+IniAF+ljJQBJHCI63Tb8ZJgrwJxZc4VTm6x4ed91hh) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
       url: jdbc:mysql://192.168.2.129:3307/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: LangT0ng@122lt
+      username: ENC(rMQ76oaGbiSXvkV11yOmhTGLsZpg7eQAg0DDEBlMlP77A88W2OmAWRM99EDJOKEM)
+      password: ENC(tZuUlohI/e4NkaWnB08PaUSmovn+IRfhC70A4oMuJDFJm1FJyzXycl0mBVtNEEpr)
 
 swagger.show: false

+ 4 - 4
config-center/src/main/resources/shared/report-service-test.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(4ueOtw8DSAJ5BcYg0kVIMwuhRhklV+vFjWFX3iLD9XDSVqw1ysb8w2ari1ch5Ro7) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
       url: jdbc:mysql://192.168.2.126:3307/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: Lat0ne@tesT
+      username: ENC(yh8BEagmXKGqJydg/j7ckKECbKNUczR8hDQ98xhh+vIgR83qg0HNqfDFtKZO2WW9)
+      password: ENC(BTLHRtCI4JhXSxbABxoyy3MiGJ4+0nffLdL9Mnq0M9xnJgonqJkopXhoQ7uaAcCu)
 
 swagger.show: true

+ 4 - 4
config-center/src/main/resources/shared/security-center-debug.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(9gkJqEGZe2OrdEOZ0JrG5f4laCUvZJj5EAgRrTeUJVa2DLFcPwuPxuDAhuwa5hau) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
       url: jdbc:mysql://192.168.2.237:3306/emrais?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: lantone
+      username: ENC(Y5/U4Vq7FFBTpnxMgTR+9JdVkGpO3jTgWDv3MlfQpvkIa7fc3SCXdWzn/13hiamc)
+      password: ENC(GdcFB7Ju+WOMZ78t+cdzT2qRmcsMv3OzDQnSBa0FzXwLtz2MQ8CHAC5WXefomwSD)
 
 swagger.show: true

+ 5 - 5
config-center/src/main/resources/shared/security-center-inner.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(FiJszzg2JxkBA1oS2QqF83D4rmBPHVbogAsrY8Hd4rRrijVPmjvdnvT/yG9ioq93) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
-      url: jdbc:mysql://192.168.2.237:3306/emrais?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: lantone
+      url: jdbc:mysql://192.168.2.125:3306/emrais?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      username: ENC(mOhdbcO/tq5rpmVioHRTrLYtSBKhNE1vxlHaTMF+ffWkxvoC0aHww91Dwe8oSeKh)
+      password: ENC(j48SjDCv+7iYIsByq6hz5cNMWDWK4DR5nhbXUO5p8egqNe+5lXJb8XQ9AFbaOOcEjM6HR4ae/ko+YsAJz6EMfw==)
 
 swagger.show: false

+ 4 - 4
config-center/src/main/resources/shared/security-center-local.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(9elxU0rUdCuxKTMqrVZlSWTARWNOimFfEzCrCJY5sO0+0+Dcmqd75rVzZBRSOEut) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
       url: jdbc:mysql://192.168.2.237:3306/emrais?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: lantone
+      username: ENC(4uo3ZjSEkn5SX+w2fJLQ+9hc9dXcUhFIh3F0ElAuDr6pgcZVS04ENIHMitnYUcwE)
+      password: ENC(X+6h5MH2c7X/18c9QPC+ctNwRwlv66I5OBeiyVpKCO8my7jhTgj87kyNLD6uLtmf)
 
 swagger.show: true

+ 5 - 5
config-center/src/main/resources/shared/security-center-outer.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(FR9/7gi6MjTqZndGV3JbgMYa9tW7ffos3/wfuZQP2CC+Yk5elYS5pKQ7SDUVPbsD) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
-      url: jdbc:mysql://192.168.2.237:3306/emrais?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: lantone
+      url: jdbc:mysql://192.168.2.129:3306/emrais?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      username: ENC(Qs3DXZnOP4vT0wUJ/hvYF64wT8Gn8JaRbDQjwWlEpSP8X2OuxfilxJDPwiZmLeLp)
+      password: ENC(Kzq13ofPtHZfkXvC5A28C8+7+/BgOOli0T+DW5j9d9ed22x3qqGYc1gqjJf5Ewd93/QcmymCjhhVIVTxt4pDTA==)
 
 swagger.show: false

+ 5 - 5
config-center/src/main/resources/shared/security-center-test.yml

@@ -2,12 +2,12 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(yPq+iIBDk/h2N+AP1xdicK45btGXdKDHoV3niq2xxW5/lrUkR2+uVbjukWHdnDVS) # Redis服务器连接密码(默认为空)
   datasource:
     druid:
-      url: jdbc:mysql://192.168.2.237:3306/emrais?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
-      username: root
-      password: lantone
+      url: jdbc:mysql://192.168.2.126:3306/emrais?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      username: ENC(xNnlWjS3J+pLkO7q8GWVfG88sCKaDyuw3XuAP32f3ZUbM2AxF62yEDNWx65dhBlg)
+      password: ENC(ThDAoitAtd2K1ehZCLEdbxCZvLuvHNjw2o8+1fgg6TJjOcupdijwcJt4V+zQ+Tei)
 
 swagger.show: true

+ 2 - 2
config-center/src/main/resources/shared/structure-center-debug.yml

@@ -2,8 +2,8 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(LgNsL+qixdWlBQyO6i4a6cJZGyW14J3eF7WeiqtQi6kSFZzCN6sHAg0uWQRsU3BC) # Redis服务器连接密码(默认为空)
 
 swagger.show: true
 

+ 2 - 2
config-center/src/main/resources/shared/structure-center-inner.yml

@@ -2,8 +2,8 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(ROTGjn5VhZWfOiWGjLkMk0J+5b5IZkCWU3GW0yq4XCK+yT7cw8geJZ9asofRiYg2) # Redis服务器连接密码(默认为空)
 
 swagger.show: false
 

+ 2 - 2
config-center/src/main/resources/shared/structure-center-local.yml

@@ -2,8 +2,8 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(7CunTnFrG8V3TstUO8EGQhSJ1Z+9fM3VaugXm2B9JxkYI4TPmoDcYbH3AzbLIp3+) # Redis服务器连接密码(默认为空)
 
 swagger.show: true
 

+ 2 - 2
config-center/src/main/resources/shared/structure-center-outer.yml

@@ -2,8 +2,8 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(NRv47uLh9uZVkRFjghaHV307gL8OoPXvnTrgV6yMMR4oGsB5RR7Kh8+BtiK92jez) # Redis服务器连接密码(默认为空)
 
 swagger.show: false
 

+ 2 - 2
config-center/src/main/resources/shared/structure-center-test.yml

@@ -2,8 +2,8 @@ spring:
   redis:
     database: 12
     host: 192.168.2.237 # Redis服务器地址
-    port: 63791 # Redis服务器连接端口
-    password: emrais # Redis服务器连接密码(默认为空)
+    port: 6351 # Redis服务器连接端口
+    password: ENC(E2F32Sm/6nE/Kk8z2FKXOM5xVcihg2a+/y135r+XO2uHtWnfq/8sSIBiPiorARh5) # Redis服务器连接密码(默认为空)
 
 swagger.show: true
 

+ 14 - 0
daqe-center/src/main/java/com/lantone/daqe/config/JasyptConfig.java

@@ -0,0 +1,14 @@
+package com.lantone.daqe.config;
+
+import com.lantone.common.config.BaseJasyptConfig;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @Description: Jasypt相关配置
+ * @author: rengb
+ * @time: 2021/7/21 11:15
+ */
+@Configuration
+public class JasyptConfig extends BaseJasyptConfig {
+
+}

+ 12 - 12
daqe-center/src/main/java/com/lantone/daqe/dto/BlockLossTypeGatherDTO.java

@@ -20,29 +20,29 @@ public class BlockLossTypeGatherDTO implements Serializable {
 
     private static final long serialVersionUID = -4656915107891039438L;
     @ApiModelProperty(value = "HIS数量")
-    private Integer hisNum;
+    private Integer hisNum = 0;
     @ApiModelProperty(value = "接口日志数量")
-    private Integer logNum;
+    private Integer logNum = 0;
     @ApiModelProperty(value = "实际数量")
-    private Integer realNum;
+    private Integer realNum = 0;
     @ApiModelProperty(value = "合计丢失数量")
-    private Integer allLossNum;
+    private Integer allLossNum = 0;
     @ApiModelProperty(value = "外部丢失数量")
-    private Integer outLossNum;
+    private Integer outLossNum = 0;
     @ApiModelProperty(value = "外部文书丢失数量")
-    private Integer outRecNum;
+    private Integer outRecNum = 0;
     @ApiModelProperty(value = "外部病历号丢失数量")
-    private Integer outCodeNum;
+    private Integer outCodeNum = 0;
     @ApiModelProperty(value = "外部病案首页丢失数量")
-    private Integer outHomePageNum;
+    private Integer outHomePageNum = 0;
     @ApiModelProperty(value = "内部丢失数量")
-    private Integer inLossNum;
+    private Integer inLossNum = 0;
     @ApiModelProperty(value = "内部文书丢失数量")
-    private Integer inRecNum;
+    private Integer inRecNum = 0;
     @ApiModelProperty(value = "内部病历号丢失数量")
-    private Integer inCodeNum;
+    private Integer inCodeNum = 0;
     @ApiModelProperty(value = "内部病案首页丢失数量")
-    private Integer inHomePageNum;
+    private Integer inHomePageNum = 0;
 
 
 }

+ 27 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetColumnDTO.java

@@ -0,0 +1,27 @@
+package com.lantone.daqe.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 获取表字段信息
+ * @author: zhanghang
+ * @time: 2022/3/22 13:24
+ */
+@ApiModel(value = "获取表字段信息")
+@Getter
+@Setter
+public class GetColumnDTO implements Serializable {
+
+    private static final long serialVersionUID = -2189348212915891832L;
+    @ApiModelProperty(value = "字段名称(中文)")
+    private String columnName;
+
+    @ApiModelProperty(value = "字段注释")
+    private String columnComment;
+
+}

+ 40 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetConceptLibraryPageDTO.java

@@ -0,0 +1,40 @@
+package com.lantone.daqe.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 获取标准词和同义词(一对一)分页列表-接口出参
+ * @author: rengb
+ * @time: 2022/2/27 14:30
+ */
+@ApiModel(value = "获取标准词和同义词(一对一)分页列表-接口出参")
+@Getter
+@Setter
+public class GetConceptLibraryPageDTO implements Serializable {
+
+    private static final long serialVersionUID = -3423432863909470619L;
+
+    /**
+     * 标准词
+     */
+    @ApiModelProperty(value = "标准词")
+    private String standard;
+
+    /**
+     * 同义词
+     */
+    @ApiModelProperty(value = "同义词")
+    private String synonym;
+
+    /**
+     * 术语类型
+     */
+    @ApiModelProperty(value = "术语类型")
+    private String type;
+
+}

+ 2 - 2
daqe-center/src/main/java/com/lantone/daqe/dto/GetRecordTemplateManageDTO.java

@@ -40,8 +40,8 @@ public class GetRecordTemplateManageDTO implements Serializable {
     @ApiModelProperty(value = "模板内容")
     private String content;
 
-    @ApiModelProperty(value = "模板类型")
-    private String contentType;
+    @ApiModelProperty(value = "模板类型,模板类型,0:未知,1:html,2:xml ")
+    private String type;
 
 
 }

+ 4 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/HisMedicalRecordDTO.java

@@ -6,6 +6,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.io.Serializable;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -29,6 +30,9 @@ public class HisMedicalRecordDTO implements Serializable {
     @ApiModelProperty(value = "文书列表")
     private List<HisRecDTO> hisRecs;
 
+    @ApiModelProperty(value = "入院时间")
+    private Date behospitalDate;
+
 
 
 }

+ 3 - 1
daqe-center/src/main/java/com/lantone/daqe/dto/UpBlockLossByIdVO.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
@@ -19,7 +20,8 @@ public class UpBlockLossByIdVO implements Serializable {
 
     private static final long serialVersionUID = 2135752709548682595L;
 
-    @ApiModelProperty(value = "编号")
+    @ApiModelProperty(value = "编号", required = true)
+    @NotNull(message = "编号不能为空")
     private Long id;
 
     @ApiModelProperty(value = "丢失原因")

+ 8 - 1
daqe-center/src/main/java/com/lantone/daqe/entity/BehospitalInfo.java

@@ -1,5 +1,6 @@
 package com.lantone.daqe.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -19,10 +20,16 @@ public class BehospitalInfo implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
     /**
      * 病人住院ID
      */
-    @TableId("behospital_code")
+    @TableField("behospital_code")
     private String behospitalCode;
 
     /**

+ 6 - 0
daqe-center/src/main/java/com/lantone/daqe/entity/BlocklossResult.java

@@ -86,6 +86,12 @@ public class BlocklossResult implements Serializable {
     @TableField("audit_time")
     private Date auditTime;
 
+    /**
+     * 入院时间
+     */
+    @TableField("behospital_date")
+    private Date behospitalDate;
+
     /**
      * 状态: 0:已丢失,1:已恢复
      */

+ 83 - 0
daqe-center/src/main/java/com/lantone/daqe/entity/ConceptLibrary.java

@@ -0,0 +1,83 @@
+package com.lantone.daqe.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 术语表 实体类
+ * </p>
+ */
+@Data
+@TableName("base_concept_library")
+public class ConceptLibrary implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 标准词
+     */
+    @TableField("standard")
+    private String standard;
+
+    /**
+     * 同义词
+     */
+    @TableField("synonym")
+    private String synonym;
+
+    /**
+     * 术语类型,1:诊断,2:手术,3:药品
+     */
+    @TableField("type")
+    private String type;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    @TableField("is_deleted")
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    @TableField("gmt_create")
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    @TableField("gmt_modified")
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    @TableField("creator")
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    @TableField("modifier")
+    private String modifier;
+
+    /**
+     * 备注
+     */
+    @TableField("remark")
+    private String remark;
+
+}

+ 218 - 0
daqe-center/src/main/java/com/lantone/daqe/entity/HisBehospitalInfo.java

@@ -0,0 +1,218 @@
+package com.lantone.daqe.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * his住院病历信息 实体类
+ * </p>
+ */
+@Data
+public class HisBehospitalInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 病人住院ID
+     */
+    @TableId("behospital_code")
+    private String behospitalCode;
+
+    /**
+     * 医院ID
+     */
+    @TableField("hospital_id")
+    private Long hospitalId;
+
+    /**
+     * 姓名
+     */
+    @TableField("name")
+    private String name;
+
+    /**
+     * 性别(男,女)
+     */
+    @TableField("sex")
+    private String sex;
+
+    /**
+     * 出生日期
+     */
+    @TableField("birthday")
+    private Date birthday;
+
+    /**
+     * 档案号
+     */
+    @TableField("file_code")
+    private String fileCode;
+
+    /**
+     * 质控类型
+     */
+    @TableField("qc_type_id")
+    private Long qcTypeId;
+
+    /**
+     * 病区编码
+     */
+    @TableField("ward_code")
+    private String wardCode;
+
+    /**
+     * 病区名称
+     */
+    @TableField("ward_name")
+    private String wardName;
+
+    /**
+     * 住院科室ID
+     */
+    @TableField("beh_dept_id")
+    private String behDeptId;
+
+    /**
+     * 住院科室名称
+     */
+    @TableField("beh_dept_name")
+    private String behDeptName;
+
+    /**
+     * 床位号
+     */
+    @TableField("bed_code")
+    private String bedCode;
+
+    /**
+     * 床位名称
+     */
+    @TableField("bed_name")
+    private String bedName;
+
+    /**
+     * 医保类别
+     */
+    @TableField("insurance_name")
+    private String insuranceName;
+
+    /**
+     * 职业
+     */
+    @TableField("job_type")
+    private String jobType;
+
+    /**
+     * 入院时间
+     */
+    @TableField("behospital_date")
+    private Date behospitalDate;
+
+    /**
+     * 出院时间
+     */
+    @TableField("leave_hospital_date")
+    private Date leaveHospitalDate;
+
+    /**
+     * 疾病ICD编码
+     */
+    @TableField("diagnose_icd")
+    private String diagnoseIcd;
+
+    /**
+     * 疾病名称
+     */
+    @TableField("diagnose")
+    private String diagnose;
+
+    /**
+     * 主管医生ID
+     */
+    @TableField("doctor_id")
+    private String doctorId;
+
+    /**
+     * 主管医生姓名
+     */
+    @TableField("doctor_name")
+    private String doctorName;
+
+    /**
+     * 住院医生ID
+     */
+    @TableField("beh_doctor_id")
+    private String behDoctorId;
+
+    /**
+     * 住院医生姓名
+     */
+    @TableField("beh_doctor_name")
+    private String behDoctorName;
+
+    /**
+     * 主任医生ID
+     */
+    @TableField("director_doctor_id")
+    private String directorDoctorId;
+
+    /**
+     * 主任医生姓名
+     */
+    @TableField("director_doctor_name")
+    private String directorDoctorName;
+
+    /**
+     * 是否归档(0:未归档,1:已归档)
+     */
+    @TableField("is_placefile")
+    private String isPlacefile;
+
+    /**
+     * 归档时间
+     */
+    @TableField("placefile_date")
+    private Date placefileDate;
+
+    /**
+     * R-住院登记I-病房接诊B-出院登记O-出院结算P-预约出院N-无费退院
+     */
+    @TableField("in_state")
+    private String inState;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    @TableField("is_deleted")
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    @TableField("gmt_create")
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    @TableField("gmt_modified")
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    @TableField("creator")
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    @TableField("modifier")
+    private String modifier;
+
+}

+ 938 - 0
daqe-center/src/main/java/com/lantone/daqe/entity/HisHomePage.java

@@ -0,0 +1,938 @@
+package com.lantone.daqe.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *  实体类
+ * </p>
+ */
+@Data
+public class HisHomePage implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 病案首页编号
+     */
+    @TableId("home_page_id")
+    private String homePageId;
+
+    /**
+     * 医院ID
+     */
+    @TableField("hospital_id")
+    private Long hospitalId;
+
+    /**
+     * 病人住院序号
+     */
+    @TableField("behospital_code")
+    private String behospitalCode;
+
+    /**
+     * 组织机构id
+     */
+    @TableField("hospital_code")
+    private String hospitalCode;
+
+    /**
+     * 医疗机构名称
+     */
+    @TableField("hospital_name")
+    private String hospitalName;
+
+    /**
+     * 医疗机构代码
+     */
+    @TableField("org_code")
+    private String orgCode;
+
+    /**
+     * 医疗付费方式
+     */
+    @TableField("pay_type")
+    private String payType;
+
+    /**
+     * 健康卡号
+     */
+    @TableField("health_card")
+    private String healthCard;
+
+    /**
+     * 住院次数
+     */
+    @TableField("behospital_num")
+    private String behospitalNum;
+
+    /**
+     * 病案号
+     */
+    @TableField("file_code")
+    private String fileCode;
+
+    /**
+     * 姓名
+     */
+    @TableField("name")
+    private String name;
+
+    /**
+     * 性别
+     */
+    @TableField("sex")
+    private String sex;
+
+    /**
+     * 出生日期
+     */
+    @TableField("birthday")
+    private Date birthday;
+
+    /**
+     * 年龄
+     */
+    @TableField("age")
+    private String age;
+
+    /**
+     * 年龄单位
+     */
+    @TableField("age_unit")
+    private String ageUnit;
+
+    /**
+     * 国籍
+     */
+    @TableField("nationality")
+    private String nationality;
+
+    /**
+     * 新生儿出生月数
+     */
+    @TableField("newborn_month")
+    private String newbornMonth;
+
+    /**
+     * 新生儿出生天数
+     */
+    @TableField("newborn_day")
+    private String newbornDay;
+
+    /**
+     * 新生儿出生体重
+     */
+    @TableField("newborn_weight")
+    private String newbornWeight;
+
+    /**
+     * 新生儿入院体重
+     */
+    @TableField("newborn_behospital_weight")
+    private String newbornBehospitalWeight;
+
+    /**
+     * 出生地
+     */
+    @TableField("born_address")
+    private String bornAddress;
+
+    /**
+     * 籍贯
+     */
+    @TableField("born_place")
+    private String bornPlace;
+
+    /**
+     * 民族
+     */
+    @TableField("nation")
+    private String nation;
+
+    /**
+     * 身份证号
+     */
+    @TableField("identity_card_no")
+    private String identityCardNo;
+
+    /**
+     * 职业
+     */
+    @TableField("job_type")
+    private String jobType;
+
+    /**
+     * 婚姻
+     */
+    @TableField("marriage")
+    private String marriage;
+
+    /**
+     * 现住址
+     */
+    @TableField("cur_address")
+    private String curAddress;
+
+    /**
+     * 现住址电话
+     */
+    @TableField("cur_phone")
+    private String curPhone;
+
+    /**
+     * 现住址邮编
+     */
+    @TableField("cur_post_code")
+    private String curPostCode;
+
+    /**
+     * 户口地址
+     */
+    @TableField("residence_address")
+    private String residenceAddress;
+
+    /**
+     * 户口地址邮编
+     */
+    @TableField("residence_post_code")
+    private String residencePostCode;
+
+    /**
+     * 工作单位
+     */
+    @TableField("work_address")
+    private String workAddress;
+
+    /**
+     * 工作单位电话
+     */
+    @TableField("work_phone")
+    private String workPhone;
+
+    /**
+     * 工作单位邮编
+     */
+    @TableField("work_post_code")
+    private String workPostCode;
+
+    /**
+     * 联系人姓名
+     */
+    @TableField("contact_name")
+    private String contactName;
+
+    /**
+     * 联系人关系
+     */
+    @TableField("contact_relation")
+    private String contactRelation;
+
+    /**
+     * 联系人地址
+     */
+    @TableField("contact_address")
+    private String contactAddress;
+
+    /**
+     * 联系人电话
+     */
+    @TableField("contact_phone")
+    private String contactPhone;
+
+    /**
+     * 入院途径
+     */
+    @TableField("behospital_way")
+    private String behospitalWay;
+
+    /**
+     * 入院时间
+     */
+    @TableField("behospital_date")
+    private Date behospitalDate;
+
+    /**
+     * 入院科别
+     */
+    @TableField("behospital_dept")
+    private String behospitalDept;
+
+    /**
+     * 入院病房
+     */
+    @TableField("behospital_ward")
+    private String behospitalWard;
+
+    /**
+     * 入院床位序号
+     */
+    @TableField("behospital_bed_id")
+    private String behospitalBedId;
+
+    /**
+     * 入院床位号码
+     */
+    @TableField("behospital_bed_code")
+    private String behospitalBedCode;
+
+    /**
+     * 转科科别
+     */
+    @TableField("change_dept")
+    private String changeDept;
+
+    /**
+     * 出院时间
+     */
+    @TableField("leave_hospital_date")
+    private Date leaveHospitalDate;
+
+    /**
+     * 出院科别
+     */
+    @TableField("leave_hospital_dept")
+    private String leaveHospitalDept;
+
+    /**
+     * 出院病房
+     */
+    @TableField("leave_hospital_ward")
+    private String leaveHospitalWard;
+
+    /**
+     * 出院床位序号
+     */
+    @TableField("leave_hospital_bed_id")
+    private String leaveHospitalBedId;
+
+    /**
+     * 出院床位号码
+     */
+    @TableField("leave_hospital_bed_code")
+    private String leaveHospitalBedCode;
+
+    /**
+     * 实际住院天数
+     */
+    @TableField("behospital_day_num")
+    private String behospitalDayNum;
+
+    /**
+     * 治疗类别(1.中医<1.1 中医;1.2 民族医>、2.中西医、3.西医 )
+     */
+    @TableField("treatment_type")
+    private String treatmentType;
+
+    /**
+     * 门急诊诊断
+     */
+    @TableField("outpatient_emr_diagnose")
+    private String outpatientEmrDiagnose;
+
+    /**
+     * 门急诊诊断(中医)
+     */
+    @TableField("outpatient_emr_ch_diagnose")
+    private String outpatientEmrChDiagnose;
+
+    /**
+     * 门急诊诊断编码
+     */
+    @TableField("outpatient_emr_diagnose_code")
+    private String outpatientEmrDiagnoseCode;
+
+    /**
+     * 门急诊诊断编码(中医)
+     */
+    @TableField("outpatient_emr_ch_diagnose_code")
+    private String outpatientEmrChDiagnoseCode;
+
+    /**
+     * 实施临床路径(1中医、2西医、3否)
+     */
+    @TableField("implementation_clinical_pathway")
+    private String implementationClinicalPathway;
+
+    /**
+     * 使用医疗机构中药制剂(1是、2否)
+     */
+    @TableField("is_chinese_medicine_preparation")
+    private String isChineseMedicinePreparation;
+
+    /**
+     * 使用中医诊疗设备(1是、2否)	
+     */
+    @TableField("is_chinese_diagnose_equipment")
+    private String isChineseDiagnoseEquipment;
+
+    /**
+     * 使用中医诊疗技术(1是 、2否)	
+     */
+    @TableField("is_chinese_diagnose_technology")
+    private String isChineseDiagnoseTechnology;
+
+    /**
+     * 辩证施护(1是、2否)
+     */
+    @TableField("dialectical_nursing")
+    private String dialecticalNursing;
+
+    /**
+     * 损伤中毒因素
+     */
+    @TableField("poison_factor")
+    private String poisonFactor;
+
+    /**
+     * 损伤中毒因素编码
+     */
+    @TableField("poison_factor_code")
+    private String poisonFactorCode;
+
+    /**
+     * 病理诊断
+     */
+    @TableField("pathology_diagnose")
+    private String pathologyDiagnose;
+
+    /**
+     * 病理诊断编码
+     */
+    @TableField("pathology_diagnose_code")
+    private String pathologyDiagnoseCode;
+
+    /**
+     * 病理诊断编号
+     */
+    @TableField("pathology_diagnose_id")
+    private String pathologyDiagnoseId;
+
+    /**
+     * 药物过敏
+     */
+    @TableField("is_med_allergy")
+    private String isMedAllergy;
+
+    /**
+     * 过敏药物
+     */
+    @TableField("med_allergy_name")
+    private String medAllergyName;
+
+    /**
+     * 死亡患者尸检
+     */
+    @TableField("autopsy")
+    private String autopsy;
+
+    /**
+     * 血型
+     */
+    @TableField("blood_type")
+    private String bloodType;
+
+    /**
+     * Rh
+     */
+    @TableField("rh")
+    private String rh;
+
+    /**
+     * 科主任
+     */
+    @TableField("dept_director")
+    private String deptDirector;
+
+    /**
+     * 主任医师
+     */
+    @TableField("director_doctor")
+    private String directorDoctor;
+
+    /**
+     * 主治医师
+     */
+    @TableField("attending_doctor")
+    private String attendingDoctor;
+
+    /**
+     * 住院医师
+     */
+    @TableField("behospital_doctor")
+    private String behospitalDoctor;
+
+    /**
+     * 责任护士
+     */
+    @TableField("response_nurse")
+    private String responseNurse;
+
+    /**
+     * 进修医师
+     */
+    @TableField("study_doctor")
+    private String studyDoctor;
+
+    /**
+     * 实习医师
+     */
+    @TableField("practice_doctor")
+    private String practiceDoctor;
+
+    /**
+     * 编码员
+     */
+    @TableField("encode_man")
+    private String encodeMan;
+
+    /**
+     * 病案质量
+     */
+    @TableField("home_page_quality")
+    private String homePageQuality;
+
+    /**
+     * 质控医师
+     */
+    @TableField("qc_doctor")
+    private String qcDoctor;
+
+    /**
+     * 质控护士
+     */
+    @TableField("qc_nurse")
+    private String qcNurse;
+
+    /**
+     * 质控日期
+     */
+    @TableField("qc_date")
+    private Date qcDate;
+
+    /**
+     * 离院方式
+     */
+    @TableField("leave_hospital_type")
+    private String leaveHospitalType;
+
+    /**
+     * 接收机构名称
+     */
+    @TableField("accept_org_code")
+    private String acceptOrgCode;
+
+    /**
+     * 31天内再住院计划
+     */
+    @TableField("again_behospital_plan")
+    private String againBehospitalPlan;
+
+    /**
+     * 再住院目的
+     */
+    @TableField("again_behospital_goal")
+    private String againBehospitalGoal;
+
+    /**
+     * 颅脑损伤患者昏迷前天数
+     */
+    @TableField("tbi_before_day")
+    private String tbiBeforeDay;
+
+    /**
+     * 颅脑损伤患者昏迷前小时
+     */
+    @TableField("tbi_before_hour")
+    private String tbiBeforeHour;
+
+    /**
+     * 颅脑损伤患者昏迷前分钟
+     */
+    @TableField("tbi_before_minute")
+    private String tbiBeforeMinute;
+
+    /**
+     * 颅脑损伤患者昏迷后天数
+     */
+    @TableField("tbi_after_day")
+    private String tbiAfterDay;
+
+    /**
+     * 颅脑损伤患者昏迷后小时
+     */
+    @TableField("tbi_after_hour")
+    private String tbiAfterHour;
+
+    /**
+     * 颅脑损伤患者昏迷后分钟
+     */
+    @TableField("tbi_after_minute")
+    private String tbiAfterMinute;
+
+    /**
+     * 总费用
+     */
+    @TableField("total_fee")
+    private String totalFee;
+
+    /**
+     * 自付金额
+     */
+    @TableField("own_fee")
+    private String ownFee;
+
+    /**
+     * 一般医疗服务费
+     */
+    @TableField("general_fee")
+    private String generalFee;
+
+    /**
+     * 一般治疗服务费
+     */
+    @TableField("service_fee")
+    private String serviceFee;
+
+    /**
+     * 护理费
+     */
+    @TableField("nurse_fee")
+    private String nurseFee;
+
+    /**
+     * 其他费用
+     */
+    @TableField("other_fee")
+    private String otherFee;
+
+    /**
+     * 病理诊断费
+     */
+    @TableField("pathology_fee")
+    private String pathologyFee;
+
+    /**
+     * 实验室诊断费
+     */
+    @TableField("lab_fee")
+    private String labFee;
+
+    /**
+     * 影像学诊断费
+     */
+    @TableField("pacs_fee")
+    private String pacsFee;
+
+    /**
+     * 临床诊断项目费
+     */
+    @TableField("clinic_diagnose_fee")
+    private String clinicDiagnoseFee;
+
+    /**
+     * 非手术治疗项目费
+     */
+    @TableField("not_operation_fee")
+    private String notOperationFee;
+
+    /**
+     * 临床物理治疗费
+     */
+    @TableField("clinic_physic_fee")
+    private String clinicPhysicFee;
+
+    /**
+     * 手术治疗费
+     */
+    @TableField("operation_treat_fee")
+    private String operationTreatFee;
+
+    /**
+     * 麻醉费
+     */
+    @TableField("anaesthesia_fee")
+    private String anaesthesiaFee;
+
+    /**
+     * 手术费
+     */
+    @TableField("operation_fee")
+    private String operationFee;
+
+    /**
+     * 康复类
+     */
+    @TableField("health_type_fee")
+    private String healthTypeFee;
+
+    /**
+     * 中医治疗费
+     */
+    @TableField("chn_treat_fee")
+    private String chnTreatFee;
+
+    /**
+     * 西药费
+     */
+    @TableField("western_med_fee")
+    private String westernMedFee;
+
+    /**
+     * 抗菌药物费用
+     */
+    @TableField("antibiosis_fee")
+    private String antibiosisFee;
+
+    /**
+     * 中成药费
+     */
+    @TableField("chn_med_fee")
+    private String chnMedFee;
+
+    /**
+     * 中草药费
+     */
+    @TableField("chn_herb_fee")
+    private String chnHerbFee;
+
+    /**
+     * 血费
+     */
+    @TableField("blood_fee")
+    private String bloodFee;
+
+    /**
+     * 白蛋白类制品费
+     */
+    @TableField("albumen_fee")
+    private String albumenFee;
+
+    /**
+     * 球蛋白类制品费
+     */
+    @TableField("globulin_fee")
+    private String globulinFee;
+
+    /**
+     * 凝血因子类制品费
+     */
+    @TableField("blood_factor_fee")
+    private String bloodFactorFee;
+
+    /**
+     * 细胞因子类制品费
+     */
+    @TableField("cell_factor_fee")
+    private String cellFactorFee;
+
+    /**
+     * 检查用一次性医用材料费
+     */
+    @TableField("check_material_fee")
+    private String checkMaterialFee;
+
+    /**
+     * 治疗用一次性医用材料费
+     */
+    @TableField("treat_material_fee")
+    private String treatMaterialFee;
+
+    /**
+     * 手术用一次性医用材料费
+     */
+    @TableField("operation_material_fee")
+    private String operationMaterialFee;
+
+    /**
+     * 其他类其他费
+     */
+    @TableField("other_type_fee")
+    private String otherTypeFee;
+
+    /**
+     * 单病种管理
+     */
+    @TableField("single_diag_manage")
+    private String singleDiagManage;
+
+    /**
+     * 临床路径管理
+     */
+    @TableField("clinic_pathway_manage")
+    private String clinicPathwayManage;
+
+    /**
+     * 门诊与住院
+     */
+    @TableField("is_outpatient_behospital")
+    private String isOutpatientBehospital;
+
+    /**
+     * 入院与出院
+     */
+    @TableField("is_leave_behospital")
+    private String isLeaveBehospital;
+
+    /**
+     * 术前与术后
+     */
+    @TableField("is_operation_before_after")
+    private String isOperationBeforeAfter;
+
+    /**
+     * 临床与病理
+     */
+    @TableField("is_clinic_pathology")
+    private String isClinicPathology;
+
+    /**
+     * 放射与病理
+     */
+    @TableField("is_radiate_pathology")
+    private String isRadiatePathology;
+
+    /**
+     * 病人抢救次数
+     */
+    @TableField("rescue_num")
+    private String rescueNum;
+
+    /**
+     * 病人抢救成功次数
+     */
+    @TableField("rescue_success_num")
+    private String rescueSuccessNum;
+
+    /**
+     * 是否为自动出院
+     */
+    @TableField("is_auto_leavehospital")
+    private String isAutoLeavehospital;
+
+    /**
+     * 转归情况
+     */
+    @TableField("return_to_type")
+    private String returnToType;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    @TableField("is_deleted")
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    @TableField("gmt_create")
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    @TableField("gmt_modified")
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    @TableField("creator")
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    @TableField("modifier")
+    private String modifier;
+
+    /**
+     * 住院期间身体约束
+     */
+    @TableField("is_physical_restraint")
+    private String isPhysicalRestraint;
+
+    /**
+     * 入院前颅脑损伤患者昏迷时间
+     */
+    @TableField("tbi_behospital_before_time")
+    private String tbiBehospitalBeforeTime;
+
+    /**
+     * 入院后颅脑损伤患者昏迷时间
+     */
+    @TableField("tbi_behospital_after_time")
+    private String tbiBehospitalAfterTime;
+
+    /**
+     * 住院期间是否发生跌倒或坠床
+     */
+    @TableField("is_fall_bed")
+    private String isFallBed;
+
+    /**
+     * 医院感染
+     */
+    @TableField("is_nosocomial_infection")
+    private String isNosocomialInfection;
+
+    /**
+     * 入住ICU情况
+     */
+    @TableField("is_into_icu")
+    private String isIntoIcu;
+
+    /**
+     * 并发症情况
+     */
+    @TableField("is_complications")
+    private String isComplications;
+
+    /**
+     * 是否发生压疮
+     */
+    @TableField("is_pressure_sore")
+    private String isPressureSore;
+
+    /**
+     * 是否住院期间发生压疮
+     */
+    @TableField("is_behospital_pressure_sore")
+    private String isBehospitalPressureSore;
+
+    /**
+     * 非计划再次手术
+     */
+    @TableField("is_unplanned_reoperation")
+    private String isUnplannedReoperation;
+
+    /**
+     * 治疗结果
+     */
+    @TableField("treatment_results")
+    private String treatmentResults;
+
+    /**
+     * 并发症
+     */
+    @TableField("complications_results")
+    private String complicationsResults;
+
+    /**
+     * 感染部位
+     */
+    @TableField("infection_site")
+    private String infectionSite;
+
+    /**
+     * 住院期间有无告病危
+     */
+    @TableField("is_be_in_danger")
+    private String isBeInDanger;
+
+}

+ 101 - 0
daqe-center/src/main/java/com/lantone/daqe/entity/HisMedicalRecord.java

@@ -0,0 +1,101 @@
+package com.lantone.daqe.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *  实体类
+ * </p>
+ */
+@Data
+public class HisMedicalRecord implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("rec_id")
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    @TableField("hospital_id")
+    private Long hospitalId;
+
+    /**
+     * 病人住院ID
+     */
+    @TableField("behospital_code")
+    private String behospitalCode;
+
+    /**
+     * 组织机构代码
+     */
+    @TableField("org_code")
+    private String orgCode;
+
+    /**
+     * 病历类别编号
+     */
+    @TableField("rec_type_id")
+    private String recTypeId;
+
+    /**
+     * 模块id
+     */
+    @TableField("mode_id")
+    private Long modeId;
+
+    /**
+     * 病历日期
+     */
+    @TableField("rec_date")
+    private Date recDate;
+
+    /**
+     * 病历标题
+     */
+    @TableField("rec_title")
+    private String recTitle;
+
+    /**
+     * 模板处理状态(0:未处理,1:已处理)
+     */
+    @TableField("status")
+    private Integer status;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    @TableField("is_deleted")
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    @TableField("gmt_create")
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    @TableField("gmt_modified")
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    @TableField("creator")
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    @TableField("modifier")
+    private String modifier;
+
+}

+ 87 - 0
daqe-center/src/main/java/com/lantone/daqe/entity/HisMedicalRecordContent.java

@@ -0,0 +1,87 @@
+package com.lantone.daqe.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.sql.Blob;
+import java.util.Date;
+
+/**
+ * <p>
+ *  实体类
+ * </p>
+ */
+@Data
+public class HisMedicalRecordContent implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 病历ID
+     */
+    @TableId("rec_id")
+    private String recId;
+
+    /**
+     * 医院ID
+     */
+    @TableField("hospital_id")
+    private Long hospitalId;
+
+    /**
+     * 文书内容(blob)
+     */
+    @TableField("content_blob")
+    private Blob contentBlob;
+
+    /**
+     * 病历文本(文本)
+     */
+    @TableField("content_text")
+    private String contentText;
+
+    /**
+     * html文本信息
+     */
+    @TableField("html_text")
+    private String htmlText;
+
+    /**
+     * xml文本信息
+     */
+    @TableField("xml_text")
+    private String xmlText;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    @TableField("is_deleted")
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    @TableField("gmt_create")
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    @TableField("gmt_modified")
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    @TableField("creator")
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    @TableField("modifier")
+    private String modifier;
+
+}

+ 8 - 1
daqe-center/src/main/java/com/lantone/daqe/entity/HomePage.java

@@ -1,5 +1,6 @@
 package com.lantone.daqe.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -19,10 +20,16 @@ public class HomePage implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
     /**
      * 病案首页编号
      */
-    @TableId("home_page_id")
+    @TableField("home_page_id")
     private String homePageId;
 
     /**

+ 8 - 1
daqe-center/src/main/java/com/lantone/daqe/entity/MedicalRecord.java

@@ -1,5 +1,6 @@
 package com.lantone.daqe.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -19,7 +20,13 @@ public class MedicalRecord implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId("rec_id")
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @TableField("rec_id")
     private String recId;
 
     /**

+ 8 - 1
daqe-center/src/main/java/com/lantone/daqe/entity/MedicalRecordContent.java

@@ -1,5 +1,6 @@
 package com.lantone.daqe.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -20,10 +21,16 @@ public class MedicalRecordContent implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
     /**
      * 病历ID
      */
-    @TableId("rec_id")
+    @TableField("rec_id")
     private String recId;
 
     /**

+ 42 - 0
daqe-center/src/main/java/com/lantone/daqe/enums/ConceptLibraryTypeEnum.java

@@ -0,0 +1,42 @@
+package com.lantone.daqe.enums;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 术语类型
+ * @author: zhanghang
+ * @time: 2022/3/11 16:03
+ */
+public enum ConceptLibraryTypeEnum {
+    DISEASE("1", "诊断"),
+    OPERATION("2", "手术"),
+    DRUG("3", "药品");
+
+    @Getter
+    @Setter
+    private String key;
+
+    @Getter
+    @Setter
+    private String name;
+
+    ConceptLibraryTypeEnum(String key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static ConceptLibraryTypeEnum getEnum(String key) {
+        for (ConceptLibraryTypeEnum item : ConceptLibraryTypeEnum.values()) {
+            if (item.key.equals(key)) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(String key) {
+        ConceptLibraryTypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+}

+ 240 - 121
daqe-center/src/main/java/com/lantone/daqe/facade/BlockLossManagementFacade.java

@@ -13,6 +13,7 @@ import com.lantone.common.util.ListUtil;
 import com.lantone.common.util.StringUtil;
 import com.lantone.common.util.SysUserUtils;
 import com.lantone.common.vo.BlockLossTypeGatherVO;
+import com.lantone.common.vo.DataRepariVO;
 import com.lantone.daqe.client.OperationLogService;
 import com.lantone.daqe.dto.BlockLossTypeGatherDTO;
 import com.lantone.daqe.dto.GetBlockLossPageDTO;
@@ -67,6 +68,9 @@ public class BlockLossManagementFacade {
     @Autowired
     private OperationLogService operationLogService;
 
+    @Autowired
+    private HisDataManagementFacade hisDataManagementFacade;
+
 
     /**
      * 获取病历数据丢失明细分页列表
@@ -87,7 +91,7 @@ public class BlockLossManagementFacade {
     public Boolean upBlockLossById(UpBlockLossByIdVO upBlockLossByIdVO) {
         BlocklossResult blocklossResult = new BlocklossResult();
         BeanUtils.copyProperties(upBlockLossByIdVO, blocklossResult);
-        blocklossResult.setModifier(SysUserUtils.getCurrentPrinciple());
+        blocklossResult.setModifier(SysUserUtils.getCurrentPrinciple() == null ? "0" : SysUserUtils.getCurrentPrinciple());
         blocklossResult.setGmtModified(DateUtil.now());
         return blocklossResultFacade.updateById(blocklossResult);
     }
@@ -102,8 +106,8 @@ public class BlockLossManagementFacade {
         Boolean flag = false;
         //====1.获取已丢失状态记录,去数据库中对比判断是否补录
         List<BlocklossResult> lossResults = blocklossResultFacade.list(new QueryWrapper<BlocklossResult>()
-                .ge(dataCompareVO.getStartDate() != null, "gmt_create", dataCompareVO.getStartDate())
-                .le(dataCompareVO.getStartDate() != null, "gmt_create", dataCompareVO.getEndDate())
+                .select("id,behospital_code,rec_id,loss_type,loss_way")
+                .eq(SysUserUtils.getCurrentHospitalId() != null, "hospital_id", SysUserUtils.getCurrentHospitalId())
                 .eq("status", LossStatusEnum.IS_LOSS.getKey())
                 .eq("is_deleted", IsDeleteEnum.N.getKey()));
         Map<String, List<BlocklossResult>> lossResultMap = null;
@@ -118,44 +122,58 @@ public class BlockLossManagementFacade {
 
         //获取his对应的数据
         List<HisMedicalRecordDTO> hisMedicalRecords = getHisMedicalRecords(dataCompareVO);
+        Map<String, HisMedicalRecordDTO> hisMedicalRecordMap = EntityUtil.makeEntityMap(hisMedicalRecords, "behospitalCode");
 
         //获取操作记录数据
         //病历数据
         dataCompareVO.setOperationUrl("save/saveBehospitalCode");
         List<GetOperationLogDTO> behospitalCodeLogs = getOperationLogs(dataCompareVO);
         //病案首页数据
-        dataCompareVO.setOperationUrl("save/saveHomePages");
-        List<GetOperationLogDTO> homePageLogs = getOperationLogs(dataCompareVO);
+        List<GetOperationLogDTO> homePageLogs = new ArrayList<>();
         //文书数据
-        dataCompareVO.setOperationUrl("save/saveRecs");
-        List<GetOperationLogDTO> recLogs = getOperationLogs(dataCompareVO);
+        List<GetOperationLogDTO> recLogs = new ArrayList<>();
+
+        List<String> logCodes = null;
+        //没有病历数据就不用去查病案首页和文书
+        if (ListUtil.isNotEmpty(behospitalCodeLogs)) {
+            logCodes = behospitalCodeLogs.stream().map(GetOperationLogDTO::getBehospitalCode).collect(Collectors.toList());
+            dataCompareVO.setBehospitalCodes(logCodes);
+            //病案首页数据
+            dataCompareVO.setOperationUrl("save/saveHomePages");
+            homePageLogs = getOperationLogs(dataCompareVO);
+            //文书数据
+            dataCompareVO.setOperationUrl("save/saveRecs");
+            recLogs = getOperationLogs(dataCompareVO);
+        }
 
         //获取库中数据
         //病历数据
         List<String> dataBaseBehospitalCodes = behospitalInfoFacade.list(new QueryWrapper<BehospitalInfo>()
                 .select("behospital_code")
-                .ge(dataCompareVO.getStartDate() != null, "gmt_create", dataCompareVO.getStartDate())
-                .le(dataCompareVO.getStartDate() != null, "gmt_create", dataCompareVO.getEndDate())
-                .eq("hospital_id", SysUserUtils.getCurrentHospitalId())
+                .ge(dataCompareVO.getStartDate() != null && StringUtil.isBlank(dataCompareVO.getBehospitalCode()), "gmt_create", dataCompareVO.getStartDate())
+                .le(dataCompareVO.getEndDate() != null && StringUtil.isBlank(dataCompareVO.getBehospitalCode()), "gmt_create", dataCompareVO.getEndDate())
+                .eq(StringUtil.isNotBlank(dataCompareVO.getBehospitalCode()), "behospital_code", dataCompareVO.getBehospitalCode())
+                .eq(SysUserUtils.getCurrentHospitalId() != null, "hospital_id", SysUserUtils.getCurrentHospitalId())
                 .eq("is_deleted", IsDeleteEnum.N.getKey()))
                 .stream().map(BehospitalInfo::getBehospitalCode).collect(Collectors.toList());
         //病案首页数据
-        List<String> dataBaseHomePageIds = homePageFacade.list(new QueryWrapper<HomePage>()
-                .select("home_page_id")
-                .ge(dataCompareVO.getStartDate() != null, "gmt_create", dataCompareVO.getStartDate())
-                .le(dataCompareVO.getStartDate() != null, "gmt_create", dataCompareVO.getEndDate())
-                .eq("hospital_id", SysUserUtils.getCurrentHospitalId())
-                .eq("is_deleted", IsDeleteEnum.N.getKey()))
-                .stream().map(HomePage::getHomePageId).collect(Collectors.toList());
-
+        List<String> dataBaseHomePageIds = new ArrayList<>();
         //文书数据
-        List<String> dataBaseRecIds = medicalRecordFacade.list(new QueryWrapper<MedicalRecord>()
-                .select("rec_id")
-                .ge(dataCompareVO.getStartDate() != null, "gmt_create", dataCompareVO.getStartDate())
-                .le(dataCompareVO.getStartDate() != null, "gmt_create", dataCompareVO.getEndDate())
-                .eq("hospital_id", SysUserUtils.getCurrentHospitalId())
-                .eq("is_deleted", IsDeleteEnum.N.getKey()))
-                .stream().map(MedicalRecord::getRecId).collect(Collectors.toList());
+        List<String> dataBaseRecIds = new ArrayList<>();
+        if (ListUtil.isNotEmpty(dataBaseBehospitalCodes)) {
+            dataBaseHomePageIds = homePageFacade.list(new QueryWrapper<HomePage>()
+                    .select("home_page_id")
+                    .in("behospital_code", dataBaseBehospitalCodes)
+                    .eq(SysUserUtils.getCurrentHospitalId() != null, "hospital_id", SysUserUtils.getCurrentHospitalId())
+                    .eq("is_deleted", IsDeleteEnum.N.getKey()))
+                    .stream().map(HomePage::getHomePageId).collect(Collectors.toList());
+            dataBaseRecIds = medicalRecordFacade.list(new QueryWrapper<MedicalRecord>()
+                    .select("rec_id")
+                    .in("behospital_code", dataBaseBehospitalCodes)
+                    .eq(SysUserUtils.getCurrentHospitalId() != null, "hospital_id", SysUserUtils.getCurrentHospitalId())
+                    .eq("is_deleted", IsDeleteEnum.N.getKey()))
+                    .stream().map(MedicalRecord::getRecId).collect(Collectors.toList());
+        }
 
         //==已丢失 外部|内部 病历、文书、病案首页 id集合
         //外部
@@ -166,35 +184,36 @@ public class BlockLossManagementFacade {
         List<String> inLossCodes = null;
         List<String> inLossHomepages = null;
         List<String> inLossRecs = null;
-        if (ListUtil.isNotEmpty(lossResultMap.get(LossTypeEnum.REC_LOSS.getKey()))) {
-            Map<String, List<BlocklossResult>> lossWayRecMap = EntityUtil.makeEntityListMap(lossResultMap.get(LossTypeEnum.REC_LOSS.getKey()), "lossWay");
-            if (ListUtil.isNotEmpty(lossWayRecMap.get(LossWayEnum.OUT_LOSS))) {
-                outLossRecs = lossWayRecMap.get(LossWayEnum.OUT_LOSS).stream().map(BlocklossResult::getRecId).collect(Collectors.toList());
-            }
-            if (ListUtil.isNotEmpty(lossWayRecMap.get(LossWayEnum.IN_LOSS))) {
-                inLossRecs = lossWayRecMap.get(LossWayEnum.IN_LOSS).stream().map(BlocklossResult::getRecId).collect(Collectors.toList());
-            }
-        }
-        if (ListUtil.isNotEmpty(lossResultMap.get(LossTypeEnum.HOMEPAGE_LOSS.getKey()))) {
-            Map<String, List<BlocklossResult>> lossWayHomePageMap = EntityUtil.makeEntityListMap(lossResultMap.get(LossTypeEnum.HOMEPAGE_LOSS.getKey()), "lossWay");
-            if (ListUtil.isNotEmpty(lossWayHomePageMap.get(LossWayEnum.OUT_LOSS))) {
-                outLossHomepages = lossWayHomePageMap.get(LossWayEnum.OUT_LOSS).stream().map(BlocklossResult::getRecId).collect(Collectors.toList());
-            }
-            if (ListUtil.isNotEmpty(lossWayHomePageMap.get(LossWayEnum.IN_LOSS))) {
-                inLossHomepages = lossWayHomePageMap.get(LossWayEnum.IN_LOSS).stream().map(BlocklossResult::getRecId).collect(Collectors.toList());
+        if (lossResultMap != null) {
+            if (ListUtil.isNotEmpty(lossResultMap.get(LossTypeEnum.REC_LOSS.getKey()))) {
+                Map<String, List<BlocklossResult>> lossWayRecMap = EntityUtil.makeEntityListMap(lossResultMap.get(LossTypeEnum.REC_LOSS.getKey()), "lossWay");
+                if (ListUtil.isNotEmpty(lossWayRecMap.get(LossWayEnum.OUT_LOSS.getKey()))) {
+                    outLossRecs = lossWayRecMap.get(LossWayEnum.OUT_LOSS.getKey()).stream().map(BlocklossResult::getRecId).collect(Collectors.toList());
+                }
+                if (ListUtil.isNotEmpty(lossWayRecMap.get(LossWayEnum.IN_LOSS.getKey()))) {
+                    inLossRecs = lossWayRecMap.get(LossWayEnum.IN_LOSS.getKey()).stream().map(BlocklossResult::getRecId).collect(Collectors.toList());
+                }
             }
-        }
-        if (ListUtil.isNotEmpty(lossResultMap.get(LossTypeEnum.CODE_LOSS.getKey()))) {
-            Map<String, List<BlocklossResult>> lossWayCodeMap = EntityUtil.makeEntityListMap(lossResultMap.get(LossTypeEnum.CODE_LOSS.getKey()), "lossWay");
-            if (ListUtil.isNotEmpty(lossWayCodeMap.get(LossWayEnum.OUT_LOSS))) {
-                outLossCodes = lossWayCodeMap.get(LossWayEnum.OUT_LOSS).stream().map(BlocklossResult::getRecId).collect(Collectors.toList());
+            if (ListUtil.isNotEmpty(lossResultMap.get(LossTypeEnum.HOMEPAGE_LOSS.getKey()))) {
+                Map<String, List<BlocklossResult>> lossWayHomePageMap = EntityUtil.makeEntityListMap(lossResultMap.get(LossTypeEnum.HOMEPAGE_LOSS.getKey()), "lossWay");
+                if (ListUtil.isNotEmpty(lossWayHomePageMap.get(LossWayEnum.OUT_LOSS.getKey()))) {
+                    outLossHomepages = lossWayHomePageMap.get(LossWayEnum.OUT_LOSS.getKey()).stream().map(BlocklossResult::getRecId).collect(Collectors.toList());
+                }
+                if (ListUtil.isNotEmpty(lossWayHomePageMap.get(LossWayEnum.IN_LOSS.getKey()))) {
+                    inLossHomepages = lossWayHomePageMap.get(LossWayEnum.IN_LOSS.getKey()).stream().map(BlocklossResult::getRecId).collect(Collectors.toList());
+                }
             }
-            if (ListUtil.isNotEmpty(lossWayCodeMap.get(LossWayEnum.IN_LOSS))) {
-                inLossCodes = lossWayCodeMap.get(LossWayEnum.IN_LOSS).stream().map(BlocklossResult::getRecId).collect(Collectors.toList());
+            if (ListUtil.isNotEmpty(lossResultMap.get(LossTypeEnum.CODE_LOSS.getKey()))) {
+                Map<String, List<BlocklossResult>> lossWayCodeMap = EntityUtil.makeEntityListMap(lossResultMap.get(LossTypeEnum.CODE_LOSS.getKey()), "lossWay");
+                if (ListUtil.isNotEmpty(lossWayCodeMap.get(LossWayEnum.OUT_LOSS.getKey()))) {
+                    outLossCodes = lossWayCodeMap.get(LossWayEnum.OUT_LOSS.getKey()).stream().map(BlocklossResult::getBehospitalCode).collect(Collectors.toList());
+                }
+                if (ListUtil.isNotEmpty(lossWayCodeMap.get(LossWayEnum.IN_LOSS.getKey()))) {
+                    inLossCodes = lossWayCodeMap.get(LossWayEnum.IN_LOSS.getKey()).stream().map(BlocklossResult::getBehospitalCode).collect(Collectors.toList());
+                }
             }
         }
 
-
         //=====2.2数据对比
         //his与log日志做对比
         if (ListUtil.isNotEmpty(hisMedicalRecords)) {
@@ -207,7 +226,7 @@ public class BlockLossManagementFacade {
                     hisMedicalRecordDTO.getHisRecs().stream().forEach(hisRecDTO -> {
                         GetOperationLogDTO medicalRecord = new GetOperationLogDTO();
                         medicalRecord.setRecId(hisRecDTO.getRecId());
-                        medicalRecord.setRecId(hisRecDTO.getRecTitle());
+                        medicalRecord.setRecTitle(hisRecDTO.getRecTitle());
                         medicalRecord.setBehospitalCode(hisMedicalRecordDTO.getBehospitalCode());
                         recs.add(medicalRecord);
                     });
@@ -217,11 +236,11 @@ public class BlockLossManagementFacade {
             //外部丢失数据集合
             List<BlocklossResult> outInserts = new ArrayList<>();
             //文书数据对比
-            compareHisWithLog(recs, recLogs, "0", outInserts, outLossRecs);
+            compareHisWithLog(recs, recLogs, LossTypeEnum.REC_LOSS.getKey(), outInserts, outLossRecs, hisMedicalRecordMap);
             //病案首页数据对比
-            compareHisWithLog(medicalRecords, homePageLogs, "1", outInserts, outLossHomepages);
+            compareHisWithLog(medicalRecords, homePageLogs, LossTypeEnum.HOMEPAGE_LOSS.getKey(), outInserts, outLossHomepages, hisMedicalRecordMap);
             //病历数据对比
-            compareHisWithLog(medicalRecords, behospitalCodeLogs, "2", outInserts, outLossCodes);
+            compareHisWithLog(medicalRecords, behospitalCodeLogs, LossTypeEnum.CODE_LOSS.getKey(), outInserts, outLossCodes, hisMedicalRecordMap);
 
             flag = blocklossResultServiceImpl.saveBatch(outInserts);
         }
@@ -230,13 +249,13 @@ public class BlockLossManagementFacade {
         //内部丢失数据集合
         List<BlocklossResult> inInserts = new ArrayList<>();
         if (ListUtil.isNotEmpty(recLogs)) {
-            compareLogWithLocal(recLogs, dataBaseRecIds, "0", inInserts, inLossRecs);
+            compareLogWithLocal(recLogs, dataBaseRecIds, LossTypeEnum.REC_LOSS.getKey(), inInserts, inLossRecs, hisMedicalRecordMap);
         }
         if (ListUtil.isNotEmpty(homePageLogs)) {
-            compareLogWithLocal(homePageLogs, dataBaseHomePageIds, "1", inInserts, inLossHomepages);
+            compareLogWithLocal(homePageLogs, dataBaseHomePageIds, LossTypeEnum.HOMEPAGE_LOSS.getKey(), inInserts, inLossHomepages, hisMedicalRecordMap);
         }
         if (ListUtil.isNotEmpty(behospitalCodeLogs)) {
-            compareLogWithLocal(behospitalCodeLogs, dataBaseBehospitalCodes, "2", inInserts, inLossCodes);
+            compareLogWithLocal(behospitalCodeLogs, dataBaseBehospitalCodes, LossTypeEnum.CODE_LOSS.getKey(), inInserts, inLossCodes, hisMedicalRecordMap);
         }
         if (ListUtil.isNotEmpty(inInserts)) {
             flag = blocklossResultServiceImpl.saveBatch(inInserts);
@@ -247,28 +266,31 @@ public class BlockLossManagementFacade {
     /**
      * 日志与入库数据对比
      *
-     * @param logs          日志记录
-     * @param dataBases     入库数据
-     * @param type          对比类型:0:文书丢失 1:病案首页丢失 2:患者信息丢失
-     * @param inInserts     内部丢失插入集合
-     * @param havingLossIds 已经插入的id集合
+     * @param logs                日志记录
+     * @param dataBases           入库数据
+     * @param type                对比类型:0:文书丢失 1:病案首页丢失 2:患者信息丢失
+     * @param inInserts           内部丢失插入集合
+     * @param havingLossIds       已经插入的id集合
+     * @param hisMedicalRecordMap his病历数据map(key-住院序号:value-人的his数据)
      * @Return void
      */
     private void compareLogWithLocal(List<GetOperationLogDTO> logs, List<String> dataBases, String type,
-                                     List<BlocklossResult> inInserts, List<String> havingLossIds) {
+                                     List<BlocklossResult> inInserts, List<String> havingLossIds,
+                                     Map<String, HisMedicalRecordDTO> hisMedicalRecordMap) {
         switch (type) {
             case "0":
                 //文书丢失
                 logs.stream().forEach(rec -> {
                     //存在记录但是没有入库
                     if (!dataBases.contains(rec.getRecId())) {
-                        if (havingLossIds.contains(rec.getRecId())) {
+                        if (havingLossIds == null || !havingLossIds.contains(rec.getRecId())) {
                             BlocklossResult blocklossResult = new BlocklossResult();
                             blocklossResult.setBehospitalCode(rec.getBehospitalCode());
                             blocklossResult.setRecId(rec.getRecId());
                             blocklossResult.setRecTitle(rec.getRecTitle());
                             blocklossResult.setLossWay(LossWayEnum.IN_LOSS.getKey());
                             blocklossResult.setLossType(LossTypeEnum.REC_LOSS.getKey());
+                            blocklossResult.setBehospitalDate(hisMedicalRecordMap.get(rec.getBehospitalCode()).getBehospitalDate());
                             //拼装病历数据块丢失明细其他信息
                             assembleOtherBlocklossResult(blocklossResult);
                             inInserts.add(blocklossResult);
@@ -276,37 +298,48 @@ public class BlockLossManagementFacade {
                     }
                 });
                 //判断只插入文书id的情况
-                List<String> havingRecIds = medicalRecordContentFacade.list(new QueryWrapper<MedicalRecordContent>()
-                        .select("rec_id")
-                        .in("rec_id", dataBases)).stream().map(MedicalRecordContent::getRecId).collect(Collectors.toList());
-                List<String> tempList = new ArrayList<>(dataBases);
-                tempList.removeAll(havingRecIds);
-                Map<String, GetOperationLogDTO> recMap = EntityUtil.makeEntityMap(logs, "recId");
-                tempList.stream().forEach(recId -> {
-                    BlocklossResult blocklossResult = new BlocklossResult();
-                    blocklossResult.setBehospitalCode(recMap.get(recId).getBehospitalCode());
-                    blocklossResult.setRecId(recId);
-                    blocklossResult.setRecTitle(recMap.get(recId).getRecTitle());
-                    blocklossResult.setLossWay(LossWayEnum.IN_LOSS.getKey());
-                    blocklossResult.setLossType(LossTypeEnum.REC_LOSS.getKey());
-                    blocklossResult.setLossCause("文书id插入成功,文书内容没有插入");
-                    //拼装病历数据块丢失明细其他信息
-                    assembleOtherBlocklossResult(blocklossResult);
-                    inInserts.add(blocklossResult);
-                });
+                //获取插入的文书
+                if (ListUtil.isNotEmpty(dataBases)) {
+                    List<String> havingRecIds = medicalRecordContentFacade.list(new QueryWrapper<MedicalRecordContent>()
+                            .select("rec_id")
+                            .in("rec_id", dataBases)).stream().map(MedicalRecordContent::getRecId).collect(Collectors.toList());
+                    List<String> tempList = new ArrayList<>(dataBases);
+                    //移除查出来有内容的文书
+                    tempList.removeAll(havingRecIds);
+                    Map<String, GetOperationLogDTO> recMap = EntityUtil.makeEntityMap(logs, "recId");
+                    //有文书id无内容文书
+                    tempList.stream().forEach(recId -> {
+                        //没有被记录过
+                        if (havingLossIds == null || !havingLossIds.contains(recId)) {
+                            BlocklossResult blocklossResult = new BlocklossResult();
+                            blocklossResult.setBehospitalCode(recMap.get(recId).getBehospitalCode());
+                            blocklossResult.setRecId(recId);
+                            blocklossResult.setRecTitle(recMap.get(recId).getRecTitle());
+                            blocklossResult.setLossWay(LossWayEnum.IN_LOSS.getKey());
+                            blocklossResult.setLossType(LossTypeEnum.REC_LOSS.getKey());
+                            blocklossResult.setLossCause("文书id插入成功,文书内容没有插入");
+                            blocklossResult.setBehospitalDate(hisMedicalRecordMap.get(recMap.get(recId).getBehospitalCode()).getBehospitalDate());
+                            //拼装病历数据块丢失明细其他信息
+                            assembleOtherBlocklossResult(blocklossResult);
+                            inInserts.add(blocklossResult);
+                        }
+                    });
+                }
+
                 break;
             case "1":
                 //病案首页丢失
                 logs.stream().forEach(homePages -> {
                     //存在记录但是没有入库
                     if (!dataBases.contains(homePages.getRecId())) {
-                        if (havingLossIds.contains(homePages.getRecId())) {
+                        if (havingLossIds == null || !havingLossIds.contains(homePages.getHomePageId())) {
                             BlocklossResult blocklossResult = new BlocklossResult();
                             blocklossResult.setBehospitalCode(homePages.getBehospitalCode());
                             blocklossResult.setRecId(homePages.getHomePageId());
                             blocklossResult.setRecTitle("病案首页丢失");
                             blocklossResult.setLossWay(LossWayEnum.IN_LOSS.getKey());
                             blocklossResult.setLossType(LossTypeEnum.HOMEPAGE_LOSS.getKey());
+                            blocklossResult.setBehospitalDate(hisMedicalRecordMap.get(homePages.getBehospitalCode()).getBehospitalDate());
                             //拼装病历数据块丢失明细其他信息
                             assembleOtherBlocklossResult(blocklossResult);
                             inInserts.add(blocklossResult);
@@ -319,11 +352,12 @@ public class BlockLossManagementFacade {
                 logs.stream().forEach(beHehospitalInfo -> {
                     //存在记录但是没有入库
                     if (!dataBases.contains(beHehospitalInfo.getBehospitalCode())) {
-                        if (havingLossIds.contains(beHehospitalInfo.getBehospitalCode())) {
+                        if (havingLossIds == null || !havingLossIds.contains(beHehospitalInfo.getBehospitalCode())) {
                             BlocklossResult blocklossResult = new BlocklossResult();
                             blocklossResult.setBehospitalCode(beHehospitalInfo.getBehospitalCode());
                             blocklossResult.setLossWay(LossWayEnum.IN_LOSS.getKey());
                             blocklossResult.setLossType(LossTypeEnum.CODE_LOSS.getKey());
+                            blocklossResult.setBehospitalDate(hisMedicalRecordMap.get(beHehospitalInfo.getBehospitalCode()).getBehospitalDate());
                             //拼装病历数据块丢失明细其他信息
                             assembleOtherBlocklossResult(blocklossResult);
                             inInserts.add(blocklossResult);
@@ -351,7 +385,7 @@ public class BlockLossManagementFacade {
                 case "0":
                     //文书丢失
                     List<String> redIds = medicalRecordFacade.list(new QueryWrapper<MedicalRecord>()
-                            .eq("hospital_id", SysUserUtils.getCurrentHospitalId())
+                            .eq("hospital_id", SysUserUtils.getCurrentHospitalId() != null ? SysUserUtils.getCurrentHospitalId() : 0)
                             .in("rec_id", lossResultMap.get(lossType).stream().map(BlocklossResult::getRecId).collect(Collectors.toList()))
                             .in("behospital_code", lossResultMap.get(lossType).stream().map(BlocklossResult::getBehospitalCode).collect(Collectors.toList()))
                             .eq("is_deleted", IsDeleteEnum.N.getKey()))
@@ -362,17 +396,18 @@ public class BlockLossManagementFacade {
                                 .set("solve_time", DateUtil.now())
                                 .set("gmt_modified", DateUtil.now())
                                 .set("status", LossStatusEnum.NOT_LOSS.getKey())
-                                .set("modifier", SysUserUtils.getCurrentPrincipleId())
+                                .set("modifier", SysUserUtils.getCurrentPrincipleId() != null ? SysUserUtils.getCurrentPrincipleId() + "" : "0")
+                                .eq("status", LossStatusEnum.IS_LOSS.getKey())
                                 .eq("loss_type", lossType)
                                 .eq("is_deleted", IsDeleteEnum.N.getKey())
-                                .eq("hospital_id", SysUserUtils.getCurrentHospitalId())
+                                .eq("hospital_id", SysUserUtils.getCurrentHospitalId() != null ? SysUserUtils.getCurrentHospitalId() : 0)
                                 .in("rec_id", redIds)));
                     }
                     break;
                 case "1":
                     //病案首页丢失
                     List<String> homePages = homePageFacade.list(new QueryWrapper<HomePage>()
-                            .eq("hospital_id", SysUserUtils.getCurrentHospitalId())
+                            .eq("hospital_id", SysUserUtils.getCurrentHospitalId() != null ? SysUserUtils.getCurrentHospitalId() : 0)
                             .in("home_page_id", lossResultMap.get(lossType).stream().map(BlocklossResult::getRecId).collect(Collectors.toList()))
                             .in("behospital_code", lossResultMap.get(lossType).stream().map(BlocklossResult::getBehospitalCode).collect(Collectors.toList()))
                             .eq("is_deleted", IsDeleteEnum.N.getKey()))
@@ -384,9 +419,10 @@ public class BlockLossManagementFacade {
                                 .set("solve_time", DateUtil.now())
                                 .set("gmt_modified", DateUtil.now())
                                 .set("status", LossStatusEnum.NOT_LOSS.getKey())
-                                .set("modifier", SysUserUtils.getCurrentPrincipleId())
+                                .set("modifier", SysUserUtils.getCurrentPrincipleId() != null ? SysUserUtils.getCurrentPrincipleId() + "" : "0")
+                                .eq("status", LossStatusEnum.IS_LOSS.getKey())
                                 .eq("loss_type", lossType)
-                                .eq("hospital_id", SysUserUtils.getCurrentHospitalId())
+                                .eq("hospital_id", SysUserUtils.getCurrentHospitalId() != null ? SysUserUtils.getCurrentHospitalId() : 0)
                                 .in("rec_id", homePages)
                                 .eq("is_deleted", IsDeleteEnum.N.getKey())));
                     }
@@ -394,7 +430,7 @@ public class BlockLossManagementFacade {
                 case "2":
                     //患者信息丢失
                     List<String> behospitalCodes = behospitalInfoFacade.list(new QueryWrapper<BehospitalInfo>()
-                            .eq("hospital_id", SysUserUtils.getCurrentHospitalId())
+                            .eq("hospital_id", SysUserUtils.getCurrentHospitalId() != null ? SysUserUtils.getCurrentHospitalId() : 0)
                             .in("behospital_code", lossResultMap.get(lossType).stream().map(BlocklossResult::getBehospitalCode).collect(Collectors.toList()))
                             .eq("is_deleted", IsDeleteEnum.N.getKey()))
                             .stream().map(BehospitalInfo::getBehospitalCode).collect(Collectors.toList());
@@ -404,10 +440,11 @@ public class BlockLossManagementFacade {
                                 .set("solve_time", DateUtil.now())
                                 .set("gmt_modified", DateUtil.now())
                                 .set("status", LossStatusEnum.NOT_LOSS.getKey())
-                                .set("modifier", SysUserUtils.getCurrentPrincipleId())
+                                .set("modifier", SysUserUtils.getCurrentPrincipleId() != null ? SysUserUtils.getCurrentPrincipleId() + "" : "0")
+                                .eq("status", LossStatusEnum.IS_LOSS.getKey())
                                 .eq("loss_type", lossType)
                                 .eq("is_deleted", IsDeleteEnum.N.getKey())
-                                .eq("hospital_id", SysUserUtils.getCurrentHospitalId())
+                                .eq("hospital_id", SysUserUtils.getCurrentHospitalId() != null ? SysUserUtils.getCurrentHospitalId() : 0)
                                 .in("behospital_code", behospitalCodes)));
                     }
                     break;
@@ -419,15 +456,21 @@ public class BlockLossManagementFacade {
     }
 
     /**
-     * @param medicalRecords his数据
-     * @param logs           日志数据
-     * @param type           对比类型:0:文书丢失 1:病案首页丢失 2:患者信息丢失
-     * @param outInserts     外部丢失插入集合
-     * @param havingLossIds  已经插入的id集合
+     * @param medicalRecords      his数据
+     * @param logs                日志数据
+     * @param type                对比类型:0:文书丢失 1:病案首页丢失 2:患者信息丢失
+     * @param outInserts          外部丢失插入集合
+     * @param havingLossIds       已经插入的id集合
+     * @param hisMedicalRecordMap his病历数据map(key-住院序号:value-人的his数据)
      * @Return void
      */
     private void compareHisWithLog(List<GetOperationLogDTO> medicalRecords, List<GetOperationLogDTO> logs,
-                                   String type, List<BlocklossResult> outInserts, List<String> havingLossIds) {
+                                   String type, List<BlocklossResult> outInserts, List<String> havingLossIds,
+                                   Map<String, HisMedicalRecordDTO> hisMedicalRecordMap) {
+        //his数据为空直接返回
+        if (ListUtil.isEmpty(medicalRecords)) {
+            return;
+        }
         switch (type) {
             case "0":
                 List<String> recLogs = logs.stream().map(GetOperationLogDTO::getRecId).collect(Collectors.toList());
@@ -436,13 +479,14 @@ public class BlockLossManagementFacade {
                     if (StringUtil.isNotEmpty(medicalRecord.getRecId())) {
                         if (!recLogs.contains(medicalRecord.getRecId())) {
                             //该记录没有插入
-                            if (ListUtil.isNotEmpty(havingLossIds) && !havingLossIds.contains(medicalRecord.getRecId())) {
+                            if (havingLossIds == null || ListUtil.isNotEmpty(havingLossIds) && !havingLossIds.contains(medicalRecord.getRecId())) {
                                 BlocklossResult blocklossResult = new BlocklossResult();
                                 blocklossResult.setBehospitalCode(medicalRecord.getBehospitalCode());
                                 blocklossResult.setRecId(medicalRecord.getRecId());
                                 blocklossResult.setRecTitle(medicalRecord.getRecTitle());
                                 blocklossResult.setLossWay(LossWayEnum.OUT_LOSS.getKey());
                                 blocklossResult.setLossType(LossTypeEnum.REC_LOSS.getKey());
+                                blocklossResult.setBehospitalDate(hisMedicalRecordMap.get(medicalRecord.getBehospitalCode()).getBehospitalDate());
                                 //拼装病历数据块丢失明细其他信息
                                 assembleOtherBlocklossResult(blocklossResult);
                                 outInserts.add(blocklossResult);
@@ -456,13 +500,14 @@ public class BlockLossManagementFacade {
                 medicalRecords.stream().forEach(medicalRecord -> {
                     //病案首页不存在操作记录
                     if (StringUtil.isNotEmpty(medicalRecord.getHomePageId()) && !homepageLogs.contains(medicalRecord.getHomePageId())) {
-                        if (ListUtil.isNotEmpty(havingLossIds) && !havingLossIds.contains(medicalRecord.getHomePageId())) {
+                        if (havingLossIds == null || ListUtil.isNotEmpty(havingLossIds) && !havingLossIds.contains(medicalRecord.getHomePageId())) {
                             BlocklossResult blocklossResult = new BlocklossResult();
                             blocklossResult.setBehospitalCode(medicalRecord.getBehospitalCode());
                             blocklossResult.setRecId(medicalRecord.getHomePageId());
                             blocklossResult.setRecTitle("病案首页丢失");
                             blocklossResult.setLossWay(LossWayEnum.OUT_LOSS.getKey());
                             blocklossResult.setLossType(LossTypeEnum.HOMEPAGE_LOSS.getKey());
+                            blocklossResult.setBehospitalDate(hisMedicalRecordMap.get(medicalRecord.getBehospitalCode()).getBehospitalDate());
                             //拼装病历数据块丢失明细其他信息
                             assembleOtherBlocklossResult(blocklossResult);
                             outInserts.add(blocklossResult);
@@ -475,11 +520,12 @@ public class BlockLossManagementFacade {
                 medicalRecords.stream().forEach(medicalRecord -> {
                     //病历数据不存在操作记录
                     if (!behospitalCodeLogs.contains(medicalRecord.getBehospitalCode())) {
-                        if (ListUtil.isNotEmpty(havingLossIds) && !havingLossIds.contains(medicalRecord.getBehospitalCode())) {
+                        if (havingLossIds == null || ListUtil.isNotEmpty(havingLossIds) && !havingLossIds.contains(medicalRecord.getBehospitalCode())) {
                             BlocklossResult blocklossResult = new BlocklossResult();
                             blocklossResult.setBehospitalCode(medicalRecord.getBehospitalCode());
                             blocklossResult.setLossWay(LossWayEnum.OUT_LOSS.getKey());
                             blocklossResult.setLossType(LossTypeEnum.CODE_LOSS.getKey());
+                            blocklossResult.setBehospitalDate(hisMedicalRecordMap.get(medicalRecord.getBehospitalCode()).getBehospitalDate());
                             //拼装病历数据块丢失明细其他信息
                             assembleOtherBlocklossResult(blocklossResult);
                             outInserts.add(blocklossResult);
@@ -524,9 +570,9 @@ public class BlockLossManagementFacade {
      * @Return java.util.List<com.lantone.daqe.dto.HisMedicalRecordDTO>
      */
     private List<HisMedicalRecordDTO> getHisMedicalRecords(DataCompareVO dataCompareVO) {
+        //技术服务部接口 /balance/data/getDataCount
         //###模拟
-
-        return new ArrayList<>();
+        return hisDataManagementFacade.getHisMedicalRecords(dataCompareVO);
     }
 
     /**
@@ -540,33 +586,67 @@ public class BlockLossManagementFacade {
                 "save/saveHomePages",
                 "save/saveRecs"));
 
+        DataCompareVO dataCompareVO = new DataCompareVO();
+        dataCompareVO.setStartDate(blockLossTypeGatherVO.getStartDate());
+        dataCompareVO.setEndDate(blockLossTypeGatherVO.getEndDate());
+        //获取his数据
+        List<HisMedicalRecordDTO> hisMedicalRecords = getHisMedicalRecords(dataCompareVO);
+
         BlockLossTypeGatherDTO blockLossTypeGatherDTO = new BlockLossTypeGatherDTO();
+        //his数据量
+        blockLossTypeGatherDTO.setHisNum(getHisMedicalRecordsCount(hisMedicalRecords));
+
         //获取该时间段的日志数量
-        Integer logNum = operationLogService.getOperationLogNum(blockLossTypeGatherVO).getData();
-        blockLossTypeGatherDTO.setLogNum(logNum);
+        //病历数据
+        dataCompareVO.setOperationUrl("save/saveBehospitalCode");
+        List<GetOperationLogDTO> behospitalCodeLogs = getOperationLogs(dataCompareVO);
+        //病案首页数据
+        List<GetOperationLogDTO> homePageLogs = new ArrayList<>();
+        //文书数据
+        List<GetOperationLogDTO> recLogs = new ArrayList<>();
+
+        if (ListUtil.isNotEmpty(behospitalCodeLogs)) {
+            List<String> logCodes = behospitalCodeLogs.stream().map(GetOperationLogDTO::getBehospitalCode).collect(Collectors.toList());
+            dataCompareVO.setBehospitalCodes(logCodes);
+            //病案首页数据
+            dataCompareVO.setOperationUrl("save/saveHomePages");
+            homePageLogs = getOperationLogs(dataCompareVO);
+            //文书数据
+            dataCompareVO.setOperationUrl("save/saveRecs");
+            recLogs = getOperationLogs(dataCompareVO);
+            Integer logNum = logCodes.size() + homePageLogs.size() + recLogs.size();
+            blockLossTypeGatherDTO.setLogNum(logNum);
+        }
+
         //获取该时间段的实际数量
-        Integer codeNum = behospitalInfoFacade.count(new QueryWrapper<BehospitalInfo>()
-                .eq("hospital_id", SysUserUtils.getCurrentHospitalId())
-                .ge(blockLossTypeGatherVO.getStartDate() != null, "gmt_create", blockLossTypeGatherVO.getStartDate())
-                .le(blockLossTypeGatherVO.getStartDate() != null, "gmt_create", blockLossTypeGatherVO.getEndDate()));
-        Integer homePageNum = homePageFacade.count(new QueryWrapper<HomePage>()
-                .eq("hospital_id", SysUserUtils.getCurrentHospitalId())
-                .ge(blockLossTypeGatherVO.getStartDate() != null, "gmt_create", blockLossTypeGatherVO.getStartDate())
-                .le(blockLossTypeGatherVO.getStartDate() != null, "gmt_create", blockLossTypeGatherVO.getEndDate()));
-        Integer recNum = medicalRecordFacade.count(new QueryWrapper<MedicalRecord>()
-                .eq("hospital_id", SysUserUtils.getCurrentHospitalId())
-                .ge(blockLossTypeGatherVO.getStartDate() != null, "gmt_create", blockLossTypeGatherVO.getStartDate())
-                .le(blockLossTypeGatherVO.getStartDate() != null, "gmt_create", blockLossTypeGatherVO.getEndDate()));
+        List<String> codes = behospitalInfoFacade.list(new QueryWrapper<BehospitalInfo>()
+                .eq("hospital_id", SysUserUtils.getCurrentHospitalId() != null ? SysUserUtils.getCurrentHospitalId() : 0)
+                .ge(blockLossTypeGatherVO.getStartDate() != null, "behospital_date", blockLossTypeGatherVO.getStartDate())
+                .le(blockLossTypeGatherVO.getEndDate() != null, "behospital_date", blockLossTypeGatherVO.getEndDate()))
+                .stream().map(BehospitalInfo::getBehospitalCode).collect(Collectors.toList());
+
+        Integer codeNum = codes.size();
+        Integer homePageNum = 0;
+        Integer recNum = 0;
+        if (ListUtil.isNotEmpty(codes)) {
+            homePageNum = homePageFacade.count(new QueryWrapper<HomePage>()
+                    .eq("hospital_id", SysUserUtils.getCurrentHospitalId() != null ? SysUserUtils.getCurrentHospitalId() : 0)
+                    .in("behospital_code", codes));
+            recNum = medicalRecordFacade.count(new QueryWrapper<MedicalRecord>()
+                    .eq("hospital_id", SysUserUtils.getCurrentHospitalId() != null ? SysUserUtils.getCurrentHospitalId() : 0)
+                    .in("behospital_code", codes));
+        }
+
         blockLossTypeGatherDTO.setRealNum(codeNum + homePageNum + recNum);
         //获取该时间段的丢失数量
         List<BlocklossResult> blocklossResults = blocklossResultFacade.list(new QueryWrapper<BlocklossResult>()
-                .eq("hospital_id", SysUserUtils.getCurrentHospitalId())
+                .eq("hospital_id", SysUserUtils.getCurrentHospitalId() != null ? SysUserUtils.getCurrentHospitalId() : 0)
                 .eq("status", LossStatusEnum.IS_LOSS.getKey())
-                .ge(blockLossTypeGatherVO.getStartDate() != null, "gmt_create", blockLossTypeGatherVO.getStartDate())
-                .le(blockLossTypeGatherVO.getStartDate() != null, "gmt_create", blockLossTypeGatherVO.getEndDate()));
+                .ge(blockLossTypeGatherVO.getStartDate() != null, "behospital_date", blockLossTypeGatherVO.getStartDate())
+                .le(blockLossTypeGatherVO.getEndDate() != null, "behospital_date", blockLossTypeGatherVO.getEndDate()));
         Integer allLossNum = blocklossResults.size();
         blockLossTypeGatherDTO.setAllLossNum(allLossNum);
-        blockLossTypeGatherDTO.setHisNum(logNum + allLossNum);
+        //        blockLossTypeGatherDTO.setHisNum(codeNum + homePageNum + recNum + allLossNum);
 
         Map<String, List<BlocklossResult>> lossWayMap = EntityUtil.makeEntityListMap(blocklossResults, "lossWay");
         //外部丢失
@@ -611,4 +691,43 @@ public class BlockLossManagementFacade {
         }
         return blockLossTypeGatherDTO;
     }
+
+    /**
+     * 获取这段时间内his的数据量
+     *
+     * @param hisMedicalRecords
+     * @Return java.lang.Integer
+     */
+    private Integer getHisMedicalRecordsCount(List<HisMedicalRecordDTO> hisMedicalRecords) {
+
+        AtomicReference<Integer> num = new AtomicReference<>(0);
+        if (ListUtil.isNotEmpty(hisMedicalRecords)) {
+            hisMedicalRecords.stream().forEach(hisMedicalRecordDTO -> {
+                //病历+1
+                num.getAndSet(num.get() + 1);
+                //病案首页+1
+                if (StringUtil.isNotEmpty(hisMedicalRecordDTO.getHomePageId())) {
+                    num.getAndSet(num.get() + 1);
+                }
+                //文书
+                if (ListUtil.isNotEmpty(hisMedicalRecordDTO.getHisRecs())) {
+                    num.getAndSet(num.get() + hisMedicalRecordDTO.getHisRecs().size());
+                }
+
+            });
+        }
+        return num.get();
+    }
+
+    /**
+     * 数据补录
+     *
+     * @param dataRepariVO
+     * @Return boolean
+     */
+    public boolean dataRepari(DataRepariVO dataRepariVO) {
+        //调用数据补录服务
+
+        return hisDataManagementFacade.dataRepari(dataRepariVO);
+    }
 }

+ 22 - 5
daqe-center/src/main/java/com/lantone/daqe/facade/ColumnResultManagementFacade.java

@@ -57,7 +57,7 @@ import java.util.List;
 
 
 /**
- * @Description: 字段校验问题明细维护API
+ * @Description: 字段校验问题明细维护API-业务处理类
  * @author: zhanghang
  * @time: 2022/3/8 14:49
  */
@@ -91,7 +91,7 @@ public class ColumnResultManagementFacade {
     public IPage<GetColumnResultPageDTO> getColumnResultPage(GetColumnResultPageVO getColumnResultPageVO) {
         Page<GetColumnResultPageDTO> getColumnResultPageDTOPage = new Page<>();
         Long currentHospitalId = SysUserUtils.getCurrentHospitalId();
-        getColumnResultPageVO.setHospitalId(SysUserUtils.getCurrentHospitalId()==null?4:SysUserUtils.getCurrentHospitalId());
+        getColumnResultPageVO.setHospitalId(currentHospitalId);
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         String startDate = null;
         String endDate = null;
@@ -130,7 +130,7 @@ public class ColumnResultManagementFacade {
      */
     public GetColumnResultNumberDTO getColumnResultNumber(GetColumnResultNumberVO getColumnResultNumberVO) {
         Long currentHospitalId = SysUserUtils.getCurrentHospitalId();
-        getColumnResultNumberVO.setHospitalId(SysUserUtils.getCurrentHospitalId()==null?4:SysUserUtils.getCurrentHospitalId());
+        getColumnResultNumberVO.setHospitalId(currentHospitalId);
         return columnResultFacade.getBaseMapper().getColumnResultNumber(getColumnResultNumberVO);
     }
 
@@ -235,7 +235,7 @@ public class ColumnResultManagementFacade {
      */
     public Boolean dataCheck(DataCheckVO dataCheckVO) {
         Long currentHospitalId = SysUserUtils.getCurrentHospitalId();
-        dataCheckVO.setHospitalId(SysUserUtils.getCurrentHospitalId()==null?4:SysUserUtils.getCurrentHospitalId());
+        dataCheckVO.setHospitalId(currentHospitalId);
         String behospitalCode = dataCheckVO.getBehospitalCode();
         //传入BehospitalCode 只针对单个病历进行校验
         if (StringUtil.isNotEmpty(behospitalCode)) {
@@ -267,6 +267,7 @@ public class ColumnResultManagementFacade {
                             getTableColumnInfoVO.setTableEname(columnInfo.getTableEname());
                             getTableColumnInfoVO.setBehospitalCode(columnResult.getBehospitalCode());
                             getTableColumnInfoVO.setHospitalId(dataCheckVO.getHospitalId());
+                            getTableColumnInfoVO.setIsPlacefile(dataCheckVO.getIsPlacefile());
                             String columnNumber = getColumnNumber(columnInfo.getTableCname());
                             getTableColumnInfoVO.setNumberColumnCname(columnNumber);
                             List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO);
@@ -315,6 +316,7 @@ public class ColumnResultManagementFacade {
                             getTableColumnInfoVO.setTableEname(columnInfo.getTableEname());
                             getTableColumnInfoVO.setBehospitalCode(columnResult.getBehospitalCode());
                             getTableColumnInfoVO.setHospitalId(dataCheckVO.getHospitalId());
+                            getTableColumnInfoVO.setIsPlacefile(dataCheckVO.getIsPlacefile());
                             String columnNumber = getColumnNumber(columnInfo.getTableCname());
                             getTableColumnInfoVO.setNumberColumnCname(columnNumber);
                             List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO);
@@ -356,6 +358,7 @@ public class ColumnResultManagementFacade {
                             getTableColumnInfoVO.setTableCname(columnInfo.getTableCname());
                             getTableColumnInfoVO.setTableEname(columnInfo.getTableEname());
                             getTableColumnInfoVO.setBehospitalCode(columnResult.getBehospitalCode());
+                            getTableColumnInfoVO.setIsPlacefile(dataCheckVO.getIsPlacefile());
                             getTableColumnInfoVO.setHospitalId(dataCheckVO.getHospitalId());
                             String columnNumber = getColumnNumber(columnInfo.getTableCname());
                             getTableColumnInfoVO.setNumberColumnCname(columnNumber);
@@ -389,7 +392,7 @@ public class ColumnResultManagementFacade {
             //再去除该时间段所有病历中去除病历中已通过的字段
             List<BehospitalInfo> behospitalInfos = behospitalInfoFacade.getBaseMapper().selectList(new QueryWrapper<BehospitalInfo>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .eq("is_placefile", 1)
+                    .eq("is_placefile", dataCheckVO.getIsPlacefile())
                     .ge("behospital_date", dataCheckVO.getDateStart())
                     .le("behospital_date", dataCheckVO.getDateEnd())
             );
@@ -419,6 +422,7 @@ public class ColumnResultManagementFacade {
                         getTableColumnInfoVO.setTableEname(columnInfo.getTableEname());
                         getTableColumnInfoVO.setBehospitalCode(behospitalCode1);
                         getTableColumnInfoVO.setHospitalId(dataCheckVO.getHospitalId());
+                        getTableColumnInfoVO.setIsPlacefile(dataCheckVO.getIsPlacefile());
                         String columnNumber = getColumnNumber(columnInfo.getTableCname());
                         getTableColumnInfoVO.setNumberColumnCname(columnNumber);
                         List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO);
@@ -483,6 +487,7 @@ public class ColumnResultManagementFacade {
                         getTableColumnInfoVO.setTableEname(columnInfo.getTableEname());
                         getTableColumnInfoVO.setBehospitalCode(behospitalCode1);
                         getTableColumnInfoVO.setHospitalId(dataCheckVO.getHospitalId());
+                        getTableColumnInfoVO.setIsPlacefile(dataCheckVO.getIsPlacefile());
                         String columnNumber = getColumnNumber(columnInfo.getTableCname());
                         getTableColumnInfoVO.setNumberColumnCname(columnNumber);
                         List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO);
@@ -553,6 +558,7 @@ public class ColumnResultManagementFacade {
                         getTableColumnInfoVO.setTableEname(columnInfo.getTableEname());
                         getTableColumnInfoVO.setBehospitalCode(behospitalCode1);
                         getTableColumnInfoVO.setHospitalId(dataCheckVO.getHospitalId());
+                        getTableColumnInfoVO.setIsPlacefile(dataCheckVO.getIsPlacefile());
                         String columnNumber = getColumnNumber(columnInfo.getTableCname());
                         getTableColumnInfoVO.setNumberColumnCname(columnNumber);
                         List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO);
@@ -647,6 +653,7 @@ public class ColumnResultManagementFacade {
                     getTableColumnInfoVO.setTableEname(columnInfo.getTableEname());
                     getTableColumnInfoVO.setBehospitalCode(dataCheckVO.getBehospitalCode());
                     getTableColumnInfoVO.setHospitalId(dataCheckVO.getHospitalId());
+                    getTableColumnInfoVO.setIsPlacefile(dataCheckVO.getIsPlacefile());
                     String columnNumber = getColumnNumber(columnInfo.getTableCname());
                     getTableColumnInfoVO.setNumberColumnCname(columnNumber);
                     List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO);
@@ -727,6 +734,7 @@ public class ColumnResultManagementFacade {
                     getTableColumnInfoVO.setTableEname(columnInfo.getTableEname());
                     getTableColumnInfoVO.setBehospitalCode(dataCheckVO.getBehospitalCode());
                     getTableColumnInfoVO.setHospitalId(dataCheckVO.getHospitalId());
+                    getTableColumnInfoVO.setIsPlacefile(dataCheckVO.getIsPlacefile());
                     String columnNumber = getColumnNumber(columnInfo.getTableCname());
                     getTableColumnInfoVO.setNumberColumnCname(columnNumber);
                     List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO);
@@ -802,6 +810,7 @@ public class ColumnResultManagementFacade {
                     getTableColumnInfoVO.setTableEname(columnInfo.getTableEname());
                     getTableColumnInfoVO.setBehospitalCode(dataCheckVO.getBehospitalCode());
                     getTableColumnInfoVO.setHospitalId(dataCheckVO.getHospitalId());
+                    getTableColumnInfoVO.setIsPlacefile(dataCheckVO.getIsPlacefile());
                     String columnNumber = getColumnNumber(columnInfo.getTableCname());
                     getTableColumnInfoVO.setNumberColumnCname(columnNumber);
                     List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO);
@@ -936,6 +945,7 @@ public class ColumnResultManagementFacade {
                     .set("is_solved", SolvedStatusEnum.NOT_SOLVED.getKey())
                     .set("solve_time", new Date())
                     .set("hospital_data_code", getTableColumnInfoDTO.getNumberId())
+                    .set("gmt_modified",new Date())
             );
         }
         //已解决修改
@@ -950,6 +960,7 @@ public class ColumnResultManagementFacade {
                     .set("is_solved", SolvedStatusEnum.IS_SOLVED.getKey())
                     .set("solve_time", new Date())
                     .set("hospital_data_code", getTableColumnInfoDTO.getNumberId())
+                    .set("gmt_modified",new Date())
             );
         }
     }
@@ -975,6 +986,7 @@ public class ColumnResultManagementFacade {
                     .set("is_solved", SolvedStatusEnum.NOT_SOLVED.getKey())
                     .set("solve_time", new Date())
                     .set("hospital_data_code", getTableColumnInfoDTO.getNumberId())
+                    .set("gmt_modified",new Date())
             );
         }
         //已解决修改
@@ -989,6 +1001,7 @@ public class ColumnResultManagementFacade {
                     .set("is_solved", SolvedStatusEnum.IS_SOLVED.getKey())
                     .set("solve_time", new Date())
                     .set("hospital_data_code", getTableColumnInfoDTO.getNumberId())
+                    .set("gmt_modified",new Date())
             );
         }
     }
@@ -1015,6 +1028,7 @@ public class ColumnResultManagementFacade {
                     .set("solve_time", new Date())
                     .set("hospital_data_code", getTableColumnInfoDTO.getNumberId())
                     .set("mappings", standardvalueMapping)
+                    .set("gmt_modified",new Date())
             );
         }
         //已解决修改
@@ -1030,6 +1044,7 @@ public class ColumnResultManagementFacade {
                     .set("solve_time", new Date())
                     .set("hospital_data_code", getTableColumnInfoDTO.getNumberId())
                     .set("mappings", standardvalueMapping)
+                    .set("gmt_modified",new Date())
             );
         }
     }
@@ -1055,6 +1070,7 @@ public class ColumnResultManagementFacade {
                     .set("is_solved", SolvedStatusEnum.NOT_SOLVED.getKey())
                     .set("solve_time", new Date())
                     .set("hospital_data_code", getTableColumnInfoDTO.getNumberId())
+                    .set("gmt_modified",new Date())
             );
         }
         //已解决修改
@@ -1069,6 +1085,7 @@ public class ColumnResultManagementFacade {
                     .set("is_solved", SolvedStatusEnum.IS_SOLVED.getKey())
                     .set("solve_time", new Date())
                     .set("hospital_data_code", getTableColumnInfoDTO.getNumberId())
+                    .set("gmt_modified",new Date())
             );
         }
     }

+ 33 - 17
daqe-center/src/main/java/com/lantone/daqe/facade/ColumnVerifyManagementFacade.java

@@ -10,6 +10,7 @@ import com.lantone.common.util.ListUtil;
 import com.lantone.common.util.StringUtil;
 import com.lantone.common.util.SysUserUtils;
 import com.lantone.daqe.dto.GetByIdColumnVerifyDTO;
+import com.lantone.daqe.dto.GetColumnDTO;
 import com.lantone.daqe.dto.GetColumnInfoDTO;
 import com.lantone.daqe.dto.GetColumnNameDTO;
 import com.lantone.daqe.dto.GetColumnVerifyPageDTO;
@@ -29,6 +30,7 @@ import com.lantone.daqe.facade.base.NonnullInfoFacade;
 import com.lantone.daqe.facade.base.RegularInfoFacade;
 import com.lantone.daqe.facade.base.RegularMappingFacade;
 import com.lantone.daqe.facade.base.StandardvalueInfoFacade;
+import com.lantone.daqe.vo.AddColumnVO;
 import com.lantone.daqe.vo.AddColumnVerifyVO;
 import com.lantone.daqe.vo.ColumnInfoVO;
 import com.lantone.daqe.vo.DelColumnVerifyVO;
@@ -47,7 +49,7 @@ import java.util.Date;
 import java.util.List;
 
 /**
- * @Description: 字段校验规则维护API
+ * @Description: 字段校验规则维护API-业务处理类
  * @author: zhanghang
  * @time: 2022/3/1 10:14
  */
@@ -76,7 +78,7 @@ public class ColumnVerifyManagementFacade {
      */
     public IPage<GetColumnVerifyPageDTO> getColumnVerifyPage(GetColumnVerifyPageVO getColumnVerifyPageVO) {
         Long currentHospitalId = SysUserUtils.getCurrentHospitalId();
-        getColumnVerifyPageVO.setHospitalId(SysUserUtils.getCurrentHospitalId()==null?4:SysUserUtils.getCurrentHospitalId());
+        getColumnVerifyPageVO.setHospitalId(currentHospitalId);
         return columnVerifyFacade.getBaseMapper().getColumnVerifyPage(getColumnVerifyPageVO);
     }
 
@@ -92,7 +94,7 @@ public class ColumnVerifyManagementFacade {
                 .eq("column_id", getByIdColumnVerifyVO.getColumnId())
         );
         GetByIdColumnVerifyDTO byIdColumnVerify = columnVerifyFacade.getBaseMapper().getByIdColumnVerify(getByIdColumnVerifyVO);
-        if(mappingFacadeOne!=null) {
+        if (mappingFacadeOne != null) {
             RegularInfo one = regularInfoFacade.getOne(new QueryWrapper<RegularInfo>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
                     .eq("id", mappingFacadeOne.getRegularId())
@@ -196,7 +198,7 @@ public class ColumnVerifyManagementFacade {
      */
     public Boolean addColumnVerify(AddColumnVerifyVO addColumnVerifyVO) {
         Long currentHospitalId = SysUserUtils.getCurrentHospitalId();
-        addColumnVerifyVO.setHospitalId(SysUserUtils.getCurrentHospitalId()==null?4:SysUserUtils.getCurrentHospitalId());
+        addColumnVerifyVO.setHospitalId(currentHospitalId);
         List<ColumnInfoVO> columnList = addColumnVerifyVO.getColumnList();
         //查出表列信息ID
         for (ColumnInfoVO columnInfoVO : columnList) {
@@ -346,37 +348,29 @@ public class ColumnVerifyManagementFacade {
         }
         //非空
         if (ListUtil.isNotEmpty(nonnullId)) {
-            nonnullInfo = nonnullInfoFacade.update(new UpdateWrapper<NonnullInfo>()
+            nonnullInfo = nonnullInfoFacade.remove(new UpdateWrapper<NonnullInfo>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
                     .in("id", nonnullId)
-                    .set("is_deleted", IsDeleteEnum.Y.getKey())
-                    .set("gmt_modified", new Date())
             );
         }
         //关键值
         if (ListUtil.isNotEmpty(standardValueId)) {
-            tandardvalueInfo = standardvalueInfoFacade.update(new UpdateWrapper<StandardvalueInfo>()
+            tandardvalueInfo = standardvalueInfoFacade.remove(new UpdateWrapper<StandardvalueInfo>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
                     .in("id", standardValueId)
-                    .set("is_deleted", IsDeleteEnum.Y.getKey())
-                    .set("gmt_modified", new Date())
             );
         }
         //正则
         if (ListUtil.isNotEmpty(regularId)) {
-            regular = regularMappingFacade.update(new UpdateWrapper<RegularMapping>()
+            regular = regularMappingFacade.remove(new UpdateWrapper<RegularMapping>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
                     .in("id", regularId)
-                    .set("is_deleted", IsDeleteEnum.Y.getKey())
-                    .set("gmt_modified", new Date())
             );
         }
         if (nonnullInfo && tandardvalueInfo && regular) {
-            boolean update = columnVerifyFacade.update(new UpdateWrapper<ColumnVerify>()
+            boolean update = columnVerifyFacade.remove(new UpdateWrapper<ColumnVerify>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
                     .in("column_id", ids)
-                    .set("is_deleted", IsDeleteEnum.Y.getKey())
-                    .set("gmt_modified", new Date())
             );
             if (update) {
                 return true;
@@ -394,7 +388,7 @@ public class ColumnVerifyManagementFacade {
      */
     public Boolean updateColumnVerify(UpdateColumnVerifyVO updateColumnVerifyVO) {
         Long currentHospitalId = SysUserUtils.getCurrentHospitalId();
-        updateColumnVerifyVO.setHospitalId(SysUserUtils.getCurrentHospitalId()==null?4:SysUserUtils.getCurrentHospitalId());
+        updateColumnVerifyVO.setHospitalId(currentHospitalId);
         List<ColumnInfoVO> columnList = updateColumnVerifyVO.getColumnList();
         AddColumnVerifyVO addColumnVerifyVO = new AddColumnVerifyVO();
         List<ColumnInfoVO> columnInfoAdd = new ArrayList<>();
@@ -574,4 +568,26 @@ public class ColumnVerifyManagementFacade {
         }
         return true;
     }
+
+    /**
+     * 根据表名新增字段信息
+     *
+     * @param addColumnVO
+     * @return:
+     */
+    public Boolean addColumn(AddColumnVO addColumnVO) {
+        //根据表名查出所有字段及其注释信息
+        List<GetColumnDTO> columnDTOS = columnVerifyFacade.getBaseMapper().getColumn(addColumnVO);
+        ColumnInfo columnInfo = new ColumnInfo();
+        columnInfo.setTableCname(addColumnVO.getTableCname());
+        columnInfo.setTableEname(addColumnVO.getTableEname());
+        columnInfo.setType("1");
+        for (GetColumnDTO columnDTO : columnDTOS) {
+            columnInfo.setGmtCreate(new Date());
+            columnInfo.setColumnCname(columnDTO.getColumnComment());
+            columnInfo.setColumnEname(columnDTO.getColumnName());
+            columnInfoFacade.getBaseMapper().insert(columnInfo);
+        }
+        return true;
+    }
 }

+ 50 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/CurrencyManagementFacade.java

@@ -0,0 +1,50 @@
+package com.lantone.daqe.facade;
+
+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.lantone.common.enums.IsDeleteEnum;
+import com.lantone.common.util.BeanUtil;
+import com.lantone.common.util.StringUtil;
+import com.lantone.daqe.dto.GetConceptLibraryPageDTO;
+import com.lantone.daqe.entity.ConceptLibrary;
+import com.lantone.daqe.enums.ConceptLibraryTypeEnum;
+import com.lantone.daqe.facade.base.ConceptLibraryFacade;
+import com.lantone.daqe.vo.GetConceptLibraryPageVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description: 通用处理API-业务处理类
+ * @author: rengb
+ * @time: 2022/3/1 10:14
+ */
+@Component
+public class CurrencyManagementFacade {
+
+    @Autowired
+    private ConceptLibraryFacade conceptLibraryFacade;
+
+    public IPage<GetConceptLibraryPageDTO> getConceptLibraryPage(GetConceptLibraryPageVO getConceptLibraryPageVO) {
+        IPage<GetConceptLibraryPageDTO> getConceptLibraryPageDTOIPage = new Page<>();
+
+        QueryWrapper<ConceptLibrary> conceptLibraryQueryWrapper = new QueryWrapper<>();
+        conceptLibraryQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        conceptLibraryQueryWrapper.eq("type", getConceptLibraryPageVO.getType());
+        conceptLibraryQueryWrapper.like(StringUtil.isNotBlank(getConceptLibraryPageVO.getWord()), "synonym", getConceptLibraryPageVO.getWord());
+
+        Page<ConceptLibrary> conceptLibraryIPage = new Page<>(getConceptLibraryPageVO.getCurrent(), getConceptLibraryPageVO.getSize());
+        conceptLibraryFacade.page(conceptLibraryIPage, conceptLibraryQueryWrapper);
+        BeanUtil.copyProperties(conceptLibraryIPage, getConceptLibraryPageDTOIPage);
+
+        List<GetConceptLibraryPageDTO> getConceptLibraryPageDTOList = BeanUtil.listCopyTo(conceptLibraryIPage.getRecords(), GetConceptLibraryPageDTO.class);
+        getConceptLibraryPageDTOList.forEach(i -> {
+            i.setType(ConceptLibraryTypeEnum.getName(i.getType()));
+        });
+        getConceptLibraryPageDTOIPage.setRecords(getConceptLibraryPageDTOList);
+        return getConceptLibraryPageDTOIPage;
+    }
+
+}

+ 2 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/DiseaseManagementFacade.java

@@ -144,6 +144,8 @@ public class DiseaseManagementFacade {
 
         DiseaseInfo diseaseInfo = new DiseaseInfo();
         BeanUtils.copyProperties(matchingDiseaseVO, diseaseInfo);
+        diseaseInfo.setModifier(SysUserUtils.getCurrentPrinciple() == null ? "0" : SysUserUtils.getCurrentPrinciple());
+        diseaseInfo.setGmtModified(DateUtil.now());
         return diseaseInfoFacade.updateById(diseaseInfo);
     }
 

+ 2 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/DrugManagementFacade.java

@@ -146,6 +146,8 @@ public class DrugManagementFacade {
         DrugInfo drugInfo = new DrugInfo();
         BeanUtils.copyProperties(matchingDrugVO, drugInfo);
         drugInfo.setStandard(matchingDrugVO.getStandard() + "_" + matchingDrugVO.getDosageForm());
+        drugInfo.setModifier(SysUserUtils.getCurrentPrinciple() == null ? "0" : SysUserUtils.getCurrentPrinciple());
+        drugInfo.setGmtModified(DateUtil.now());
         return drugInfoFacade.updateById(drugInfo);
     }
 

+ 192 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/HisDataManagementFacade.java

@@ -0,0 +1,192 @@
+package com.lantone.daqe.facade;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.lantone.common.enums.IsDeleteEnum;
+import com.lantone.common.exception.Asserts;
+import com.lantone.common.util.BeanUtil;
+import com.lantone.common.util.EntityUtil;
+import com.lantone.common.util.ListUtil;
+import com.lantone.common.util.StringUtil;
+import com.lantone.common.vo.DataCompareVO;
+import com.lantone.common.vo.DataRepariVO;
+import com.lantone.daqe.dto.HisMedicalRecordDTO;
+import com.lantone.daqe.dto.HisRecDTO;
+import com.lantone.daqe.entity.BehospitalInfo;
+import com.lantone.daqe.entity.HisBehospitalInfo;
+import com.lantone.daqe.entity.HisHomePage;
+import com.lantone.daqe.entity.HisMedicalRecord;
+import com.lantone.daqe.entity.HisMedicalRecordContent;
+import com.lantone.daqe.entity.HomePage;
+import com.lantone.daqe.entity.MedicalRecord;
+import com.lantone.daqe.entity.MedicalRecordContent;
+import com.lantone.daqe.facade.base.HisBehospitalInfoFacade;
+import com.lantone.daqe.facade.base.HisHomePageFacade;
+import com.lantone.daqe.facade.base.HisMedicalRecordContentFacade;
+import com.lantone.daqe.facade.base.HisMedicalRecordFacade;
+import com.lantone.daqe.service.impl.BehospitalInfoServiceImpl;
+import com.lantone.daqe.service.impl.HomePageServiceImpl;
+import com.lantone.daqe.service.impl.MedicalRecordContentServiceImpl;
+import com.lantone.daqe.service.impl.MedicalRecordServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @Description: His数据模拟对接-业务处理类
+ * @author: songxl
+ * @time: 2022/3/4 10:39
+ */
+@Component
+public class HisDataManagementFacade {
+    @Autowired
+    private HisBehospitalInfoFacade hisBehospitalInfoFacade;
+    @Autowired
+    private HisHomePageFacade hisHomePageFacade;
+    @Autowired
+    private HisMedicalRecordFacade hisMedicalRecordFacade;
+    @Autowired
+    private HisMedicalRecordContentFacade hisMedicalRecordContentFacade;
+
+    @Autowired
+    private BehospitalInfoServiceImpl behospitalInfoServiceImpl;
+    @Autowired
+    private HomePageServiceImpl homePageServiceImpl;
+    @Autowired
+    private MedicalRecordServiceImpl medicalRecordServiceImpl;
+    @Autowired
+    private MedicalRecordContentServiceImpl medicalRecordContentServiceImpl;
+
+
+    /**
+     * 数据补录
+     *
+     * @param dataRepariVO
+     * @Return boolean
+     */
+    public boolean dataRepari(DataRepariVO dataRepariVO) {
+        //=====获取his数据
+        //病历数据
+        List<HisBehospitalInfo> hisBehospitalInfos = hisBehospitalInfoFacade.list(new QueryWrapper<HisBehospitalInfo>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .ge(dataRepariVO.getStartDate() != null && StringUtil.isBlank(dataRepariVO.getBehospitalCode()), "behospital_date", dataRepariVO.getStartDate())
+                .le(dataRepariVO.getEndDate() != null && StringUtil.isBlank(dataRepariVO.getBehospitalCode()), "behospital_date", dataRepariVO.getEndDate())
+                .eq(StringUtil.isNotBlank(dataRepariVO.getBehospitalCode()), "behospital_code", dataRepariVO.getBehospitalCode()));
+        //通过病历获取病案首页和文书
+        if (ListUtil.isEmpty(hisBehospitalInfos)) {
+            return true;
+        }
+        List<String> codes = hisBehospitalInfos.stream().map(HisBehospitalInfo::getBehospitalCode).collect(Collectors.toList());
+
+        //病案首页
+        List<HisHomePage> hisHomePages = hisHomePageFacade.list(new QueryWrapper<HisHomePage>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .in("behospital_code", codes));
+
+        //文书
+        List<HisMedicalRecord> hisMedicalRecords = hisMedicalRecordFacade.list(new QueryWrapper<HisMedicalRecord>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .in("behospital_code", codes));
+        List<HisMedicalRecordContent> hisMedicalRecordContents = null;
+        if (ListUtil.isNotEmpty(hisMedicalRecords)) {
+            hisMedicalRecordContents = hisMedicalRecordContentFacade.list(new QueryWrapper<HisMedicalRecordContent>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("rec_id", hisMedicalRecords.stream().map(HisMedicalRecord::getRecId).collect(Collectors.toList())));
+        }
+
+        //=====删除以插入病历数据,重新插入
+        behospitalInfoServiceImpl.remove(new UpdateWrapper<BehospitalInfo>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .in("behospital_code", codes));
+        homePageServiceImpl.remove(new UpdateWrapper<HomePage>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .in("behospital_code", codes));
+
+        //删除文书内容
+        List<String> delRecIds = medicalRecordServiceImpl.list(new QueryWrapper<MedicalRecord>().select("rec_id")
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .in("behospital_code", codes))
+                .stream().map(MedicalRecord::getRecId).collect(Collectors.toList());
+        if (ListUtil.isNotEmpty(delRecIds)) {
+            medicalRecordContentServiceImpl.remove(new UpdateWrapper<MedicalRecordContent>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("rec_id", delRecIds));
+        }
+        //删除文书
+        medicalRecordServiceImpl.remove(new UpdateWrapper<MedicalRecord>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .in("behospital_code", codes));
+
+        //插入新查出的his数据
+        try {
+            behospitalInfoServiceImpl.saveBatch(BeanUtil.listCopyTo(hisBehospitalInfos, BehospitalInfo.class));
+            homePageServiceImpl.saveBatch(BeanUtil.listCopyTo(hisHomePages, HomePage.class));
+            medicalRecordServiceImpl.saveBatch(BeanUtil.listCopyTo(hisMedicalRecords, MedicalRecord.class));
+            if (ListUtil.isNotEmpty(hisMedicalRecordContents)) {
+                medicalRecordContentServiceImpl.saveBatch(BeanUtil.listCopyTo(hisMedicalRecordContents, MedicalRecordContent.class));
+            }
+        } catch (Exception e) {
+            Asserts.fail("文书批量插入过程出错");
+        }
+        return true;
+    }
+
+    /**
+     * 模拟获取his某段时间的数据
+     *
+     * @param dataCompareVO
+     * @Return java.util.List<com.lantone.daqe.dto.HisMedicalRecordDTO>
+     */
+    public List<HisMedicalRecordDTO> getHisMedicalRecords(DataCompareVO dataCompareVO) {
+        List<HisMedicalRecordDTO> out = new ArrayList<>();
+        //病历数据
+        List<HisBehospitalInfo> hisBehospitalInfos = hisBehospitalInfoFacade.list(new QueryWrapper<HisBehospitalInfo>().select("behospital_code,behospital_date")
+                .eq(dataCompareVO.getHospitalId() != null, "hospital_id", dataCompareVO.getHospitalId())
+                .ge(dataCompareVO.getStartDate() != null && StringUtil.isBlank(dataCompareVO.getBehospitalCode()), "behospital_date", dataCompareVO.getStartDate())
+                .le(dataCompareVO.getEndDate() != null && StringUtil.isBlank(dataCompareVO.getBehospitalCode()), "behospital_date", dataCompareVO.getEndDate())
+                .eq(StringUtil.isNotBlank(dataCompareVO.getBehospitalCode()), "behospital_code", dataCompareVO.getBehospitalCode()));
+        //通过病历获取病案首页和文书
+        if (ListUtil.isEmpty(hisBehospitalInfos)) {
+            return out;
+        }
+        List<String> codes = hisBehospitalInfos.stream().map(HisBehospitalInfo::getBehospitalCode).collect(Collectors.toList());
+        //病案首页
+        List<HisHomePage> homePages = hisHomePageFacade.list(new QueryWrapper<HisHomePage>().select("home_page_id,behospital_code")
+                .eq(dataCompareVO.getHospitalId() != null, "hospital_id", dataCompareVO.getHospitalId())
+                .in("behospital_code", codes));
+        Map<String, List<HisHomePage>> homePageMap = EntityUtil.makeEntityListMap(homePages, "behospitalCode");
+
+        //文书
+        List<HisMedicalRecord> hisMedicalRecords = hisMedicalRecordFacade.list(new QueryWrapper<HisMedicalRecord>().select("rec_id,rec_title,behospital_code")
+                .eq(dataCompareVO.getHospitalId() != null, "hospital_id", dataCompareVO.getHospitalId())
+                .in("behospital_code", codes) );
+        Map<String, List<HisMedicalRecord>> medicalRecordMap = EntityUtil.makeEntityListMap(hisMedicalRecords, "behospitalCode");
+
+        //拼装
+        hisBehospitalInfos.stream().forEach(hisBehospitalInfo -> {
+            HisMedicalRecordDTO oneData = new HisMedicalRecordDTO();
+            oneData.setBehospitalCode(hisBehospitalInfo.getBehospitalCode());
+            oneData.setBehospitalDate(hisBehospitalInfo.getBehospitalDate());
+            if (homePageMap != null && ListUtil.isNotEmpty(homePageMap.get(hisBehospitalInfo.getBehospitalCode()))) {
+                oneData.setHomePageId(homePageMap.get(hisBehospitalInfo.getBehospitalCode()).get(0).getHomePageId());
+            }
+            List<HisRecDTO> recs = new ArrayList<>();
+            if (medicalRecordMap != null && ListUtil.isNotEmpty(medicalRecordMap.get(hisBehospitalInfo.getBehospitalCode()))) {
+                medicalRecordMap.get(hisBehospitalInfo.getBehospitalCode()).stream().forEach(hisMedicalRecord -> {
+                    HisRecDTO rec = new HisRecDTO();
+                    rec.setRecId(hisMedicalRecord.getRecId());
+                    rec.setRecTitle(hisMedicalRecord.getRecTitle());
+                    recs.add(rec);
+                });
+                oneData.setHisRecs(recs);
+            }
+            out.add(oneData);
+        });
+        return out;
+    }
+}

+ 1 - 1
daqe-center/src/main/java/com/lantone/daqe/facade/OfficialCapacityManagementFacade.java

@@ -39,7 +39,7 @@ public class OfficialCapacityManagementFacade {
      */
     public IPage<GetOfficialCapacityPageDTO> getOfficialCapacityPage(GetOfficialCapacityPageVO getOfficialCapacityPageVO) {
         Long currentHospitalId = SysUserUtils.getCurrentHospitalId();
-        getOfficialCapacityPageVO.setHospitalId(SysUserUtils.getCurrentHospitalId()==null?4:SysUserUtils.getCurrentHospitalId());
+        getOfficialCapacityPageVO.setHospitalId(currentHospitalId);
         Page<GetOfficialCapacityPageDTO> getOfficialCapacityPageDTOPage = new Page<>();
 
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

+ 2 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/OperationManagementFacade.java

@@ -143,6 +143,8 @@ public class OperationManagementFacade {
     public Boolean matchingOperation(MatchingOperationVO matchingOperationVO) {
         OperationInfo operationInfo = new OperationInfo();
         BeanUtils.copyProperties(matchingOperationVO, operationInfo);
+        operationInfo.setModifier(SysUserUtils.getCurrentPrinciple() == null ? "0" : SysUserUtils.getCurrentPrinciple());
+        operationInfo.setGmtModified(DateUtil.now());
         return operationInfoFacade.updateById(operationInfo);
     }
 

+ 1 - 1
daqe-center/src/main/java/com/lantone/daqe/facade/RecordTemplateManagementFacade.java

@@ -37,7 +37,7 @@ public class RecordTemplateManagementFacade {
      */
     public IPage<GetRecordTemplatePageDTO> getRecordTemplatePage(GetRecordTemplatePageVO getRecordTemplatePageVO) {
         Long currentHospitalId = SysUserUtils.getCurrentHospitalId();
-        getRecordTemplatePageVO.setHospitalId(SysUserUtils.getCurrentHospitalId()==null?4:SysUserUtils.getCurrentHospitalId());
+        getRecordTemplatePageVO.setHospitalId(currentHospitalId);
         Page<GetRecordTemplatePageDTO> getRecordTemplatePageDTOPage = new Page<>();
 
         QueryWrapper<RecordTemplate> recordTemplateQueryWrapper = new QueryWrapper<>();

+ 8 - 8
daqe-center/src/main/java/com/lantone/daqe/facade/RegularManagementFacade.java

@@ -47,7 +47,7 @@ public class RegularManagementFacade {
      * @Return com.baomidou.mybatisplus.core.metadata.IPage<com.lantone.daqe.dto.GetRegularPageDTO>
      */
     public IPage<GetRegularPageDTO> getRegularPage(GetRegularPageVO getRegularPageVO) {
-        return  regularInfoFacade.getBaseMapper().getRegularPage(getRegularPageVO);
+        return regularInfoFacade.getBaseMapper().getRegularPage(getRegularPageVO);
     }
 
     /**
@@ -62,7 +62,7 @@ public class RegularManagementFacade {
         if (regularInfoFacade.isExist(regularInfo)) {
             Asserts.fail("该正则式已存在!");
         }
-        regularInfo.setCreator(SysUserUtils.getCurrentPrinciple());
+        regularInfo.setCreator(SysUserUtils.getCurrentPrinciple() == null ? "0" : SysUserUtils.getCurrentPrinciple());
         regularInfo.setGmtCreate(DateUtil.now());
         return regularInfoFacade.save(regularInfo);
     }
@@ -80,7 +80,7 @@ public class RegularManagementFacade {
         //修改正则式
         RegularInfo regularInfo = new RegularInfo();
         BeanUtil.copyProperties(upRegularByIdVO, regularInfo);
-        regularInfo.setModifier(SysUserUtils.getCurrentPrinciple());
+        regularInfo.setModifier(SysUserUtils.getCurrentPrinciple() == null ? "0" : SysUserUtils.getCurrentPrinciple());
         regularInfo.setGmtModified(DateUtil.now());
         //修改表字段的正则式校验结果表中的正则式
         if (regularInfoFacade.updateById(regularInfo)) {
@@ -90,7 +90,7 @@ public class RegularManagementFacade {
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
                     .set("regular_name", upRegularByIdVO.getName())
                     .set("regular_val", upRegularByIdVO.getVal())
-                    .set("modifier", SysUserUtils.getCurrentPrinciple())
+                    .set("modifier", SysUserUtils.getCurrentPrinciple() == null ? "0" : SysUserUtils.getCurrentPrinciple())
                     .set("gmt_modified", DateUtil.now())
                     .set("regular_des", upRegularByIdVO.getDescription()));
         }
@@ -112,7 +112,7 @@ public class RegularManagementFacade {
     }
 
     /**
-     *通过id删除正则式
+     * 通过id删除正则式
      *
      * @param id
      * @param hospitalId
@@ -125,7 +125,7 @@ public class RegularManagementFacade {
         }
         RegularInfo regularInfo = new RegularInfo();
         regularInfo.setId(id);
-        regularInfo.setModifier(SysUserUtils.getCurrentPrinciple());
+        regularInfo.setModifier(SysUserUtils.getCurrentPrinciple() == null ? "0" : SysUserUtils.getCurrentPrinciple());
         regularInfo.setGmtModified(DateUtil.now());
         regularInfo.setIsDeleted(IsDeleteEnum.Y.getKey());
         if (regularInfoFacade.updateById(regularInfo)) {
@@ -133,7 +133,7 @@ public class RegularManagementFacade {
             if (regularMappingFacade.update(new UpdateWrapper<RegularMapping>()
                     .eq("regular_id", id)
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .set("modifier", SysUserUtils.getCurrentPrinciple())
+                    .set("modifier", SysUserUtils.getCurrentPrinciple() == null ? "0" : SysUserUtils.getCurrentPrinciple())
                     .set("gmt_modified", DateUtil.now())
                     .set("is_deleted", IsDeleteEnum.Y.getKey()))) {
                 //删除表字段的正则式校验结果表中的正则式
@@ -141,7 +141,7 @@ public class RegularManagementFacade {
                         .eq(hospitalId != null, "hospital_id", hospitalId)
                         .eq("regular_id", id)
                         .eq("is_deleted", IsDeleteEnum.N.getKey())
-                        .set("modifier", SysUserUtils.getCurrentPrinciple())
+                        .set("modifier", SysUserUtils.getCurrentPrinciple() == null ? "0" : SysUserUtils.getCurrentPrinciple())
                         .set("gmt_modified", DateUtil.now())
                         .set("is_deleted", IsDeleteEnum.Y.getKey()));
             }

+ 14 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/base/ConceptLibraryFacade.java

@@ -0,0 +1,14 @@
+package com.lantone.daqe.facade.base;
+
+import com.lantone.daqe.service.impl.ConceptLibraryServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * <p>
+ * 表名:base_concept_library 业务类
+ * </p>
+ */
+@Component
+public class ConceptLibraryFacade extends ConceptLibraryServiceImpl {
+
+}

+ 1 - 2
daqe-center/src/main/java/com/lantone/daqe/facade/base/DrugInfoFacade.java

@@ -26,13 +26,12 @@ public class DrugInfoFacade extends DrugInfoServiceImpl {
      */
     public boolean isExist(DrugInfo drugInfo) {
         if (drugInfo.getHospitalId() == null
-                || StringUtil.isBlank(drugInfo.getCode())
                 || StringUtil.isBlank(drugInfo.getName())) {
             Asserts.fail("判断即将新增/修改的药品是否与已存在的其他药品存在冲突时,hospitalId、code、name不能为空!");
         }
         QueryWrapper<DrugInfo> drugInfoQueryWrapper = new QueryWrapper<>();
         drugInfoQueryWrapper.eq("hospital_id", drugInfo.getHospitalId());
-        drugInfoQueryWrapper.eq("code", drugInfo.getCode());
+        drugInfoQueryWrapper.eq(StringUtil.isNotBlank(drugInfo.getCode()),"code", drugInfo.getCode());
         drugInfoQueryWrapper.eq("name", drugInfo.getName());
         List<DrugInfo> drugInfoList = list(drugInfoQueryWrapper);
         if (drugInfo.getId() == null) {

+ 14 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/base/HisBehospitalInfoFacade.java

@@ -0,0 +1,14 @@
+package com.lantone.daqe.facade.base;
+
+import com.lantone.daqe.service.impl.HisBehospitalInfoServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * <p>
+ * 表名:his_behospital_info 业务类
+ * </p>
+ */
+@Component
+public class HisBehospitalInfoFacade extends HisBehospitalInfoServiceImpl {
+
+}

+ 14 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/base/HisHomePageFacade.java

@@ -0,0 +1,14 @@
+package com.lantone.daqe.facade.base;
+
+import com.lantone.daqe.service.impl.HisHomePageServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * <p>
+ * 表名:his_home_page 业务类
+ * </p>
+ */
+@Component
+public class HisHomePageFacade extends HisHomePageServiceImpl {
+
+}

+ 14 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/base/HisMedicalRecordContentFacade.java

@@ -0,0 +1,14 @@
+package com.lantone.daqe.facade.base;
+
+import com.lantone.daqe.service.impl.HisMedicalRecordContentServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * <p>
+ * 表名:his_medical_record_content 业务类
+ * </p>
+ */
+@Component
+public class HisMedicalRecordContentFacade extends HisMedicalRecordContentServiceImpl {
+
+}

+ 14 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/base/HisMedicalRecordFacade.java

@@ -0,0 +1,14 @@
+package com.lantone.daqe.facade.base;
+
+import com.lantone.daqe.service.impl.HisMedicalRecordServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * <p>
+ * 表名:his_medical_record 业务类
+ * </p>
+ */
+@Component
+public class HisMedicalRecordFacade extends HisMedicalRecordServiceImpl {
+
+}

+ 3 - 1
daqe-center/src/main/java/com/lantone/daqe/facade/base/RegularInfoFacade.java

@@ -14,7 +14,9 @@ import org.springframework.stereotype.Component;
 public class RegularInfoFacade extends RegularInfoServiceImpl {
     public boolean isExist(RegularInfo regularInfo) {
         boolean flag = false;
-        RegularInfo regular = this.getOne(new QueryWrapper<RegularInfo>().eq("name", regularInfo.getName()));
+        RegularInfo regular = this.getOne(new QueryWrapper<RegularInfo>()
+                .eq("val", regularInfo.getVal())
+                .eq("name", regularInfo.getName()));
         if (regular != null) {
             flag = true;
         }

+ 4 - 1
daqe-center/src/main/java/com/lantone/daqe/mapper/ColumnVerifyMapper.java

@@ -3,9 +3,10 @@ package com.lantone.daqe.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.lantone.daqe.dto.GetByIdColumnVerifyDTO;
-import com.lantone.daqe.dto.GetColumnInfoDTO;
+import com.lantone.daqe.dto.GetColumnDTO;
 import com.lantone.daqe.dto.GetColumnVerifyPageDTO;
 import com.lantone.daqe.entity.ColumnVerify;
+import com.lantone.daqe.vo.AddColumnVO;
 import com.lantone.daqe.vo.GetByIdColumnVerifyVO;
 import com.lantone.daqe.vo.GetColumnVerifyPageVO;
 import org.apache.ibatis.annotations.Param;
@@ -22,4 +23,6 @@ public interface ColumnVerifyMapper extends BaseMapper<ColumnVerify> {
 
     GetByIdColumnVerifyDTO getByIdColumnVerify(@Param("getByIdColumnVerifyVO") GetByIdColumnVerifyVO getByIdColumnVerifyVO);
 
+    List<GetColumnDTO> getColumn(@Param("addColumnVO") AddColumnVO addColumnVO);
+
 }

+ 13 - 0
daqe-center/src/main/java/com/lantone/daqe/mapper/ConceptLibraryMapper.java

@@ -0,0 +1,13 @@
+package com.lantone.daqe.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lantone.daqe.entity.ConceptLibrary;
+
+/**
+ * <p>
+ * 表名:base_concept_library Mapper接口
+ * </p>
+ */
+public interface ConceptLibraryMapper extends BaseMapper<ConceptLibrary> {
+
+}

+ 13 - 0
daqe-center/src/main/java/com/lantone/daqe/mapper/HisBehospitalInfoMapper.java

@@ -0,0 +1,13 @@
+package com.lantone.daqe.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lantone.daqe.entity.HisBehospitalInfo;
+
+/**
+ * <p>
+ * 表名:his_behospital_info Mapper接口
+ * </p>
+ */
+public interface HisBehospitalInfoMapper extends BaseMapper<HisBehospitalInfo> {
+
+}

+ 13 - 0
daqe-center/src/main/java/com/lantone/daqe/mapper/HisHomePageMapper.java

@@ -0,0 +1,13 @@
+package com.lantone.daqe.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lantone.daqe.entity.HisHomePage;
+
+/**
+ * <p>
+ * 表名:his_home_page Mapper接口
+ * </p>
+ */
+public interface HisHomePageMapper extends BaseMapper<HisHomePage> {
+
+}

+ 13 - 0
daqe-center/src/main/java/com/lantone/daqe/mapper/HisMedicalRecordContentMapper.java

@@ -0,0 +1,13 @@
+package com.lantone.daqe.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lantone.daqe.entity.HisMedicalRecordContent;
+
+/**
+ * <p>
+ * 表名:his_medical_record_content Mapper接口
+ * </p>
+ */
+public interface HisMedicalRecordContentMapper extends BaseMapper<HisMedicalRecordContent> {
+
+}

+ 13 - 0
daqe-center/src/main/java/com/lantone/daqe/mapper/HisMedicalRecordMapper.java

@@ -0,0 +1,13 @@
+package com.lantone.daqe.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lantone.daqe.entity.HisMedicalRecord;
+
+/**
+ * <p>
+ * 表名:his_medical_record Mapper接口
+ * </p>
+ */
+public interface HisMedicalRecordMapper extends BaseMapper<HisMedicalRecord> {
+
+}

+ 13 - 0
daqe-center/src/main/java/com/lantone/daqe/service/ConceptLibraryService.java

@@ -0,0 +1,13 @@
+package com.lantone.daqe.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.lantone.daqe.entity.ConceptLibrary;
+
+/**
+ * <p>
+ * 术语表 Service类
+ * </p>
+ */
+public interface ConceptLibraryService extends IService<ConceptLibrary> {
+
+}

+ 13 - 0
daqe-center/src/main/java/com/lantone/daqe/service/HisBehospitalInfoService.java

@@ -0,0 +1,13 @@
+package com.lantone.daqe.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.lantone.daqe.entity.HisBehospitalInfo;
+
+/**
+ * <p>
+ * his住院病历信息 Service类
+ * </p>
+ */
+public interface HisBehospitalInfoService extends IService<HisBehospitalInfo> {
+
+}

+ 13 - 0
daqe-center/src/main/java/com/lantone/daqe/service/HisHomePageService.java

@@ -0,0 +1,13 @@
+package com.lantone.daqe.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.lantone.daqe.entity.HisHomePage;
+
+/**
+ * <p>
+ *  Service类
+ * </p>
+ */
+public interface HisHomePageService extends IService<HisHomePage> {
+
+}

+ 13 - 0
daqe-center/src/main/java/com/lantone/daqe/service/HisMedicalRecordContentService.java

@@ -0,0 +1,13 @@
+package com.lantone.daqe.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.lantone.daqe.entity.HisMedicalRecordContent;
+
+/**
+ * <p>
+ *  Service类
+ * </p>
+ */
+public interface HisMedicalRecordContentService extends IService<HisMedicalRecordContent> {
+
+}

+ 13 - 0
daqe-center/src/main/java/com/lantone/daqe/service/HisMedicalRecordService.java

@@ -0,0 +1,13 @@
+package com.lantone.daqe.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.lantone.daqe.entity.HisMedicalRecord;
+
+/**
+ * <p>
+ *  Service类
+ * </p>
+ */
+public interface HisMedicalRecordService extends IService<HisMedicalRecord> {
+
+}

+ 17 - 0
daqe-center/src/main/java/com/lantone/daqe/service/impl/ConceptLibraryServiceImpl.java

@@ -0,0 +1,17 @@
+package com.lantone.daqe.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.lantone.daqe.entity.ConceptLibrary;
+import com.lantone.daqe.mapper.ConceptLibraryMapper;
+import com.lantone.daqe.service.ConceptLibraryService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 术语表 Service实现类
+ * </p>
+ */
+@Service
+public class ConceptLibraryServiceImpl extends ServiceImpl<ConceptLibraryMapper, ConceptLibrary> implements ConceptLibraryService {
+
+}

+ 17 - 0
daqe-center/src/main/java/com/lantone/daqe/service/impl/HisBehospitalInfoServiceImpl.java

@@ -0,0 +1,17 @@
+package com.lantone.daqe.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.lantone.daqe.entity.HisBehospitalInfo;
+import com.lantone.daqe.mapper.HisBehospitalInfoMapper;
+import com.lantone.daqe.service.HisBehospitalInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * his住院病历信息 Service实现类
+ * </p>
+ */
+@Service
+public class HisBehospitalInfoServiceImpl extends ServiceImpl<HisBehospitalInfoMapper, HisBehospitalInfo> implements HisBehospitalInfoService {
+
+}

+ 17 - 0
daqe-center/src/main/java/com/lantone/daqe/service/impl/HisHomePageServiceImpl.java

@@ -0,0 +1,17 @@
+package com.lantone.daqe.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.lantone.daqe.entity.HisHomePage;
+import com.lantone.daqe.mapper.HisHomePageMapper;
+import com.lantone.daqe.service.HisHomePageService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  Service实现类
+ * </p>
+ */
+@Service
+public class HisHomePageServiceImpl extends ServiceImpl<HisHomePageMapper, HisHomePage> implements HisHomePageService {
+
+}

+ 17 - 0
daqe-center/src/main/java/com/lantone/daqe/service/impl/HisMedicalRecordContentServiceImpl.java

@@ -0,0 +1,17 @@
+package com.lantone.daqe.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.lantone.daqe.entity.HisMedicalRecordContent;
+import com.lantone.daqe.mapper.HisMedicalRecordContentMapper;
+import com.lantone.daqe.service.HisMedicalRecordContentService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  Service实现类
+ * </p>
+ */
+@Service
+public class HisMedicalRecordContentServiceImpl extends ServiceImpl<HisMedicalRecordContentMapper, HisMedicalRecordContent> implements HisMedicalRecordContentService {
+
+}

+ 17 - 0
daqe-center/src/main/java/com/lantone/daqe/service/impl/HisMedicalRecordServiceImpl.java

@@ -0,0 +1,17 @@
+package com.lantone.daqe.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.lantone.daqe.entity.HisMedicalRecord;
+import com.lantone.daqe.mapper.HisMedicalRecordMapper;
+import com.lantone.daqe.service.HisMedicalRecordService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  Service实现类
+ * </p>
+ */
+@Service
+public class HisMedicalRecordServiceImpl extends ServiceImpl<HisMedicalRecordMapper, HisMedicalRecord> implements HisMedicalRecordService {
+
+}

+ 29 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/AddColumnVO.java

@@ -0,0 +1,29 @@
+package com.lantone.daqe.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import java.io.Serializable;
+
+/**
+ * @Description: 根据表明新增字段
+ * @author: zhanghang
+ * @time: 2022/3/22 10:17
+ */
+@ApiModel(value = "根据表明新增字段-接口入参")
+@Getter
+@Setter
+public class AddColumnVO implements Serializable {
+
+    private static final long serialVersionUID = -6651826171077372594L;
+
+    @ApiModelProperty(value = "表名称(中文)")
+    private String tableCname;
+
+    @ApiModelProperty(value = "表名称(英文)")
+    private String tableEname;
+
+    @ApiModelProperty(value = "所属数据库名称(英文)")
+    private String tableSchema;
+}

+ 3 - 1
daqe-center/src/main/java/com/lantone/daqe/vo/AddRegularVO.java

@@ -6,7 +6,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
 import java.io.Serializable;
 
 /**
@@ -23,6 +23,7 @@ public class AddRegularVO implements Serializable {
 
     @ApiModelProperty(value = "正则式名称", required = true)
     @NotBlank(message = "正则式名称不能为空")
+    @Size(min = 1, max = 30, message = ("正则式名称长度1-30"))
     private String name;
 
     @ApiModelProperty(value = "正则式值", required = true)
@@ -30,6 +31,7 @@ public class AddRegularVO implements Serializable {
     private String val;
 
     @ApiModelProperty(value = "描述")
+    @Size(min = 0, max = 200, message = ("说明长度1-30"))
     private String description;
 
 }

+ 1 - 1
daqe-center/src/main/java/com/lantone/daqe/vo/ColumnInfoVO.java

@@ -19,7 +19,7 @@ import java.io.Serializable;
 public class ColumnInfoVO implements Serializable {
     private static final long serialVersionUID = -4822420650132733065L;
 
-    @ApiModelProperty(value = "主键")
+    @ApiModelProperty(value = "主键",required = true)
     private Long id;
 
     @ApiModelProperty(value = "表名称(中文)", required = true)

+ 3 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/DataCheckVO.java

@@ -33,4 +33,7 @@ public class DataCheckVO implements Serializable {
 
     @ApiModelProperty(value = "组织机构ID",hidden = true)
     private Long hospitalId;
+
+    @ApiModelProperty(value = "是否为运行质控,0-运行质控,1-终末质控",required = true)
+    private String isPlacefile;
 }

+ 11 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/GetColumnResultNumberVO.java

@@ -4,8 +4,10 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * @Description: 获取字段校验问题明细数量-接口入参
@@ -21,4 +23,13 @@ public class GetColumnResultNumberVO implements Serializable {
 
     @ApiModelProperty(value = "组织ID", required = true,hidden = true)
     private Long hospitalId;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "开始时间", required = true)
+    private Date solveTimeStart;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "结束时间", required = true)
+    private Date solveTimeEnd;
+
 }

+ 36 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/GetConceptLibraryPageVO.java

@@ -0,0 +1,36 @@
+package com.lantone.daqe.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Description: 获取标准词和同义词(一对一)分页列表-接口入参
+ * @author: rengb
+ * @time: 2022/2/27 11:15
+ */
+@ApiModel(value = "获取标准词和同义词(一对一)分页列表-接口入参")
+@Getter
+@Setter
+public class GetConceptLibraryPageVO extends Page {
+
+    private static final long serialVersionUID = 4521884666557513363L;
+
+    /**
+     * 术语类型,1:诊断,2:手术,3:药品
+     */
+    @ApiModelProperty(value = "术语类型,1:诊断,2:手术,3:药品", required = true)
+    @NotBlank(message = "术语类型不能为空")
+    private String type;
+
+    /**
+     * 搜索关键词
+     */
+    @ApiModelProperty(value = "搜索关键词")
+    private String word;
+
+}

+ 1 - 1
daqe-center/src/main/java/com/lantone/daqe/vo/GetMatchingOperationVO.java

@@ -26,7 +26,7 @@ public class GetMatchingOperationVO extends Page implements Serializable {
     @ApiModelProperty(value = "医院手术/操作名称ID")
     private Long id;
 
-    @ApiModelProperty(name = "医院手术/操作名称")
+    @ApiModelProperty(value = "医院手术/操作名称")
     private String name;
 
 

+ 2 - 1
daqe-center/src/main/java/com/lantone/daqe/vo/GetTableColumnInfoVO.java

@@ -44,5 +44,6 @@ public class GetTableColumnInfoVO implements Serializable {
     @ApiModelProperty(value = "住院序号")
     private String behospitalCode;
 
-
+    @ApiModelProperty(value = "是否为运行质控,0-运行质控,1-终末质控",required = true)
+    private String isPlacefile;
 }

+ 10 - 1
daqe-center/src/main/java/com/lantone/daqe/web/BlockLossManagementController.java

@@ -3,11 +3,12 @@ package com.lantone.daqe.web;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.lantone.common.api.CommonResult;
 import com.lantone.common.vo.BlockLossTypeGatherVO;
+import com.lantone.common.vo.DataCompareVO;
+import com.lantone.common.vo.DataRepariVO;
 import com.lantone.daqe.dto.BlockLossTypeGatherDTO;
 import com.lantone.daqe.dto.GetBlockLossPageDTO;
 import com.lantone.daqe.dto.UpBlockLossByIdVO;
 import com.lantone.daqe.facade.BlockLossManagementFacade;
-import com.lantone.common.vo.DataCompareVO;
 import com.lantone.daqe.vo.GetBlockLossPageVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -59,4 +60,12 @@ public class BlockLossManagementController {
     public CommonResult<BlockLossTypeGatherDTO> blockLossTypeGather(@RequestBody @Valid BlockLossTypeGatherVO blockLossTypeGatherVO) {
         return CommonResult.success(blockLossManagementFacade.blockLossTypeGather(blockLossTypeGatherVO));
     }
+
+
+    @ApiOperation(value = "数据补录 [by:songxl]", notes = "数据补录")
+    @PostMapping("/dataRepari")
+    @Transactional
+    public CommonResult<Boolean> dataRepari(@RequestBody @Valid DataRepariVO dataRepariVO) {
+        return CommonResult.success(blockLossManagementFacade.dataRepari(dataRepariVO));
+    }
 }

+ 8 - 0
daqe-center/src/main/java/com/lantone/daqe/web/ColumnVerifyManagementController.java

@@ -9,6 +9,7 @@ import com.lantone.daqe.dto.GetRegularDTO;
 import com.lantone.daqe.dto.GetTableColumnNameDTO;
 import com.lantone.daqe.dto.GetTableNameDTO;
 import com.lantone.daqe.facade.ColumnVerifyManagementFacade;
+import com.lantone.daqe.vo.AddColumnVO;
 import com.lantone.daqe.vo.AddColumnVerifyVO;
 import com.lantone.daqe.vo.DelColumnVerifyVO;
 import com.lantone.daqe.vo.GetByIdColumnVerifyVO;
@@ -100,4 +101,11 @@ public class ColumnVerifyManagementController {
     public CommonResult<Boolean> updateColumnVerify(@RequestBody UpdateColumnVerifyVO updateColumnVerifyVO) {
         return CommonResult.success(columnVerifyManagementFacade.updateColumnVerify(updateColumnVerifyVO));
     }
+
+    @ApiOperation(value = "根据表名新增字段信息 [by:zhanghang]")
+    @PostMapping("/addColumn")
+    @Transactional
+    public CommonResult<Boolean> addColumn(@RequestBody AddColumnVO addColumnVO) {
+        return CommonResult.success(columnVerifyManagementFacade.addColumn(addColumnVO));
+    }
 }

+ 35 - 0
daqe-center/src/main/java/com/lantone/daqe/web/CurrencyManagmentController.java

@@ -0,0 +1,35 @@
+package com.lantone.daqe.web;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.lantone.common.api.CommonResult;
+import com.lantone.daqe.dto.GetConceptLibraryPageDTO;
+import com.lantone.daqe.facade.CurrencyManagementFacade;
+import com.lantone.daqe.vo.GetConceptLibraryPageVO;
+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;
+
+/**
+ * @Description: 通用处理API
+ * @author: rengb
+ * @time: 2022/3/8 14:24
+ */
+@RestController
+@Api(value = "通用处理API", tags = { "通用处理API" })
+@RequestMapping("/currencyManage")
+public class CurrencyManagmentController {
+
+    @Autowired
+    private CurrencyManagementFacade currencyManagementFacade;
+
+    @ApiOperation(value = "获取标准词和同义词(一对一)分页列表 [by:rengb]")
+    @PostMapping("/getConceptLibraryPage")
+    public CommonResult<IPage<GetConceptLibraryPageDTO>> getConceptLibraryPage(@RequestBody GetConceptLibraryPageVO getConceptLibraryPageVO) {
+        return CommonResult.success(currencyManagementFacade.getConceptLibraryPage(getConceptLibraryPageVO));
+    }
+
+}

+ 6 - 6
daqe-center/src/main/resources/mapper/BlocklossResultMapper.xml

@@ -22,10 +22,10 @@
             AND hospital_id = #{getBlockLossPageVO.hospitalId}
         </if>
         <if test="getBlockLossPageVO.startDate != null">
-            <![CDATA[AND gmt_create >= #{getBlockLossPageVO.startDate}]]>
+            <![CDATA[AND behospital_date >= #{getBlockLossPageVO.startDate}]]>
         </if>
         <if test="getBlockLossPageVO.endDate != null">
-            <![CDATA[ AND gmt_create <= #{getBlockLossPageVO.endDate}]]>
+            <![CDATA[ AND behospital_date <= #{getBlockLossPageVO.endDate}]]>
         </if>
         <if test="getBlockLossPageVO.behospitalCode != null and getBlockLossPageVO.behospitalCode != ''">
             AND behospital_code = #{getBlockLossPageVO.behospitalCode}
@@ -36,16 +36,16 @@
         <if test="getBlockLossPageVO.recTitle != null and getBlockLossPageVO.recTitle != ''">
             AND rec_title LIKE CONCAT('%',#{getBlockLossPageVO.recTitle},'%')
         </if>
-        <if test="getBlockLossPageVO.recId != null and getBlockLossPageVO.recId != ''">
+        <if test="getBlockLossPageVO.lossType != null and getBlockLossPageVO.lossType != ''">
             AND loss_type = #{getBlockLossPageVO.lossType}
         </if>
-        <if test="getBlockLossPageVO.recId != null and getBlockLossPageVO.recId != ''">
+        <if test="getBlockLossPageVO.lossWay != null and getBlockLossPageVO.lossWay != ''">
             AND loss_way = #{getBlockLossPageVO.lossWay}
         </if>
-        <if test="getBlockLossPageVO.recId != null and getBlockLossPageVO.recId != ''">
+        <if test="getBlockLossPageVO.isAudited != null and getBlockLossPageVO.isAudited != ''">
             AND is_audited = #{getBlockLossPageVO.isAudited}
         </if>
-        <if test="getBlockLossPageVO.recId != null and getBlockLossPageVO.recId != ''">
+        <if test="getBlockLossPageVO.status != null and getBlockLossPageVO.status != ''">
             AND `status` = #{getBlockLossPageVO.status}
         </if>
     </select>

+ 12 - 6
daqe-center/src/main/resources/mapper/ColumnResultMapper.xml

@@ -12,11 +12,17 @@
 		sum(CASE dcr.is_solved WHEN 0 THEN (CASE dcr.type WHEN 1 THEN 1 ELSE 0 END) ELSE 0 END) notSolvedNonnull,
 		sum(CASE dcr.is_solved WHEN 0 THEN (CASE dcr.type WHEN 2 THEN 1 ELSE 0 END) ELSE 0 END) notSolvedStandardvalue,
 		sum(CASE dcr.is_solved WHEN 0 THEN (CASE dcr.type WHEN 3 THEN 1 ELSE 0 END) ELSE 0 END) notSolvedRegular
-	FROM
-		dc_column_result dcr
-	WHERE
-		dcr.is_deleted = 'N'
-	and hospital_id=#{getColumnResultNumberVO.hospitalId}
+		FROM
+			dc_column_result dcr
+		WHERE
+			dcr.is_deleted = 'N'
+		and hospital_id=#{getColumnResultNumberVO.hospitalId}
+		<if test="getColumnResultNumberVO.solveTimeStart != null ">
+			<![CDATA[ AND solve_time >= #{getColumnResultNumberVO.solveTimeStart}]]>
+		</if>
+		<if test="getColumnResultNumberVO.solveTimeEnd != null ">
+			<![CDATA[ AND solve_time <= #{getColumnResultNumberVO.solveTimeEnd}]]>
+		</if>
 
     </select>
 
@@ -39,7 +45,7 @@
 					behospital_code = #{getTableColumnInfoVO.behospitalCode}
 				AND is_deleted = 'N'
 				AND hospital_id = #{getTableColumnInfoVO.hospitalId}
-				AND is_placefile = 1
+				AND is_placefile = #{getTableColumnInfoVO.isPlacefile}
 			) a
 		LEFT JOIN ${getTableColumnInfoVO.tableEname} sdd ON sdd.behospital_code = a.behospital_code
 		AND sdd.is_deleted = 'N'

+ 0 - 0
daqe-center/src/main/resources/mapper/ColumnVerifyMapper.xml


この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません