Explorar o código

Merge branch 'develop' into dev/mrman20200117_init

# Conflicts:
#	mrman-service/src/main/resources/mapper/QcCasesEntryMapper.xml
gaodm %!s(int64=4) %!d(string=hai) anos
pai
achega
5ae894983e
Modificáronse 100 ficheiros con 7073 adicións e 19 borrados
  1. 2 0
      config-server/src/main/resources/shared/mrman-service-dev.yml
  2. 2 0
      config-server/src/main/resources/shared/mrman-service-local.yml
  3. 2 0
      config-server/src/main/resources/shared/mrman-service-pre.yml
  4. 2 0
      config-server/src/main/resources/shared/mrman-service-pro.yml
  5. 2 0
      config-server/src/main/resources/shared/mrman-service-test.yml
  6. 111 0
      docs/036.20200609标准病例初始化脚本/qc_init_clauses.sql
  7. 1064 0
      docs/036.20200609标准病例初始化脚本/sys_user_menu.sql
  8. 1062 0
      docs/037.20200615病历条目和质控类型关心映射/qc_init.sql
  9. 11 0
      docs/037.20200615病历条目和质控类型关心映射/qc_initv1.3.4.sql
  10. 3 1
      ltkg-service/src/main/java/com/diagbot/facade/KgFacade.java
  11. 7 2
      ltkg-service/src/main/java/com/diagbot/web/KgController.java
  12. 1 1
      ltkg-service/src/main/resources/mapper/KgMapper.xml
  13. 21 0
      mrman-service/src/main/java/com/diagbot/client/BehospitalInfoHystrixClient.java
  14. 24 0
      mrman-service/src/main/java/com/diagbot/client/hystrix/BehospitalInfoHystrix.java
  15. 17 0
      mrman-service/src/main/java/com/diagbot/dto/AnalyzeMessageDTO.java
  16. 16 0
      mrman-service/src/main/java/com/diagbot/dto/MedBehospitalDeptDTO.java
  17. 75 0
      mrman-service/src/main/java/com/diagbot/dto/MedQcresultDetailAllDTO.java
  18. 10 0
      mrman-service/src/main/java/com/diagbot/dto/QcCasesEntryAllDTO.java
  19. 28 0
      mrman-service/src/main/java/com/diagbot/dto/QcEntryTypeDTO.java
  20. 27 0
      mrman-service/src/main/java/com/diagbot/dto/QcEntryTypeDetailDTO.java
  21. 26 0
      mrman-service/src/main/java/com/diagbot/dto/QcTypeByEntryDTO.java
  22. 18 0
      mrman-service/src/main/java/com/diagbot/dto/QcTypeSimpDTO.java
  23. 43 0
      mrman-service/src/main/java/com/diagbot/dto/StdMissionDetailPageDTO.java
  24. 16 0
      mrman-service/src/main/java/com/diagbot/dto/StdMissionInfoPageDTO.java
  25. 18 0
      mrman-service/src/main/java/com/diagbot/dto/SthospitalInfoFindDTO.java
  26. 65 0
      mrman-service/src/main/java/com/diagbot/dto/SthospitalInfoPageDTO.java
  27. 35 0
      mrman-service/src/main/java/com/diagbot/dto/SthospitalInfoStatiDTO.java
  28. 428 0
      mrman-service/src/main/java/com/diagbot/entity/MedBehospitalInfo.java
  29. 261 0
      mrman-service/src/main/java/com/diagbot/entity/MedQcresultDetail.java
  30. 10 0
      mrman-service/src/main/java/com/diagbot/entity/QcCasesEntry.java
  31. 428 0
      mrman-service/src/main/java/com/diagbot/entity/StdBehospitalInfo.java
  32. 223 0
      mrman-service/src/main/java/com/diagbot/entity/StdMissionDetail.java
  33. 139 0
      mrman-service/src/main/java/com/diagbot/entity/StdMissionInfo.java
  34. 276 0
      mrman-service/src/main/java/com/diagbot/entity/StdQcresultDetail.java
  35. 27 0
      mrman-service/src/main/java/com/diagbot/facade/MedBehospitalInfoFacade.java
  36. 27 0
      mrman-service/src/main/java/com/diagbot/facade/MedQcresultDetailFacade.java
  37. 133 15
      mrman-service/src/main/java/com/diagbot/facade/QcCacesEntryFacade.java
  38. 207 0
      mrman-service/src/main/java/com/diagbot/facade/StdBehospitalInfoFacade.java
  39. 105 0
      mrman-service/src/main/java/com/diagbot/facade/StdMissionDetailFacade.java
  40. 76 0
      mrman-service/src/main/java/com/diagbot/facade/StdMissionInfoFacade.java
  41. 36 0
      mrman-service/src/main/java/com/diagbot/facade/StdQcresultDetailFacade.java
  42. 21 0
      mrman-service/src/main/java/com/diagbot/mapper/MedBehospitalInfoMapper.java
  43. 22 0
      mrman-service/src/main/java/com/diagbot/mapper/MedQcresultDetailMapper.java
  44. 18 0
      mrman-service/src/main/java/com/diagbot/mapper/QcCasesEntryMapper.java
  45. 24 0
      mrman-service/src/main/java/com/diagbot/mapper/StdBehospitalInfoMapper.java
  46. 20 0
      mrman-service/src/main/java/com/diagbot/mapper/StdMissionDetailMapper.java
  47. 20 0
      mrman-service/src/main/java/com/diagbot/mapper/StdMissionInfoMapper.java
  48. 16 0
      mrman-service/src/main/java/com/diagbot/mapper/StdQcresultDetailMapper.java
  49. 21 0
      mrman-service/src/main/java/com/diagbot/service/MedBehospitalInfoService.java
  50. 22 0
      mrman-service/src/main/java/com/diagbot/service/MedQcresultDetailService.java
  51. 18 0
      mrman-service/src/main/java/com/diagbot/service/QcCasesEntryService.java
  52. 24 0
      mrman-service/src/main/java/com/diagbot/service/StdBehospitalInfoService.java
  53. 20 0
      mrman-service/src/main/java/com/diagbot/service/StdMissionDetailService.java
  54. 20 0
      mrman-service/src/main/java/com/diagbot/service/StdMissionInfoService.java
  55. 16 0
      mrman-service/src/main/java/com/diagbot/service/StdQcresultDetailService.java
  56. 28 0
      mrman-service/src/main/java/com/diagbot/service/impl/MedBehospitalInfoServiceImpl.java
  57. 29 0
      mrman-service/src/main/java/com/diagbot/service/impl/MedQcresultDetailServiceImpl.java
  58. 34 0
      mrman-service/src/main/java/com/diagbot/service/impl/QcCasesEntryServiceImpl.java
  59. 34 0
      mrman-service/src/main/java/com/diagbot/service/impl/StdBehospitalInfoServiceImpl.java
  60. 27 0
      mrman-service/src/main/java/com/diagbot/service/impl/StdMissionDetailServiceImpl.java
  61. 27 0
      mrman-service/src/main/java/com/diagbot/service/impl/StdMissionInfoServiceImpl.java
  62. 20 0
      mrman-service/src/main/java/com/diagbot/service/impl/StdQcresultDetailServiceImpl.java
  63. 18 0
      mrman-service/src/main/java/com/diagbot/vo/AnalyzeApiVO.java
  64. 10 0
      mrman-service/src/main/java/com/diagbot/vo/InsertByHospitalVO.java
  65. 17 0
      mrman-service/src/main/java/com/diagbot/vo/MedBehospitalDeptVO.java
  66. 25 0
      mrman-service/src/main/java/com/diagbot/vo/MedQcresultDetailAllVO.java
  67. 10 0
      mrman-service/src/main/java/com/diagbot/vo/QcCasesEntryAllVO.java
  68. 18 0
      mrman-service/src/main/java/com/diagbot/vo/QcEntryTypeIndexVO.java
  69. 28 0
      mrman-service/src/main/java/com/diagbot/vo/QcEntryTypePageVO.java
  70. 22 0
      mrman-service/src/main/java/com/diagbot/vo/QcEntryTypeSaveVO.java
  71. 18 0
      mrman-service/src/main/java/com/diagbot/vo/QcEntryTypeVO.java
  72. 14 0
      mrman-service/src/main/java/com/diagbot/vo/QcTypeHospitalVO.java
  73. 18 0
      mrman-service/src/main/java/com/diagbot/vo/StdMissionDetailClVO.java
  74. 25 0
      mrman-service/src/main/java/com/diagbot/vo/StdMissionDetailPageVO.java
  75. 21 0
      mrman-service/src/main/java/com/diagbot/vo/StdMissionDetailUpVO.java
  76. 18 0
      mrman-service/src/main/java/com/diagbot/vo/StdMissionInfoAddVO.java
  77. 18 0
      mrman-service/src/main/java/com/diagbot/vo/StdMissionInfoClearVO.java
  78. 17 0
      mrman-service/src/main/java/com/diagbot/vo/StdMissionInfoPageVO.java
  79. 19 0
      mrman-service/src/main/java/com/diagbot/vo/StdMissionInfoUpVO.java
  80. 25 0
      mrman-service/src/main/java/com/diagbot/vo/StdQcresultDetailVO.java
  81. 22 0
      mrman-service/src/main/java/com/diagbot/vo/SthospitalInfoClearVO.java
  82. 21 0
      mrman-service/src/main/java/com/diagbot/vo/SthospitalInfoFindVO.java
  83. 46 0
      mrman-service/src/main/java/com/diagbot/vo/SthospitalInfoPageVO.java
  84. 20 0
      mrman-service/src/main/java/com/diagbot/vo/SthospitalInfoStatiVO.java
  85. 21 0
      mrman-service/src/main/java/com/diagbot/vo/SthospitalInfoUpdataVO.java
  86. 46 0
      mrman-service/src/main/java/com/diagbot/web/MedBehospitalInfoController.java
  87. 44 0
      mrman-service/src/main/java/com/diagbot/web/MedQcresultDetailController.java
  88. 105 0
      mrman-service/src/main/java/com/diagbot/web/QcEntryTypeController.java
  89. 101 0
      mrman-service/src/main/java/com/diagbot/web/StdBehospitalInfoController.java
  90. 77 0
      mrman-service/src/main/java/com/diagbot/web/StdMissionDetailController.java
  91. 66 0
      mrman-service/src/main/java/com/diagbot/web/StdMissionInfoController.java
  92. 44 0
      mrman-service/src/main/java/com/diagbot/web/StdQcresultDetailController.java
  93. 61 0
      mrman-service/src/main/resources/mapper/MedBehospitalInfoMapper.xml
  94. 69 0
      mrman-service/src/main/resources/mapper/MedQcresultDetailMapper.xml
  95. 147 0
      mrman-service/src/main/resources/mapper/QcCasesEntryMapper.xml
  96. 159 0
      mrman-service/src/main/resources/mapper/StdBehospitalInfoMapper.xml
  97. 63 0
      mrman-service/src/main/resources/mapper/StdMissionDetailMapper.xml
  98. 27 0
      mrman-service/src/main/resources/mapper/StdMissionInfoMapper.xml
  99. 28 0
      mrman-service/src/main/resources/mapper/StdQcresultDetailMapper.xml
  100. 0 0
      mrman-service/src/test/java/com/diagbot/CodeGeneration.java

+ 2 - 0
config-server/src/main/resources/shared/mrman-service-dev.yml

@@ -125,3 +125,5 @@ mybatis-plus:
   configuration:
     map-underscore-to-camel-case: true
     cache-enabled: false
+
+qc.address: http://192.168.2.236:5858

+ 2 - 0
config-server/src/main/resources/shared/mrman-service-local.yml

@@ -125,3 +125,5 @@ mybatis-plus:
   configuration:
     map-underscore-to-camel-case: true
     cache-enabled: false
+
+qc.address: http://192.168.2.236:5858

+ 2 - 0
config-server/src/main/resources/shared/mrman-service-pre.yml

@@ -125,3 +125,5 @@ mybatis-plus:
   configuration:
     map-underscore-to-camel-case: true
     cache-enabled: false
+
+qc.address: http://192.168.2.121:5858

+ 2 - 0
config-server/src/main/resources/shared/mrman-service-pro.yml

@@ -125,3 +125,5 @@ mybatis-plus:
   configuration:
     map-underscore-to-camel-case: true
     cache-enabled: false
+
+qc.address: http://192.168.2.122:5858

+ 2 - 0
config-server/src/main/resources/shared/mrman-service-test.yml

@@ -126,3 +126,5 @@ mybatis-plus:
   configuration:
     map-underscore-to-camel-case: true
     cache-enabled: false
+
+qc.address: http://192.168.2.241:5858

+ 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='任务信息详情表';

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1064 - 0
docs/036.20200609标准病例初始化脚本/sys_user_menu.sql


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 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;
+}

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

+ 10 - 0
mrman-service/src/main/java/com/diagbot/dto/QcCasesEntryAllDTO.java

@@ -57,6 +57,16 @@ public class QcCasesEntryAllDTO {
      */
     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 +
+        "}";
+    }
+}

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

+ 10 - 0
mrman-service/src/main/java/com/diagbot/entity/QcCasesEntry.java

@@ -60,6 +60,16 @@ public class QcCasesEntry implements Serializable {
      */
     private Integer ruleType;
 
+    /**
+     * 开发状态标识: 0-未开发  1-已开发
+     */
+    private Integer devType;
+
+    /**
+     * 准确率类型:0-极高,1-高,2-中,3-低
+     */
+    private Integer accuracyType;
+
     private String precond;
 
     /**

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

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

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

+ 133 - 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,25 +93,25 @@ 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());
@@ -109,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;
 
@@ -135,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);
+    }
+    /********************************质控条目和质控类型关系映射结束******************************************/
 }

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

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

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

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

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

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

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

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

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

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

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

+ 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传入的值
+}

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

@@ -69,6 +69,16 @@ public class InsertByHospitalVO {
      */
     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;
+}

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

@@ -47,4 +47,14 @@ public class QcCasesEntryAllVO extends Page {
      * 规则类型(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;
+}

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

@@ -0,0 +1,22 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: zhoutg
+ * @time: 2018/8/6 10:16
+ */
+@Getter
+@Setter
+public class QcEntryTypeSaveVO {
+    // 医院id
+    private Long hospitalId;
+    // 条目id
+    private Long entryId;
+    // 质控类型id列表
+    private List<Long> typeIdList;
+}

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

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: zhoutg
+ * @time: 2018/8/6 10:16
+ */
+@Getter
+@Setter
+public class QcEntryTypeVO {
+    // 条目id
+    private Long entryId;
+    // 医院id
+    private Long hospitalId;
+}

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

@@ -0,0 +1,14 @@
+package com.diagbot.vo;
+
+import lombok.Data;
+
+/**
+ * @Description:
+ * @Author: ztg
+ * @Date: 2018/10/24 16:11
+ */
+@Data
+public class QcTypeHospitalVO {
+    // 医院id
+    private Long hospitalId;
+}

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

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-12 17:02
+ */
+@Setter
+@Getter
+public class StdMissionDetailClVO {
+    @NotNull(message = "请输入id")
+    private Long id;
+}

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

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-11 14:33
+ */
+@Setter
+@Getter
+public class StdMissionDetailPageVO extends Page {
+
+    @NotNull(message = "请输入任务Id")
+    private Long missionId;
+    private Long hospitalId;
+    private Long casesId;
+    private String entryCode;
+    private String entryName;
+    private Integer status;
+}

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

@@ -0,0 +1,21 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-11 15:08
+ */
+@Setter
+@Getter
+public class StdMissionDetailUpVO {
+    @NotNull(message = "请输入Id")
+    private Long id;
+    private Integer status;
+    private String remark;
+}

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

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-11 14:54
+ */
+@Setter
+@Getter
+public class StdMissionInfoAddVO {
+    @NotBlank(message = "请输入任务名")
+    private String missionName;
+}

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

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-15 9:58
+ */
+@Setter
+@Getter
+public class StdMissionInfoClearVO {
+    @NotNull(message = "请输入任务Id")
+    private  Long id;
+}

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

@@ -0,0 +1,17 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-15 9:42
+ */
+@Setter
+@Getter
+public class StdMissionInfoPageVO extends Page {
+    private String missionName;
+
+}

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

@@ -0,0 +1,19 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-15 9:58
+ */
+@Setter
+@Getter
+public class StdMissionInfoUpVO {
+    @NotNull(message = "请输入Id")
+    private  Long id;
+    private  String missionName;
+}

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

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import com.diagbot.entity.StdQcresultDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 16:36
+ */
+@Setter
+@Getter
+public class StdQcresultDetailVO {
+
+   @NotBlank(message = "病人住院序号不能为空")
+   private String behospitalCode;
+   @NotNull(message = "医院id不能为空")
+   private Long hospitalId;
+   List<StdQcresultDetail> qcresultDetail;
+}

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

@@ -0,0 +1,22 @@
+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 19:18
+ */
+@Setter
+@Getter
+public class SthospitalInfoClearVO {
+
+    @NotBlank(message = "病人住院序号不能为空")
+    private String behospitalCode;
+    @NotNull(message = "医院id不能为空")
+    private Long hospitalId;
+}

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

@@ -0,0 +1,21 @@
+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 19:42
+ */
+@Setter
+@Getter
+public class SthospitalInfoFindVO {
+    @NotBlank(message = "病人住院序号不能为空")
+    private String behospitalCode;
+    @NotNull(message = "医院id不能为空")
+    private Long hospitalId;
+}

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

@@ -0,0 +1,46 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 10:59
+ */
+@Setter
+@Getter
+public class SthospitalInfoPageVO extends Page {
+
+    private Long hospitalId;
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+    /**
+     * 住院科室ID
+     */
+    private String deptId;
+
+/*    *//**
+     * 住院科室名称
+     *//*
+    private String deptName;*/
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 出院开始时间
+     */
+    private Date leaveHosDateStart;
+
+    /**
+     * 出院结束时间
+     */
+    private Date leaveHosDateEnd;
+}

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

@@ -0,0 +1,20 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-11 11:01
+ */
+@Setter
+@Getter
+public class SthospitalInfoStatiVO extends Page {
+
+    private Long hospitalId;
+    private Long casesId;
+    private String entryCode;
+    private String entryName;
+}

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

@@ -0,0 +1,21 @@
+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 15:05
+ */
+@Setter
+@Getter
+public class SthospitalInfoUpdataVO {
+    @NotBlank(message = "病人住院序号不能为空")
+    private String behospitalCode;
+    @NotNull(message = "医院id不能为空")
+    private Long hospitalId;
+}

+ 46 - 0
mrman-service/src/main/java/com/diagbot/web/MedBehospitalInfoController.java

@@ -0,0 +1,46 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.MedBehospitalDeptDTO;
+import com.diagbot.dto.MedQcresultDetailAllDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.MedBehospitalInfoFacade;
+import com.diagbot.vo.MedBehospitalDeptVO;
+import com.diagbot.vo.MedQcresultDetailAllVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * <p>
+ * 住院病历信息 前端控制器
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+@RestController
+@RequestMapping("/medBehospitalInfo")
+@Api(value = "病历数据相关接口", tags = { "病历数据相关接口" })
+public class MedBehospitalInfoController {
+    @Autowired
+    MedBehospitalInfoFacade medBehospitalInfoFacade;
+
+    @ApiOperation(value = "查询标准病例所有科室[by:wangfeng]",
+            notes = "查询标准病例所有科室")
+    @PostMapping("/findhospitalDept")
+    @SysLogger("findhospitalDept")
+    public RespDTO<List<MedBehospitalDeptDTO>> findhospitalDept(@RequestBody  MedBehospitalDeptVO medBehospitalDeptVO) {
+        List<MedBehospitalDeptDTO> data = medBehospitalInfoFacade.findhospitalDepts(medBehospitalDeptVO);
+        return RespDTO.onSuc(data);
+    }
+
+}

+ 44 - 0
mrman-service/src/main/java/com/diagbot/web/MedQcresultDetailController.java

@@ -0,0 +1,44 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.MedQcresultDetailAllDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.MedQcresultDetailFacade;
+import com.diagbot.vo.MedQcresultDetailAllVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * <p>
+ * 质控评分明细信息
+每次评分增加一条信息,前面所有评分is_deleted全部设置为Y 前端控制器
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+@RestController
+@RequestMapping("/medQcresultDetail")
+@Api(value = "质控评分明细信息相关接口", tags = { "质控评分明细信息相关接口" })
+public class MedQcresultDetailController {
+    @Autowired
+    MedQcresultDetailFacade medQcresultDetailFacade;
+
+    @ApiOperation(value = "获取单份病例最新评分明细信息[by:wangfeng]",
+            notes = "获取单份病例最新评分明细信息")
+    @PostMapping("/getMedQcresultDetail")
+    @SysLogger("getMedQcresultDetail")
+    public RespDTO<List<MedQcresultDetailAllDTO>> getMedQcresultDetail(@RequestBody @Valid MedQcresultDetailAllVO medQcresultDetailAllVO) {
+        List<MedQcresultDetailAllDTO> data = medQcresultDetailFacade.getMedQcresultDetail(medQcresultDetailAllVO);
+        return RespDTO.onSuc(data);
+    }
+}

+ 105 - 0
mrman-service/src/main/java/com/diagbot/web/QcEntryTypeController.java

@@ -0,0 +1,105 @@
+package com.diagbot.web;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.QcEntryTypeDTO;
+import com.diagbot.dto.QcEntryTypeDetailDTO;
+import com.diagbot.dto.QcTypeSimpDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.QcCacesEntryFacade;
+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 io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 质控条目与质控类型映射 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-05-14
+ */
+@RestController
+@RequestMapping("/qc/qcEntryType")
+@SuppressWarnings("unchecked")
+@Api(value = "质控条目与质控类型关系映射相关API", tags = { "质控条目与质控类型关系映射相关API" })
+public class QcEntryTypeController {
+
+    @Autowired
+    QcCacesEntryFacade qcCacesEntryFacade;
+
+    @ApiOperation(value = "保存[by:zhoutg]",
+            notes = "// 医院id\n" +
+                    " Long hospitalId;\n" +
+                    "// 条目id\n" +
+                    " Long entryId;\n" +
+                    "// 质控类型id列表\n" +
+                    " List<Long> typeIdList;")
+    @PostMapping("/saveOrUpdate")
+    @SysLogger("saveOrUpdate")
+    @Transactional
+    public RespDTO<Boolean> saveOrUpdate(@RequestBody QcEntryTypeSaveVO qcEntryTypeSaveVO) {
+        qcCacesEntryFacade.saveOrUpdate(qcEntryTypeSaveVO);
+        return RespDTO.onSuc(true);
+    }
+
+    @ApiOperation(value = "分页列表[by:zhoutg]",
+            notes = " // 医院id\n" +
+                    " Long hospitalId;\n" +
+                    "// 条目名称\n" +
+                    " String entryName;\n" +
+                    "// 质控类型名称\n" +
+                    " String typeName;")
+    @PostMapping("/page")
+    @SysLogger("page")
+    public RespDTO<IPage<QcEntryTypeDTO>> list(@RequestBody QcEntryTypePageVO qcEntryTypePageVO) {
+        IPage<QcEntryTypeDTO> data = qcCacesEntryFacade.entryTypePageFac(qcEntryTypePageVO);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "根据医院和条目检索未被选择的质控类型[by:zhoutg]",
+            notes = "// 医院id\n" +
+                    " Long hospitalId;\n" +
+                    "// 条目Id\n" +
+                    " Long entryId;")
+    @PostMapping("/index")
+    @SysLogger("index")
+    public RespDTO<List<QcTypeSimpDTO>> index(@RequestBody QcEntryTypeIndexVO qcEntryTypeIndexVO) {
+        List<QcTypeSimpDTO>data = qcCacesEntryFacade.indexFac(qcEntryTypeIndexVO);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "根据entryId和医院id返回内容[by:zhoutg]",
+            notes = "// 条目id\n" +
+                    " Long entryId;\n" +
+                    "// 医院id\n" +
+                    " Long hospitalId;")
+    @PostMapping("/getById")
+    @SysLogger("getById")
+    public RespDTO<QcEntryTypeDetailDTO> getById(@RequestBody QcEntryTypeVO qcEntryTypeVO) {
+        QcEntryTypeDetailDTO data = qcCacesEntryFacade.getByIdFac(qcEntryTypeVO);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "根据医院获取质控类型列表[by:zhoutg]",
+            notes = "// 医院id\n" +
+                    " Long hospitalId;")
+    @PostMapping("/getTypeByHospital")
+    @SysLogger("getTypeByHospital")
+    public RespDTO<List<QcTypeSimpDTO>> getTypeByHospital(@RequestBody QcTypeHospitalVO qcTypeHospitalVO) {
+        List<QcTypeSimpDTO> data = qcCacesEntryFacade.getTypeByHospitalFac(qcTypeHospitalVO);
+        return RespDTO.onSuc(data);
+    }
+}

+ 101 - 0
mrman-service/src/main/java/com/diagbot/web/StdBehospitalInfoController.java

@@ -0,0 +1,101 @@
+package com.diagbot.web;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.AnalyzeMessageDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SthospitalInfoFindDTO;
+import com.diagbot.dto.SthospitalInfoPageDTO;
+import com.diagbot.dto.SthospitalInfoStatiDTO;
+import com.diagbot.facade.StdBehospitalInfoFacade;
+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 io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+ * <p>
+ * 标准住院病历信息 前端控制器
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+@RestController
+@RequestMapping("/stdBehospitalInfo")
+@Api(value = "标准住院病历信息相关接口", tags = { "标准住院病历信息相关接口" })
+public class StdBehospitalInfoController {
+    @Autowired
+    StdBehospitalInfoFacade stdBehospitalInfoFacade;
+
+    @ApiOperation(value = "分页获取所有标准病例[by:wangfeng]",
+            notes = "分页获取所有标准病例")
+    @PostMapping("/getSthospitalInfoPage")
+    @SysLogger("getSthospitalInfoPage")
+    public RespDTO<IPage<SthospitalInfoPageDTO>> getSthospitalInfoPage(@RequestBody SthospitalInfoPageVO sthospitalInfoPageVO) {
+        IPage<SthospitalInfoPageDTO> data = stdBehospitalInfoFacade.getSthospitalInfoPages(sthospitalInfoPageVO);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "更新该条标准病例[by:wangfeng]",
+            notes = "更新该条标准病例")
+    @PostMapping("/updataSthospitalInfo")
+    @SysLogger("updataSthospitalInfo")
+    @Transactional
+    public RespDTO<Boolean> updataSthospitalInfo(@RequestBody @Valid SthospitalInfoUpdataVO sthospitalInfoUpdataVO) {
+        Boolean res = stdBehospitalInfoFacade.updataSthospitalInfos(sthospitalInfoUpdataVO);
+        return RespDTO.onSuc(res);
+    }
+
+    @ApiOperation(value = "查找病例[by:wangfeng]",
+            notes = "查找病例")
+    @PostMapping("/findSthospitalInfo")
+    @SysLogger("findSthospitalInfo")
+    @Transactional
+    public RespDTO<SthospitalInfoFindDTO> findSthospitalInfo(@RequestBody @Valid SthospitalInfoFindVO sthospitalInfoFindVO) {
+        SthospitalInfoFindDTO data = stdBehospitalInfoFacade.findSthospitalInfos(sthospitalInfoFindVO);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "根据病例号删除标准病例[by:wangfeng]",
+            notes = "根据病例号删除标准病例")
+    @PostMapping("/clearSthospitalInfo")
+    @SysLogger("clearSthospitalInfo")
+    @Transactional
+    public RespDTO<Boolean> clearSthospitalInfo(@RequestBody @Valid SthospitalInfoClearVO sthospitalInfoClearVO) {
+        Boolean res = stdBehospitalInfoFacade.clearSthospitalInfos(sthospitalInfoClearVO);
+        return RespDTO.onSuc(res);
+    }
+
+    @ApiOperation(value = "自动化测试统计[by:wangfeng]",
+            notes = "自动化测试统计")
+    @PostMapping("/getStatistic")
+    @SysLogger("getStatistic")
+    @Transactional
+    public RespDTO<IPage<SthospitalInfoStatiDTO>> getStatistic(@RequestBody @Valid SthospitalInfoStatiVO sthospitalInfoStatiVO) {
+        IPage<SthospitalInfoStatiDTO> data = stdBehospitalInfoFacade.getStatistics(sthospitalInfoStatiVO);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "标准病例重新评分[by:wangfeng]",
+            notes = "标准病例重新评分")
+    @PostMapping("/analyze")
+    @SysLogger("analyze")
+    @Transactional
+    public RespDTO<AnalyzeMessageDTO> analyze() {
+        AnalyzeMessageDTO data = stdBehospitalInfoFacade.analyze();
+        return RespDTO.onSuc(data);
+    }
+}

+ 77 - 0
mrman-service/src/main/java/com/diagbot/web/StdMissionDetailController.java

@@ -0,0 +1,77 @@
+package com.diagbot.web;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.StdMissionDetailPageDTO;
+import com.diagbot.facade.StdMissionDetailFacade;
+import com.diagbot.vo.StdMissionDetailClVO;
+import com.diagbot.vo.StdMissionDetailPageVO;
+import com.diagbot.vo.StdMissionDetailUpVO;
+import com.diagbot.vo.StdMissionInfoAddVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-12
+ */
+
+@RestController
+@RequestMapping("/stdMissionDetail")
+@Api(value = "任务详情信息相关接口", tags = { "任务详情信息相关接口" })
+public class StdMissionDetailController {
+    @Autowired
+    StdMissionDetailFacade stdMissionDetailFacade;
+
+    @ApiOperation(value = "分页获取任务详情信息[by:wangfeng]",
+            notes = "分页获取任务详情信息")
+    @PostMapping("/getMissionDetailPage")
+    @SysLogger("getMissionDetailPage")
+    public RespDTO<IPage<StdMissionDetailPageDTO>> getMissionDetailPage(@RequestBody @Valid StdMissionDetailPageVO stdQcresultTaskPageVO) {
+        IPage<StdMissionDetailPageDTO> data = stdMissionDetailFacade.getMissionDetailPages(stdQcresultTaskPageVO);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "一键添加任务信息[by:wangfeng]",
+            notes = "一键添加任务信息")
+    @PostMapping("/addMissionDetail")
+    @SysLogger("addMissionDetail")
+    @Transactional
+    public RespDTO<Boolean> addMissionDetail(@RequestBody @Valid StdMissionInfoAddVO stdMissionInfoAddVO) {
+        boolean res = stdMissionDetailFacade.addMissionDetails(stdMissionInfoAddVO);
+        return RespDTO.onSuc(res);
+    }
+
+    @ApiOperation(value = "修改任务信息[by:wangfeng]",
+            notes = "修改任务信息")
+    @PostMapping("/updateMissionDetail")
+    @SysLogger("updateMissionDetail")
+    @Transactional
+    public RespDTO<Boolean> updateMissionDetail(@RequestBody @Valid StdMissionDetailUpVO stdQcresultTaskUpVO) {
+        boolean res = stdMissionDetailFacade.updateMissionDetails(stdQcresultTaskUpVO);
+        return RespDTO.onSuc(res);
+    }
+
+    @ApiOperation(value = "删除任务信息[by:wangfeng]",
+            notes = "删除任务信息")
+    @PostMapping("/clearMissionDetail")
+    @SysLogger("clearMissionDetail")
+    public RespDTO<Boolean> clearMissionDetail(@RequestBody @Valid StdMissionDetailClVO stdMissionDetailClVO) {
+        boolean res = stdMissionDetailFacade.clearMissionDetails(stdMissionDetailClVO);
+        return RespDTO.onSuc(res);
+    }
+}

+ 66 - 0
mrman-service/src/main/java/com/diagbot/web/StdMissionInfoController.java

@@ -0,0 +1,66 @@
+package com.diagbot.web;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.StdMissionInfoPageDTO;
+import com.diagbot.facade.StdMissionInfoFacade;
+import com.diagbot.vo.StdMissionInfoClearVO;
+import com.diagbot.vo.StdMissionInfoPageVO;
+import com.diagbot.vo.StdMissionInfoUpVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-12
+ */
+@RestController
+@RequestMapping("/stdMissionInfo")
+@Api(value = "任务信息相关接口", tags = { "任务信息相关接口" })
+public class StdMissionInfoController {
+    @Autowired
+    StdMissionInfoFacade stdMissionInfoFacade;
+
+    @ApiOperation(value = "分页获取任务信息[by:wangfeng]",
+            notes = "分页获取任务信息")
+    @PostMapping("/getMissionInfoPage")
+    @SysLogger("getMissionInfoPage")
+    public RespDTO<IPage<StdMissionInfoPageDTO>> getMissionInfoPage(@RequestBody StdMissionInfoPageVO stdMissionInfoPageVO) {
+        IPage<StdMissionInfoPageDTO> data = stdMissionInfoFacade.getMissionInfoPages(stdMissionInfoPageVO);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "修改获取任务信息[by:wangfeng]",
+            notes = "修改获取任务信息")
+    @PostMapping("/updataMissionInfo")
+    @SysLogger("updataMissionInfo")
+    @Transactional
+    public RespDTO<Boolean> updataMissionInfo(@RequestBody @Valid StdMissionInfoUpVO stdMissionInfoUpVO) {
+        boolean res = stdMissionInfoFacade.updataMissionInfos(stdMissionInfoUpVO);
+        return RespDTO.onSuc(res);
+    }
+
+    @ApiOperation(value = "删除任务信息[by:wangfeng]",
+            notes = "删除任务信息")
+    @PostMapping("/clearMissionInfo")
+    @SysLogger("clearMissionInfo")
+    public RespDTO<Boolean> clearMissionInfo(@RequestBody @Valid StdMissionInfoClearVO stdMissionInfoClearVO) {
+        boolean res = stdMissionInfoFacade.clearMissionInfos(stdMissionInfoClearVO);
+        return RespDTO.onSuc(res);
+    }
+
+}

+ 44 - 0
mrman-service/src/main/java/com/diagbot/web/StdQcresultDetailController.java

@@ -0,0 +1,44 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.StdQcresultDetailFacade;
+import com.diagbot.vo.StdQcresultDetailVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+ * <p>
+ * 标准质控评分明细信息 前端控制器
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-06-10
+ */
+
+@RestController
+@RequestMapping("/stdQcresultDetail")
+@Api(value = "标准质控评分明细信息相关接口", tags = { "标准质控评分明细信息相关接口" })
+public class StdQcresultDetailController {
+    @Autowired
+    StdQcresultDetailFacade stdQcresultDetailFacade;
+
+    @ApiOperation(value = "添加标准病例评分明细信息[by:wangfeng]",
+            notes = "添加标准病例评分明细信息")
+    @PostMapping("/addSthospitalInfo")
+    @SysLogger("addSthospitalInfo")
+    @Transactional
+    public RespDTO<Boolean> addSthospitalInfo(@RequestBody @Valid StdQcresultDetailVO stdQcresultDetailVO) {
+        Boolean res = stdQcresultDetailFacade.addSthospitalInfos(stdQcresultDetailVO);
+        return RespDTO.onSuc(res);
+    }
+}

+ 61 - 0
mrman-service/src/main/resources/mapper/MedBehospitalInfoMapper.xml

@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.MedBehospitalInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.MedBehospitalInfo">
+        <id column="behospital_code" property="behospitalCode"/>
+        <result column="hospital_id" property="hospitalId"/>
+        <result column="name" property="name"/>
+        <result column="sex" property="sex"/>
+        <result column="birthday" property="birthday"/>
+        <result column="file_code" property="fileCode"/>
+        <result column="qc_type_id" property="qcTypeId"/>
+        <result column="ward_code" property="wardCode"/>
+        <result column="ward_name" property="wardName"/>
+        <result column="beh_dept_id" property="behDeptId"/>
+        <result column="beh_dept_name" property="behDeptName"/>
+        <result column="bed_code" property="bedCode"/>
+        <result column="bed_name" property="bedName"/>
+        <result column="insurance_name" property="insuranceName"/>
+        <result column="job_type" property="jobType"/>
+        <result column="behospital_date" property="behospitalDate"/>
+        <result column="leave_hospital_date" property="leaveHospitalDate"/>
+        <result column="diagnose_icd" property="diagnoseIcd"/>
+        <result column="diagnose" property="diagnose"/>
+        <result column="doctor_id" property="doctorId"/>
+        <result column="doctor_name" property="doctorName"/>
+        <result column="beh_doctor_id" property="behDoctorId"/>
+        <result column="beh_doctor_name" property="behDoctorName"/>
+        <result column="director_doctor_id" property="directorDoctorId"/>
+        <result column="director_doctor_name" property="directorDoctorName"/>
+        <result column="is_placefile" property="isPlacefile"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="gmt_create" property="gmtCreate"/>
+        <result column="gmt_modified" property="gmtModified"/>
+        <result column="creator" property="creator"/>
+        <result column="modifier" property="modifier"/>
+    </resultMap>
+
+    <select id="findhospitalDept" parameterType="com.diagbot.vo.MedBehospitalDeptVO"
+            resultType="com.diagbot.dto.MedBehospitalDeptDTO">
+        SELECT
+        beh_dept_id AS deptId,
+        beh_dept_name AS deptName
+        FROM
+        std_behospital_info
+        WHERE is_deleted = "N"
+        <if test="hospitalId !=null">
+            AND hospital_id = #{hospitalId}
+        </if>
+        <if test="deptId!=null">
+            AND beh_dept_id = #{deptId}
+        </if>
+        <if test="deptName!=null and deptName!=''">
+            AND UPPER(beh_dept_name) LIKE CONCAT('%', UPPER(trim(#{deptName})), '%')
+        </if>
+        GROUP BY beh_dept_id
+
+    </select>
+
+</mapper>

+ 69 - 0
mrman-service/src/main/resources/mapper/MedQcresultDetailMapper.xml

@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.MedQcresultDetailMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.MedQcresultDetail">
+        <id column="id" property="id"/>
+        <result column="hospital_id" property="hospitalId"/>
+        <result column="behospital_code" property="behospitalCode"/>
+        <result column="cases_id" property="casesId"/>
+        <result column="cases_score" property="casesScore"/>
+        <result column="cases_entry_id" property="casesEntryId"/>
+        <result column="score" property="score"/>
+        <result column="msg" property="msg"/>
+        <result column="info" property="info"/>
+        <result column="is_reject" property="isReject"/>
+        <result column="grade_type" property="gradeType"/>
+        <result column="opt_type" property="optType"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="gmt_create" property="gmtCreate"/>
+        <result column="gmt_modified" property="gmtModified"/>
+        <result column="creator" property="creator"/>
+        <result column="modifier" property="modifier"/>
+        <result column="remark" property="remark"/>
+    </resultMap>
+    <select id="getMedDetail" parameterType="com.diagbot.vo.MedQcresultDetailAllVO"
+            resultType="com.diagbot.dto.MedQcresultDetailAllDTO">
+        SELECT
+        t1.hospitalId AS hospitalId,
+        t1.behospitalCode AS behospitalCode,
+        t1.casesId AS casesId,
+        CASE WHEN ISNULL(t2.cases_score) THEN 0 ELSE t2.cases_score END casesScore,
+        t1.casesEntryId AS casesEntryId,
+        t1.score AS score,
+        t1.msgs AS msg,
+        CASE WHEN ISNULL(t2.info) THEN "" ELSE t2.info END info,
+        CASE WHEN ISNULL(t2.is_reject) THEN 1 ELSE t2.is_reject END isReject,
+        CASE WHEN ISNULL(t2.grade_type) THEN 0 ELSE t2.grade_type END gradeType,
+        CASE WHEN ISNULL(t2.opt_type) THEN 0 ELSE t2.opt_type END optType,
+        CASE WHEN ISNULL(t2.cases_entry_id) THEN 1 ELSE 0 END satisfy
+        FROM
+        (SELECT
+        a.hospital_id AS hospitalId,
+        b.cases_entry_id AS casesEntryId,
+        c.cases_id AS casesId,
+        b.score AS score,
+        b.msg AS msgs,
+        b.is_used AS isUsed,
+        a.behospital_code AS behospitalCode
+        FROM med_behospital_info a ,
+        qc_cases_entry_hospital b ,qc_cases_entry c
+        WHERE
+        a.is_deleted = "N"
+        AND b.is_deleted = "N"
+        AND c.is_deleted = "N"
+        AND a.hospital_id =b.hospital_id
+        AND b.cases_entry_id = c.id
+        <if test="hospitalId != null">
+            AND a.hospital_id =#{hospitalId}
+        </if>
+        <if test="behospitalCode !=null and behospitalCode !=''">
+            AND a.behospital_code =#{behospitalCode}
+        </if>
+        ) t1
+        LEFT JOIN med_qcresult_detail t2 ON t1.behospitalCode = t2.behospital_code
+        AND t1.casesEntryId = t2.cases_entry_id
+        AND t2.is_deleted = 'N'
+    </select>
+</mapper>

+ 147 - 0
mrman-service/src/main/resources/mapper/QcCasesEntryMapper.xml

@@ -10,6 +10,9 @@
         <result column="mode_id" property="modeId" />
         <result column="code" property="code" />
         <result column="name" property="name" />
+        <result column="rule_type" property="ruleType" />
+        <result column="dev_type" property="devType" />
+        <result column="accuracy_type" property="accuracyType" />
         <result column="drgs" property="drgs" />
         <result column="type" property="type" />
         <result column="precond" property="precond" />
@@ -35,6 +38,12 @@
         <if test="ruleType != null">
             AND a.rule_type = #{ruleType}
         </if>
+        <if test="devType != null">
+            AND a.dev_type = #{devType}
+        </if>
+        <if test="accuracyType != null">
+            AND a.accuracy_type = #{accuracyType}
+        </if>
         <if test="drgs != null">
             AND a.drgs = #{drgs}
         </if>
@@ -155,4 +164,142 @@
         AND t2.hospital_id = #{hospitalId}
         ORDER BY t3.order_no,t1.order_no
     </select>
+
+    <select id="entryTypePage" resultType="com.diagbot.dto.QcEntryTypeDTO">
+        SELECT
+            t.*, qc.cases_id,
+            qc.cases_name,
+            qc.`code`,
+            qc.`name` entry_name
+        FROM
+            (
+                SELECT
+                    a1.entry_id,
+                    a1.hospital_id,
+                    GROUP_CONCAT(b1. NAME) type_str
+                FROM
+                    (
+                        SELECT
+                            t1.id entry_id,
+                            t2.hospital_id
+                        FROM
+                            qc_cases_entry t1,
+                            qc_cases_entry_hospital t2
+                        WHERE
+                            t1.is_deleted = 'N'
+                        AND t2.is_deleted = 'N'
+                        AND t1.id = t2.cases_entry_id
+                    ) a1
+                LEFT JOIN (
+                    SELECT
+                        a1. NAME,
+                        a2.case_entry_id,
+                        a1.hospital_id
+                    FROM
+                        qc_type a1,
+                        qc_type_cases_entry a2
+                    WHERE
+                        a1.is_deleted = 'N'
+                    AND a2.is_deleted = 'N'
+                    AND a1.id = a2.type_id
+                ) b1 ON a1.entry_id = b1.case_entry_id
+                AND a1.hospital_id = b1.hospital_id
+                GROUP BY
+                    a1.entry_id,
+                    a1.hospital_id
+            ) t,
+            qc_cases_entry qc
+        WHERE
+            t.entry_id = qc.id
+        <if test="hospitalId != null">
+            and t.hospital_id = #{hospitalId}
+        </if>
+        <if test="entryName != null and entryName != ''">
+            and qc.name like concat('%', #{entryName}, '%')
+        </if>
+        <if test="code != null and code != ''">
+            and qc.code like concat('%', #{code}, '%')
+        </if>
+        <if test="casesId != null and casesId != ''">
+            and qc.cases_id = #{casesId}
+        </if>
+        <if test="typeName != null and typeName != ''">
+            and t.type_str like concat('%', #{typeName}, '%')
+        </if>
+        <if test="typeIsNull != null and typeIsNull == 1">
+            and t.type_str is null
+        </if>
+    </select>
+
+    <select id="entryTypeDetail" resultType="com.diagbot.dto.QcTypeByEntryDTO">
+        SELECT
+            t1.id entry_id,
+            t1.`name` entry_name,
+            t2.hospital_id,
+            t4.NAME type_name,
+            t4.id type_id,
+            t1.cases_name
+        FROM
+            qc_cases_entry t1,
+            qc_cases_entry_hospital t2,
+            qc_type_cases_entry t3,
+            qc_type t4
+        WHERE
+            t1.is_deleted = 'N'
+        AND t2.is_deleted = 'N'
+        AND t3.is_deleted = 'N'
+        AND t4.is_deleted = 'N'
+        AND t1.id = t2.cases_entry_id
+        AND t1.id = t3.case_entry_id
+        AND t3.type_id = t4.id
+        AND t2.hospital_id = t4.hospital_id
+        AND t2.hospital_id = #{hospitalId}
+        AND t1.id = #{entryId}
+        ORDER BY
+            t4.id
+    </select>
+
+    <select id="indexQcType" resultType="com.diagbot.dto.QcTypeSimpDTO">
+        SELECT
+            *
+        FROM
+            `qc_type` t1
+        WHERE
+            t1.is_deleted = 'N'
+        AND t1.hospital_id = #{hospitalId}
+        AND t1.id NOT IN (
+            SELECT DISTINCT
+                type_id
+            FROM
+                qc_type_cases_entry t2
+            WHERE
+                t2.is_deleted = 'N'
+            AND t2.case_entry_id = #{entryId}
+        )
+    </select>
+
+    <delete id="deleteQcTypeEntry">
+        DELETE t2
+        FROM
+            qc_type t1,
+            qc_type_cases_entry t2
+        WHERE
+            t1.hospital_id = #{hospitalId}
+        AND t1.id = t2.type_id
+        AND t2.case_entry_id = #{entryId}
+    </delete>
+
+    <select id="getTypeByHospital" resultType="com.diagbot.dto.QcTypeSimpDTO">
+        SELECT DISTINCT
+            NAME
+        FROM
+            `qc_type`
+        WHERE
+            is_deleted = 'N'
+        <if test="hospitalId != null">
+            and hospital_id = #{hospitalId}
+        </if>
+        ORDER BY
+            id
+    </select>
 </mapper>

+ 159 - 0
mrman-service/src/main/resources/mapper/StdBehospitalInfoMapper.xml

@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.StdBehospitalInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.StdBehospitalInfo">
+        <id column="behospital_code" property="behospitalCode"/>
+        <result column="hospital_id" property="hospitalId"/>
+        <result column="name" property="name"/>
+        <result column="sex" property="sex"/>
+        <result column="birthday" property="birthday"/>
+        <result column="file_code" property="fileCode"/>
+        <result column="qc_type_id" property="qcTypeId"/>
+        <result column="ward_code" property="wardCode"/>
+        <result column="ward_name" property="wardName"/>
+        <result column="beh_dept_id" property="behDeptId"/>
+        <result column="beh_dept_name" property="behDeptName"/>
+        <result column="bed_code" property="bedCode"/>
+        <result column="bed_name" property="bedName"/>
+        <result column="insurance_name" property="insuranceName"/>
+        <result column="job_type" property="jobType"/>
+        <result column="behospital_date" property="behospitalDate"/>
+        <result column="leave_hospital_date" property="leaveHospitalDate"/>
+        <result column="diagnose_icd" property="diagnoseIcd"/>
+        <result column="diagnose" property="diagnose"/>
+        <result column="doctor_id" property="doctorId"/>
+        <result column="doctor_name" property="doctorName"/>
+        <result column="beh_doctor_id" property="behDoctorId"/>
+        <result column="beh_doctor_name" property="behDoctorName"/>
+        <result column="director_doctor_id" property="directorDoctorId"/>
+        <result column="director_doctor_name" property="directorDoctorName"/>
+        <result column="is_placefile" property="isPlacefile"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="gmt_create" property="gmtCreate"/>
+        <result column="gmt_modified" property="gmtModified"/>
+        <result column="creator" property="creator"/>
+        <result column="modifier" property="modifier"/>
+    </resultMap>
+
+    <select id="getStdPage" parameterType="com.diagbot.vo.SthospitalInfoPageVO"
+            resultType="com.diagbot.dto.SthospitalInfoPageDTO">
+        SELECT
+        a.hospital_id AS hospitalId,
+        b.name AS hospitalName,
+        a.behospital_code AS behospitalCode,
+        a.beh_dept_id AS deptId,
+        a.beh_dept_name AS deptName,
+        a.name AS NAME,
+        a.sex AS sex,
+        a.behospital_date AS behospitalDate,
+        a.leave_hospital_date AS leaveHospitalDate,
+        a.gmt_modified AS gmtModified
+        FROM
+        std_behospital_info a,
+        bas_hospital_info b
+        WHERE a.is_deleted = "N"
+        AND b.is_deleted = "N"
+        AND a.hospital_id = b.id
+        <if test="behospitalCode !=null and behospitalCode !=''">
+            AND UPPER(a.behospital_code) LIKE CONCAT('%', UPPER(trim(#{behospitalCode})), '%')
+        </if>
+        <if test="deptId != null and deptId !=''">
+            AND a.beh_dept_id = #{deptId}
+        </if>
+        <if test="hospitalId != null">
+            AND a.hospital_id = #{hospitalId}
+        </if>
+        <if test="name != null and name!= ''">
+            AND UPPER(a.name) LIKE CONCAT('%', UPPER(trim(#{name})), '%')
+        </if>
+        <if test="leaveHosDateStart != null">
+            <![CDATA[ and a.leave_hospital_date >= #{leaveHosDateStart}]]>
+        </if>
+        <if test="leaveHosDateEnd != null">
+            <![CDATA[ and a.leave_hospital_date < #{leaveHosDateEnd}]]>
+        </if>
+        ORDER BY gmtModified DESC
+    </select>
+
+    <select id="getStatistic" parameterType="com.diagbot.vo.SthospitalInfoStatiVO"
+            resultType="com.diagbot.dto.SthospitalInfoStatiDTO">
+        SELECT
+        t.hospital_id as hospitalId,
+        t.hospitalName,
+        t.casesId AS casesId,
+        t.cases_name as casesName,
+        t.stdMsg as msg,
+        t.code as entryCode,
+        t.name as entryName,
+        COUNT(*) AS amount,
+        SUBSTRING_INDEX(GROUP_CONCAT(t.behospital_code), ',', 5) AS behospitalCodeStr
+        FROM
+        (
+        SELECT
+        t1.behospital_code,
+        t1.code,
+        t1.NAME,
+        t1.cases_name,
+        t1.hospital_id,
+        t1.hospitalName,
+        t1.casesId,
+        t1.stdMsg,
+        t1.satisfy,
+        t1.cases_entry_id AS stdEntryId,
+        t2.cases_entry_id AS newEntryId
+        FROM
+        (
+        SELECT
+        d.NAME,
+        d.code,
+        d.cases_id AS casesId,
+        d.cases_name,
+        e.name as hospitalName,
+        c.msg AS stdMsg,
+        b.*
+        FROM
+        std_behospital_info a,
+        std_qcresult_detail b,
+        qc_cases_entry_hospital c,
+        qc_cases_entry d,
+        bas_hospital_info e
+        WHERE
+        a.is_deleted = 'N'
+        AND b.is_deleted = 'N'
+        AND c.is_deleted = 'N'
+        AND d.is_deleted = 'N'
+        AND a.hospital_id = b.hospital_id
+        AND a.hospital_id = c.hospital_id
+        AND a.behospital_code = b.behospital_code
+        AND b.cases_entry_id = c.cases_entry_id
+        AND c.cases_entry_id = d.id
+        and e.id = a.hospital_id
+        <if test="hospitalId!=null">
+            AND  a.hospital_id =#{hospitalId}
+        </if>
+        <if test="casesId!= null">
+            AND d.cases_id= #{casesId}
+        </if>
+        <if test="entryCode!=null and entryCode!=''">
+            AND UPPER(d.code) LIKE CONCAT('%', UPPER(trim(#{entryCode})), '%')
+        </if>
+        <if test="entryName!=null and entryName!=''">
+            AND UPPER(d.name) LIKE CONCAT('%', UPPER(trim(#{entryName})), '%')
+        </if>
+
+        ) t1
+        LEFT JOIN med_qcresult_detail t2 ON t1.behospital_code = t2.behospital_code
+        AND t1.cases_entry_id = t2.cases_entry_id
+        AND t2.is_deleted = 'N'
+        ) t
+        WHERE
+        ( t.satisfy = 1 AND t.stdEntryId = t.newEntryId )
+        OR ( t.satisfy = 0 AND t.newEntryId IS NULL )
+        GROUP BY
+        t.stdMsg,
+        t.`NAME`
+        ORDER BY COUNT(*) DESC
+    </select>
+</mapper>

+ 63 - 0
mrman-service/src/main/resources/mapper/StdMissionDetailMapper.xml

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.StdMissionDetailMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.StdMissionDetail">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="mission_id" property="missionId" />
+        <result column="hospital_id" property="hospitalId" />
+        <result column="cases_id" property="casesId" />
+        <result column="cases_name" property="casesName" />
+        <result column="entry_code" property="entryCode" />
+        <result column="entry_name" property="entryName" />
+        <result column="amount" property="amount" />
+        <result column="behospitalCodeStr" property="behospitalCodeStr" />
+        <result column="status" property="status" />
+        <result column="remark" property="remark" />
+    </resultMap>
+    <select id="getMissionDetailPage" parameterType="com.diagbot.vo.StdMissionDetailPageVO"
+            resultType="com.diagbot.dto.StdMissionDetailPageDTO">
+        SELECT
+        a.id,
+        a.hospital_id AS hospitalId,
+        b.name AS hospitalName,
+        a.cases_id AS casesId,
+        a.cases_name AS casesName,
+        a.entry_code AS entryCode,
+        a.entry_name AS entryName,
+        a.amount AS amount,
+        a.behospitalCodeStr,
+        a.status,
+        a.remark
+        FROM
+        std_mission_detail a,
+        bas_hospital_info b
+        WHERE a.is_deleted = "N"
+        AND b.id = a.hospital_id
+        <if test="missionId!=null">
+            AND a.mission_id =#{missionId}
+        </if>
+        <if test="hospitalId!=null">
+            AND a.hospital_id = #{hospitalId}
+        </if>
+        <if test="casesId!=null">
+            AND a.cases_id =#{casesId}
+        </if>
+        <if test="entryName!=null and entryName !=''">
+            AND UPPER(a.entry_name) LIKE CONCAT('%', UPPER(trim(#{entryName})), '%')
+        </if>
+        <if test="entryCode!=null and entryCode!=''">
+            AND UPPER(a.entry_code) LIKE CONCAT('%', UPPER(trim(#{entryCode})), '%')
+        </if>
+        <if test="status!=null">
+            AND a.status = #{status}
+        </if>
+        ORDER BY amount DESC
+    </select>
+</mapper>

+ 27 - 0
mrman-service/src/main/resources/mapper/StdMissionInfoMapper.xml

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.StdMissionInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.StdMissionInfo">
+        <id column="id" property="id"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="gmt_create" property="gmtCreate"/>
+        <result column="gmt_modified" property="gmtModified"/>
+        <result column="creator" property="creator"/>
+        <result column="modifier" property="modifier"/>
+        <result column="mission_name" property="missionName"/>
+        <result column="status" property="status"/>
+        <result column="remark" property="remark"/>
+    </resultMap>
+
+    <select id="getMissionInfoPages" parameterType="com.diagbot.vo.StdMissionInfoPageVO"
+            resultType="com.diagbot.dto.StdMissionInfoPageDTO">
+        SELECT id,mission_name as missionName,remark FROM std_mission_info
+        WHERE is_deleted = "N"
+        <if test="missionName!=null and missionName!=''">
+            AND UPPER(mission_name) LIKE CONCAT('%', UPPER(trim(#{missionName})), '%')
+        </if>
+        ORDER BY gmt_modified DESC
+    </select>
+</mapper>

+ 28 - 0
mrman-service/src/main/resources/mapper/StdQcresultDetailMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.StdQcresultDetailMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.StdQcresultDetail">
+        <id column="id" property="id" />
+        <result column="hospital_id" property="hospitalId" />
+        <result column="behospital_code" property="behospitalCode" />
+        <result column="cases_id" property="casesId" />
+        <result column="cases_score" property="casesScore" />
+        <result column="cases_entry_id" property="casesEntryId" />
+        <result column="score" property="score" />
+        <result column="msg" property="msg" />
+        <result column="info" property="info" />
+        <result column="is_reject" property="isReject" />
+        <result column="grade_type" property="gradeType" />
+        <result column="opt_type" property="optType" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="remark" property="remark" />
+        <result column="satisfy" property="satisfy" />
+    </resultMap>
+
+</mapper>

+ 0 - 0
mrman-service/src/test/java/com/diagbot/CodeGeneration.java


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio