Forráskód Böngészése

Merge branch 'develop' into staticKnowledge20210104

# Conflicts:
#	src/main/java/com/diagbot/web/StaticKnowledgeController.java
gaodm 4 éve
szülő
commit
6d6c0451a7
100 módosított fájl, 4637 hozzáadás és 29 törlés
  1. 378 0
      doc/003.20201217标准术语维护脚本/cdss-core_init.sql
  2. 4 0
      src/main/java/com/diagbot/dto/LisDetailDTO.java
  3. 183 0
      src/main/java/com/diagbot/entity/ConceptInfo.java
  4. 213 0
      src/main/java/com/diagbot/entity/DeptConfig.java
  5. 197 0
      src/main/java/com/diagbot/entity/DiseaseConfig.java
  6. 215 0
      src/main/java/com/diagbot/entity/DrugConfig.java
  7. 80 0
      src/main/java/com/diagbot/entity/GraphConceptInfo.java
  8. 197 0
      src/main/java/com/diagbot/entity/OperationConfig.java
  9. 22 0
      src/main/java/com/diagbot/entity/node/EntityBaseInfo.java
  10. 102 0
      src/main/java/com/diagbot/entity/node/EntityInfo.java
  11. 17 0
      src/main/java/com/diagbot/entity/node/FoodAllergen.java
  12. 20 0
      src/main/java/com/diagbot/entity/node/LisSubNameAndResult.java
  13. 3 0
      src/main/java/com/diagbot/entity/node/MedCodeName.java
  14. 10 3
      src/main/java/com/diagbot/entity/node/MedRegName.java
  15. 8 0
      src/main/java/com/diagbot/entity/node/YiBaoDiseaseName.java
  16. 26 0
      src/main/java/com/diagbot/entity/relationship/MedRegNameGender.java
  17. 95 0
      src/main/java/com/diagbot/enums/LabelTypeEnum.java
  18. 36 0
      src/main/java/com/diagbot/facade/ConceptInfoFacade.java
  19. 57 0
      src/main/java/com/diagbot/facade/DeptConfigFacade.java
  20. 57 0
      src/main/java/com/diagbot/facade/DiseaseConfigFacade.java
  21. 58 0
      src/main/java/com/diagbot/facade/DrugConfigFacade.java
  22. 756 0
      src/main/java/com/diagbot/facade/EntityInfoFacade.java
  23. 44 0
      src/main/java/com/diagbot/facade/GraphConceptInfoFacade.java
  24. 35 2
      src/main/java/com/diagbot/facade/LisConfigFacade.java
  25. 57 0
      src/main/java/com/diagbot/facade/OperationConfigFacade.java
  26. 35 1
      src/main/java/com/diagbot/facade/PacsConfigFacade.java
  27. 16 0
      src/main/java/com/diagbot/facade/StaticKnowledgeFacade.java
  28. 15 0
      src/main/java/com/diagbot/mapper/ConceptInfoMapper.java
  29. 15 0
      src/main/java/com/diagbot/mapper/DeptConfigMapper.java
  30. 15 0
      src/main/java/com/diagbot/mapper/DiseaseConfigMapper.java
  31. 15 0
      src/main/java/com/diagbot/mapper/DrugConfigMapper.java
  32. 16 0
      src/main/java/com/diagbot/mapper/GraphConceptInfoMapper.java
  33. 15 0
      src/main/java/com/diagbot/mapper/OperationConfigMapper.java
  34. 12 0
      src/main/java/com/diagbot/repository/AllergenRepository.java
  35. 3 0
      src/main/java/com/diagbot/repository/BaseNodeRepository.java
  36. 13 0
      src/main/java/com/diagbot/repository/BillConflictItemRepository.java
  37. 11 0
      src/main/java/com/diagbot/repository/ClinicalFindingRepository.java
  38. 13 0
      src/main/java/com/diagbot/repository/ConflictDeviceRepository.java
  39. 11 0
      src/main/java/com/diagbot/repository/DeptRepository.java
  40. 14 0
      src/main/java/com/diagbot/repository/DiseaseRepository.java
  41. 250 0
      src/main/java/com/diagbot/repository/EntityInfoRepository.java
  42. 24 0
      src/main/java/com/diagbot/repository/FoodAllergenRepository.java
  43. 14 1
      src/main/java/com/diagbot/repository/GenderRepository.java
  44. 11 0
      src/main/java/com/diagbot/repository/GroupRepository.java
  45. 24 0
      src/main/java/com/diagbot/repository/LisBigNameRepository.java
  46. 26 2
      src/main/java/com/diagbot/repository/LisCriticalRepository.java
  47. 9 2
      src/main/java/com/diagbot/repository/LisNameNode.java
  48. 38 0
      src/main/java/com/diagbot/repository/LisNameRepository.java
  49. 12 0
      src/main/java/com/diagbot/repository/LisRemindRepository.java
  50. 26 0
      src/main/java/com/diagbot/repository/LisRepository.java
  51. 22 1
      src/main/java/com/diagbot/repository/LisSetRepository.java
  52. 39 0
      src/main/java/com/diagbot/repository/LisSubNameAndResultRepository.java
  53. 35 0
      src/main/java/com/diagbot/repository/MedAllergenRepository.java
  54. 24 0
      src/main/java/com/diagbot/repository/MedChemClassRepository.java
  55. 24 0
      src/main/java/com/diagbot/repository/MedClassRepository.java
  56. 13 0
      src/main/java/com/diagbot/repository/MedJiePouClassRepository.java
  57. 28 8
      src/main/java/com/diagbot/repository/MedRegNameNode.java
  58. 44 0
      src/main/java/com/diagbot/repository/MedRegNameRepository.java
  59. 24 0
      src/main/java/com/diagbot/repository/MedYaoLiClassRepository.java
  60. 24 0
      src/main/java/com/diagbot/repository/MedZhiLiaoClassRepository.java
  61. 63 1
      src/main/java/com/diagbot/repository/MedicineCodeRepository.java
  62. 11 1
      src/main/java/com/diagbot/repository/MedicineRepository.java
  63. 14 0
      src/main/java/com/diagbot/repository/OralMedicineRepository.java
  64. 10 0
      src/main/java/com/diagbot/repository/PacsCriticalRepository.java
  65. 13 0
      src/main/java/com/diagbot/repository/PacsDescribeRepository.java
  66. 27 0
      src/main/java/com/diagbot/repository/PacsNameRepository.java
  67. 12 0
      src/main/java/com/diagbot/repository/PacsRemindRepository.java
  68. 13 1
      src/main/java/com/diagbot/repository/PacsResultRepository.java
  69. 26 0
      src/main/java/com/diagbot/repository/PacsSubNameRepository.java
  70. 15 4
      src/main/java/com/diagbot/repository/SymptomNameRepository.java
  71. 10 1
      src/main/java/com/diagbot/repository/TransfusionRemindRepository.java
  72. 10 0
      src/main/java/com/diagbot/repository/TransfusionSuggestRepository.java
  73. 26 0
      src/main/java/com/diagbot/repository/VitalRepository.java
  74. 42 0
      src/main/java/com/diagbot/repository/YiBaoDiseaseNameRepository.java
  75. 26 0
      src/main/java/com/diagbot/repository/YiBaoOperationNameRepository.java
  76. 15 0
      src/main/java/com/diagbot/service/ConceptInfoService.java
  77. 15 0
      src/main/java/com/diagbot/service/DeptConfigService.java
  78. 15 0
      src/main/java/com/diagbot/service/DiseaseConfigService.java
  79. 15 0
      src/main/java/com/diagbot/service/DrugConfigService.java
  80. 16 0
      src/main/java/com/diagbot/service/GraphConceptInfoService.java
  81. 15 0
      src/main/java/com/diagbot/service/OperationConfigService.java
  82. 19 0
      src/main/java/com/diagbot/service/impl/ConceptInfoServiceImpl.java
  83. 19 0
      src/main/java/com/diagbot/service/impl/DeptConfigServiceImpl.java
  84. 19 0
      src/main/java/com/diagbot/service/impl/DiseaseConfigServiceImpl.java
  85. 19 0
      src/main/java/com/diagbot/service/impl/DrugConfigServiceImpl.java
  86. 20 0
      src/main/java/com/diagbot/service/impl/GraphConceptInfoServiceImpl.java
  87. 19 0
      src/main/java/com/diagbot/service/impl/OperationConfigServiceImpl.java
  88. 19 0
      src/main/java/com/diagbot/vo/EntityInfoVO.java
  89. 20 0
      src/main/java/com/diagbot/vo/EntityPageVO.java
  90. 15 0
      src/main/java/com/diagbot/vo/IdVO.java
  91. 5 0
      src/main/java/com/diagbot/vo/SearchData.java
  92. 147 0
      src/main/java/com/diagbot/web/EntityInfoController.java
  93. 8 0
      src/main/java/com/diagbot/web/StaticKnowledgeController.java
  94. 1 1
      src/main/resources/logback-spring.xml
  95. 19 0
      src/main/resources/mapper/ConceptInfoMapper.xml
  96. 20 0
      src/main/resources/mapper/DeptConfigMapper.xml
  97. 19 0
      src/main/resources/mapper/DiseaseConfigMapper.xml
  98. 20 0
      src/main/resources/mapper/DrugConfigMapper.xml
  99. 20 0
      src/main/resources/mapper/GraphConceptInfoMapper.xml
  100. 0 0
      src/main/resources/mapper/OperationConfigMapper.xml

+ 378 - 0
doc/003.20201217标准术语维护脚本/cdss-core_init.sql

@@ -0,0 +1,378 @@
+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: 17/12/2020 11:52:26
+*/
+
+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 = 90 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数据维护-知识图谱标准术语维护');
+
+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: 17/12/2020 11:52:38
+*/
+
+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 = 98 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数据维护-知识图谱标准术语维护');
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+
+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: 17/12/2020 15:47:27
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for sys_dictionary_info
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_dictionary_info`;
+CREATE TABLE `sys_dictionary_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则表示纪录未修改',
+  `group_type` bigint(20) NOT NULL DEFAULT 0 COMMENT '分组(值自定义)',
+  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '内容',
+  `val` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '值',
+  `return_type` int(11) NOT NULL DEFAULT 1 COMMENT '返回类型(0: 都返回,1:后台维护返回 2:界面返回)',
+  `order_no` int(11) NOT NULL DEFAULT 0 COMMENT '排序号',
+  `remark` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 80 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'CDSS字典表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_dictionary_info
+-- ----------------------------
+INSERT INTO `sys_dictionary_info` VALUES (1, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 7, '全部', '0', 2, 1, '静态知识检索类型');
+INSERT INTO `sys_dictionary_info` VALUES (2, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 7, '诊断', '1', 2, 10, '静态知识检索类型');
+INSERT INTO `sys_dictionary_info` VALUES (3, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 7, '药品', '2', 2, 20, '静态知识检索类型');
+INSERT INTO `sys_dictionary_info` VALUES (4, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 7, '检验', '3', 2, 30, '静态知识检索类型');
+INSERT INTO `sys_dictionary_info` VALUES (5, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 7, '检查', '5', 2, 40, '静态知识检索类型');
+INSERT INTO `sys_dictionary_info` VALUES (6, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 7, '手术和操作', '6', 2, 50, '静态知识检索类型');
+INSERT INTO `sys_dictionary_info` VALUES (7, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '诊断', '医保疾病名称', 0, 1, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (8, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '药品', '药品通用名称', 0, 6, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (9, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '检验套餐', '实验室检查套餐名', 0, 2, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (10, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '检验细项', '实验室检查名称', 0, 3, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (11, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '检查', '辅助检查名称', 0, 4, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (12, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '手术和操作', '医保手术和操作名称', 0, 7, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (13, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 9, '', '0', 0, 1, '药品剂型');
+INSERT INTO `sys_dictionary_info` VALUES (14, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 9, '注射剂', '1', 0, 10, '药品剂型');
+INSERT INTO `sys_dictionary_info` VALUES (15, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 9, '片剂', '2', 0, 20, '药品剂型');
+INSERT INTO `sys_dictionary_info` VALUES (16, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 9, '缓释剂', '3', 0, 30, '药品剂型');
+INSERT INTO `sys_dictionary_info` VALUES (17, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 9, '胶囊剂', '4', 0, 40, '药品剂型');
+INSERT INTO `sys_dictionary_info` VALUES (18, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 9, '滴丸剂', '5', 0, 50, '药品剂型');
+INSERT INTO `sys_dictionary_info` VALUES (19, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '检查子项', '辅助检查子项目名称', 0, 5, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (21, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 10, '诊断', '1', 0, 1, '静态知识类型');
+INSERT INTO `sys_dictionary_info` VALUES (22, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 10, '药品', '2', 0, 2, '静态知识类型');
+INSERT INTO `sys_dictionary_info` VALUES (23, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 10, '检验套餐', '3', 0, 3, '静态知识类型');
+INSERT INTO `sys_dictionary_info` VALUES (24, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 10, '检验细项', '4', 0, 4, '静态知识类型');
+INSERT INTO `sys_dictionary_info` VALUES (25, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 10, '检查', '5', 0, 5, '静态知识类型');
+INSERT INTO `sys_dictionary_info` VALUES (26, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 10, '检查子项', '6', 0, 6, '静态知识类型');
+INSERT INTO `sys_dictionary_info` VALUES (27, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 10, '手术和操作', '7', 0, 7, '静态知识类型');
+INSERT INTO `sys_dictionary_info` VALUES (28, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '药品类别', '药品类别', 0, 20, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (29, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 11, '检验套餐', '1', 0, 1, '开单合理项检索类型');
+INSERT INTO `sys_dictionary_info` VALUES (30, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 11, '检查', '2', 0, 2, '开单合理项检索类型');
+INSERT INTO `sys_dictionary_info` VALUES (31, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 11, '检查子项', '3', 0, 3, '开单合理项检索类型');
+INSERT INTO `sys_dictionary_info` VALUES (32, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 11, '手术和操作', '4', 0, 4, '开单合理项检索类型');
+INSERT INTO `sys_dictionary_info` VALUES (33, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 11, '药品注册名称', '5', 0, 5, '开单合理项检索类型');
+INSERT INTO `sys_dictionary_info` VALUES (34, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '性别', '1', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (35, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '实验室检查', '2', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (36, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '临床表现', '3', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (37, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '辅助检查名称描述', '4', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (38, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '疾病', '5', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (39, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '服用药品', '6', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (40, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '药物过敏原', '7', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (41, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '食物过敏原', '8', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (42, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '手术', '9', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (43, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '禁忌人群', '10', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (44, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '过敏原', '11', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (45, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '体征', '12', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (46, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '禁忌医疗器械及物品', '13', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (47, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '年龄', '14', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (48, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '给药途径', '15', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (49, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 12, '开单项互斥', '16', 0, 0, '开单禁忌条件类型');
+INSERT INTO `sys_dictionary_info` VALUES (50, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '疾病(开单合理性)', '疾病', 0, 8, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (51, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '实验室检查细项(开单合理性)', '实验室检查', 0, 9, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (52, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '化验细项及结果(推理)', '化验细项及结果', 0, 10, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (53, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '实验室检查危急值', '实验室检查危急值', 0, 11, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (54, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '化验提醒指标', '化验提醒指标', 0, 12, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (55, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '化验套餐名称(推理)', '化验套餐名称', 0, 13, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (56, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '辅助检查危急值', '辅助检查危急值', 0, 14, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (57, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '辅助检查结果(开单合理性)', '辅助检查名称描述', 0, 15, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (58, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '辅助检查结果(诊断依据)', '辅助检查名称结果', 0, 16, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (59, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '辅检提醒指标', '辅检提醒指标', 0, 17, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (60, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '药品代码通用名', '药品代码通用名', 0, 18, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (61, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '药品注册名称', '药品注册名称', 0, 19, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (62, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '药品治疗学类别', '药品治疗学类别', 0, 21, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (63, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '药品药理学类别', '药品药理学类别', 0, 22, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (64, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '药品解剖学类别', '药品解剖学类别', 0, 23, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (65, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '药品化学物质类别', '药品化学物质类别', 0, 24, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (66, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '服用药品(开单合理性)', '服用药品', 0, 25, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (67, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '禁忌医疗器械及物品', '禁忌医疗器械及物品', 0, 26, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (68, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '性别', '性别', 0, 27, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (69, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '体征', '体征', 0, 28, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (70, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '症状', '症状', 0, 29, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (71, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '临床表现', '临床表现', 0, 30, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (72, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '科室', '科室', 0, 31, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (73, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '开单项互斥', '开单项互斥', 0, 32, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (74, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '禁忌人群', '禁忌人群', 0, 33, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (75, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '建议输血提醒', '建议输血提醒', 0, 34, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (76, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '药物过敏原', '药物过敏原', 0, 35, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (77, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '其他过敏原', '过敏原', 0, 36, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (78, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '食物过敏原', '食物过敏原', 0, 37, '图谱标签与页面显示类型对应关系');
+INSERT INTO `sys_dictionary_info` VALUES (79, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 8, '输血提醒指标', '输血提醒指标', 0, 38, '图谱标签与页面显示类型对应关系');
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 4 - 0
src/main/java/com/diagbot/dto/LisDetailDTO.java

@@ -43,4 +43,8 @@ public class LisDetailDTO {
      * 非数值类型参考值
      */
     private String referenceValue;
+    /**
+     * 参考范围:0-范围内,1-范围外
+     */
+    private Integer range;
 }

+ 183 - 0
src/main/java/com/diagbot/entity/ConceptInfo.java

@@ -0,0 +1,183 @@
+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 zhaops
+ * @since 2020-08-18
+ */
+@TableName("graph_concept_info")
+public class ConceptInfo 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 name;
+
+    /**
+     * 词性
+     */
+    private String type;
+
+    /**
+     * 临床路径名称
+     */
+    private String clinicalPathwayName;
+
+    /**
+     * 注意事项名称
+     */
+    private String noticeName;
+
+    /**
+     * 启用状态(0:禁用,1:启用)
+     */
+    private Integer status;
+
+    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 getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getClinicalPathwayName() {
+        return clinicalPathwayName;
+    }
+
+    public void setClinicalPathwayName(String clinicalPathwayName) {
+        this.clinicalPathwayName = clinicalPathwayName;
+    }
+
+    public String getNoticeName() {
+        return noticeName;
+    }
+
+    public void setNoticeName(String noticeName) {
+        this.noticeName = noticeName;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    @Override
+    public String toString() {
+        return "ConceptInfo{" +
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", name=" + name +
+                ", type=" + type +
+                ", clinicalPathwayName=" + clinicalPathwayName +
+                ", noticeName=" + noticeName +
+                ", status=" + status +
+                "}";
+    }
+}

+ 213 - 0
src/main/java/com/diagbot/entity/DeptConfig.java

@@ -0,0 +1,213 @@
+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 javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 科室映射表
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-08-12
+ */
+@TableName("tran_dept_config")
+public class DeptConfig implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 医院id
+     */
+    private Long hospitalId;
+
+    /**
+     * 医院科室名称
+     */
+    @Excel(name = "医院科室名称", width = 40, orderNum = "2", isImportField = "true")
+    @NotBlank(message = "请输入医院科室名称")
+    private String hisName;
+
+    /**
+     * 医院科室编码
+     */
+    @Excel(name = "医院科室编码", width = 40, orderNum = "1", isImportField = "true")
+    private String hisCode;
+
+    /**
+     * 标准科室名称
+     */
+    @Excel(name = "标准科室名称", width = 40, orderNum = "4", isImportField = "true")
+    @NotBlank(message = "请输入标准科室名称")
+    private String uniqueName;
+
+    /**
+     * 对应项编码
+     */
+    //@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;
+    }
+
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return "DeptConfig{" +
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", hospitalId=" + hospitalId +
+                ", hisName=" + hisName +
+                ", hisCode=" + hisCode +
+                ", uniqueName=" + uniqueName +
+                ", uniqueCode=" + uniqueCode +
+                "}";
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o)
+            return true;
+        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(uniqueName, deptConfig.uniqueName)
+                && Objects.equals(uniqueCode, deptConfig.uniqueCode);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(id, isDeleted, hospitalId, hisName, hisCode, uniqueName, uniqueCode);
+    }
+}

+ 197 - 0
src/main/java/com/diagbot/entity/DiseaseConfig.java

@@ -0,0 +1,197 @@
+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 javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 诊断映射表
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-07-28
+ */
+@TableName("tran_disease_config")
+public class DiseaseConfig implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 医院id
+     */
+    private Long hospitalId;
+
+    /**
+     * 医院诊断名称
+     */
+    @Excel(name = "医院诊断名称", width = 40, orderNum = "1", isImportField = "true")
+    @NotBlank(message = "请输入医院诊断名称")
+    private String hisName;
+
+    /**
+     * 标准诊断名称
+     */
+    @Excel(name = "标准诊断名称", width = 40, orderNum = "3", isImportField = "true")
+    @NotBlank(message = "请输入标准诊断名称")
+    private String uniqueName;
+
+    /**
+     * 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;
+    }
+
+    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;
+    }
+
+    public void setIcdCode(String icdCode) {
+        this.icdCode = icdCode;
+    }
+
+    @Override
+    public String toString() {
+        return "DiseaseConfig{" +
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", hospitalId=" + hospitalId +
+                ", hisName=" + hisName +
+                ", uniqueName=" + uniqueName +
+                ", icdCode=" + icdCode +
+                "}";
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o)
+            return true;
+        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);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(id, isDeleted, hospitalId, hisName, uniqueName, icdCode);
+    }
+}

+ 215 - 0
src/main/java/com/diagbot/entity/DrugConfig.java

@@ -0,0 +1,215 @@
+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 javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 药品映射表
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-07-28
+ */
+@TableName("tran_drug_config")
+public class DrugConfig implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 医院id
+     */
+    private Long hospitalId;
+
+    /**
+     * 医院药品名称
+     */
+    @Excel(name = "医院药品名称", width = 40, orderNum = "1", isImportField = "true")
+    @NotBlank(message = "请输入医院药品名称")
+    //@Size(max = 80, min = 1,message = "医院药品名称长度需要在1-80字符长度之间")
+    private String hisName;
+
+    /**
+     * 标准药品名称
+     */
+    @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;
+
+    /**
+     * 剂型
+     */
+    @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);
+    }
+}

+ 80 - 0
src/main/java/com/diagbot/entity/GraphConceptInfo.java

@@ -0,0 +1,80 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 静态知识标准术语表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-12-29
+ */
+@Data
+public class GraphConceptInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 标准术语
+     */
+    private String name;
+
+    /**
+     * 词性
+     */
+    private String type;
+
+    /**
+     * 临床路径名称
+     */
+    private String clinicalPathwayName;
+
+    /**
+     * 注意事项名称
+     */
+    private String noticeName;
+
+    /**
+     * 启用状态(0:禁用,1:启用)
+     */
+    private Integer status;
+
+}

+ 197 - 0
src/main/java/com/diagbot/entity/OperationConfig.java

@@ -0,0 +1,197 @@
+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 javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 手术映射表
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-07-28
+ */
+@TableName("tran_operation_config")
+public class OperationConfig implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 医院id
+     */
+    private Long hospitalId;
+
+    /**
+     * 医院手术/操作名称
+     */
+    @Excel(name = "医院手术/操作名称", width = 40, orderNum = "1", isImportField = "true")
+    @NotBlank(message = "请输入医院手术/操作名称")
+    private String hisName;
+
+    /**
+     * 标准手术/操作名称
+     */
+    @Excel(name = "标准手术/操作名称", width = 40, orderNum = "3", isImportField = "true")
+    @NotBlank(message = "请输入标准手术/操作名称")
+    private String uniqueName;
+
+    /**
+     * 对应项编码
+     */
+    //@Excel(name = "对应项编码", width = 40, orderNum = "2")
+    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 getUniqueName() {
+        return uniqueName;
+    }
+
+    public void setUniqueName(String uniqueName) {
+        this.uniqueName = uniqueName;
+    }
+
+    public String getUniqueCode() {
+        return uniqueCode;
+    }
+
+    public void setUniqueCode(String uniqueCode) {
+        this.uniqueCode = uniqueCode;
+    }
+
+    @Override
+    public String toString() {
+        return "OperationConfig{" +
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", hospitalId=" + hospitalId +
+                ", hisName=" + hisName +
+                ", uniqueName=" + uniqueName +
+                ", uniqueCode=" + uniqueCode +
+                "}";
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o)
+            return true;
+        if (o == null || getClass() != o.getClass())
+            return false;
+        OperationConfig operationConfig = (OperationConfig) o;
+        return Objects.equals(id, operationConfig.id)
+                && Objects.equals(isDeleted, operationConfig.isDeleted)
+                && Objects.equals(hospitalId, operationConfig.hospitalId)
+                && Objects.equals(hisName, operationConfig.hisName)
+                && Objects.equals(uniqueName, operationConfig.uniqueName)
+                && Objects.equals(uniqueCode, operationConfig.uniqueCode);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(id, isDeleted, hospitalId, hisName, uniqueName, uniqueCode);
+    }
+}

+ 22 - 0
src/main/java/com/diagbot/entity/node/EntityBaseInfo.java

@@ -0,0 +1,22 @@
+package com.diagbot.entity.node;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.data.neo4j.annotation.QueryResult;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/15 9:51
+ */
+@Getter
+@Setter
+@QueryResult
+public class EntityBaseInfo {
+    private Long id;
+    private String name;
+    private String pycode;
+    private Integer status;
+    private Integer is_kl;
+    private String labelType;
+}

+ 102 - 0
src/main/java/com/diagbot/entity/node/EntityInfo.java

@@ -0,0 +1,102 @@
+package com.diagbot.entity.node;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.data.neo4j.annotation.QueryResult;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/14 10:28
+ */
+@Getter
+@Setter
+@QueryResult
+public class EntityInfo {
+    private Long id;
+    @NotNull(message = "请输入术语名称")
+    private String name;
+    private String pycode;
+    private Integer status;
+    private Integer is_kl;
+    @NotNull(message = "请输入术语类型")
+    private String labelType;
+
+    //通用属性
+    private String age;
+    @ApiModelProperty(hidden = true)
+    private String ageRange;
+    private String gender;
+    //实验室检查名称、实验室检查、体征、实验室检查危急值
+    private String unit;
+    //医保诊断名称、药物过敏原、药品注册名称
+    private String alias;
+    //药物过敏原、药品注册名称
+    private String result;
+    //实验室检查名称
+    private Double minval;
+    //实验室检查名称
+    private Double maxval;
+    //实验室检查名称
+    private Integer range;
+
+
+    //个性化属性
+    //医保诊断名称属性
+    //"分类", "age(0-200)", "sex", "疾病别称", "dept"
+    private Integer category;
+    private String dept;
+    private Double minAge;
+    private Double maxAge;
+
+    //医保手术和操作属性
+    private String opgrade;
+    private String highriskcond;
+
+    //实验室检查名称
+    //"范围", "最小值", "单位", "最大值"
+
+    //实验室检查
+    //"单位"
+
+    //化验细项及结果
+    //"special"
+    private String special;
+
+    //药物过敏原
+    //"药品类型", "结果", "名称"
+    private String medtype;
+
+    //药品注册名称
+    //"药品高危级别", "禁忌给药途径", "禁忌性别", "结果", "名称"
+    private String risklevel;
+    private String conflict_geiyao;
+    private String conflict_gender;
+
+    //药品代码通用名
+    //"批准文号", "药品本位码", "药品企业", "最小包装数量", "注册规格",
+    //"最小制剂单位", "最小包装单位", "包装材质", "注册剂型", "标准注册剂型"
+    //"最小包装数量"
+    private Double min_pack_num;
+    //"注册剂型"
+    private String reg_JiXin;
+    //"药品本位码"
+    private String benWei_Code;
+    // "最小包装单位"
+    private String min_pack_unit;
+    // "注册规格"
+    private String reg_GuiGe;
+    //"包装材质"
+    private String pack_CaiLiao;
+    //"药品企业"
+    private String producer;
+    //"批准文号"
+    private String license_num;
+    //"最小制剂单位"
+    private String min_prod_unit;
+    //"标准注册剂型"
+    private String stand_reg_JiXin;
+}

+ 17 - 0
src/main/java/com/diagbot/entity/node/FoodAllergen.java

@@ -0,0 +1,17 @@
+package com.diagbot.entity.node;
+
+import com.diagbot.entity.node.base.BaseNode;
+import lombok.Getter;
+import lombok.Setter;
+import org.neo4j.ogm.annotation.NodeEntity;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/16 13:14
+ */
+@Setter
+@Getter
+@NodeEntity(label = "食物过敏原")
+public class FoodAllergen extends BaseNode {
+}

+ 20 - 0
src/main/java/com/diagbot/entity/node/LisSubNameAndResult.java

@@ -0,0 +1,20 @@
+package com.diagbot.entity.node;
+
+import com.diagbot.entity.node.base.BaseNode;
+import lombok.Getter;
+import lombok.Setter;
+import org.neo4j.ogm.annotation.NodeEntity;
+import org.neo4j.ogm.annotation.Property;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/16 13:23
+ */
+@Getter
+@Setter
+@NodeEntity(label = "化验细项及结果")
+public class LisSubNameAndResult extends BaseNode {
+    @Property(name = "special")
+    private String special;
+}

+ 3 - 0
src/main/java/com/diagbot/entity/node/MedCodeName.java

@@ -44,6 +44,9 @@ public class MedCodeName extends BaseNode  {
 	@Property(name = "最小制剂单位")
 	private String min_prod_unit;
 
+	@Property(name = "标准注册剂型")
+	private String stand_reg_JiXin;
+
 	@Relationship(type = "药品相关药品类别", direction = Relationship.OUTGOING)
 	private Set<MedCodeNameMedClass> medCodeNameMedclasss = new HashSet<>();
 

+ 10 - 3
src/main/java/com/diagbot/entity/node/MedRegName.java

@@ -1,20 +1,25 @@
 package com.diagbot.entity.node;
 
 import com.diagbot.entity.node.base.BaseNode;
-import com.diagbot.entity.relationship.*;
+import com.diagbot.entity.relationship.MedCodeNameMedRegName;
+import com.diagbot.entity.relationship.MedRegNameGender;
+import com.diagbot.entity.relationship.MedRegNameGroup;
+import com.diagbot.entity.relationship.MedRegNameMedAllergen;
+import com.diagbot.entity.relationship.MedRegNameMedRegName;
+import com.diagbot.entity.relationship.MedRegNameVital;
 import lombok.Getter;
 import lombok.Setter;
 import org.neo4j.ogm.annotation.NodeEntity;
 import org.neo4j.ogm.annotation.Property;
 import org.neo4j.ogm.annotation.Relationship;
 
-import java.util.Set;
 import java.util.HashSet;
+import java.util.Set;
 
 @Setter
 @Getter
 @NodeEntity(label = "药品注册名称")
-public class MedRegName extends BaseNode  {
+public class MedRegName extends BaseNode {
 
 	@Property(name = "药品高危级别")
 	private String risklevel;
@@ -43,4 +48,6 @@ public class MedRegName extends BaseNode  {
 	@Relationship(type = "药品注册名称禁忌药品注册名称", direction = Relationship.INCOMING)
 	private Set<MedRegNameMedRegName> medregnameMedRegNames_in = new HashSet<>();
 
+	@Relationship(type = "药品注册名称禁忌性别", direction = Relationship.OUTGOING)
+	private MedRegNameGender medRegNameGender;
 }

+ 8 - 0
src/main/java/com/diagbot/entity/node/YiBaoDiseaseName.java

@@ -20,6 +20,14 @@ public class YiBaoDiseaseName extends BaseNode  {
 	private String gender;
 	@Property(name = "年龄")
 	private String age;
+	@Property(name="age")
+	private String ageRange;
+	@Property(name="dept")
+	private String dept;
+	@Property(name="疾病别称")
+	private String alias;
+	@Property(name="分类")
+	private Integer category;
 
 	@Relationship(type = "医保疾病名称相关医保ICD-10代码", direction = Relationship.OUTGOING)
 	private Set<YiBaoDiseaseNameYiBaoICD_10Code> yiBaoDiseaseNameYibaoicd_10codes = new HashSet<>();

+ 26 - 0
src/main/java/com/diagbot/entity/relationship/MedRegNameGender.java

@@ -0,0 +1,26 @@
+package com.diagbot.entity.relationship;
+
+import com.diagbot.entity.node.Gender;
+import com.diagbot.entity.node.MedRegName;
+import com.diagbot.entity.relationship.base.BaseRelation;
+import lombok.Getter;
+import lombok.Setter;
+import org.neo4j.ogm.annotation.EndNode;
+import org.neo4j.ogm.annotation.RelationshipEntity;
+import org.neo4j.ogm.annotation.StartNode;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/29 19:03
+ */
+@Getter
+@Setter
+@RelationshipEntity(type = "药品注册名称禁忌性别")
+public class MedRegNameGender extends BaseRelation {
+    @StartNode
+    private MedRegName medRegName;
+
+    @EndNode
+    private Gender gender;
+}

+ 95 - 0
src/main/java/com/diagbot/enums/LabelTypeEnum.java

@@ -0,0 +1,95 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/15 17:56
+ */
+public enum LabelTypeEnum implements KeyedNamed {
+    YiBaoDiseaseName(1, "医保疾病名称"),
+    LisSet(2, "实验室检查套餐名"),
+    LisName(3, "实验室检查名称"),
+    PacsName(4, "辅助检查名称"),
+    PacsSubName(5, "辅助检查子项目名称"),
+    Medicine(6, "药品通用名称"),
+    YiBaoOperationName(7, "医保手术和操作名称"),
+    Disease(8, "疾病"),
+    Lis(9, "实验室检查"),
+    LisSubNameAndResult(10, "化验细项及结果"),
+    LisCritical(11, "实验室检查危急值"),
+    LisRemind(12, "化验提醒指标"),
+    LisBigName(13, "化验套餐名称"),
+    PacsCritical(14, "辅助检查危急值"),
+    PacsDescribe(15, "辅助检查名称描述"),
+    PacsResult(16, "辅助检查名称结果"),
+    PacsRemind(17, "辅检提醒指标"),
+    MedCodeName(18, "药品代码通用名"),
+    MedRegName(19, "药品注册名称"),
+    MedClass(20, "药品类别"),
+    MedZhiLiaoClass(21, "药品治疗学类别"),
+    MedYaoLiClass(22, "药品药理学类别"),
+    MedJiePouClass(23, "药品解剖学类别"),
+    MedChemClass(24, "药品化学物质类别"),
+    OralMedicine(25, "服用药品"),
+    ConflictDevice(26, "禁忌医疗器械及物品"),
+    Gender(27, "性别"),
+    Vital(28, "体征"),
+    Symptom(29, "症状"),
+    ClinicalFinding(30, "临床表现"),
+    Dept(31, "科室"),
+    BillConflictItem(32, "开单项互斥"),
+    Group(33, "禁忌人群"),
+    TransfusionSuggest(34, "建议输血提醒"),
+    MedAllergen(35, "药物过敏原"),
+    Allergen(36, "过敏原"),
+    FoodAllergen(37, "食物过敏原"),
+    TransfusionRemind(38, "输血提醒指标");
+
+
+    @Setter
+    private int key;
+
+    @Setter
+    private String name;
+
+    LabelTypeEnum(int key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static LabelTypeEnum getEnum(int key) {
+        for (LabelTypeEnum item : LabelTypeEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static LabelTypeEnum getEnum(String value) {
+        for (LabelTypeEnum item : LabelTypeEnum.values()) {
+            if (item.getName().equals(value)) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(int key) {
+        LabelTypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}

+ 36 - 0
src/main/java/com/diagbot/facade/ConceptInfoFacade.java

@@ -0,0 +1,36 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.entity.ConceptInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.ConceptInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/28 11:47
+ */
+@Component
+public class ConceptInfoFacade {
+    @Autowired
+    ConceptInfoService conceptInfoService;
+
+    /**
+     * 标准术语名称修改
+     *
+     * @param oldName
+     * @param newName
+     * @return
+     */
+    public Boolean updateName(String oldName, String newName, String labelType) {
+        UpdateWrapper<ConceptInfo> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("name", oldName)
+                .eq("type", labelType)
+                .set("name", newName);
+        conceptInfoService.update(updateWrapper);
+        return true;
+    }
+}

+ 57 - 0
src/main/java/com/diagbot/facade/DeptConfigFacade.java

@@ -0,0 +1,57 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.entity.DeptConfig;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.DeptConfigService;
+import com.diagbot.util.ListUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/8/12 14:25
+ */
+@Component
+public class DeptConfigFacade {
+    @Autowired
+    private DeptConfigService deptConfigService;
+
+    /**
+     * 已映射
+     *
+     * @param name
+     * @return
+     */
+    public Boolean isMapping(String name) {
+        QueryWrapper<DeptConfig> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("unique_name", name);
+        List<DeptConfig> records = deptConfigService.list(queryWrapper);
+        if (ListUtil.isNotEmpty(records)) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * 标准术语名称修改
+     *
+     * @param oldName
+     * @param newName
+     * @return
+     */
+    public Boolean updateUniqueName(String oldName, String newName) {
+        UpdateWrapper<DeptConfig> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("unique_name", oldName)
+                .set("unique_name", newName);
+        deptConfigService.update(updateWrapper);
+        return true;
+    }
+}

+ 57 - 0
src/main/java/com/diagbot/facade/DiseaseConfigFacade.java

@@ -0,0 +1,57 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.entity.DiseaseConfig;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.DiseaseConfigService;
+import com.diagbot.util.ListUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/7/29 15:05
+ */
+@Component
+public class DiseaseConfigFacade {
+    @Autowired
+    private DiseaseConfigService diseaseConfigService;
+
+    /**
+     * 已映射
+     *
+     * @param name
+     * @return
+     */
+    public Boolean isMapping(String name) {
+        QueryWrapper<DiseaseConfig> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("unique_name", name);
+        List<DiseaseConfig> records = diseaseConfigService.list(queryWrapper);
+        if (ListUtil.isNotEmpty(records)) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * 标准术语名称修改
+     *
+     * @param oldName
+     * @param newName
+     * @return
+     */
+    public Boolean updateUniqueName(String oldName, String newName) {
+        UpdateWrapper<DiseaseConfig> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("unique_name", oldName)
+                .set("unique_name", newName);
+        diseaseConfigService.update(updateWrapper);
+        return true;
+    }
+}

+ 58 - 0
src/main/java/com/diagbot/facade/DrugConfigFacade.java

@@ -0,0 +1,58 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.entity.DiseaseConfig;
+import com.diagbot.entity.DrugConfig;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.DrugConfigService;
+import com.diagbot.util.ListUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/7/29 15:04
+ */
+@Component
+public class DrugConfigFacade {
+    @Autowired
+    private DrugConfigService drugConfigService;
+
+    /**
+     * 已映射
+     *
+     * @param name
+     * @return
+     */
+    public Boolean isMapping(String name) {
+        QueryWrapper<DrugConfig> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("unique_name", name);
+        List<DrugConfig> records = drugConfigService.list(queryWrapper);
+        if (ListUtil.isNotEmpty(records)) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * 标准术语名称修改
+     *
+     * @param oldName
+     * @param newName
+     * @return
+     */
+    public Boolean updateUniqueName(String oldName, String newName) {
+        UpdateWrapper<DrugConfig> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("unique_name", oldName)
+                .set("unique_name", newName);
+        drugConfigService.update(updateWrapper);
+        return true;
+    }
+}

+ 756 - 0
src/main/java/com/diagbot/facade/EntityInfoFacade.java

@@ -0,0 +1,756 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.DictionaryInfoDTO;
+import com.diagbot.entity.node.BillItem;
+import com.diagbot.entity.node.EntityInfo;
+import com.diagbot.enums.LabelTypeEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.repository.*;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.Cn2SpellUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.EntityInfoVO;
+import com.diagbot.vo.EntityPageVO;
+import com.google.common.collect.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/14 16:08
+ */
+@Component
+public class EntityInfoFacade {
+    @Autowired
+    DictionaryFacade dictionaryFacade;
+    @Autowired
+    EntityInfoRepository entityInfoRepository;
+
+    @Autowired
+    DeptConfigFacade deptConfigFacade;
+    @Autowired
+    DiseaseConfigFacade diseaseConfigFacade;
+    @Autowired
+    DrugConfigFacade drugConfigFacade;
+    @Autowired
+    LisConfigFacade lisConfigFacade;
+    @Autowired
+    OperationConfigFacade operationConfigFacade;
+    @Autowired
+    PacsConfigFacade pacsConfigFacade;
+    @Autowired
+    ConceptInfoFacade conceptInfoFacade;
+
+    @Autowired
+    YiBaoDiseaseNameRepository yiBaoDiseaseNameRepository;
+    @Autowired
+    LisSetRepository lisSetRepository;
+    @Autowired
+    LisNameRepository lisNameRepository;
+    @Autowired
+    PacsNameRepository pacsNameRepository;
+    @Autowired
+    PacsSubNameRepository pacsSubNameRepository;
+    @Autowired
+    MedicineRepository medicineRepository;
+    @Autowired
+    YiBaoOperationNameRepository yiBaoOperationNameRepository;
+    @Autowired
+    DiseaseRepository diseaseRepository;
+    @Autowired
+    LisRepository lisRepository;
+    @Autowired
+    LisSubNameAndResultRepository lisSubNameAndResultRepository;
+    @Autowired
+    LisCriticalRepository lisCriticalRepository;
+    @Autowired
+    LisRemindRepository lisRemindRepository;
+    @Autowired
+    LisBigNameRepository lisBigNameRepository;
+    @Autowired
+    PacsCriticalRepository pacsCriticalRepository;
+    @Autowired
+    PacsDescribeRepository pacsDescribeRepository;
+    @Autowired
+    PacsResultRepository pacsResultRepository;
+    @Autowired
+    PacsRemindRepository pacsRemindRepository;
+    @Autowired
+    MedicineCodeRepository medicineCodeRepository;
+    @Autowired
+    MedRegNameRepository medRegNameRepository;
+    @Autowired
+    MedClassRepository medClassRepository;
+    @Autowired
+    MedZhiLiaoClassRepository medZhiLiaoClassRepository;
+    @Autowired
+    MedYaoLiClassRepository medYaoLiClassRepository;
+    @Autowired
+    MedJiePouClassRepository medJiePouClassRepository;
+    @Autowired
+    MedChemClassRepository medChemClassRepository;
+    @Autowired
+    OralMedicineRepository oralMedicineRepository;
+    @Autowired
+    ConflictDeviceRepository conflictDeviceRepository;
+    @Autowired
+    GenderRepository genderRepository;
+    @Autowired
+    VitalRepository vitalRepository;
+    @Autowired
+    SymptomNameRepository symptomNameRepository;
+    @Autowired
+    ClinicalFindingRepository clinicalFindingRepository;
+    @Autowired
+    DeptRepository deptRepository;
+    @Autowired
+    BillConflictItemRepository billConflictItemRepository;
+    @Autowired
+    GroupRepository groupRepository;
+    @Autowired
+    TransfusionSuggestRepository transfusionSuggestRepository;
+    @Autowired
+    MedAllergenRepository medAllergenRepository;
+    @Autowired
+    AllergenRepository allergenRepository;
+    @Autowired
+    FoodAllergenRepository foodAllergenRepository;
+    @Autowired
+    TransfusionRemindRepository transfusionRemindRepository;
+    @Autowired
+    BillManRepository billManRepository;
+
+    /**
+     * 分页查询
+     *
+     * @param entityPageVO
+     * @return
+     */
+    public Page<EntityInfo> getEntityPage(EntityPageVO entityPageVO) {
+        List<DictionaryInfoDTO> dicTypeLabelType = dictionaryFacade.getListByGroupType(8);
+        List<String> labels = Lists.newArrayList();
+        if (StringUtil.isNotBlank(entityPageVO.getLabelType())) {
+            labels.add(entityPageVO.getLabelType());
+        } else {
+            labels = dicTypeLabelType.stream().map(i -> i.getVal()).distinct().collect(Collectors.toList());
+        }
+        Pageable pageable = PageRequest.of(entityPageVO.getNumber(), entityPageVO.getSize());
+        Page<EntityInfo> page = entityInfoRepository.getEntityPage(labels,
+                entityPageVO.getLabelType(),
+                entityPageVO.getName(),
+                entityPageVO.getStatus(),
+                entityPageVO.getIs_kl(),
+                pageable);
+        return page;
+    }
+
+    /**
+     * 唯一键校验
+     *
+     * @param entityInfoVO
+     * @return
+     */
+    public Boolean isExist(EntityInfoVO entityInfoVO) {
+        Boolean exist = false;
+        List<EntityInfo> entities = entityInfoRepository.existNodes(entityInfoVO.getName(), entityInfoVO.getLabelType());
+        if (ListUtil.isNotEmpty(entities)) {
+            if (entityInfoVO.getId() == null) {
+                exist = true;
+            } else {
+                //修改记录
+                List<Long> existIds = entities.stream().map(i -> i.getId()).collect(Collectors.toList());
+                if (existIds.contains(entityInfoVO.getId())) {
+                    exist = false;
+                }
+            }
+        }
+        if (!exist) {
+            if (entityInfoVO.getLabelType().equals("辅助检查名称")) {
+                entities = entityInfoRepository.existNodes(entityInfoVO.getName(), "辅助检查子项目名称");
+            } else if (entityInfoVO.getLabelType().equals("辅助检查子项目名称")) {
+                entities = entityInfoRepository.existNodes(entityInfoVO.getName(), "辅助检查名称");
+            }
+            if (ListUtil.isNotEmpty(entities)) {
+                if (entityInfoVO.getId() == null) {
+                    exist = true;
+                } else {
+                    //修改记录
+                    List<Long> existIds = entities.stream().map(i -> i.getId()).collect(Collectors.toList());
+                    if (existIds.contains(entityInfoVO.getId())) {
+                        exist = false;
+                    }
+                }
+            }
+        }
+        return exist;
+    }
+
+    public EntityInfo getById(Long id) {
+        EntityInfo entityInfo = entityInfoRepository.getById(id);
+        if (entityInfo != null) {
+            if (entityInfo.getLabelType().equals(LabelTypeEnum.YiBaoDiseaseName.getName())) {
+                if (StringUtil.isNotBlank(entityInfo.getAgeRange())) {
+                    String[] ages = entityInfo.getAgeRange().split("-");
+                    if (ages.length == 2) {
+                        entityInfo.setMinAge(Double.valueOf(ages[0]));
+                        entityInfo.setMaxAge(Double.valueOf(ages[1]));
+                    } else if (ages.length == 1) {
+                        if (entityInfo.getAgeRange().startsWith("-")) {
+                            entityInfo.setMaxAge(Double.valueOf(ages[0]));
+                        } else if (entityInfo.getAgeRange().endsWith("-")) {
+                            entityInfo.setMinAge(Double.valueOf(ages[0]));
+                        }
+                    }
+                }
+            }
+        }
+        return entityInfo;
+    }
+
+    /**
+     * 术语关联校验
+     *
+     * @param entityInfo
+     * @return
+     */
+    public Boolean dataVerify(EntityInfo entityInfo) {
+        String firstStr = "该术语已维护";
+        String lastStr = ",修改名称后将同步修改上述位置中的标准术语名称。确定要保存修改吗?";
+        String markedStr = "";
+
+        if (entityInfo.getId() == null) {
+            return true;
+        }
+
+        //是否维护静态术语
+        EntityInfo existEntity = getById(entityInfo.getId());
+        if (existEntity == null) {
+            return true;
+        }
+        //名称未修改
+        if (entityInfo.getName().equals(existEntity.getName())) {
+            return true;
+        }
+
+        //静态知识
+        if (existEntity.getIs_kl().equals(1)) {
+            markedStr += "静态知识";
+        }
+
+        //是否维护术语关联
+        //医保疾病名称、药品通用名称、实验室检查套餐名、实验室检查名称、辅助检查名称、辅助检查子项目名称、科室、医保手术和操作名称、输血
+        Boolean isMapping = false;
+        switch (entityInfo.getLabelType()) {
+            case "医保疾病名称":
+                isMapping = diseaseConfigFacade.isMapping(existEntity.getName());
+                break;
+            case "药品通用名称":
+                isMapping = drugConfigFacade.isMapping(existEntity.getName());
+                break;
+            case "实验室检查套餐名":
+            case "实验室检查名称":
+                isMapping = lisConfigFacade.isMapping(existEntity.getName());
+                break;
+            case "辅助检查名称":
+            case "辅助检查子项目名称":
+                isMapping = pacsConfigFacade.isMapping(existEntity.getName());
+                break;
+            case "科室":
+                isMapping = deptConfigFacade.isMapping(existEntity.getName());
+                break;
+            case "医保手术和操作名称":
+                isMapping = operationConfigFacade.isMapping(existEntity.getName());
+                break;
+            default:
+                break;
+        }
+        if (isMapping) {
+            if (StringUtil.isNotBlank(markedStr)) {
+                markedStr += "、";
+            }
+            markedStr += "术语关联";
+        }
+
+        //是否维护开单合理性规则(考虑禁忌条件和开单项)
+        Pageable pageable = PageRequest.of(0, 10);
+        Boolean bill = false;
+        //开单项
+        List<String> conceptLabels
+                = Arrays.asList(new String[] { "实验室检查套餐名", "辅助检查名称", "辅助检查子项目名称", "医保手术和操作名称", "药品注册名称" });
+        if (conceptLabels.contains(existEntity.getLabelType())) {
+            Page<BillItem> conceptPage = billManRepository.getPage(Arrays.asList(new String[] { entityInfo.getLabelType() }),
+                    existEntity.getName(),
+                    "",
+                    1,
+                    pageable);
+            if (ListUtil.isNotEmpty(conceptPage.getContent())) {
+                bill = true;
+            }
+        }
+        //禁忌条件
+        List<DictionaryInfoDTO> dicBillConditionType = dictionaryFacade.getListByGroupType(12);
+        List<String> conditionLabels = dicBillConditionType.stream().map(i -> i.getName()).collect(Collectors.toList());
+        if (conditionLabels.contains(existEntity.getLabelType())) {
+            Page<BillItem> conditionPage = billManRepository.getPage(Arrays.asList(new String[] { entityInfo.getLabelType() }),
+                    "",
+                    existEntity.getName(),
+                    1,
+                    pageable);
+            if (ListUtil.isNotEmpty(conditionPage.getContent())) {
+                bill = true;
+            }
+        }
+        if (bill) {
+            if (StringUtil.isNotBlank(markedStr)) {
+                markedStr += "、";
+            }
+            markedStr += "开单合理性规则";
+        }
+
+        if (StringUtil.isNotBlank(markedStr)) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, firstStr + markedStr + lastStr);
+        }
+
+        return true;
+    }
+
+
+    /**
+     * 术语保存
+     *
+     * @param entityInfo
+     * @return
+     */
+    public Boolean saveEntity(EntityInfo entityInfo) {
+        EntityInfoVO entityInfoVO = new EntityInfoVO();
+        BeanUtil.copyProperties(entityInfo, entityInfoVO);
+        Boolean exists = isExist(entityInfoVO);
+        if (exists) {
+            throw new CommonException(CommonErrorCode.IS_EXISTS, "术语已存在");
+        }
+
+        //术语类型校验
+        List<DictionaryInfoDTO> dicTypeLabelType = dictionaryFacade.getListByGroupType(8);
+        if (ListUtil.isEmpty(dicTypeLabelType)) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "术语类型字典缺失");
+        }
+        List<String> labels = dicTypeLabelType.stream().map(i -> i.getVal()).collect(Collectors.toList());
+        if (!labels.contains(entityInfo.getLabelType())) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "术语类型错误");
+        }
+
+        //默认值处理
+        if (StringUtil.isBlank(entityInfo.getPycode())) {
+            entityInfo.setPycode(Cn2SpellUtil.converterToFirstSpell(entityInfo.getName()));
+        }
+        if (entityInfo.getStatus() == null) {
+            entityInfo.setStatus(1);
+        }
+        if (entityInfo.getIs_kl() == null) {
+            entityInfo.setIs_kl(0);
+        }
+
+        //修改同时修改关联名称(静态知识、术语关联、开单合理性规则)
+        if (entityInfo.getId() != null) {
+            updateRelatedName(entityInfo);
+        }
+
+        switch (entityInfo.getLabelType()) {
+            case "医保疾病名称":
+                String ageRange = "";
+                if (entityInfo.getMinAge() != null) {
+                    ageRange += entityInfo.getMinAge();
+                }
+                ageRange += "-";
+                if (entityInfo.getMaxAge() != null) {
+                    ageRange += entityInfo.getMaxAge();
+                }
+                if (StringUtil.isNotBlank(ageRange)) {
+                    entityInfo.setAgeRange(ageRange);
+                }
+
+                if (entityInfo.getId() != null) {
+                    yiBaoDiseaseNameRepository.update(entityInfo,
+                            entityInfo.getAgeRange(),
+                            entityInfo.getAlias(),
+                            entityInfo.getCategory(),
+                            entityInfo.getDept(),
+                            entityInfo.getGender());
+                } else {
+                    yiBaoDiseaseNameRepository.create(entityInfo,
+                            entityInfo.getAgeRange(),
+                            entityInfo.getAlias(),
+                            entityInfo.getCategory(),
+                            entityInfo.getDept(),
+                            entityInfo.getGender());
+                }
+                break;
+            case "实验室检查名称":
+                if (entityInfo.getId() == null) {
+                    lisNameRepository.create(entityInfo, entityInfo.getUnit(), entityInfo.getMaxval(), entityInfo.getMinval(), entityInfo.getRange());
+                } else {
+                    lisNameRepository.update(entityInfo, entityInfo.getUnit(), entityInfo.getMaxval(), entityInfo.getMinval(), entityInfo.getRange());
+                }
+                break;
+            case "辅助检查名称":
+                if (entityInfo.getId() != null) {
+                    pacsNameRepository.update(entityInfo, entityInfo.getGender());
+                } else {
+                    pacsNameRepository.create(entityInfo, entityInfo.getGender());
+                }
+                break;
+            case "辅助检查子项目名称":
+                if (entityInfo.getId() != null) {
+                    pacsSubNameRepository.update(entityInfo, entityInfo.getGender());
+                } else {
+                    pacsSubNameRepository.create(entityInfo, entityInfo.getGender());
+                }
+                break;
+            case "医保手术和操作名称":
+                if (entityInfo.getOpgrade() == null) {
+                    entityInfo.setOpgrade("0");
+                }
+                if (entityInfo.getId() != null) {
+                    yiBaoOperationNameRepository.update(entityInfo, entityInfo.getOpgrade());
+                } else {
+                    yiBaoOperationNameRepository.create(entityInfo, entityInfo.getOpgrade());
+                }
+                break;
+            case "实验室检查":
+                if (entityInfo.getId() == null) {
+                    lisRepository.create(entityInfo, entityInfo.getUnit());
+                } else {
+                    lisRepository.update(entityInfo, entityInfo.getUnit());
+                }
+                break;
+            case "化验细项及结果":
+                if (entityInfo.getId() == null) {
+                    lisSubNameAndResultRepository.create(entityInfo, entityInfo.getSpecial());
+                } else {
+                    lisSubNameAndResultRepository.update(entityInfo, entityInfo.getSpecial());
+                }
+                break;
+            case "实验室检查危急值":
+                if (entityInfo.getId() == null) {
+                    lisCriticalRepository.create(entityInfo, entityInfo.getUnit());
+                } else {
+                    lisCriticalRepository.update(entityInfo, entityInfo.getUnit());
+                }
+                break;
+            case "药品代码通用名":
+                if (entityInfo.getId() == null) {
+                    medicineCodeRepository.create(entityInfo,
+                            entityInfo.getMin_pack_num(),
+                            entityInfo.getReg_JiXin(),
+                            entityInfo.getBenWei_Code(),
+                            entityInfo.getMin_pack_unit(),
+                            entityInfo.getReg_GuiGe(),
+                            entityInfo.getPack_CaiLiao(),
+                            entityInfo.getProducer(),
+                            entityInfo.getLicense_num(),
+                            entityInfo.getMin_prod_unit(),
+                            entityInfo.getStand_reg_JiXin());
+                } else {
+                    medicineCodeRepository.update(entityInfo,
+                            entityInfo.getMin_pack_num(),
+                            entityInfo.getReg_JiXin(),
+                            entityInfo.getBenWei_Code(),
+                            entityInfo.getMin_pack_unit(),
+                            entityInfo.getReg_GuiGe(),
+                            entityInfo.getPack_CaiLiao(),
+                            entityInfo.getProducer(),
+                            entityInfo.getLicense_num(),
+                            entityInfo.getMin_prod_unit(),
+                            entityInfo.getStand_reg_JiXin());
+                }
+                break;
+            case "药品注册名称":
+                if (entityInfo.getId() == null) {
+                    medRegNameRepository.create(entityInfo,
+                            entityInfo.getRisklevel(),
+                            entityInfo.getConflict_geiyao(),
+                            entityInfo.getConflict_gender(),
+                            entityInfo.getResult(),
+                            entityInfo.getAlias());
+                } else {
+                    medRegNameRepository.update(entityInfo,
+                            entityInfo.getRisklevel(),
+                            entityInfo.getConflict_geiyao(),
+                            entityInfo.getConflict_gender(),
+                            entityInfo.getResult(),
+                            entityInfo.getAlias());
+                }
+                break;
+            case "体征":
+                if (entityInfo.getId() == null) {
+                    vitalRepository.create(entityInfo,
+                            entityInfo.getUnit());
+                } else {
+                    vitalRepository.update(entityInfo,
+                            entityInfo.getUnit());
+                }
+                break;
+            case "药物过敏原":
+                if (StringUtil.isBlank(entityInfo.getMedtype())) {
+                    throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入药品类型");
+                }
+                if (entityInfo.getId() == null) {
+                    medAllergenRepository.create(entityInfo,
+                            entityInfo.getMedtype(),
+                            entityInfo.getResult(),
+                            entityInfo.getAlias());
+                } else {
+                    medAllergenRepository.update(entityInfo,
+                            entityInfo.getMedtype(),
+                            entityInfo.getResult(),
+                            entityInfo.getAlias());
+                }
+                break;
+            case "实验室检查套餐名":
+                if (entityInfo.getId() == null) {
+                    lisSetRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "药品通用名称":
+                if (entityInfo.getId() == null) {
+                    medicineRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "疾病":
+                if (entityInfo.getId() == null) {
+                    diseaseRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "化验提醒指标":
+                if (entityInfo.getId() == null) {
+                    lisRemindRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "化验套餐名称":
+                if (entityInfo.getId() == null) {
+                    lisBigNameRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "辅助检查危急值":
+                if (entityInfo.getId() == null) {
+                    pacsCriticalRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "辅助检查名称描述":
+                if (entityInfo.getId() == null) {
+                    pacsDescribeRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "辅助检查名称结果":
+                if (entityInfo.getId() == null) {
+                    pacsResultRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "辅检提醒指标":
+                if (entityInfo.getId() == null) {
+                    pacsRemindRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "药品类别":
+                if (entityInfo.getId() == null) {
+                    medClassRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "药品治疗学类别":
+                if (entityInfo.getId() == null) {
+                    medZhiLiaoClassRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "药品药理学类别":
+                if (entityInfo.getId() == null) {
+                    medYaoLiClassRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "药品解剖学类别":
+                if (entityInfo.getId() == null) {
+                    medJiePouClassRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "药品化学物质类别":
+                if (entityInfo.getId() == null) {
+                    medChemClassRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "服用药品":
+                if (entityInfo.getId() == null) {
+                    oralMedicineRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "禁忌医疗器械及物品":
+                if (entityInfo.getId() == null) {
+                    conflictDeviceRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "性别":
+                if (entityInfo.getId() == null) {
+                    genderRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "症状":
+                if (entityInfo.getId() == null) {
+                    symptomNameRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "临床表现":
+                if (entityInfo.getId() == null) {
+                    clinicalFindingRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "科室":
+                if (entityInfo.getId() == null) {
+                    deptRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "开单项互斥":
+                if (entityInfo.getId() == null) {
+                    billConflictItemRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "禁忌人群":
+                if (entityInfo.getId() == null) {
+                    groupRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "建议输血提醒":
+                if (entityInfo.getId() == null) {
+                    transfusionSuggestRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "过敏原":
+                if (entityInfo.getId() == null) {
+                    allergenRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "食物过敏原":
+                if (entityInfo.getId() == null) {
+                    foodAllergenRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            case "输血提醒指标":
+                if (entityInfo.getId() == null) {
+                    transfusionRemindRepository.create(entityInfo);
+                } else {
+                    entityInfoRepository.update(entityInfo);
+                }
+                break;
+            default:
+                break;
+        }
+        return true;
+    }
+
+    public Boolean updateRelatedName(EntityInfo entityInfo) {
+        if (entityInfo.getId() == null) {
+            return true;
+        }
+        EntityInfo existEntity = getById(entityInfo.getId());
+        if (existEntity == null) {
+            return true;
+        }
+        //名称未修改
+        if (entityInfo.getName().equals(existEntity.getName())) {
+            return true;
+        }
+
+        //更新静态知识名称
+        if (existEntity.getIs_kl().equals(1)) {
+            conceptInfoFacade.updateName(existEntity.getName(), entityInfo.getName(), existEntity.getLabelType());
+        }
+
+        //更新术语关联名称
+        //医保疾病名称、药品通用名称、实验室检查套餐名、实验室检查名称、辅助检查名称、辅助检查子项目名称、科室、医保手术和操作名称、输血
+        switch (entityInfo.getLabelType()) {
+            case "医保疾病名称":
+                diseaseConfigFacade.updateUniqueName(existEntity.getName(), entityInfo.getName());
+                break;
+            case "药品通用名称":
+                drugConfigFacade.updateUniqueName(existEntity.getName(), entityInfo.getName());
+                break;
+            case "实验室检查套餐名":
+            case "实验室检查名称":
+                lisConfigFacade.updateUniqueName(existEntity.getName(), entityInfo.getName());
+                break;
+            case "辅助检查名称":
+            case "辅助检查子项目名称":
+                pacsConfigFacade.updateUniqueName(existEntity.getName(), entityInfo.getName());
+                break;
+            case "科室":
+                deptConfigFacade.updateUniqueName(existEntity.getName(), entityInfo.getName());
+                break;
+            case "医保手术和操作名称":
+                operationConfigFacade.updateUniqueName(existEntity.getName(), entityInfo.getName());
+                break;
+            default:
+                break;
+        }
+
+        //更新开单合理性开单项和禁忌条件名称
+        //图谱数据,保存时直接更新,无需二次更新
+        return true;
+    }
+}

+ 44 - 0
src/main/java/com/diagbot/facade/GraphConceptInfoFacade.java

@@ -0,0 +1,44 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.GraphConceptInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.impl.GraphConceptInfoServiceImpl;
+import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ListUtil;
+import org.apache.commons.collections.MapUtils;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @author kwz
+ * @date 2020/12/29
+ * @time 19:53
+ */
+@Component
+public class GraphConceptInfoFacade extends GraphConceptInfoServiceImpl {
+
+    public Map<String,List<String>> getGraphConceptMap(){
+        Map<String,List<String>> retMap = new HashMap<>();
+        QueryWrapper<GraphConceptInfo> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        List<GraphConceptInfo> graphConceptInfos = this.list(queryWrapper);
+        if(ListUtil.isEmpty(graphConceptInfos)){
+            return retMap;
+        }
+        Map<String, List<GraphConceptInfo>> typeMap = EntityUtil.makeEntityListMap(graphConceptInfos, "type");
+        if(MapUtils.isNotEmpty(typeMap)){
+            typeMap.forEach((key,value) ->{
+                retMap.put(key,value.stream().map(x ->x.getName()).collect(Collectors.toList()));
+            });
+        }
+
+        return retMap;
+
+    }
+
+}

+ 35 - 2
src/main/java/com/diagbot/facade/LisConfigFacade.java

@@ -1,13 +1,12 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.diagbot.entity.LisConfig;
 import com.diagbot.enums.IsDeleteEnum;
-import com.diagbot.service.LisConfigService;
 import com.diagbot.service.impl.LisConfigServiceImpl;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.HashMap;
@@ -71,4 +70,38 @@ public class LisConfigFacade extends LisConfigServiceImpl {
         }
         return retMap;
     }
+
+    /**
+     * 已映射
+     *
+     * @param name
+     * @return
+     */
+    public Boolean isMapping(String name) {
+        QueryWrapper<LisConfig> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("unique_name", name);
+        List<LisConfig> records = this.list(queryWrapper);
+        if (ListUtil.isNotEmpty(records)) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * 标准术语名称修改
+     *
+     * @param oldName
+     * @param newName
+     * @return
+     */
+    public Boolean updateUniqueName(String oldName, String newName) {
+        UpdateWrapper<LisConfig> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("unique_name", oldName)
+                .set("unique_name", newName);
+        this.update(updateWrapper);
+        return true;
+    }
 }

+ 57 - 0
src/main/java/com/diagbot/facade/OperationConfigFacade.java

@@ -0,0 +1,57 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.entity.OperationConfig;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.OperationConfigService;
+import com.diagbot.util.ListUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/7/29 15:05
+ */
+@Component
+public class OperationConfigFacade {
+    @Autowired
+    private OperationConfigService operationConfigService;
+
+    /**
+     * 已映射
+     *
+     * @param name
+     * @return
+     */
+    public Boolean isMapping(String name) {
+        QueryWrapper<OperationConfig> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("unique_name", name);
+        List<OperationConfig> records = operationConfigService.list(queryWrapper);
+        if (ListUtil.isNotEmpty(records)) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * 标准术语名称修改
+     *
+     * @param oldName
+     * @param newName
+     * @return
+     */
+    public Boolean updateUniqueName(String oldName, String newName) {
+        UpdateWrapper<OperationConfig> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("unique_name", oldName)
+                .set("unique_name", newName);
+        operationConfigService.update(updateWrapper);
+        return true;
+    }
+}

+ 35 - 1
src/main/java/com/diagbot/facade/PacsConfigFacade.java

@@ -1,6 +1,7 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.diagbot.entity.PacsConfig;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.PacsConfigServiceImpl;
@@ -52,4 +53,37 @@ public class PacsConfigFacade extends PacsConfigServiceImpl {
         return retMap;
     }
 
-}
+    /**
+     * 已映射
+     *
+     * @param name
+     * @return
+     */
+    public Boolean isMapping(String name) {
+        QueryWrapper<PacsConfig> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("unique_name", name);
+        List<PacsConfig> records = this.list(queryWrapper);
+        if (ListUtil.isNotEmpty(records)) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * 标准术语名称修改
+     *
+     * @param oldName
+     * @param newName
+     * @return
+     */
+    public Boolean updateUniqueName(String oldName, String newName) {
+        UpdateWrapper<PacsConfig> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("unique_name", oldName)
+                .set("unique_name", newName);
+        this.update(updateWrapper);
+        return true;
+    }
+}

+ 16 - 0
src/main/java/com/diagbot/facade/StaticKnowledgeFacade.java

@@ -2,11 +2,14 @@ package com.diagbot.facade;
 
 import com.diagbot.repository.BaseNodeRepository;
 import com.diagbot.vo.HasStaticKnowledgeVO;
+import org.apache.commons.collections.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description:
@@ -24,6 +27,9 @@ public class StaticKnowledgeFacade {
      */
     @Autowired
     BaseNodeRepository nodeRepository;
+    @Autowired
+    private GraphConceptInfoFacade graphConceptInfoFacade;
+
     public Boolean updateHasInfoStatus(HasStaticKnowledgeVO hasStaticKnowledgeVO) {
         @NotBlank(message = "请输入术语类型") String type = hasStaticKnowledgeVO.getType();
         @NotBlank(message = "请输入标准术语名称") String name = hasStaticKnowledgeVO.getName();
@@ -39,4 +45,14 @@ public class StaticKnowledgeFacade {
         }*/
         return true;
     }
+
+    public Boolean batchUpdateHasInfoStatus() {
+        Map<String, List<String>> graphConceptMap = graphConceptInfoFacade.getGraphConceptMap();
+        if(MapUtils.isNotEmpty(graphConceptMap)){
+            graphConceptMap.forEach((k,v)->{
+                nodeRepository.batchUpdateStaticKnowledgeSign(k,v);
+            });
+        }
+        return true;
+    }
 }

+ 15 - 0
src/main/java/com/diagbot/mapper/ConceptInfoMapper.java

@@ -0,0 +1,15 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.entity.ConceptInfo;
+
+/**
+ * <p>
+ * 静态知识标准术语表 Mapper 接口
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-08-18
+ */
+public interface ConceptInfoMapper extends BaseMapper<ConceptInfo> {
+}

+ 15 - 0
src/main/java/com/diagbot/mapper/DeptConfigMapper.java

@@ -0,0 +1,15 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.entity.DeptConfig;
+
+/**
+ * <p>
+ * 科室映射表 Mapper 接口
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-08-12
+ */
+public interface DeptConfigMapper extends BaseMapper<DeptConfig> {
+}

+ 15 - 0
src/main/java/com/diagbot/mapper/DiseaseConfigMapper.java

@@ -0,0 +1,15 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.entity.DiseaseConfig;
+
+/**
+ * <p>
+ * 诊断映射表 Mapper 接口
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-07-28
+ */
+public interface DiseaseConfigMapper extends BaseMapper<DiseaseConfig> {
+}

+ 15 - 0
src/main/java/com/diagbot/mapper/DrugConfigMapper.java

@@ -0,0 +1,15 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.entity.DrugConfig;
+
+/**
+ * <p>
+ * 药品映射表 Mapper 接口
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-07-28
+ */
+public interface DrugConfigMapper extends BaseMapper<DrugConfig> {
+}

+ 16 - 0
src/main/java/com/diagbot/mapper/GraphConceptInfoMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.GraphConceptInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 静态知识标准术语表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-12-29
+ */
+public interface GraphConceptInfoMapper extends BaseMapper<GraphConceptInfo> {
+
+}

+ 15 - 0
src/main/java/com/diagbot/mapper/OperationConfigMapper.java

@@ -0,0 +1,15 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.entity.OperationConfig;
+
+/**
+ * <p>
+ * 手术映射表 Mapper 接口
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-07-28
+ */
+public interface OperationConfigMapper extends BaseMapper<OperationConfig> {
+}

+ 12 - 0
src/main/java/com/diagbot/repository/AllergenRepository.java

@@ -1,7 +1,10 @@
 package com.diagbot.repository;
 
 import com.diagbot.entity.node.Allergen;
+import com.diagbot.entity.node.EntityInfo;
+import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -14,5 +17,14 @@ public interface AllergenRepository extends Neo4jRepository<Allergen, Long> {
 
     List<Allergen> findByNameContaining(String name);
 
+    @Query("create (n:过敏原) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    Allergen create(@Param("entityInfo") EntityInfo entityInfo);
 }
 

+ 3 - 0
src/main/java/com/diagbot/repository/BaseNodeRepository.java

@@ -108,6 +108,9 @@ public interface BaseNodeRepository extends Neo4jRepository<BaseNode, Long> {
     @Query("MATCH (n) WHERE labels(n)[0]={lab} and n.name={nm} set n.静态知识标识={sign}")
     void updateStaticKnowledgeSign(@Param("lab") String lab, @Param("nm") String nm, @Param("sign") Integer sign);
 
+    @Query("MATCH (n) WHERE labels(n)[0]={lab} and n.name in {nm} set n.静态知识标识=1")
+    void batchUpdateStaticKnowledgeSign(@Param("lab") String lab, @Param("nm") List<String> nm);
+
     @Query("match(d:医保疾病名称)\n" +
             "return d.name as name, case \n" +
             "when d.sex is not null then d.sex\n" +

+ 13 - 0
src/main/java/com/diagbot/repository/BillConflictItemRepository.java

@@ -1,7 +1,10 @@
 package com.diagbot.repository;
 
 import com.diagbot.entity.node.BillConflictItem;
+import com.diagbot.entity.node.EntityInfo;
+import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -12,4 +15,14 @@ import java.util.List;
  */
 public interface BillConflictItemRepository extends Neo4jRepository<BillConflictItem,Long> {
     List<BillConflictItem> findByNameIs(String name);
+
+    @Query("create (n:开单项互斥) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    BillConflictItem create(@Param("entityInfo") EntityInfo entityInfo);
 }

+ 11 - 0
src/main/java/com/diagbot/repository/ClinicalFindingRepository.java

@@ -1,6 +1,7 @@
 package com.diagbot.repository;
 
 import com.diagbot.entity.node.ClinicalFinding;
+import com.diagbot.entity.node.EntityInfo;
 import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
 import org.springframework.data.repository.query.Param;
@@ -45,4 +46,14 @@ public interface ClinicalFindingRepository extends Neo4jRepository<ClinicalFindi
                                    @Param("range") Integer range,
                                    @Param("unit") String unit,
                                    @Param("indication") String indication);
+
+    @Query("create (n:临床表现) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    ClinicalFinding create(@Param("entityInfo") EntityInfo entityInfo);
 }

+ 13 - 0
src/main/java/com/diagbot/repository/ConflictDeviceRepository.java

@@ -1,7 +1,10 @@
 package com.diagbot.repository;
 
 import com.diagbot.entity.node.ConflictDevice;
+import com.diagbot.entity.node.EntityInfo;
+import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -12,4 +15,14 @@ import java.util.List;
  */
 public interface ConflictDeviceRepository extends Neo4jRepository<ConflictDevice,Long> {
     List<ConflictDevice> findByNameIs(String name);
+
+    @Query("create (n:禁忌医疗器械及物品) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    ConflictDevice create(@Param("entityInfo") EntityInfo entityInfo);
 }

+ 11 - 0
src/main/java/com/diagbot/repository/DeptRepository.java

@@ -1,6 +1,7 @@
 package com.diagbot.repository;
 
 import com.diagbot.entity.node.Dept;
+import com.diagbot.entity.node.EntityInfo;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.neo4j.annotation.Query;
@@ -38,4 +39,14 @@ public interface DeptRepository extends Neo4jRepository<Dept, Long> {
 
     @Query("MATCH (n:科室) return distinct(n.name) as name LIMIT $(size)")
     List<String> getDeptNames(@Param("size") Integer size);
+
+    @Query("create (n:科室) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    Dept create(@Param("entityInfo") EntityInfo entityInfo);
 }

+ 14 - 0
src/main/java/com/diagbot/repository/DiseaseRepository.java

@@ -1,7 +1,11 @@
 package com.diagbot.repository;
 
 import com.diagbot.entity.node.Disease;
+import com.diagbot.entity.node.EntityInfo;
+import com.diagbot.entity.node.Group;
+import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -12,4 +16,14 @@ import java.util.List;
  */
 public interface DiseaseRepository extends Neo4jRepository<Disease,Long> {
     List<Disease> findByNameIs(String name);
+
+    @Query("create (n:疾病) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    Disease create(@Param("entityInfo") EntityInfo entityInfo);
 }

+ 250 - 0
src/main/java/com/diagbot/repository/EntityInfoRepository.java

@@ -0,0 +1,250 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.EntityBaseInfo;
+import com.diagbot.entity.node.EntityInfo;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.neo4j.annotation.Query;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/14 13:26
+ */
+public interface EntityInfoRepository extends Neo4jRepository<EntityBaseInfo,Long> {
+    @Query(value = "match(n)\n" +
+            "where exists(n.name) and n.name<>''\n" +
+            //"any(label in labels(n) where label in {labels})\n" +
+            "and (case when {label} is not null and {label} <> '' then\n" +
+            "(case {label}\n" +
+            "when '医保疾病名称' then n:医保疾病名称 \n " +
+            "when '实验室检查套餐名' then n:实验室检查套餐名 \n" +
+            "when '实验室检查名称' then n:实验室检查名称 \n" +
+            "when '辅助检查名称' then n:辅助检查名称 \n" +
+            "when '辅助检查子项目名称' then n:辅助检查子项目名称 \n" +
+            "when '药品通用名称' then n:药品通用名称 \n" +
+            "when '医保手术和操作名称' then n:医保手术和操作名称 \n" +
+            "when '疾病' then n:疾病 \n" +
+            "when '实验室检查' then n:实验室检查 \n" +
+            "when '化验细项及结果' then n:化验细项及结果 \n" +
+            "when '实验室检查危急值' then n:实验室检查危急值 \n" +
+            "when '化验提醒指标' then n:化验提醒指标 \n" +
+            "when '化验套餐名称' then n:化验套餐名称 \n" +
+            "when '辅助检查危急值' then n:辅助检查危急值 \n" +
+            "when '辅助检查名称描述' then n:辅助检查名称描述 \n" +
+            "when '辅助检查名称结果' then n:辅助检查名称结果 \n" +
+            "when '辅检提醒指标' then n:辅检提醒指标 \n" +
+            "when '药品代码通用名' then n:药品代码通用名 \n" +
+            "when '药品注册名称' then n:药品注册名称 \n" +
+            "when '药品类别' then n:药品类别 \n" +
+            "when '药品治疗学类别' then n:药品治疗学类别 \n" +
+            "when '药品药理学类别' then n:药品药理学类别 \n" +
+            "when '药品化学物质类别' then n:药品化学物质类别 \n" +
+            "when '服用药品' then n:服用药品 \n" +
+            "when '禁忌医疗器械及物品' then n:禁忌医疗器械及物品 \n" +
+            "when '性别' then n:性别 \n" +
+            "when '体征' then n:体征 \n" +
+            "when '症状' then n:症状 \n" +
+            "when '临床表现' then n:临床表现 \n" +
+            "when '科室' then n:科室 \n" +
+            "when '开单项互斥' then n:开单项互斥 \n" +
+            "when '禁忌人群' then n:禁忌人群 \n" +
+            "when '建议输血提醒' then n:建议输血提醒 \n" +
+            "when '药物过敏原' then n:药物过敏原 \n" +
+            "when '过敏原' then n:过敏原 \n" +
+            "when '食物过敏原' then n:食物过敏原 \n" +
+            "when '输血提醒指标' then n:输血提醒指标 \n" +
+            "else any(label in labels(n) where label in {labels}) " +
+            "end)" +
+            "else any(label in labels(n) where label in {labels}) " +
+            "end)" +
+            "and (case when {name} is not null and {name} <> '' " +
+            "then " +
+            "((toLower(n.`name`) CONTAINS toLower($name) OR toLower(n.`拼音编码`) CONTAINS toLower($name))) " +
+            "else 1 = 1 " +
+            "end ) \n" +
+            "and (case when {status} is not null " +
+            "then " +
+            "n.状态 = {status} " +
+            "else 1 = 1 " +
+            "end ) \n" +
+            "and (case when {is_kl} is not null " +
+            "then " +
+            "n.静态知识标识 = {is_kl} " +
+            "else 1 = 1 " +
+            "end ) \n" +
+            "and not(exists(n.禁忌人群指标)) \n" +
+            "and not(exists(n.体征指标)) \n" +
+            "and not(exists(n.实验室检查指标)) \n" +
+            "return id(n) as id,n.name as name,n.拼音编码  as pycode,labels(n)[0] as labelType,n.状态 as status,n.静态知识标识 as is_kl\n" +
+            "order by n.状态 desc, id(n) desc",
+            countQuery = "match(n)\n" +
+                    "where exists(n.name) and n.name<>''\n" +
+                    //"any(label in labels(n) where label in {labels})\n" +
+                    "and (case when {label} is not null and {label} <> '' then\n" +
+                    "(case {label}\n" +
+                    "when '医保疾病名称' then n:医保疾病名称 \n " +
+                    "when '实验室检查套餐名' then n:实验室检查套餐名 \n" +
+                    "when '实验室检查名称' then n:实验室检查名称 \n" +
+                    "when '辅助检查名称' then n:辅助检查名称 \n" +
+                    "when '辅助检查子项目名称' then n:辅助检查子项目名称 \n" +
+                    "when '药品通用名称' then n:药品通用名称 \n" +
+                    "when '医保手术和操作名称' then n:医保手术和操作名称 \n" +
+                    "when '疾病' then n:疾病 \n" +
+                    "when '实验室检查' then n:实验室检查 \n" +
+                    "when '化验细项及结果' then n:化验细项及结果 \n" +
+                    "when '实验室检查危急值' then n:实验室检查危急值 \n" +
+                    "when '化验提醒指标' then n:化验提醒指标 \n" +
+                    "when '化验套餐名称' then n:化验套餐名称 \n" +
+                    "when '辅助检查危急值' then n:辅助检查危急值 \n" +
+                    "when '辅助检查名称描述' then n:辅助检查名称描述 \n" +
+                    "when '辅助检查名称结果' then n:辅助检查名称结果 \n" +
+                    "when '辅检提醒指标' then n:辅检提醒指标 \n" +
+                    "when '药品代码通用名' then n:药品代码通用名 \n" +
+                    "when '药品注册名称' then n:药品注册名称 \n" +
+                    "when '药品类别' then n:药品类别 \n" +
+                    "when '药品治疗学类别' then n:药品治疗学类别 \n" +
+                    "when '药品药理学类别' then n:药品药理学类别 \n" +
+                    "when '药品化学物质类别' then n:药品化学物质类别 \n" +
+                    "when '服用药品' then n:服用药品 \n" +
+                    "when '禁忌医疗器械及物品' then n:禁忌医疗器械及物品 \n" +
+                    "when '性别' then n:性别 \n" +
+                    "when '体征' then n:体征 \n" +
+                    "when '症状' then n:症状 \n" +
+                    "when '临床表现' then n:临床表现 \n" +
+                    "when '科室' then n:科室 \n" +
+                    "when '开单项互斥' then n:开单项互斥 \n" +
+                    "when '禁忌人群' then n:禁忌人群 \n" +
+                    "when '建议输血提醒' then n:建议输血提醒 \n" +
+                    "when '药物过敏原' then n:药物过敏原 \n" +
+                    "when '过敏原' then n:过敏原 \n" +
+                    "when '食物过敏原' then n:食物过敏原 \n" +
+                    "when '输血提醒指标' then n:输血提醒指标 \n" +
+                    "else any(label in labels(n) where label in {labels}) " +
+                    "end)" +
+                    "else any(label in labels(n) where label in {labels}) " +
+                    "end)" +
+                    "and (case when {name} is not null and {name} <> '' " +
+                    "then " +
+                    "((toLower(n.`name`) CONTAINS toLower($name) OR toLower(n.`拼音编码`) CONTAINS toLower($name))) " +
+                    "else 1 = 1 " +
+                    "end ) \n" +
+                    "and (case when {status} is not null " +
+                    "then " +
+                    "n.状态 = {status} " +
+                    "else 1 = 1 " +
+                    "end ) \n" +
+                    "and (case when {is_kl} is not null " +
+                    "then " +
+                    "n.静态知识标识 = {is_kl} " +
+                    "else 1 = 1 " +
+                    "end ) \n" +
+                    "and not(exists(n.禁忌人群指标)) \n" +
+                    "and not(exists(n.体征指标)) \n" +
+                    "and not(exists(n.实验室检查指标)) \n" +
+                    "return count(*)")
+    Page<EntityInfo> getEntityPage(@Param("labels") List<String> labels,
+                                   @Param("label") String label,
+                                   @Param("name") String name,
+                                   @Param("status") Integer status,
+                                   @Param("is_kl") Integer is_kl,
+                                   Pageable pageable);
+
+    @Query(value = "match(n) where n.name={name} and {label} in labels(n) \n " +
+            "return id(n) as id,n.name as name,n.拼音编码  as pycode,labels(n)[0] as labelType,n.状态 as status,n.静态知识标识 as is_kl\n")
+    List<EntityInfo> existNodes(@Param("name") String name,
+                                @Param("label") String label);
+
+    @Query("merge (n{id:{name}})  " +
+            "on create set  " +
+            "n.拼音编码={pycode}," +
+            "n.静态知识标识={is_kl}," +
+            "n.状态={status}," +
+            "n.最大值={maxValue}," +
+            "n.最小值={minValue}," +
+            "n.范围={range}," +
+            "n.单位={unit}, " +
+            "n.实验室检查指标={indication} " +
+            "on match set  " +
+            "n.拼音编码={pycode}," +
+            "n.静态知识标识={is_kl}," +
+            "n.状态={status}," +
+            "n.最大值={maxValue}," +
+            "n.最小值={minValue}," +
+            "n.范围={range}," +
+            "n.单位={unit}, " +
+            "n.实验室检查指标={indication} " +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    Boolean updateEntity(@Param("id") Long id);
+
+    @Query(value = "match(n)\n" +
+            "where id(n)={id}\n" +
+            "return id(n) as id,\n" +
+            "n.name as name,\n" +
+            "n.拼音编码 as pycode,\n" +
+            "n.状态 as status,\n" +
+            "n.静态知识标识 as is_kl,\n" +
+            "labels(n)[0] as labelType,\n" +
+            "n.年龄 as age,\n" +
+            "n.age as ageRange,\n" +
+            "n.性别 as gender,\n" +
+            "n.单位 as unit,\n" +
+            "case labels(n)[0] \n" +
+            "when \"医保疾病名称\" then n.疾病别称\n" +
+            "when \"药物过敏原\" then n.名称\n" +
+            "when \"药品注册名称\" then n.名称\n" +
+            "end  as alias,\n" +
+            "n.结果 as result,\n" +
+            "n.最大值 as maxval,\n" +
+            "n.最小值 as minval,\n" +
+            "n.范围 as range,\n" +
+            "n.分类 as category,\n" +
+            "n.dept as dept,\n" +
+            //"n.年龄max as maxAge,\n" +
+            //"n.年龄min as minAge,\n" +
+            "n.手术级别 as opgrade,\n" +
+            "n.高危条件 as highriskcond,\n" +
+            "n.special as special,\n" +
+            "n.药品类型 as medtype,\n" +
+            "n.药品高危级别 as risklevel,\n" +
+            "n.禁忌给药途径 as conflict_geiyao,\n" +
+            "n.禁忌性别 as conflict_gender," +
+            "n.最小包装数量 as min_pack_num," +
+            "n.注册剂型 as reg_JiXin," +
+            "n.药品本位码 as benWei_Code," +
+            "n.最小包装单位 as min_pack_unit," +
+            "n.注册规格 as reg_GuiGe," +
+            "n.包装材质 as pack_CaiLiao," +
+            "n.药品企业 as producer," +
+            "n.批准文号 as license_num," +
+            "n.最小制剂单位 as min_prod_unit," +
+            "n.标准注册剂型 as stand_reg_JiXin")
+    EntityInfo getById(@Param("id") Long id);
+
+
+    @Query("match (n) \n" +
+            "where id(n) = :#{#entityInfo.id} \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}")
+    void update(@Param("entityInfo") EntityInfo entityInfo);
+
+    @Query("create (n) \n" +
+            "set  " +
+            "labels(n)=[:#{#entityInfo.labelType}]," +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "with id(n) as nodeId\n" +
+            "match (n)\n" +
+            "where id(n) = nodeId\n" +
+            "set labels(n)=[:#{#entityInfo.labelType}]")
+    void create(@Param("entityInfo") EntityInfo entityInfo);
+}

+ 24 - 0
src/main/java/com/diagbot/repository/FoodAllergenRepository.java

@@ -0,0 +1,24 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.EntityInfo;
+import com.diagbot.entity.node.FoodAllergen;
+import org.springframework.data.neo4j.annotation.Query;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/16 13:19
+ */
+public interface FoodAllergenRepository extends Neo4jRepository<FoodAllergen,Long> {
+    @Query("create (n:食物过敏原) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    FoodAllergen create(@Param("entityInfo") EntityInfo entityInfo);
+}

+ 14 - 1
src/main/java/com/diagbot/repository/GenderRepository.java

@@ -1,7 +1,10 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.Gender;
+import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -12,4 +15,14 @@ import java.util.List;
  */
 public interface GenderRepository extends Neo4jRepository<Gender,Long> {
     List<Gender> findByNameIs(String name);
-}
+
+    @Query("create (n:性别) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    Gender create(@Param("entityInfo") EntityInfo entityInfo);
+}

+ 11 - 0
src/main/java/com/diagbot/repository/GroupRepository.java

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.Group;
 import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
@@ -45,4 +46,14 @@ public interface GroupRepository extends Neo4jRepository<Group, Long> {
                          @Param("range") Integer range,
                          @Param("unit") String unit,
                          @Param("indication") String indication);
+
+    @Query("create (n:禁忌人群) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    Group create(@Param("entityInfo") EntityInfo entityInfo);
 }

+ 24 - 0
src/main/java/com/diagbot/repository/LisBigNameRepository.java

@@ -0,0 +1,24 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.EntityInfo;
+import com.diagbot.entity.node.LisBigName;
+import org.springframework.data.neo4j.annotation.Query;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/15 16:47
+ */
+public interface LisBigNameRepository extends Neo4jRepository<LisBigName,Long> {
+    @Query("create (n:化验套餐名称) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    LisBigName create(@Param("entityInfo") EntityInfo entityInfo);
+}

+ 26 - 2
src/main/java/com/diagbot/repository/LisCriticalRepository.java

@@ -1,8 +1,7 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.LisCritical;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
 import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
 import org.springframework.data.repository.query.Param;
@@ -18,4 +17,29 @@ public interface LisCriticalRepository extends Neo4jRepository<LisCritical, Long
 
     List<LisCritical> findByNameIn(List<String> names);
 
+    @Query("match (n:实验室检查危急值) \n" +
+            "where id(n) = :#{#entityInfo.id} \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.单位 = {unit}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    LisCritical update(@Param("entityInfo") EntityInfo entityInfo,
+                       @Param("unit") String unit);
+
+    @Query("create (n:实验室检查危急值) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.单位 = {unit}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    LisCritical create(@Param("entityInfo") EntityInfo entityInfo,
+                       @Param("unit") String unit);
+
 }

+ 9 - 2
src/main/java/com/diagbot/repository/LisNameNode.java

@@ -19,7 +19,12 @@ import com.diagbot.util.StringUtil;
 import com.diagbot.vo.CriticalNeoVO;
 
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 public class LisNameNode {
@@ -189,7 +194,7 @@ public class LisNameNode {
 			size = 100;
 		}
 
-		List<LisName> lislt = lisRepository.index(name, name,size);
+		List<LisName> lislt = lisRepository.index(name, name, size);
 
 		if (ListUtil.isNotEmpty(lislt) && lislt.size() > size) {
 			lislt = lislt.subList(0, size);
@@ -224,6 +229,7 @@ public class LisNameNode {
 							lisDetailDTO.setName(lisset.getLisSet().getName());
 							lisDetailDTO.setMaxValue(lis.getMaxval());
 							lisDetailDTO.setMinValue(lis.getMinval());
+							lisDetailDTO.setRange(lis.getRange());
 							lisDetailDTO.setUnits(lis.getUnit());
 							lislist.add(lisDetailDTO);
 						}
@@ -235,6 +241,7 @@ public class LisNameNode {
 				lisDetailDTO.setName(lis.getName() + "(套餐)");
 				lisDetailDTO.setMaxValue(lis.getMaxval());
 				lisDetailDTO.setMinValue(lis.getMinval());
+				lisDetailDTO.setRange(lis.getRange());
 				lisDetailDTO.setUnits(lis.getUnit());
 				lislist.add(lisDetailDTO);
 			}

+ 38 - 0
src/main/java/com/diagbot/repository/LisNameRepository.java

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.LisName;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -52,4 +53,41 @@ public interface LisNameRepository extends Neo4jRepository<LisName, Long> {
 
     @Query("MATCH (n:实验室检查名称) RETURN DISTINCT n.name as name LIMIT {size}")
     List<String> getname(@Param("size") Integer size);
+
+    @Query("match (n:实验室检查名称) \n" +
+            "where id(n) = :#{#entityInfo.id} \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.单位 = {unit}," +
+            "n.最大值 = {maxValue}," +
+            "n.最小值 = {minValue}," +
+            "n.范围 = {range}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    LisName update(@Param("entityInfo") EntityInfo entityInfo,
+                   @Param("unit") String unit,
+                   @Param("maxValue") Double maxValue,
+                   @Param("minValue") Double minValue,
+                   @Param("range") Integer range);
+
+    @Query("create (n:实验室检查名称) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.单位 = {unit}," +
+            "n.最大值 = {maxValue}," +
+            "n.最小值 = {minValue}," +
+            "n.范围 = {range}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    LisName create(@Param("entityInfo") EntityInfo entityInfo,
+                   @Param("unit") String unit,
+                   @Param("maxValue") Double maxValue,
+                   @Param("minValue") Double minValue,
+                   @Param("range") Integer range);
 }

+ 12 - 0
src/main/java/com/diagbot/repository/LisRemindRepository.java

@@ -1,8 +1,11 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
+import com.diagbot.entity.node.Group;
 import com.diagbot.entity.node.LisRemind;
 import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -13,5 +16,14 @@ public interface LisRemindRepository extends Neo4jRepository<LisRemind, Long> {
 
     List<LisRemind> findByNameContaining(String name);
 
+    @Query("create (n:化验提醒指标) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    LisRemind create(@Param("entityInfo") EntityInfo entityInfo);
 }
 

+ 26 - 0
src/main/java/com/diagbot/repository/LisRepository.java

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.Lis;
 import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
@@ -45,4 +46,29 @@ public interface LisRepository extends Neo4jRepository<Lis,Long> {
                        @Param("unit") String unit,
                        @Param("indication") String indication);
 
+    @Query("match (n:实验室检查) \n" +
+            "where id(n) = :#{#entityInfo.id} \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.单位 = {unit}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    Lis update(@Param("entityInfo") EntityInfo entityInfo,
+               @Param("unit") String unit);
+
+    @Query("create (n:实验室检查) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.单位 = {unit}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    Lis create(@Param("entityInfo") EntityInfo entityInfo,
+               @Param("unit") String unit);
+
 }

+ 22 - 1
src/main/java/com/diagbot/repository/LisSetRepository.java

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.LisSet;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -52,5 +53,25 @@ public interface LisSetRepository extends Neo4jRepository<LisSet, Long> {
 
     @Query("MATCH (n:实验室检查套餐名) RETURN DISTINCT(n.name) LIMIT {size}")
     List<String> getname(@Param("size") Integer size);
-}
 
+    @Query("match (n:实验室检查套餐名) \n" +
+            "where id(n) = :#{#entityInfo.id} \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    LisSet update(@Param("entityInfo") EntityInfo entityInfo);
+
+    @Query("create (n:实验室检查套餐名) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    LisSet create(@Param("entityInfo") EntityInfo entityInfo);
+}

+ 39 - 0
src/main/java/com/diagbot/repository/LisSubNameAndResultRepository.java

@@ -0,0 +1,39 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.EntityInfo;
+import com.diagbot.entity.node.LisSubNameAndResult;
+import org.springframework.data.neo4j.annotation.Query;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/16 13:25
+ */
+public interface LisSubNameAndResultRepository extends Neo4jRepository<LisSubNameAndResult,Long> {
+    @Query("match (n:化验细项及结果) \n" +
+            "where id(n) = :#{#entityInfo.id} \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.special = {special}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    LisSubNameAndResult update(@Param("entityInfo") EntityInfo entityInfo,
+                   @Param("special") String special);
+
+    @Query("create (n:化验细项及结果) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.special = {special}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    LisSubNameAndResult create(@Param("entityInfo") EntityInfo entityInfo,
+                   @Param("special") String special);
+}

+ 35 - 0
src/main/java/com/diagbot/repository/MedAllergenRepository.java

@@ -1,7 +1,10 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.MedAllergen;
+import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -14,5 +17,37 @@ public interface MedAllergenRepository extends Neo4jRepository<MedAllergen, Long
 
     List<MedAllergen> findByNameContaining(String name);
 
+    @Query("match (n:药物过敏原) \n" +
+            "where id(n) = :#{#entityInfo.id} \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.药品类型 = {medtype}," +
+            "n.结果 = {result}," +
+            "n.名称 = {alias}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    MedAllergen update(@Param("entityInfo") EntityInfo entityInfo,
+                       @Param("medtype") String medtype,
+                       @Param("result") String result,
+                       @Param("alias") String alias);
+
+    @Query("create (n:药物过敏原) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.药品类型 = {medtype}," +
+            "n.结果 = {result}," +
+            "n.名称 = {alias}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    MedAllergen create(@Param("entityInfo") EntityInfo entityInfo,
+                       @Param("medtype") String medtype,
+                       @Param("result") String result,
+                       @Param("alias") String alias);
 }
 

+ 24 - 0
src/main/java/com/diagbot/repository/MedChemClassRepository.java

@@ -0,0 +1,24 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.EntityInfo;
+import com.diagbot.entity.node.MedChemClass;
+import org.springframework.data.neo4j.annotation.Query;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/15 16:35
+ */
+public interface MedChemClassRepository extends Neo4jRepository<MedChemClass,Long> {
+    @Query("create (n:药品化学物质类别) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    MedChemClass create(@Param("entityInfo") EntityInfo entityInfo);
+}

+ 24 - 0
src/main/java/com/diagbot/repository/MedClassRepository.java

@@ -0,0 +1,24 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.EntityInfo;
+import com.diagbot.entity.node.MedClass;
+import org.springframework.data.neo4j.annotation.Query;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/15 16:26
+ */
+public interface MedClassRepository extends Neo4jRepository<MedClass,Long> {
+    @Query("create (n:药品类别) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    MedClass create(@Param("entityInfo") EntityInfo entityInfo);
+}

+ 13 - 0
src/main/java/com/diagbot/repository/MedJiePouClassRepository.java

@@ -1,7 +1,10 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.MedJiePouClass;
+import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -11,5 +14,15 @@ public interface MedJiePouClassRepository extends Neo4jRepository<MedJiePouClass
     List<MedJiePouClass> findByNameIs(String name);
 
     List<MedJiePouClass> findByNameContaining(String name);
+
+    @Query("create (n:药品解剖学类别) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    MedJiePouClass create(@Param("entityInfo") EntityInfo entityInfo);
 }
 

+ 28 - 8
src/main/java/com/diagbot/repository/MedRegNameNode.java

@@ -3,12 +3,14 @@ package com.diagbot.repository;
 import com.diagbot.dto.DrugBillNeoDTO;
 import com.diagbot.dto.HighRiskNeoDTO;
 import com.diagbot.dto.NodeNeoDTO;
+import com.diagbot.entity.node.Gender;
 import com.diagbot.entity.node.Group;
 import com.diagbot.entity.node.MedAllergen;
 import com.diagbot.entity.node.MedCodeName;
 import com.diagbot.entity.node.MedRegName;
 import com.diagbot.entity.node.Medicine;
 import com.diagbot.entity.node.Vital;
+import com.diagbot.entity.relationship.MedRegNameGender;
 import com.diagbot.entity.relationship.MedRegNameGroup;
 import com.diagbot.entity.relationship.MedRegNameMedAllergen;
 import com.diagbot.entity.relationship.MedRegNameMedRegName;
@@ -33,6 +35,8 @@ public class MedRegNameNode {
     VitalRepository vitalRepository;
     @Autowired
     MedRegNameRepository medRegNameRepository;
+    @Autowired
+    GenderRepository genderRepository;
 
     /**
      * 获取高危药品数据
@@ -44,7 +48,7 @@ public class MedRegNameNode {
         String drugname, drugform;
         List<Medicine> medicine;
         List<MedCodeName> medcdnames;
-//        MedRegName medreg;
+        //        MedRegName medreg;
 
         // Long t1 = System.currentTimeMillis();
 
@@ -91,18 +95,17 @@ public class MedRegNameNode {
                 if (NeoUtil.isExist(medvital.getVital())) {
                     nodeInfo = new NodeInfo();
                     Vital vital = medvital.getVital();
-                    String name = (vital.getVitalidx()==null)?vital.getName():vital.getVitalidx();
+                    String name = (vital.getVitalidx() == null) ? vital.getName() : vital.getVitalidx();
                     nodeInfo.setName(name);
                     nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(vital.getMinval()));
                     nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(vital.getMaxval()));
                     nodeInfo.setUnit(vital.getUnit());
                     nodeInfo.setRange(vital.getRange());
                     nodeInfo.setTypeval(name);
-//                    NodeNeoDTO nodeNeoDTO = NeoUtil.fillNodeNeoDTO(medvital.getVital());
+                    //                    NodeNeoDTO nodeNeoDTO = NeoUtil.fillNodeNeoDTO(medvital.getVital());
                     if (name.equals(Constants.age)) {
                         drugBillNeoDTO.setAgeNeoDTO(NeoUtil.updateNodeInfo(nodeInfo));
-                    }
-                    else {
+                    } else {
                         drugBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(nodeInfo));
                     }
                 }
@@ -145,15 +148,23 @@ public class MedRegNameNode {
             }
         }
 
-
-        String conflict_gender = medRegName.getConflict_gender();
+        /*String conflict_gender = medRegName.getConflict_gender();
         if (null != conflict_gender) {
             NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
             nodeNeoDTO.setName(conflict_gender);
             nodeNeoDTO.setTermtype(Constants.gender);
             drugBillNeoDTO.setGender(nodeNeoDTO);
-        }
+        }*/
 
+        MedRegNameGender medRegNameGender = medRegName.getMedRegNameGender();
+        if (NeoUtil.isExist(medRegNameGender)) {
+            if (NeoUtil.isExist(medRegNameGender.getGender())) {
+                NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
+                nodeNeoDTO.setName(medRegNameGender.getGender().getName());
+                nodeNeoDTO.setTermtype(Constants.gender);
+                drugBillNeoDTO.setGender(nodeNeoDTO);
+            }
+        }
 
         String conflict_geiyao = medRegName.getConflict_geiyao();
         if (null != conflict_geiyao) {
@@ -174,6 +185,15 @@ public class MedRegNameNode {
         Boolean isExist = false;
         try {
             switch (relname) {
+                case "药品注册名称禁忌性别":
+                    Gender gender = genderRepository.findByNameIs(e_name).get(0);
+                    MedRegNameGender medRegNameGender = new MedRegNameGender();
+                    medRegNameGender.setGender(gender);
+                    medRegNameGender.setMedRegName(medRegName);
+                    medRegNameGender.setStatus(status);
+                    medRegNameGender.setRuleType(ruleType);
+                    medRegName.setMedRegNameGender(medRegNameGender);
+                    break;
                 case "药品注册名称禁忌禁忌人群":
                     Group group = groupRepository.findByNameIs(e_name).get(0);
                     Set<MedRegNameGroup> medRegNameGroupSet = medRegName.getMedRegNameGroup();

+ 44 - 0
src/main/java/com/diagbot/repository/MedRegNameRepository.java

@@ -1,7 +1,10 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.MedRegName;
+import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -11,5 +14,46 @@ public interface MedRegNameRepository extends Neo4jRepository<MedRegName, Long>
     List<MedRegName> findByNameIs(String name);
 
     List<MedRegName> findByNameContaining(String name);
+
+    @Query("match (n:药品注册名称) \n" +
+            "where id(n) = :#{#entityInfo.id} \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.药品高危级别 = {risklevel}," +
+            "n.禁忌给药途径 = {conflict_geiyao}," +
+            "n.禁忌性别 = {conflict_gender}," +
+            "n.结果 = {result}," +
+            "n.名称 = {alias}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    MedRegName update(@Param("entityInfo") EntityInfo entityInfo,
+                      @Param("risklevel") String risklevel,
+                      @Param("conflict_geiyao") String conflict_geiyao,
+                      @Param("conflict_gender") String conflict_gender,
+                      @Param("result") String result,
+                      @Param("alias") String alias);
+
+    @Query("create (n:药品注册名称) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.药品高危级别 = {risklevel}," +
+            "n.禁忌给药途径 = {conflict_geiyao}," +
+            "n.禁忌性别 = {conflict_gender}," +
+            "n.结果 = {result}," +
+            "n.名称 = {alias}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    MedRegName create(@Param("entityInfo") EntityInfo entityInfo,
+                      @Param("risklevel") String risklevel,
+                      @Param("conflict_geiyao") String conflict_geiyao,
+                      @Param("conflict_gender") String conflict_gender,
+                      @Param("result") String result,
+                      @Param("alias") String alias);
 }
 

+ 24 - 0
src/main/java/com/diagbot/repository/MedYaoLiClassRepository.java

@@ -0,0 +1,24 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.EntityInfo;
+import com.diagbot.entity.node.MedYaoLiClass;
+import org.springframework.data.neo4j.annotation.Query;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/15 16:30
+ */
+public interface MedYaoLiClassRepository extends Neo4jRepository<MedYaoLiClass,Long> {
+    @Query("create (n:药品药理学类别) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    MedYaoLiClass create(@Param("entityInfo") EntityInfo entityInfo);
+}

+ 24 - 0
src/main/java/com/diagbot/repository/MedZhiLiaoClassRepository.java

@@ -0,0 +1,24 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.EntityInfo;
+import com.diagbot.entity.node.MedZhiLiaoClass;
+import org.springframework.data.neo4j.annotation.Query;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/15 16:27
+ */
+public interface MedZhiLiaoClassRepository extends Neo4jRepository<MedZhiLiaoClass,Long> {
+    @Query("create (n:药品治疗学类别) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    MedZhiLiaoClass create(@Param("entityInfo") EntityInfo entityInfo);
+}

+ 63 - 1
src/main/java/com/diagbot/repository/MedicineCodeRepository.java

@@ -1,9 +1,10 @@
 package com.diagbot.repository;
 
-import com.diagbot.entity.node.MedCode;
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.MedCodeName;
 import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -13,5 +14,66 @@ public interface MedicineCodeRepository extends Neo4jRepository<MedCodeName, Lon
     List<MedCodeName> findByNameIs(String name);
 
     List<MedCodeName> findByNameContaining(String name);
+
+    @Query("match (n:药品代码通用名) \n" +
+            "where id(n) = :#{#entityInfo.id} \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.最小包装数量 = {min_pack_num}," +
+            "n.注册剂型 = {reg_JiXin}," +
+            "n.药品本位码 = {benWei_Code}," +
+            "n.最小包装单位 = {min_pack_unit}," +
+            "n.注册规格 = {reg_GuiGe}," +
+            "n.包装材质 = {pack_CaiLiao}," +
+            "n.药品企业 = {producer}," +
+            "n.批准文号 = {license_num}," +
+            "n.最小制剂单位 = {min_prod_unit}," +
+            "n.标准注册剂型 = {stand_reg_JiXin}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    MedCodeName update(@Param("entityInfo") EntityInfo entityInfo,
+                       @Param("min_pack_num") Double min_pack_num,
+                       @Param("reg_JiXin") String reg_JiXin,
+                       @Param("benWei_Code") String benWei_Code,
+                       @Param("min_pack_unit") String min_pack_unit,
+                       @Param("reg_GuiGe") String reg_GuiGe,
+                       @Param("pack_CaiLiao") String pack_CaiLiao,
+                       @Param("producer") String producer,
+                       @Param("license_num") String license_num,
+                       @Param("min_prod_unit") String min_prod_unit,
+                       @Param("stand_reg_JiXin") String stand_reg_JiXin);
+
+    @Query("create (n:药品代码通用名) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.最小包装数量 = {min_pack_num}," +
+            "n.注册剂型 = {reg_JiXin}," +
+            "n.药品本位码 = {benWei_Code}," +
+            "n.最小包装单位 = {min_pack_unit}," +
+            "n.注册规格 = {reg_GuiGe}," +
+            "n.包装材质 = {pack_CaiLiao}," +
+            "n.药品企业 = {producer}," +
+            "n.批准文号 = {license_num}," +
+            "n.最小制剂单位 = {min_prod_unit}," +
+            "n.标准注册剂型 = {stand_reg_JiXin}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    MedCodeName create(@Param("entityInfo") EntityInfo entityInfo,
+                       @Param("min_pack_num") Double min_pack_num,
+                       @Param("reg_JiXin") String reg_JiXin,
+                       @Param("benWei_Code") String benWei_Code,
+                       @Param("min_pack_unit") String min_pack_unit,
+                       @Param("reg_GuiGe") String reg_GuiGe,
+                       @Param("pack_CaiLiao") String pack_CaiLiao,
+                       @Param("producer") String producer,
+                       @Param("license_num") String license_num,
+                       @Param("min_prod_unit") String min_prod_unit,
+                       @Param("stand_reg_JiXin") String stand_reg_JiXin);
 }
 

+ 11 - 1
src/main/java/com/diagbot/repository/MedicineRepository.java

@@ -1,6 +1,6 @@
 package com.diagbot.repository;
 
-import com.diagbot.entity.node.MedCodeName;
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.MedRegName;
 import com.diagbot.entity.node.Medicine;
 import org.springframework.data.domain.Page;
@@ -63,4 +63,14 @@ public interface MedicineRepository extends Neo4jRepository<Medicine, Long> {
 
     @Query("MATCH (n:药品通用名称) RETURN DISTINCT n.name as name LIMIT $size")
     List<String> getMedicineNames(@Param("size") Integer size);
+
+    @Query("create (n:药品通用名称) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    Medicine create(@Param("entityInfo") EntityInfo entityInfo);
 }

+ 14 - 0
src/main/java/com/diagbot/repository/OralMedicineRepository.java

@@ -1,7 +1,11 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
+import com.diagbot.entity.node.Group;
 import com.diagbot.entity.node.OralMedicine;
+import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -12,4 +16,14 @@ import java.util.List;
  */
 public interface OralMedicineRepository extends Neo4jRepository<OralMedicine,Long> {
     List<OralMedicine> findByNameIs(String name);
+
+    @Query("create (n:服用药品) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    OralMedicine create(@Param("entityInfo") EntityInfo entityInfo);
 }

+ 10 - 0
src/main/java/com/diagbot/repository/PacsCriticalRepository.java

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.PacsCritical;
 import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
@@ -15,5 +16,14 @@ public interface PacsCriticalRepository extends Neo4jRepository<PacsCritical, Lo
 
     List<PacsCritical> findByNameContaining(String name);
 
+    @Query("create (n:辅助检查危急值) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    PacsCritical create(@Param("entityInfo") EntityInfo entityInfo);
 }
 

+ 13 - 0
src/main/java/com/diagbot/repository/PacsDescribeRepository.java

@@ -1,7 +1,10 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.PacsDescribe;
+import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -12,4 +15,14 @@ import java.util.List;
  */
 public interface PacsDescribeRepository extends Neo4jRepository<PacsDescribe,Long> {
     List<PacsDescribe> findByNameIs(String name);
+
+    @Query("create (n:辅助检查名称描述) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    PacsDescribe create(@Param("entityInfo") EntityInfo entityInfo);
 }

+ 27 - 0
src/main/java/com/diagbot/repository/PacsNameRepository.java

@@ -1,7 +1,9 @@
 package com.diagbot.repository;
 
 import com.diagbot.entity.BaseNodeInfo;
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.PacsName;
+import com.diagbot.entity.node.YiBaoDiseaseName;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.neo4j.annotation.Query;
@@ -94,4 +96,29 @@ public interface PacsNameRepository extends Neo4jRepository<PacsName, Long> {
     @Query("MATCH (n) WHERE (n:辅助检查名称 OR n:辅助检查子项目名称)\n" +
             "RETURN DISTINCT n.name as name LIMIT {size}\n")
     List<String> getPACSNames(@Param("size") Integer size);
+
+    @Query("match (n:辅助检查名称) \n" +
+            "where id(n) = :#{#entityInfo.id} \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.性别 = {gender}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    PacsName update(@Param("entityInfo") EntityInfo entityInfo,
+                    @Param("gender") String gender);
+
+    @Query("create (n:辅助检查名称) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.性别 = {gender}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    PacsName create(@Param("entityInfo") EntityInfo entityInfo,
+                    @Param("gender") String gender);
 }

+ 12 - 0
src/main/java/com/diagbot/repository/PacsRemindRepository.java

@@ -1,7 +1,10 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.PacsRemind;
+import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -12,5 +15,14 @@ public interface PacsRemindRepository extends Neo4jRepository<PacsRemind, Long>
 
     List<PacsRemind> findByNameContaining(String name);
 
+    @Query("create (n:辅检提醒指标) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    PacsRemind create(@Param("entityInfo") EntityInfo entityInfo);
 }
 

+ 13 - 1
src/main/java/com/diagbot/repository/PacsResultRepository.java

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.PacsResult;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -17,8 +18,9 @@ public interface PacsResultRepository extends Neo4jRepository<PacsResult, Long>
     List<PacsResult> findByNameContaining(String name);
 
     List<PacsResult> findByNameIn(List<String> names);
+
     @Query("match(f:辅助检查名称结果)-[r]->(d:医保疾病名称) where f.name in $pycode return d.name")
-    List<String> getDisByPacsResults(@Param("pycode")List<String> names);
+    List<String> getDisByPacsResults(@Param("pycode") List<String> names);
 
     Page<PacsResult> findByNameContainingIgnoreCaseOrPycodeContainingIgnoreCase(String name, String pycode, Pageable pageable);
 
@@ -51,4 +53,14 @@ public interface PacsResultRepository extends Neo4jRepository<PacsResult, Long>
             "WITH n SKIP 0 LIMIT $size\n" +
             "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
     List<PacsResult> index(@Param("name") String name, @Param("pycode") String pycode, @Param("size") Integer size);
+
+    @Query("create (n:辅助检查名称结果) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    PacsResult create(@Param("entityInfo") EntityInfo entityInfo);
 }

+ 26 - 0
src/main/java/com/diagbot/repository/PacsSubNameRepository.java

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.PacsSubName;
 import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
@@ -30,5 +31,30 @@ public interface PacsSubNameRepository extends Neo4jRepository<PacsSubName, Long
             "WITH n SKIP 0 LIMIT $size\n" +
             "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
     List<PacsSubName> index(@Param("name") String name, @Param("pycode") String pycode, @Param("size") Integer size);
+
+    @Query("match (n:辅助检查子项目名称) \n" +
+            "where id(n) = :#{#entityInfo.id} \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.性别 = {gender}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    PacsSubName update(@Param("entityInfo") EntityInfo entityInfo,
+                       @Param("gender") String gender);
+
+    @Query("create (n:辅助检查子项目名称) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.性别 = {gender}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    PacsSubName create(@Param("entityInfo") EntityInfo entityInfo,
+                       @Param("gender") String gender);
 }
 

+ 15 - 4
src/main/java/com/diagbot/repository/SymptomNameRepository.java

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.Symptom;
 import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
@@ -33,16 +34,26 @@ public interface SymptomNameRepository extends Neo4jRepository<Symptom, Long> {
 
 
     @Query("match(d:医保疾病名称)-[r{典型:1}]->(s) where any(label in labels(s) WHERE label in ['症状', '体征']) and s.name in {py} return d.name")
-//    @Query("match(d:医保疾病名称)-[r]->(s) where any(label in labels(s) WHERE label in ['症状', '体征']) and s.name in {py} return d.name")
-    List<String> getDisBySymptoms(@Param("py")List<String> symptoms);
+        //    @Query("match(d:医保疾病名称)-[r]->(s) where any(label in labels(s) WHERE label in ['症状', '体征']) and s.name in {py} return d.name")
+    List<String> getDisBySymptoms(@Param("py") List<String> symptoms);
 
     @Query("match(d:医保疾病名称)-[r]->(s:症状) where s.name in {py} return d.name")
-    List<String> getDisBySymptoms_1(@Param("py")List<String> symptoms);
+    List<String> getDisBySymptoms_1(@Param("py") List<String> symptoms);
 
     @Query("match(d:医保疾病名称)-[r:医保疾病名称相关体征]->(s:体征) where s.name in {py} return d.name")
-    List<String> getDisByVital(@Param("py")List<String> vitals);
+    List<String> getDisByVital(@Param("py") List<String> vitals);
 
     @Query("MATCH (n:症状) return distinct(n.name) as name LIMIT {size}")
     List<String> getSymptomNames(@Param("size") Integer size);
+
+    @Query("create (n:症状) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    Symptom create(@Param("entityInfo") EntityInfo entityInfo);
 }
 

+ 10 - 1
src/main/java/com/diagbot/repository/TransfusionRemindRepository.java

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.TransfusionRemind;
 import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
@@ -26,5 +27,13 @@ public interface TransfusionRemindRepository extends Neo4jRepository<Transfusion
     @Query("MATCH (n:输血提醒指标) return distinct(n.输注类型) as type LIMIT $(size)")
     List<String> getTransfusionNames(@Param("size") Integer size);
 
+    @Query("create (n:输血提醒指标) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    TransfusionRemind create(@Param("entityInfo") EntityInfo entityInfo);
 }
-

+ 10 - 0
src/main/java/com/diagbot/repository/TransfusionSuggestRepository.java

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.TransfusionSuggest;
 import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
@@ -20,5 +21,14 @@ public interface TransfusionSuggestRepository extends Neo4jRepository<Transfusio
     @Query("MATCH (n:建议输血提醒指标) where n.输注类型 contains {name} return n")
     List<TransfusionSuggest> findByTransfusionName(@Param("name") String name);
 
+    @Query("create (n:建议输血提醒指标) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    TransfusionSuggest create(@Param("entityInfo") EntityInfo entityInfo);
 }
 

+ 26 - 0
src/main/java/com/diagbot/repository/VitalRepository.java

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.Vital;
 import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
@@ -64,5 +65,30 @@ public interface VitalRepository extends Neo4jRepository<Vital, Long> {
                          @Param("range") Integer range,
                          @Param("unit") String unit,
                          @Param("indication") String indication);
+
+    @Query("match (n:体征) \n" +
+            "where id(n) = :#{#entityInfo.id} \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.单位 = {unit}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    Vital update(@Param("entityInfo") EntityInfo entityInfo,
+                 @Param("unit") String unit);
+
+    @Query("create (n:体征) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.单位 = {unit}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    Vital create(@Param("entityInfo") EntityInfo entityInfo,
+                 @Param("unit") String unit);
 }
 

+ 42 - 0
src/main/java/com/diagbot/repository/YiBaoDiseaseNameRepository.java

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.YiBaoDiseaseName;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -53,5 +54,46 @@ public interface YiBaoDiseaseNameRepository extends Neo4jRepository<YiBaoDisease
 
     @Query("MATCH (n:医保疾病名称) RETURN DISTINCT n.name as name LIMIT {size}")
     List<String> getDiseaseNames(@Param("size") Integer size);
+
+    @Query("match (n:医保疾病名称) \n" +
+            "where id(n) = :#{#entityInfo.id} \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.age = {ageRange}," +
+            "n.疾病别称 = {alias}," +
+            "n.分类 = {category}," +
+            "n.dept = {dept}," +
+            "n.性别 = {gender}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    YiBaoDiseaseName update(@Param("entityInfo") EntityInfo entityInfo,
+                            @Param("ageRange") String ageRange,
+                            @Param("alias") String alias,
+                            @Param("category") Integer category,
+                            @Param("dept") String dept,
+                            @Param("gender") String gender);
+
+    @Query("create (n:医保疾病名称) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.age = {ageRange}," +
+            "n.疾病别称 = {alias}," +
+            "n.分类 = {category}," +
+            "n.dept = {dept}," +
+            "n.性别 = {gender}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    YiBaoDiseaseName create(@Param("entityInfo") EntityInfo entityInfo,
+                            @Param("ageRange") String ageRange,
+                            @Param("alias") String alias,
+                            @Param("category") Integer category,
+                            @Param("dept") String dept,
+                            @Param("gender") String gender);
 }
 

+ 26 - 0
src/main/java/com/diagbot/repository/YiBaoOperationNameRepository.java

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import com.diagbot.entity.node.EntityInfo;
 import com.diagbot.entity.node.YiBaoOperationName;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -53,4 +54,29 @@ public interface YiBaoOperationNameRepository extends Neo4jRepository<YiBaoOpera
 
     @Query("MATCH (n:医保手术和操作名称) RETURN DISTINCT n.name as name LIMIT {size}")
     List<String> getOperationNames(@Param("size") Integer size);
+
+    @Query("match (n:医保手术和操作名称) \n" +
+            "where id(n) = :#{#entityInfo.id} \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.手术级别 = {opgrade}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    YiBaoOperationName update(@Param("entityInfo") EntityInfo entityInfo,
+                              @Param("opgrade") String opgrade);
+
+    @Query("create (n:医保手术和操作名称) \n" +
+            "set  " +
+            "n.name = :#{#entityInfo.name}," +
+            "n.拼音编码 = :#{#entityInfo.pycode}," +
+            "n.静态知识标识 = :#{#entityInfo.is_kl}," +
+            "n.状态 = :#{#entityInfo.status}," +
+            "n.手术级别 = {opgrade}" +
+            "\n" +
+            "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")
+    YiBaoOperationName create(@Param("entityInfo") EntityInfo entityInf,
+                              @Param("opgrade") String opgrade);
 }

+ 15 - 0
src/main/java/com/diagbot/service/ConceptInfoService.java

@@ -0,0 +1,15 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.entity.ConceptInfo;
+
+/**
+ * <p>
+ * 静态知识标准术语表 服务类
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-08-18
+ */
+public interface ConceptInfoService extends IService<ConceptInfo> {
+}

+ 15 - 0
src/main/java/com/diagbot/service/DeptConfigService.java

@@ -0,0 +1,15 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.entity.DeptConfig;
+
+/**
+ * <p>
+ * 科室映射表 服务类
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-08-12
+ */
+public interface DeptConfigService extends IService<DeptConfig> {
+}

+ 15 - 0
src/main/java/com/diagbot/service/DiseaseConfigService.java

@@ -0,0 +1,15 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.entity.DiseaseConfig;
+
+/**
+ * <p>
+ * 诊断映射表 服务类
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-07-28
+ */
+public interface DiseaseConfigService extends IService<DiseaseConfig> {
+}

+ 15 - 0
src/main/java/com/diagbot/service/DrugConfigService.java

@@ -0,0 +1,15 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.entity.DrugConfig;
+
+/**
+ * <p>
+ * 药品映射表 服务类
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-07-28
+ */
+public interface DrugConfigService extends IService<DrugConfig> {
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.GraphConceptInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 静态知识标准术语表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-12-29
+ */
+public interface GraphConceptInfoService extends IService<GraphConceptInfo> {
+
+}

+ 15 - 0
src/main/java/com/diagbot/service/OperationConfigService.java

@@ -0,0 +1,15 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.entity.OperationConfig;
+
+/**
+ * <p>
+ * 手术映射表 服务类
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-07-28
+ */
+public interface OperationConfigService extends IService<OperationConfig> {
+}

+ 19 - 0
src/main/java/com/diagbot/service/impl/ConceptInfoServiceImpl.java

@@ -0,0 +1,19 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.entity.ConceptInfo;
+import com.diagbot.mapper.ConceptInfoMapper;
+import com.diagbot.service.ConceptInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 静态知识标准术语表 服务实现类
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-08-18
+ */
+@Service
+public class ConceptInfoServiceImpl extends ServiceImpl<ConceptInfoMapper, ConceptInfo> implements ConceptInfoService {
+}

+ 19 - 0
src/main/java/com/diagbot/service/impl/DeptConfigServiceImpl.java

@@ -0,0 +1,19 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.entity.DeptConfig;
+import com.diagbot.mapper.DeptConfigMapper;
+import com.diagbot.service.DeptConfigService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 科室映射表 服务实现类
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-08-12
+ */
+@Service
+public class DeptConfigServiceImpl extends ServiceImpl<DeptConfigMapper, DeptConfig> implements DeptConfigService {
+}

+ 19 - 0
src/main/java/com/diagbot/service/impl/DiseaseConfigServiceImpl.java

@@ -0,0 +1,19 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.entity.DiseaseConfig;
+import com.diagbot.mapper.DiseaseConfigMapper;
+import com.diagbot.service.DiseaseConfigService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 诊断映射表 服务实现类
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-07-28
+ */
+@Service
+public class DiseaseConfigServiceImpl extends ServiceImpl<DiseaseConfigMapper, DiseaseConfig> implements DiseaseConfigService {
+}

+ 19 - 0
src/main/java/com/diagbot/service/impl/DrugConfigServiceImpl.java

@@ -0,0 +1,19 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.entity.DrugConfig;
+import com.diagbot.mapper.DrugConfigMapper;
+import com.diagbot.service.DrugConfigService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 药品映射表 服务实现类
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-07-28
+ */
+@Service
+public class DrugConfigServiceImpl extends ServiceImpl<DrugConfigMapper, DrugConfig> implements DrugConfigService {
+}

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

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.GraphConceptInfo;
+import com.diagbot.mapper.GraphConceptInfoMapper;
+import com.diagbot.service.GraphConceptInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 静态知识标准术语表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-12-29
+ */
+@Service
+public class GraphConceptInfoServiceImpl extends ServiceImpl<GraphConceptInfoMapper, GraphConceptInfo> implements GraphConceptInfoService {
+
+}

+ 19 - 0
src/main/java/com/diagbot/service/impl/OperationConfigServiceImpl.java

@@ -0,0 +1,19 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.entity.OperationConfig;
+import com.diagbot.mapper.OperationConfigMapper;
+import com.diagbot.service.OperationConfigService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 手术映射表 服务实现类
+ * </p>
+ *
+ * @author zhaops
+ * @since 2020-07-28
+ */
+@Service
+public class OperationConfigServiceImpl extends ServiceImpl<OperationConfigMapper, OperationConfig> implements OperationConfigService {
+}

+ 19 - 0
src/main/java/com/diagbot/vo/EntityInfoVO.java

@@ -0,0 +1,19 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/14 17:01
+ */
+@Getter
+@Setter
+public class EntityInfoVO {
+    private Long id;
+    private String name;
+    private String labelType;
+    private Integer status;
+    private Integer is_kl;
+}

+ 20 - 0
src/main/java/com/diagbot/vo/EntityPageVO.java

@@ -0,0 +1,20 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/14 13:30
+ */
+@Getter
+@Setter
+public class EntityPageVO {
+    private String name;
+    private String labelType;
+    private Integer status;
+    private Integer is_kl;
+    private int number = 0;
+    private int size = 10;
+}

+ 15 - 0
src/main/java/com/diagbot/vo/IdVO.java

@@ -0,0 +1,15 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/15 18:27
+ */
+@Getter
+@Setter
+public class IdVO {
+    private Long id;
+}

+ 5 - 0
src/main/java/com/diagbot/vo/SearchData.java

@@ -9,6 +9,7 @@ import lombok.Setter;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description:
@@ -171,4 +172,8 @@ public class SearchData extends HospitalBaseVO {
      * 选中手术
      */
     private Item operationName;
+    /**
+     * 其他指标
+     */
+    private Map<String, String> otherIndex;
 }

+ 147 - 0
src/main/java/com/diagbot/web/EntityInfoController.java

@@ -0,0 +1,147 @@
+package com.diagbot.web;
+
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.node.EntityInfo;
+import com.diagbot.facade.EntityInfoFacade;
+import com.diagbot.vo.EntityInfoVO;
+import com.diagbot.vo.EntityPageVO;
+import com.diagbot.vo.IdVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/12/14 16:15
+ */
+@RestController
+@RequestMapping("/entityman")
+@Api(value = "知识图谱标准术语维护相关API", tags = { "知识图谱标准术语维护相关API" })
+@SuppressWarnings("unchecked")
+public class EntityInfoController {
+    @Autowired
+    EntityInfoFacade entityInfoFacade;
+
+    @ApiOperation(value = "分页查询[zhaops]",
+            notes = "number:页码<br>" +
+                    "size:每页条目数<br>" +
+                    "name:术语名称(模糊匹配)<br>" +
+                    "labelType:术语类型-知识图谱标签类型(String)<br>" +
+                    "is_kl:静态知识标志(0-无,1-有)<br>" +
+                    "status:启用禁用标志(0-禁用,1-启用)<br>")
+    @PostMapping("/getEntityPage")
+    public RespDTO<EntityInfo> getEntityPage(@RequestBody EntityPageVO entityPageVO) {
+        Page<EntityInfo> data = entityInfoFacade.getEntityPage(entityPageVO);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "唯一键校验[zhaops]",
+            notes = "name:术语名称(模糊匹配)<br>" +
+                    "labelType:术语类型-知识图谱标签类型(String)<br>")
+    @PostMapping("/isExist")
+    public RespDTO<Boolean> isExist(@RequestBody EntityInfoVO entityInfoVO) {
+        Boolean data = entityInfoFacade.isExist(entityInfoVO);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "保存[zhaops]",
+            notes = "id:术语ID<br>" +
+                    "name:术语名称<br>" +
+                    "pycode:拼音编码<br>" +
+                    "status:状态(0-禁用,1-启用,默认1)<br>" +
+                    "is_kl:静态知识标识(0-无,1-有,默认0)<br>" +
+                    "labelType:术语类型-知识图谱标签类型(详情见字典)<br>" +
+                    "age:年龄<br>" +
+                    "gender:性别(男、女)<br>" +
+                    "unit:单位(实验室检查名称、实验室检查、体征、实验室检查危急值)<br>" +
+                    "alias:别名(医保诊断名称、药物过敏原、药品注册名称)<br>" +
+                    "result:结果(药物过敏原、药品注册名称)<br>" +
+                    "minval:最小值(实验室检查名称)<br>" +
+                    "maxval:最大值(实验室检查名称)<br>" +
+                    "range:范围(0-范围内,1-范围外,默认0)<br>" +
+                    "category:诊断分类(医保诊断名称属性:1、2,无默认值)<br>" +
+                    "dept:诊断所属科室(医保诊断名称属性)<br>" +
+                    "minAge:年龄下限(医保诊断名称属性)<br>" +
+                    "maxAge:年龄上限(医保诊断名称属性)<br>" +
+                    "opgrade:手术等级(医保手术和操作属性:0、1、2、3、4,默认0)<br>" +
+                    "highriskcond:高危条件(医保手术和操作属性)<br>" +
+                    "special:特殊标志(化验细项及结果属性:是)<br>" +
+                    "medtype:药品类型(药物过敏原属性:药品、药品类别)<br>" +
+                    "risklevel:药品高危级别(药品注册名称属性:A级高危、B级高危、C级高危)<br>" +
+                    "conflict_geiyao:禁忌给药途径(药品注册名称属性)<br>" +
+                    "conflict_gender:禁忌性别(药品注册名称属性:男、女)<br>" +
+                    "min_pack_num:最小包装数量(药品代码通用名属性)<br>" +
+                    "reg_JiXin:注册剂型(药品代码通用名属性)<br>" +
+                    "benWei_Code:药品本位码(药品代码通用名属性)<br>" +
+                    "min_pack_unit:最小包装单位(药品代码通用名属性)<br>" +
+                    "reg_GuiGe:注册规格(药品代码通用名属性)<br>" +
+                    "pack_CaiLiao:包装材质(药品代码通用名属性)<br>" +
+                    "producer:药品企业(药品代码通用名属性)<br>" +
+                    "license_num:批准文号(药品代码通用名属性)<br>" +
+                    "min_prod_unit:最小制剂单位(药品代码通用名属性)<br>" +
+                    "stand_reg_JiXin:标准注册剂型(药品代码通用名属性)<br>")
+    @PostMapping("/saveEntity")
+    @Transactional
+    public RespDTO<Boolean> saveEntity(@RequestBody EntityInfo entityInfo) {
+        Boolean data = entityInfoFacade.saveEntity(entityInfo);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "查看实体对象[zhaops]",
+            notes = "id:实体id<br>")
+    @PostMapping("/getById")
+    public RespDTO<EntityInfo> getById(@RequestBody IdVO idVO) {
+        EntityInfo data = entityInfoFacade.getById(idVO.getId());
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "术语关联校验(静态知识、术语关联、开单合理性规则)[zhaops]",
+            notes = "id:术语ID<br>" +
+                    "name:术语名称<br>" +
+                    "pycode:拼音编码<br>" +
+                    "status:状态(0-禁用,1-启用,默认1)<br>" +
+                    "is_kl:静态知识标识(0-无,1-有,默认0)<br>" +
+                    "labelType:术语类型-知识图谱标签类型(详情见字典)<br>" +
+                    "age:年龄<br>" +
+                    "gender:性别(男、女)<br>" +
+                    "unit:单位(实验室检查名称、实验室检查、体征、实验室检查危急值)<br>" +
+                    "alias:别名(医保诊断名称、药物过敏原、药品注册名称)<br>" +
+                    "result:结果(药物过敏原、药品注册名称)<br>" +
+                    "minval:最小值(实验室检查名称)<br>" +
+                    "maxval:最大值(实验室检查名称)<br>" +
+                    "range:范围(0-范围内,1-范围外,默认0)<br>" +
+                    "category:诊断分类(医保诊断名称属性:1、2,无默认值)<br>" +
+                    "dept:诊断所属科室(医保诊断名称属性)<br>" +
+                    "minAge:年龄下限(医保诊断名称属性)<br>" +
+                    "maxAge:年龄上限(医保诊断名称属性)<br>" +
+                    "opgrade:手术等级(医保手术和操作属性:0、1、2、3、4,默认0)<br>" +
+                    "highriskcond:高危条件(医保手术和操作属性)<br>" +
+                    "special:特殊标志(化验细项及结果属性:是)<br>" +
+                    "medtype:药品类型(药物过敏原属性:药品、药品类别)<br>" +
+                    "risklevel:药品高危级别(药品注册名称属性:A级高危、B级高危、C级高危)<br>" +
+                    "conflict_geiyao:禁忌给药途径(药品注册名称属性)<br>" +
+                    "conflict_gender:禁忌性别(药品注册名称属性:男、女)<br>" +
+                    "min_pack_num:最小包装数量(药品代码通用名属性)<br>" +
+                    "reg_JiXin:注册剂型(药品代码通用名属性)<br>" +
+                    "benWei_Code:药品本位码(药品代码通用名属性)<br>" +
+                    "min_pack_unit:最小包装单位(药品代码通用名属性)<br>" +
+                    "reg_GuiGe:注册规格(药品代码通用名属性)<br>" +
+                    "pack_CaiLiao:包装材质(药品代码通用名属性)<br>" +
+                    "producer:药品企业(药品代码通用名属性)<br>" +
+                    "license_num:批准文号(药品代码通用名属性)<br>" +
+                    "min_prod_unit:最小制剂单位(药品代码通用名属性)<br>" +
+                    "stand_reg_JiXin:标准注册剂型(药品代码通用名属性)<br>")
+    @PostMapping("/dataVerify")
+    @Transactional
+    public RespDTO<Boolean> dataVerify(@RequestBody EntityInfo entityInfo) {
+        Boolean data = entityInfoFacade.dataVerify(entityInfo);
+        return RespDTO.onSuc(data);
+    }
+}

+ 8 - 0
src/main/java/com/diagbot/web/StaticKnowledgeController.java

@@ -32,6 +32,7 @@ public class StaticKnowledgeController {
     @Autowired
     private ConceptFacade conceptFacade;
 
+
     @ApiOperation(value = "更新是否有静态信息状态[zhaops]",
             notes = "type: 术语类型<br>" +
                     "name: 标准术语名称<br>" +
@@ -59,4 +60,11 @@ public class StaticKnowledgeController {
         List<StaticKnowledgeNameVO> data = conceptFacade.getSuperNameBatch(staticKnowledgeNameVO);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "批量更新静态信息状态[kwz]")
+    @PostMapping("/BatchUpdateHasInfoStatus")
+    public RespDTO<Boolean> BatchUpdateHasInfoStatus() {
+        Boolean data = staticKnowledgeFacade.batchUpdateHasInfoStatus();
+        return RespDTO.onSuc(data);
+    }
 }

+ 1 - 1
src/main/resources/logback-spring.xml

@@ -204,7 +204,7 @@
     <!-- FrameworkServlet日志-->
     <logger name="org.springframework" level="WARN"/>
 
-    <!--<logger name="org.neo4j.ogm" level="DEBUG" />-->
+    <logger name="org.neo4j.ogm" level="DEBUG" />
 
     <!-- mybatis日志打印-->
     <logger name="org.apache.ibatis" level="DEBUG"/>

+ 19 - 0
src/main/resources/mapper/ConceptInfoMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.ConceptInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.ConceptInfo">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="name" property="name" />
+        <result column="type" property="type" />
+        <result column="clinical_pathway_name" property="clinicalPathwayName" />
+        <result column="notice_name" property="noticeName" />
+    </resultMap>
+
+</mapper>

+ 20 - 0
src/main/resources/mapper/DeptConfigMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.DeptConfigMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.DeptConfig">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="hospital_id" property="hospitalId" />
+        <result column="his_name" property="hisName" />
+        <result column="his_code" property="hisCode" />
+        <result column="unique_name" property="uniqueName" />
+        <result column="unique_code" property="uniqueCode" />
+    </resultMap>
+
+</mapper>

+ 19 - 0
src/main/resources/mapper/DiseaseConfigMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.DiseaseConfigMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.DiseaseConfig">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="hospital_id" property="hospitalId" />
+        <result column="his_name" property="hisName" />
+        <result column="unique_name" property="uniqueName" />
+        <result column="icd_code" property="icdCode" />
+    </resultMap>
+
+</mapper>

+ 20 - 0
src/main/resources/mapper/DrugConfigMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.DrugConfigMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.DrugConfig">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="hospital_id" property="hospitalId" />
+        <result column="his_name" property="hisName" />
+        <result column="unique_name" property="uniqueName" />
+        <result column="unique_code" property="uniqueCode" />
+        <result column="form" property="form" />
+    </resultMap>
+
+</mapper>

+ 20 - 0
src/main/resources/mapper/GraphConceptInfoMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.GraphConceptInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.GraphConceptInfo">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="name" property="name" />
+        <result column="type" property="type" />
+        <result column="clinical_pathway_name" property="clinicalPathwayName" />
+        <result column="notice_name" property="noticeName" />
+        <result column="status" property="status" />
+    </resultMap>
+
+</mapper>

+ 0 - 0
src/main/resources/mapper/OperationConfigMapper.xml


Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott