浏览代码

Merge remote-tracking branch 'origin/jsfwb/common' into jsfwb/common

liuqq 3 年之前
父节点
当前提交
ee2a48ad40
共有 100 个文件被更改,包括 5919 次插入390 次删除
  1. 602 0
      cdssman-service/doc/001.20210125自动化测试初始化脚本/cdss_init.sql
  2. 332 0
      cdssman-service/doc/001.20210125自动化测试初始化脚本/user_init.sql
  3. 181 0
      cdssman-service/doc/002.20210325自动化测试脚本/cdss_init.sql
  4. 33 9
      cdssman-service/pom.xml
  5. 2 1
      cdssman-service/src/main/java/com/diagbot/CdssmanServiceApplication.java
  6. 209 0
      cdssman-service/src/main/java/com/diagbot/aggregate/CallIndicationAggregate.java
  7. 339 0
      cdssman-service/src/main/java/com/diagbot/aggregate/RuleTestAggregate.java
  8. 190 0
      cdssman-service/src/main/java/com/diagbot/client/CdssClient.java
  9. 176 9
      cdssman-service/src/main/java/com/diagbot/client/CdssCoreClient.java
  10. 246 8
      cdssman-service/src/main/java/com/diagbot/client/hystrix/CdssCoreHystrix.java
  11. 140 0
      cdssman-service/src/main/java/com/diagbot/client/hystrix/CdssHystrix.java
  12. 22 0
      cdssman-service/src/main/java/com/diagbot/config/FeignMultipartSupportConfig.java
  13. 1 1
      cdssman-service/src/main/java/com/diagbot/config/MybatisPlusConfigurer.java
  14. 71 0
      cdssman-service/src/main/java/com/diagbot/config/TransactionAspect.java
  15. 25 0
      cdssman-service/src/main/java/com/diagbot/dto/BillMsg.java
  16. 23 0
      cdssman-service/src/main/java/com/diagbot/dto/CaseResultDTO.java
  17. 23 0
      cdssman-service/src/main/java/com/diagbot/dto/CaseStaticResultDTO.java
  18. 37 0
      cdssman-service/src/main/java/com/diagbot/dto/ConceptCollectionDTO.java
  19. 18 0
      cdssman-service/src/main/java/com/diagbot/dto/ConceptCollectionMatchDTO.java
  20. 5 0
      cdssman-service/src/main/java/com/diagbot/dto/ConceptMappingDTO.java
  21. 18 0
      cdssman-service/src/main/java/com/diagbot/dto/DiagnosesFindDTO.java
  22. 22 0
      cdssman-service/src/main/java/com/diagbot/dto/DiseaseAllDetailDTO.java
  23. 21 0
      cdssman-service/src/main/java/com/diagbot/dto/DiseaseDetailDTO.java
  24. 1 0
      cdssman-service/src/main/java/com/diagbot/dto/DiseaseInfoDTO.java
  25. 41 0
      cdssman-service/src/main/java/com/diagbot/dto/DiseasePageDTO.java
  26. 22 0
      cdssman-service/src/main/java/com/diagbot/dto/DiseaseSubDetailDTO.java
  27. 19 0
      cdssman-service/src/main/java/com/diagbot/dto/DiseaseTreeDetailDTO.java
  28. 1 0
      cdssman-service/src/main/java/com/diagbot/dto/DrugInfoDTO.java
  29. 17 0
      cdssman-service/src/main/java/com/diagbot/dto/ExportCommonStaticTestDTO.java
  30. 30 0
      cdssman-service/src/main/java/com/diagbot/dto/ExportCommonTestDTO.java
  31. 18 0
      cdssman-service/src/main/java/com/diagbot/dto/ExportConceptAllDTO.java
  32. 27 0
      cdssman-service/src/main/java/com/diagbot/dto/ExportConceptModeDTO.java
  33. 17 0
      cdssman-service/src/main/java/com/diagbot/dto/ExportLisStaticTestDTO.java
  34. 32 0
      cdssman-service/src/main/java/com/diagbot/dto/ExportLisTestDTO.java
  35. 46 0
      cdssman-service/src/main/java/com/diagbot/dto/GetAllForRelationDTO.java
  36. 72 0
      cdssman-service/src/main/java/com/diagbot/dto/HospitalInfoGetDTO.java
  37. 70 0
      cdssman-service/src/main/java/com/diagbot/dto/HospitalInfoPageDTO.java
  38. 30 0
      cdssman-service/src/main/java/com/diagbot/dto/HospitalRelationDTO.java
  39. 27 0
      cdssman-service/src/main/java/com/diagbot/dto/HospitalRelationErrorDTO.java
  40. 32 0
      cdssman-service/src/main/java/com/diagbot/dto/IndexBatchDTO.java
  41. 27 0
      cdssman-service/src/main/java/com/diagbot/dto/IndicationDTO.java
  42. 58 0
      cdssman-service/src/main/java/com/diagbot/dto/KlConceptAllDTO.java
  43. 26 0
      cdssman-service/src/main/java/com/diagbot/dto/KlConceptAllSubDTO.java
  44. 43 0
      cdssman-service/src/main/java/com/diagbot/dto/KlConceptDetailDTO.java
  45. 28 0
      cdssman-service/src/main/java/com/diagbot/dto/KlConceptInfoDTO.java
  46. 107 0
      cdssman-service/src/main/java/com/diagbot/dto/KlConceptScaleDTO.java
  47. 35 0
      cdssman-service/src/main/java/com/diagbot/dto/KlConceptSimDTO.java
  48. 67 0
      cdssman-service/src/main/java/com/diagbot/dto/KlConceptStaticDTO.java
  49. 90 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseByIdDTO.java
  50. 33 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseGroupDTO.java
  51. 47 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseInfoDTO.java
  52. 19 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseLibNameDTO.java
  53. 28 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseTypeDTO.java
  54. 151 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDiseaseDTO.java
  55. 26 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDrugDTO.java
  56. 26 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDrugExportDTO.java
  57. 95 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDrugMappingDTO.java
  58. 135 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDrugRegisterDTO.java
  59. 90 0
      cdssman-service/src/main/java/com/diagbot/dto/KlLexiconDTO.java
  60. 48 0
      cdssman-service/src/main/java/com/diagbot/dto/KlLexiconRelationshipDTO.java
  61. 78 0
      cdssman-service/src/main/java/com/diagbot/dto/KlLisDTO.java
  62. 33 0
      cdssman-service/src/main/java/com/diagbot/dto/KlOperationDTO.java
  63. 63 0
      cdssman-service/src/main/java/com/diagbot/dto/KlPacsDTO.java
  64. 27 0
      cdssman-service/src/main/java/com/diagbot/dto/KlRuleByIdParDTO.java
  65. 32 0
      cdssman-service/src/main/java/com/diagbot/dto/KlRuleByIdSubDTO.java
  66. 67 0
      cdssman-service/src/main/java/com/diagbot/dto/KlRuleInfoDTO.java
  67. 48 0
      cdssman-service/src/main/java/com/diagbot/dto/KlScaleByIdDTO.java
  68. 89 0
      cdssman-service/src/main/java/com/diagbot/dto/KlSymptomDTO.java
  69. 27 0
      cdssman-service/src/main/java/com/diagbot/dto/KlTcmDiseaseDTO.java
  70. 23 0
      cdssman-service/src/main/java/com/diagbot/dto/KlTcmSyndromeDTO.java
  71. 40 0
      cdssman-service/src/main/java/com/diagbot/dto/KlVitalResultDTO.java
  72. 34 0
      cdssman-service/src/main/java/com/diagbot/dto/LexiconDTO.java
  73. 1 0
      cdssman-service/src/main/java/com/diagbot/dto/LisDetailDTO.java
  74. 19 0
      cdssman-service/src/main/java/com/diagbot/dto/MedClassMedDTO.java
  75. 19 0
      cdssman-service/src/main/java/com/diagbot/dto/NurseInfoDTO.java
  76. 1 0
      cdssman-service/src/main/java/com/diagbot/dto/OperationInfoDTO.java
  77. 27 0
      cdssman-service/src/main/java/com/diagbot/dto/RegulationIndexDTO.java
  78. 21 0
      cdssman-service/src/main/java/com/diagbot/dto/RelationDTO.java
  79. 52 0
      cdssman-service/src/main/java/com/diagbot/dto/RelationNameDTO.java
  80. 37 0
      cdssman-service/src/main/java/com/diagbot/dto/RelationNamesDTO.java
  81. 88 0
      cdssman-service/src/main/java/com/diagbot/dto/RelationNodeDTO.java
  82. 118 0
      cdssman-service/src/main/java/com/diagbot/dto/ResultRulePageDTO.java
  83. 17 0
      cdssman-service/src/main/java/com/diagbot/dto/RetrievalConceptDTO.java
  84. 53 19
      cdssman-service/src/main/java/com/diagbot/dto/RetrievalDTO.java
  85. 41 0
      cdssman-service/src/main/java/com/diagbot/dto/RuleDTO.java
  86. 20 0
      cdssman-service/src/main/java/com/diagbot/dto/ScaleInfoDTO.java
  87. 4 0
      cdssman-service/src/main/java/com/diagbot/dto/StaticKnowledgeIndexDTO.java
  88. 23 0
      cdssman-service/src/main/java/com/diagbot/dto/TcmdiseaseInfoDTO.java
  89. 23 0
      cdssman-service/src/main/java/com/diagbot/dto/TcmsyndromeInfoDTO.java
  90. 19 0
      cdssman-service/src/main/java/com/diagbot/dto/TermConceptDTO.java
  91. 19 0
      cdssman-service/src/main/java/com/diagbot/dto/TreeAllDTO.java
  92. 20 0
      cdssman-service/src/main/java/com/diagbot/dto/TreeDTO.java
  93. 47 0
      cdssman-service/src/main/java/com/diagbot/entity/AnesthesiaConfig.java
  94. 147 0
      cdssman-service/src/main/java/com/diagbot/entity/CaseInfo.java
  95. 20 0
      cdssman-service/src/main/java/com/diagbot/entity/CommonParam.java
  96. 34 109
      cdssman-service/src/main/java/com/diagbot/entity/DeptConfig.java
  97. 34 94
      cdssman-service/src/main/java/com/diagbot/entity/DiseaseConfig.java
  98. 18 140
      cdssman-service/src/main/java/com/diagbot/entity/DrugConfig.java
  99. 19 0
      cdssman-service/src/main/java/com/diagbot/entity/Ex.java
  100. 0 0
      cdssman-service/src/main/java/com/diagbot/entity/KlConcept.java

+ 602 - 0
cdssman-service/doc/001.20210125自动化测试初始化脚本/cdss_init.sql

@@ -0,0 +1,602 @@
+use `cdss`;
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:02:56
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_case_info
+-- ----------------------------
+DROP TABLE IF EXISTS `test_case_info`;
+CREATE TABLE `test_case_info`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `case_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '测试案例',
+  `case_group` int(4) NOT NULL COMMENT '测试组',
+  `case_no` int(4) NOT NULL COMMENT '测试编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of test_case_info
+-- ----------------------------
+INSERT INTO `test_case_info` VALUES (1, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '开单合理性提醒_通用规则', 1, 1);
+INSERT INTO `test_case_info` VALUES (2, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '开单类型提醒_输血规则', 1, 2);
+INSERT INTO `test_case_info` VALUES (3, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '危机值提醒_实验室检查规则', 1, 3);
+INSERT INTO `test_case_info` VALUES (4, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '危机值提醒_辅助检查规则', 1, 4);
+INSERT INTO `test_case_info` VALUES (5, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '高风险提醒_高危药品规则', 1, 5);
+INSERT INTO `test_case_info` VALUES (6, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '高风险提醒_高危手术规则', 1, 6);
+INSERT INTO `test_case_info` VALUES (7, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '其他提醒_化验规则', 1, 7);
+INSERT INTO `test_case_info` VALUES (8, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '其他提醒_辅检规则', 1, 8);
+INSERT INTO `test_case_info` VALUES (9, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '其他提醒_输血规则', 1, 9);
+INSERT INTO `test_case_info` VALUES (10, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断', 2, 1);
+INSERT INTO `test_case_info` VALUES (11, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '检验', 2, 2);
+INSERT INTO `test_case_info` VALUES (12, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '检查', 2, 3);
+INSERT INTO `test_case_info` VALUES (13, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '药品', 2, 4);
+INSERT INTO `test_case_info` VALUES (14, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '手术/操作', 2, 5);
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:04:11
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_result_bill
+-- ----------------------------
+DROP TABLE IF EXISTS `test_result_bill`;
+CREATE TABLE `test_result_bill`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `result_id` bigint(20) NOT NULL COMMENT '测试结果id',
+  `bill_type` int(4) NOT NULL COMMENT '开单类型(1:通用,2:输血)',
+  `bill_item_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '开单项类型',
+  `bill_item_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开单项名称',
+  `bill_item_his_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开单项名称(医院端)',
+  `bill_item_his_detail_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开单项名称-细项(医院端)',
+  `conflict_item_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '禁忌项类型',
+  `conflict_item_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '禁忌项名称',
+  `conflict_item_his_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '禁忌项名称(医院端)',
+  `conflict_item_his_detail_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '禁忌项名称-细项(医院端)',
+  `conflict_item_range` int(4) NULL DEFAULT NULL COMMENT '范围(0:范围内,1:范围外)',
+  `input_value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '输入值(文本/数值)',
+  `reference_value` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参考值',
+  `max_value` decimal(10, 4) NULL DEFAULT NULL COMMENT '参考值(最大值)',
+  `min_value` decimal(10, 4) NULL DEFAULT NULL COMMENT '参考值(最小值)',
+  `unit` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '单位',
+  `output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '输出结果(提醒文本)',
+  `expected_output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '期望输出结果(提醒文本)',
+  `success` int(4) NULL DEFAULT NULL COMMENT '成功标志(1:成功,0:失败)',
+  `message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息(异常提醒)',
+  `input_params` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模拟入参',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:04:19
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_result_critical
+-- ----------------------------
+DROP TABLE IF EXISTS `test_result_critical`;
+CREATE TABLE `test_result_critical`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `result_id` bigint(20) NOT NULL COMMENT '测试结果id',
+  `critical_type` int(4) NULL DEFAULT NULL COMMENT '危机值开单项类型(1:实验室检查、2:辅助检查)',
+  `critical_item_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '开单项类型',
+  `critical_item_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开单项名称',
+  `critical_item_his_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开单项名称(医院端)',
+  `critical_item_his_detail_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开单项名称-细项(医院端)',
+  `input_value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '输入值(文本/数值)',
+  `reference_value` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参考值',
+  `critical_item_range` int(4) NULL DEFAULT NULL COMMENT '范围(0:范围内,1:范围外)',
+  `min_value` decimal(10, 4) NULL DEFAULT NULL COMMENT '参考值(最小值)',
+  `max_value` decimal(10, 4) NULL DEFAULT NULL COMMENT '参考值(最大值)',
+  `unit` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '单位',
+  `min_age` int(4) NULL DEFAULT NULL COMMENT '年龄最小值',
+  `max_age` int(4) NULL DEFAULT NULL COMMENT '年龄最大值',
+  `output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '输出结果(提醒文本)',
+  `expected_output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '期望输出结果(提醒文本)',
+  `success` int(4) NULL DEFAULT NULL COMMENT '成功标志(1:成功,0:失败)',
+  `message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息(异常提醒)',
+  `input_params` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模拟入参',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:04:28
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_result_highrisk_drug
+-- ----------------------------
+DROP TABLE IF EXISTS `test_result_highrisk_drug`;
+CREATE TABLE `test_result_highrisk_drug`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `result_id` bigint(20) NOT NULL COMMENT '测试结果id',
+  `highrisk_item_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `highrisk_item_reg_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `highrisk_item_his_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `highrisk_item_form` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `highrisk_level` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '药品高危级别(A级高危、B级高危、C级高危)',
+  `output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '输出结果(提醒文本)',
+  `expected_output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '期望输出结果(提醒文本)',
+  `success` int(4) NULL DEFAULT NULL COMMENT '成功标志(1:成功,0:失败)',
+  `message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息(异常提醒)',
+  `input_params` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模拟入参',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:04:36
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_result_highrisk_operation
+-- ----------------------------
+DROP TABLE IF EXISTS `test_result_highrisk_operation`;
+CREATE TABLE `test_result_highrisk_operation`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `result_id` bigint(20) NOT NULL COMMENT '测试结果id',
+  `highrisk_item_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标准名称',
+  `highrisk_item_his_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '医院端名称',
+  `level` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手术级别(1、2、3、4、5)',
+  `factor_item_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '高危条件名称',
+  `factor_item_his_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '高危条件医院端名称',
+  `factor_item_his_detail_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '高危条件医院端名称-细项',
+  `factor_item_type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '高危条件类型',
+  `factor_item_range` int(4) NULL DEFAULT NULL COMMENT '高危条件范围',
+  `factor_item_min_value` decimal(10, 4) NULL DEFAULT NULL COMMENT '高危条件最小值',
+  `factor_item_max_value` decimal(10, 4) NULL DEFAULT NULL COMMENT '高危条件最大值',
+  `input_value` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '输入值',
+  `factor_item_unit` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '高危条件单位',
+  `factor_item_exact_match` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否模糊匹配',
+  `factor_item_cond` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '高危条件',
+  `output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '输出结果(提醒文本)',
+  `expected_output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '期望输出结果(提醒文本)',
+  `success` int(4) NULL DEFAULT NULL COMMENT '成功标志(1:成功,0:失败)',
+  `message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息(异常提醒)',
+  `input_params` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模拟入参',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:04:45
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_result_info
+-- ----------------------------
+DROP TABLE IF EXISTS `test_result_info`;
+CREATE TABLE `test_result_info`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `hospital_id` bigint(20) NOT NULL COMMENT '医院id',
+  `case_id` bigint(20) NOT NULL COMMENT '测试案例id',
+  `rule_num` int(7) NULL DEFAULT NULL COMMENT '规则条数',
+  `rule_success_num` int(7) NULL DEFAULT NULL COMMENT '规则执行成功条数',
+  `rule_failed_num` int(7) NULL DEFAULT NULL COMMENT '规则执行失败条数',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:05:44
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_result_static_info
+-- ----------------------------
+DROP TABLE IF EXISTS `test_result_static_info`;
+CREATE TABLE `test_result_static_info`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `hospital_id` bigint(20) NOT NULL COMMENT '医院id',
+  `case_id` bigint(20) NOT NULL COMMENT '测试案例id',
+  `totle_num` int(7) NOT NULL COMMENT '映射关系总数',
+  `un_mapping_num` int(7) NOT NULL COMMENT '术语未匹配条数',
+  `without_knowledge_num` int(7) NOT NULL COMMENT '缺少静态知识条数',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:05:54
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_result_static_knowledge
+-- ----------------------------
+DROP TABLE IF EXISTS `test_result_static_knowledge`;
+CREATE TABLE `test_result_static_knowledge`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `result_id` bigint(20) NOT NULL COMMENT '测试结果id',
+  `type` int(4) NULL DEFAULT NULL COMMENT '术语类型(1:诊断、2:检验、3:检查、4:药品、5:手术/操作)',
+  `label` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '术语标签',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标准术语名称',
+  `his_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '医院术语',
+  `his_detail_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '医院术语-细项',
+  `has_stand_name` int(2) NULL DEFAULT NULL COMMENT '是否有标准词(0:无,1:有)',
+  `has_static_knowledge` int(2) NULL DEFAULT NULL COMMENT '是否有静态知识(0:无,1:有)',
+  `message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息(异常提醒)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:06:06
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_running_info
+-- ----------------------------
+DROP TABLE IF EXISTS `test_running_info`;
+CREATE TABLE `test_running_info`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `case_id` bigint(20) NULL DEFAULT NULL COMMENT '测试用例id',
+  `hospital_id` bigint(20) NULL DEFAULT NULL COMMENT '医院id',
+  `status` int(4) NULL DEFAULT NULL COMMENT '状态(1:运行中,0:空闲)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:04:57
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_result_other_lis
+-- ----------------------------
+DROP TABLE IF EXISTS `test_result_other_lis`;
+CREATE TABLE `test_result_other_lis`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `result_id` bigint(20) NOT NULL COMMENT '测试结果id',
+  `other_item_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '其他开单项类型',
+  `other_item_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其他开单项名称',
+  `other_item_his_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其他开单项名称(医院端)',
+  `other_item_his_detail_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其他开单项名称-细项(医院端)',
+  `other_item_range` int(4) NULL DEFAULT NULL COMMENT '范围(0:范围内,1:范围外)',
+  `remind_item_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提醒项类型',
+  `remind_item_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提醒项名称',
+  `remind_item_his_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提醒项名称(医院端)',
+  `remind_item_his_detail_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提醒项名称-细项(医院端)',
+  `input_value` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '输入值',
+  `reference_value` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参考值',
+  `max_value` decimal(10, 4) NULL DEFAULT NULL COMMENT '参考值(最大值)',
+  `min_value` decimal(10, 4) NULL DEFAULT NULL COMMENT '参考值(最小值)',
+  `unit` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '单位',
+  `output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '输出结果(提醒文本)',
+  `expected_output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '期望输出结果(提醒文本)',
+  `success` int(4) NULL DEFAULT NULL COMMENT '成功标志(1:成功,0:失败)',
+  `message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息(异常提醒)',
+  `input_params` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模拟入参',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:05:11
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_result_other_pacs
+-- ----------------------------
+DROP TABLE IF EXISTS `test_result_other_pacs`;
+CREATE TABLE `test_result_other_pacs`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `result_id` bigint(20) NOT NULL COMMENT '测试结果id',
+  `pacs_describe` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '辅检描述',
+  `pacs_result` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '辅检结果',
+  `remind_item_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提醒项类型',
+  `remind_item_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提醒项名称',
+  `remind_item_his_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提醒项名称(医院端)',
+  `remind_item_his_detail_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提醒项名称-细项(医院端)',
+  `reference_value` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参考值',
+  `max_age` decimal(10, 4) NULL DEFAULT NULL COMMENT '参考值(最大值)',
+  `min_age` decimal(10, 4) NULL DEFAULT NULL COMMENT '参考值(最小值)',
+  `age_range` int(4) NULL DEFAULT NULL COMMENT '年龄范围(0:范围内,1:范围外)',
+  `input_age` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '输入值',
+  `gender` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别',
+  `postoken` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '检查结论有',
+  `negtoken` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '检查结论无',
+  `output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '输出结果(提醒文本)',
+  `expected_output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '期望输出结果(提醒文本)',
+  `success` int(4) NULL DEFAULT NULL COMMENT '成功标志(1:成功,0:失败)',
+  `message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息(异常提醒)',
+  `input_params` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模拟入参',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:05:21
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_result_other_transfusion
+-- ----------------------------
+DROP TABLE IF EXISTS `test_result_other_transfusion`;
+CREATE TABLE `test_result_other_transfusion`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `result_id` bigint(20) NOT NULL COMMENT '测试结果id',
+  `other_item_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其他开单项名称',
+  `other_item_his_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其他开单项名称(医院端)',
+  `other_item_his_detail_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其他开单项名称-细项(医院端)',
+  `other_item_range` int(4) NULL DEFAULT NULL COMMENT '范围(0:范围内,1:范围外)',
+  `other_item_max_value` decimal(10, 4) NULL DEFAULT NULL COMMENT '参考值(最大值)',
+  `other_item_min_value` decimal(10, 4) NULL DEFAULT NULL COMMENT '参考值(最小值)',
+  `other_item_unit` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '单位',
+  `other_item_input_value` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '输入值',
+  `transfusion_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '输注类型',
+  `transfusion_type_his_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '输注类型(医院端)',
+  `conflict_item_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '禁忌项类型',
+  `conflict_item_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '禁忌项名称',
+  `conflict_item_his_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '禁忌项名称(医院端)',
+  `conflict_item_his_detail_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '禁忌项名称-细项(医院端)',
+  `reference_value` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参考值',
+  `output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '输出结果(提醒文本)',
+  `expected_output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '期望输出结果(提醒文本)',
+  `success` int(4) NULL DEFAULT NULL COMMENT '成功标志(1:成功,0:失败)',
+  `message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息(异常提醒)',
+  `input_params` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '模拟入参',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+

+ 332 - 0
cdssman-service/doc/001.20210125自动化测试初始化脚本/user_init.sql

@@ -0,0 +1,332 @@
+use `sys-user`;
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : sys-user
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:23:17
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for sys_menu
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_menu`;
+CREATE TABLE `sys_menu`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '菜单名称',
+  `parent_id` bigint(20) NOT NULL DEFAULT -1 COMMENT '-1:表示顶级,其他值表示上级菜单的id',
+  `code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '编码,与前端对应',
+  `order_no` int(11) NOT NULL DEFAULT 0 COMMENT '排序,从小到大',
+  `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '备注',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 93 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统菜单' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_menu
+-- ----------------------------
+INSERT INTO `sys_menu` VALUES (1, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '控制台', -1, 'YH-KZT', 1, '用户-控制台');
+INSERT INTO `sys_menu` VALUES (2, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '更多服务', -1, 'YH-GDFW', 2, '用户-更多服务');
+INSERT INTO `sys_menu` VALUES (3, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '机构中心', -1, 'YH-JGZX', 3, '用户-机构中心');
+INSERT INTO `sys_menu` VALUES (4, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '账号信息', 3, 'YH-JGZX-ZHXX', 1, '用户-机构中心-账号信息');
+INSERT INTO `sys_menu` VALUES (5, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '已开通产品', 3, 'YH-JGZX-YKTCP', 2, '用户-机构中心-已开通产品');
+INSERT INTO `sys_menu` VALUES (6, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '安全设置', 3, 'YH-JGZX-AQSZ', 5, '用户-机构中心-安全设置');
+INSERT INTO `sys_menu` VALUES (9, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '管理服务端', 3, 'YH-JGZX-GLFFD', 3, '用户-机构中心-管理服务端');
+INSERT INTO `sys_menu` VALUES (10, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '客户中心', -1, 'LT-KHZX', 2, '朗通-客户中心');
+INSERT INTO `sys_menu` VALUES (11, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '机构信息', 10, 'LT-KHZX-JGXX', 2, '朗通-客户中心-机构信息');
+INSERT INTO `sys_menu` VALUES (12, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '控制台', -1, 'LT-KZT', 1, '朗通-控制台');
+INSERT INTO `sys_menu` VALUES (14, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '已生成令牌', 3, 'YH-JGZX-YSCLP', 4, '用户-机构中心-已生成令牌');
+INSERT INTO `sys_menu` VALUES (15, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '注册用户', 10, 'LT-KHZX-ZCYH', 1, '朗通-客户中心-注册用户');
+INSERT INTO `sys_menu` VALUES (16, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '审核超管信息', 10, 'LT-KHZX-CGXX', 3, '朗通-客户中心-超管信息');
+INSERT INTO `sys_menu` VALUES (17, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '订单系统', -1, 'LT-DDXT', 3, '朗通-订单系统');
+INSERT INTO `sys_menu` VALUES (18, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '产品申请列表', 17, 'LT-DDXT-CPXSQLB', 1, '朗通-订单系统-产品申请列表');
+INSERT INTO `sys_menu` VALUES (19, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '产品线管理', -1, 'LT-CPXGL', 4, '朗通-产品线管理');
+INSERT INTO `sys_menu` VALUES (20, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '个人中心', -1, 'LT-GRZX', 99, '朗通-个人中心');
+INSERT INTO `sys_menu` VALUES (21, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '已认证超管信息', 10, 'LT-YRZCGXX', 0, '朗通-客户中心-已认证超管信息');
+INSERT INTO `sys_menu` VALUES (22, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '产品续费列表', 17, 'LT-CPXFLB', 2, '朗通-订单系统-产品续费列表');
+INSERT INTO `sys_menu` VALUES (23, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护', -1, 'LT-YXSJWH', 5, '朗通-ICSS数据维护');
+INSERT INTO `sys_menu` VALUES (24, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '标签组维护', 23, 'LT-YXSJWH-BQZWH', 10, '朗通-ICSS数据维护-标签组维护');
+INSERT INTO `sys_menu` VALUES (25, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '独立类型标签维护', 23, 'LT-YXSJWH-DLLXBQWH', 20, '朗通-ICSS数据维护-独立类型标签维护');
+INSERT INTO `sys_menu` VALUES (27, 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '别名维护', 23, 'LT-YXSJWH-BMWH', 25, '朗通-ICSS数据维护-别名维护');
+INSERT INTO `sys_menu` VALUES (28, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '模版维护', 23, 'LT-YXSJWH-MBWH', 30, '朗通-ICSS数据维护-模版维护');
+INSERT INTO `sys_menu` VALUES (30, 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'icss科室维护', 23, 'LT-YXSJWH-KSWH', 40, '朗通-ICSS数据维护-icss科室维护');
+INSERT INTO `sys_menu` VALUES (31, 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '常见选项维护', 23, 'LT-YXSJWH-CJXXWH', 45, '朗通-ICSS数据维护-常见选项维护');
+INSERT INTO `sys_menu` VALUES (33, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '免责声明维护', 38, 'LT-YXSJKWH-MZSMWH', 90, '朗通-医学术语库维护-免责声明维护');
+INSERT INTO `sys_menu` VALUES (34, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '版本信息维护', 60, 'LT-GBBXXWH-BBXXWH', 60, '朗通-各版本信息维护-版本信息维护');
+INSERT INTO `sys_menu` VALUES (35, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '查体模板维护', 23, 'LT-YXSJWH-CTMBWH', 40, '朗通-ICSS数据维护-查体模板维护');
+INSERT INTO `sys_menu` VALUES (37, 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '提示信息维护', 23, 'LT-YXSJWH-TSXXWH', 50, '朗通-ICSS数据维护-提示信息维护');
+INSERT INTO `sys_menu` VALUES (38, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护', -1, 'LT-YXSYKWH', 6, '朗通-医学术语库维护');
+INSERT INTO `sys_menu` VALUES (39, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语命名维护', 38, 'LT-YXSYKWH-YXSYMMWH', 10, '朗通-医学术语库维护-医学术语命名维护');
+INSERT INTO `sys_menu` VALUES (40, 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '术语医学属性维护', 38, 'LT-YXSYKWH-SYYXSXWH', 2, '朗通-医学术语库维护-术语医学属性维护');
+INSERT INTO `sys_menu` VALUES (41, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语关系维护', 38, 'LT-YXSYKWH-YXSYGXWH', 20, '朗通-医学术语库维护-医学术语关系维护');
+INSERT INTO `sys_menu` VALUES (42, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语静态知识维护', 38, 'LT-YXSYKWH-YXSYJTZSWH', 50, '朗通-医学术语库维护-医学术语静态知识维护');
+INSERT INTO `sys_menu` VALUES (43, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '化验大小项与公表项对应维护', 38, 'LT-YXSJWH-HYDXXYGBXDY', 85, '朗通-医学术语库维护-化验大小项与公表项对应维护');
+INSERT INTO `sys_menu` VALUES (44, 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '慢病管理与评估维护', 23, 'LT-YXSJWH-MBGLYPG', 75, '朗通-ICSS数据维护-慢病管理与评估维护');
+INSERT INTO `sys_menu` VALUES (45, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '慢病指标值关联维护', 38, 'LT-YXSYKWH-MBZBZGLWH', 70, '朗通-医学术语库维护-慢病指标值关联维护');
+INSERT INTO `sys_menu` VALUES (48, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '量表结构维护', 38, 'LT-YXSYKWH-LBJGWH', 60, '朗通-医学术语库维护-量表结构维护');
+INSERT INTO `sys_menu` VALUES (49, 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语类型维护', 38, 'LT-YXSYKWH-YXSYLXWH', 5, '朗通-医学术语库维护-医学术语类型维护');
+INSERT INTO `sys_menu` VALUES (50, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '化验子项维护', 38, 'LT-YXSYKWH-HYZXWH', 80, '朗通-医学术语库维护-化验子项维护');
+INSERT INTO `sys_menu` VALUES (51, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语关联维护', 38, 'LT-YXSYKWH-YXSYGLWH', 30, '朗通-医学术语库维护-医学术语关联维护');
+INSERT INTO `sys_menu` VALUES (52, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '分诊人体图数据维护', 38, 'LT-YXSYKWH-YXSYDCGLWH', 40, '朗通-医学术语库维护-医学术语多层关联维护');
+INSERT INTO `sys_menu` VALUES (53, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护', -1, 'LT-YWZSJWH', 8, '朗通-预问诊数据维护');
+INSERT INTO `sys_menu` VALUES (54, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '独立填写单维护', 53, 'LT-YWZSJWH-DLTXDWH', 1, '朗通-预问诊数据维护-独立填写单维护');
+INSERT INTO `sys_menu` VALUES (55, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '组合填写单维护', 53, 'LT-YWZSJWH-ZHTXDWH', 2, '朗通-预问诊数据维护-组合填写单维护');
+INSERT INTO `sys_menu` VALUES (56, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '模版维护', 53, 'LT-YWZSJWH-MBWH', 3, '朗通-预问诊数据维护-模版维护');
+INSERT INTO `sys_menu` VALUES (57, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护', -1, 'LT-ZDYJWH', 10, '朗通-诊断依据维护');
+INSERT INTO `sys_menu` VALUES (58, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据数据维护', 57, 'LT-ZDYJWH-ZDYJSJWH', 10, '朗通-诊断依据维护-诊断依据数据维护');
+INSERT INTO `sys_menu` VALUES (59, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '问题词数据维护', 57, 'LT-ZDYJWH-WTCSJWH', 20, '朗通-诊断依据维护-问题词数据维护');
+INSERT INTO `sys_menu` VALUES (60, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '各版本信息维护', -1, 'LT-GBBXXWH', 11, '朗通-各版本信息维护');
+INSERT INTO `sys_menu` VALUES (61, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '数据统计', -1, 'LT-SJTJ', 12, '朗通-数据统计');
+INSERT INTO `sys_menu` VALUES (62, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据统计', 61, 'LT-SJTJ-YXSJTJ', 1, '朗通-数据统计-医学数据统计');
+INSERT INTO `sys_menu` VALUES (63, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '辅检子项维护', 38, 'LT-YXSYKWH-FJZXWH', 86, '朗通-医学术语库维护-辅检子项维护');
+INSERT INTO `sys_menu` VALUES (64, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '辅检层级关联维护', 38, 'LT-YXSYKWH-FJCJGLWH', 87, '朗通-医学术语库维护-辅检层级关联维护');
+INSERT INTO `sys_menu` VALUES (65, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '安全管理', -1, 'LT-AQGL', 13, '朗通-安全管理');
+INSERT INTO `sys_menu` VALUES (66, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'license维护', 65, 'LT-AQGL-LICENSEWH', 1, '朗通-安全管理-license维护');
+INSERT INTO `sys_menu` VALUES (67, 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '病历管理', -1, 'LT-BLGL', 14, '朗通-病历管理');
+INSERT INTO `sys_menu` VALUES (68, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '规则维护', 38, 'LT-YXSYKWH-GZWH', 91, '朗通-医学术语库维护-规则维护');
+INSERT INTO `sys_menu` VALUES (69, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '规则应用维护', 38, 'LT-YXSYKWH-GZYYWH', 92, '朗通-医学术语库维护-规则应用维护');
+INSERT INTO `sys_menu` VALUES (70, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '病例入录', -1, 'LT-BLZK-BLRl', 15, '朗通-病例入录');
+INSERT INTO `sys_menu` VALUES (71, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '质控条目', 72, 'LT-ZKYMSJWH-ZKTM', 1, '朗通-质控页面数据维护-质控条目');
+INSERT INTO `sys_menu` VALUES (72, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '质控页面数据维护', -1, 'LT-ZKYMSJWH', 17, '朗通-质控页面数据维护');
+INSERT INTO `sys_menu` VALUES (73, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '字段映射维护', 72, 'LT-ZKYMSJWH-ZDYSWH', 5, '朗通-质控页面数据维护-字段映射维护');
+INSERT INTO `sys_menu` VALUES (74, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '组合字段维护', 72, 'LT-ZKYMSJWH-ZHDYWH', 10, '朗通-质控页面数据维护-组合字段维护');
+INSERT INTO `sys_menu` VALUES (75, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '模板维护', 72, 'LT-ZKYMSJWH-MBWH', 15, '朗通-质控页面数据维护-模板维护');
+INSERT INTO `sys_menu` VALUES (76, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '质控类型维护', 72, 'LT-ZKYMSJWH-ZKLXWH', 20, '朗通-质控页面数据维护-质控类型维护');
+INSERT INTO `sys_menu` VALUES (77, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '条目关联质控类型', 72, 'LT-ZKYMSJWH-TMGLZKLX', 25, '朗通-质控页面数据维护-条目关联质控类型');
+INSERT INTO `sys_menu` VALUES (78, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '标准病历', 72, 'LT-ZKYMSJWH-BZBL', 50, '朗通-质控页面数据维护-标准病历');
+INSERT INTO `sys_menu` VALUES (79, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '自动化测试统计', 72, 'LT-ZKYMSJWH-ZDHCSTJ', 55, '朗通-质控页面数据维护-自动化测试统计');
+INSERT INTO `sys_menu` VALUES (80, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '任务列表', 72, 'LT-ZKYMSJWH-RWLB', 56, '朗通-质控页面数据维护-任务列表');
+INSERT INTO `sys_menu` VALUES (81, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'CDSS数据维护', -1, 'LT-CDSSSJWH', 100, '朗通-CDSS数据维护');
+INSERT INTO `sys_menu` VALUES (82, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '静态术语知识维护', 81, 'LT-CDSSSJWH-JTSYZSWH', 10, '朗通-CDSS数据维护-静态术语知识维护');
+INSERT INTO `sys_menu` VALUES (83, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语关联维护', 81, 'LT-CDSSSJWH-YXSYGLWH', 20, '朗通-CDSS数据维护-医学术语关联维护');
+INSERT INTO `sys_menu` VALUES (84, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医院管理', 81, 'LT-CDSSSJWH-YYGL', 30, '朗通-CDSS数据维护-医院管理');
+INSERT INTO `sys_menu` VALUES (85, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医院用户管理', 81, 'LT-CDSSSJWH-YYYHGL', 40, '朗通-CDSS数据维护-医院用户管理');
+INSERT INTO `sys_menu` VALUES (86, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '电子病历方案配置', 81, 'LT-CDSSSJWH-DZBLFAPZ', 50, '朗通-CDSS数据维护-电子病历方案配置');
+INSERT INTO `sys_menu` VALUES (87, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '版本维护', 81, 'LT-CDSSSJWH-BBWH', 60, '朗通-CDSS数据维护-版本维护');
+INSERT INTO `sys_menu` VALUES (88, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '免责声明维护', 81, 'LT-CDSSSJWH-MZSMWH', 70, '朗通-CDSS数据维护-免责声明维护');
+INSERT INTO `sys_menu` VALUES (89, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '知识图谱标准术语维护', 81, 'LT-CDSSSJWH-ZSTPBZSYWH', 0, '朗通-CDSS数据维护-知识图谱标准术语维护');
+INSERT INTO `sys_menu` VALUES (90, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医院术语自动化测试', -1, 'LT-YYSYZDHCS', 101, '朗通-医院术语自动化测试');
+INSERT INTO `sys_menu` VALUES (91, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '知识图谱规则测试', 90, 'LT-YYSYZDHCS-ZSTPGZCS', 10, '朗通-医院术语自动化测试-知识图谱规则测试');
+INSERT INTO `sys_menu` VALUES (92, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '静态知识映射测试', 90, 'LT-YYSYZDHCS-JTZSYSCS', 20, '朗通-医院术语自动化测试-静态知识映射测试');
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : sys-user
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:23:28
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for sys_role
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_role`;
+CREATE TABLE `sys_role`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色ID',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '角色名称',
+  `roleLevel` int(11) NOT NULL DEFAULT 0 COMMENT '角色等级',
+  `descritpion` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '角色描述',
+  `menuItems` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '菜单ID:对应角色ID',
+  `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统角色表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_role
+-- ----------------------------
+INSERT INTO `sys_role` VALUES (1, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '普通用户', 0, '', '', '');
+INSERT INTO `sys_role` VALUES (2, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '管理员', 0, '', '', '');
+INSERT INTO `sys_role` VALUES (3, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护人员', 0, '', '', '');
+INSERT INTO `sys_role` VALUES (4, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护人员', 0, '', '', '');
+INSERT INTO `sys_role` VALUES (5, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护', 0, '', '', NULL);
+INSERT INTO `sys_role` VALUES (6, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护', 0, '', '', NULL);
+INSERT INTO `sys_role` VALUES (7, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '各版本信息维护人员', 0, '', '', NULL);
+INSERT INTO `sys_role` VALUES (8, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '注册用户查询', 0, '', '', NULL);
+INSERT INTO `sys_role` VALUES (9, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '数据统计', 0, '', '', NULL);
+INSERT INTO `sys_role` VALUES (10, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'license', 0, '', '', NULL);
+INSERT INTO `sys_role` VALUES (11, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '病历管理', 0, '', '', NULL);
+INSERT INTO `sys_role` VALUES (12, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '静态信息兼规则维护人员', 0, '', '', NULL);
+INSERT INTO `sys_role` VALUES (13, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '病例录入', 0, '', '', NULL);
+INSERT INTO `sys_role` VALUES (15, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '质控页面数据维护', 0, '', '', NULL);
+INSERT INTO `sys_role` VALUES (16, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'CDSS数据维护人员(2020新版)', 0, '', '', NULL);
+INSERT INTO `sys_role` VALUES (17, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医院术语自动化测试人员', 0, '', '', NULL);
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : sys-user
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/01/2021 10:24:29
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for sys_role_menu
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_role_menu`;
+CREATE TABLE `sys_role_menu`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `role_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '角色id',
+  `menu_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '菜单id',
+  `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 101 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单的映射表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_role_menu
+-- ----------------------------
+INSERT INTO `sys_role_menu` VALUES (1, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 1, 1, '用户-控制台');
+INSERT INTO `sys_role_menu` VALUES (2, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 1, 2, '用户-更多服务');
+INSERT INTO `sys_role_menu` VALUES (3, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 1, 3, '用户-机构中心');
+INSERT INTO `sys_role_menu` VALUES (4, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 1, 4, '用户-机构中心-账号信息');
+INSERT INTO `sys_role_menu` VALUES (5, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 1, 5, '用户-机构中心-已开通产品');
+INSERT INTO `sys_role_menu` VALUES (6, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 1, 6, '用户-机构中心-安全设置');
+INSERT INTO `sys_role_menu` VALUES (7, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 1, 9, '用户-机构中心-管理服务端');
+INSERT INTO `sys_role_menu` VALUES (8, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 1, 14, '用户-机构中心-已生成令牌');
+INSERT INTO `sys_role_menu` VALUES (9, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 2, 10, '朗通-客户中心');
+INSERT INTO `sys_role_menu` VALUES (10, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 2, 11, '朗通-客户中心-机构信息');
+INSERT INTO `sys_role_menu` VALUES (11, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 2, 12, '朗通-控制台');
+INSERT INTO `sys_role_menu` VALUES (12, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 2, 15, '朗通-客户中心-注册用户');
+INSERT INTO `sys_role_menu` VALUES (13, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 2, 16, '朗通-客户中心-审核超管信息');
+INSERT INTO `sys_role_menu` VALUES (14, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 2, 17, '朗通-订单系统');
+INSERT INTO `sys_role_menu` VALUES (15, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 2, 18, '朗通-订单系统-产品线申请列表');
+INSERT INTO `sys_role_menu` VALUES (16, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 2, 19, '朗通-产品线管理');
+INSERT INTO `sys_role_menu` VALUES (17, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 2, 20, '朗通-个人中心');
+INSERT INTO `sys_role_menu` VALUES (21, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 2, 21, '朗通-客户中心-已认证超管信息');
+INSERT INTO `sys_role_menu` VALUES (22, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 2, 22, '朗通-订单系统-产品续费列表');
+INSERT INTO `sys_role_menu` VALUES (23, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 3, 23, '朗通-ICSS数据维护');
+INSERT INTO `sys_role_menu` VALUES (24, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 3, 24, '朗通-ICSS数据维护-标签组维护');
+INSERT INTO `sys_role_menu` VALUES (25, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 3, 25, '朗通-ICSS数据维护-独立类型标签维护');
+INSERT INTO `sys_role_menu` VALUES (27, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 3, 27, '朗通-ICSS数据维护-别名维护');
+INSERT INTO `sys_role_menu` VALUES (28, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 3, 28, '朗通-ICSS数据维护-模版维护');
+INSERT INTO `sys_role_menu` VALUES (29, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 3, 29, '朗通-ICSS数据维护-查体模版维护');
+INSERT INTO `sys_role_menu` VALUES (30, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 3, 30, '朗通-ICSS数据维护-icss科室维护');
+INSERT INTO `sys_role_menu` VALUES (31, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 3, 31, '朗通-ICSS数据维护-常见选项维护');
+INSERT INTO `sys_role_menu` VALUES (32, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 3, 32, '朗通-ICSS数据维护-提示信息维护');
+INSERT INTO `sys_role_menu` VALUES (33, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 3, 33, '朗通-ICSS数据维护-免责声明维护');
+INSERT INTO `sys_role_menu` VALUES (34, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 7, 34, '朗通-各版本信息维护-版本信息维护');
+INSERT INTO `sys_role_menu` VALUES (35, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 3, 35, '朗通-ICSS数据维护-查体模板维护');
+INSERT INTO `sys_role_menu` VALUES (38, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 4, 38, '朗通-医学术语库维护');
+INSERT INTO `sys_role_menu` VALUES (39, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 4, 39, '朗通-医学术语库维护-医学术语命名维护');
+INSERT INTO `sys_role_menu` VALUES (40, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 4, 40, '朗通-医学术语库维护-术语医学属性维护');
+INSERT INTO `sys_role_menu` VALUES (41, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 4, 41, '朗通-医学术语库维护-医学术语关系维护');
+INSERT INTO `sys_role_menu` VALUES (42, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 4, 42, '朗通-医学术语库维护-医学术语静态知识维护');
+INSERT INTO `sys_role_menu` VALUES (43, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 4, 43, '朗通-医学术语库维护-化验大小项与公表项对应维护');
+INSERT INTO `sys_role_menu` VALUES (45, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 4, 44, '朗通-ICSS数据维护-慢病管理与评估维护');
+INSERT INTO `sys_role_menu` VALUES (46, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 4, 45, '朗通-ICSS数据维护-慢病指标值关联维护');
+INSERT INTO `sys_role_menu` VALUES (49, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 3, 48, '朗通-医学术语库维护-量表结构维护');
+INSERT INTO `sys_role_menu` VALUES (50, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 4, 49, '朗通-医学术语库维护-医学术语类型维护');
+INSERT INTO `sys_role_menu` VALUES (51, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 4, 51, '朗通-医学术语库维护-医学术语关联维护');
+INSERT INTO `sys_role_menu` VALUES (52, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 4, 52, '朗通-医学术语库维护-医学术语多层关联维护');
+INSERT INTO `sys_role_menu` VALUES (53, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 4, 50, '朗通-医学术语库维护-化验子项维护');
+INSERT INTO `sys_role_menu` VALUES (54, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 5, 53, '朗通-预问诊数据维护');
+INSERT INTO `sys_role_menu` VALUES (55, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 5, 54, '朗通-预问诊数据维护-独立填写单维护');
+INSERT INTO `sys_role_menu` VALUES (56, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 5, 55, '朗通-预问诊数据维护-组合填写单维护');
+INSERT INTO `sys_role_menu` VALUES (57, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 5, 56, '朗通-预问诊数据维护-模版维护');
+INSERT INTO `sys_role_menu` VALUES (58, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 6, 57, '朗通-诊断依据维护');
+INSERT INTO `sys_role_menu` VALUES (59, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 6, 58, '朗通-诊断依据维护-诊断依据数据维护');
+INSERT INTO `sys_role_menu` VALUES (60, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 6, 59, '朗通-诊断依据维护-问题词数据维护');
+INSERT INTO `sys_role_menu` VALUES (61, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 7, 60, '朗通-各版本信息维护-版本信息维护');
+INSERT INTO `sys_role_menu` VALUES (62, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, 10, '朗通-客户中心');
+INSERT INTO `sys_role_menu` VALUES (63, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, 15, '朗通-客户中心-注册用户');
+INSERT INTO `sys_role_menu` VALUES (64, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 9, 61, '朗通-数据统计');
+INSERT INTO `sys_role_menu` VALUES (65, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 9, 62, '朗通-数据统计-医学数据统计');
+INSERT INTO `sys_role_menu` VALUES (66, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 4, 63, '朗通-医学术语库维护-辅检子项维护');
+INSERT INTO `sys_role_menu` VALUES (67, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 4, 64, '朗通-医学术语库维护-辅检层级关联维护');
+INSERT INTO `sys_role_menu` VALUES (68, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 10, 65, '朗通-安全管理');
+INSERT INTO `sys_role_menu` VALUES (69, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 10, 66, '朗通-安全管理-license维护');
+INSERT INTO `sys_role_menu` VALUES (70, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 11, 67, '朗通-病历管理');
+INSERT INTO `sys_role_menu` VALUES (71, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, 42, '朗通-医学术语库维护-医学术语静态知识维护');
+INSERT INTO `sys_role_menu` VALUES (72, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, 68, '朗通-医学术语库维护-规则维护');
+INSERT INTO `sys_role_menu` VALUES (73, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, 69, '朗通-医学术语库维护-规则应用维护');
+INSERT INTO `sys_role_menu` VALUES (74, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, 38, '朗通-医学术语库维护');
+INSERT INTO `sys_role_menu` VALUES (77, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 13, 70, '朗通-病历入录');
+INSERT INTO `sys_role_menu` VALUES (79, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 15, 71, '朗通-质控页面数据维护-质控条目');
+INSERT INTO `sys_role_menu` VALUES (80, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 15, 72, '朗通-质控页面数据维护');
+INSERT INTO `sys_role_menu` VALUES (81, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 15, 73, '朗通-质控页面数据维护-字段映射维护');
+INSERT INTO `sys_role_menu` VALUES (82, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 15, 74, '朗通-质控页面数据维护-组合字段维护');
+INSERT INTO `sys_role_menu` VALUES (83, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 15, 75, '朗通-质控页面数据维护-模板维护');
+INSERT INTO `sys_role_menu` VALUES (84, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 15, 76, '朗通-质控页面数据维护-质控类型维护');
+INSERT INTO `sys_role_menu` VALUES (85, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 15, 77, '朗通-质控页面数据维护-条目关联质控类型');
+INSERT INTO `sys_role_menu` VALUES (86, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 15, 78, '朗通-质控页面数据维护-标准病历');
+INSERT INTO `sys_role_menu` VALUES (87, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 15, 79, '朗通-质控页面数据维护-自动化测试统计');
+INSERT INTO `sys_role_menu` VALUES (88, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 15, 80, '朗通-质控页面数据维护-任务列表');
+INSERT INTO `sys_role_menu` VALUES (89, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 16, 81, '朗通-CDSS数据维护');
+INSERT INTO `sys_role_menu` VALUES (90, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 16, 82, '朗通-CDSS数据维护-静态术语知识维护');
+INSERT INTO `sys_role_menu` VALUES (91, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 16, 83, '朗通-CDSS数据维护-医学术语关联维护');
+INSERT INTO `sys_role_menu` VALUES (92, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 16, 84, '朗通-CDSS数据维护-医院管理');
+INSERT INTO `sys_role_menu` VALUES (93, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 16, 85, '朗通-CDSS数据维护-医院用户管理');
+INSERT INTO `sys_role_menu` VALUES (94, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 16, 86, '朗通-CDSS数据维护-电子病历方案配置');
+INSERT INTO `sys_role_menu` VALUES (95, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 16, 87, '朗通-CDSS数据维护-版本维护');
+INSERT INTO `sys_role_menu` VALUES (96, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 16, 88, '朗通-CDSS数据维护-免责声明维护');
+INSERT INTO `sys_role_menu` VALUES (97, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 16, 89, '朗通-CDSS数据维护-知识图谱标准术语维护');
+INSERT INTO `sys_role_menu` VALUES (98, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 17, 90, '朗通-医院术语自动化测试');
+INSERT INTO `sys_role_menu` VALUES (99, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 17, 91, '朗通-医院术语自动化测试-知识图谱规则测试');
+INSERT INTO `sys_role_menu` VALUES (100, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 17, 92, '朗通-医院术语自动化测试-静态知识映射测试');
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+
+INSERT INTO `sys_user_role`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `user_id`, `role_id`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 1, 17, '');
+INSERT INTO `sys_user_role`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `user_id`, `role_id`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 300, 17, '');
+INSERT INTO `sys_user_role`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `user_id`, `role_id`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 301, 17, '');
+INSERT INTO `sys_user_role`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `user_id`, `role_id`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 302, 17, '');
+INSERT INTO `sys_user_role`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `user_id`, `role_id`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 303, 17, '');
+INSERT INTO `sys_user_role`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `user_id`, `role_id`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 304, 17, '');
+INSERT INTO `sys_user_role`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `user_id`, `role_id`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 305, 17, '');
+INSERT INTO `sys_user_role`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `user_id`, `role_id`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 306, 17, '');
+INSERT INTO `sys_user_role`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `user_id`, `role_id`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 307, 17, '');
+INSERT INTO `sys_user_role`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `user_id`, `role_id`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 308, 17, '');

+ 181 - 0
cdssman-service/doc/002.20210325自动化测试脚本/cdss_init.sql

@@ -0,0 +1,181 @@
+use `cdss`;
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/03/2021 09:51:07
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_case_info
+-- ----------------------------
+DROP TABLE IF EXISTS `test_case_info`;
+CREATE TABLE `test_case_info`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `case_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '测试案例',
+  `case_group` int(4) NOT NULL COMMENT '测试组',
+  `case_no` int(4) NOT NULL COMMENT '测试编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of test_case_info
+-- ----------------------------
+INSERT INTO `test_case_info` VALUES (1, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '开单合理性提醒_通用规则', 1, 1);
+INSERT INTO `test_case_info` VALUES (2, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '开单合理性提醒_输血规则', 1, 2);
+INSERT INTO `test_case_info` VALUES (3, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '危急值提醒_实验室检查规则', 1, 3);
+INSERT INTO `test_case_info` VALUES (4, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '危急值提醒_辅助检查规则', 1, 4);
+INSERT INTO `test_case_info` VALUES (5, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '高风险提醒_高危药品规则', 1, 5);
+INSERT INTO `test_case_info` VALUES (6, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '高风险提醒_高危手术规则', 1, 6);
+INSERT INTO `test_case_info` VALUES (7, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '其他提醒_化验规则', 1, 7);
+INSERT INTO `test_case_info` VALUES (8, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '其他提醒_辅检规则', 1, 8);
+INSERT INTO `test_case_info` VALUES (9, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '其他提醒_输血规则', 1, 9);
+INSERT INTO `test_case_info` VALUES (10, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断', 2, 1);
+INSERT INTO `test_case_info` VALUES (11, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '检验', 2, 2);
+INSERT INTO `test_case_info` VALUES (12, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '检查', 2, 3);
+INSERT INTO `test_case_info` VALUES (13, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '药品', 2, 4);
+INSERT INTO `test_case_info` VALUES (14, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '手术/操作', 2, 5);
+INSERT INTO `test_case_info` VALUES (15, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '正常项目重复开立规则', 1, 10);
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/03/2021 09:52:13
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_result_info
+-- ----------------------------
+DROP TABLE IF EXISTS `test_result_info`;
+CREATE TABLE `test_result_info`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `hospital_id` bigint(20) NOT NULL COMMENT '医院id',
+  `case_id` bigint(20) NOT NULL COMMENT '测试案例id',
+  `rule_num` int(7) NULL DEFAULT NULL COMMENT '规则条数',
+  `rule_success_num` int(7) NULL DEFAULT NULL COMMENT '规则执行成功条数',
+  `rule_failed_num` int(7) NULL DEFAULT NULL COMMENT '规则执行失败条数',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50731
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50731
+ File Encoding         : 65001
+
+ Date: 25/03/2021 09:52:55
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for test_result_rule
+-- ----------------------------
+DROP TABLE IF EXISTS `test_result_rule`;
+CREATE TABLE `test_result_rule`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `result_id` bigint(20) NOT NULL COMMENT '测试结果id',
+  `rule_order_no` bigint(20) NULL DEFAULT NULL COMMENT '规则序号',
+  `rule_type` int(4) NOT NULL COMMENT '规则类型(1:开单合理性;2:高危;3:危急值;4:其他值提醒;5:其他值提醒输血;6:正常项目重复开立)',
+  `rule_id` bigint(20) NULL DEFAULT NULL COMMENT '规则id',
+  `rule_lib_type` int(4) NULL DEFAULT NULL COMMENT '规则术语类型编码',
+  `rule_lib_type_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '规则术语类型',
+  `rule_lib_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则医学标准术语',
+  `rule_his_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则医院术语',
+  `rule_his_detail_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则医院术语细项',
+  `has_sub_cond` int(1) NOT NULL DEFAULT 0 COMMENT '是否有子条件(0:无,1:有)',
+  `rule_base_id` bigint(20) NULL DEFAULT NULL COMMENT '基础规则id',
+  `group_type` int(4) NULL DEFAULT NULL COMMENT '规则组别',
+  `rule_base_type` int(4) NULL DEFAULT NULL COMMENT '基础规则类型(1:开单外等于术语本身;2:开单外存在比较;3:开单外不等于术语本身;4:过敏原;5:开单项;6:检查结果正则表达式)',
+  `rule_base_lib_type` int(4) NULL DEFAULT NULL COMMENT '基础规则术语类型(编码)',
+  `rule_base_lib_type_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '基础规则术语类型',
+  `rule_base_lib_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '基础规则医学标准术语',
+  `rule_base_his_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '基础规则医院术语',
+  `rule_base_his_detail_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '基础规则医院术语细则',
+  `rule_base_max_value` decimal(10, 4) NULL DEFAULT NULL COMMENT '基础规则参考值(最大值)',
+  `rule_base_min_value` decimal(10, 4) NULL DEFAULT NULL COMMENT '基础规则参考值(最小值)',
+  `rule_base_unit` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '基础规则单位',
+  `rule_base_input_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '基础规则输入值',
+  `reference_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '基础规则参考值',
+  `output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '实际输出结果(提醒文本)',
+  `expected_output` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '期望输出结果(提醒文本)',
+  `success` int(4) NULL DEFAULT NULL COMMENT '成功标志(1:成功,0:失败)',
+  `message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息(异常提醒)',
+  `input_params` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模拟入参',
+  `output_params` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模拟出参',
+  `rule_msg` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '附加信息',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+
+
+-- 删除表
+DROP TABLE IF EXISTS `test_result_bill`;
+DROP TABLE IF EXISTS `test_result_critical`;
+DROP TABLE IF EXISTS `test_result_highrisk_drug`;
+DROP TABLE IF EXISTS `test_result_highrisk_operation`;
+DROP TABLE IF EXISTS `test_result_other_lis`;
+DROP TABLE IF EXISTS `test_result_other_pacs`;
+DROP TABLE IF EXISTS `test_result_other_transfusion`;
+
+
+use `sys-user`;
+
+UPDATE `sys-user`.`sys_menu` SET `id`='91', `is_deleted`='N', `gmt_create`='1970-01-01 12:00:00', `gmt_modified`='1970-01-01 12:00:00', `creator`='0', `modifier`='0', `name`='规则测试', `parent_id`='90', `code`='LT-YYSYZDHCS-ZSTPGZCS', `order_no`='10', `remark`='朗通-医院术语自动化测试-规则测试' WHERE (`id`='91');
+

+ 33 - 9
cdssman-service/pom.xml

@@ -90,11 +90,11 @@
             <artifactId>springfox-swagger-ui</artifactId>
         </dependency>
         <!--database-->
-        <dependency>
+        <!--<dependency>
             <groupId>org.neo4j</groupId>
             <artifactId>neo4j-jdbc-driver</artifactId>
             <version>3.4.0</version>
-        </dependency>
+        </dependency>-->
         <!--security-->
         <dependency>
             <groupId>org.springframework.cloud</groupId>
@@ -163,11 +163,11 @@
         </dependency>
         <!-- mybatis-plus end -->
 
-        <!--&lt;!&ndash; 阿里巴巴druid数据库连接池 &ndash;&gt;-->
-        <!--<dependency>-->
-            <!--<groupId>com.alibaba</groupId>-->
-            <!--<artifactId>druid-spring-boot-starter</artifactId>-->
-        <!--</dependency>-->
+        <!-- 阿里巴巴druid数据库连接池 -->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid-spring-boot-starter</artifactId>
+        </dependency>
 
         <!-- springboot整合mybatis(核心就这一个) -->
         <!-- 注意顺序,这个一定要放在最下面 -->
@@ -181,7 +181,7 @@
         <dependency>
             <groupId>com.baomidou</groupId>
             <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
-            <version>3.0.0</version>
+            <version>3.3.1</version>
         </dependency>
 
         <!--mysql-database-->
@@ -191,6 +191,23 @@
             <scope>runtime</scope>
         </dependency>
 
+        <!--<dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-neo4j</artifactId>
+        </dependency>-->
+
+        <!--<dependency>-->
+        <!--<groupId>org.neo4j</groupId>-->
+        <!--<artifactId>neo4j-ogm-core</artifactId>-->
+        <!--<version>3.2.2</version>-->
+        <!--<scope>compile</scope>-->
+        <!--</dependency>-->
+
+        <!--<dependency>
+            <groupId>org.neo4j</groupId>
+            <artifactId>neo4j-ogm-http-driver</artifactId>
+        </dependency>-->
+
         <!-- 文件上传相关架包 -->
         <dependency>
             <groupId>commons-fileupload</groupId>
@@ -214,6 +231,13 @@
             <artifactId>easypoi-spring-boot-starter</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>io.github.lvyahui8</groupId>
+            <artifactId>spring-boot-data-aggregator-starter</artifactId>
+            <version>${aggregator.version}</version>
+        </dependency>
+
+
     </dependencies>
 
     <build>
@@ -231,7 +255,7 @@
                     <forceTags>true</forceTags>
                     <!--镜像的FROM,使用压缩的小镜像-->
                     <baseImage>frolvlad/alpine-oraclejre8:slim</baseImage>
-                    <entryPoint>["java", "-jar", "-Xms256m", "-Xmx1024m", "-Duser.timezone=GMT+8", "/${project.build.finalName}.jar"]</entryPoint>
+                    <entryPoint>["java", "-jar", "-Xms256m", "-Xmx2048m", "-Duser.timezone=GMT+8", "/${project.build.finalName}.jar"]</entryPoint>
                     <resources>
                         <resource>
                             <targetPath>/</targetPath>

+ 2 - 1
cdssman-service/src/main/java/com/diagbot/CdssmanServiceApplication.java

@@ -1,5 +1,6 @@
 package com.diagbot;
 
+import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -21,7 +22,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
  * @time: 2018/8/7 9:26
  */
 @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
-        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class })
+        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class, DruidDataSourceAutoConfigure.class })
 @EnableEurekaClient
 @EnableFeignClients({ "com.diagbot.client" })
 @EnableHystrixDashboard

+ 209 - 0
cdssman-service/src/main/java/com/diagbot/aggregate/CallIndicationAggregate.java

@@ -0,0 +1,209 @@
+package com.diagbot.aggregate;
+
+import com.diagbot.client.CdssCoreClient;
+import com.diagbot.dto.BillMsg;
+import com.diagbot.dto.IndicationDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.ResultRule;
+import com.diagbot.facade.MedSearchDataFacade;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.FastJsonUtils;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.RespDTOUtil;
+import com.diagbot.vo.IndicationPushVO;
+import com.google.common.collect.Lists;
+import io.github.lvyahui8.spring.annotation.DataConsumer;
+import io.github.lvyahui8.spring.annotation.DataProvider;
+import io.github.lvyahui8.spring.annotation.InvokeParameter;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/3/23 14:55
+ */
+@Component
+@Slf4j
+public class CallIndicationAggregate {
+    @Autowired
+    CdssCoreClient cdssCoreClient;
+    @Autowired
+    MedSearchDataFacade medSearchDataFacade;
+
+    @DataProvider("callIndication")
+    public List<ResultRule> callIndication(
+            @DataConsumer("callIndicationThread1") List<ResultRule> resultlist1,
+            @DataConsumer("callIndicationThread2") List<ResultRule> resultlist2,
+            @DataConsumer("callIndicationThread3") List<ResultRule> resultlist3,
+            @DataConsumer("callIndicationThread4") List<ResultRule> resultlist4) {
+
+        List<ResultRule> retList = Lists.newLinkedList();
+        if (ListUtil.isNotEmpty(resultlist1)) {
+            retList.addAll(resultlist1);
+        }
+        if (ListUtil.isNotEmpty(resultlist2)) {
+            retList.addAll(resultlist2);
+        }
+        if (ListUtil.isNotEmpty(resultlist3)) {
+            retList.addAll(resultlist3);
+        }
+        if (ListUtil.isNotEmpty(resultlist4)) {
+            retList.addAll(resultlist4);
+        }
+        return retList;
+    }
+
+    @DataProvider("callIndicationThread1")
+    public List<ResultRule> callIndicationThread1(@InvokeParameter("threadList1") List<ResultRule> threadList1,
+                                                  @InvokeParameter("hospitalId") Long hospitalId) {
+        return callIndicationExe(threadList1, hospitalId);
+    }
+
+    @DataProvider("callIndicationThread2")
+    public List<ResultRule> callIndicationThread2(@InvokeParameter("threadList2") List<ResultRule> threadList2,
+                                                  @InvokeParameter("hospitalId") Long hospitalId) {
+        return callIndicationExe(threadList2, hospitalId);
+    }
+
+    @DataProvider("callIndicationThread3")
+    public List<ResultRule> callIndicationThread3(@InvokeParameter("threadList3") List<ResultRule> threadList3,
+                                                  @InvokeParameter("hospitalId") Long hospitalId) {
+        return callIndicationExe(threadList3, hospitalId);
+    }
+
+    @DataProvider("callIndicationThread4")
+    public List<ResultRule> callIndicationThread4(@InvokeParameter("threadList4") List<ResultRule> threadList4,
+                                                  @InvokeParameter("hospitalId") Long hospitalId) {
+        return callIndicationExe(threadList4, hospitalId);
+    }
+
+    /**
+     * 开单合理性远程调用接口
+     *
+     * @param list
+     * @param hospitalId
+     * @return
+     */
+    public List<ResultRule> callIndicationExe(List<ResultRule> list, Long hospitalId) {
+        List<ResultRule> retList = Lists.newLinkedList();
+        if (ListUtil.isEmpty(list)) {
+            return retList;
+        }
+        Map<Long, List<ResultRule>> ruleMap = list
+                .stream()
+                .collect(Collectors.groupingBy(ResultRule::getRuleOrderNo));
+        for (Map.Entry<Long, List<ResultRule>> entry : ruleMap.entrySet()) {
+
+            if (entry.getValue().get(0).getSuccess() != null
+                    && entry.getValue().get(0).getSuccess().equals(0)) {
+                retList.addAll(entry.getValue());
+                continue;
+            }
+
+            Integer ruleType = entry.getValue().get(0).getRuleType();
+            IndicationPushVO indicationPushVO = medSearchDataFacade.createBillVO(entry.getValue(), hospitalId);
+
+            //入参
+            entry.getValue().forEach(result -> {
+                result.setInputParams(FastJsonUtils.getBeanToJson(indicationPushVO));
+            });
+
+            RespDTO<IndicationDTO> respDTO = cdssCoreClient.indication(indicationPushVO);
+            Integer callCount = 0;
+            while (callCount <= 3
+                    && (RespDTOUtil.respIsNG(respDTO)
+                    || (ListUtil.isEmpty(respDTO.data.getBillMsgList())
+                    && ListUtil.isEmpty(respDTO.data.getHighRiskList())
+                    && ListUtil.isEmpty(respDTO.data.getCriticalValList())
+                    && ListUtil.isEmpty(respDTO.data.getOtherList())))) {
+                respDTO = cdssCoreClient.indication(indicationPushVO);
+                callCount++;
+            }
+            if (RespDTOUtil.respIsOK(respDTO)) {
+                IndicationDTO data = respDTO.data;
+                //出参
+                for (ResultRule result : entry.getValue()) {
+                    result.setOutputParams(FastJsonUtils.getBeanToJson(respDTO.data));
+                }
+                List<BillMsg> msgList = Lists.newLinkedList();
+                switch (ruleType) {
+                    case 1:
+                    case 6:
+                        msgList = data.getBillMsgList();
+                        break;
+                    case 2:
+                        msgList = data.getHighRiskList();
+                        break;
+                    case 3:
+                        msgList = data.getCriticalValList();
+                        break;
+                    case 4:
+                    case 5:
+                        msgList = data.getOtherList();
+                        break;
+                    default:
+                        break;
+                }
+
+                if (ListUtil.isEmpty(msgList)) {
+                    entry.getValue().forEach(result -> {
+                        result.setSuccess(0);
+                        result.setMessage("提醒信息未出现");
+                        retList.add(result);
+                    });
+                    continue;
+                }
+
+                Boolean success = false;
+                for (BillMsg msg : msgList) {
+                    if (!msg.getMsg().equals(entry.getValue().get(0).getExpectedOutput())) {
+                        continue;
+                    } else {
+                        success = true;
+                    }
+                    for (ResultRule result : entry.getValue()) {
+                        ResultRule saveResult = new ResultRule();
+                        BeanUtil.copyProperties(result, saveResult);
+                        saveResult.setOutput(msg.getMsg());
+                        if (saveResult.getOutput().equals(saveResult.getExpectedOutput())) {
+                            saveResult.setSuccess(1);
+                        } else {
+                            saveResult.setSuccess(0);
+                            saveResult.setMessage("提示内容与预期不符");
+                        }
+                        retList.add(saveResult);
+                    }
+                }
+                if (!success) {
+                    for (ResultRule result : entry.getValue()) {
+                        Integer count = 1;
+                        result.setSuccess(0);
+                        String message = result.getMessage() + "提示内容(";
+                        for (BillMsg msg : msgList) {
+                            message += (count++) + "、";
+                            message += msg.getMsg() + ";";
+                        }
+                        message += ")与预期不符";
+                        result.setMessage(message);
+                        retList.add(result);
+                    }
+                }
+            } else {
+                for (ResultRule result : entry.getValue()) {
+                    result.setInputParams(FastJsonUtils.getBeanToJson(indicationPushVO));
+                    result.setOutputParams(FastJsonUtils.getBeanToJson(respDTO));
+                    result.setSuccess(0);
+                    result.setMessage("远程调用推理接口失败");
+                    retList.add(result);
+                }
+            }
+        }
+        return retList;
+    }
+}

+ 339 - 0
cdssman-service/src/main/java/com/diagbot/aggregate/RuleTestAggregate.java

@@ -0,0 +1,339 @@
+package com.diagbot.aggregate;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.ResultInfo;
+import com.diagbot.entity.ResultRule;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.facade.MedRuleConvertFacade;
+import com.diagbot.facade.RunningInfoFacade;
+import com.diagbot.service.ResultInfoService;
+import com.diagbot.service.ResultRuleService;
+import com.diagbot.util.ListUtil;
+import com.diagbot.vo.RuleTestVO;
+import com.diagbot.vo.RunningInfoVO;
+import com.google.common.collect.Lists;
+import io.github.lvyahui8.spring.aggregate.facade.DataBeanAggregateQueryFacade;
+import io.github.lvyahui8.spring.annotation.DataConsumer;
+import io.github.lvyahui8.spring.annotation.DataProvider;
+import io.github.lvyahui8.spring.annotation.InvokeParameter;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/1/20 15:00
+ */
+@Component
+@Slf4j
+public class RuleTestAggregate {
+    @Autowired
+    @Qualifier("resultRuleServiceImpl")
+    private ResultRuleService resultRuleService;
+    @Autowired
+    @Qualifier("resultInfoServiceImpl")
+    private ResultInfoService resultInfoService;
+    @Autowired
+    private RunningInfoFacade runningInfoFacade;
+    @Autowired
+    private MedRuleConvertFacade medRuleConvertFacade;
+    @Autowired
+    private DataBeanAggregateQueryFacade dataBeanAggregateQueryFacade;
+
+    @DataProvider("ruleTest")
+    public Boolean ruleTest(
+            @DataConsumer("billRuleTest") Boolean billRuleTest,
+            @DataConsumer("billTransfusionRuleTest") Boolean billTransfusionRuleTest,
+            @DataConsumer("criticalLisRuleTest") Boolean criticalLisRuleTest,
+            @DataConsumer("criticalPacsRuleTest") Boolean criticalPacsRuleTest,
+            @DataConsumer("highriskDrugRuleTest") Boolean highriskDrugRuleTest,
+            @DataConsumer("highriskOperationRuleTest") Boolean highriskOperationRuleTest,
+            @DataConsumer("otherLisRuleTest") Boolean otherLisRuleTest,
+            @DataConsumer("otherPacsRuleTest") Boolean otherPacsRuleTest,
+            @DataConsumer("otherTransfusionRuleTest") Boolean otherTransfusionRuleTest,
+            @DataConsumer("reBillRuleTest") Boolean reBillRuleTest) {
+
+        return billRuleTest
+                && billTransfusionRuleTest
+                && criticalLisRuleTest
+                && criticalPacsRuleTest
+                && highriskDrugRuleTest
+                && highriskOperationRuleTest
+                && otherLisRuleTest
+                && otherPacsRuleTest
+                && otherTransfusionRuleTest
+                && reBillRuleTest;
+    }
+
+    /**
+     * 开单合理性测试
+     *
+     * @param ruleTestVO
+     */
+    @DataProvider("billRuleTest")
+    public Boolean billRuleTest(@InvokeParameter("billRuleVO") RuleTestVO ruleTestVO) {
+        billTestExe(ruleTestVO);
+        return true;
+    }
+
+    /**
+     * 开单合理性测试-输血
+     *
+     * @param ruleTestVO
+     */
+    @DataProvider("billTransfusionRuleTest")
+    public Boolean billTransfusionRuleTest(@InvokeParameter("billTransfusionRuleVO") RuleTestVO ruleTestVO) {
+        billTestExe(ruleTestVO);
+        return true;
+    }
+
+    /**
+     * 危急值规则测试-检验
+     *
+     * @param ruleTestVO
+     */
+    @DataProvider("criticalLisRuleTest")
+    public Boolean criticalLisRuleTest(@InvokeParameter("criticalLisRuleVO") RuleTestVO ruleTestVO) {
+        billTestExe(ruleTestVO);
+        return true;
+    }
+
+    /**
+     * 危急值规则测试-检查
+     *
+     * @param ruleTestVO
+     */
+    @DataProvider("criticalPacsRuleTest")
+    public Boolean criticalPacsRuleTest(@InvokeParameter("criticalPacsRuleVO") RuleTestVO ruleTestVO) {
+        billTestExe(ruleTestVO);
+        return true;
+    }
+
+    /**
+     * 高危药品测试
+     *
+     * @return
+     */
+    @DataProvider("highriskDrugRuleTest")
+    public Boolean highriskDrugRuleTest(@InvokeParameter("highriskDrugRuleVO") RuleTestVO ruleTestVO) {
+        billTestExe(ruleTestVO);
+        return true;
+    }
+
+    /**
+     * 高危手术测试
+     *
+     * @return
+     */
+    @DataProvider("highriskOperationRuleTest")
+    public Boolean highriskOperationRuleTest(@InvokeParameter("highriskOperationRuleVO") RuleTestVO ruleTestVO) {
+        billTestExe(ruleTestVO);
+        return true;
+    }
+
+
+    /**
+     * 其他值提醒-化验
+     *
+     * @param ruleTestVO
+     * @return
+     */
+    @DataProvider("otherLisRuleTest")
+    public Boolean otherLisRuleTest(@InvokeParameter("otherLisRuleVO") RuleTestVO ruleTestVO) {
+        billTestExe(ruleTestVO);
+        return true;
+    }
+
+    /**
+     * 其他值提醒-辅检
+     *
+     * @param ruleTestVO
+     * @return
+     */
+    @DataProvider("otherPacsRuleTest")
+    public Boolean otherPacsRuleTest(@InvokeParameter("otherPacsRuleVO") RuleTestVO ruleTestVO) {
+        billTestExe(ruleTestVO);
+        return true;
+    }
+
+
+    /**
+     * 其他值提醒-输血
+     *
+     * @param ruleTestVO
+     * @return
+     */
+    @DataProvider("otherTransfusionRuleTest")
+    public Boolean otherTransfusionRuleTest(@InvokeParameter("otherTransfusionRuleVO") RuleTestVO ruleTestVO) {
+        billTestExe(ruleTestVO);
+        return true;
+    }
+
+    /**
+     * 正常项目重复开单
+     *
+     * @param ruleTestVO
+     * @return
+     */
+    @DataProvider("reBillRuleTest")
+    public Boolean reBillRuleTest(@InvokeParameter("reBillRuleVO") RuleTestVO ruleTestVO) {
+        billTestExe(ruleTestVO);
+        return true;
+    }
+
+
+    /**
+     * 执行测试
+     *
+     * @param ruleTestVO
+     * @return
+     */
+    public Boolean billTestExe(RuleTestVO ruleTestVO) {
+        Long hospitalId = ruleTestVO.getHospitalId();
+        //开始运行
+        RunningInfoVO runningInfoVO = new RunningInfoVO();
+        runningInfoVO.setCaseId(ruleTestVO.getCaseId());
+        runningInfoVO.setHospitalId(ruleTestVO.getHospitalId());
+        runningInfoVO.setStatus(1);
+        runningInfoFacade.updateStatus(runningInfoVO);
+
+        try {
+            //生成测试规则
+            List<ResultRule> resultList = medRuleConvertFacade.billConvert(hospitalId, ruleTestVO.getCaseId());
+            if (ListUtil.isEmpty(resultList)) {
+                return true;
+            }
+            //远程调用推理
+            List<ResultRule> saveList = callIndication(resultList, hospitalId);
+            //保存测试结果
+            saveResultRule(saveList, ruleTestVO);
+        } finally {
+            //结束运行
+            runningInfoVO.setStatus(0);
+            runningInfoFacade.updateStatus(runningInfoVO);
+        }
+        return true;
+    }
+
+    /**
+     * 开单合理性远程调用接口
+     *
+     * @param list
+     * @param hospitalId
+     * @return
+     */
+    public List<ResultRule> callIndication(List<ResultRule> list, Long hospitalId) {
+        List<ResultRule> retList = Lists.newLinkedList();
+        if (ListUtil.isEmpty(list)) {
+            return retList;
+        }
+
+        Map<Long, List<ResultRule>> ruleMap = list
+                .stream()
+                .collect(Collectors.groupingBy(ResultRule::getRuleOrderNo));
+
+        List<ResultRule> threadList1 = Lists.newLinkedList();
+        List<ResultRule> threadList2 = Lists.newLinkedList();
+        List<ResultRule> threadList3 = Lists.newLinkedList();
+        List<ResultRule> threadList4 = Lists.newLinkedList();
+
+        if (ruleMap.size() >= 100) {
+            Integer averageNum = ruleMap.size() / 4;
+            Integer count = 0;
+            for (Map.Entry<Long, List<ResultRule>> entry : ruleMap.entrySet()) {
+                count++;
+                if (count < averageNum) {
+                    threadList1.addAll(entry.getValue());
+                } else if (count >= averageNum && count < averageNum * 2) {
+                    threadList2.addAll(entry.getValue());
+                } else if (count >= averageNum * 2 && count < averageNum * 3) {
+                    threadList3.addAll(entry.getValue());
+                } else if (count >= averageNum * 3) {
+                    threadList4.addAll(entry.getValue());
+                }
+            }
+        } else {
+            threadList1.addAll(list);
+        }
+
+        try {
+            Map<String, Object> invokeParams = new HashMap<>();
+            invokeParams.put("threadList1", threadList1);
+            invokeParams.put("threadList2", threadList2);
+            invokeParams.put("threadList3", threadList3);
+            invokeParams.put("threadList4", threadList4);
+            invokeParams.put("hospitalId", hospitalId);
+            retList
+                    = dataBeanAggregateQueryFacade.get("callIndication", invokeParams, List.class);
+        } catch (Exception e) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR);
+        }
+
+        return retList;
+    }
+
+    /**
+     * 保存开单合理性测试结果
+     *
+     * @param list
+     * @param ruleTestVO
+     * @return
+     */
+    @Transactional
+    public Boolean saveResultRule(List<ResultRule> list, RuleTestVO ruleTestVO) {
+        Date now = new Date();
+        Integer totleNum = list.stream()
+                .map(i -> i.getRuleOrderNo())
+                .distinct()
+                .collect(Collectors.toList()).size();
+        Integer successNum = list.stream()
+                .filter(i -> i.getSuccess().equals(1))
+                .map(i -> i.getRuleOrderNo())
+                .distinct()
+                .collect(Collectors.toList()).size();
+        Integer failedNum = list.stream().filter(i -> i.getSuccess().equals(0))
+                .map(i -> i.getRuleOrderNo())
+                .distinct()
+                .collect(Collectors.toList()).size();
+        QueryWrapper<ResultInfo> resultInfoQueryWrapper = new QueryWrapper<>();
+        resultInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_id", ruleTestVO.getHospitalId())
+                .eq("case_id", ruleTestVO.getCaseId());
+        ResultInfo resultInfo = resultInfoService.getOne(resultInfoQueryWrapper, false);
+        if (resultInfo == null) {
+            resultInfo = new ResultInfo();
+            resultInfo.setHospitalId(ruleTestVO.getHospitalId());
+            resultInfo.setCaseId(ruleTestVO.getCaseId());
+            resultInfo.setGmtCreate(now);
+        }
+        resultInfo.setGmtModified(now);
+        resultInfo.setRuleNum(totleNum);
+        resultInfo.setRuleSuccessNum(successNum);
+        resultInfo.setRuleFailedNum(failedNum);
+        resultInfoService.saveOrUpdate(resultInfo);
+
+        QueryWrapper<ResultRule> resultRuleQueryWrapper = new QueryWrapper<>();
+        resultRuleQueryWrapper.eq("result_id", resultInfo.getId());
+        resultRuleService.remove(resultRuleQueryWrapper);
+
+        for (ResultRule resultRule : list) {
+            resultRule.setGmtCreate(now);
+            resultRule.setGmtModified(now);
+            resultRule.setResultId(resultInfo.getId());
+        }
+
+        resultRuleService.saveOrUpdateBatch(list);
+        return true;
+    }
+}

+ 190 - 0
cdssman-service/src/main/java/com/diagbot/client/CdssClient.java

@@ -0,0 +1,190 @@
+package com.diagbot.client;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.diagbot.client.hystrix.CdssHystrix;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.MappingConfig;
+import com.diagbot.entity.wrapper.MappingConfigWrapper;
+import com.diagbot.vo.IdListVO;
+import com.diagbot.vo.IdVO;
+import com.diagbot.vo.MappingConfigPageVO;
+import com.diagbot.vo.MappingConfigVO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.http.MediaType;
+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.RequestParam;
+import org.springframework.web.bind.annotation.RequestPart;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/6/21 15:33
+ */
+@FeignClient(name = "cdss", url = "${cdss.url}", fallback = CdssHystrix.class)
+public interface CdssClient {
+    /**
+     * 数据导入模板导出
+     *
+     * @param mappingConfigVO
+     */
+    @PostMapping("/tran/mappingConfig/exportExcelModule")
+    void exportExcelModule(@RequestBody @Valid MappingConfigVO mappingConfigVO);
+
+    /**
+     * 预匹配导入术语校验
+     *
+     * @param file
+     * @param type
+     */
+    @PostMapping(value = "/tran/mappingConfig/dataVerify", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    RespDTO<Boolean> dataVerify(@RequestPart("file") MultipartFile file,
+                                @RequestParam("type") Integer type);
+
+    /**
+     * 预匹配
+     *
+     * @param file
+     * @param response
+     * @param type
+     */
+    @PostMapping(value = "/tran/mappingConfig/precDataMatch", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    void precDataMatch(@RequestParam("file") MultipartFile file,
+                       HttpServletResponse response,
+                       @RequestParam("type") Integer type);
+
+    /**
+     * 预匹配_远程调用
+     *
+     * @param file
+     * @param type
+     * @return
+     */
+    @PostMapping(value = "/tran/mappingConfig/precDataMatch_remote", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    RespDTO<List<MappingConfigWrapper>> precDataMatch_remote(@RequestPart("file") MultipartFile file,
+                                                             @RequestParam("type") Integer type);
+
+    /**
+     * 数据导入校验
+     *
+     * @param file
+     * @param hospitalId
+     * @param type
+     * @param userId
+     */
+    @PostMapping(value = "/tran/mappingConfig/importExcelDataVerify", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    RespDTO<Boolean> importExcelDataVerify(@RequestPart("file") MultipartFile file,
+                                 @RequestParam("hospitalId") Long hospitalId,
+                                 @RequestParam("type") Integer type,
+                                 @RequestParam("uesrId") String userId);
+
+    /**
+     * 数据导入
+     *
+     * @param file
+     * @param hospitalId
+     * @param type
+     * @param userId
+     */
+    @PostMapping(value = "/tran/mappingConfig/importExcel", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    RespDTO<Boolean> importExcel(@RequestPart("file") MultipartFile file,
+                                 @RequestParam("hospitalId") Long hospitalId,
+                                 @RequestParam("type") Integer type,
+                                 @RequestParam("uesrId") String userId);
+
+    /**
+     * 数据导入
+     *
+     * @param file
+     * @param hospitalId
+     * @param type
+     * @param userId
+     */
+    @PostMapping(value = "/tran/mappingConfig/importExcel_remote", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    RespDTO<List<MappingConfigWrapper>> importExcel_remote(@RequestPart("file") MultipartFile file,
+                                 @RequestParam("hospitalId") Long hospitalId,
+                                 @RequestParam("type") Integer type,
+                                 @RequestParam("uesrId") String userId);
+
+
+    /**
+     * 数据导出_远程调用
+     *
+     * @param mappingConfigPageVO
+     * @return
+     */
+    @PostMapping("/tran/mappingConfig/exportExcel_remote")
+    RespDTO<List<MappingConfigWrapper>> exportExcel_remote(@RequestBody @Valid MappingConfigPageVO mappingConfigPageVO);
+
+    /**
+     * 分页查询
+     *
+     * @param mappingConfigPageVO
+     * @return
+     */
+    @PostMapping("/tran/mappingConfig/getPage")
+    RespDTO<Page<MappingConfigWrapper>> getPage(@RequestBody @Valid MappingConfigPageVO mappingConfigPageVO);
+
+
+    /**
+     * 获取映射关系
+     *
+     * @param idVO
+     * @return
+     */
+    @PostMapping("/tran/mappingConfig/getRecord")
+    @Transactional
+    RespDTO<MappingConfigWrapper> getRecord(@RequestBody @Valid IdVO idVO);
+
+    /**
+     * 映射关系是否已存在
+     *
+     * @param mappingConfig
+     * @return
+     */
+    @PostMapping("/tran/mappingConfig/isExistRecord")
+    RespDTO<Boolean> isExistRecord(@RequestBody @Valid MappingConfig mappingConfig);
+
+    /**
+     * 查询已映射关系
+     *
+     * @param mappingConfigVO
+     * @return
+     */
+    @PostMapping("/tran/mappingConfig/getRelatedMapping")
+    RespDTO<List<MappingConfigWrapper>> getRelatedMapping(@RequestBody @Valid MappingConfigVO mappingConfigVO);
+
+
+    /**
+     * 保存或修改映射关系
+     *
+     * @param mappingConfig
+     * @return
+     */
+    @PostMapping("/tran/mappingConfig/saveOrUpdateRecord")
+    RespDTO<Boolean> saveOrUpdateRecord(@RequestBody @Valid MappingConfig mappingConfig);
+
+    /**
+     * 删除映射关系
+     *
+     * @param idVO
+     * @return
+     */
+    @PostMapping("/tran/mappingConfig/deleteRecord")
+    RespDTO<Boolean> deleteRecord(@RequestBody @Valid IdVO idVO);
+
+    /**
+     * 批量删除映射关系
+     *
+     * @param idListVO
+     * @return
+     */
+    @PostMapping("/tran/mappingConfig/deleteRecords")
+    RespDTO<Boolean> deleteRecords(@RequestBody @Valid IdListVO idListVO);
+}

+ 176 - 9
cdssman-service/src/main/java/com/diagbot/client/CdssCoreClient.java

@@ -1,19 +1,17 @@
 package com.diagbot.client;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.client.hystrix.CdssCoreHystrix;
-import com.diagbot.dto.RespDTO;
-import com.diagbot.dto.RetrievalDTO;
-import com.diagbot.dto.StaticKnowledgeIndexDTO;
-import com.diagbot.vo.ConceptVO;
-import com.diagbot.vo.HasStaticKnowledgeVO;
-import com.diagbot.vo.RetrievalVO;
-import com.diagbot.vo.StaticKnowledgeIndexVO;
+import com.diagbot.dto.*;
+import com.diagbot.entity.KlRuleMenuWrapper;
+import com.diagbot.vo.*;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.validation.Valid;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description:
@@ -47,7 +45,7 @@ public interface CdssCoreClient {
      * @return
      */
     @PostMapping("/retrieval/getConceptNames")
-    RespDTO<List<String>> getConceptNames(@Valid @RequestBody ConceptVO conceptVO);
+    RespDTO<List<IndexBatchDTO>> getConceptNames(@Valid @RequestBody ConceptVO conceptVO);
 
     /**
      * 化验大项、化验小项、辅检、诊断、药品、手术等检索
@@ -57,4 +55,173 @@ public interface CdssCoreClient {
      */
     @PostMapping("/retrieval/index")
     RespDTO<RetrievalDTO> index(@RequestBody @Valid RetrievalVO retrievalVO);
-}
+
+    /**
+     * 开单合理性推理
+     *
+     * @param indicationPushVO
+     * @return
+     */
+    @PostMapping("/core/indication")
+    RespDTO<IndicationDTO> indication(@Valid @RequestBody IndicationPushVO indicationPushVO);
+
+    /**
+     * 根据名称和类型获取静态知识内容
+     *
+     * @param staticKnowledgeVO
+     * @return
+     */
+    @PostMapping("/kl/conceptStatic/getStaticKnowledge")
+    RespDTO<StaticKnowledgeDTO> getStaticKnowledge(@Valid @RequestBody StaticKnowledgeVO staticKnowledgeVO);
+
+    /**
+     * 分页查询
+     *
+     * @param klConceptStaticPageVO
+     * @return
+     */
+    @PostMapping("/kl/conceptStatic/getPage")
+    RespDTO<Page<KlConceptStaticDTO>> getPage(@Valid @RequestBody KlConceptStaticPageVO klConceptStaticPageVO);
+
+    /**
+     * 保存静态知识
+     *
+     * @param klConceptStaticVO
+     * @return
+     */
+    @PostMapping("/kl/conceptStatic/saveOrUpdateRecord")
+    RespDTO<Boolean> saveOrUpdateRecord(@Valid @RequestBody KlConceptStaticVO klConceptStaticVO);
+
+    /**
+     * 静态知识启用禁用
+     *
+     * @param changeStatusVO
+     * @return
+     */
+    @PostMapping("/kl/conceptStatic/changeStatus")
+    RespDTO<Boolean> changeStatus(@Valid @RequestBody ChangeStatusVO changeStatusVO);
+
+    /**
+     * 根据id获取静态知识
+     *
+     * @param idVO
+     * @return
+     */
+    @PostMapping("/kl/conceptStatic/getRecordById")
+    RespDTO<KlConceptStaticDTO> getRecordById(@Valid @RequestBody IdVO idVO);
+
+    /**
+     * 静态知识是否已存在
+     *
+     * @param klConceptStaticVO
+     * @return
+     */
+    @PostMapping("/kl/conceptStatic/isExist")
+    RespDTO<Boolean> isExist(@Valid @RequestBody KlConceptStaticVO klConceptStaticVO);
+
+    /**
+     * 获取规则下拉菜单信息
+     *
+     * @param klRuleMenuVO
+     * @return
+     */
+    @PostMapping("/klRulePlan/getMenu")
+    RespDTO<List<KlRuleMenuWrapper>> getMenus(@RequestBody KlRuleMenuVO klRuleMenuVO);
+
+    //"分页获取规则维护列表
+    @PostMapping("/klRule/getKlRuleInfoPage")
+    RespDTO<Page<KlRuleInfoDTO>> getKlRuleInfoPages(@RequestBody KlRuleInfoVO klRuleInfoVO);
+
+
+    //根据规则Id获取规则详情
+    @PostMapping("/klRule/getByIdRuleInfo")
+    RespDTO<KlRuleByIdParDTO> getByIdRuleInfoAll(@RequestBody @Valid KlRuleByIdVO klRuleByIdVO);
+
+    //保存规则详情[
+    @PostMapping("/klRule/saveRuleInfo")
+    RespDTO<Boolean> saveRuleInfoAll(@RequestBody @Valid KlRuleInfoSaveVO klRuleInfoSaveVO);
+
+    //刪除规则详情
+    @PostMapping("/klRule/clearRuleInfo")
+    RespDTO<Boolean> clearRuleInfoAll(@RequestBody @Valid KlRuleInfoClearVO klRuleInfoClearVO);
+
+    //停用规则
+    @PostMapping("/klRule/disableRuleInfo")
+    RespDTO<Boolean> disableRuleInfos(@RequestBody @Valid KlRuleSatartOrdisaVO klRuleSatartOrdisaVO);
+
+    //启用规则
+    @PostMapping("/klRule/startRuleInfo")
+    RespDTO<Boolean> startRuleInfos(@RequestBody @Valid KlRuleSatartOrdisaVO klRuleSatartOrdisaVO);
+
+    @PostMapping("/cache/clear")
+    RespDTO<Boolean> clearAlls();
+
+    @PostMapping("/cache/clearDrug")
+    RespDTO<Boolean> clearDrugloadDrug();
+
+    @PostMapping("/cache/clearRuleInfoAll")
+    RespDTO<Boolean> clearRuleAll();
+
+    @PostMapping("/cache/clearStandRuleDrug")
+    RespDTO<Boolean> clearStandRuleDrugAll();
+
+    @PostMapping("/kl/dictionary/getDictionaryInfo")
+    RespDTO<Map<Long, List<DictionaryInfoDTO>>> getDictionaryAll();
+
+    /**
+     * 重新加载医学知识库中的所有去重的基础诊断依据
+     *
+     * @return
+     */
+    @PostMapping("/cache/reloadDiagnose")
+    RespDTO<Boolean> reloadDiagnose();
+
+
+    //分页获取诊断依据维护列表
+    @PostMapping("/klDiagnose/getKlDiagnosePage")
+    public RespDTO<Page<KlDiagnoseInfoDTO>> getDiagnosePages(@RequestBody KlDiagnoseInfoVO klRuleInfoVO);
+
+    //"根据Id获取诊断依据详情[by:wangfeng]")
+    @PostMapping("/klDiagnose/getByIdDiagnose")
+    public RespDTO<List<KlDiagnoseTypeDTO>> getByIdDiagnoseAll(@RequestBody @Valid KlDiagnoseByIdVO klDiagnoseByIdVO);
+
+    //保存诊断依据详情[by:wangfeng]")
+    @PostMapping("/klDiagnose/saveDiagnose")
+    public RespDTO<Boolean> saveDiagnoseAll(@RequestBody @Valid KlDiagnoseSaveVO klDiagnoseSaveVO);
+
+    //刪除诊断依据详情[by:wangfeng]")
+    @PostMapping("/klDiagnose/clearDiagnose")
+    public RespDTO<Boolean> clearDiagnoseAll(@RequestBody @Valid KlDiagnoseClearVO klDiagnoseClearVO);
+
+    //停用诊断依据[by:wangfeng]")
+    @PostMapping("/klDiagnose/disableKlDiagnose")
+    public RespDTO<Boolean> disableDiagnoses(@RequestBody @Valid KlDiagnoseSatarDisVO klDiagnoseSatarDisVO);
+
+    //启用诊断依据[by:wangfeng]")
+    @PostMapping("/klDiagnose/startKlDiagnose")
+    public RespDTO<Boolean> startKlDiagnoses(@RequestBody @Valid KlDiagnoseSatarDisVO klDiagnoseSatarDisVO);
+
+    @PostMapping("/klDiagnose/findDiaName")
+    public RespDTO<List<DiagnosesFindDTO>> findDiaNameAll(@Valid @RequestBody DiagnosesFindVO diagnosesFindVO);
+
+    @PostMapping("/term/termMatching")
+    public RespDTO<List<TermConceptDTO>> getTermMatching(@Valid @RequestBody TermMatchingVO termMatchingVO);
+
+    @PostMapping("/klRegulation/index")
+    public RespDTO<List<RegulationIndexDTO>> index(@RequestBody RegulationIndexVO regulationIndexVO);
+
+    @PostMapping("/klDisease/searchConcept")
+    RespDTO<List<GetAllForRelationDTO>> searchConcept(@Valid @RequestBody SearchConceptVO searchConceptVO);
+
+    //术语集合新增
+    @PostMapping("/klDisease/addConceptClass")
+    RespDTO<List<GetAllForRelationDTO>> addConceptClass(@Valid @RequestBody SearchConceptVO searchConceptVO);
+
+    //规则维护术语查询
+    @PostMapping("/klDisease/searchConceptRuleClass")
+    RespDTO<List<GetAllForRelationDTO>> searchConceptRuleClass(@Valid @RequestBody SearchConceptVO searchConceptVO);
+
+    //在集合业务中,搜索术语
+    @PostMapping("/klDisease/searchCollectionConceptVO")
+    RespDTO<List<GetAllForRelationDTO>> searchCollectionConcept(SearchCollectionConceptVO searchCollectionConceptVO);
+}

+ 246 - 8
cdssman-service/src/main/java/com/diagbot/client/hystrix/CdssCoreHystrix.java

@@ -1,19 +1,17 @@
 package com.diagbot.client.hystrix;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.client.CdssCoreClient;
-import com.diagbot.dto.RespDTO;
-import com.diagbot.dto.RetrievalDTO;
-import com.diagbot.dto.StaticKnowledgeIndexDTO;
-import com.diagbot.vo.ConceptVO;
-import com.diagbot.vo.HasStaticKnowledgeVO;
-import com.diagbot.vo.RetrievalVO;
-import com.diagbot.vo.StaticKnowledgeIndexVO;
+import com.diagbot.dto.*;
+import com.diagbot.entity.KlRuleMenuWrapper;
+import com.diagbot.vo.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.validation.Valid;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description:
@@ -54,7 +52,7 @@ public class CdssCoreHystrix implements CdssCoreClient {
      * @return
      */
     @Override
-    public RespDTO<List<String>> getConceptNames(@Valid @RequestBody ConceptVO conceptVO) {
+    public RespDTO<List<IndexBatchDTO>> getConceptNames(@Valid @RequestBody ConceptVO conceptVO) {
         log.error("【hystrix】调用{}异常", "getConceptNames");
         return null;
     }
@@ -70,4 +68,244 @@ public class CdssCoreHystrix implements CdssCoreClient {
         log.error("【hystrix】调用{}异常", "index");
         return null;
     }
+
+    /**
+     * 开单合理性推理
+     *
+     * @param indicationPushVO
+     * @return
+     */
+    @Override
+    public RespDTO<IndicationDTO> indication(@Valid @RequestBody IndicationPushVO indicationPushVO) {
+        log.error("【hystrix】调用{}异常", "indication");
+        return null;
+    }
+
+    /**
+     * 根据名称和类型获取静态知识内容
+     *
+     * @param staticKnowledgeVO
+     * @return
+     */
+    @Override
+    public RespDTO<StaticKnowledgeDTO> getStaticKnowledge(@Valid @RequestBody StaticKnowledgeVO staticKnowledgeVO) {
+        log.error("【hystrix】调用{}异常", "getStaticKnowledge");
+        return null;
+    }
+
+    /**
+     * 分页查询
+     *
+     * @param klConceptStaticPageVO
+     * @return
+     */
+    @Override
+    public RespDTO<Page<KlConceptStaticDTO>> getPage(@Valid @RequestBody KlConceptStaticPageVO klConceptStaticPageVO) {
+        log.error("【hystrix】调用{}异常", "getPage");
+        return null;
+    }
+
+    /**
+     * 保存静态知识
+     *
+     * @param klConceptStaticVO
+     * @return
+     */
+    @Override
+    public RespDTO<Boolean> saveOrUpdateRecord(@Valid @RequestBody KlConceptStaticVO klConceptStaticVO) {
+        log.error("【hystrix】调用{}异常", "saveOrUpdateRecord");
+        return null;
+    }
+
+    /**
+     * 静态知识启用禁用
+     *
+     * @param changeStatusVO
+     * @return
+     */
+    @Override
+    public RespDTO<Boolean> changeStatus(@Valid @RequestBody ChangeStatusVO changeStatusVO) {
+        log.error("【hystrix】调用{}异常", "changeStatus");
+        return null;
+    }
+
+    /**
+     * 根据id获取静态知识
+     *
+     * @param idVO
+     * @return
+     */
+    @Override
+    public RespDTO<KlConceptStaticDTO> getRecordById(@Valid @RequestBody IdVO idVO) {
+        log.error("【hystrix】调用{}异常", "getRecordById");
+        return null;
+    }
+
+    /**
+     * 静态知识是否已存在
+     *
+     * @param klConceptStaticVO
+     * @return
+     */
+    @Override
+    public RespDTO<Boolean> isExist(@Valid @RequestBody KlConceptStaticVO klConceptStaticVO) {
+        log.error("【hystrix】调用{}异常", "isExist");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<KlRuleMenuWrapper>> getMenus(@RequestBody KlRuleMenuVO klRuleMenuVO) {
+        log.error("【hystrix】调用{}异常", "getMenus");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Page<KlRuleInfoDTO>> getKlRuleInfoPages(@RequestBody KlRuleInfoVO klRuleInfoVO) {
+        log.error("【hystrix】调用{}异常", "getKlRuleInfoPages");
+        return null;
+    }
+
+    @Override
+    public RespDTO<KlRuleByIdParDTO> getByIdRuleInfoAll(@Valid @RequestBody KlRuleByIdVO klRuleByIdVO) {
+        log.error("【hystrix】调用{}异常", "getByIdRuleInfoAll");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> saveRuleInfoAll(@Valid @RequestBody KlRuleInfoSaveVO klRuleInfoSaveVO) {
+        log.error("【hystrix】调用{}异常", "saveRuleInfoAll");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> clearRuleInfoAll(@Valid @RequestBody KlRuleInfoClearVO klRuleInfoClearVO) {
+        log.error("【hystrix】调用{}异常", "clearRuleInfoAll");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> disableRuleInfos(@Valid @RequestBody KlRuleSatartOrdisaVO klRuleSatartOrdisaVO) {
+        log.error("【hystrix】调用{}异常", "disableRuleInfos");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> startRuleInfos(@Valid @RequestBody KlRuleSatartOrdisaVO klRuleSatartOrdisaVO) {
+        log.error("【hystrix】调用{}异常", "startRuleInfos");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> clearAlls() {
+        log.error("【hystrix】调用{}异常", "clearAlls");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> clearDrugloadDrug() {
+        log.error("【hystrix】调用{}异常", "clearDrugloadDrug");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> clearRuleAll() {
+        log.error("【hystrix】调用{}异常", "clearRuleAll");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> clearStandRuleDrugAll() {
+        log.error("【hystrix】调用{}异常", "clearStandRuleDrugAll");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Map<Long, List<DictionaryInfoDTO>>> getDictionaryAll() {
+        log.error("【hystrix】调用{}异常", "getDictionaryAll");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> reloadDiagnose() {
+        log.error("【hystrix】调用{}异常", "reloadDiagnose");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Page<KlDiagnoseInfoDTO>> getDiagnosePages(KlDiagnoseInfoVO klRuleInfoVO) {
+        log.error("【hystrix】调用{}异常", "getDiagnosePages");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<KlDiagnoseTypeDTO>> getByIdDiagnoseAll(@Valid KlDiagnoseByIdVO klDiagnoseByIdVO) {
+        log.error("【hystrix】调用{}异常", "getByIdDiagnoseAll");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> saveDiagnoseAll(@Valid KlDiagnoseSaveVO klDiagnoseSaveVO) {
+        log.error("【hystrix】调用{}异常", "saveDiagnoseAll");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> clearDiagnoseAll(@Valid KlDiagnoseClearVO klDiagnoseClearVO) {
+        log.error("【hystrix】调用{}异常", "clearDiagnoseAll");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> disableDiagnoses(@Valid KlDiagnoseSatarDisVO klDiagnoseSatarDisVO) {
+        log.error("【hystrix】调用{}异常", "disableDiagnoses");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> startKlDiagnoses(@Valid KlDiagnoseSatarDisVO klDiagnoseSatarDisVO) {
+        log.error("【hystrix】调用{}异常", "startKlDiagnoses");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<DiagnosesFindDTO>> findDiaNameAll(@Valid DiagnosesFindVO diagnosesFindVO) {
+        log.error("【hystrix】调用{}异常", "findDiaNameAll");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<TermConceptDTO>> getTermMatching(@Valid TermMatchingVO termMatchingVO) {
+        log.error("【hystrix】调用{}异常", "getTermMatching");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<RegulationIndexDTO>> index(RegulationIndexVO regulationIndexVO) {
+        log.error("【hystrix】调用{}异常", "index");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<GetAllForRelationDTO>> searchConcept(@Valid SearchConceptVO searchConceptVO) {
+        log.error("【hystrix】调用{}异常", "searchConcept");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<GetAllForRelationDTO>> addConceptClass(@Valid SearchConceptVO searchConceptVO) {
+        log.error("【hystrix】调用{}异常", "addConceptClass");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<GetAllForRelationDTO>> searchConceptRuleClass(@Valid SearchConceptVO searchConceptVO) {
+        log.error("【hystrix】调用{}异常", "searchConceptRuleClass");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<GetAllForRelationDTO>> searchCollectionConcept(SearchCollectionConceptVO searchCollectionConceptVO) {
+        log.error("【hystrix】调用{}异常", "searchConceptRuleClass");
+        return null;
+    }
 }

+ 140 - 0
cdssman-service/src/main/java/com/diagbot/client/hystrix/CdssHystrix.java

@@ -0,0 +1,140 @@
+package com.diagbot.client.hystrix;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.diagbot.client.CdssClient;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.MappingConfig;
+import com.diagbot.entity.wrapper.MappingConfigWrapper;
+import com.diagbot.vo.IdListVO;
+import com.diagbot.vo.IdVO;
+import com.diagbot.vo.MappingConfigPageVO;
+import com.diagbot.vo.MappingConfigVO;
+import feign.FeignException;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.MediaType;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RequestPart;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/6/21 15:33
+ */
+@Component
+@Slf4j
+public class CdssHystrix implements CdssClient {
+    @Override
+    public void exportExcelModule(@Valid MappingConfigVO mappingConfigVO) {
+        log.error("【hystrix】调用{}异常", "exportExcelModule");
+    }
+
+    @Override
+    public RespDTO<Boolean> dataVerify(@RequestParam("file") MultipartFile file,
+                                       @RequestParam("type") Integer type) {
+        log.error("【hystrix】调用{}异常", "dataVerify");
+        return null;
+    }
+
+    @Override
+    public void precDataMatch(MultipartFile file, HttpServletResponse response, Integer type) {
+        log.error("【hystrix】调用{}异常", "precDataMatch");
+    }
+
+    @Override
+    public RespDTO<List<MappingConfigWrapper>> precDataMatch_remote(@RequestPart("file") MultipartFile file,
+                                                                    @RequestParam("type") Integer type) throws FeignException {
+        log.error("【hystrix】调用{}异常", "precDataMatch_remote");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> importExcelDataVerify(@RequestPart("file") MultipartFile file,
+                                           @RequestParam("hospitalId") Long hospitalId,
+                                           @RequestParam("type") Integer type,
+                                           @RequestParam("uesrId") String userId){
+        log.error("【hystrix】调用{}异常", "importExcelDataVerify");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> importExcel(@RequestPart("file") MultipartFile file,
+                                        @RequestParam("hospitalId") Long hospitalId,
+                                        @RequestParam("type") Integer type,
+                                        @RequestParam("uesrId") String userId) {
+        log.error("【hystrix】调用{}异常", "importExcel");
+        return null;
+    }
+
+    /**
+     * 数据导入
+     *
+     * @param file
+     * @param hospitalId
+     * @param type
+     * @param userId
+     */
+    @Override
+    public RespDTO<List<MappingConfigWrapper>> importExcel_remote(@RequestPart("file") MultipartFile file,
+                                                    @RequestParam("hospitalId") Long hospitalId,
+                                                    @RequestParam("type") Integer type,
+                                                    @RequestParam("uesrId") String userId){
+        log.error("【hystrix】调用{}异常", "importExcel_remote");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<MappingConfigWrapper>> exportExcel_remote(@RequestBody @Valid MappingConfigPageVO mappingConfigPageVO) {
+        log.error("【hystrix】调用{}异常", "exportExcel_remote");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Page<MappingConfigWrapper>> getPage(@Valid MappingConfigPageVO mappingConfigPageVO) {
+        log.error("【hystrix】调用{}异常", "getPage");
+        return null;
+    }
+
+    @Override
+    public RespDTO<MappingConfigWrapper> getRecord(@Valid IdVO idVO) {
+        log.error("【hystrix】调用{}异常", "getRecord");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> isExistRecord(@Valid MappingConfig mappingConfig) {
+        log.error("【hystrix】调用{}异常", "isExistRecord");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<MappingConfigWrapper>> getRelatedMapping(@Valid MappingConfigVO mappingConfigVO) {
+        log.error("【hystrix】调用{}异常", "getRelatedMapping");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> saveOrUpdateRecord(@Valid MappingConfig mappingConfig) {
+        log.error("【hystrix】调用{}异常", "saveOrUpdateRecord");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> deleteRecord(@Valid IdVO idVO) {
+        log.error("【hystrix】调用{}异常", "deleteRecord");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> deleteRecords(@Valid IdListVO idListVO) {
+        log.error("【hystrix】调用{}异常", "deleteRecords");
+        return null;
+    }
+}

+ 22 - 0
cdssman-service/src/main/java/com/diagbot/config/FeignMultipartSupportConfig.java

@@ -0,0 +1,22 @@
+/*
+package com.diagbot.config;
+
+import feign.codec.Encoder;
+import feign.form.spring.SpringFormEncoder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+*/
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/6/22 15:26
+ *//*
+
+@Configuration
+public class FeignMultipartSupportConfig {
+    @Bean
+    public Encoder feignFormEncoder() {
+        return new SpringFormEncoder();
+    }
+}*/

+ 1 - 1
cdssman-service/src/main/java/com/diagbot/config/MybatisPlusConfigurer.java

@@ -27,7 +27,7 @@ public class MybatisPlusConfigurer {
         // 设置请求的页面大于最大页后操作,true调回到首页,false继续请求,默认false
         //paginationInterceptor.setOverflow(false);
         // 设置最大单页限制数量,默认500条,-1不受限制
-        paginationInterceptor.setLimit(500L);
+        paginationInterceptor.setLimit(-1L);
         return paginationInterceptor;
     }
 

+ 71 - 0
cdssman-service/src/main/java/com/diagbot/config/TransactionAspect.java

@@ -0,0 +1,71 @@
+/*
+package com.diagbot.config;
+import org.neo4j.ogm.session.SessionFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.DependsOn;
+import org.springframework.context.annotation.Primary;
+import org.springframework.data.neo4j.transaction.Neo4jTransactionManager;
+import org.springframework.data.transaction.ChainedTransactionManager;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.TransactionStatus;
+
+import javax.sql.DataSource;
+
+
+*/
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/1/19 12:39
+ *//*
+
+@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
+@Configuration
+@DependsOn("sessionFactory")
+public class TransactionAspect {
+
+    ThreadLocal<TransactionStatus> transactionStatusThreadLocal = new ThreadLocal<>();
+
+    */
+/**
+     * 定义mysql事务管理器,必须有transactionManager作为默认事务管理器
+     *
+     * @param dataSource
+     * @return
+     *//*
+
+    @Bean("transactionManager")
+    @Primary
+    public DataSourceTransactionManager transactionManager(DataSource dataSource) {
+        return new DataSourceTransactionManager(dataSource);
+    }
+
+    */
+/**
+     * 定义neo4j事务管理器
+     *
+     * @param sessionFactory
+     * @return
+     *//*
+
+    @Bean("neo4jTransactionManager")
+    public Neo4jTransactionManager neo4jTransactionManager(SessionFactory sessionFactory) {
+        return new Neo4jTransactionManager(sessionFactory);
+    }
+
+    @Autowired
+    @Bean(name = "multiTransactionManager")
+    public PlatformTransactionManager multiTransactionManager(
+            Neo4jTransactionManager neo4jTransactionManager,
+            DataSourceTransactionManager mysqlTransactionManager) {
+        return new ChainedTransactionManager(
+                neo4jTransactionManager, mysqlTransactionManager);
+    }
+
+}
+
+
+*/

+ 25 - 0
cdssman-service/src/main/java/com/diagbot/dto/BillMsg.java

@@ -0,0 +1,25 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+/**
+ * @description: 开单合理性提示语
+ * @author: zhoutg
+ * @time: 2020/7/29 9:57
+ */
+@Data
+public class BillMsg {
+
+    // 提示信息
+    private String msg;
+    // 开单名称
+    private String orderName;
+    // 明细名称
+    private String orderDetailName;
+    // 开单标准名称
+    private String orderStandName;
+    // 匹配的内容
+    private String content;
+    // 类型
+    private String type;
+}

+ 23 - 0
cdssman-service/src/main/java/com/diagbot/dto/CaseResultDTO.java

@@ -0,0 +1,23 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/1/13 17:07
+ */
+@Getter
+@Setter
+public class CaseResultDTO {
+    private String caseName;
+    private Long resultId;
+    private Long caseId;
+    private Integer ruleNum;
+    private Integer ruleSuccessNum;
+    private Integer ruleFailedNum;
+    private Date gmtModified;
+}

+ 23 - 0
cdssman-service/src/main/java/com/diagbot/dto/CaseStaticResultDTO.java

@@ -0,0 +1,23 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/1/22 10:16
+ */
+@Getter
+@Setter
+public class CaseStaticResultDTO {
+    private String caseName;
+    private Long resultId;
+    private Long caseId;
+    private Integer totleNum;
+    private Integer unMappingNum;
+    private Integer withoutKnowledgeNum;
+    private Date gmtModified;
+}

+ 37 - 0
cdssman-service/src/main/java/com/diagbot/dto/ConceptCollectionDTO.java

@@ -0,0 +1,37 @@
+package com.diagbot.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/8/6 9:43
+ */
+@Data
+public class ConceptCollectionDTO {
+    private Long collectionId;
+    private String collectionLibName;
+    private Integer collectionLibType;
+    @ApiModelProperty(hidden = true)
+    private Integer collectionStatus;
+    private String collectionRemark;
+    private Long relationId;
+    @ApiModelProperty(hidden = true)
+    private String concatConceptLibName;
+    private Integer conceptLibType;
+    @ApiModelProperty(hidden = true)
+    private Integer conceptStatus;
+    /**
+     * 修改时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private Date gmtModified;
+    /**
+     * 修改人
+     */
+    private String modifier;
+}

+ 18 - 0
cdssman-service/src/main/java/com/diagbot/dto/ConceptCollectionMatchDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import com.diagbot.vo.ConceptCollectionBaseVO;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/8/18 13:50
+ */
+@Data
+public class ConceptCollectionMatchDTO {
+    List<ConceptCollectionBaseVO> matchList;
+    List<ConceptCollectionBaseVO> unMatchList;
+    List<ConceptCollectionBaseVO> disableList;
+}

+ 5 - 0
cdssman-service/src/main/java/com/diagbot/dto/ConceptMappingDTO.java

@@ -21,4 +21,9 @@ public class ConceptMappingDTO {
     private Integer diseaseNum = 0;
     private Integer operationNum = 0;
     private Integer transfusionNum = 0;
+    private Integer scaleNum = 0;
+    private Integer nurseNum = 0;
+    private Integer tcmdiseaseNum = 0;
+    private Integer tcmsyndromeNum = 0;
+    private Integer anesthesiaNum = 0;
 }

+ 18 - 0
cdssman-service/src/main/java/com/diagbot/dto/DiagnosesFindDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-29 11:06
+ */
+@Setter
+@Getter
+public class DiagnosesFindDTO {
+
+    private Long conceptId;
+
+    private String conceptName;
+}

+ 22 - 0
cdssman-service/src/main/java/com/diagbot/dto/DiseaseAllDetailDTO.java

@@ -0,0 +1,22 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @author kwz
+ * @date 2021/3/9
+ * @time 17:08
+ */
+@Getter
+@Setter
+public class DiseaseAllDetailDTO implements Serializable {
+    private Long sid;
+    private String disName;
+    private Integer rid;
+    private String rname;
+    private Long eid;
+    private String itemName;
+}

+ 21 - 0
cdssman-service/src/main/java/com/diagbot/dto/DiseaseDetailDTO.java

@@ -0,0 +1,21 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author kwz
+ * @date 2021/3/9
+ * @time 17:05
+ */
+@Getter
+@Setter
+public class DiseaseDetailDTO implements Serializable {
+    private Long sid;
+    private String disName;
+    List<DiseaseSubDetailDTO> datas = new ArrayList<>();
+}

+ 1 - 0
cdssman-service/src/main/java/com/diagbot/dto/DiseaseInfoDTO.java

@@ -11,6 +11,7 @@ import lombok.Setter;
 @Getter
 @Setter
 public class DiseaseInfoDTO {
+    private Long id;
     /**
      * 疾病名称
      */

+ 41 - 0
cdssman-service/src/main/java/com/diagbot/dto/DiseasePageDTO.java

@@ -0,0 +1,41 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.web.bind.annotation.GetMapping;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author kwz
+ * @date 2021/3/9
+ * @time 14:04
+ */
+@Setter
+@Getter
+public class DiseasePageDTO  {
+
+    /**
+     * 主键
+     */
+    private Long id;
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+
+    /**
+     * 修改人姓名
+     */
+    private String modifier;
+
+    private String modifierName;
+
+    /**
+     * 诊断名称
+     */
+    private String disName;
+}

+ 22 - 0
cdssman-service/src/main/java/com/diagbot/dto/DiseaseSubDetailDTO.java

@@ -0,0 +1,22 @@
+package com.diagbot.dto;
+
+import com.diagbot.entity.KlConcept;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author kwz
+ * @date 2021/3/9
+ * @time 17:08
+ */
+@Getter
+@Setter
+public class DiseaseSubDetailDTO implements Serializable {
+    private Integer rid;
+    private String rname;
+    private List<KlConcept> details;
+    private List<Integer> libType;
+}

+ 19 - 0
cdssman-service/src/main/java/com/diagbot/dto/DiseaseTreeDetailDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @author kwz
+ * @date 2021/3/11
+ * @time 14:37
+ */
+@Setter
+@Getter
+public class DiseaseTreeDetailDTO {
+    private List<List<String>> types;
+
+    private DiseaseDetailDTO diseaseDetailDTO;
+}

+ 1 - 0
cdssman-service/src/main/java/com/diagbot/dto/DrugInfoDTO.java

@@ -13,6 +13,7 @@ import java.util.List;
 @Getter
 @Setter
 public class DrugInfoDTO {
+    private Long id;
     /**
      * 药品名称
      */

+ 17 - 0
cdssman-service/src/main/java/com/diagbot/dto/ExportCommonStaticTestDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/1/22 11:44
+ */
+@Getter
+@Setter
+public class ExportCommonStaticTestDTO extends ExportCommonTestDTO {
+    @Excel(name = "静态知识标识", width = 20, orderNum = "5", replace = { "无_0", "有_1" })
+    private Integer hasStaticKnowledge;
+}

+ 30 - 0
cdssman-service/src/main/java/com/diagbot/dto/ExportCommonTestDTO.java

@@ -0,0 +1,30 @@
+package com.diagbot.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/1/22 11:43
+ */
+@Getter
+@Setter
+public class ExportCommonTestDTO {
+    @Excel(name = "测试时间", width = 40, orderNum = "1", format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date gmtModified;
+    @Excel(name = "医院术语", width = 40, orderNum = "2")
+    private String hisName;
+    private String hisDetailName;
+    @Excel(name = "标准术语", width = 40, orderNum = "4")
+    private String name;
+    /**
+     * 是否有标准词(0:无,1:有)
+     */
+    private Integer hasStandName;
+}

+ 18 - 0
cdssman-service/src/main/java/com/diagbot/dto/ExportConceptAllDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-06-01 17:21
+ */
+@Setter
+@Getter
+public class ExportConceptAllDTO extends ExportConceptModeDTO {
+
+    @Excel(name = "错误信息", orderNum = "7", isImportField = "true")
+    private String msg;
+}

+ 27 - 0
cdssman-service/src/main/java/com/diagbot/dto/ExportConceptModeDTO.java

@@ -0,0 +1,27 @@
+package com.diagbot.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-06-08 11:24
+ */
+@Setter
+@Getter
+public class ExportConceptModeDTO {
+    @Excel(name = "医学标准术语",width = 40, orderNum = "1", isImportField = "true" )
+    private String libName;
+    @Excel(name = "同义词",width = 40, orderNum = "2", isImportField = "true" )
+    private String synonymName;
+    @Excel(name = "类型",orderNum = "3", isImportField = "true" )
+    private String typeName;
+    @Excel(name = "性别", mergeRely = {1,2,3},orderNum = "4", isImportField = "true" )
+    private Integer sexType;
+    @Excel(name = "最小年龄", orderNum = "5", isImportField = "true" )
+    private Double minAge;
+    @Excel(name = "最大年龄", orderNum = "6", isImportField = "true" )
+    private Double maxAge;
+}

+ 17 - 0
cdssman-service/src/main/java/com/diagbot/dto/ExportLisStaticTestDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/1/22 11:30
+ */
+@Getter
+@Setter
+public class ExportLisStaticTestDTO extends ExportLisTestDTO {
+    @Excel(name = "静态知识标识", width = 20, orderNum = "5", replace = { "无_0", "有_1" })
+    private Integer hasStaticKnowledge;
+}

+ 32 - 0
cdssman-service/src/main/java/com/diagbot/dto/ExportLisTestDTO.java

@@ -0,0 +1,32 @@
+package com.diagbot.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/1/22 11:31
+ */
+@Getter
+@Setter
+public class ExportLisTestDTO {
+
+    @Excel(name = "测试时间", width = 40, orderNum = "1", format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date gmtModified;
+    @Excel(name = "医院术语(检验套餐)", width = 40, orderNum = "2")
+    private String hisName;
+    @Excel(name = "医院术语(检验细项)", width = 40, orderNum = "3")
+    private String hisDetailName;
+    @Excel(name = "标准术语", width = 40, orderNum = "4")
+    private String name;
+    /**
+     * 是否有标准词(0:无,1:有)
+     */
+    private Integer hasStandName;
+}

+ 46 - 0
cdssman-service/src/main/java/com/diagbot/dto/GetAllForRelationDTO.java

@@ -0,0 +1,46 @@
+package com.diagbot.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author kongwz
+ * @time 2018年12月5日下午5:00:34
+ */
+@Getter
+@Setter
+public class GetAllForRelationDTO {
+
+	/**
+	 * 概念id
+	 */
+	@ApiModelProperty(value="概念id")
+	private Long conceptId;
+
+	/**
+	 * 概念名称
+	 */
+	@ApiModelProperty(value="概念名称")
+	private String conceptName;
+
+	/**
+	 * 概念id
+	 */
+	@ApiModelProperty(value="概念id")
+	private Integer libType;
+
+	/**
+	 * 概念名称(类型)
+	 */
+	@ApiModelProperty(value="概念名称(类型)")
+	private String conceptNameType;
+
+	/**
+	 * 说明
+	 */
+	@ApiModelProperty(value="说明(remark)")
+	private String remark;
+
+}

+ 72 - 0
cdssman-service/src/main/java/com/diagbot/dto/HospitalInfoGetDTO.java

@@ -0,0 +1,72 @@
+package com.diagbot.dto;
+
+import com.google.common.collect.Lists;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ * 医院信息表
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2020-08-06
+ */
+@Data
+public class HospitalInfoGetDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 医院名称
+     */
+    private String name;
+
+    /**
+     * 医院地址
+     */
+    private String address;
+
+    /**
+     * 医院名称拼音
+     */
+    private String spell;
+
+    /**
+     * 状态:0.禁用1.启用
+     */
+    private Integer status;
+
+    /**
+     * 是否对接(0-不对接,1-对接)
+     */
+    private Integer connect;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 子医院关联表
+     */
+    private List<HospitalRelationDTO> hospitalRelationDTOList = Lists.newLinkedList();
+}

+ 70 - 0
cdssman-service/src/main/java/com/diagbot/dto/HospitalInfoPageDTO.java

@@ -0,0 +1,70 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 医院信息表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-08-06
+ */
+@Data
+public class HospitalInfoPageDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 医院名称
+     */
+    private String name;
+
+    /**
+     * 医院地址
+     */
+    private String address;
+
+    /**
+     * 医院名称拼音
+     */
+    private String spell;
+
+    /**
+     * 状态:0.禁用1.启用
+     */
+    private Integer status;
+
+    /**
+     * 是否对接(0-不对接,1-对接)
+     */
+    private Integer connect;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 子医院
+     */
+    private String sonHospital;
+}

+ 30 - 0
cdssman-service/src/main/java/com/diagbot/dto/HospitalRelationDTO.java

@@ -0,0 +1,30 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 医院关联表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-08-06
+ */
+@Data
+public class HospitalRelationDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 子医院名称
+     */
+    private String name;
+
+    /**
+     * 子医院编码
+     */
+    private String code;
+
+}

+ 27 - 0
cdssman-service/src/main/java/com/diagbot/dto/HospitalRelationErrorDTO.java

@@ -0,0 +1,27 @@
+package com.diagbot.dto;
+
+import com.diagbot.vo.HospitalRelationVO;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * <p>
+ * 医院关联表提示出错
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-08-06
+ */
+@Data
+public class HospitalRelationErrorDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    // 当前医院重复
+    private List<HospitalRelationVO> errorCurrent;
+
+    // 与其他医院重复
+    private List<HospitalRelationVO> errorOther;
+}

+ 32 - 0
cdssman-service/src/main/java/com/diagbot/dto/IndexBatchDTO.java

@@ -0,0 +1,32 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/6/7 10:27
+ */
+@Getter
+@Setter
+public class IndexBatchDTO {
+    private Long id;
+    private Integer status;
+    private String name;
+    private String code;
+    private String synonyms;
+    private Integer type;
+    /**
+     * 国药准字
+     */
+    private String approval;
+    /**
+     * 药品剂型
+     */
+    private String form;
+    /**
+     * 药品剂型id
+     */
+    private Long formConceptId;
+}

+ 27 - 0
cdssman-service/src/main/java/com/diagbot/dto/IndicationDTO.java

@@ -0,0 +1,27 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @description: 提示信息出参
+ * @author: zhoutg
+ * @time: 2020/7/29 9:57
+ */
+@Data
+public class IndicationDTO {
+    // 危机值提醒
+    private List<BillMsg> criticalValList = new ArrayList<>();
+    // 开单合理性提示信息
+    private List<BillMsg> billMsgList = new ArrayList<>();
+    // 高危药品、手术
+    private List<BillMsg> highRiskList = new ArrayList<>();
+    // 其他提醒
+    private List<BillMsg> otherList = new ArrayList<>();
+    // 记录调试信息
+    private Map<String, Object> debug = new LinkedHashMap<>();
+}

+ 58 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlConceptAllDTO.java

@@ -0,0 +1,58 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-02 14:07
+ */
+@Setter
+@Getter
+public class KlConceptAllDTO {
+    private Long conceptId;
+    private Long libId;
+    private String libName;
+    private String spell;
+    private Integer libType;
+    private String typeName;
+    private String synonymName;
+    private Integer status;
+    private Integer isConcept;
+    private Integer sexType;
+    private Integer isHasCommon;
+    private Double minAge;
+    private Double maxAge;
+    private String remark;
+    private List<KlConceptAllSubDTO> klConceptSub;
+
+    // 疾病扩展信息
+    private KlDiseaseDTO klDiseaseDTO;
+
+    // 药品扩展信息
+    private KlDrugDTO klDrugDTO;
+
+    // 症状扩展信息
+    private KlSymptomDTO klSymptomDTO;
+
+    //化验扩展信息
+    private KlLisDTO klLisDTO;
+
+    //辅检扩展信息
+    private KlPacsDTO klPacsDTO;
+
+    //手术扩展信息
+    private KlOperationDTO klOperationDTO;
+
+    //体征结果扩展信息
+    private KlVitalResultDTO klVitalResultDTO;
+
+    // 中医疾病扩展信息
+    private KlTcmDiseaseDTO klTcmDiseaseDTO;
+
+    // 中医证候扩展信息
+    private KlTcmSyndromeDTO klTcmSyndromeDTO;
+}

+ 26 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlConceptAllSubDTO.java

@@ -0,0 +1,26 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-12 9:25
+ */
+@Setter
+@Getter
+public class KlConceptAllSubDTO {
+    private Long conceptId;
+    private Long libId;
+    private String libName;
+    private String spell;
+    private Integer libType;
+    private String typeName;
+    private String synonymName;
+    private Integer status;
+    private Integer isConcept;
+    private Integer sexType;
+    private Integer isHasCommon;
+    private String remark;
+}

+ 43 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlConceptDetailDTO.java

@@ -0,0 +1,43 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/2/24 13:39
+ */
+@Getter
+@Setter
+public class KlConceptDetailDTO {
+    /**
+     * 提示概念id
+     */
+    private Long conceptId;
+
+    /**
+     * 提示明细标题
+     */
+    private String title;
+
+    /**
+     * 提示明细内容
+     */
+    private String content;
+
+    /**
+     * 纯文本
+     */
+    private String text;
+
+    /**
+     * 提示明细序号
+     */
+    private Integer orderNo;
+
+    /**
+     * 内容类型(多选):1-化验、辅检、手术和操作、诊断、药品静态信息,2-注意事项,3-临床路径,4-治疗方案
+     */
+    private String contentType;
+}

+ 28 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlConceptInfoDTO.java

@@ -0,0 +1,28 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-01 13:24
+ */
+@Setter
+@Getter
+public class KlConceptInfoDTO {
+    private Long  conceptId;
+    private String libName;
+    private Integer libType;
+    private String typeName;
+    private String synonymName;
+    private Integer status;
+    private String modifierId;
+    private String modifierName;
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+}

+ 107 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlConceptScaleDTO.java

@@ -0,0 +1,107 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-05-25 10:00
+ */
+@Setter
+@Getter
+public class KlConceptScaleDTO {
+
+    private Long id;
+
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 术语概念id
+     */
+    private Long conceptId;
+
+    /**
+     * -1:表示顶级,其他值表示上级菜单的id
+     */
+    private Long parentId;
+
+    /**
+     * 内容
+     */
+    private String content;
+
+    /**
+     * 编码
+     */
+    private String ruleCode;
+
+    /**
+     * 扣分
+     */
+    private BigDecimal score;
+
+    /**
+     * 系数
+     */
+    private BigDecimal factor;
+
+    /**
+     * 常数
+     */
+    private BigDecimal constant;
+
+    /**
+     * 11表格;12文本;21标题;31算分;32显示选择结果
+     */
+    private Integer textType;
+    /**
+     * 结果类型(1算分;2显示选择结果)
+     */
+    private Integer resultType;
+    /**
+     * 选择类型(1单选2多选)
+     */
+    private Integer selectType;
+
+    /**
+     * 显示顺序
+     */
+    private Integer orderNo;
+
+    /**
+     * 1:显示,0:不显示,2隐藏
+     */
+    private Integer status;
+
+    /**
+     * 组别互斥(同组互斥)
+     */
+    private Integer groupNum;
+
+    /**
+     * 结果
+     */
+    private String result;
+
+    /**
+     * 推送信息
+     */
+    private String pushInfo;
+
+    private String remark;
+
+}

+ 35 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlConceptSimDTO.java

@@ -0,0 +1,35 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 概念表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-03-01
+ */
+@Data
+public class KlConceptSimDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键,概念id
+     */
+    private Long id;
+
+    /**
+     * 概念名称(冗余)
+     */
+    private String libName;
+
+    /**
+     * 概念词性type(冗余)
+     */
+    private Integer libType;
+
+}

+ 67 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlConceptStaticDTO.java

@@ -0,0 +1,67 @@
+package com.diagbot.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/2/24 13:38
+ */
+@Getter
+@Setter
+public class KlConceptStaticDTO {
+    /**
+     * 术语id
+     */
+    private Long id;
+    /**
+     * 术语名称
+     */
+    private String name;
+    /**
+     * 关联标题
+     */
+    private String title;
+    /**
+     * 术语类型(词性)
+     */
+    private Integer type;
+    /**
+     * 术语类型(词性)
+     */
+    private String typeName;
+    /**
+     * 临床路径名称
+     */
+    private String clinicalPathwayName;
+    /**
+     * 注意事项名称
+     */
+    private String noticeName;
+    /**
+     * 修改时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private Date gmtModified;
+    /**
+     * 修改人
+     */
+    private String modifier;
+    /**
+     * 启用状态
+     */
+    private Integer status;
+    /**
+     * 明细
+     */
+    List<KlConceptDetailDTO> details;
+    /**
+     * 量表结构
+     */
+    private KlScaleByIdDTO scale;
+}

+ 90 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseByIdDTO.java

@@ -0,0 +1,90 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-19 15:26
+ */
+@Setter
+@Getter
+public class KlDiagnoseByIdDTO {
+    private Long id;
+    private String description;//规则名称
+    private Long conceptId;//提示概念id
+    private String libName;
+    private Integer libType;
+    private String lename;
+    private Integer status;//启用状态(0:禁用,1:启用)
+    /**
+     * 条件类型(1:基础条件;2:拟诊条件;3:确诊条件;4:警惕条件)
+     */
+    private Integer conditionType;
+
+    /**
+     * 规则组别(condition_type为2:拟诊条件;3:确诊条件;4:警惕条件有效)
+     */
+    private Integer conditionGroup;
+
+    /**
+     * 符合数量(condition_type为2:拟诊条件;3:确诊条件;4:警惕条件有效)
+     */
+    private Integer fitNo;
+    /**
+     * 基础规则组别(condition_type为1:基础条件;2:拟诊条件;3:确诊条件;4:警惕条件都有效)
+     */
+    private Integer baseGroup;
+    /**
+     * 描述
+     */
+    private String basDescription;
+    /*    private Long basConceptId;
+        private String basLibName;*/
+    private List<KlDiagnoseLibNameDTO> libNameList;
+    private Integer basLibType;
+    private String basLename;
+    /**
+     * 基础规则类型(1:等于术语本身;2:存在比较;3:不等于术语本身;)
+     */
+    private Integer basType;
+    /**
+     * 最小域比较符
+     */
+    private String minOperator;
+    /**
+     * 最小域值
+     */
+    private String minVal;
+
+    /**
+     * 最小域单位
+     */
+    private String minUnit;
+    /**
+     * 最大域比较符
+     */
+    private String maxOperator;
+    /**
+     * 最大域值
+     */
+    private String maxVal;
+    /**
+     * 最大域单位
+     */
+    private String maxUnit;
+    /**
+     * 等于域比较符
+     */
+    private String eqOperator;
+    /**
+     * 等于域值
+     */
+    private String eqValue;
+    /**
+     * 等于域单位
+     */
+    private String eqUnit;
+}

+ 33 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseGroupDTO.java

@@ -0,0 +1,33 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-22 10:33
+ */
+@Setter
+@Getter
+public class KlDiagnoseGroupDTO {
+    /**
+     * 基础规则组别(condition_type为1:基础条件;2:拟诊条件;3:确诊条件;4:警惕条件都有效)
+     */
+    private Integer baseGroup;
+    /**
+     * 满足的条件
+     */
+    private Integer fitNo;
+    /**
+     * 上一级的组别
+     */
+
+    /**
+     * 组别里的明细
+     */
+    List<KlDiagnoseByIdDTO>  klDiagnoseByIdDTO;
+
+}

+ 47 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseInfoDTO.java

@@ -0,0 +1,47 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-19 14:58
+ */
+@Setter
+@Getter
+public class KlDiagnoseInfoDTO {
+
+    private Long id;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    private String modifierName;
+
+    /**
+     * 疾病概念id
+     */
+    private Long conceptId;
+
+    private String conceptName;
+    /**
+     * 描述
+     */
+    private String description;
+
+    /**
+     * 启用状态(0:禁用,1:启用)
+     */
+    private Integer status;
+
+}

+ 19 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseLibNameDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-07-01 10:20
+ */
+@Setter
+@Getter
+public class KlDiagnoseLibNameDTO {
+    private Long basId;
+    private Long basConceptId;
+    private String basLibName;
+    private Integer basLibType;
+    private String basLename;
+}

+ 28 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseTypeDTO.java

@@ -0,0 +1,28 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-22 10:58
+ */
+@Setter
+@Getter
+public class KlDiagnoseTypeDTO {
+
+    /**
+     * 条件类型名
+     */
+    private String conditionTypeName;
+    /**
+     * 条件类型(1:基础条件;2:拟诊条件;3:确诊条件;4:警惕条件)
+     */
+    private Integer conditionType;
+    private Integer conditionGroup;
+
+    List<KlDiagnoseGroupDTO> byIdDTO;
+}

+ 151 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDiseaseDTO.java

@@ -0,0 +1,151 @@
+package com.diagbot.dto;
+
+import com.google.common.collect.Lists;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * <p>
+ * 疾病表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+@Data
+public class KlDiseaseDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 科室概念id
+     */
+    private Long deptId;
+
+    /**
+     * ICD10编号
+     */
+    private String icd10Code;
+
+    /**
+     * 病程
+     */
+    private String course;
+
+    /**
+     * 诱因
+     */
+    private String inducement;
+
+    /**
+     * 饮食禁忌
+     */
+    private String foodProhibition;
+
+    /**
+     * 危险因素
+     */
+    private String hazard;
+
+    /**
+     * 治愈性
+     */
+    private String healing;
+
+    /**
+     * 危害性
+     */
+    private String pernicious;
+
+    /**
+     * 临床分类
+     */
+    private String clinicType;
+
+    /**
+     * 好发地区
+     */
+    private String vulArea;
+
+    /**
+     * 好发人群
+     */
+    private String vulCrowd;
+
+    /**
+     * 发病率
+     */
+    private Double incidence;
+
+    /**
+     * 是否传染(0:否,1:是)
+     */
+    private Integer isInfect;
+
+    /**
+     * 并发症
+     */
+    private String complication;
+
+    /**
+     * 病因
+     */
+    private String pathogeny;
+
+    /**
+     * 疾病分型
+     */
+    private String disType;
+
+    /**
+     * 中西医疾病(0:通用,1:西,2:中)
+     */
+    private Integer chWestern;
+
+    /**
+     * 是否常见病(0:否,1:是)
+     */
+    private Integer isCommonDis;
+
+    /**
+     * 是否遗传(0:否,1:是)
+     */
+    private Integer isHeredity;
+
+    /**
+     * 简称
+     */
+    private String nameSimple;
+
+    /**
+     * 英文简称
+     */
+    private String enNameSimple;
+
+    /**
+     * 英文名称
+     */
+    private String enName;
+
+    /**
+     * 肿瘤细胞类型
+     */
+    private String tumorCellType;
+
+    /**
+     * 形态学分类代码
+     */
+    private String morphology;
+
+    // 科室列表
+    private List<KlConceptSimDTO> deptList = Lists.newLinkedList();
+
+    // 部位列表
+    private List<KlConceptSimDTO> partList = Lists.newLinkedList();
+
+    // 疾病系统分类列表
+    private List<KlConceptSimDTO> systemTypeList = Lists.newLinkedList();
+
+}

+ 26 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDrugDTO.java

@@ -0,0 +1,26 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 药品
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+@Data
+public class KlDrugDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    // 药品类别(0:西药,1:中成药)
+    private Integer drug;
+
+    // 通用药品名关联注册药品
+    // private List<KlDrugMappingDTO> klDrugMappingDTOList = Lists.newLinkedList();
+
+}

+ 26 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDrugExportDTO.java

@@ -0,0 +1,26 @@
+package com.diagbot.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 药品通用名导出
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+@Data
+public class KlDrugExportDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 注册名称
+     */
+    @Excel(name = "药品通用名", orderNum = "1")
+    private String name;
+}

+ 95 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDrugMappingDTO.java

@@ -0,0 +1,95 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 药品注册表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+@Data
+public class KlDrugMappingDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 药品代码
+     */
+    private String drugCode;
+
+    /**
+     * 注册名称
+     */
+    private String name;
+
+    /**
+     * 英文名称
+     */
+    private String enName;
+
+    /**
+     * 商品名称
+     */
+    private String tradeName;
+
+    /**
+     * 药品剂型
+     */
+    private String form;
+
+    /**
+     * 注册规格
+     */
+    private String specification;
+
+    /**
+     * 最小包装数量
+     */
+    private String minPackQuantity;
+
+    /**
+     * 最小包装单位
+     */
+    private String minPackUnit;
+
+    /**
+     * 药品企业
+     */
+    private String company;
+
+    /**
+     * 批准文号
+     */
+    private String approval;
+
+    /**
+     * 药品本位码
+     */
+    private String standardCode;
+
+    /**
+     * 医保类型
+     */
+    private String insuranceType;
+
+    /**
+     * 医保备注
+     */
+    private String insuranceRemrk;
+
+    /**
+     * 药品类别
+     */
+    private String drugType;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 135 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDrugRegisterDTO.java

@@ -0,0 +1,135 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 药品注册表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+@Data
+public class KlDrugRegisterDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    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 drugCode;
+
+    /**
+     * 注册名称
+     */
+    private String name;
+
+    /**
+     * 英文名称
+     */
+    private String enName;
+
+    /**
+     * 商品名称
+     */
+    private String tradeName;
+
+    /**
+     * 药品剂型
+     */
+    private String form;
+
+    /**
+     * 注册规格
+     */
+    private String specification;
+
+    /**
+     * 最小包装数量
+     */
+    private String minPackQuantity;
+
+    /**
+     * 最小包装单位
+     */
+    private String minPackUnit;
+
+    /**
+     * 药品企业
+     */
+    private String company;
+
+    /**
+     * 批准文号
+     */
+    private String approval;
+
+    /**
+     * 药品本位码
+     */
+    private String standardCode;
+
+    /**
+     * 医保类型
+     */
+    private String insuranceType;
+
+    /**
+     * 医保备注
+     */
+    private String insuranceRemrk;
+
+    /**
+     * 药品类别
+     */
+    private String drugType;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 药品通用名
+     */
+    private Long drugConceptId;
+
+    /**
+     * 药品通用名
+     */
+    private String drugName;
+}

+ 90 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlLexiconDTO.java

@@ -0,0 +1,90 @@
+package com.diagbot.dto;
+
+import com.diagbot.enums.YesNoEnum;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2021/3/2 11:25
+ */
+@Getter
+@Setter
+public class KlLexiconDTO {
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    @JsonFormat(timezone="GMT+8",pattern ="yyyy-MM-dd HH:mm:ss")
+    private Date gmtModified;
+
+    /**
+     * 操作人
+     */
+    private String operName;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 类型名称
+     */
+    private String name;
+
+    /**
+     * 数字编码(100~500)
+     */
+    private Integer code;
+
+    /**
+     * 是否有通用扩展(0:否;1:是)
+     */
+    private Integer isHasCommon;
+
+    /**
+     * 是否有通用扩展(0:否;1:是)中文
+     */
+    private String isHasCommonCn;
+    public String getIsHasCommonCn() {
+        return YesNoEnum.getName(this.isHasCommon);
+    }
+
+    /**
+     * 是否只有一个(0:否;1:是)
+     */
+    private Integer onlyOne;
+    /**
+     * 是否只有一个(0:否;1:是)中文
+     */
+    private String onlyOneCn;
+    public String getOnlyOneCn() {
+        return YesNoEnum.getName(this.onlyOne);
+    }
+
+    /**
+     * 是否允许修改(0:否;1:是)
+     */
+    private Integer canChange;
+    /**
+     * 是否允许修改(0:否;1:是)中文
+     */
+    private String canChangeCn;
+    public String getCanChangeCn() {
+        return YesNoEnum.getName(this.canChange);
+    }
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 48 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlLexiconRelationshipDTO.java

@@ -0,0 +1,48 @@
+package com.diagbot.dto;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2021/3/2 11:29
+ */
+@Getter
+@Setter
+public class KlLexiconRelationshipDTO extends Page {
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    @JsonFormat(timezone="GMT+8",pattern ="yyyy-MM-dd HH:mm:ss")
+    private Date gmtModified;
+
+    /**
+     * 操作人
+     */
+    private String operName;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 类型名称
+     */
+    private String name;
+
+    /**
+     * 数字编码(100~500)
+     */
+    private Integer code;
+}

+ 78 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlLisDTO.java

@@ -0,0 +1,78 @@
+package com.diagbot.dto;
+
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+;
+
+/**
+ * <p>
+ * 化验表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+@Data
+public class KlLisDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 最小值
+     */
+    private Double minValue;
+
+    /**
+     * 最大值
+     */
+    private Double maxValue;
+
+    /**
+     * 类型(0:范围内;1:范围外)
+     */
+    private Integer type;
+
+    /**
+     * 单位概念id
+     */
+
+    private String unit;
+
+    /**
+     * 检查标本
+     */
+    private String checkSpecimen;
+
+    /**
+     * 检查方法
+     */
+    private String checkMethod;
+
+    /**
+     * 影响因素
+     */
+    private String influenceFac;
+
+    /**
+     * 临床意义
+     */
+    private String clinicalSig;
+
+    /**
+     * 定性(阴、阳性)
+     */
+    private String qualitative;
+
+    /**
+     * 所属类别
+     */
+    private String category;
+
+    /**
+     * 英文名称
+     */
+    private String enName;
+}

+ 33 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlOperationDTO.java

@@ -0,0 +1,33 @@
+package com.diagbot.dto;
+
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+;
+
+/**
+ * <p>
+ * 手术表
+ * </p>
+ *
+ * @author kwz
+ * @since 2021-05-11
+ */
+@Data
+public class KlOperationDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 手术级别(0,1,2,3,4)
+     */
+    private Integer operationLevel;
+
+    /**
+     * 手术操作码
+     */
+    private String operationCode;
+
+}

+ 63 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlPacsDTO.java

@@ -0,0 +1,63 @@
+package com.diagbot.dto;
+
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+;
+
+/**
+ * <p>
+ * 辅检表
+ * </p>
+ *
+ * @author kwz
+ * @since 2021-05-11
+ */
+@Data
+public class KlPacsDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 检查方法
+     */
+    private String checkMethod;
+
+    /**
+     * 项目定义
+     */
+    private String definition;
+
+    /**
+     * 检查目的
+     */
+    private String checkObjective;
+
+    /**
+     * 检查技术
+     */
+    private String checkSkillful;
+
+    /**
+     * 禁忌症和局限性
+     */
+    private String condLimit;
+
+    /**
+     * 适应症
+     */
+    private String interventional;
+
+    /**
+     * 危急标识(0:不危急,1:危急)
+     */
+    private Integer emergencySign;
+
+    /**
+     * 检查前准备
+     */
+    private String checkPrepare;
+
+}

+ 27 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlRuleByIdParDTO.java

@@ -0,0 +1,27 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-08 13:18
+ */
+@Setter
+@Getter
+public class KlRuleByIdParDTO {
+    private Long parId;
+    private String parDescription;//规则名称
+    private Integer parRuleType;//规则类型(1:开单合理性;2:高危;3:危急值;4:其他值提醒;5:其他值提醒输血;6:正常项目重复开立)
+    private Long parConceptId;//提示概念id
+    private String parlibName;
+    private Integer parHasSub;//是否有子条件(0:无,1:有)
+    private String parMsg;//附加信息
+    private Integer parStatus;//启用状态(0:禁用,1:启用)
+    private String parLenName;
+    private String parLenCode;
+    private List<KlRuleByIdSubDTO>  klRuleByIdSub;
+}

+ 32 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlRuleByIdSubDTO.java

@@ -0,0 +1,32 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-08 13:16
+ */
+@Setter
+@Getter
+public class KlRuleByIdSubDTO {
+    private Long subId;//基础规则id
+    private String subDescription;//基础规则名称
+    private Long subConceptId;//医学标准术语id
+    private String subLibName;//医学标准术语
+    private String subLenName;//基础规则术语类型
+    private String subLenCode;//基础规则术语编码
+    private Integer subType;//基础规则类型(1:开单外等于术语本身;2:开单外存在比较;3:开单外不等于术语本身;4:过敏原;5:开单项;6:检查结果正则表达式)
+    private Integer groupType;
+    private String subMinOperator;//最小域比较符
+    private String subMinValue;//最小域值
+    private String subMinUnit;//最小域单位
+    private String subMaxOperator;//最大域比较符
+    private String subMaxValue;//最大域值
+    private String subMaxUnit;//最大域单位
+    private String subEqOperator;//等于域比较符
+    private String subEqValue;//等于域值
+    private String subEqUnit;//等于域单位
+    private String subMsg;
+}

+ 67 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlRuleInfoDTO.java

@@ -0,0 +1,67 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-05 13:44
+ */
+@Setter
+@Getter
+public class KlRuleInfoDTO {
+
+    /**
+     * 主键
+     */
+    private Long parId;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    private String modifierName;
+
+    /**
+     * 提示概念id
+     */
+    private Long parConceptId;
+
+    private String parConceptName;
+
+
+    private String parLibTypeName;
+    /**
+     * 描述
+     */
+    private String parDescription;
+
+    /**
+     * 规则类型(1:开单合理性;2:高危;3:危急值;4:其他值提醒;5:其他值提醒输血;6:正常项目重复开立)
+     */
+    private Integer parRuleType;
+
+    /**
+     * 是否有子条件(0:无,1:有)
+     */
+    private Integer parHasSub;
+
+    /**
+     * 启用状态(0:禁用,1:启用)
+     */
+    private Integer parStatus;
+
+    /**
+     * 附加信息
+     */
+    private String parMsg;
+}

+ 48 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlScaleByIdDTO.java

@@ -0,0 +1,48 @@
+package com.diagbot.dto;
+
+import com.diagbot.entity.wrapper.KlScaleDetailWrapper;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-05-10 10:36
+ */
+@Setter
+@Getter
+public class KlScaleByIdDTO {
+
+    private Long id;
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 术语概念id
+     */
+    private Long conceptId;
+
+    private String conceptName;
+
+
+    /**
+     * 状态
+     */
+    private Integer status;
+
+
+    /**
+     * 量表明细
+     */
+    private List<KlScaleDetailWrapper> klScaleDetail ;
+}

+ 89 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlSymptomDTO.java

@@ -0,0 +1,89 @@
+package com.diagbot.dto;
+
+import com.google.common.collect.Lists;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * <p>
+ * 症状扩展表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-12
+ */
+@Data
+public class KlSymptomDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 阳性症状(0:否,1:是)
+     */
+    private Integer isPositive;
+
+    /**
+     * 英文名称
+     */
+    private String enName;
+
+    /**
+     * 定义
+     */
+    private String definition;
+
+    /**
+     * 中西医症状(0:通用,1:西,2:中)
+     */
+    private Integer chWestern;
+
+    /**
+     * 缓解因素
+     */
+    private String mitigatingFac;
+
+    /**
+     * 加重因素
+     */
+    private String aggravateFac;
+
+    /**
+     * 症状起因
+     */
+    private String cause;
+
+    /**
+     * 常见疾病
+     */
+    private String commonDis;
+
+    /**
+     * 预防措施
+     */
+    private String preMeasures;
+
+    /**
+     * 饮食禁忌
+     */
+    private String foodProhibition;
+
+    /**
+     * 通俗解释
+     */
+    private String commonExplain;
+
+    // 科室列表
+    private List<KlConceptSimDTO> deptList = Lists.newLinkedList();
+
+    // 部位列表
+    private List<KlConceptSimDTO> partList = Lists.newLinkedList();
+
+    // 常见伴随症状列表
+    private List<KlConceptSimDTO> conSymptomList = Lists.newLinkedList();
+
+    // 性质列表
+    private List<KlConceptSimDTO> natureList = Lists.newLinkedList();
+
+}

+ 27 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlTcmDiseaseDTO.java

@@ -0,0 +1,27 @@
+package com.diagbot.dto;
+
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+;
+
+/**
+ * <p>
+ * 中医疾病
+ * </p>
+ *
+ * @author kwz
+ * @since 2021-05-11
+ */
+@Data
+public class KlTcmDiseaseDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 编码
+     */
+    private String code;
+}

+ 23 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlTcmSyndromeDTO.java

@@ -0,0 +1,23 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+/**
+ * <p>
+ * 中医证候
+ * </p>
+ *
+ * @author kwz
+ * @since 2021-05-11
+ */
+@Data
+public class KlTcmSyndromeDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 编码
+     */
+    private String code;
+}

+ 40 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlVitalResultDTO.java

@@ -0,0 +1,40 @@
+package com.diagbot.dto;
+
+
+import com.google.common.collect.Lists;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+;
+
+/**
+ * <p>
+ * 手术表
+ * </p>
+ *
+ * @author kwz
+ * @since 2021-05-11
+ */
+@Data
+public class KlVitalResultDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 不适宜人群
+     */
+    private String suitablePopNo;
+
+    /**
+     * 操作方法
+     */
+    private String checkMethod;
+
+    // 科室列表
+    private List<KlConceptSimDTO> deptList = Lists.newLinkedList();
+
+    // 部位列表
+    private List<KlConceptSimDTO> partList = Lists.newLinkedList();
+}

+ 34 - 0
cdssman-service/src/main/java/com/diagbot/dto/LexiconDTO.java

@@ -0,0 +1,34 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Objects;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/3/17 13:19
+ */
+@Getter
+@Setter
+public class LexiconDTO {
+    private Integer libType;
+    private String libTypeName;
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o)
+            return true;
+        if (o == null || getClass() != o.getClass())
+            return false;
+        LexiconDTO lexiconDTO = (LexiconDTO) o;
+        return Objects.equals(libType, lexiconDTO.libType)
+                && Objects.equals(libTypeName, lexiconDTO.libTypeName);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(libType, libTypeName);
+    }
+}

+ 1 - 0
cdssman-service/src/main/java/com/diagbot/dto/LisDetailDTO.java

@@ -11,6 +11,7 @@ import lombok.Setter;
 @Getter
 @Setter
 public class LisDetailDTO {
+    private Long id;
     /**
      * 大项(套餐)
      */

+ 19 - 0
cdssman-service/src/main/java/com/diagbot/dto/MedClassMedDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/3/3 15:39
+ */
+@Getter
+@Setter
+public class MedClassMedDTO {
+    private String medClassLibName;
+    private Integer medClassLibType;
+    private Long relationId;
+    private String medLibName;
+    private Integer medLibType;
+}

+ 19 - 0
cdssman-service/src/main/java/com/diagbot/dto/NurseInfoDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/4/23 10:55
+ */
+@Getter
+@Setter
+public class NurseInfoDTO {
+    private Long id;
+    /**
+     * 护理名称
+     */
+    private String name;
+}

+ 1 - 0
cdssman-service/src/main/java/com/diagbot/dto/OperationInfoDTO.java

@@ -11,6 +11,7 @@ import lombok.Setter;
 @Getter
 @Setter
 public class OperationInfoDTO {
+    private Long id;
     /**
      * 手术或操作名称
      */

+ 27 - 0
cdssman-service/src/main/java/com/diagbot/dto/RegulationIndexDTO.java

@@ -0,0 +1,27 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+/**
+ * @Description:
+ * @Author:zhoutg
+ * @time: 2020/8/17 11:28
+ */
+@Data
+public class RegulationIndexDTO {
+
+    /**
+     * 规则名称
+     */
+    private String name;
+
+    /**
+     * 规则编码
+     */
+    private Long code;
+
+    /**
+     * 规则类型:(1:量表)
+     */
+    private Integer type;
+}

+ 21 - 0
cdssman-service/src/main/java/com/diagbot/dto/RelationDTO.java

@@ -0,0 +1,21 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2021/3/10 16:52
+ */
+@Getter
+@Setter
+public class RelationDTO {
+    private Long sId;
+    private String sName;
+    private Long sType;
+    private Long rId;
+    private Long eId;
+    private String eName;
+    private Long eType;
+}

+ 52 - 0
cdssman-service/src/main/java/com/diagbot/dto/RelationNameDTO.java

@@ -0,0 +1,52 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:kongwz
+ * @time: 2021/3/8 16:15
+ */
+@Getter
+@Setter
+public class RelationNameDTO {
+    /**
+     * 开始conceptid
+     */
+    private Long startId;
+    /**
+     * 关系类型id
+     */
+    private Long relationId;
+    /**
+     * 开始概念名
+     */
+    private String startLibName;
+    /**
+     * 结束conceptid
+     */
+    private Long endId;
+    /**
+     * 结束概念名
+     */
+    private String endLibName;
+    /**
+     * 术语类型
+     */
+    private Long libType;
+    /**
+     * 药品通用名conceptid
+     */
+    private Long medId;
+    /**
+     * 药品通用名
+     */
+    private String medName;
+    /**
+     * 药品术语类型
+     */
+    private Long medLibType;
+}

+ 37 - 0
cdssman-service/src/main/java/com/diagbot/dto/RelationNamesDTO.java

@@ -0,0 +1,37 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:kongwz
+ * @time: 2021/3/8 16:15
+ */
+@Getter
+@Setter
+public class RelationNamesDTO {
+    /**
+     * 开始conceptid
+     */
+    private Long startId;
+    /**
+     * 关系类型id
+     */
+    private Long relationId;
+    /**
+     * 开始概念名
+     */
+    private String startLibName;
+
+    /**
+     * 结束概念名
+     */
+    private Map<Object,Object> data;
+    /**
+     * 下一级术语类型
+     */
+    private Long nextLibType;
+}

+ 88 - 0
cdssman-service/src/main/java/com/diagbot/dto/RelationNodeDTO.java

@@ -0,0 +1,88 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2018年12月5日下午5:00:34
+ */
+@Getter
+@Setter
+public class RelationNodeDTO {
+	
+	/**
+	 * 当前概念id start_id
+	 */
+	private Long conceptId;
+	
+	/**
+	 * 当前概念名称
+	 */
+	private String conceptName;
+	
+	/**
+	 * 当前概念类型id
+	 */
+	private Long conceptTypeId;
+	
+	/**
+	 * 当前概念类型名称
+	 */
+	private String conceptTypeName;
+	
+	/**
+	 * 当前概念名称(类型)
+	 */
+	private String conceptNameType;
+	
+	/**
+	 * 上一级概念id end_id
+	 */
+	private Long parentConceptId;
+	
+	/**
+	 * 上一级概念名称
+	 */
+	private String parentConceptName;
+	
+	/**
+	 * 上一级概念类型id
+	 */
+	private Long parentConceptTypeId;
+	
+	/**
+	 * 上一级概念类型名称
+	 */
+	private String parentConceptTypeName;
+	
+	/**
+	 * 上一级概念名称(类型)
+	 */
+	private String parentConceptNameType;
+	
+	/**
+	 * 当前概念(起点术语) 与 上一级概念(终点术语) 关系id
+	 */
+	private Long relationId;
+	
+	/**
+	 * 当前概念(起点术语) 与 上一级概念(终点术语) 关系名称
+	 */
+	private String relationName;
+	
+	/**
+     * 状态:Y-已删除,N-启用中
+     */
+	private String isDeletedConcept;
+	
+	/**
+	 * 下一级概念
+	 */
+	private List<RelationNodeDTO> nodeList;
+	
+
+}

+ 118 - 0
cdssman-service/src/main/java/com/diagbot/dto/ResultRulePageDTO.java

@@ -0,0 +1,118 @@
+package com.diagbot.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
+import com.diagbot.entity.ResultRule;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/3/15 13:32
+ */
+@Getter
+@Setter
+public class ResultRulePageDTO {
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    @Excel(name = "测试时间", width = 40, orderNum = "1", format = "yyyy-MM-dd HH:mm:ss", needMerge = true)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date gmtModified;
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 测试结果id
+     */
+    private Long resultId;
+
+    /**
+     * 规则序号
+     */
+    private Long ruleOrderNo;
+
+    /**
+     * 规则类型(1:开单-通用,2:开单-输血,3:危急值-检验,4:危急值-检查,5:高危药品,6:高危手术,7:其他值提醒-检验,8-其他值提醒-检查,9-其他值提醒-输血,10:正常项目重复开立)
+     */
+    private Integer ruleType;
+
+    /**
+     * 规则id
+     */
+    private Long ruleId;
+
+    /**
+     * 开单项类型(编码)
+     */
+    private Integer ruleLibType;
+
+    /**
+     * 开单项类型(名称)
+     */
+    @Excel(name = "规则术语类型", width = 40, orderNum = "2", needMerge = true)
+    private String ruleLibTypeName;
+
+    /**
+     * 开单项名称
+     */
+    @Excel(name = "规则医学标准术语", width = 40, orderNum = "3", needMerge = true)
+    private String ruleLibName;
+
+    /**
+     * 开单项名称(医院端)
+     */
+    @Excel(name = "规则医院术语", width = 40, orderNum = "4", needMerge = true)
+    private String ruleHisName;
+
+    /**
+     * 开单项名称-细项(医院端)
+     */
+    @Excel(name = "规则医院术语细项", width = 40, orderNum = "5", needMerge = true)
+    private String ruleHisDetailName;
+
+    /**
+     * 规则组别
+     */
+    @Excel(name = "规则组别", width = 40, orderNum = "6", needMerge = true)
+    private Integer groupType;
+
+    /**
+     * 基础规则
+     */
+    @ExcelCollection(name = "", orderNum = "7")
+    private List<ResultRule> baseRules;
+
+    /**
+     * 实际输出结果(提醒文本)
+     */
+    @Excel(name = "实际结果", width = 60, orderNum = "8", needMerge = true)
+    private String output;
+
+    /**
+     * 期望输出结果(提醒文本)
+     */
+    @Excel(name = "预期结果", width = 60, orderNum = "9", needMerge = true)
+    private String expectedOutput;
+
+    /**
+     * 成功标志(1:成功,0:失败)
+     */
+    @Excel(name = "测试结果", width = 20, orderNum = "10", replace = { "失败_0", "成功_1" }, needMerge = true)
+    private Integer success;
+
+    /**
+     * 提示信息(异常提醒)
+     */
+    @Excel(name = "失败原因", width = 60, orderNum = "11", needMerge = true)
+    private String message;
+
+    private String ids;
+}

+ 17 - 0
cdssman-service/src/main/java/com/diagbot/dto/RetrievalConceptDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-06-15 19:07
+ */
+@Setter
+@Getter
+public class RetrievalConceptDTO {
+    private Long id;
+    private String name;
+    private String code;
+}

+ 53 - 19
cdssman-service/src/main/java/com/diagbot/dto/RetrievalDTO.java

@@ -14,35 +14,69 @@ import java.util.List;
 @Setter
 public class RetrievalDTO {
     /**
-     * 化验大项
+     * 化验大项 辅检 诊断 药品 手术或操作 科室 输血 症状 体征 量表 护理 中医诊断 中医证候 麻醉 药品剂型
      */
-    private List<String> lisNames;
+    private List<RetrievalConceptDTO> nameList;
     /**
      * 化验小项
      */
     private List<LisDetailDTO> lisDetailNames;
     /**
      * 辅检
-     */
-    private List<String> pacsNames;
-    /**
+     *//*
+    private List<RetrievalConceptDTO> pacsNames;
+    *//**
      * 诊断
-     */
-    private List<DiseaseInfoDTO> diseaseNames;
-    /**
+     *//*
+    private List<RetrievalConceptDTO> diseaseNames;
+    *//**
      * 药品
-     */
-    private List<DrugInfoDTO> drugNames;
-    /**
+     *//*
+    private List<RetrievalConceptDTO> drugNames;
+    *//**
      * 手术或操作
-     */
-    private List<OperationInfoDTO> operationNames;
-    /**
+     *//*
+    private List<RetrievalConceptDTO> operationNames;
+    *//**
      * 科室
-     */
-    private List<String> deptNames;
-    /**
+     *//*
+    private List<RetrievalConceptDTO> deptNames;
+    *//**
      * 输血
-     */
-    private List<String> transfusionNames;
+     *//*
+    private List<RetrievalConceptDTO> transfusionNames;
+    *//**
+     * 症状
+     *//*
+    private List<RetrievalConceptDTO> symptomNames;
+    *//**
+     * 体征
+     *//*
+    private List<RetrievalConceptDTO> vitalNames;
+    *//**
+     * 量表
+     *//*
+    private List<RetrievalConceptDTO> scalenames;
+    *//**
+     * 护理
+     *//*
+    private List<RetrievalConceptDTO> nursenames;
+    *//**
+     * 中医诊断
+     *//*
+    private List<RetrievalConceptDTO> tcmdiseaseNames;
+    *//**
+     * 中医证候
+     *//*
+    private List<RetrievalConceptDTO> tcmsyndromeNames;
+    *//**
+     * 麻醉
+     *//*
+    private List<RetrievalConceptDTO> anesthesiaInfonames;
+
+    *//**
+     * 药品剂型
+     *//*
+    private List<RetrievalConceptDTO> drugDosage;*/
+
 }

+ 41 - 0
cdssman-service/src/main/java/com/diagbot/dto/RuleDTO.java

@@ -0,0 +1,41 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/3/1 15:40
+ */
+@Getter
+@Setter
+public class RuleDTO {
+    private Long ruleOrderNo;
+    private Integer ruleType;
+    private Integer ruleLibType;
+    private String ruleLibTypeName;
+    private String ruleLibName;
+    private Long ruleId;
+    private Long ruleConceptId;
+    private String ruleDescription;
+    private Integer hasSubCond;
+    private String ruleMsg;
+    private Integer groupType;
+    private Long ruleBaseId;
+    private String ruleBaseDescription;
+    private String ruleBaseEqOperator;
+    private String ruleBaseEqUnit;
+    private String ruleBaseEqValue;
+    private String ruleBaseMaxOperator;
+    private String ruleBaseMaxUnit;
+    private Double ruleBaseMaxValue;
+    private String ruleBaseMinOperator;
+    private String ruleBaseMinUnit;
+    private Double ruleBaseMinValue;
+    private Integer ruleBaseType;
+    private Long ruleBaseConceptId;
+    private String ruleBaseLibName;
+    private Integer ruleBaseLibType;
+    private String ruleBaseLibTypeName;
+}

+ 20 - 0
cdssman-service/src/main/java/com/diagbot/dto/ScaleInfoDTO.java

@@ -0,0 +1,20 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/4/13 14:06
+ */
+@Getter
+@Setter
+public class ScaleInfoDTO {
+    private Long id;
+    /**
+     * 量表名称
+     */
+    private String name;
+}
+

+ 4 - 0
cdssman-service/src/main/java/com/diagbot/dto/StaticKnowledgeIndexDTO.java

@@ -51,4 +51,8 @@ public class StaticKnowledgeIndexDTO {
      * 是否有治疗方案静态知识
      */
     private Integer hasTreatInfo = 0;
+    /**
+     * 启用禁用
+     */
+    private Integer status;
 }

+ 23 - 0
cdssman-service/src/main/java/com/diagbot/dto/TcmdiseaseInfoDTO.java

@@ -0,0 +1,23 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/5/13 15:37
+ */
+@Getter
+@Setter
+public class TcmdiseaseInfoDTO {
+    /**
+     * 疾病名称
+     */
+    private String name;
+
+    /**
+     * 编码
+     */
+    private String code;
+}

+ 23 - 0
cdssman-service/src/main/java/com/diagbot/dto/TcmsyndromeInfoDTO.java

@@ -0,0 +1,23 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/5/13 15:43
+ */
+@Getter
+@Setter
+public class TcmsyndromeInfoDTO {
+    /**
+     * 疾病名称
+     */
+    private String name;
+
+    /**
+     * 编码
+     */
+    private String code;
+}

+ 19 - 0
cdssman-service/src/main/java/com/diagbot/dto/TermConceptDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-06-15 19:10
+ */
+@Setter
+@Getter
+public class TermConceptDTO {
+    private Long id;
+    private String name;
+    private String code;
+    //数据来源(1-标准词、2-同义词、3-编码、4-历史数据、5-相似词、99-数据迁移)
+    private Integer source;
+}

+ 19 - 0
cdssman-service/src/main/java/com/diagbot/dto/TreeAllDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2021/3/10 17:02
+ */
+@Getter
+@Setter
+public class TreeAllDTO {
+    private List<Long> types;
+    private TreeDTO treeDTO;
+}

+ 20 - 0
cdssman-service/src/main/java/com/diagbot/dto/TreeDTO.java

@@ -0,0 +1,20 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2021/3/10 17:02
+ */
+@Getter
+@Setter
+public class TreeDTO {
+    private Long id;
+    private String name;
+    private List<TreeDTO> nextTree = new ArrayList<>();
+}

+ 47 - 0
cdssman-service/src/main/java/com/diagbot/entity/AnesthesiaConfig.java

@@ -0,0 +1,47 @@
+package com.diagbot.entity;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/6/10 19:16
+ */
+@Getter
+@Setter
+public class AnesthesiaConfig {
+    /**
+     * 医院id
+     */
+    private Long hospitalId;
+
+    /**
+     * 医院科室名称
+     */
+    @Excel(name = "医院麻醉名称", width = 40, orderNum = "1", isImportField = "true")
+    @NotBlank(message = "请输入医院麻醉名称")
+    private String hisName;
+
+    /**
+     * 标准科室名称
+     */
+    @Excel(name = "标准麻醉名称", width = 40, orderNum = "2", isImportField = "true")
+    @NotBlank(message = "请输入标准麻醉名称")
+    private String uniqueName;
+
+    /**
+     * 是否匹配(0-未匹配、1-已匹配)
+     */
+    @Excel(name = "是否匹配", width = 20, orderNum = "4", replace = { "未匹配_0", "已匹配_1", "_null"}, isImportField = "true")
+    private Integer isMatch;
+
+    /**
+     * 数据来源(1-标准词、2-同义词、3-编码、4-历史数据、5-相似词、99-数据迁移)
+     */
+    @Excel(name = "数据来源", width = 20, orderNum = "5", replace = { "标准词_1", "同义词_2", "编码_3", "历史数据_4", "相似词_5", "数据迁移_99", "_null" }, isImportField = "true")
+    private Integer source;
+}

+ 147 - 0
cdssman-service/src/main/java/com/diagbot/entity/CaseInfo.java

@@ -0,0 +1,147 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author gaodm
+ * @since 2021-01-22
+ */
+@TableName("test_case_info")
+public class CaseInfo 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 caseName;
+
+    /**
+     * 测试组
+     */
+    private Integer caseGroup;
+
+    /**
+     * 测试编号
+     */
+    private Integer caseNo;
+
+    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 getCaseName() {
+        return caseName;
+    }
+
+    public void setCaseName(String caseName) {
+        this.caseName = caseName;
+    }
+    public Integer getCaseGroup() {
+        return caseGroup;
+    }
+
+    public void setCaseGroup(Integer caseGroup) {
+        this.caseGroup = caseGroup;
+    }
+    public Integer getCaseNo() {
+        return caseNo;
+    }
+
+    public void setCaseNo(Integer caseNo) {
+        this.caseNo = caseNo;
+    }
+
+    @Override
+    public String toString() {
+        return "CaseInfo{" +
+            "id=" + id +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", caseName=" + caseName +
+            ", caseGroup=" + caseGroup +
+            ", caseNo=" + caseNo +
+        "}";
+    }
+}

+ 20 - 0
cdssman-service/src/main/java/com/diagbot/entity/CommonParam.java

@@ -0,0 +1,20 @@
+package com.diagbot.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @Description:
+ * @Author: ztg
+ * @Date: 2018/12/14 14:15
+ */
+@Getter
+@Setter
+public class CommonParam {
+    private String person;     //操作人
+    private Date now;          //当前时间
+    private Long conceptId;    //conceptId
+    private int insertOrUpdate;//更新或新增标识
+}

+ 34 - 109
cdssman-service/src/main/java/com/diagbot/entity/DeptConfig.java

@@ -1,19 +1,13 @@
 package com.diagbot.entity;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import org.bouncycastle.math.ec.custom.sec.SecT113Field;
+import com.diagbot.util.StringUtil;
+import lombok.Getter;
+import lombok.Setter;
 
 import javax.validation.constraints.NotBlank;
-import java.io.Serializable;
 import java.util.Date;
 import java.util.Objects;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.function.Function;
-import java.util.function.Predicate;
 
 /**
  * <p>
@@ -23,15 +17,12 @@ import java.util.function.Predicate;
  * @author zhaops
  * @since 2020-08-12
  */
-@TableName("tran_dept_config")
-public class DeptConfig implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
+@Getter
+@Setter
+public class DeptConfig {
     /**
      * 主键
      */
-    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
     /**
@@ -87,96 +78,19 @@ public class DeptConfig implements Serializable {
     /**
      * 对应项编码
      */
-    //@Excel(name = "对应项编码", width = 40, orderNum = "3")
-    private String uniqueCode;
-
-    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 getHospitalId() {
-        return hospitalId;
-    }
-
-    public void setHospitalId(Long hospitalId) {
-        this.hospitalId = hospitalId;
-    }
-
-    public String getHisName() {
-        return hisName;
-    }
-
-    public void setHisName(String hisName) {
-        this.hisName = hisName;
-    }
-
-    public String getHisCode() {
-        return hisCode;
-    }
-
-    public void setHisCode(String hisCode) {
-        this.hisCode = hisCode;
-    }
+    private String code;
 
-    public String getUniqueName() {
-        return uniqueName;
-    }
-
-    public void setUniqueName(String uniqueName) {
-        this.uniqueName = uniqueName;
-    }
-
-    public String getUniqueCode() {
-        return uniqueCode;
-    }
+    /**
+     * 是否匹配(0-未匹配、1-已匹配)
+     */
+    @Excel(name = "是否匹配【未匹配、已匹配】", width = 20, orderNum = "4", replace = { "未匹配_0", "已匹配_1", "_null" }, isImportField = "true")
+    private Integer isMatch;
 
-    public void setUniqueCode(String uniqueCode) {
-        this.uniqueCode = uniqueCode;
-    }
+    /**
+     * 数据来源(1-标准词、2-同义词、3-编码、4-历史数据、5-相似词、99-数据迁移)
+     */
+    @Excel(name = "数据来源【不填、标准词、同义词、编码、历史数据、相似词】", width = 20, orderNum = "5", replace = { "标准词_1", "同义词_2", "编码_3", "历史数据_4", "相似词_5", "数据迁移_99", "_null" }, isImportField = "true")
+    private Integer source;
 
     @Override
     public String toString() {
@@ -191,28 +105,39 @@ public class DeptConfig implements Serializable {
                 ", hisName=" + hisName +
                 ", hisCode=" + hisCode +
                 ", uniqueName=" + uniqueName +
-                ", uniqueCode=" + uniqueCode +
+                ", code=" + code +
                 "}";
     }
 
     @Override
     public boolean equals(Object o) {
-        if (this == o)
+        if (this == o) {
             return true;
-        if (o == null || getClass() != o.getClass())
+        }
+        if (o == null || getClass() != o.getClass()) {
             return false;
+        }
         DeptConfig deptConfig = (DeptConfig) o;
         return Objects.equals(id, deptConfig.id)
                 && Objects.equals(isDeleted, deptConfig.isDeleted)
                 && Objects.equals(hospitalId, deptConfig.hospitalId)
                 && Objects.equals(hisName, deptConfig.hisName)
-                //&& Objects.equals(hisCode, deptConfig.hisCode)
+                && Objects.equals(hisCode, deptConfig.hisCode)
                 && Objects.equals(uniqueName, deptConfig.uniqueName)
-                && Objects.equals(uniqueCode, deptConfig.uniqueCode);
+                && Objects.equals(code, deptConfig.code);
     }
 
     @Override
     public int hashCode() {
-        return Objects.hash(id, isDeleted, hospitalId, hisName, uniqueName, uniqueCode);
+        return Objects.hash(id, isDeleted, hospitalId, hisName, hisCode, uniqueName, code);
+    }
+
+    public static boolean nonNull(DeptConfig o) {
+        return !(o == null
+                || (o.hospitalId == null
+                && StringUtil.isBlank(o.hisName)
+                && StringUtil.isBlank(o.hisCode)
+                && StringUtil.isBlank(o.uniqueName)
+                && StringUtil.isBlank(o.code)));
     }
 }

+ 34 - 94
cdssman-service/src/main/java/com/diagbot/entity/DiseaseConfig.java

@@ -1,12 +1,11 @@
 package com.diagbot.entity;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.diagbot.util.StringUtil;
+import lombok.Getter;
+import lombok.Setter;
 
 import javax.validation.constraints.NotBlank;
-import java.io.Serializable;
 import java.util.Date;
 import java.util.Objects;
 
@@ -18,15 +17,12 @@ import java.util.Objects;
  * @author zhaops
  * @since 2020-07-28
  */
-@TableName("tran_disease_config")
-public class DiseaseConfig implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
+@Getter
+@Setter
+public class DiseaseConfig {
     /**
      * 主键
      */
-    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
     /**
@@ -77,87 +73,19 @@ public class DiseaseConfig implements Serializable {
      * ICD-10编码
      */
     @Excel(name = "ICD-10编码", width = 40, orderNum = "2", isImportField = "true")
-    private String icdCode;
-
-    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 getHospitalId() {
-        return hospitalId;
-    }
-
-    public void setHospitalId(Long hospitalId) {
-        this.hospitalId = hospitalId;
-    }
-
-    public String getHisName() {
-        return hisName;
-    }
+    private String code;
 
-    public void setHisName(String hisName) {
-        this.hisName = hisName;
-    }
-
-    public String getUniqueName() {
-        return uniqueName;
-    }
-
-    public void setUniqueName(String uniqueName) {
-        this.uniqueName = uniqueName;
-    }
-
-    public String getIcdCode() {
-        return icdCode;
-    }
+    /**
+     * 是否匹配(0-未匹配、1-已匹配)
+     */
+    @Excel(name = "是否匹配【未匹配、已匹配】", width = 20, orderNum = "4", replace = { "未匹配_0", "已匹配_1", "_null" }, isImportField = "true")
+    private Integer isMatch;
 
-    public void setIcdCode(String icdCode) {
-        this.icdCode = icdCode;
-    }
+    /**
+     * 数据来源(1-标准词、2-同义词、3-编码、4-历史数据、5-相似词、99-数据迁移)
+     */
+    @Excel(name = "数据来源【不填、标准词、同义词、编码、历史数据、相似词】", width = 20, orderNum = "5", replace = { "标准词_1", "同义词_2", "编码_3", "历史数据_4", "相似词_5", "数据迁移_99", "_null" }, isImportField = "true")
+    private Integer source;
 
     @Override
     public String toString() {
@@ -171,27 +99,39 @@ public class DiseaseConfig implements Serializable {
                 ", hospitalId=" + hospitalId +
                 ", hisName=" + hisName +
                 ", uniqueName=" + uniqueName +
-                ", icdCode=" + icdCode +
+                ", code=" + code +
+                ", isMatch=" + isMatch +
+                ", source=" + source +
                 "}";
     }
 
     @Override
     public boolean equals(Object o) {
-        if (this == o)
+        if (this == o) {
             return true;
-        if (o == null || getClass() != o.getClass())
+        }
+        if (o == null || getClass() != o.getClass()) {
             return false;
+        }
         DiseaseConfig diseaseConfig = (DiseaseConfig) o;
         return Objects.equals(id, diseaseConfig.id)
                 && Objects.equals(isDeleted, diseaseConfig.isDeleted)
                 && Objects.equals(hospitalId, diseaseConfig.hospitalId)
                 && Objects.equals(hisName, diseaseConfig.hisName)
                 && Objects.equals(uniqueName, diseaseConfig.uniqueName)
-                && Objects.equals(icdCode, diseaseConfig.icdCode);
+                && Objects.equals(code, diseaseConfig.code);
     }
 
     @Override
     public int hashCode() {
-        return Objects.hash(id, isDeleted, hospitalId, hisName, uniqueName, icdCode);
+        return Objects.hash(id, isDeleted, hospitalId, hisName, uniqueName, code);
+    }
+
+    public static boolean nonNull(DiseaseConfig o) {
+        return !(o == null
+                || (o.hospitalId == null
+                && StringUtil.isBlank(o.hisName)
+                && StringUtil.isBlank(o.uniqueName)
+                && StringUtil.isBlank(o.code)));
     }
 }

+ 18 - 140
cdssman-service/src/main/java/com/diagbot/entity/DrugConfig.java

@@ -1,14 +1,10 @@
 package com.diagbot.entity;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
-import java.io.Serializable;
 import java.util.Date;
-import java.util.Objects;
 
 /**
  * <p>
@@ -18,15 +14,11 @@ import java.util.Objects;
  * @author zhaops
  * @since 2020-07-28
  */
-@TableName("tran_drug_config")
-public class DrugConfig implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
+@Data
+public class DrugConfig {
     /**
      * 主键
      */
-    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
     /**
@@ -64,7 +56,6 @@ public class DrugConfig implements Serializable {
      */
     @Excel(name = "医院药品名称", width = 40, orderNum = "1", isImportField = "true")
     @NotBlank(message = "请输入医院药品名称")
-    //@Size(max = 80, min = 1,message = "医院药品名称长度需要在1-80字符长度之间")
     private String hisName;
 
     /**
@@ -72,14 +63,12 @@ public class DrugConfig implements Serializable {
      */
     @Excel(name = "标准药品名称", width = 40, orderNum = "2", isImportField = "true")
     @NotBlank(message = "请输入标准药品名称")
-    //@Size(max = 80, min = 1,message = "标准药品名称长度需要在1-80字符长度之间")
     private String uniqueName;
 
     /**
      * 标准编码
      */
-    //@Excel(name = "对应项编码", width = 40, orderNum = "3")
-    private String uniqueCode;
+    private String code;
 
     /**
      * 剂型
@@ -87,129 +76,18 @@ public class DrugConfig implements Serializable {
     @Excel(name = "药品剂型", width = 60, orderNum = "3", isImportField = "true")
     private String form;
 
-    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 getHospitalId() {
-        return hospitalId;
-    }
-
-    public void setHospitalId(Long hospitalId) {
-        this.hospitalId = hospitalId;
-    }
-
-    public String getHisName() {
-        return hisName;
-    }
-
-    public void setHisName(String hisName) {
-        this.hisName = hisName;
-    }
-
-    public String getUniqueName() {
-        return uniqueName;
-    }
-
-    public void setUniqueName(String uniqueName) {
-        this.uniqueName = uniqueName;
-    }
-
-    public String getUniqueCode() {
-        return uniqueCode;
-    }
-
-    public void setUniqueCode(String uniqueCode) {
-        this.uniqueCode = uniqueCode;
-    }
-
-    public String getForm() {
-        return form;
-    }
-
-    public void setForm(String form) {
-        this.form = form;
-    }
-
-    @Override
-    public String toString() {
-        return "DrugConfig{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", hospitalId=" + hospitalId +
-                ", hisName=" + hisName +
-                ", uniqueName=" + uniqueName +
-                ", uniqueCode=" + uniqueCode +
-                ", form=" + form +
-                "}";
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o)
-            return true;
-        if (o == null || getClass() != o.getClass())
-            return false;
-        DrugConfig drugConfig = (DrugConfig) o;
-        return Objects.equals(id, drugConfig.id)
-                && Objects.equals(isDeleted, drugConfig.isDeleted)
-                && Objects.equals(hospitalId, drugConfig.hospitalId)
-                && Objects.equals(hisName, drugConfig.hisName)
-                && Objects.equals(form, drugConfig.form)
-                && Objects.equals(uniqueName, drugConfig.uniqueName)
-                && Objects.equals(uniqueCode, drugConfig.uniqueCode);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(id, isDeleted, hospitalId, hisName, form, uniqueName, uniqueCode);
-    }
+    @Excel(name = "国药准字", width = 40, orderNum = "4", isImportField = "true")
+    private String approval;
+
+    /**
+     * 是否匹配(0-未匹配、1-已匹配)
+     */
+    @Excel(name = "是否匹配【未匹配、已匹配】", width = 20, orderNum = "5", replace = { "未匹配_0", "已匹配_1", "_null" }, isImportField = "true")
+    private Integer isMatch;
+
+    /**
+     * 数据来源(1-标准词、2-同义词、3-编码、4-历史数据、5-相似词、99-数据迁移)
+     */
+    @Excel(name = "数据来源【不填、标准词、同义词、编码、历史数据、相似词、国药准字】", width = 20, orderNum = "6", replace = { "标准词_1", "同义词_2", "编码_3", "历史数据_4", "相似词_5", "国药准字_6", "数据迁移_99", "_null" }, isImportField = "true")
+    private Integer source;
 }

+ 19 - 0
cdssman-service/src/main/java/com/diagbot/entity/Ex.java

@@ -0,0 +1,19 @@
+package com.diagbot.entity;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * @description:
+ * @author: zhoutg
+ * @time: 2021/5/21 13:49
+ */
+@Target(value = { ElementType.TYPE, ElementType.FIELD })
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Ex {
+    public String name();
+}

+ 0 - 0
cdssman-service/src/main/java/com/diagbot/entity/KlConcept.java


部分文件因为文件数量过多而无法显示