Browse Source

Merge branch 'develop' into dev/mrman20200117_init

# Conflicts:
#	mrman-service/src/main/resources/mapper/QcCasesEntryMapper.xml
gaodm 4 years ago
parent
commit
5ae894983e
100 changed files with 7073 additions and 19 deletions
  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:
   configuration:
     map-underscore-to-camel-case: true
     map-underscore-to-camel-case: true
     cache-enabled: false
     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:
   configuration:
     map-underscore-to-camel-case: true
     map-underscore-to-camel-case: true
     cache-enabled: false
     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:
   configuration:
     map-underscore-to-camel-case: true
     map-underscore-to-camel-case: true
     cache-enabled: false
     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:
   configuration:
     map-underscore-to-camel-case: true
     map-underscore-to-camel-case: true
     cache-enabled: false
     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:
   configuration:
     map-underscore-to-camel-case: true
     map-underscore-to-camel-case: true
     cache-enabled: false
     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='任务信息详情表';

File diff suppressed because it is too large
+ 1064 - 0
docs/036.20200609标准病例初始化脚本/sys_user_menu.sql


File diff suppressed because it is too large
+ 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.getSubType() == 1 || kgTreeVO.getSubType() == 2 || kgTreeVO.getSubType() == 3))
                 || (kgTreeVO.getType() == 2 && (kgTreeVO.getSubType() == 0))
                 || (kgTreeVO.getType() == 2 && (kgTreeVO.getSubType() == 0))
                 || (kgTreeVO.getType() == 3 && (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 kgQueryVO = new KgQueryVO();
             // kgQueryVO.setLabelName("诊断依据");
             // kgQueryVO.setLabelName("诊断依据");
             // kgQueryVO.setInputStr("诊断依据");
             // kgQueryVO.setInputStr("诊断依据");

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

@@ -57,8 +57,13 @@ public class KgController {
     }
     }
 
 
     @ApiOperation(value = "获取树形分类",
     @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")
     @PostMapping("/getTree")
     @SysLogger("getTree")
     @SysLogger("getTree")
     @Cacheable(value = KGTREECACHE, key = "'kgtree:t_' + #kgTreeVO.type + '_st_' + #kgTreeVO.subType")
     @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">
     <select id="getGraph" parameterType='com.diagbot.vo.KgQueryVO' resultMap="GraphResultMap">
         MATCH (n:${labelName})-[r]->(m)
         MATCH (n:${labelName})-[r]->(m)
         where n.name = #{inputStr}
         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
         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
         ORDER BY rType
         LIMIT 100
         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;
     private Integer ruleType;
 
 
+    /**
+     * 开发状态标识: 0-未开发  1-已开发
+     */
+    private Integer devType;
+
+    /**
+     * 准确率类型:0-极高,1-高,2-中,3-低
+     */
+    private Integer accuracyType;
+
     private String precond;
     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;
     private Integer ruleType;
 
 
+    /**
+     * 开发状态标识: 0-未开发  1-已开发
+     */
+    private Integer devType;
+
+    /**
+     * 准确率类型:0-极高,1-高,2-中,3-低
+     */
+    private Integer accuracyType;
+
     private String precond;
     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.GetUpdateInfoDetialDTO;
 import com.diagbot.dto.QcCasesEntryAllDTO;
 import com.diagbot.dto.QcCasesEntryAllDTO;
 import com.diagbot.dto.QcCasesEntrySimpleDTO;
 import com.diagbot.dto.QcCasesEntrySimpleDTO;
+import com.diagbot.dto.QcEntryTypeDTO;
+import com.diagbot.dto.QcEntryTypeDetailDTO;
 import com.diagbot.dto.QcHospitalInfoAllDTO;
 import com.diagbot.dto.QcHospitalInfoAllDTO;
+import com.diagbot.dto.QcTypeByEntryDTO;
+import com.diagbot.dto.QcTypeSimpDTO;
 import com.diagbot.entity.CasesEntryHospital;
 import com.diagbot.entity.CasesEntryHospital;
 import com.diagbot.entity.QcCasesEntry;
 import com.diagbot.entity.QcCasesEntry;
 import com.diagbot.entity.QcQuestionEntry;
 import com.diagbot.entity.QcQuestionEntry;
 import com.diagbot.entity.QcTypeCasesEntry;
 import com.diagbot.entity.QcTypeCasesEntry;
 import com.diagbot.enums.IsDeleteEnum;
 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.service.impl.QcCasesEntryServiceImpl;
 import com.diagbot.util.BeanUtil;
 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.GetUpdateInfoVO;
 import com.diagbot.vo.QcCasesEntryAllVO;
 import com.diagbot.vo.QcCasesEntryAllVO;
 import com.diagbot.vo.QcCasesEntryIndexVO;
 import com.diagbot.vo.QcCasesEntryIndexVO;
 import com.diagbot.vo.QcEntryHospitalVO;
 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.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
@@ -44,6 +61,11 @@ public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
     QcQuestionEntryFacade qcQuestionEntryFacade;
     QcQuestionEntryFacade qcQuestionEntryFacade;
     @Autowired
     @Autowired
     QcTypeCasesEntryFacade qcTypeCasesEntryFacade;
     QcTypeCasesEntryFacade qcTypeCasesEntryFacade;
+    @Autowired
+    @Qualifier("qcTypeCasesEntryServiceImpl")
+    QcTypeCasesEntryService qcTypeCasesEntryService;
+    @Autowired
+    QcTypeFacade qcTypeFacade;
 
 
     /**
     /**
      * 分页获取病例条目
      * 分页获取病例条目
@@ -51,7 +73,7 @@ public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
      * @param qcCasesEntryAllVO
      * @param qcCasesEntryAllVO
      * @return
      * @return
      */
      */
-    public IPage<QcCasesEntryAllDTO> getAll(QcCasesEntryAllVO qcCasesEntryAllVO){
+    public IPage<QcCasesEntryAllDTO> getAll(QcCasesEntryAllVO qcCasesEntryAllVO) {
         return this.getAllQcCasesEntry(qcCasesEntryAllVO);
         return this.getAllQcCasesEntry(qcCasesEntryAllVO);
     }
     }
 
 
@@ -61,7 +83,7 @@ public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
      * @param qcCasesEntryIndexVO
      * @param qcCasesEntryIndexVO
      * @return
      * @return
      */
      */
-    public IPage<QcCasesEntryAllDTO> getAllQcCasesEntryIndexFac(QcCasesEntryIndexVO qcCasesEntryIndexVO){
+    public IPage<QcCasesEntryAllDTO> getAllQcCasesEntryIndexFac(QcCasesEntryIndexVO qcCasesEntryIndexVO) {
         return this.getAllQcCasesEntryIndex(qcCasesEntryIndexVO);
         return this.getAllQcCasesEntryIndex(qcCasesEntryIndexVO);
     }
     }
 
 
@@ -71,25 +93,25 @@ public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
      * @param getUpdateInfoVO
      * @param getUpdateInfoVO
      * @return
      * @return
      */
      */
-    public List<GetUpdateInfoDTO>  getUpdateInfo(GetUpdateInfoVO getUpdateInfoVO){
+    public List<GetUpdateInfoDTO> getUpdateInfo(GetUpdateInfoVO getUpdateInfoVO) {
         QueryWrapper<QcCasesEntry> qcCasesEntryQueryWrapper = new QueryWrapper<>();
         QueryWrapper<QcCasesEntry> qcCasesEntryQueryWrapper = new QueryWrapper<>();
         qcCasesEntryQueryWrapper
         qcCasesEntryQueryWrapper
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("id",getUpdateInfoVO.getId());
+                .eq("id", getUpdateInfoVO.getId());
         QcCasesEntry qcCasesEntry = qcCacesEntryFacade.getOne(qcCasesEntryQueryWrapper);
         QcCasesEntry qcCasesEntry = qcCacesEntryFacade.getOne(qcCasesEntryQueryWrapper);
         QueryWrapper<CasesEntryHospital> casesEntryHospitalQueryWrapper = new QueryWrapper<>();
         QueryWrapper<CasesEntryHospital> casesEntryHospitalQueryWrapper = new QueryWrapper<>();
         casesEntryHospitalQueryWrapper
         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");
                 .groupBy("hospital_id");
         List<CasesEntryHospital> casesEntryHospitals = casesEntryHospitalFacade.list(casesEntryHospitalQueryWrapper);
         List<CasesEntryHospital> casesEntryHospitals = casesEntryHospitalFacade.list(casesEntryHospitalQueryWrapper);
         List<GetUpdateInfoDTO> getUpdateInfoDTOS = new ArrayList<>();
         List<GetUpdateInfoDTO> getUpdateInfoDTOS = new ArrayList<>();
         GetUpdateInfoDTO getUpdateInfoDTO = new GetUpdateInfoDTO();
         GetUpdateInfoDTO getUpdateInfoDTO = new GetUpdateInfoDTO();
         List<GetUpdateInfoDetialDTO> getUpdateInfoDetialDTOS = new ArrayList<>();
         List<GetUpdateInfoDetialDTO> getUpdateInfoDetialDTOS = new ArrayList<>();
         GetUpdateInfoDetialDTO getUpdateInfoDetialDTO = new GetUpdateInfoDetialDTO();
         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 = new GetUpdateInfoDetialDTO();
             getUpdateInfoDetialDTO.setHospitalName(hospitalNameMap.get(casesEntryHospital.getHospitalId()));
             getUpdateInfoDetialDTO.setHospitalName(hospitalNameMap.get(casesEntryHospital.getHospitalId()));
             getUpdateInfoDetialDTO.setMsg(casesEntryHospital.getMsg());
             getUpdateInfoDetialDTO.setMsg(casesEntryHospital.getMsg());
@@ -109,24 +131,24 @@ public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
      * @param getUpdateInfoVO
      * @param getUpdateInfoVO
      * @return
      * @return
      */
      */
-    public Boolean deleteQcCasesEntry(GetUpdateInfoVO getUpdateInfoVO){
-       //删除条目
+    public Boolean deleteQcCasesEntry(GetUpdateInfoVO getUpdateInfoVO) {
+        //删除条目
         QueryWrapper<QcCasesEntry> qcCasesEntryQueryWrapper = new QueryWrapper<>();
         QueryWrapper<QcCasesEntry> qcCasesEntryQueryWrapper = new QueryWrapper<>();
-        qcCasesEntryQueryWrapper.eq("id",getUpdateInfoVO.getId());
+        qcCasesEntryQueryWrapper.eq("id", getUpdateInfoVO.getId());
         boolean res = this.remove(qcCasesEntryQueryWrapper);
         boolean res = this.remove(qcCasesEntryQueryWrapper);
         //删除明细
         //删除明细
         QueryWrapper<CasesEntryHospital> casesEntryHospitalQueryWrapper = new QueryWrapper<>();
         QueryWrapper<CasesEntryHospital> casesEntryHospitalQueryWrapper = new QueryWrapper<>();
-        casesEntryHospitalQueryWrapper.eq("cases_entry_id",getUpdateInfoVO.getId());
+        casesEntryHospitalQueryWrapper.eq("cases_entry_id", getUpdateInfoVO.getId());
         casesEntryHospitalFacade.remove(casesEntryHospitalQueryWrapper);
         casesEntryHospitalFacade.remove(casesEntryHospitalQueryWrapper);
         //删除模块
         //删除模块
         UpdateWrapper<QcQuestionEntry> qcQuescQuestionInfoUpdate = new UpdateWrapper<>();
         UpdateWrapper<QcQuestionEntry> qcQuescQuestionInfoUpdate = new UpdateWrapper<>();
         qcQuescQuestionInfoUpdate
         qcQuescQuestionInfoUpdate
-                .eq("cases_entry_id",getUpdateInfoVO.getId());
+                .eq("cases_entry_id", getUpdateInfoVO.getId());
         qcQuestionEntryFacade.remove(qcQuescQuestionInfoUpdate);
         qcQuestionEntryFacade.remove(qcQuescQuestionInfoUpdate);
         //删除质控类型
         //删除质控类型
         UpdateWrapper<QcTypeCasesEntry> qcTypeCasesEntryUpdateWrapper = new UpdateWrapper<>();
         UpdateWrapper<QcTypeCasesEntry> qcTypeCasesEntryUpdateWrapper = new UpdateWrapper<>();
         qcTypeCasesEntryUpdateWrapper
         qcTypeCasesEntryUpdateWrapper
-                .eq("case_entry_id",getUpdateInfoVO.getId());
+                .eq("case_entry_id", getUpdateInfoVO.getId());
         qcTypeCasesEntryFacade.remove(qcTypeCasesEntryUpdateWrapper);
         qcTypeCasesEntryFacade.remove(qcTypeCasesEntryUpdateWrapper);
         return res;
         return res;
 
 
@@ -135,4 +157,100 @@ public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
     public List<QcCasesEntrySimpleDTO> getEntryByHospitalFac(QcEntryHospitalVO qcEntryHospitalVO) {
     public List<QcCasesEntrySimpleDTO> getEntryByHospitalFac(QcEntryHospitalVO qcEntryHospitalVO) {
         return this.getEntryByHospital(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.QcCasesEntryAllDTO;
 import com.diagbot.dto.QcCasesEntryDTO;
 import com.diagbot.dto.QcCasesEntryDTO;
 import com.diagbot.dto.QcCasesEntrySimpleDTO;
 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.entity.QcCasesEntry;
 import com.diagbot.vo.QcCasesEntryAllVO;
 import com.diagbot.vo.QcCasesEntryAllVO;
 import com.diagbot.vo.QcCasesEntryIndexVO;
 import com.diagbot.vo.QcCasesEntryIndexVO;
 import com.diagbot.vo.QcEntryHospitalVO;
 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 com.diagbot.vo.QcTypeIndexVO;
 import org.apache.ibatis.annotations.Param;
 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> index(QcTypeIndexVO qcTypeIndexVO);
 
 
     public List<QcCasesEntrySimpleDTO> getEntryByHospital(QcEntryHospitalVO qcEntryHospitalVO);
     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.QcCasesEntryAllDTO;
 import com.diagbot.dto.QcCasesEntryDTO;
 import com.diagbot.dto.QcCasesEntryDTO;
 import com.diagbot.dto.QcCasesEntrySimpleDTO;
 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.entity.QcCasesEntry;
 import com.diagbot.vo.QcCasesEntryAllVO;
 import com.diagbot.vo.QcCasesEntryAllVO;
 import com.diagbot.vo.QcCasesEntryIndexVO;
 import com.diagbot.vo.QcCasesEntryIndexVO;
 import com.diagbot.vo.QcEntryHospitalVO;
 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 com.diagbot.vo.QcTypeIndexVO;
 
 
 import java.util.List;
 import java.util.List;
@@ -41,4 +49,14 @@ public interface QcCasesEntryService extends IService<QcCasesEntry> {
     public List<QcCasesEntrySimpleDTO> index(QcTypeIndexVO qcTypeIndexVO);
     public List<QcCasesEntrySimpleDTO> index(QcTypeIndexVO qcTypeIndexVO);
 
 
     public List<QcCasesEntrySimpleDTO> getEntryByHospital(QcEntryHospitalVO qcEntryHospitalVO);
     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.QcCasesEntryAllDTO;
 import com.diagbot.dto.QcCasesEntryDTO;
 import com.diagbot.dto.QcCasesEntryDTO;
 import com.diagbot.dto.QcCasesEntrySimpleDTO;
 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.entity.QcCasesEntry;
 import com.diagbot.mapper.QcCasesEntryMapper;
 import com.diagbot.mapper.QcCasesEntryMapper;
 import com.diagbot.service.QcCasesEntryService;
 import com.diagbot.service.QcCasesEntryService;
 import com.diagbot.vo.QcCasesEntryAllVO;
 import com.diagbot.vo.QcCasesEntryAllVO;
 import com.diagbot.vo.QcCasesEntryIndexVO;
 import com.diagbot.vo.QcCasesEntryIndexVO;
 import com.diagbot.vo.QcEntryHospitalVO;
 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 com.diagbot.vo.QcTypeIndexVO;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
@@ -56,4 +64,30 @@ public class QcCasesEntryServiceImpl extends ServiceImpl<QcCasesEntryMapper, QcC
     public List<QcCasesEntrySimpleDTO> getEntryByHospital(QcEntryHospitalVO qcEntryHospitalVO) {
     public List<QcCasesEntrySimpleDTO> getEntryByHospital(QcEntryHospitalVO qcEntryHospitalVO) {
         return baseMapper.getEntryByHospital(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;
     private Integer ruleType;
 
 
+    /**
+     * 开发状态标识: 0-未开发  1-已开发
+     */
+    private Integer devType;
+
+    /**
+     * 准确率类型:0-极高,1-高,2-中,3-低
+     */
+    private Integer accuracyType;
+
     private String precond;
     private String precond;
 
 
     private Long modeId;
     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:错误)
      * 规则类型(0:无,1:空项,2:错误)
      */
      */
     private Integer ruleType;
     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="mode_id" property="modeId" />
         <result column="code" property="code" />
         <result column="code" property="code" />
         <result column="name" property="name" />
         <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="drgs" property="drgs" />
         <result column="type" property="type" />
         <result column="type" property="type" />
         <result column="precond" property="precond" />
         <result column="precond" property="precond" />
@@ -35,6 +38,12 @@
         <if test="ruleType != null">
         <if test="ruleType != null">
             AND a.rule_type = #{ruleType}
             AND a.rule_type = #{ruleType}
         </if>
         </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">
         <if test="drgs != null">
             AND a.drgs = #{drgs}
             AND a.drgs = #{drgs}
         </if>
         </if>
@@ -155,4 +164,142 @@
         AND t2.hospital_id = #{hospitalId}
         AND t2.hospital_id = #{hospitalId}
         ORDER BY t3.order_no,t1.order_no
         ORDER BY t3.order_no,t1.order_no
     </select>
     </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>
 </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


Some files were not shown because too many files changed in this diff