Browse Source

Merge branch 'develop' into dev/mix20200401_icss6.0

gaodm 5 năm trước cách đây
mục cha
commit
61fd5b4dad
100 tập tin đã thay đổi với 6303 bổ sung228 xóa
  1. 4 4
      config-server/src/main/resources/shared/ltkg-service-dev.yml
  2. 4 4
      config-server/src/main/resources/shared/ltkg-service-local.yml
  3. 3 3
      config-server/src/main/resources/shared/ltkg-service-pre.yml
  4. 3 3
      config-server/src/main/resources/shared/ltkg-service-pro.yml
  5. 5 5
      config-server/src/main/resources/shared/ltkg-service-test.yml
  6. 7 5
      config-server/src/main/resources/shared/mrman-service-dev.yml
  7. 7 5
      config-server/src/main/resources/shared/mrman-service-local.yml
  8. 7 5
      config-server/src/main/resources/shared/mrman-service-pre.yml
  9. 7 5
      config-server/src/main/resources/shared/mrman-service-pro.yml
  10. 7 5
      config-server/src/main/resources/shared/mrman-service-test.yml
  11. 23 0
      docs/036.20200526终末质控1.3.0/init_qc.sql
  12. 111 0
      docs/036.20200609标准病例初始化脚本/qc_init_clauses.sql
  13. 1064 0
      docs/036.20200609标准病例初始化脚本/sys_user_menu.sql
  14. 1062 0
      docs/037.20200615病历条目和质控类型关心映射/qc_init.sql
  15. 11 0
      docs/037.20200615病历条目和质控类型关心映射/qc_initv1.3.4.sql
  16. 3 1
      ltkg-service/src/main/java/com/diagbot/facade/KgFacade.java
  17. 7 2
      ltkg-service/src/main/java/com/diagbot/web/KgController.java
  18. 1 1
      ltkg-service/src/main/resources/mapper/KgMapper.xml
  19. 21 0
      mrman-service/src/main/java/com/diagbot/client/BehospitalInfoHystrixClient.java
  20. 24 0
      mrman-service/src/main/java/com/diagbot/client/hystrix/BehospitalInfoHystrix.java
  21. 17 0
      mrman-service/src/main/java/com/diagbot/dto/AnalyzeMessageDTO.java
  22. 2 0
      mrman-service/src/main/java/com/diagbot/dto/GetModuleInfoOneDTO.java
  23. 1 0
      mrman-service/src/main/java/com/diagbot/dto/GetUpdateInfoDetialDTO.java
  24. 16 0
      mrman-service/src/main/java/com/diagbot/dto/MedBehospitalDeptDTO.java
  25. 75 0
      mrman-service/src/main/java/com/diagbot/dto/MedQcresultDetailAllDTO.java
  26. 31 0
      mrman-service/src/main/java/com/diagbot/dto/MedRecordAnalyzeDTO.java
  27. 15 1
      mrman-service/src/main/java/com/diagbot/dto/QcCasesEntryAllDTO.java
  28. 28 0
      mrman-service/src/main/java/com/diagbot/dto/QcEntryTypeDTO.java
  29. 27 0
      mrman-service/src/main/java/com/diagbot/dto/QcEntryTypeDetailDTO.java
  30. 26 0
      mrman-service/src/main/java/com/diagbot/dto/QcTypeByEntryDTO.java
  31. 18 0
      mrman-service/src/main/java/com/diagbot/dto/QcTypeSimpDTO.java
  32. 43 0
      mrman-service/src/main/java/com/diagbot/dto/StdMissionDetailPageDTO.java
  33. 16 0
      mrman-service/src/main/java/com/diagbot/dto/StdMissionInfoPageDTO.java
  34. 18 0
      mrman-service/src/main/java/com/diagbot/dto/SthospitalInfoFindDTO.java
  35. 65 0
      mrman-service/src/main/java/com/diagbot/dto/SthospitalInfoPageDTO.java
  36. 35 0
      mrman-service/src/main/java/com/diagbot/dto/SthospitalInfoStatiDTO.java
  37. 428 0
      mrman-service/src/main/java/com/diagbot/entity/MedBehospitalInfo.java
  38. 73 0
      mrman-service/src/main/java/com/diagbot/entity/MedModuleMapping.java
  39. 261 0
      mrman-service/src/main/java/com/diagbot/entity/MedQcresultDetail.java
  40. 95 0
      mrman-service/src/main/java/com/diagbot/entity/MedRecordAnalyze.java
  41. 18 120
      mrman-service/src/main/java/com/diagbot/entity/QcCasesEntry.java
  42. 428 0
      mrman-service/src/main/java/com/diagbot/entity/StdBehospitalInfo.java
  43. 223 0
      mrman-service/src/main/java/com/diagbot/entity/StdMissionDetail.java
  44. 139 0
      mrman-service/src/main/java/com/diagbot/entity/StdMissionInfo.java
  45. 276 0
      mrman-service/src/main/java/com/diagbot/entity/StdQcresultDetail.java
  46. 17 15
      mrman-service/src/main/java/com/diagbot/facade/CasesEntryHospitalFacade.java
  47. 27 0
      mrman-service/src/main/java/com/diagbot/facade/MedBehospitalInfoFacade.java
  48. 14 0
      mrman-service/src/main/java/com/diagbot/facade/MedModuleMappingFacade.java
  49. 27 0
      mrman-service/src/main/java/com/diagbot/facade/MedQcresultDetailFacade.java
  50. 25 0
      mrman-service/src/main/java/com/diagbot/facade/MedRecordAnalyzeFacade.java
  51. 134 15
      mrman-service/src/main/java/com/diagbot/facade/QcCacesEntryFacade.java
  52. 37 11
      mrman-service/src/main/java/com/diagbot/facade/QcModuleDetailFacade.java
  53. 59 15
      mrman-service/src/main/java/com/diagbot/facade/QcModuleInfoFacade.java
  54. 1 1
      mrman-service/src/main/java/com/diagbot/facade/QcTypeFacade.java
  55. 207 0
      mrman-service/src/main/java/com/diagbot/facade/StdBehospitalInfoFacade.java
  56. 105 0
      mrman-service/src/main/java/com/diagbot/facade/StdMissionDetailFacade.java
  57. 76 0
      mrman-service/src/main/java/com/diagbot/facade/StdMissionInfoFacade.java
  58. 36 0
      mrman-service/src/main/java/com/diagbot/facade/StdQcresultDetailFacade.java
  59. 4 0
      mrman-service/src/main/java/com/diagbot/mapper/CasesEntryHospitalMapper.java
  60. 21 0
      mrman-service/src/main/java/com/diagbot/mapper/MedBehospitalInfoMapper.java
  61. 16 0
      mrman-service/src/main/java/com/diagbot/mapper/MedModuleMappingMapper.java
  62. 22 0
      mrman-service/src/main/java/com/diagbot/mapper/MedQcresultDetailMapper.java
  63. 23 0
      mrman-service/src/main/java/com/diagbot/mapper/MedRecordAnalyzeMapper.java
  64. 18 0
      mrman-service/src/main/java/com/diagbot/mapper/QcCasesEntryMapper.java
  65. 24 0
      mrman-service/src/main/java/com/diagbot/mapper/StdBehospitalInfoMapper.java
  66. 20 0
      mrman-service/src/main/java/com/diagbot/mapper/StdMissionDetailMapper.java
  67. 20 0
      mrman-service/src/main/java/com/diagbot/mapper/StdMissionInfoMapper.java
  68. 16 0
      mrman-service/src/main/java/com/diagbot/mapper/StdQcresultDetailMapper.java
  69. 3 0
      mrman-service/src/main/java/com/diagbot/service/CasesEntryHospitalService.java
  70. 21 0
      mrman-service/src/main/java/com/diagbot/service/MedBehospitalInfoService.java
  71. 16 0
      mrman-service/src/main/java/com/diagbot/service/MedModuleMappingService.java
  72. 22 0
      mrman-service/src/main/java/com/diagbot/service/MedQcresultDetailService.java
  73. 23 0
      mrman-service/src/main/java/com/diagbot/service/MedRecordAnalyzeService.java
  74. 18 0
      mrman-service/src/main/java/com/diagbot/service/QcCasesEntryService.java
  75. 0 1
      mrman-service/src/main/java/com/diagbot/service/QcModuleInfoService.java
  76. 24 0
      mrman-service/src/main/java/com/diagbot/service/StdBehospitalInfoService.java
  77. 20 0
      mrman-service/src/main/java/com/diagbot/service/StdMissionDetailService.java
  78. 20 0
      mrman-service/src/main/java/com/diagbot/service/StdMissionInfoService.java
  79. 16 0
      mrman-service/src/main/java/com/diagbot/service/StdQcresultDetailService.java
  80. 6 0
      mrman-service/src/main/java/com/diagbot/service/impl/CasesEntryHospitalServiceImpl.java
  81. 28 0
      mrman-service/src/main/java/com/diagbot/service/impl/MedBehospitalInfoServiceImpl.java
  82. 20 0
      mrman-service/src/main/java/com/diagbot/service/impl/MedModuleMappingServiceImpl.java
  83. 29 0
      mrman-service/src/main/java/com/diagbot/service/impl/MedQcresultDetailServiceImpl.java
  84. 33 0
      mrman-service/src/main/java/com/diagbot/service/impl/MedRecordAnalyzeServiceImpl.java
  85. 34 0
      mrman-service/src/main/java/com/diagbot/service/impl/QcCasesEntryServiceImpl.java
  86. 34 0
      mrman-service/src/main/java/com/diagbot/service/impl/StdBehospitalInfoServiceImpl.java
  87. 27 0
      mrman-service/src/main/java/com/diagbot/service/impl/StdMissionDetailServiceImpl.java
  88. 27 0
      mrman-service/src/main/java/com/diagbot/service/impl/StdMissionInfoServiceImpl.java
  89. 20 0
      mrman-service/src/main/java/com/diagbot/service/impl/StdQcresultDetailServiceImpl.java
  90. 1 1
      mrman-service/src/main/java/com/diagbot/vo/AddModuleInfoVO.java
  91. 18 0
      mrman-service/src/main/java/com/diagbot/vo/AnalyzeApiVO.java
  92. 1 0
      mrman-service/src/main/java/com/diagbot/vo/GetModuleInfoVO.java
  93. 15 0
      mrman-service/src/main/java/com/diagbot/vo/InsertByHospitalVO.java
  94. 17 0
      mrman-service/src/main/java/com/diagbot/vo/MedBehospitalDeptVO.java
  95. 25 0
      mrman-service/src/main/java/com/diagbot/vo/MedQcresultDetailAllVO.java
  96. 20 0
      mrman-service/src/main/java/com/diagbot/vo/ModuleIndexVO.java
  97. 15 0
      mrman-service/src/main/java/com/diagbot/vo/QcCasesEntryAllVO.java
  98. 18 0
      mrman-service/src/main/java/com/diagbot/vo/QcEntryTypeIndexVO.java
  99. 28 0
      mrman-service/src/main/java/com/diagbot/vo/QcEntryTypePageVO.java
  100. 0 0
      mrman-service/src/main/java/com/diagbot/vo/QcEntryTypeSaveVO.java

+ 4 - 4
config-server/src/main/resources/shared/ltkg-service-dev.yml

@@ -12,9 +12,9 @@ spring:
       datasource:
         neo4j:
           driver-class-name: org.neo4j.jdbc.Driver
-          url: jdbc:neo4j:http://192.168.2.190:7474
-          username: root
-          password: zjlantone
+          url: jdbc:neo4j:http://192.168.3.150:7474
+          username: neo4j
+          password: 12345678
           #定义初始连接数
           initialSize: 0
           #定义最大连接数
@@ -95,4 +95,4 @@ nlprel:
 
 qa:
   server:
-    address: http://192.168.3.150:9999
+    address: http://192.168.3.150:9998

+ 4 - 4
config-server/src/main/resources/shared/ltkg-service-local.yml

@@ -12,9 +12,9 @@ spring:
       datasource:
         neo4j:
           driver-class-name: org.neo4j.jdbc.Driver
-          url: jdbc:neo4j:http://192.168.2.190:7474
-          username: root
-          password: zjlantone
+          url: jdbc:neo4j:http://192.168.3.150:7474
+          username: neo4j
+          password: 12345678
           #定义初始连接数
           initialSize: 0
           #定义最大连接数
@@ -95,4 +95,4 @@ nlprel:
 
 qa:
   server:
-    address: http://192.168.3.150:9999
+    address: http://192.168.3.150:9998

+ 3 - 3
config-server/src/main/resources/shared/ltkg-service-pre.yml

@@ -12,7 +12,7 @@ spring:
       datasource:
         neo4j:
           driver-class-name: org.neo4j.jdbc.Driver
-          url: jdbc:neo4j:http://192.168.3.150:7474
+          url: jdbc:neo4j:http://192.168.2.186:7474
           username: neo4j
           password: 12345678
           #定义初始连接数
@@ -91,8 +91,8 @@ mybatis-plus:
 
 nlprel:
   server:
-    address: http://192.168.3.150:3456
+    address: http://192.168.2.186:3456
 
 qa:
   server:
-    address: http://192.168.3.150:9999
+    address: http://192.168.2.186:9998

+ 3 - 3
config-server/src/main/resources/shared/ltkg-service-pro.yml

@@ -12,7 +12,7 @@ spring:
       datasource:
         neo4j:
           driver-class-name: org.neo4j.jdbc.Driver
-          url: jdbc:neo4j:http://192.168.3.150:7474
+          url: jdbc:neo4j:http://192.168.2.123:7472
           username: neo4j
           password: 12345678
           #定义初始连接数
@@ -91,8 +91,8 @@ mybatis-plus:
 
 nlprel:
   server:
-    address: http://192.168.3.150:3456
+    address: http://192.168.2.123:3456
 
 qa:
   server:
-    address: http://192.168.3.150:9999
+    address: http://192.168.2.123:9998

+ 5 - 5
config-server/src/main/resources/shared/ltkg-service-test.yml

@@ -12,9 +12,9 @@ spring:
       datasource:
         neo4j:
           driver-class-name: org.neo4j.jdbc.Driver
-          url: jdbc:neo4j:http://192.168.2.190:7474
-          username: root
-          password: zjlantone
+          url: jdbc:neo4j:http://192.168.2.234:7472
+          username: neo4j
+          password: 12345678
           #定义初始连接数
           initialSize: 0
           #定义最大连接数
@@ -91,8 +91,8 @@ mybatis-plus:
 
 nlprel:
   server:
-    address: http://192.168.3.150:3456
+    address: http://192.168.2.234:3456
 
 qa:
   server:
-    address: http://192.168.3.150:9999
+    address: http://192.168.2.234:9998

+ 7 - 5
config-server/src/main/resources/shared/mrman-service-dev.yml

@@ -58,11 +58,11 @@ spring:
           druid:
             initial-size: 5
         slave:
-          driver-class-name: oracle.jdbc.driver.OracleDriver
-          platform: oracle
-          url: jdbc:oracle:thin:@192.168.2.246:1521:orcl
-          username: ETRACKMRQC
-          password: ETRACKMRQC
+          driver-class-name: com.mysql.cj.jdbc.Driver
+          platform: mysql
+          url: jdbc:mysql://192.168.2.236:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+          username: root
+          password: lantone
           druid:
             initial-size: 5
 
@@ -125,3 +125,5 @@ mybatis-plus:
   configuration:
     map-underscore-to-camel-case: true
     cache-enabled: false
+
+qc.address: http://192.168.2.236:5858

+ 7 - 5
config-server/src/main/resources/shared/mrman-service-local.yml

@@ -58,11 +58,11 @@ spring:
           druid:
             initial-size: 5
         slave:
-          driver-class-name: oracle.jdbc.driver.OracleDriver
-          platform: oracle
-          url: jdbc:oracle:thin:@192.168.2.246:1521:orcl
-          username: ETRACKMRQC
-          password: ETRACKMRQC
+          driver-class-name: com.mysql.cj.jdbc.Driver
+          platform: mysql
+          url: jdbc:mysql://192.168.2.236:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+          username: root
+          password: lantone
           druid:
             initial-size: 5
 
@@ -125,3 +125,5 @@ mybatis-plus:
   configuration:
     map-underscore-to-camel-case: true
     cache-enabled: false
+
+qc.address: http://192.168.2.236:5858

+ 7 - 5
config-server/src/main/resources/shared/mrman-service-pre.yml

@@ -58,11 +58,11 @@ spring:
           druid:
             initial-size: 5
         slave:
-          driver-class-name: oracle.jdbc.driver.OracleDriver
-          platform: oracle
-          url: jdbc:oracle:thin:@192.168.2.246:1521:orcl
-          username: ETRACKMRQC
-          password: ETRACKMRQC
+          driver-class-name: com.mysql.cj.jdbc.Driver
+          platform: mysql
+          url: jdbc:mysql://192.168.2.121:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+          username: teamback
+          password: goTulmLeon
           druid:
             initial-size: 5
 
@@ -125,3 +125,5 @@ mybatis-plus:
   configuration:
     map-underscore-to-camel-case: true
     cache-enabled: false
+
+qc.address: http://192.168.2.121:5858

+ 7 - 5
config-server/src/main/resources/shared/mrman-service-pro.yml

@@ -58,11 +58,11 @@ spring:
           druid:
             initial-size: 5
         slave:
-          driver-class-name: oracle.jdbc.driver.OracleDriver
-          platform: oracle
-          url: jdbc:oracle:thin:@192.168.2.246:1521:orcl
-          username: ETRACKMRQC
-          password: ETRACKMRQC
+          driver-class-name: com.mysql.cj.jdbc.Driver
+          platform: mysql
+          url: jdbc:mysql://192.168.2.122:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+          username: root
+          password: lantone
           druid:
             initial-size: 5
 
@@ -125,3 +125,5 @@ mybatis-plus:
   configuration:
     map-underscore-to-camel-case: true
     cache-enabled: false
+
+qc.address: http://192.168.2.122:5858

+ 7 - 5
config-server/src/main/resources/shared/mrman-service-test.yml

@@ -59,11 +59,11 @@ spring:
           druid:
             initial-size: 5
         slave:
-          driver-class-name: oracle.jdbc.driver.OracleDriver
-          platform: oracle
-          url: jdbc:oracle:thin:@192.168.2.246:1521:orcl
-          username: ETRACKMRQC
-          password: ETRACKMRQC
+          driver-class-name: com.mysql.cj.jdbc.Driver
+          platform: mysql
+          url: jdbc:mysql://192.168.2.241:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+          username: root
+          password: lantone
           druid:
             initial-size: 5
 
@@ -126,3 +126,5 @@ mybatis-plus:
   configuration:
     map-underscore-to-camel-case: true
     cache-enabled: false
+
+qc.address: http://192.168.2.241:5858

+ 23 - 0
docs/036.20200526终末质控1.3.0/init_qc.sql

@@ -0,0 +1,23 @@
+use `qc`;
+
+alter table qc_module_info MODIFY COLUMN `record_module_id` bigint(20) NOT NULL DEFAULT '0' COMMENT 'med_record_module的id';
+
+-- ----------------------------
+-- Table structure for med_module_mapping
+-- ----------------------------
+DROP TABLE IF EXISTS `med_module_mapping`;
+CREATE TABLE `med_module_mapping` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `module_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '模板id',
+  `record_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '文书id(med_record_analyze中的id)',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `remark` varchar(128) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`),
+  KEY `module_id` (`module_id`),
+  KEY `record_id` (`record_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT='模板与文书映射关系表';

+ 111 - 0
docs/036.20200609标准病例初始化脚本/qc_init_clauses.sql

@@ -0,0 +1,111 @@
+use `qc`;
+-- ----------------------------
+-- Table structure for std_behospital_info
+-- ----------------------------
+DROP TABLE IF EXISTS `std_behospital_info`;
+CREATE TABLE `std_behospital_info` (
+  `behospital_code` varchar(16) NOT NULL COMMENT '病人住院ID',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `name` varchar(32) NOT NULL COMMENT '姓名',
+  `sex` varchar(2) DEFAULT NULL COMMENT '性别(男,女)',
+  `birthday` datetime DEFAULT NULL COMMENT '出生日期',
+  `file_code` varchar(16) DEFAULT NULL COMMENT '档案号',
+  `qc_type_id` bigint(20) DEFAULT '0' COMMENT '质控类型',
+  `ward_code` varchar(16) DEFAULT NULL COMMENT '病区编码',
+  `ward_name` varchar(32) DEFAULT NULL COMMENT '病区名称',
+  `beh_dept_id` varchar(16) NOT NULL COMMENT '住院科室ID',
+  `beh_dept_name` varchar(64) NOT NULL COMMENT '住院科室名称',
+  `bed_code` varchar(12) DEFAULT NULL COMMENT '床位号',
+  `bed_name` varchar(12) DEFAULT NULL COMMENT '床位名称',
+  `insurance_name` varchar(50) DEFAULT NULL COMMENT '医保类别',
+  `job_type` varchar(30) DEFAULT NULL COMMENT '职业',
+  `behospital_date` datetime DEFAULT NULL COMMENT '入院时间',
+  `leave_hospital_date` datetime DEFAULT NULL COMMENT '出院时间',
+  `diagnose_icd` varchar(50) DEFAULT NULL COMMENT '疾病ICD编码',
+  `diagnose` text COMMENT '疾病名称',
+  `doctor_id` varchar(16) DEFAULT '' COMMENT '主治医生ID',
+  `doctor_name` varchar(50) DEFAULT '' COMMENT '主治医生姓名',
+  `beh_doctor_id` varchar(16) DEFAULT '' COMMENT '住院医生ID',
+  `beh_doctor_name` varchar(50) DEFAULT '' COMMENT '住院医生姓名',
+  `director_doctor_id` varchar(16) DEFAULT '' COMMENT '主任医生ID',
+  `director_doctor_name` varchar(50) DEFAULT '' COMMENT '主任医生姓名',
+  `is_placefile` varchar(2) NOT NULL DEFAULT '0' COMMENT '是否归档(0:未归档,1:已归档)',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  PRIMARY KEY (`behospital_code`),
+  KEY `idx_hospital_id_behospital_code` (`hospital_id`,`behospital_code`) USING BTREE,
+  KEY `idx_leave_hospital_date` (`leave_hospital_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='标准住院病历信息';
+
+-- ----------------------------
+-- Table structure for std_qcresult_detail
+-- ----------------------------
+DROP TABLE IF EXISTS `std_qcresult_detail`;
+CREATE TABLE `std_qcresult_detail` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `behospital_code` varchar(255) NOT NULL DEFAULT '' COMMENT '病人住院ID',
+  `cases_id` bigint(20) DEFAULT NULL COMMENT '模块id',
+  `cases_score` decimal(5,1) DEFAULT NULL COMMENT '模块总分',
+  `cases_entry_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '条目ID',
+  `score` decimal(5,1) DEFAULT NULL COMMENT '人工修改分值',
+  `msg` varchar(255) DEFAULT NULL COMMENT '提示信息',
+  `info` varchar(500) DEFAULT '' COMMENT '质控返回提示信息',
+  `is_reject` int(3) DEFAULT '0' COMMENT '单项否决(1-单项否决 0-非)',
+  `grade_type` tinyint(4) DEFAULT '1' COMMENT '初始类型(1:机器,2:人工)',
+  `opt_type` tinyint(4) DEFAULT '1' COMMENT '操作类型(1:新增,2:删除,3:修改)',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  `satisfy` int(10) DEFAULT NULL COMMENT '是否满足',
+  PRIMARY KEY (`id`),
+  KEY `idx_hospital_id` (`hospital_id`) USING BTREE,
+  KEY `idx_behospital_code` (`behospital_code`) USING BTREE,
+  KEY `idx_hospital_id_behospital_code` (`hospital_id`,`behospital_code`) USING BTREE,
+  KEY `idx_is_deleted` (`is_deleted`) USING BTREE,
+  KEY `idx_msg` (`msg`) USING BTREE,
+  KEY `idx_mix` (`hospital_id`,`behospital_code`,`is_deleted`) USING BTREE,
+  KEY `idx_cases_entry_id` (`cases_entry_id`) USING BTREE,
+  KEY `idx_cases_id` (`cases_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='标准质控评分明细信息';
+
+DROP TABLE IF EXISTS `std_mission_info`;
+CREATE TABLE `std_mission_info` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `mission_name` varchar(20) DEFAULT NULL,
+  `status` int(11) DEFAULT '0',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='任务信息表';
+
+DROP TABLE IF EXISTS `std_mission_detail`;
+CREATE TABLE `std_mission_detail` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `mission_id` bigint(20) DEFAULT NULL,
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `cases_id` bigint(20) DEFAULT NULL COMMENT '模块id',
+  `cases_name` varchar(255) DEFAULT NULL,
+  `entry_code` varchar(255) NOT NULL DEFAULT '0' COMMENT '条目code',
+  `entry_name` varchar(255) DEFAULT NULL COMMENT '提示信息',
+  `amount` int(11) DEFAULT NULL,
+  `behospitalCodeStr` varchar(255) DEFAULT NULL,
+  `status` int(11) DEFAULT '0',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='任务信息详情表';

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1064 - 0
docs/036.20200609标准病例初始化脚本/sys_user_menu.sql


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1062 - 0
docs/037.20200615病历条目和质控类型关心映射/qc_init.sql


+ 11 - 0
docs/037.20200615病历条目和质控类型关心映射/qc_initv1.3.4.sql

@@ -0,0 +1,11 @@
+use `qc`;
+
+ALTER TABLE `qc_cases_entry` ADD `dev_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '开发状态标识: 0-未开发  1-已开发' AFTER `rule_type`;
+ALTER TABLE `qc_cases_entry` ADD `accuracy_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '准确率类型:0-极高,1-高,2-中,3-低' AFTER `dev_type`;
+
+INSERT INTO `qc`.`sys_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('291', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '15', '未开发', '0', '1', '0', '开发状态标识');
+INSERT INTO `qc`.`sys_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('292', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '15', '已开发', '1', '1', '1', '开发状态标识');
+INSERT INTO `qc`.`sys_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('293', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '16', '极高', '0', '1', '0', '准确率类型');
+INSERT INTO `qc`.`sys_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('294', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '16', '高', '1', '1', '1', '准确率类型');
+INSERT INTO `qc`.`sys_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('295', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '16', '中', '2', '1', '2', '准确率类型');
+INSERT INTO `qc`.`sys_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('296', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '16', '低', '3', '1', '3', '准确率类型');

+ 3 - 1
ltkg-service/src/main/java/com/diagbot/facade/KgFacade.java

@@ -119,7 +119,9 @@ public class KgFacade extends KgServiceImpl {
                 && (kgTreeVO.getSubType() == 1 || kgTreeVO.getSubType() == 2 || kgTreeVO.getSubType() == 3))
                 || (kgTreeVO.getType() == 2 && (kgTreeVO.getSubType() == 0))
                 || (kgTreeVO.getType() == 3 && (kgTreeVO.getSubType() == 0))
-                || (kgTreeVO.getType() == 4 && (kgTreeVO.getSubType() == 0))) {
+                || (kgTreeVO.getType() == 4 && (kgTreeVO.getSubType() == 0))
+                || (kgTreeVO.getType() == 5 && (kgTreeVO.getSubType() == 0))
+                || (kgTreeVO.getType() == 6 && (kgTreeVO.getSubType() == 0))) {
             // KgQueryVO kgQueryVO = new KgQueryVO();
             // kgQueryVO.setLabelName("诊断依据");
             // kgQueryVO.setInputStr("诊断依据");

+ 7 - 2
ltkg-service/src/main/java/com/diagbot/web/KgController.java

@@ -57,8 +57,13 @@ public class KgController {
     }
 
     @ApiOperation(value = "获取树形分类",
-            notes = "获取树形分类(疾病ICD10:t:1,st:1)" +
-                    "(疾病科室:t:1,st:2)")
+            notes = "获取树形分类(疾病ICD10:t:1,st:1)<br>" +
+                    "(疾病科室:t:1,st:2)<br>" +
+                    "(药品:t:2,st:0)<br>" +
+                    "(症状:t:3,st:0)<br>" +
+                    "(手术和操作:t:4,st:0)<br>" +
+                    "(实验室检查:t:5,st:0)<br>" +
+                    "(辅助检查:t:6,st:0)<br>")
     @PostMapping("/getTree")
     @SysLogger("getTree")
     @Cacheable(value = KGTREECACHE, key = "'kgtree:t_' + #kgTreeVO.type + '_st_' + #kgTreeVO.subType")

+ 1 - 1
ltkg-service/src/main/resources/mapper/KgMapper.xml

@@ -38,7 +38,7 @@
     <select id="getGraph" parameterType='com.diagbot.vo.KgQueryVO' resultMap="GraphResultMap">
         MATCH (n:${labelName})-[r]->(m)
         where n.name = #{inputStr}
-        OPTIONAL MATCH p=(m)-[]->(o) where head(Labels(m)) in ["疾病","症状","药品通用名"]
+        OPTIONAL MATCH p=(m)-[]->(o) where head(Labels(m)) in ["疾病","症状","药品通用名","手术和操作","实验室检查","辅助检查"]
         RETURN head(Labels(n)) as sLabel,n.name as sName,Type (r) as rType, head(Labels(m)) as eLabel,m.name as eName, count(p) as pCount
         ORDER BY rType
         LIMIT 100

+ 21 - 0
mrman-service/src/main/java/com/diagbot/client/BehospitalInfoHystrixClient.java

@@ -0,0 +1,21 @@
+package com.diagbot.client;
+
+import com.diagbot.client.hystrix.BehospitalInfoHystrix;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.vo.AnalyzeApiVO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.Map;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-11 16:04
+ */
+@FeignClient(name = "qc", url = "${qc.address}",fallback = BehospitalInfoHystrix.class)
+public interface BehospitalInfoHystrixClient {
+    @PostMapping(value = "/qc/behospitalInfo/analyze_api")
+    RespDTO<Map<String, Object>> analyzeApi(@RequestBody AnalyzeApiVO analyzeApiVO);
+}

+ 24 - 0
mrman-service/src/main/java/com/diagbot/client/hystrix/BehospitalInfoHystrix.java

@@ -0,0 +1,24 @@
+package com.diagbot.client.hystrix;
+
+import com.diagbot.client.BehospitalInfoHystrixClient;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.vo.AnalyzeApiVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-11 15:58
+ */
+@Component
+@Slf4j
+public class BehospitalInfoHystrix implements BehospitalInfoHystrixClient {
+    @Override
+    public RespDTO<Map<String, Object>> analyzeApi(AnalyzeApiVO analyzeApiVO) {
+        log.error("【hystrix】调用{}异常", "analyzeApi");
+        return null;
+    }
+}

+ 17 - 0
mrman-service/src/main/java/com/diagbot/dto/AnalyzeMessageDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-19 10:47
+ */
+@Setter
+@Getter
+public class AnalyzeMessageDTO {
+    private List<String> messages;
+}

+ 2 - 0
mrman-service/src/main/java/com/diagbot/dto/GetModuleInfoOneDTO.java

@@ -24,6 +24,8 @@ public class GetModuleInfoOneDTO {
     private Long modeId;
     //模板明细
     private Map<Integer, List<QcModuleDetailDTO>> moduleDetail;
+    // 已选择的文书
+    private List<MedRecordAnalyzeDTO> recordAnalyzeList;
     //备注
     private String remark;
 }

+ 1 - 0
mrman-service/src/main/java/com/diagbot/dto/GetUpdateInfoDetialDTO.java

@@ -16,5 +16,6 @@ public class GetUpdateInfoDetialDTO {
     private String hospitalName;
     private BigDecimal score;
     private Integer isUsed;
+    private Integer isReject;
     private String msg;
 }

+ 16 - 0
mrman-service/src/main/java/com/diagbot/dto/MedBehospitalDeptDTO.java

@@ -0,0 +1,16 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-12 10:00
+ */
+@Setter
+@Getter
+public class MedBehospitalDeptDTO {
+    private String deptId;
+    private String deptName;
+}

+ 75 - 0
mrman-service/src/main/java/com/diagbot/dto/MedQcresultDetailAllDTO.java

@@ -0,0 +1,75 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 16:09
+ */
+@Setter
+@Getter
+public class MedQcresultDetailAllDTO {
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+
+    /**
+     * 模块id
+     */
+    private Long casesId;
+
+    /**
+     * 模块总分
+     */
+    private BigDecimal casesScore;
+
+    /**
+     * 条目ID
+     */
+    private Long casesEntryId;
+
+    /**
+     * 人工修改分值
+     */
+    private BigDecimal score;
+
+    /**
+     * 提示信息
+     */
+    private String msg;
+
+    /**
+     * 质控返回提示信息
+     */
+    private String info;
+
+    /**
+     * 单项否决(1-单项否决 0-非)
+     */
+    private Integer isReject;
+
+    /**
+     * 初始类型(1:机器,2:人工)
+     */
+    private Integer gradeType;
+
+    /**
+     * 操作类型(1:新增,2:删除,3:修改)
+     */
+    private Integer optType;
+
+    /**
+     * 是否满足
+     */
+    private Integer satisfy;
+}

+ 31 - 0
mrman-service/src/main/java/com/diagbot/dto/MedRecordAnalyzeDTO.java

@@ -0,0 +1,31 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 医院病历文书类型细分类主表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-05-26
+ */
+@Data
+public class MedRecordAnalyzeDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    /**
+     * 医院病历文书类型细分类名称
+     */
+    private String name;
+
+    /**
+     * 病历号示例
+     */
+    private String behospitalCodes;
+}

+ 15 - 1
mrman-service/src/main/java/com/diagbot/dto/QcCasesEntryAllDTO.java

@@ -2,7 +2,6 @@ package com.diagbot.dto;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-import com.diagbot.entity.QcCasesEntry;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -41,6 +40,21 @@ public class QcCasesEntryAllDTO {
      */
     private String name;
 
+    /**
+     * 规则类型(0:无,1:空项,2:错误)
+     */
+    private Integer ruleType;
+
+    /**
+     * 开发状态标识: 0-未开发  1-已开发
+     */
+    private Integer devType;
+
+    /**
+     * 准确率类型:0-极高,1-高,2-中,3-低
+     */
+    private Integer accuracyType;
+
     private String precond;
 
     /**

+ 28 - 0
mrman-service/src/main/java/com/diagbot/dto/QcEntryTypeDTO.java

@@ -0,0 +1,28 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: zhoutg
+ * @time: 2020/3/30 16:54
+ */
+@Getter
+@Setter
+public class QcEntryTypeDTO {
+    // 医院id
+    private Long hospitalId;
+    // 条目id
+    private Long entryId;
+    // 条目名称
+    private String entryName;
+    // 质控类型集
+    private String typeStr;
+    // 条目编码
+    private String code;
+    // 所属模块
+    private String casesName;
+    // 所属模块
+    private String casesId;
+}

+ 27 - 0
mrman-service/src/main/java/com/diagbot/dto/QcEntryTypeDetailDTO.java

@@ -0,0 +1,27 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: zhoutg
+ * @time: 2020/3/30 16:54
+ */
+@Getter
+@Setter
+public class QcEntryTypeDetailDTO {
+    // 医院id
+    private Long hospitalId;
+    // 条目id
+    private Long entryId;
+    // 模块名称
+    private String casesName;
+    // 条目名称
+    private String entryName;
+    // 已选择质控类型列表
+    private List<QcTypeSimpDTO> qcTypeSimpDTOList = new ArrayList<>();
+}

+ 26 - 0
mrman-service/src/main/java/com/diagbot/dto/QcTypeByEntryDTO.java

@@ -0,0 +1,26 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: zhoutg
+ * @time: 2020/3/30 16:54
+ */
+@Getter
+@Setter
+public class QcTypeByEntryDTO {
+    // 医院id
+    private Long hospitalId;
+    // 条目id
+    private Long entryId;
+    // 条目名称
+    private String entryName;
+    // 条目名称
+    private String casesName;
+    // 质控类型名称
+    private String typeName;
+    // 质控类型id
+    private Long typeId;
+}

+ 18 - 0
mrman-service/src/main/java/com/diagbot/dto/QcTypeSimpDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author: ztg
+ * @Date: 2018/10/24 16:11
+ */
+@Getter
+@Setter
+public class QcTypeSimpDTO {
+    // 质控id
+    private Long id;
+    // 质控类型名称
+    private String name;
+}

+ 43 - 0
mrman-service/src/main/java/com/diagbot/dto/StdMissionDetailPageDTO.java

@@ -0,0 +1,43 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-11 14:30
+ */
+@Setter
+@Getter
+public class StdMissionDetailPageDTO {
+    private Long id;
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /*    private String hospitalName;*/
+    /**
+     * 模块id
+     */
+    private Long casesId;
+
+    private String casesName;
+
+    private String entryCode;
+    private String entryName;
+
+    /*private String msg;*/
+
+    private Integer amount;
+
+    private String behospitalCodeStr;
+
+    private Integer status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 16 - 0
mrman-service/src/main/java/com/diagbot/dto/StdMissionInfoPageDTO.java

@@ -0,0 +1,16 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-15 9:42
+ */
+@Setter
+@Getter
+public class StdMissionInfoPageDTO {
+    private Long id;
+    private String missionName;
+}

+ 18 - 0
mrman-service/src/main/java/com/diagbot/dto/SthospitalInfoFindDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 19:43
+ */
+@Setter
+@Getter
+public class SthospitalInfoFindDTO extends SthospitalInfoPageDTO{
+    /**
+     * 0存在,1不存在
+     */
+    private  Integer status;
+}

+ 65 - 0
mrman-service/src/main/java/com/diagbot/dto/SthospitalInfoPageDTO.java

@@ -0,0 +1,65 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 10:58
+ */
+@Setter
+@Getter
+public class SthospitalInfoPageDTO  {
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    private String hospitalName;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别(男,女)
+     */
+    private String sex;
+
+
+    /**
+     * 住院科室ID
+     */
+    private String deptId;
+
+    /**
+     * 住院科室名称
+     */
+    private String deptName;
+
+    /**
+     * 入院时间
+     */
+    private Date behospitalDate;
+
+    /**
+     * 出院时间
+     */
+    private Date leaveHospitalDate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+
+}

+ 35 - 0
mrman-service/src/main/java/com/diagbot/dto/SthospitalInfoStatiDTO.java

@@ -0,0 +1,35 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-11 10:49
+ */
+@Setter
+@Getter
+public class SthospitalInfoStatiDTO {
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+/*    private String hospitalName;*/
+    /**
+     * 模块id
+     */
+    private Long casesId;
+
+    private String casesName;
+
+    private String entryCode;
+    private String entryName;
+
+    private String msg;
+
+    private Integer amount;
+
+    private String behospitalCodeStr;
+}

+ 428 - 0
mrman-service/src/main/java/com/diagbot/entity/MedBehospitalInfo.java

@@ -0,0 +1,428 @@
+package com.diagbot.entity;
+
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 住院病历信息
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+public class MedBehospitalInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别(男,女)
+     */
+    private String sex;
+
+    /**
+     * 出生日期
+     */
+    private Date birthday;
+
+    /**
+     * 档案号
+     */
+    private String fileCode;
+
+    /**
+     * 质控类型
+     */
+    private Long qcTypeId;
+
+    /**
+     * 病区编码
+     */
+    private String wardCode;
+
+    /**
+     * 病区名称
+     */
+    private String wardName;
+
+    /**
+     * 住院科室ID
+     */
+    private String behDeptId;
+
+    /**
+     * 住院科室名称
+     */
+    private String behDeptName;
+
+    /**
+     * 床位号
+     */
+    private String bedCode;
+
+    /**
+     * 床位名称
+     */
+    private String bedName;
+
+    /**
+     * 医保类别
+     */
+    private String insuranceName;
+
+    /**
+     * 职业
+     */
+    private String jobType;
+
+    /**
+     * 入院时间
+     */
+    private Date behospitalDate;
+
+    /**
+     * 出院时间
+     */
+    private Date leaveHospitalDate;
+
+    /**
+     * 疾病ICD编码
+     */
+    private String diagnoseIcd;
+
+    /**
+     * 疾病名称
+     */
+    private String diagnose;
+
+    /**
+     * 主治医生ID
+     */
+    private String doctorId;
+
+    /**
+     * 主治医生姓名
+     */
+    private String doctorName;
+
+    /**
+     * 住院医生ID
+     */
+    private String behDoctorId;
+
+    /**
+     * 住院医生姓名
+     */
+    private String behDoctorName;
+
+    /**
+     * 主任医生ID
+     */
+    private String directorDoctorId;
+
+    /**
+     * 主任医生姓名
+     */
+    private String directorDoctorName;
+
+    /**
+     * 是否归档(0:未归档,1:已归档)
+     */
+    private String isPlacefile;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    public String getBehospitalCode() {
+        return behospitalCode;
+    }
+
+    public void setBehospitalCode(String behospitalCode) {
+        this.behospitalCode = behospitalCode;
+    }
+    public Long getHospitalId() {
+        return hospitalId;
+    }
+
+    public void setHospitalId(Long hospitalId) {
+        this.hospitalId = hospitalId;
+    }
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+    public String getSex() {
+        return sex;
+    }
+
+    public void setSex(String sex) {
+        this.sex = sex;
+    }
+    public Date getBirthday() {
+        return birthday;
+    }
+
+    public void setBirthday(Date birthday) {
+        this.birthday = birthday;
+    }
+    public String getFileCode() {
+        return fileCode;
+    }
+
+    public void setFileCode(String fileCode) {
+        this.fileCode = fileCode;
+    }
+    public Long getQcTypeId() {
+        return qcTypeId;
+    }
+
+    public void setQcTypeId(Long qcTypeId) {
+        this.qcTypeId = qcTypeId;
+    }
+    public String getWardCode() {
+        return wardCode;
+    }
+
+    public void setWardCode(String wardCode) {
+        this.wardCode = wardCode;
+    }
+    public String getWardName() {
+        return wardName;
+    }
+
+    public void setWardName(String wardName) {
+        this.wardName = wardName;
+    }
+    public String getBehDeptId() {
+        return behDeptId;
+    }
+
+    public void setBehDeptId(String behDeptId) {
+        this.behDeptId = behDeptId;
+    }
+    public String getBehDeptName() {
+        return behDeptName;
+    }
+
+    public void setBehDeptName(String behDeptName) {
+        this.behDeptName = behDeptName;
+    }
+    public String getBedCode() {
+        return bedCode;
+    }
+
+    public void setBedCode(String bedCode) {
+        this.bedCode = bedCode;
+    }
+    public String getBedName() {
+        return bedName;
+    }
+
+    public void setBedName(String bedName) {
+        this.bedName = bedName;
+    }
+    public String getInsuranceName() {
+        return insuranceName;
+    }
+
+    public void setInsuranceName(String insuranceName) {
+        this.insuranceName = insuranceName;
+    }
+    public String getJobType() {
+        return jobType;
+    }
+
+    public void setJobType(String jobType) {
+        this.jobType = jobType;
+    }
+    public Date getBehospitalDate() {
+        return behospitalDate;
+    }
+
+    public void setBehospitalDate(Date behospitalDate) {
+        this.behospitalDate = behospitalDate;
+    }
+    public Date getLeaveHospitalDate() {
+        return leaveHospitalDate;
+    }
+
+    public void setLeaveHospitalDate(Date leaveHospitalDate) {
+        this.leaveHospitalDate = leaveHospitalDate;
+    }
+    public String getDiagnoseIcd() {
+        return diagnoseIcd;
+    }
+
+    public void setDiagnoseIcd(String diagnoseIcd) {
+        this.diagnoseIcd = diagnoseIcd;
+    }
+    public String getDiagnose() {
+        return diagnose;
+    }
+
+    public void setDiagnose(String diagnose) {
+        this.diagnose = diagnose;
+    }
+    public String getDoctorId() {
+        return doctorId;
+    }
+
+    public void setDoctorId(String doctorId) {
+        this.doctorId = doctorId;
+    }
+    public String getDoctorName() {
+        return doctorName;
+    }
+
+    public void setDoctorName(String doctorName) {
+        this.doctorName = doctorName;
+    }
+    public String getBehDoctorId() {
+        return behDoctorId;
+    }
+
+    public void setBehDoctorId(String behDoctorId) {
+        this.behDoctorId = behDoctorId;
+    }
+    public String getBehDoctorName() {
+        return behDoctorName;
+    }
+
+    public void setBehDoctorName(String behDoctorName) {
+        this.behDoctorName = behDoctorName;
+    }
+    public String getDirectorDoctorId() {
+        return directorDoctorId;
+    }
+
+    public void setDirectorDoctorId(String directorDoctorId) {
+        this.directorDoctorId = directorDoctorId;
+    }
+    public String getDirectorDoctorName() {
+        return directorDoctorName;
+    }
+
+    public void setDirectorDoctorName(String directorDoctorName) {
+        this.directorDoctorName = directorDoctorName;
+    }
+    public String getIsPlacefile() {
+        return isPlacefile;
+    }
+
+    public void setIsPlacefile(String isPlacefile) {
+        this.isPlacefile = isPlacefile;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+
+    @Override
+    public String toString() {
+        return "MedBehospitalInfo{" +
+            "behospitalCode=" + behospitalCode +
+            ", hospitalId=" + hospitalId +
+            ", name=" + name +
+            ", sex=" + sex +
+            ", birthday=" + birthday +
+            ", fileCode=" + fileCode +
+            ", qcTypeId=" + qcTypeId +
+            ", wardCode=" + wardCode +
+            ", wardName=" + wardName +
+            ", behDeptId=" + behDeptId +
+            ", behDeptName=" + behDeptName +
+            ", bedCode=" + bedCode +
+            ", bedName=" + bedName +
+            ", insuranceName=" + insuranceName +
+            ", jobType=" + jobType +
+            ", behospitalDate=" + behospitalDate +
+            ", leaveHospitalDate=" + leaveHospitalDate +
+            ", diagnoseIcd=" + diagnoseIcd +
+            ", diagnose=" + diagnose +
+            ", doctorId=" + doctorId +
+            ", doctorName=" + doctorName +
+            ", behDoctorId=" + behDoctorId +
+            ", behDoctorName=" + behDoctorName +
+            ", directorDoctorId=" + directorDoctorId +
+            ", directorDoctorName=" + directorDoctorName +
+            ", isPlacefile=" + isPlacefile +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+        "}";
+    }
+}

+ 73 - 0
mrman-service/src/main/java/com/diagbot/entity/MedModuleMapping.java

@@ -0,0 +1,73 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 模板与文书映射关系表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-05-26
+ */
+@Data
+public class MedModuleMapping implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 模板id
+     */
+    private Long moduleId;
+
+    /**
+     * 文书id
+     */
+    private Long recordId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 261 - 0
mrman-service/src/main/java/com/diagbot/entity/MedQcresultDetail.java

@@ -0,0 +1,261 @@
+package com.diagbot.entity;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 质控评分明细信息
+每次评分增加一条信息,前面所有评分is_deleted全部设置为Y
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+public class MedQcresultDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+
+    /**
+     * 模块id
+     */
+    private Long casesId;
+
+    /**
+     * 模块总分
+     */
+    private BigDecimal casesScore;
+
+    /**
+     * 条目ID
+     */
+    private Long casesEntryId;
+
+    /**
+     * 人工修改分值
+     */
+    private BigDecimal score;
+
+    /**
+     * 提示信息
+     */
+    private String msg;
+
+    /**
+     * 质控返回提示信息
+     */
+    private String info;
+
+    /**
+     * 单项否决(1-单项否决 0-非)
+     */
+    private Integer isReject;
+
+    /**
+     * 初始类型(1:机器,2:人工)
+     */
+    private Integer gradeType;
+
+    /**
+     * 操作类型(1:新增,2:删除,3:修改)
+     */
+    private Integer optType;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public Long getHospitalId() {
+        return hospitalId;
+    }
+
+    public void setHospitalId(Long hospitalId) {
+        this.hospitalId = hospitalId;
+    }
+    public String getBehospitalCode() {
+        return behospitalCode;
+    }
+
+    public void setBehospitalCode(String behospitalCode) {
+        this.behospitalCode = behospitalCode;
+    }
+    public Long getCasesId() {
+        return casesId;
+    }
+
+    public void setCasesId(Long casesId) {
+        this.casesId = casesId;
+    }
+    public BigDecimal getCasesScore() {
+        return casesScore;
+    }
+
+    public void setCasesScore(BigDecimal casesScore) {
+        this.casesScore = casesScore;
+    }
+    public Long getCasesEntryId() {
+        return casesEntryId;
+    }
+
+    public void setCasesEntryId(Long casesEntryId) {
+        this.casesEntryId = casesEntryId;
+    }
+    public BigDecimal getScore() {
+        return score;
+    }
+
+    public void setScore(BigDecimal score) {
+        this.score = score;
+    }
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+    public String getInfo() {
+        return info;
+    }
+
+    public void setInfo(String info) {
+        this.info = info;
+    }
+    public Integer getIsReject() {
+        return isReject;
+    }
+
+    public void setIsReject(Integer isReject) {
+        this.isReject = isReject;
+    }
+    public Integer getGradeType() {
+        return gradeType;
+    }
+
+    public void setGradeType(Integer gradeType) {
+        this.gradeType = gradeType;
+    }
+    public Integer getOptType() {
+        return optType;
+    }
+
+    public void setOptType(Integer optType) {
+        this.optType = optType;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "MedQcresultDetail{" +
+            "id=" + id +
+            ", hospitalId=" + hospitalId +
+            ", behospitalCode=" + behospitalCode +
+            ", casesId=" + casesId +
+            ", casesScore=" + casesScore +
+            ", casesEntryId=" + casesEntryId +
+            ", score=" + score +
+            ", msg=" + msg +
+            ", info=" + info +
+            ", isReject=" + isReject +
+            ", gradeType=" + gradeType +
+            ", optType=" + optType +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", remark=" + remark +
+        "}";
+    }
+}

+ 95 - 0
mrman-service/src/main/java/com/diagbot/entity/MedRecordAnalyze.java

@@ -0,0 +1,95 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 医院病历文书类型细分类主表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-05-26
+ */
+@Data
+public class MedRecordAnalyze implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 医院病历文书类型细分类名称
+     */
+    private String name;
+
+    /**
+     * 数据模块ID
+     */
+    private Long modeId;
+
+    /**
+     * 数据模块名称
+     */
+    private String modeName;
+
+    /**
+     * 医院病历文书类型
+     */
+    private String recType;
+
+    /**
+     * 病历号示例
+     */
+    private String behospitalCodes;
+
+    /**
+     * 医院病历文书类型细分类
+     */
+    private String mapType;
+
+    /**
+     * key集合,用英文逗号隔开
+     */
+    private String mapKeys;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 18 - 120
mrman-service/src/main/java/com/diagbot/entity/QcCasesEntry.java

@@ -2,7 +2,8 @@ package com.diagbot.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
+import lombok.Data;
+
 import java.io.Serializable;
 import java.util.Date;
 
@@ -14,6 +15,7 @@ import java.util.Date;
  * @author wangfeng
  * @since 2020-04-27
  */
+@Data
 public class QcCasesEntry implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -43,6 +45,21 @@ public class QcCasesEntry implements Serializable {
      */
     private String name;
 
+    /**
+     * 规则类型(0:无,1:空项,2:错误)
+     */
+    private Integer ruleType;
+
+    /**
+     * 开发状态标识: 0-未开发  1-已开发
+     */
+    private Integer devType;
+
+    /**
+     * 准确率类型:0-极高,1-高,2-中,3-低
+     */
+    private Integer accuracyType;
+
     private String precond;
 
     /**
@@ -79,123 +96,4 @@ public class QcCasesEntry implements Serializable {
      * 修改人,如果为0则表示纪录未修改
      */
     private String modifier;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-    public Long getCasesId() {
-        return casesId;
-    }
-
-    public void setCasesId(Long casesId) {
-        this.casesId = casesId;
-    }
-    public String getCasesName() {
-        return casesName;
-    }
-
-    public void setCasesName(String casesName) {
-        this.casesName = casesName;
-    }
-    public Long getModeId() {
-        return modeId;
-    }
-
-    public void setModeId(Long modeId) {
-        this.modeId = modeId;
-    }
-    public String getCode() {
-        return code;
-    }
-
-    public void setCode(String code) {
-        this.code = code;
-    }
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-    public String getPrecond() {
-        return precond;
-    }
-
-    public void setPrecond(String precond) {
-        this.precond = precond;
-    }
-    public Integer getOrderNo() {
-        return orderNo;
-    }
-
-    public void setOrderNo(Integer orderNo) {
-        this.orderNo = orderNo;
-    }
-    public String getRemark() {
-        return remark;
-    }
-
-    public void setRemark(String remark) {
-        this.remark = remark;
-    }
-    public String getIsDeleted() {
-        return isDeleted;
-    }
-
-    public void setIsDeleted(String isDeleted) {
-        this.isDeleted = isDeleted;
-    }
-    public Date getGmtCreate() {
-        return gmtCreate;
-    }
-
-    public void setGmtCreate(Date gmtCreate) {
-        this.gmtCreate = gmtCreate;
-    }
-    public Date getGmtModified() {
-        return gmtModified;
-    }
-
-    public void setGmtModified(Date gmtModified) {
-        this.gmtModified = gmtModified;
-    }
-    public String getCreator() {
-        return creator;
-    }
-
-    public void setCreator(String creator) {
-        this.creator = creator;
-    }
-    public String getModifier() {
-        return modifier;
-    }
-
-    public void setModifier(String modifier) {
-        this.modifier = modifier;
-    }
-
-    @Override
-    public String toString() {
-        return "QcCasesEntry{" +
-                "id=" + id +
-                ", casesId=" + casesId +
-                ", casesName=" + casesName +
-                ", modeId=" + modeId +
-                ", code=" + code +
-                ", name=" + name +
-                ", precond=" + precond +
-                ", orderNo=" + orderNo +
-                ", remark=" + remark +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                "}";
-    }
 }

+ 428 - 0
mrman-service/src/main/java/com/diagbot/entity/StdBehospitalInfo.java

@@ -0,0 +1,428 @@
+package com.diagbot.entity;
+
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 标准住院病历信息
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+public class StdBehospitalInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别(男,女)
+     */
+    private String sex;
+
+    /**
+     * 出生日期
+     */
+    private Date birthday;
+
+    /**
+     * 档案号
+     */
+    private String fileCode;
+
+    /**
+     * 质控类型
+     */
+    private Long qcTypeId;
+
+    /**
+     * 病区编码
+     */
+    private String wardCode;
+
+    /**
+     * 病区名称
+     */
+    private String wardName;
+
+    /**
+     * 住院科室ID
+     */
+    private String behDeptId;
+
+    /**
+     * 住院科室名称
+     */
+    private String behDeptName;
+
+    /**
+     * 床位号
+     */
+    private String bedCode;
+
+    /**
+     * 床位名称
+     */
+    private String bedName;
+
+    /**
+     * 医保类别
+     */
+    private String insuranceName;
+
+    /**
+     * 职业
+     */
+    private String jobType;
+
+    /**
+     * 入院时间
+     */
+    private Date behospitalDate;
+
+    /**
+     * 出院时间
+     */
+    private Date leaveHospitalDate;
+
+    /**
+     * 疾病ICD编码
+     */
+    private String diagnoseIcd;
+
+    /**
+     * 疾病名称
+     */
+    private String diagnose;
+
+    /**
+     * 主治医生ID
+     */
+    private String doctorId;
+
+    /**
+     * 主治医生姓名
+     */
+    private String doctorName;
+
+    /**
+     * 住院医生ID
+     */
+    private String behDoctorId;
+
+    /**
+     * 住院医生姓名
+     */
+    private String behDoctorName;
+
+    /**
+     * 主任医生ID
+     */
+    private String directorDoctorId;
+
+    /**
+     * 主任医生姓名
+     */
+    private String directorDoctorName;
+
+    /**
+     * 是否归档(0:未归档,1:已归档)
+     */
+    private String isPlacefile;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    public String getBehospitalCode() {
+        return behospitalCode;
+    }
+
+    public void setBehospitalCode(String behospitalCode) {
+        this.behospitalCode = behospitalCode;
+    }
+    public Long getHospitalId() {
+        return hospitalId;
+    }
+
+    public void setHospitalId(Long hospitalId) {
+        this.hospitalId = hospitalId;
+    }
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+    public String getSex() {
+        return sex;
+    }
+
+    public void setSex(String sex) {
+        this.sex = sex;
+    }
+    public Date getBirthday() {
+        return birthday;
+    }
+
+    public void setBirthday(Date birthday) {
+        this.birthday = birthday;
+    }
+    public String getFileCode() {
+        return fileCode;
+    }
+
+    public void setFileCode(String fileCode) {
+        this.fileCode = fileCode;
+    }
+    public Long getQcTypeId() {
+        return qcTypeId;
+    }
+
+    public void setQcTypeId(Long qcTypeId) {
+        this.qcTypeId = qcTypeId;
+    }
+    public String getWardCode() {
+        return wardCode;
+    }
+
+    public void setWardCode(String wardCode) {
+        this.wardCode = wardCode;
+    }
+    public String getWardName() {
+        return wardName;
+    }
+
+    public void setWardName(String wardName) {
+        this.wardName = wardName;
+    }
+    public String getBehDeptId() {
+        return behDeptId;
+    }
+
+    public void setBehDeptId(String behDeptId) {
+        this.behDeptId = behDeptId;
+    }
+    public String getBehDeptName() {
+        return behDeptName;
+    }
+
+    public void setBehDeptName(String behDeptName) {
+        this.behDeptName = behDeptName;
+    }
+    public String getBedCode() {
+        return bedCode;
+    }
+
+    public void setBedCode(String bedCode) {
+        this.bedCode = bedCode;
+    }
+    public String getBedName() {
+        return bedName;
+    }
+
+    public void setBedName(String bedName) {
+        this.bedName = bedName;
+    }
+    public String getInsuranceName() {
+        return insuranceName;
+    }
+
+    public void setInsuranceName(String insuranceName) {
+        this.insuranceName = insuranceName;
+    }
+    public String getJobType() {
+        return jobType;
+    }
+
+    public void setJobType(String jobType) {
+        this.jobType = jobType;
+    }
+    public Date getBehospitalDate() {
+        return behospitalDate;
+    }
+
+    public void setBehospitalDate(Date behospitalDate) {
+        this.behospitalDate = behospitalDate;
+    }
+    public Date getLeaveHospitalDate() {
+        return leaveHospitalDate;
+    }
+
+    public void setLeaveHospitalDate(Date leaveHospitalDate) {
+        this.leaveHospitalDate = leaveHospitalDate;
+    }
+    public String getDiagnoseIcd() {
+        return diagnoseIcd;
+    }
+
+    public void setDiagnoseIcd(String diagnoseIcd) {
+        this.diagnoseIcd = diagnoseIcd;
+    }
+    public String getDiagnose() {
+        return diagnose;
+    }
+
+    public void setDiagnose(String diagnose) {
+        this.diagnose = diagnose;
+    }
+    public String getDoctorId() {
+        return doctorId;
+    }
+
+    public void setDoctorId(String doctorId) {
+        this.doctorId = doctorId;
+    }
+    public String getDoctorName() {
+        return doctorName;
+    }
+
+    public void setDoctorName(String doctorName) {
+        this.doctorName = doctorName;
+    }
+    public String getBehDoctorId() {
+        return behDoctorId;
+    }
+
+    public void setBehDoctorId(String behDoctorId) {
+        this.behDoctorId = behDoctorId;
+    }
+    public String getBehDoctorName() {
+        return behDoctorName;
+    }
+
+    public void setBehDoctorName(String behDoctorName) {
+        this.behDoctorName = behDoctorName;
+    }
+    public String getDirectorDoctorId() {
+        return directorDoctorId;
+    }
+
+    public void setDirectorDoctorId(String directorDoctorId) {
+        this.directorDoctorId = directorDoctorId;
+    }
+    public String getDirectorDoctorName() {
+        return directorDoctorName;
+    }
+
+    public void setDirectorDoctorName(String directorDoctorName) {
+        this.directorDoctorName = directorDoctorName;
+    }
+    public String getIsPlacefile() {
+        return isPlacefile;
+    }
+
+    public void setIsPlacefile(String isPlacefile) {
+        this.isPlacefile = isPlacefile;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+
+    @Override
+    public String toString() {
+        return "StdBehospitalInfo{" +
+            "behospitalCode=" + behospitalCode +
+            ", hospitalId=" + hospitalId +
+            ", name=" + name +
+            ", sex=" + sex +
+            ", birthday=" + birthday +
+            ", fileCode=" + fileCode +
+            ", qcTypeId=" + qcTypeId +
+            ", wardCode=" + wardCode +
+            ", wardName=" + wardName +
+            ", behDeptId=" + behDeptId +
+            ", behDeptName=" + behDeptName +
+            ", bedCode=" + bedCode +
+            ", bedName=" + bedName +
+            ", insuranceName=" + insuranceName +
+            ", jobType=" + jobType +
+            ", behospitalDate=" + behospitalDate +
+            ", leaveHospitalDate=" + leaveHospitalDate +
+            ", diagnoseIcd=" + diagnoseIcd +
+            ", diagnose=" + diagnose +
+            ", doctorId=" + doctorId +
+            ", doctorName=" + doctorName +
+            ", behDoctorId=" + behDoctorId +
+            ", behDoctorName=" + behDoctorName +
+            ", directorDoctorId=" + directorDoctorId +
+            ", directorDoctorName=" + directorDoctorName +
+            ", isPlacefile=" + isPlacefile +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+        "}";
+    }
+}

+ 223 - 0
mrman-service/src/main/java/com/diagbot/entity/StdMissionDetail.java

@@ -0,0 +1,223 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-12
+ */
+public class StdMissionDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    private Long missionId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 模块id
+     */
+    private Long casesId;
+
+    private String casesName;
+
+    /**
+     * 条目code
+     */
+    private String entryCode;
+
+    /**
+     * 提示信息
+     */
+    private String entryName;
+
+    private Integer amount;
+
+    @TableField("behospitalCodeStr")
+    private String behospitalCodeStr;
+
+    private Integer status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public Long getMissionId() {
+        return missionId;
+    }
+
+    public void setMissionId(Long missionId) {
+        this.missionId = missionId;
+    }
+    public Long getHospitalId() {
+        return hospitalId;
+    }
+
+    public void setHospitalId(Long hospitalId) {
+        this.hospitalId = hospitalId;
+    }
+    public Long getCasesId() {
+        return casesId;
+    }
+
+    public void setCasesId(Long casesId) {
+        this.casesId = casesId;
+    }
+    public String getCasesName() {
+        return casesName;
+    }
+
+    public void setCasesName(String casesName) {
+        this.casesName = casesName;
+    }
+    public String getEntryCode() {
+        return entryCode;
+    }
+
+    public void setEntryCode(String entryCode) {
+        this.entryCode = entryCode;
+    }
+    public String getEntryName() {
+        return entryName;
+    }
+
+    public void setEntryName(String entryName) {
+        this.entryName = entryName;
+    }
+    public Integer getAmount() {
+        return amount;
+    }
+
+    public void setAmount(Integer amount) {
+        this.amount = amount;
+    }
+    public String getBehospitalCodeStr() {
+        return behospitalCodeStr;
+    }
+
+    public void setBehospitalCodeStr(String behospitalCodeStr) {
+        this.behospitalCodeStr = behospitalCodeStr;
+    }
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "StdMissionDetail{" +
+            "id=" + id +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", missionId=" + missionId +
+            ", hospitalId=" + hospitalId +
+            ", casesId=" + casesId +
+            ", casesName=" + casesName +
+            ", entryCode=" + entryCode +
+            ", entryName=" + entryName +
+            ", amount=" + amount +
+            ", behospitalCodeStr=" + behospitalCodeStr +
+            ", status=" + status +
+            ", remark=" + remark +
+        "}";
+    }
+}

+ 139 - 0
mrman-service/src/main/java/com/diagbot/entity/StdMissionInfo.java

@@ -0,0 +1,139 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-12
+ */
+public class StdMissionInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    private String missionName;
+
+    private Integer status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public String getMissionName() {
+        return missionName;
+    }
+
+    public void setMissionName(String missionName) {
+        this.missionName = missionName;
+    }
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "StdMissionInfo{" +
+            "id=" + id +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", missionName=" + missionName +
+            ", status=" + status +
+            ", remark=" + remark +
+        "}";
+    }
+}

+ 276 - 0
mrman-service/src/main/java/com/diagbot/entity/StdQcresultDetail.java

@@ -0,0 +1,276 @@
+package com.diagbot.entity;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 标准质控评分明细信息
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+public class StdQcresultDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+
+    /**
+     * 模块id
+     */
+    private Long casesId;
+
+    /**
+     * 模块总分
+     */
+    private BigDecimal casesScore;
+
+    /**
+     * 条目ID
+     */
+    private Long casesEntryId;
+
+    /**
+     * 人工修改分值
+     */
+    private BigDecimal score;
+
+    /**
+     * 提示信息
+     */
+    private String msg;
+
+    /**
+     * 质控返回提示信息
+     */
+    private String info;
+
+    /**
+     * 单项否决(1-单项否决 0-非)
+     */
+    private Integer isReject;
+
+    /**
+     * 初始类型(1:机器,2:人工)
+     */
+    private Integer gradeType;
+
+    /**
+     * 操作类型(1:新增,2:删除,3:修改)
+     */
+    private Integer optType;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否满足
+     */
+    private Integer satisfy;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public Long getHospitalId() {
+        return hospitalId;
+    }
+
+    public void setHospitalId(Long hospitalId) {
+        this.hospitalId = hospitalId;
+    }
+    public String getBehospitalCode() {
+        return behospitalCode;
+    }
+
+    public void setBehospitalCode(String behospitalCode) {
+        this.behospitalCode = behospitalCode;
+    }
+    public Long getCasesId() {
+        return casesId;
+    }
+
+    public void setCasesId(Long casesId) {
+        this.casesId = casesId;
+    }
+    public BigDecimal getCasesScore() {
+        return casesScore;
+    }
+
+    public void setCasesScore(BigDecimal casesScore) {
+        this.casesScore = casesScore;
+    }
+    public Long getCasesEntryId() {
+        return casesEntryId;
+    }
+
+    public void setCasesEntryId(Long casesEntryId) {
+        this.casesEntryId = casesEntryId;
+    }
+    public BigDecimal getScore() {
+        return score;
+    }
+
+    public void setScore(BigDecimal score) {
+        this.score = score;
+    }
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+    public String getInfo() {
+        return info;
+    }
+
+    public void setInfo(String info) {
+        this.info = info;
+    }
+    public Integer getIsReject() {
+        return isReject;
+    }
+
+    public void setIsReject(Integer isReject) {
+        this.isReject = isReject;
+    }
+    public Integer getGradeType() {
+        return gradeType;
+    }
+
+    public void setGradeType(Integer gradeType) {
+        this.gradeType = gradeType;
+    }
+    public Integer getOptType() {
+        return optType;
+    }
+
+    public void setOptType(Integer optType) {
+        this.optType = optType;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+    public Integer getSatisfy() {
+        return satisfy;
+    }
+
+    public void setSatisfy(Integer satisfy) {
+        this.satisfy = satisfy;
+    }
+
+    @Override
+    public String toString() {
+        return "StdQcresultDetail{" +
+            "id=" + id +
+            ", hospitalId=" + hospitalId +
+            ", behospitalCode=" + behospitalCode +
+            ", casesId=" + casesId +
+            ", casesScore=" + casesScore +
+            ", casesEntryId=" + casesEntryId +
+            ", score=" + score +
+            ", msg=" + msg +
+            ", info=" + info +
+            ", isReject=" + isReject +
+            ", gradeType=" + gradeType +
+            ", optType=" + optType +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", remark=" + remark +
+            ", satisfy=" + satisfy +
+        "}";
+    }
+}

+ 17 - 15
mrman-service/src/main/java/com/diagbot/facade/CasesEntryHospitalFacade.java

@@ -11,12 +11,10 @@ import com.diagbot.entity.QcCasesEntry;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
-import com.diagbot.service.CasesEntryHospitalService;
 import com.diagbot.service.impl.CasesEntryHospitalServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.ListUtil;
-import com.diagbot.util.SqlExecuteUtil;
 import com.diagbot.vo.GetAllByHospitalVO;
 import com.diagbot.vo.InsertByHospitalVO;
 import com.diagbot.vo.UpdateByHospitalVO;
@@ -90,6 +88,7 @@ public class CasesEntryHospitalFacade extends CasesEntryHospitalServiceImpl {
                     getAllByHospitalDetialDTO.setModeName(qcCasesEntry.getModeName());
                     getAllByHospitalDetialDTO.setMsg(casesEntryHospitalMap.get(qcCasesEntry.getId()).getMsg());
                     getAllByHospitalDetialDTO.setIsUsed(casesEntryHospitalMap.get(qcCasesEntry.getId()).getIsUsed());
+                    getAllByHospitalDetialDTO.setIsReject(casesEntryHospitalMap.get(qcCasesEntry.getId()).getIsReject());
                     getAllByHospitalDetialDTO.setScore(casesEntryHospitalMap.get(qcCasesEntry.getId()).getScore());
                     getAllByHospitalDetialDTO.setPrecond(qcCasesEntry.getPrecond());
                     getAllByHospitalDetialDTO.setName(qcCasesEntry.getName());
@@ -116,11 +115,14 @@ public class CasesEntryHospitalFacade extends CasesEntryHospitalServiceImpl {
         casesEntryHospitalQueryWrapper
                 .eq("is_deleted",IsDeleteEnum.N.getKey())
                 .in("hospital_id",updateByHospitalVO.getHospitalIds());
-        this.remove(casesEntryHospitalQueryWrapper);
+
+        boolean res = this.remove(casesEntryHospitalQueryWrapper);
         //添加新的
-        casesEntryHospitalService.saveBatch(updateByHospitalVO.getCasesEntryHospitals());
+        if(res){
+           res = casesEntryHospitalService.saveAll(updateByHospitalVO.getCasesEntryHospitals());
+        }
 
-        return true;
+        return res;
     }
 
     /**
@@ -131,15 +133,15 @@ public class CasesEntryHospitalFacade extends CasesEntryHospitalServiceImpl {
      */
     public Boolean insertByHospital(InsertByHospitalVO insertByHospitalVO){
 
-            QueryWrapper<QcCasesEntry> qcCasesEntryWrapper = new QueryWrapper<>();
-            qcCasesEntryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey())
-                    .ne("id",insertByHospitalVO.getId()==null? -1:insertByHospitalVO.getId())
-                    .eq("name",insertByHospitalVO.getName())
-                    .eq("cases_id",insertByHospitalVO.getCasesId());
-            int sum = qcCacesEntryFacade.count(qcCasesEntryWrapper);
-            if (sum != 0) {
-                throw new CommonException(CommonErrorCode.NOT_EXISTS, "该条目名称存在");
-            }
+        QueryWrapper<QcCasesEntry> qcCasesEntryWrapper = new QueryWrapper<>();
+        qcCasesEntryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey())
+                .ne("id",insertByHospitalVO.getId()==null? -1:insertByHospitalVO.getId())
+                .eq("name",insertByHospitalVO.getName())
+                .eq("cases_id",insertByHospitalVO.getCasesId());
+        int sum = qcCacesEntryFacade.count(qcCasesEntryWrapper);
+        if (sum != 0) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该条目名称存在");
+        }
         QueryWrapper<QcCasesEntry> qcCasesEntryQueryWrapper = new QueryWrapper<>();
         qcCasesEntryQueryWrapper.eq("id",insertByHospitalVO.getId());
         List<QcCasesEntry> qcCasesEntries = qcCacesEntryFacade.list(qcCasesEntryQueryWrapper);
@@ -167,7 +169,7 @@ public class CasesEntryHospitalFacade extends CasesEntryHospitalServiceImpl {
             qcCasesEntry.setGmtCreate(date);
             qcCasesEntry.setGmtModified(date);
             boolean res= qcCacesEntryFacade.save(qcCasesEntry);
-            //先保存, 在更新Coed
+            //先保存, 在更新Code
             if(res){
                 Long id = qcCasesEntry.getId();
                 String code = qcCasesEntry.getCode()+id;

+ 27 - 0
mrman-service/src/main/java/com/diagbot/facade/MedBehospitalInfoFacade.java

@@ -0,0 +1,27 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.MedBehospitalDeptDTO;
+import com.diagbot.service.MedBehospitalInfoService;
+import com.diagbot.service.impl.MedBehospitalInfoServiceImpl;
+import com.diagbot.vo.MedBehospitalDeptVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 10:23
+ */
+@Component
+public class MedBehospitalInfoFacade extends MedBehospitalInfoServiceImpl {
+    @Autowired
+    MedBehospitalInfoService medBehospitalInfoService;
+
+    public List<MedBehospitalDeptDTO> findhospitalDepts(MedBehospitalDeptVO medBehospitalDeptVO) {
+
+        return medBehospitalInfoService.findhospitalDept(medBehospitalDeptVO);
+
+    }
+}

+ 14 - 0
mrman-service/src/main/java/com/diagbot/facade/MedModuleMappingFacade.java

@@ -0,0 +1,14 @@
+package com.diagbot.facade;
+
+import com.diagbot.service.impl.MedModuleMappingServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author zhoutg
+ * @Description:
+ * @date 2020-04-26 17:24
+ */
+@Component
+public class MedModuleMappingFacade extends MedModuleMappingServiceImpl {
+
+}

+ 27 - 0
mrman-service/src/main/java/com/diagbot/facade/MedQcresultDetailFacade.java

@@ -0,0 +1,27 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.MedQcresultDetailAllDTO;
+import com.diagbot.service.MedQcresultDetailService;
+import com.diagbot.service.impl.MedQcresultDetailServiceImpl;
+import com.diagbot.vo.MedQcresultDetailAllVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 10:51
+ */
+@Component
+public class MedQcresultDetailFacade extends MedQcresultDetailServiceImpl {
+    @Autowired
+    MedQcresultDetailService medQcresultDetailService;
+
+
+    public List<MedQcresultDetailAllDTO> getMedQcresultDetail(MedQcresultDetailAllVO medQcresultDetailAllVO) {
+        List<MedQcresultDetailAllDTO> data = medQcresultDetailService.getMedDetail(medQcresultDetailAllVO);
+        return  data;
+    }
+}

+ 25 - 0
mrman-service/src/main/java/com/diagbot/facade/MedRecordAnalyzeFacade.java

@@ -0,0 +1,25 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.MedRecordAnalyzeDTO;
+import com.diagbot.service.impl.MedRecordAnalyzeServiceImpl;
+import com.diagbot.vo.ModuleIndexVO;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author zhoutg
+ * @Description:
+ * @date 2020-04-26 17:24
+ */
+@Component
+public class MedRecordAnalyzeFacade extends MedRecordAnalyzeServiceImpl {
+
+    public List<MedRecordAnalyzeDTO> getByModuleIdFac(Long id) {
+        return this.getByModuleId(id);
+    }
+
+    public List<MedRecordAnalyzeDTO> indexFac(ModuleIndexVO moduleIndexVO) {
+        return this.index(moduleIndexVO);
+    }
+}

+ 134 - 15
mrman-service/src/main/java/com/diagbot/facade/QcCacesEntryFacade.java

@@ -7,22 +7,39 @@ import com.diagbot.dto.GetUpdateInfoDTO;
 import com.diagbot.dto.GetUpdateInfoDetialDTO;
 import com.diagbot.dto.QcCasesEntryAllDTO;
 import com.diagbot.dto.QcCasesEntrySimpleDTO;
+import com.diagbot.dto.QcEntryTypeDTO;
+import com.diagbot.dto.QcEntryTypeDetailDTO;
 import com.diagbot.dto.QcHospitalInfoAllDTO;
+import com.diagbot.dto.QcTypeByEntryDTO;
+import com.diagbot.dto.QcTypeSimpDTO;
 import com.diagbot.entity.CasesEntryHospital;
 import com.diagbot.entity.QcCasesEntry;
 import com.diagbot.entity.QcQuestionEntry;
 import com.diagbot.entity.QcTypeCasesEntry;
 import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.QcTypeCasesEntryService;
 import com.diagbot.service.impl.QcCasesEntryServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.UserUtils;
 import com.diagbot.vo.GetUpdateInfoVO;
 import com.diagbot.vo.QcCasesEntryAllVO;
 import com.diagbot.vo.QcCasesEntryIndexVO;
 import com.diagbot.vo.QcEntryHospitalVO;
+import com.diagbot.vo.QcEntryTypeIndexVO;
+import com.diagbot.vo.QcEntryTypePageVO;
+import com.diagbot.vo.QcEntryTypeSaveVO;
+import com.diagbot.vo.QcEntryTypeVO;
+import com.diagbot.vo.QcTypeHospitalVO;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -44,6 +61,11 @@ public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
     QcQuestionEntryFacade qcQuestionEntryFacade;
     @Autowired
     QcTypeCasesEntryFacade qcTypeCasesEntryFacade;
+    @Autowired
+    @Qualifier("qcTypeCasesEntryServiceImpl")
+    QcTypeCasesEntryService qcTypeCasesEntryService;
+    @Autowired
+    QcTypeFacade qcTypeFacade;
 
     /**
      * 分页获取病例条目
@@ -51,7 +73,7 @@ public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
      * @param qcCasesEntryAllVO
      * @return
      */
-    public IPage<QcCasesEntryAllDTO> getAll(QcCasesEntryAllVO qcCasesEntryAllVO){
+    public IPage<QcCasesEntryAllDTO> getAll(QcCasesEntryAllVO qcCasesEntryAllVO) {
         return this.getAllQcCasesEntry(qcCasesEntryAllVO);
     }
 
@@ -61,7 +83,7 @@ public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
      * @param qcCasesEntryIndexVO
      * @return
      */
-    public IPage<QcCasesEntryAllDTO> getAllQcCasesEntryIndexFac(QcCasesEntryIndexVO qcCasesEntryIndexVO){
+    public IPage<QcCasesEntryAllDTO> getAllQcCasesEntryIndexFac(QcCasesEntryIndexVO qcCasesEntryIndexVO) {
         return this.getAllQcCasesEntryIndex(qcCasesEntryIndexVO);
     }
 
@@ -71,29 +93,30 @@ public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
      * @param getUpdateInfoVO
      * @return
      */
-    public List<GetUpdateInfoDTO>  getUpdateInfo(GetUpdateInfoVO getUpdateInfoVO){
+    public List<GetUpdateInfoDTO> getUpdateInfo(GetUpdateInfoVO getUpdateInfoVO) {
         QueryWrapper<QcCasesEntry> qcCasesEntryQueryWrapper = new QueryWrapper<>();
         qcCasesEntryQueryWrapper
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("id",getUpdateInfoVO.getId());
+                .eq("id", getUpdateInfoVO.getId());
         QcCasesEntry qcCasesEntry = qcCacesEntryFacade.getOne(qcCasesEntryQueryWrapper);
         QueryWrapper<CasesEntryHospital> casesEntryHospitalQueryWrapper = new QueryWrapper<>();
         casesEntryHospitalQueryWrapper
-                .eq("is_deleted",IsDeleteEnum.N.getKey())
-                .eq("cases_entry_id",qcCasesEntry.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("cases_entry_id", qcCasesEntry.getId())
                 .groupBy("hospital_id");
         List<CasesEntryHospital> casesEntryHospitals = casesEntryHospitalFacade.list(casesEntryHospitalQueryWrapper);
         List<GetUpdateInfoDTO> getUpdateInfoDTOS = new ArrayList<>();
         GetUpdateInfoDTO getUpdateInfoDTO = new GetUpdateInfoDTO();
         List<GetUpdateInfoDetialDTO> getUpdateInfoDetialDTOS = new ArrayList<>();
         GetUpdateInfoDetialDTO getUpdateInfoDetialDTO = new GetUpdateInfoDetialDTO();
-        BeanUtil.copyProperties(qcCasesEntry,getUpdateInfoDTO);
-        Map<Long,String> hospitalNameMap = qcHospitalInfoFacade.getHospitalInfoAll().stream().collect(Collectors.toMap(QcHospitalInfoAllDTO::getId,qcHospitalInfoAllDTO -> qcHospitalInfoAllDTO.getName()));
-        for (CasesEntryHospital casesEntryHospital: casesEntryHospitals) {
+        BeanUtil.copyProperties(qcCasesEntry, getUpdateInfoDTO);
+        Map<Long, String> hospitalNameMap = qcHospitalInfoFacade.getHospitalInfoAll().stream().collect(Collectors.toMap(QcHospitalInfoAllDTO::getId, qcHospitalInfoAllDTO -> qcHospitalInfoAllDTO.getName()));
+        for (CasesEntryHospital casesEntryHospital : casesEntryHospitals) {
             getUpdateInfoDetialDTO = new GetUpdateInfoDetialDTO();
             getUpdateInfoDetialDTO.setHospitalName(hospitalNameMap.get(casesEntryHospital.getHospitalId()));
             getUpdateInfoDetialDTO.setMsg(casesEntryHospital.getMsg());
             getUpdateInfoDetialDTO.setIsUsed(casesEntryHospital.getIsUsed());
+            getUpdateInfoDetialDTO.setIsReject(casesEntryHospital.getIsReject());
             getUpdateInfoDetialDTO.setScore(casesEntryHospital.getScore());
             getUpdateInfoDetialDTOS.add(getUpdateInfoDetialDTO);
             getUpdateInfoDTO.setGetUpdateInfoDetialDTOS(getUpdateInfoDetialDTOS);
@@ -108,24 +131,24 @@ public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
      * @param getUpdateInfoVO
      * @return
      */
-    public Boolean deleteQcCasesEntry(GetUpdateInfoVO getUpdateInfoVO){
-       //删除条目
+    public Boolean deleteQcCasesEntry(GetUpdateInfoVO getUpdateInfoVO) {
+        //删除条目
         QueryWrapper<QcCasesEntry> qcCasesEntryQueryWrapper = new QueryWrapper<>();
-        qcCasesEntryQueryWrapper.eq("id",getUpdateInfoVO.getId());
+        qcCasesEntryQueryWrapper.eq("id", getUpdateInfoVO.getId());
         boolean res = this.remove(qcCasesEntryQueryWrapper);
         //删除明细
         QueryWrapper<CasesEntryHospital> casesEntryHospitalQueryWrapper = new QueryWrapper<>();
-        casesEntryHospitalQueryWrapper.eq("cases_entry_id",getUpdateInfoVO.getId());
+        casesEntryHospitalQueryWrapper.eq("cases_entry_id", getUpdateInfoVO.getId());
         casesEntryHospitalFacade.remove(casesEntryHospitalQueryWrapper);
         //删除模块
         UpdateWrapper<QcQuestionEntry> qcQuescQuestionInfoUpdate = new UpdateWrapper<>();
         qcQuescQuestionInfoUpdate
-                .eq("cases_entry_id",getUpdateInfoVO.getId());
+                .eq("cases_entry_id", getUpdateInfoVO.getId());
         qcQuestionEntryFacade.remove(qcQuescQuestionInfoUpdate);
         //删除质控类型
         UpdateWrapper<QcTypeCasesEntry> qcTypeCasesEntryUpdateWrapper = new UpdateWrapper<>();
         qcTypeCasesEntryUpdateWrapper
-                .eq("case_entry_id",getUpdateInfoVO.getId());
+                .eq("case_entry_id", getUpdateInfoVO.getId());
         qcTypeCasesEntryFacade.remove(qcTypeCasesEntryUpdateWrapper);
         return res;
 
@@ -134,4 +157,100 @@ public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
     public List<QcCasesEntrySimpleDTO> getEntryByHospitalFac(QcEntryHospitalVO qcEntryHospitalVO) {
         return this.getEntryByHospital(qcEntryHospitalVO);
     }
+
+
+    /********************************质控条目和质控类型关系映射开始******************************************/
+    /**
+     * 质控条目和质控类型关系映射【分页】
+     *
+     * @param qcEntryTypePageVO
+     * @returnFac
+     */
+    public IPage<QcEntryTypeDTO> entryTypePageFac(QcEntryTypePageVO qcEntryTypePageVO) {
+        return this.entryTypePage(qcEntryTypePageVO);
+    }
+
+    /**
+     * 质控条目和质控类型关系映射【明细】
+     *
+     * @param qcEntryTypeVO
+     * @returnFac
+     */
+    public QcEntryTypeDetailDTO getByIdFac(QcEntryTypeVO qcEntryTypeVO) {
+        QcEntryTypeDetailDTO res = new QcEntryTypeDetailDTO();
+        List<QcTypeByEntryDTO> qcEntryTypeDTOList = entryTypeDetail(qcEntryTypeVO);
+        if (ListUtil.isNotEmpty(qcEntryTypeDTOList)) {
+            BeanUtil.copyProperties(qcEntryTypeDTOList.get(0), res);
+            List<QcTypeSimpDTO> qcTypeSimpDTOList = new ArrayList<>();
+            qcEntryTypeDTOList.forEach(r -> {
+                QcTypeSimpDTO qcTypeSimpDTO = new QcTypeSimpDTO();
+                qcTypeSimpDTO.setId(r.getTypeId());
+                qcTypeSimpDTO.setName(r.getTypeName());
+                qcTypeSimpDTOList.add(qcTypeSimpDTO);
+            });
+            res.setQcTypeSimpDTOList(qcTypeSimpDTOList);
+        } else {
+            QcCasesEntry qcCasesEntry = this.getOne(new QueryWrapper<QcCasesEntry>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("id", qcEntryTypeVO.getEntryId())
+            );
+            if (qcCasesEntry == null) {
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "当前质控条目不存在");
+            }
+            res.setEntryName(qcCasesEntry.getName());
+            res.setHospitalId(qcEntryTypeVO.getHospitalId());
+            res.setEntryId(qcEntryTypeVO.getEntryId());
+            res.setCasesName(qcCasesEntry.getCasesName());
+        }
+        return res;
+    }
+
+    /**
+     * 根据医院和条目检索未被选择的质控类型
+     *
+     * @param qcEntryTypeIndexVO
+     * @return
+     */
+    public List<QcTypeSimpDTO> indexFac(QcEntryTypeIndexVO qcEntryTypeIndexVO){
+        return indexQcType(qcEntryTypeIndexVO);
+    }
+
+    /**
+     * 保存
+     * @param qcEntryTypeSaveVO
+     * @return
+     */
+    public Boolean saveOrUpdate(QcEntryTypeSaveVO qcEntryTypeSaveVO) {
+        // 删除映射关系
+        this.deleteQcTypeEntry(qcEntryTypeSaveVO);
+        // 新增映射关系
+        if (ListUtil.isNotEmpty(qcEntryTypeSaveVO.getTypeIdList())) {
+            List<QcTypeCasesEntry> list = new ArrayList<>();
+            Date now = DateUtil.now();
+            String person = UserUtils.getCurrentPrincipleID();
+            for (Long id : qcEntryTypeSaveVO.getTypeIdList()) {
+                QcTypeCasesEntry qcTypeCasesEntry = new QcTypeCasesEntry();
+                qcTypeCasesEntry.setTypeId(id);
+                qcTypeCasesEntry.setCaseEntryId(qcEntryTypeSaveVO.getEntryId());
+                qcTypeCasesEntry.setGmtCreate(now);
+                qcTypeCasesEntry.setGmtModified(now);
+                qcTypeCasesEntry.setCreator(person);
+                qcTypeCasesEntry.setModifier(person);
+                list.add(qcTypeCasesEntry);
+            }
+            qcTypeCasesEntryService.saveBatch(list);
+        }
+        return true;
+    }
+
+    /**
+     * 根据医院获取质控类型列表
+     *
+     * @param qcTypeHospitalVO
+     * @return
+     */
+    public List<QcTypeSimpDTO> getTypeByHospitalFac(QcTypeHospitalVO qcTypeHospitalVO) {
+        return this.getTypeByHospital(qcTypeHospitalVO);
+    }
+    /********************************质控条目和质控类型关系映射结束******************************************/
 }

+ 37 - 11
mrman-service/src/main/java/com/diagbot/facade/QcModuleDetailFacade.java

@@ -1,12 +1,15 @@
 package com.diagbot.facade;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.entity.MedModuleMapping;
 import com.diagbot.entity.QcModuleDetail;
-import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.MedModuleMappingService;
 import com.diagbot.service.QcModuleDetailService;
 import com.diagbot.service.impl.QcModuleDetailServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.AddModuleDetailVO;
 import com.diagbot.vo.AddModuleInfoVO;
@@ -28,10 +31,13 @@ import java.util.Map;
 public class QcModuleDetailFacade extends QcModuleDetailServiceImpl {
 
     @Autowired
-    private QcModuleInfoFacade moduleInfoFacade;
+    QcModuleInfoFacade moduleInfoFacade;
     @Autowired
     @Qualifier("qcModuleDetailServiceImpl")
-    private QcModuleDetailService qcModuleDetailService;
+    QcModuleDetailService qcModuleDetailService;
+    @Autowired
+    @Qualifier("medModuleMappingServiceImpl")
+    MedModuleMappingService medModuleMappingService;
 
     /**
      * 根据questionId删除明细
@@ -63,14 +69,12 @@ public class QcModuleDetailFacade extends QcModuleDetailServiceImpl {
     public Boolean saveOrUpdateInfos(AddModuleInfoVO addModuleInfoVO, Long moduleId) {
         String userId = UserUtils.getCurrentPrincipleID();
         Date now = DateUtil.now();
-      //如果该模板添加过明细,先删除
-        UpdateWrapper<QcModuleDetail> moduleDetailUpdateWrapper = new UpdateWrapper<>();
-        moduleDetailUpdateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("module_id", moduleId)
-                .set("is_deleted", IsDeleteEnum.Y.getKey())
-                .set("modifier", userId)
-                .set("gmt_modified", now);
-        this.update(new QcModuleDetail(), moduleDetailUpdateWrapper);
+       //如果该模板添加过明细,先删除
+        if (moduleId != null) {
+            this.remove(new QueryWrapper<QcModuleDetail>()
+                    .eq("module_id", moduleId)
+            );
+        }
 
         List<QcModuleDetail> moduleDetailList = new ArrayList<>();
         int i = 1;
@@ -87,6 +91,28 @@ public class QcModuleDetailFacade extends QcModuleDetailServiceImpl {
         }
         //添加模板明细
         qcModuleDetailService.saveBatch(moduleDetailList);
+
+        // 删除模板与文书的映射关系
+        medModuleMappingService.remove(new UpdateWrapper<MedModuleMapping>()
+                .eq("module_id", moduleId)
+        );
+
+        // 添加模板与文书的映射关系
+        if (ListUtil.isNotEmpty(addModuleInfoVO.getRecordIdList())) {
+            List<MedModuleMapping> medModuleMappingList = new ArrayList<>();
+            for (Long recordId : addModuleInfoVO.getRecordIdList()) {
+                MedModuleMapping medModuleMapping = new MedModuleMapping();
+                medModuleMapping.setModuleId(moduleId);
+                medModuleMapping.setRecordId(recordId);
+                medModuleMapping.setHospitalId(addModuleInfoVO.getHospitalId());
+                medModuleMapping.setGmtCreate(now);
+                medModuleMapping.setGmtModified(now);
+                medModuleMapping.setCreator(userId);
+                medModuleMapping.setModifier(userId);
+                medModuleMappingList.add(medModuleMapping);
+            }
+            medModuleMappingService.saveBatch(medModuleMappingList);
+        }
         return true;
     }
 }

+ 59 - 15
mrman-service/src/main/java/com/diagbot/facade/QcModuleInfoFacade.java

@@ -5,9 +5,11 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.GetModuleInfoOneDTO;
+import com.diagbot.dto.MedRecordAnalyzeDTO;
 import com.diagbot.dto.ModuleInfoListDTO;
 import com.diagbot.dto.QcModuleDetailDTO;
 import com.diagbot.dto.QuestionDTO;
+import com.diagbot.entity.MedModuleMapping;
 import com.diagbot.entity.QcModuleDetail;
 import com.diagbot.entity.QcModuleInfo;
 import com.diagbot.enums.IsDeleteEnum;
@@ -17,10 +19,12 @@ import com.diagbot.service.impl.QcModuleInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.AddModuleInfoVO;
 import com.diagbot.vo.GetModuleInfoOneVO;
 import com.diagbot.vo.GetModuleInfoVO;
+import com.diagbot.vo.ModuleIndexVO;
 import com.diagbot.vo.QuestionIdsVO;
 import com.diagbot.vo.UpdateModuleInfoVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -50,6 +54,10 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
     @Autowired
     QcQuestionFacade qcQuestionFacade;
     @Autowired
+    MedModuleMappingFacade medModuleMappingFacade;
+    @Autowired
+    MedRecordAnalyzeFacade medRecordAnalyzeFacade;
+    @Autowired
     CacheFacade cacheFacade;
 
     /**
@@ -62,14 +70,25 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
         String userId = UserUtils.getCurrentPrincipleID();
         Date date = DateUtil.now();
         Map paramMap = new HashMap<>();
+        List<String> idList = Arrays.asList(ids.split(","));
         paramMap.put("delete", IsDeleteEnum.Y.getKey());
-        paramMap.put("ids", Arrays.asList(ids.split(",")));
+        paramMap.put("ids", idList);
         paramMap.put("gmtModified", date);
         paramMap.put("modifier", userId);
-        //删除模板
+        // 删除模板
         this.deleteByIds(paramMap);
-        //删除明细表
-        qcModuleDetailFacade.deleteByModuleIdFac(paramMap);
+        // 删除明细表
+        if (ListUtil.isNotEmpty(idList)) {
+            qcModuleDetailFacade.remove(new QueryWrapper<QcModuleDetail>()
+                    .in("module_id", idList)
+            );
+        }
+        // 删除模板与文书的映射关系
+        if (ListUtil.isNotEmpty(idList)) {
+            medModuleMappingFacade.remove(new QueryWrapper<MedModuleMapping>()
+                    .in("module_id", idList)
+            );
+        }
         // 清除缓存
         cacheFacade.clear();
         return true;
@@ -94,15 +113,25 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
         }
 
         // 同一文书类型下只有一份
-         QcModuleInfo existBean = this.getOne(new QueryWrapper<QcModuleInfo>()
+        //  QcModuleInfo existBean = this.getOne(new QueryWrapper<QcModuleInfo>()
+        //         .eq("is_deleted", IsDeleteEnum.N.getKey())
+        //         .eq("mode_id", addModulInfoVO.getModeId())
+        //         .eq("hospital_id", addModulInfoVO.getHospitalId())
+        //         .eq("record_module_id", addModulInfoVO.getRecordModuleId())
+        //         .ne("id", addModulInfoVO.getId() == null ? -1 : addModulInfoVO.getId()));
+        // if (existBean != null) {
+        //     throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+        //             "相同【医院】【模块】下,模块类型已存在,模板名称【" + existBean.getName() + "】" );
+        // }
+
+        // 校验当前文书是否已添加,多人同时操作
+        int countRecord = medModuleMappingFacade.count(new QueryWrapper<MedModuleMapping>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("mode_id", addModulInfoVO.getModeId())
-                .eq("hospital_id", addModulInfoVO.getHospitalId())
-                .eq("record_module_id", addModulInfoVO.getRecordModuleId())
-                .ne("id", addModulInfoVO.getId() == null ? -1 : addModulInfoVO.getId()));
-        if (existBean != null) {
-            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
-                    "相同【医院】【模块】下,模块类型已存在,模板名称【" + existBean.getName() + "】" );
+                .ne("module_id", addModulInfoVO.getId() == null ? -1 : addModulInfoVO.getId())
+                .in("record_id", addModulInfoVO.getRecordIdList())
+        );
+        if (countRecord > 0) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "模块类型已添加,请刷新后重新选择");
         }
 
         Long moduleId = null;
@@ -142,7 +171,7 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
                 .eq("id", updateModuleInfoVO.getId())
                 .set("name", updateModuleInfoVO.getName())
                 .set("mode_id", updateModuleInfoVO.getModeId())
-                .set("record_module_id", updateModuleInfoVO.getRecordModuleId())
+                // .set("record_module_id", updateModuleInfoVO.getRecordModuleId())
                 .set("modifier", userId)
                 .set("gmt_modified", DateUtil.now())
                 .set("remark", updateModuleInfoVO.getRemark());
@@ -172,15 +201,16 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
      * @return
      */
     public GetModuleInfoOneDTO getById(GetModuleInfoOneVO getModuleInfoOneVO) {
+        Long moduleId = getModuleInfoOneVO.getModuleId();
         GetModuleInfoOneDTO getModuleInfoOneDTO = new GetModuleInfoOneDTO();
         //获取模板信息
         QueryWrapper<QcModuleInfo> moduleInfoQueryWrapper = new QueryWrapper<>();
         moduleInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("id", getModuleInfoOneVO.getModuleId());
+                .eq("id", moduleId);
         QcModuleInfo moduleInfo = this.getOne(moduleInfoQueryWrapper, false);
         if (null == moduleInfo) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
-                    "模板已删除【" + getModuleInfoOneVO.getModuleId() + "】");
+                    "模板已删除【" + moduleId + "】");
         }
         BeanUtil.copyProperties(moduleInfo, getModuleInfoOneDTO);
         List<QcModuleDetail> qcModuleDetailList = qcModuleDetailFacade.list(new QueryWrapper<QcModuleDetail>()
@@ -203,6 +233,10 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
         }
         Map<Integer, List<QcModuleDetailDTO>> map = EntityUtil.makeEntityListMap(qcModuleDetailDTOList, "groupId");
         getModuleInfoOneDTO.setModuleDetail(map);
+
+        // 返回模板和文书的映射关系
+        List<MedRecordAnalyzeDTO> recordAnalyzeList = medRecordAnalyzeFacade.getByModuleId(moduleId);
+        getModuleInfoOneDTO.setRecordAnalyzeList(recordAnalyzeList);
         return getModuleInfoOneDTO;
     }
 
@@ -216,4 +250,14 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
     public List<QcModuleInfo> getModuleNameByQuestionIdFac(Map map) {
         return this.getModuleNameByQuestionId(map);
     }
+
+    /**
+     * 根据医院和模块获取文书信息
+     *
+     * @param moduleIndexVO
+     * @return
+     */
+    public List<MedRecordAnalyzeDTO> indexFac(ModuleIndexVO moduleIndexVO) {
+        return medRecordAnalyzeFacade.indexFac(moduleIndexVO);
+    }
 }

+ 1 - 1
mrman-service/src/main/java/com/diagbot/facade/QcTypeFacade.java

@@ -133,6 +133,7 @@ public class QcTypeFacade extends QcTypeServiceImpl {
             if (qcType == null) { //校验
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "当前质控类型不存在【id=" + id + "】");
             }
+            param.setInsertOrUpdate(InsertOrUpdateEnum.Update.getKey());
         }
         BeanUtil.copyProperties(qcTypeSaveVO, qcType);
         List<QcType> qcTypeList = this.list(new QueryWrapper<QcType>()
@@ -240,7 +241,6 @@ public class QcTypeFacade extends QcTypeServiceImpl {
         );
 
         // 删除明细表
-        qcTypeCasesEntryService.removeByIds(deleteQcTypeVO.getIds());
         if (ListUtil.isNotEmpty(deleteQcTypeVO.getIds())) {
             qcTypeCasesEntryService.remove(new QueryWrapper<QcTypeCasesEntry>()
                     .in("type_id", deleteQcTypeVO.getIds())

+ 207 - 0
mrman-service/src/main/java/com/diagbot/facade/StdBehospitalInfoFacade.java

@@ -0,0 +1,207 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.client.BehospitalInfoHystrixClient;
+import com.diagbot.dto.AnalyzeMessageDTO;
+import com.diagbot.dto.MedQcresultDetailAllDTO;
+import com.diagbot.dto.QcHospitalInfoAllDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SthospitalInfoFindDTO;
+import com.diagbot.dto.SthospitalInfoPageDTO;
+import com.diagbot.dto.SthospitalInfoStatiDTO;
+import com.diagbot.entity.BasHospitalInfo;
+import com.diagbot.entity.MedBehospitalInfo;
+import com.diagbot.entity.StdBehospitalInfo;
+import com.diagbot.entity.StdQcresultDetail;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.StdBehospitalInfoService;
+import com.diagbot.service.impl.StdBehospitalInfoServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.vo.AnalyzeApiVO;
+import com.diagbot.vo.MedQcresultDetailAllVO;
+import com.diagbot.vo.StdQcresultDetailVO;
+import com.diagbot.vo.SthospitalInfoClearVO;
+import com.diagbot.vo.SthospitalInfoFindVO;
+import com.diagbot.vo.SthospitalInfoPageVO;
+import com.diagbot.vo.SthospitalInfoStatiVO;
+import com.diagbot.vo.SthospitalInfoUpdataVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 10:49
+ */
+@Component
+public class StdBehospitalInfoFacade extends StdBehospitalInfoServiceImpl {
+    @Autowired
+    StdBehospitalInfoService stdBehospitalInfoService;
+    @Autowired
+    MedBehospitalInfoFacade medBehospitalInfoFacade;
+    @Autowired
+    MedQcresultDetailFacade medQcresultDetailFacade;
+    @Autowired
+    StdQcresultDetailFacade stdQcresultDetailFacade;
+    @Autowired
+    BehospitalInfoHystrixClient behospitalInfoHystrixClient;
+    @Autowired
+    BasHospitalInfoFacade qcHospitalInfoFacade;
+
+    public IPage<SthospitalInfoPageDTO> getSthospitalInfoPages(SthospitalInfoPageVO sthospitalInfoPageVO) {
+        if (null != sthospitalInfoPageVO && null != sthospitalInfoPageVO.getLeaveHosDateStart()) {
+            sthospitalInfoPageVO.setLeaveHosDateStart(DateUtil.getFirstTimeOfDay(sthospitalInfoPageVO.getLeaveHosDateStart()));
+        }
+        if (null != sthospitalInfoPageVO && null != sthospitalInfoPageVO.getLeaveHosDateEnd()) {
+            sthospitalInfoPageVO.setLeaveHosDateEnd(DateUtil.getFirstTimeOfDay(DateUtil.addDay(sthospitalInfoPageVO.getLeaveHosDateEnd(), 1)));
+        }
+        if (null != sthospitalInfoPageVO && null != sthospitalInfoPageVO.getLeaveHosDateStart() && null != sthospitalInfoPageVO.getLeaveHosDateEnd()) {
+            if (DateUtil.after(sthospitalInfoPageVO.getLeaveHosDateStart(), sthospitalInfoPageVO.getLeaveHosDateEnd())) {
+                throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "入院时间的开始时间必须小于结束时间!");
+            }
+        }
+        return stdBehospitalInfoService.getStdPage(sthospitalInfoPageVO);
+    }
+
+    public Boolean updataSthospitalInfos(SthospitalInfoUpdataVO sthospitalInfoUpdataVO) {
+        boolean res = false;
+        //先去原始表里找
+        QueryWrapper<MedBehospitalInfo> medbeHQuery = new QueryWrapper<>();
+        medbeHQuery.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("behospital_code", sthospitalInfoUpdataVO.getBehospitalCode())
+                .eq("hospital_id", sthospitalInfoUpdataVO.getHospitalId());
+        MedBehospitalInfo medBehospitalInfo = medBehospitalInfoFacade.getOne(medbeHQuery);
+        if (medBehospitalInfo == null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该病例没有找到");
+        }
+        if (medBehospitalInfo != null) {
+            String behospitalCode = medBehospitalInfo.getBehospitalCode();
+            Long hospitalId = medBehospitalInfo.getHospitalId();
+            MedQcresultDetailAllVO detailAllVO = new MedQcresultDetailAllVO();
+            detailAllVO.setBehospitalCode(behospitalCode);
+            detailAllVO.setHospitalId(hospitalId);
+            //取出该病例最新评分的扣分项及补全所有扣分明细
+            List<MedQcresultDetailAllDTO> medQcresultDetail = medQcresultDetailFacade.getMedQcresultDetail(detailAllVO);
+            if (medQcresultDetail.size() == 0) {
+                throw new CommonException(CommonErrorCode.NOT_EXISTS, "该病例没有扣分项");
+            }
+            StdBehospitalInfo sthospitalInfo = new StdBehospitalInfo();
+            BeanUtil.copyProperties(medBehospitalInfo, sthospitalInfo);
+            Date date = DateUtil.now();
+            sthospitalInfo.setGmtCreate(date);
+            sthospitalInfo.setGmtModified(date);
+            //先删除原数据,再保存病例到标准病例表里
+            QueryWrapper<StdBehospitalInfo> stdBehospitalInfoQuery = new QueryWrapper<>();
+            stdBehospitalInfoQuery
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("hospital_id", hospitalId)
+                    .eq("behospital_code", behospitalCode);
+            this.remove(stdBehospitalInfoQuery);
+            res = stdBehospitalInfoService.save(sthospitalInfo);
+
+            List<StdQcresultDetail> medBew = new ArrayList<>();
+            medBew = BeanUtil.listCopyTo(medQcresultDetail, StdQcresultDetail.class);
+            if (ListUtil.isNotEmpty(medBew)) {
+                StdQcresultDetailVO data = new StdQcresultDetailVO();
+                data.setHospitalId(hospitalId);
+                data.setBehospitalCode(behospitalCode);
+                data.setQcresultDetail(medBew);
+                //保存病例评分明细到标准评分明细表
+                res = stdQcresultDetailFacade.addSthospitalInfos(data);
+            }
+
+        }
+
+        return res;
+    }
+
+    public Boolean clearSthospitalInfos(SthospitalInfoClearVO sthospitalInfoClearVO) {
+        boolean res = false;
+        //先删除原数据
+        QueryWrapper<StdBehospitalInfo> stdBehospitalInfoQuery = new QueryWrapper<>();
+        stdBehospitalInfoQuery
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_id", sthospitalInfoClearVO.getHospitalId())
+                .eq("behospital_code", sthospitalInfoClearVO.getBehospitalCode());
+        res = stdBehospitalInfoService.remove(stdBehospitalInfoQuery);
+        QueryWrapper<StdQcresultDetail> stdQcresultDetailQuery = new QueryWrapper<>();
+        stdQcresultDetailQuery
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_id", sthospitalInfoClearVO.getHospitalId())
+                .eq("behospital_code", sthospitalInfoClearVO.getBehospitalCode());
+        res = stdQcresultDetailFacade.remove(stdQcresultDetailQuery);
+        return res;
+    }
+
+    public SthospitalInfoFindDTO findSthospitalInfos(SthospitalInfoFindVO sthospitalInfoFindVO) {
+        SthospitalInfoFindDTO stdDataDTO = new SthospitalInfoFindDTO();
+        //先去原始表里找
+        QueryWrapper<MedBehospitalInfo> medbeHQuery = new QueryWrapper<>();
+        medbeHQuery.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("behospital_code", sthospitalInfoFindVO.getBehospitalCode())
+                .eq("hospital_id", sthospitalInfoFindVO.getHospitalId());
+        MedBehospitalInfo medBehospitalInfo = medBehospitalInfoFacade.getOne(medbeHQuery);
+        if (medBehospitalInfo == null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "暂无病历记录");
+        }
+        QueryWrapper<StdBehospitalInfo> stdBehospitalInfoQuery = new QueryWrapper<>();
+        stdBehospitalInfoQuery
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_id", sthospitalInfoFindVO.getHospitalId())
+                .eq("behospital_code", sthospitalInfoFindVO.getBehospitalCode());
+        StdBehospitalInfo stdData = stdBehospitalInfoService.getOne(stdBehospitalInfoQuery);
+        if (stdData != null) {
+            BeanUtil.copyProperties(medBehospitalInfo, stdDataDTO);
+            stdDataDTO.setDeptId(medBehospitalInfo.getBehDeptId());
+            stdDataDTO.setDeptName(medBehospitalInfo.getBehDeptName());
+            stdDataDTO.setStatus(1);
+        } else {
+            BeanUtil.copyProperties(medBehospitalInfo, stdDataDTO);
+            stdDataDTO.setDeptId(medBehospitalInfo.getBehDeptId());
+            stdDataDTO.setDeptName(medBehospitalInfo.getBehDeptName());
+            stdDataDTO.setStatus(0);
+        }
+        return stdDataDTO;
+    }
+
+    public IPage<SthospitalInfoStatiDTO> getStatistics(SthospitalInfoStatiVO sthospitalInfoStatiVO) {
+        return stdBehospitalInfoService.getStatistic(sthospitalInfoStatiVO);
+    }
+
+    public AnalyzeMessageDTO analyze() {
+        AnalyzeMessageDTO analyzeMessageDTO =  new AnalyzeMessageDTO();
+        QueryWrapper<StdBehospitalInfo> stdBehospitalInfoQuery = new QueryWrapper<>();
+        stdBehospitalInfoQuery.eq("is_deleted", IsDeleteEnum.N.getKey());
+        List<StdBehospitalInfo> list = stdBehospitalInfoService.list(stdBehospitalInfoQuery);
+        List<String> messages = new ArrayList<>();
+        List<QcHospitalInfoAllDTO> hospitalInfoData = qcHospitalInfoFacade.getHospitalInfoAll();
+        Map<Long,String> hospitalMap = new HashMap<>();
+        hospitalMap = hospitalInfoData.stream().collect(Collectors.toMap(QcHospitalInfoAllDTO::getId, hospitalInfo -> hospitalInfo.getName()));
+        if (ListUtil.isNotEmpty(list)) {
+            for (StdBehospitalInfo data : list) {
+                AnalyzeApiVO analyzeApiVO = new AnalyzeApiVO();
+                analyzeApiVO.setBehospitalCode(data.getBehospitalCode());
+                analyzeApiVO.setHospitalId(data.getHospitalId());
+                RespDTO<Map<String, Object>> mapRespDTO = behospitalInfoHystrixClient.analyzeApi(analyzeApiVO);
+                if(mapRespDTO.data == null){
+                    messages.add("医院:"+hospitalMap.get(data.getHospitalId())+" 病人住院序号:"+data.getBehospitalCode()+" 错误信息:"+mapRespDTO.msg);
+                }
+            }
+        }
+        analyzeMessageDTO.setMessages(messages);
+        return analyzeMessageDTO;
+    }
+}

+ 105 - 0
mrman-service/src/main/java/com/diagbot/facade/StdMissionDetailFacade.java

@@ -0,0 +1,105 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.StdMissionDetailPageDTO;
+import com.diagbot.dto.SthospitalInfoStatiDTO;
+import com.diagbot.entity.StdMissionDetail;
+import com.diagbot.entity.StdMissionInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.StdMissionDetailService;
+import com.diagbot.service.impl.StdMissionDetailServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.vo.StdMissionDetailClVO;
+import com.diagbot.vo.StdMissionDetailPageVO;
+import com.diagbot.vo.StdMissionDetailUpVO;
+import com.diagbot.vo.StdMissionInfoAddVO;
+import com.diagbot.vo.SthospitalInfoStatiVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-12 16:50
+ */
+@Component
+public class StdMissionDetailFacade extends StdMissionDetailServiceImpl {
+
+    @Autowired
+    StdMissionDetailService stdMissionDetailService;
+    @Autowired
+    StdBehospitalInfoFacade stdBehospitalInfoFacade;
+    @Autowired
+    StdMissionInfoFacade stdMissionInfoFacade;
+
+    public IPage<StdMissionDetailPageDTO> getMissionDetailPages(StdMissionDetailPageVO stdMissionDetailPageVO) {
+        return stdMissionDetailService.getMissionDetailPage(stdMissionDetailPageVO);
+    }
+
+    public boolean addMissionDetails(StdMissionInfoAddVO stdMissionInfoAddVO) {
+        //验证任务名是否存在
+        QueryWrapper<StdMissionInfo> stdQcresultTaskQuery = new QueryWrapper<>();
+        stdQcresultTaskQuery.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("mission_name", stdMissionInfoAddVO.getMissionName());
+        int sum = stdMissionInfoFacade.count(stdQcresultTaskQuery);
+        if (sum > 0) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该任务名已存在!");
+        }
+        //添加数据生成任务
+        Date now = DateUtil.now();
+        StdMissionInfo stdMissionInfo = new StdMissionInfo();
+        BeanUtil.copyProperties(stdMissionInfoAddVO, stdMissionInfo);
+        stdMissionInfo.setGmtCreate(now);
+        stdMissionInfo.setGmtModified(now);
+        boolean res = stdMissionInfoFacade.save(stdMissionInfo);
+        if (res) {
+            Long missionId = stdMissionInfo.getId();
+            SthospitalInfoStatiVO sthospitalInfoPageVO = new SthospitalInfoStatiVO();
+            sthospitalInfoPageVO.setPages(1);
+            sthospitalInfoPageVO.setSize(5000);
+            IPage<SthospitalInfoStatiDTO> sthospital = stdBehospitalInfoFacade.getStatistic(sthospitalInfoPageVO);
+            List<SthospitalInfoStatiDTO> records = sthospital.getRecords();
+            List<StdMissionDetail> missionDetailList = new ArrayList<>();
+            for (SthospitalInfoStatiDTO data : records) {
+                StdMissionDetail stdMissionDetail = new StdMissionDetail();
+                BeanUtil.copyProperties(data, stdMissionDetail);
+                stdMissionDetail.setMissionId(missionId);
+                stdMissionDetail.setGmtCreate(now);
+                stdMissionDetail.setGmtModified(now);
+                missionDetailList.add(stdMissionDetail);
+            }
+            res = stdMissionDetailService.saveBatch(missionDetailList);
+        }
+
+
+        return res;
+    }
+
+    public boolean updateMissionDetails(StdMissionDetailUpVO stdMissionDetailUpVO) {
+        Date now = DateUtil.now();
+        return this.update(new StdMissionDetail(), new UpdateWrapper<StdMissionDetail>()
+                .eq("id", stdMissionDetailUpVO.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .set("gmt_modified", now)
+                .set("status", stdMissionDetailUpVO.getStatus())
+                .set("remark", stdMissionDetailUpVO.getRemark()));
+    }
+
+    public boolean clearMissionDetails(StdMissionDetailClVO stdMissionDetailClVO) {
+        Date now = DateUtil.now();
+        return this.update(new StdMissionDetail(), new UpdateWrapper<StdMissionDetail>()
+                .in("id", stdMissionDetailClVO.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .set("gmt_modified", now)
+                .set("is_deleted", IsDeleteEnum.Y.getKey()));
+    }
+}

+ 76 - 0
mrman-service/src/main/java/com/diagbot/facade/StdMissionInfoFacade.java

@@ -0,0 +1,76 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.StdMissionInfoPageDTO;
+import com.diagbot.entity.StdMissionDetail;
+import com.diagbot.entity.StdMissionInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.StdMissionInfoService;
+import com.diagbot.service.impl.StdMissionInfoServiceImpl;
+import com.diagbot.util.DateUtil;
+import com.diagbot.vo.StdMissionInfoClearVO;
+import com.diagbot.vo.StdMissionInfoPageVO;
+import com.diagbot.vo.StdMissionInfoUpVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-15 9:40
+ */
+@Component
+public class StdMissionInfoFacade extends StdMissionInfoServiceImpl {
+    @Autowired
+    StdMissionInfoService stdMissionInfoService;
+    @Autowired
+    StdMissionDetailFacade stdMissionDetailFacade;
+
+    public IPage<StdMissionInfoPageDTO> getMissionInfoPages(StdMissionInfoPageVO stdMissionInfoPageVO) {
+        return stdMissionInfoService.getMissionInfoPages(stdMissionInfoPageVO);
+    }
+
+    public boolean updataMissionInfos(StdMissionInfoUpVO stdMissionInfoUpVO) {
+        Date now = DateUtil.now();
+        QueryWrapper<StdMissionInfo> missionInfoQuery = new QueryWrapper<>();
+        missionInfoQuery.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .ne("id", stdMissionInfoUpVO.getId() == null ? -1 : stdMissionInfoUpVO.getId())
+                .eq("mission_name", stdMissionInfoUpVO.getMissionName());
+        int count = stdMissionInfoService.count(missionInfoQuery);
+        if (count > 0) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该任务名已存在!");
+        }
+        UpdateWrapper<StdMissionInfo> missionInfoUpdate = new UpdateWrapper<>();
+        missionInfoUpdate.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", stdMissionInfoUpVO.getId())
+                .set("mission_name", stdMissionInfoUpVO.getMissionName())
+                .set("gmt_modified", now);
+
+        return stdMissionInfoService.update(missionInfoUpdate);
+    }
+
+    public boolean clearMissionInfos(StdMissionInfoClearVO stdMissionInfoClearVO) {
+        Date now = DateUtil.now();
+        //删除该任务
+        UpdateWrapper<StdMissionInfo> missionInfoUpdate = new UpdateWrapper<>();
+        missionInfoUpdate.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", stdMissionInfoClearVO.getId())
+                .set("is_deleted", IsDeleteEnum.Y.getKey())
+                .set("gmt_modified", now);
+        boolean res = stdMissionInfoService.update(missionInfoUpdate);
+        //删除该任务所有明细
+        UpdateWrapper<StdMissionDetail> missionDetailUpdate = new UpdateWrapper<>();
+        missionDetailUpdate.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("mission_id", stdMissionInfoClearVO.getId())
+                .set("is_deleted", IsDeleteEnum.Y.getKey())
+                .set("gmt_modified", now);
+        stdMissionDetailFacade.update(missionDetailUpdate);
+        return res;
+    }
+}

+ 36 - 0
mrman-service/src/main/java/com/diagbot/facade/StdQcresultDetailFacade.java

@@ -0,0 +1,36 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.CasesEntryHospital;
+import com.diagbot.entity.StdQcresultDetail;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.StdQcresultDetailService;
+import com.diagbot.service.impl.StdQcresultDetailServiceImpl;
+import com.diagbot.vo.StdQcresultDetailVO;
+import com.diagbot.vo.SthospitalInfoUpdataVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 10:50
+ */
+@Component
+public class StdQcresultDetailFacade extends StdQcresultDetailServiceImpl {
+    @Autowired
+    StdQcresultDetailService stdQcresultDetailService;
+
+    public Boolean addSthospitalInfos(StdQcresultDetailVO StdQcresultDetailVO) {
+        //先删除原来的数据,再插入新的数据
+        QueryWrapper<StdQcresultDetail> stdQcresultDetailQuery = new QueryWrapper<>();
+        stdQcresultDetailQuery
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_id", StdQcresultDetailVO.getHospitalId())
+                .eq("behospital_code", StdQcresultDetailVO.getBehospitalCode());
+        boolean res = this.remove(stdQcresultDetailQuery);
+        return stdQcresultDetailService.saveBatch(StdQcresultDetailVO.getQcresultDetail());
+    }
+}

+ 4 - 0
mrman-service/src/main/java/com/diagbot/mapper/CasesEntryHospitalMapper.java

@@ -2,6 +2,9 @@ package com.diagbot.mapper;
 
 import com.diagbot.entity.CasesEntryHospital;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface CasesEntryHospitalMapper extends BaseMapper<CasesEntryHospital> {
 
+    boolean saveAll(@Param("list") List<CasesEntryHospital> casesEntryHospitals);
 }

+ 21 - 0
mrman-service/src/main/java/com/diagbot/mapper/MedBehospitalInfoMapper.java

@@ -0,0 +1,21 @@
+package com.diagbot.mapper;
+
+import com.diagbot.dto.MedBehospitalDeptDTO;
+import com.diagbot.entity.MedBehospitalInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.vo.MedBehospitalDeptVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 住院病历信息 Mapper 接口
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+public interface MedBehospitalInfoMapper extends BaseMapper<MedBehospitalInfo> {
+
+    List<MedBehospitalDeptDTO> findhospitalDept(MedBehospitalDeptVO medBehospitalDeptVO);
+}

+ 16 - 0
mrman-service/src/main/java/com/diagbot/mapper/MedModuleMappingMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.MedModuleMapping;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 模板与文书映射关系表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-05-26
+ */
+public interface MedModuleMappingMapper extends BaseMapper<MedModuleMapping> {
+
+}

+ 22 - 0
mrman-service/src/main/java/com/diagbot/mapper/MedQcresultDetailMapper.java

@@ -0,0 +1,22 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.dto.MedQcresultDetailAllDTO;
+import com.diagbot.entity.MedQcresultDetail;
+import com.diagbot.vo.MedQcresultDetailAllVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 质控评分明细信息
+ * 每次评分增加一条信息,前面所有评分is_deleted全部设置为Y Mapper 接口
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+public interface MedQcresultDetailMapper extends BaseMapper<MedQcresultDetail> {
+
+    List<MedQcresultDetailAllDTO> getMedDetail(MedQcresultDetailAllVO medQcresultDetailAllVO);
+}

+ 23 - 0
mrman-service/src/main/java/com/diagbot/mapper/MedRecordAnalyzeMapper.java

@@ -0,0 +1,23 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.dto.MedRecordAnalyzeDTO;
+import com.diagbot.entity.MedRecordAnalyze;
+import com.diagbot.vo.ModuleIndexVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 医院病历文书类型细分类主表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-05-26
+ */
+public interface MedRecordAnalyzeMapper extends BaseMapper<MedRecordAnalyze> {
+
+    public List<MedRecordAnalyzeDTO> getByModuleId(Long moduleId);
+
+    public List<MedRecordAnalyzeDTO> index(ModuleIndexVO moduleIndexVO);
+}

+ 18 - 0
mrman-service/src/main/java/com/diagbot/mapper/QcCasesEntryMapper.java

@@ -5,10 +5,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.QcCasesEntryAllDTO;
 import com.diagbot.dto.QcCasesEntryDTO;
 import com.diagbot.dto.QcCasesEntrySimpleDTO;
+import com.diagbot.dto.QcEntryTypeDTO;
+import com.diagbot.dto.QcTypeByEntryDTO;
+import com.diagbot.dto.QcTypeSimpDTO;
 import com.diagbot.entity.QcCasesEntry;
 import com.diagbot.vo.QcCasesEntryAllVO;
 import com.diagbot.vo.QcCasesEntryIndexVO;
 import com.diagbot.vo.QcEntryHospitalVO;
+import com.diagbot.vo.QcEntryTypeIndexVO;
+import com.diagbot.vo.QcEntryTypePageVO;
+import com.diagbot.vo.QcEntryTypeSaveVO;
+import com.diagbot.vo.QcEntryTypeVO;
+import com.diagbot.vo.QcTypeHospitalVO;
 import com.diagbot.vo.QcTypeIndexVO;
 import org.apache.ibatis.annotations.Param;
 
@@ -41,4 +49,14 @@ public interface QcCasesEntryMapper extends BaseMapper<QcCasesEntry> {
     public List<QcCasesEntrySimpleDTO> index(QcTypeIndexVO qcTypeIndexVO);
 
     public List<QcCasesEntrySimpleDTO> getEntryByHospital(QcEntryHospitalVO qcEntryHospitalVO);
+
+    public IPage<QcEntryTypeDTO> entryTypePage(QcEntryTypePageVO qcEntryTypePageVO);
+
+    public List<QcTypeByEntryDTO> entryTypeDetail(QcEntryTypeVO qcEntryTypeVO);
+
+    public List<QcTypeSimpDTO> indexQcType(QcEntryTypeIndexVO qcEntryTypeIndexVO);
+
+    public void deleteQcTypeEntry(QcEntryTypeSaveVO qcEntryTypeSaveVO);
+
+    public List<QcTypeSimpDTO> getTypeByHospital(QcTypeHospitalVO qcTypeHospitalVO);
 }

+ 24 - 0
mrman-service/src/main/java/com/diagbot/mapper/StdBehospitalInfoMapper.java

@@ -0,0 +1,24 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.SthospitalInfoPageDTO;
+import com.diagbot.dto.SthospitalInfoStatiDTO;
+import com.diagbot.entity.StdBehospitalInfo;
+import com.diagbot.vo.SthospitalInfoPageVO;
+import com.diagbot.vo.SthospitalInfoStatiVO;
+
+/**
+ * <p>
+ * 标准住院病历信息 Mapper 接口
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+public interface StdBehospitalInfoMapper extends BaseMapper<StdBehospitalInfo> {
+
+    IPage<SthospitalInfoPageDTO> getStdPage(SthospitalInfoPageVO sthospitalInfoPageVO);
+
+    IPage<SthospitalInfoStatiDTO> getStatistic(SthospitalInfoStatiVO sthospitalInfoStatiVO);
+}

+ 20 - 0
mrman-service/src/main/java/com/diagbot/mapper/StdMissionDetailMapper.java

@@ -0,0 +1,20 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.StdMissionDetailPageDTO;
+import com.diagbot.entity.StdMissionDetail;
+import com.diagbot.vo.StdMissionDetailPageVO;
+
+/**
+ * <p>
+ * Mapper 接口
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-12
+ */
+public interface StdMissionDetailMapper extends BaseMapper<StdMissionDetail> {
+
+    IPage<StdMissionDetailPageDTO> getMissionDetailPage(StdMissionDetailPageVO stdMissionDetailPageVO);
+}

+ 20 - 0
mrman-service/src/main/java/com/diagbot/mapper/StdMissionInfoMapper.java

@@ -0,0 +1,20 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.StdMissionInfoPageDTO;
+import com.diagbot.entity.StdMissionInfo;
+import com.diagbot.vo.StdMissionInfoPageVO;
+
+/**
+ * <p>
+ * Mapper 接口
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-12
+ */
+public interface StdMissionInfoMapper extends BaseMapper<StdMissionInfo> {
+
+    IPage<StdMissionInfoPageDTO> getMissionInfoPages(StdMissionInfoPageVO stdMissionInfoPageVO);
+}

+ 16 - 0
mrman-service/src/main/java/com/diagbot/mapper/StdQcresultDetailMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.StdQcresultDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 标准质控评分明细信息 Mapper 接口
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+public interface StdQcresultDetailMapper extends BaseMapper<StdQcresultDetail> {
+
+}

+ 3 - 0
mrman-service/src/main/java/com/diagbot/service/CasesEntryHospitalService.java

@@ -3,6 +3,8 @@ package com.diagbot.service;
 import com.diagbot.entity.CasesEntryHospital;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 病历条目 服务类
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface CasesEntryHospitalService extends IService<CasesEntryHospital> {
 
+    boolean saveAll(List<CasesEntryHospital> casesEntryHospitals);
 }

+ 21 - 0
mrman-service/src/main/java/com/diagbot/service/MedBehospitalInfoService.java

@@ -0,0 +1,21 @@
+package com.diagbot.service;
+
+import com.diagbot.dto.MedBehospitalDeptDTO;
+import com.diagbot.entity.MedBehospitalInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.vo.MedBehospitalDeptVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 住院病历信息 服务类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+public interface MedBehospitalInfoService extends IService<MedBehospitalInfo> {
+
+    List<MedBehospitalDeptDTO> findhospitalDept(MedBehospitalDeptVO medBehospitalDeptVO);
+}

+ 16 - 0
mrman-service/src/main/java/com/diagbot/service/MedModuleMappingService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.MedModuleMapping;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 模板与文书映射关系表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-05-26
+ */
+public interface MedModuleMappingService extends IService<MedModuleMapping> {
+
+}

+ 22 - 0
mrman-service/src/main/java/com/diagbot/service/MedQcresultDetailService.java

@@ -0,0 +1,22 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.MedQcresultDetailAllDTO;
+import com.diagbot.entity.MedQcresultDetail;
+import com.diagbot.vo.MedQcresultDetailAllVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 质控评分明细信息
+每次评分增加一条信息,前面所有评分is_deleted全部设置为Y 服务类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+public interface MedQcresultDetailService extends IService<MedQcresultDetail> {
+
+    List<MedQcresultDetailAllDTO> getMedDetail(MedQcresultDetailAllVO medQcresultDetailAllVO);
+}

+ 23 - 0
mrman-service/src/main/java/com/diagbot/service/MedRecordAnalyzeService.java

@@ -0,0 +1,23 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.MedRecordAnalyzeDTO;
+import com.diagbot.entity.MedRecordAnalyze;
+import com.diagbot.vo.ModuleIndexVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 医院病历文书类型细分类主表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-05-26
+ */
+public interface MedRecordAnalyzeService extends IService<MedRecordAnalyze> {
+
+    public List<MedRecordAnalyzeDTO> getByModuleId(Long moduleId);
+
+    public List<MedRecordAnalyzeDTO> index(ModuleIndexVO moduleIndexVO);
+}

+ 18 - 0
mrman-service/src/main/java/com/diagbot/service/QcCasesEntryService.java

@@ -5,10 +5,18 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.dto.QcCasesEntryAllDTO;
 import com.diagbot.dto.QcCasesEntryDTO;
 import com.diagbot.dto.QcCasesEntrySimpleDTO;
+import com.diagbot.dto.QcEntryTypeDTO;
+import com.diagbot.dto.QcTypeByEntryDTO;
+import com.diagbot.dto.QcTypeSimpDTO;
 import com.diagbot.entity.QcCasesEntry;
 import com.diagbot.vo.QcCasesEntryAllVO;
 import com.diagbot.vo.QcCasesEntryIndexVO;
 import com.diagbot.vo.QcEntryHospitalVO;
+import com.diagbot.vo.QcEntryTypeIndexVO;
+import com.diagbot.vo.QcEntryTypePageVO;
+import com.diagbot.vo.QcEntryTypeSaveVO;
+import com.diagbot.vo.QcEntryTypeVO;
+import com.diagbot.vo.QcTypeHospitalVO;
 import com.diagbot.vo.QcTypeIndexVO;
 
 import java.util.List;
@@ -41,4 +49,14 @@ public interface QcCasesEntryService extends IService<QcCasesEntry> {
     public List<QcCasesEntrySimpleDTO> index(QcTypeIndexVO qcTypeIndexVO);
 
     public List<QcCasesEntrySimpleDTO> getEntryByHospital(QcEntryHospitalVO qcEntryHospitalVO);
+
+    public IPage<QcEntryTypeDTO> entryTypePage(QcEntryTypePageVO qcEntryTypePageVO);
+
+    public List<QcTypeByEntryDTO> entryTypeDetail(QcEntryTypeVO qcEntryTypeVO);
+
+    public List<QcTypeSimpDTO> indexQcType(QcEntryTypeIndexVO qcEntryTypeIndexVO);
+
+    public void deleteQcTypeEntry(QcEntryTypeSaveVO qcEntryTypeSaveVO);
+
+    public List<QcTypeSimpDTO> getTypeByHospital(QcTypeHospitalVO qcTypeHospitalVO);
 }

+ 0 - 1
mrman-service/src/main/java/com/diagbot/service/QcModuleInfoService.java

@@ -35,6 +35,5 @@ public interface QcModuleInfoService extends IService<QcModuleInfo> {
      */
     public IPage<ModuleInfoListDTO> getModuleInfoListByType(GetModuleInfoVO getModuleInfoVO);
 
-
     public List<QcModuleInfo> getModuleNameByQuestionId(Map map);
 }

+ 24 - 0
mrman-service/src/main/java/com/diagbot/service/StdBehospitalInfoService.java

@@ -0,0 +1,24 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.SthospitalInfoPageDTO;
+import com.diagbot.dto.SthospitalInfoStatiDTO;
+import com.diagbot.entity.StdBehospitalInfo;
+import com.diagbot.vo.SthospitalInfoPageVO;
+import com.diagbot.vo.SthospitalInfoStatiVO;
+
+/**
+ * <p>
+ * 标准住院病历信息 服务类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+public interface StdBehospitalInfoService extends IService<StdBehospitalInfo> {
+
+    IPage<SthospitalInfoPageDTO> getStdPage(SthospitalInfoPageVO sthospitalInfoPageVO);
+
+    IPage<SthospitalInfoStatiDTO> getStatistic(SthospitalInfoStatiVO sthospitalInfoStatiVO);
+}

+ 20 - 0
mrman-service/src/main/java/com/diagbot/service/StdMissionDetailService.java

@@ -0,0 +1,20 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.StdMissionDetailPageDTO;
+import com.diagbot.entity.StdMissionDetail;
+import com.diagbot.vo.StdMissionDetailPageVO;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-12
+ */
+public interface StdMissionDetailService extends IService<StdMissionDetail> {
+
+    IPage<StdMissionDetailPageDTO> getMissionDetailPage(StdMissionDetailPageVO stdMissionDetailPageVO);
+}

+ 20 - 0
mrman-service/src/main/java/com/diagbot/service/StdMissionInfoService.java

@@ -0,0 +1,20 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.StdMissionInfoPageDTO;
+import com.diagbot.entity.StdMissionInfo;
+import com.diagbot.vo.StdMissionInfoPageVO;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-12
+ */
+public interface StdMissionInfoService extends IService<StdMissionInfo> {
+
+    IPage<StdMissionInfoPageDTO> getMissionInfoPages(StdMissionInfoPageVO stdMissionInfoPageVO);
+}

+ 16 - 0
mrman-service/src/main/java/com/diagbot/service/StdQcresultDetailService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.StdQcresultDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 标准质控评分明细信息 服务类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+public interface StdQcresultDetailService extends IService<StdQcresultDetail> {
+
+}

+ 6 - 0
mrman-service/src/main/java/com/diagbot/service/impl/CasesEntryHospitalServiceImpl.java

@@ -6,6 +6,8 @@ import com.diagbot.service.CasesEntryHospitalService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 病历条目 服务实现类
@@ -17,4 +19,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class CasesEntryHospitalServiceImpl extends ServiceImpl<CasesEntryHospitalMapper, CasesEntryHospital> implements CasesEntryHospitalService {
 
+    @Override
+    public boolean saveAll(List<CasesEntryHospital> casesEntryHospitals) {
+        return baseMapper.saveAll(casesEntryHospitals);
+    }
 }

+ 28 - 0
mrman-service/src/main/java/com/diagbot/service/impl/MedBehospitalInfoServiceImpl.java

@@ -0,0 +1,28 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.dto.MedBehospitalDeptDTO;
+import com.diagbot.entity.MedBehospitalInfo;
+import com.diagbot.mapper.MedBehospitalInfoMapper;
+import com.diagbot.service.MedBehospitalInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.vo.MedBehospitalDeptVO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 住院病历信息 服务实现类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+@Service
+public class MedBehospitalInfoServiceImpl extends ServiceImpl<MedBehospitalInfoMapper, MedBehospitalInfo> implements MedBehospitalInfoService {
+
+    @Override
+    public List<MedBehospitalDeptDTO> findhospitalDept(MedBehospitalDeptVO medBehospitalDeptVO) {
+        return baseMapper.findhospitalDept(medBehospitalDeptVO);
+    }
+}

+ 20 - 0
mrman-service/src/main/java/com/diagbot/service/impl/MedModuleMappingServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.MedModuleMapping;
+import com.diagbot.mapper.MedModuleMappingMapper;
+import com.diagbot.service.MedModuleMappingService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 模板与文书映射关系表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-05-26
+ */
+@Service
+public class MedModuleMappingServiceImpl extends ServiceImpl<MedModuleMappingMapper, MedModuleMapping> implements MedModuleMappingService {
+
+}

+ 29 - 0
mrman-service/src/main/java/com/diagbot/service/impl/MedQcresultDetailServiceImpl.java

@@ -0,0 +1,29 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.MedQcresultDetailAllDTO;
+import com.diagbot.entity.MedQcresultDetail;
+import com.diagbot.mapper.MedQcresultDetailMapper;
+import com.diagbot.service.MedQcresultDetailService;
+import com.diagbot.vo.MedQcresultDetailAllVO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 质控评分明细信息
+ * 每次评分增加一条信息,前面所有评分is_deleted全部设置为Y 服务实现类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+@Service
+public class MedQcresultDetailServiceImpl extends ServiceImpl<MedQcresultDetailMapper, MedQcresultDetail> implements MedQcresultDetailService {
+
+    @Override
+    public List<MedQcresultDetailAllDTO> getMedDetail(MedQcresultDetailAllVO medQcresultDetailAllVO) {
+        return baseMapper.getMedDetail(medQcresultDetailAllVO);
+    }
+}

+ 33 - 0
mrman-service/src/main/java/com/diagbot/service/impl/MedRecordAnalyzeServiceImpl.java

@@ -0,0 +1,33 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.MedRecordAnalyzeDTO;
+import com.diagbot.entity.MedRecordAnalyze;
+import com.diagbot.mapper.MedRecordAnalyzeMapper;
+import com.diagbot.service.MedRecordAnalyzeService;
+import com.diagbot.vo.ModuleIndexVO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 医院病历文书类型细分类主表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-05-26
+ */
+@Service
+public class MedRecordAnalyzeServiceImpl extends ServiceImpl<MedRecordAnalyzeMapper, MedRecordAnalyze> implements MedRecordAnalyzeService {
+
+    @Override
+    public List<MedRecordAnalyzeDTO> getByModuleId(Long moduleId) {
+        return baseMapper.getByModuleId(moduleId);
+    }
+
+    @Override
+    public List<MedRecordAnalyzeDTO> index(ModuleIndexVO moduleIndexVO) {
+        return baseMapper.index(moduleIndexVO);
+    }
+}

+ 34 - 0
mrman-service/src/main/java/com/diagbot/service/impl/QcCasesEntryServiceImpl.java

@@ -5,12 +5,20 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.dto.QcCasesEntryAllDTO;
 import com.diagbot.dto.QcCasesEntryDTO;
 import com.diagbot.dto.QcCasesEntrySimpleDTO;
+import com.diagbot.dto.QcEntryTypeDTO;
+import com.diagbot.dto.QcTypeByEntryDTO;
+import com.diagbot.dto.QcTypeSimpDTO;
 import com.diagbot.entity.QcCasesEntry;
 import com.diagbot.mapper.QcCasesEntryMapper;
 import com.diagbot.service.QcCasesEntryService;
 import com.diagbot.vo.QcCasesEntryAllVO;
 import com.diagbot.vo.QcCasesEntryIndexVO;
 import com.diagbot.vo.QcEntryHospitalVO;
+import com.diagbot.vo.QcEntryTypeIndexVO;
+import com.diagbot.vo.QcEntryTypePageVO;
+import com.diagbot.vo.QcEntryTypeSaveVO;
+import com.diagbot.vo.QcEntryTypeVO;
+import com.diagbot.vo.QcTypeHospitalVO;
 import com.diagbot.vo.QcTypeIndexVO;
 import org.springframework.stereotype.Service;
 
@@ -56,4 +64,30 @@ public class QcCasesEntryServiceImpl extends ServiceImpl<QcCasesEntryMapper, QcC
     public List<QcCasesEntrySimpleDTO> getEntryByHospital(QcEntryHospitalVO qcEntryHospitalVO) {
         return baseMapper.getEntryByHospital(qcEntryHospitalVO);
     }
+
+    @Override
+    public IPage<QcEntryTypeDTO> entryTypePage(QcEntryTypePageVO qcEntryTypePageVO) {
+        return baseMapper.entryTypePage(qcEntryTypePageVO);
+    }
+
+    @Override
+    public List<QcTypeByEntryDTO> entryTypeDetail(QcEntryTypeVO qcEntryTypeVO) {
+        return baseMapper.entryTypeDetail(qcEntryTypeVO);
+    }
+
+    @Override
+    public List<QcTypeSimpDTO> indexQcType(QcEntryTypeIndexVO qcEntryTypeIndexVO) {
+        return baseMapper.indexQcType(qcEntryTypeIndexVO);
+    }
+
+    @Override
+    public void deleteQcTypeEntry(QcEntryTypeSaveVO qcEntryTypeSaveVO) {
+        baseMapper.deleteQcTypeEntry(qcEntryTypeSaveVO);
+    }
+
+    @Override
+    public List<QcTypeSimpDTO> getTypeByHospital(QcTypeHospitalVO qcTypeHospitalVO) {
+        return baseMapper.getTypeByHospital(qcTypeHospitalVO);
+    }
+
 }

+ 34 - 0
mrman-service/src/main/java/com/diagbot/service/impl/StdBehospitalInfoServiceImpl.java

@@ -0,0 +1,34 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.SthospitalInfoPageDTO;
+import com.diagbot.dto.SthospitalInfoStatiDTO;
+import com.diagbot.entity.StdBehospitalInfo;
+import com.diagbot.mapper.StdBehospitalInfoMapper;
+import com.diagbot.service.StdBehospitalInfoService;
+import com.diagbot.vo.SthospitalInfoPageVO;
+import com.diagbot.vo.SthospitalInfoStatiVO;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 标准住院病历信息 服务实现类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+@Service
+public class StdBehospitalInfoServiceImpl extends ServiceImpl<StdBehospitalInfoMapper, StdBehospitalInfo> implements StdBehospitalInfoService {
+
+    @Override
+    public IPage<SthospitalInfoPageDTO> getStdPage(SthospitalInfoPageVO sthospitalInfoPageVO) {
+        return baseMapper.getStdPage(sthospitalInfoPageVO);
+    }
+
+    @Override
+    public IPage<SthospitalInfoStatiDTO> getStatistic(SthospitalInfoStatiVO sthospitalInfoStatiVO) {
+        return baseMapper.getStatistic(sthospitalInfoStatiVO);
+    }
+}

+ 27 - 0
mrman-service/src/main/java/com/diagbot/service/impl/StdMissionDetailServiceImpl.java

@@ -0,0 +1,27 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.StdMissionDetailPageDTO;
+import com.diagbot.entity.StdMissionDetail;
+import com.diagbot.mapper.StdMissionDetailMapper;
+import com.diagbot.service.StdMissionDetailService;
+import com.diagbot.vo.StdMissionDetailPageVO;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-12
+ */
+@Service
+public class StdMissionDetailServiceImpl extends ServiceImpl<StdMissionDetailMapper, StdMissionDetail> implements StdMissionDetailService {
+
+    @Override
+    public IPage<StdMissionDetailPageDTO> getMissionDetailPage(StdMissionDetailPageVO stdMissionDetailPageVO) {
+        return baseMapper.getMissionDetailPage(stdMissionDetailPageVO);
+    }
+}

+ 27 - 0
mrman-service/src/main/java/com/diagbot/service/impl/StdMissionInfoServiceImpl.java

@@ -0,0 +1,27 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.StdMissionInfoPageDTO;
+import com.diagbot.entity.StdMissionInfo;
+import com.diagbot.mapper.StdMissionInfoMapper;
+import com.diagbot.service.StdMissionInfoService;
+import com.diagbot.vo.StdMissionInfoPageVO;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-12
+ */
+@Service
+public class StdMissionInfoServiceImpl extends ServiceImpl<StdMissionInfoMapper, StdMissionInfo> implements StdMissionInfoService {
+
+    @Override
+    public IPage<StdMissionInfoPageDTO> getMissionInfoPages(StdMissionInfoPageVO stdMissionInfoPageVO) {
+        return baseMapper.getMissionInfoPages(stdMissionInfoPageVO);
+    }
+}

+ 20 - 0
mrman-service/src/main/java/com/diagbot/service/impl/StdQcresultDetailServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.StdQcresultDetail;
+import com.diagbot.mapper.StdQcresultDetailMapper;
+import com.diagbot.service.StdQcresultDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 标准质控评分明细信息 服务实现类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+@Service
+public class StdQcresultDetailServiceImpl extends ServiceImpl<StdQcresultDetailMapper, StdQcresultDetail> implements StdQcresultDetailService {
+
+}

+ 1 - 1
mrman-service/src/main/java/com/diagbot/vo/AddModuleInfoVO.java

@@ -18,7 +18,7 @@ public class AddModuleInfoVO {
     private String name;//模板名称
     private Long hospitalId; //医院ID
     private Long modeId; //数据模块ID
-    private Long recordModuleId ; //med_record_module的id
+    private List<Long> recordIdList ; //med_record_analyze的id列表
     private List<AddModuleDetailVO> moduleDetail; //标签列表
     private String remark;
 }

+ 18 - 0
mrman-service/src/main/java/com/diagbot/vo/AnalyzeApiVO.java

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: zhoutg
+ * @time: 2020/4/13 18:31
+ */
+@Data
+public class AnalyzeApiVO {
+
+    private String behospitalCode; // 病历id
+    private Long hospitalId; //医院ID
+    @ApiModelProperty(hidden = true)
+    private Boolean isTask = true; // 使用hospitalId传入的值
+}

+ 1 - 0
mrman-service/src/main/java/com/diagbot/vo/GetModuleInfoVO.java

@@ -15,4 +15,5 @@ public class GetModuleInfoVO extends Page {
     private String name; // 模板名称
     private Long hospitalId; //医院ID
     private Long modeId; //数据模块ID
+    private Long id; //模板ID
 }

+ 15 - 0
mrman-service/src/main/java/com/diagbot/vo/InsertByHospitalVO.java

@@ -54,6 +54,21 @@ public class InsertByHospitalVO {
      */
     private String name;
 
+    /**
+     * 规则类型(0:无,1:空项,2:错误)
+     */
+    private Integer ruleType;
+
+    /**
+     * 开发状态标识: 0-未开发  1-已开发
+     */
+    private Integer devType;
+
+    /**
+     * 准确率类型:0-极高,1-高,2-中,3-低
+     */
+    private Integer accuracyType;
+
     private String precond;
 
     private Long modeId;

+ 17 - 0
mrman-service/src/main/java/com/diagbot/vo/MedBehospitalDeptVO.java

@@ -0,0 +1,17 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-12 10:01
+ */
+@Setter
+@Getter
+public class MedBehospitalDeptVO {
+    private Long deptId;
+    private String deptName;
+    private Long hospitalId;
+}

+ 25 - 0
mrman-service/src/main/java/com/diagbot/vo/MedQcresultDetailAllVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 16:07
+ */
+@Setter
+@Getter
+public class MedQcresultDetailAllVO {
+
+    @NotNull(message = "请输入医院Id")
+    private Long hospitalId;
+    /**
+     * 病人住院ID
+     */
+    @NotBlank(message = "病人住院序号不能为空")
+    private String behospitalCode;
+}

+ 20 - 0
mrman-service/src/main/java/com/diagbot/vo/ModuleIndexVO.java

@@ -0,0 +1,20 @@
+package com.diagbot.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: zhoutg
+ * @time: 2018/12/26 15:27
+ */
+@Data
+public class ModuleIndexVO {
+    // 医院ID
+    private Long hospitalId;
+    // 数据模块ID
+    private Long modeId;
+    // 过滤的id列表
+    private List<Long> notIdList;
+}

+ 15 - 0
mrman-service/src/main/java/com/diagbot/vo/QcCasesEntryAllVO.java

@@ -32,4 +32,19 @@ public class QcCasesEntryAllVO extends Page {
      * 条目编码
      */
     private String code;
+
+    /**
+     * 规则类型(0:无,1:空项,2:错误)
+     */
+    private Integer ruleType;
+
+    /**
+     * 开发状态标识: 0-未开发  1-已开发
+     */
+    private Integer devType;
+
+    /**
+     * 准确率类型:0-极高,1-高,2-中,3-低
+     */
+    private Integer accuracyType;
 }

+ 18 - 0
mrman-service/src/main/java/com/diagbot/vo/QcEntryTypeIndexVO.java

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhoutg
+ * @time: 2018/11/29 15:09
+ */
+@Getter
+@Setter
+public class QcEntryTypeIndexVO {
+    // 医院id
+    private Long hospitalId;
+    // 条目Id
+    private Long entryId;
+}

+ 28 - 0
mrman-service/src/main/java/com/diagbot/vo/QcEntryTypePageVO.java

@@ -0,0 +1,28 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 质控条目与质控类型关系映射列表入参
+ * @Author: ztg
+ * @Date: 2018/12/13 10:07
+ */
+@Getter
+@Setter
+public class QcEntryTypePageVO extends Page {
+
+    // 医院id
+    private Long hospitalId;
+    // 条目名称
+    private String entryName;
+    // 质控类型名称
+    private String typeName;
+    // 条目编码
+    private String code;
+    // 所属模块
+    private String casesId;
+    // 质控类型为空标识 1:质控类型为空数据
+    private int typeIsNull;
+}

+ 0 - 0
mrman-service/src/main/java/com/diagbot/vo/QcEntryTypeSaveVO.java


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác