Jelajahi Sumber

Merge branch 'dev/diagbotcloud20190808_diagnose' into develop

gaodm 5 tahun lalu
induk
melakukan
f960315d02
83 mengubah file dengan 5496 tambahan dan 38 penghapusan
  1. 2 2
      config-server/src/main/resources/shared/icss-service-local.yml
  2. 2 2
      config-server/src/main/resources/shared/icssman-service-local.yml
  3. 27 2
      config-server/src/main/resources/shared/knowledgeman-service-dev.yml
  4. 28 3
      config-server/src/main/resources/shared/knowledgeman-service-local.yml
  5. 28 3
      config-server/src/main/resources/shared/knowledgeman-service-pro.yml
  6. 29 4
      config-server/src/main/resources/shared/knowledgeman-service-test.yml
  7. 2 2
      config-server/src/main/resources/shared/tran-service-local.yml
  8. 6 6
      config-server/src/main/resources/shared/user-service-local.yml
  9. 69 0
      docs/015.20190827诊断依据脚本/init_diagnose.sql
  10. 919 0
      docs/015.20190827诊断依据脚本/init_user.sql
  11. 11 0
      knowledgeman-service/pom.xml
  12. 32 0
      knowledgeman-service/src/main/java/com/diagbot/client/NeoServiceClient.java
  13. 39 0
      knowledgeman-service/src/main/java/com/diagbot/client/hystrix/NeoServiceHystrix.java
  14. 169 0
      knowledgeman-service/src/main/java/com/diagbot/config/RedisConfigurer.java
  15. 1 0
      knowledgeman-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  16. 1 0
      knowledgeman-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  17. 128 0
      knowledgeman-service/src/main/java/com/diagbot/dto/DiagnoseDetailPageDTO.java
  18. 28 0
      knowledgeman-service/src/main/java/com/diagbot/dto/DiagnoseDetailSaveDTO.java
  19. 28 0
      knowledgeman-service/src/main/java/com/diagbot/dto/DiagnoseImportDTO.java
  20. 59 0
      knowledgeman-service/src/main/java/com/diagbot/dto/DiagnosePageDTO.java
  21. 82 0
      knowledgeman-service/src/main/java/com/diagbot/dto/DiagnoseQuestionPageDTO.java
  22. 38 0
      knowledgeman-service/src/main/java/com/diagbot/dto/DiagnosticAllExportDTO.java
  23. 40 0
      knowledgeman-service/src/main/java/com/diagbot/dto/DiagnosticBasisExportDTO.java
  24. 18 0
      knowledgeman-service/src/main/java/com/diagbot/dto/EquationDTO.java
  25. 24 0
      knowledgeman-service/src/main/java/com/diagbot/dto/FeatureDTO.java
  26. 37 0
      knowledgeman-service/src/main/java/com/diagbot/dto/LibraryForDiagnoseDTO.java
  27. 17 0
      knowledgeman-service/src/main/java/com/diagbot/dto/RedisWithDiagnoseDTO.java
  28. 34 0
      knowledgeman-service/src/main/java/com/diagbot/dto/VerifyDataDTO.java
  29. 23 0
      knowledgeman-service/src/main/java/com/diagbot/entity/CommonParam.java
  30. 83 0
      knowledgeman-service/src/main/java/com/diagbot/entity/Diagnose.java
  31. 130 0
      knowledgeman-service/src/main/java/com/diagbot/entity/DiagnoseDetail.java
  32. 54 0
      knowledgeman-service/src/main/java/com/diagbot/entity/DiagnoseDetailSave.java
  33. 88 0
      knowledgeman-service/src/main/java/com/diagbot/entity/DiagnoseQuestion.java
  34. 43 0
      knowledgeman-service/src/main/java/com/diagbot/entity/wrapper/DiagnoseWrapper.java
  35. 60 0
      knowledgeman-service/src/main/java/com/diagbot/enums/DiagnoseFeatureTypeEnum.java
  36. 54 0
      knowledgeman-service/src/main/java/com/diagbot/enums/DiagnoseFieldEnum.java
  37. 54 0
      knowledgeman-service/src/main/java/com/diagbot/enums/DiagnoseTypeEnum.java
  38. 50 0
      knowledgeman-service/src/main/java/com/diagbot/enums/HasQuestionEnum.java
  39. 51 0
      knowledgeman-service/src/main/java/com/diagbot/enums/InsertOrUpdateEnum.java
  40. 56 0
      knowledgeman-service/src/main/java/com/diagbot/enums/TermEnum.java
  41. 10 0
      knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseDetailFacade.java
  42. 835 0
      knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseFacade.java
  43. 382 0
      knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseImportFacade.java
  44. 37 0
      knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseQuestionFacade.java
  45. 45 2
      knowledgeman-service/src/main/java/com/diagbot/facade/LibraryInfoFacade.java
  46. 20 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/DiagnoseDetailMapper.java
  47. 47 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/DiagnoseMapper.java
  48. 19 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/DiagnoseQuestionMapper.java
  49. 11 2
      knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryInfoMapper.java
  50. 9 0
      knowledgeman-service/src/main/java/com/diagbot/rabbit/MyProcessor.java
  51. 18 0
      knowledgeman-service/src/main/java/com/diagbot/rabbit/MyReceiver.java
  52. 8 0
      knowledgeman-service/src/main/java/com/diagbot/rabbit/MySender.java
  53. 19 0
      knowledgeman-service/src/main/java/com/diagbot/service/DiagnoseDetailService.java
  54. 18 0
      knowledgeman-service/src/main/java/com/diagbot/service/DiagnoseQuestionService.java
  55. 48 0
      knowledgeman-service/src/main/java/com/diagbot/service/DiagnoseService.java
  56. 12 2
      knowledgeman-service/src/main/java/com/diagbot/service/LibraryInfoService.java
  57. 26 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/DiagnoseDetailServiceImpl.java
  58. 26 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/DiagnoseQuestionServiceImpl.java
  59. 41 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/DiagnoseServiceImpl.java
  60. 12 5
      knowledgeman-service/src/main/java/com/diagbot/service/impl/EnumsDataServiceImpl.java
  61. 22 1
      knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryInfoServiceImpl.java
  62. 76 0
      knowledgeman-service/src/main/java/com/diagbot/util/DiagnoseTypeConvertUtil.java
  63. 367 0
      knowledgeman-service/src/main/java/com/diagbot/util/VerifyUtil.java
  64. 35 0
      knowledgeman-service/src/main/java/com/diagbot/vo/DeleteDiagnoseVO.java
  65. 32 0
      knowledgeman-service/src/main/java/com/diagbot/vo/DiagnoseDetailSaveVO.java
  66. 35 0
      knowledgeman-service/src/main/java/com/diagbot/vo/DiagnosePageVO.java
  67. 39 0
      knowledgeman-service/src/main/java/com/diagbot/vo/DiagnoseQuestionPageVO.java
  68. 30 0
      knowledgeman-service/src/main/java/com/diagbot/vo/DiagnoseVerifyVO.java
  69. 17 0
      knowledgeman-service/src/main/java/com/diagbot/vo/DiagnosticAllExportVO.java
  70. 19 0
      knowledgeman-service/src/main/java/com/diagbot/vo/DiagnosticBasisExportVO.java
  71. 28 0
      knowledgeman-service/src/main/java/com/diagbot/vo/DiseaseIndexVO.java
  72. 26 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetDiagnoseDetailVO.java
  73. 17 0
      knowledgeman-service/src/main/java/com/diagbot/vo/NeoParamVO.java
  74. 28 0
      knowledgeman-service/src/main/java/com/diagbot/vo/UpdateDiagnoseVO.java
  75. 146 0
      knowledgeman-service/src/main/java/com/diagbot/web/DiagnoseController.java
  76. 19 0
      knowledgeman-service/src/main/java/com/diagbot/web/DiagnoseDetailController.java
  77. 67 0
      knowledgeman-service/src/main/java/com/diagbot/web/DiagnoseExportImportController.java
  78. 46 0
      knowledgeman-service/src/main/java/com/diagbot/web/DiagnoseQuestionController.java
  79. 52 0
      knowledgeman-service/src/main/resources/mapper/DiagnoseDetailMapper.xml
  80. 61 0
      knowledgeman-service/src/main/resources/mapper/DiagnoseMapper.xml
  81. 29 0
      knowledgeman-service/src/main/resources/mapper/DiagnoseQuestionMapper.xml
  82. 16 0
      knowledgeman-service/src/main/resources/mapper/LibraryInfoMapper.xml
  83. 2 2
      knowledgeman-service/src/test/java/com/diagbot/CodeGeneration.java

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

@@ -75,9 +75,9 @@ spring:
   #redis
   redis:
     database:
-      cache: 15 # Redis缓存索引
+      cache: 5 # Redis缓存索引
     host: 192.168.2.236  #Redis服务器地址
-    port: 6379 # Redis服务器连接端口
+    port: 6378 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
     password: lantone # Redis服务器连接密码(默认为空)
     lettuce:
       pool:

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

@@ -75,9 +75,9 @@ spring:
   #redis
   redis:
     database:
-      cache: 15 # Redis缓存索引
+      cache: 5 # Redis缓存索引
     host: 192.168.2.236  #Redis服务器地址
-    port: 6379 # Redis服务器连接端口
+    port: 6378 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
     password: lantone # Redis服务器连接密码(默认为空)
     lettuce:
       pool:

+ 27 - 2
config-server/src/main/resources/shared/knowledgeman-service-dev.yml

@@ -61,7 +61,13 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+        #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+        outputWord:
+          destination: myWord
+        #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+        inputWord:
+          destination: myWord
+          group: wordReceiveGroup
 
   #mq
   rabbitmq:
@@ -72,6 +78,21 @@ spring:
     publisher-confirms: true
     virtual-host: /
 
+  #redis
+  redis:
+    database:
+      cache: 6 # Redis缓存索引
+    host: 192.168.2.236  #Redis服务器地址
+    port: 6379 # Redis服务器连接端口
+    password: lantone # Redis服务器连接密码(默认为空)
+    lettuce:
+      pool:
+        max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
+        max-idle: 5 # 连接池中的最大空闲连接
+        max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+        min-idle: 0 # 连接池中的最小空闲连接
+    timeout: 20000 # 连接超时时间(毫秒)
+
 #mybatis
 mybatis-plus:
   mapper-locations: classpath:/mapper/*Mapper.xml
@@ -83,7 +104,7 @@ mybatis-plus:
       #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
       id-type: id_worker
       #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
-      field-strategy: not_empty
+      field-strategy: 1
       #驼峰下划线转换
       column-underline: true
       #数据库大写下划线转换
@@ -109,6 +130,10 @@ fastdfs:
   http_anti_steal_token: no
   tracker_servers: 192.168.2.236:22122
 
+neo:
+  server:
+    address: http://192.168.2.234:5004
+
 ai:
   server:
     address: http://192.168.2.234:5008

+ 28 - 3
config-server/src/main/resources/shared/knowledgeman-service-local.yml

@@ -7,7 +7,7 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.236:3306/med?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      url: jdbc:mysql://192.168.2.236:3306/med?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
       username: root
       password: lantone
       # 连接池的配置信息
@@ -61,7 +61,13 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+        #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+        outputWord:
+          destination: myWord
+        #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+        inputWord:
+          destination: myWord
+          group: wordReceiveGroup
 
   #mq
   rabbitmq:
@@ -72,6 +78,21 @@ spring:
     publisher-confirms: true
     virtual-host: /
 
+  #redis
+  redis:
+    database:
+      cache: 6 # Redis缓存索引
+    host: 192.168.2.236  #Redis服务器地址
+    port: 6378 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
+    password: lantone # Redis服务器连接密码(默认为空)
+    lettuce:
+      pool:
+        max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
+        max-idle: 5 # 连接池中的最大空闲连接
+        max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+        min-idle: 0 # 连接池中的最小空闲连接
+    timeout: 20000 # 连接超时时间(毫秒)
+
 #mybatis
 mybatis-plus:
   mapper-locations: classpath:/mapper/*Mapper.xml
@@ -83,7 +104,7 @@ mybatis-plus:
       #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
       id-type: id_worker
       #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
-      field-strategy: not_empty
+      field-strategy: 1
       #驼峰下划线转换
       column-underline: true
       #数据库大写下划线转换
@@ -109,6 +130,10 @@ fastdfs:
   http_anti_steal_token: no
   tracker_servers: 192.168.2.236:22122
 
+neo:
+  server:
+    address: http://192.168.2.234:5004
+
 ai:
   server:
     address: http://192.168.2.234:5008

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

@@ -7,7 +7,7 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.236:3306/sys-log?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      url: jdbc:mysql://192.168.2.236:3306/sys-log?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
       username: root
       password: lantone
       # 连接池的配置信息
@@ -61,7 +61,13 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+        #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+        outputWord:
+          destination: myWord
+        #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+        inputWord:
+          destination: myWord
+          group: wordReceiveGroup
 
   #mq
   rabbitmq:
@@ -72,6 +78,21 @@ spring:
     publisher-confirms: true
     virtual-host: /
 
+  #redis
+  redis:
+    database:
+      cache: 6 # Redis缓存索引
+    host: 192.168.2.236  #Redis服务器地址
+    port: 6379 # Redis服务器连接端口
+    password: lantone # Redis服务器连接密码(默认为空)
+    lettuce:
+      pool:
+        max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
+        max-idle: 5 # 连接池中的最大空闲连接
+        max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+        min-idle: 0 # 连接池中的最小空闲连接
+    timeout: 20000 # 连接超时时间(毫秒)
+
 #mybatis
 mybatis-plus:
   mapper-locations: classpath:/mapper/*Mapper.xml
@@ -83,7 +104,7 @@ mybatis-plus:
       #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
       id-type: id_worker
       #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
-      field-strategy: not_empty
+      field-strategy: 1
       #驼峰下划线转换
       column-underline: true
       #数据库大写下划线转换
@@ -109,6 +130,10 @@ fastdfs:
   http_anti_steal_token: no
   tracker_servers: 192.168.2.236:22122
 
+neo:
+  server:
+    address: http://192.168.2.241:5004
+
 ai:
   server:
     address: http://192.168.2.234:5008

+ 29 - 4
config-server/src/main/resources/shared/knowledgeman-service-test.yml

@@ -7,9 +7,9 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.235:3306/diagbot-med-test?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      url: jdbc:mysql://192.168.2.241:3306/med?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
       username: root
-      password: diagbot@20180822
+      password: lantone
       # 连接池的配置信息
       # 初始化大小,最小,最大
       initialSize: 5
@@ -61,7 +61,13 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+        #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+        outputWord:
+          destination: myWord
+        #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+        inputWord:
+          destination: myWord
+          group: wordReceiveGroup
 
   #mq
   rabbitmq:
@@ -72,6 +78,21 @@ spring:
     publisher-confirms: true
     virtual-host: /
 
+  #redis
+  redis:
+    database:
+      cache: 6 # Redis缓存索引
+    host: 192.168.2.236  #Redis服务器地址
+    port: 6379 # Redis服务器连接端口
+    password: lantone # Redis服务器连接密码(默认为空)
+    lettuce:
+      pool:
+        max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
+        max-idle: 5 # 连接池中的最大空闲连接
+        max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+        min-idle: 0 # 连接池中的最小空闲连接
+    timeout: 20000 # 连接超时时间(毫秒)
+
 #mybatis
 mybatis-plus:
   mapper-locations: classpath:/mapper/*Mapper.xml
@@ -83,7 +104,7 @@ mybatis-plus:
       #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
       id-type: id_worker
       #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
-      field-strategy: not_empty
+      field-strategy: 1
       #驼峰下划线转换
       column-underline: true
       #数据库大写下划线转换
@@ -109,6 +130,10 @@ fastdfs:
   http_anti_steal_token: no
   tracker_servers: 192.168.2.241:22122
 
+neo:
+  server:
+    address: http://192.168.2.241:5004
+
 ai:
   server:
     address: http://192.168.2.241:5008

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

@@ -69,9 +69,9 @@ spring:
   #redis
   redis:
     database:
-      mr: 8 # Redis病历索引
+      mr: 7 # Redis病历索引
     host: 192.168.2.236  #Redis服务器地址
-    port: 6379 # Redis服务器连接端口
+    port: 6378 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
     password: lantone # Redis服务器连接密码(默认为空)
     lettuce:
       pool:

+ 6 - 6
config-server/src/main/resources/shared/user-service-local.yml

@@ -69,13 +69,13 @@ spring:
   #redis
   redis:
     database:
-      cache: 10 # Redis缓存索引
-      idc: 11 # 不可见ID索引
-      sms: 12 # Redis短信索引
-      img: 13 # Redis图片验证码索引
-      token: 14 # Token索引
+      cache: 0 # Redis缓存索引
+      idc: 1 # 不可见ID索引
+      sms: 2 # Redis短信索引
+      img: 3 # Redis图片验证码索引
+      token: 4 # Token索引
     host: 192.168.2.236  #Redis服务器地址
-    port: 6379 # Redis服务器连接端口
+    port: 6378 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
     password: lantone # Redis服务器连接密码(默认为空)
     lettuce:
       pool:

+ 69 - 0
docs/015.20190827诊断依据脚本/init_diagnose.sql

@@ -0,0 +1,69 @@
+use `med`;
+
+-- ----------------------------
+-- Table structure for kl_diagnose
+-- ----------------------------
+DROP TABLE IF EXISTS `kl_diagnose`;
+CREATE TABLE `kl_diagnose` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '创建人姓名',
+  `modifier` varchar(20) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '修改人姓名',
+  `dis_name` varchar(255) COLLATE utf8_bin NOT NULL COMMENT '诊断名称',
+  `has_question` char(1) COLLATE utf8_bin NOT NULL DEFAULT '0' COMMENT '是否问题词',
+  `neo_update` datetime DEFAULT NULL COMMENT '记录更新图谱的时间,如果时间是1970年则表示纪录未修改',
+  `remark` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='诊断依据表';
+
+-- ----------------------------
+-- Table structure for kl_diagnose_detail
+-- ----------------------------
+DROP TABLE IF EXISTS `kl_diagnose_detail`;
+CREATE TABLE `kl_diagnose_detail` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '创建人姓名',
+  `modifier` varchar(20) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '修改人姓名',
+  `diagnose_id` bigint(20) NOT NULL COMMENT '诊断依据表主键',
+  `dis_name` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '诊断名称',
+  `type` tinyint(4) DEFAULT NULL COMMENT '类型(1:症状,2:体征,3:化验,4:辅检,5:鉴别诊断,6:病史,7:诱因,8:病程,9:其他,91:确诊,92:拟诊,93:警惕)',
+  `code` varchar(20) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '编码',
+  `standard` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '标准词',
+  `relation` varchar(500) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '关联词',
+  `result` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '结果',
+  `formula` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '公式',
+  `order_no` int(11) NOT NULL DEFAULT '0' COMMENT '排序号',
+  `verify_code` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '校验编码错误提示',
+  `verify_standard` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '校验标准词错误提示',
+  `verify_relation` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '校验关联词错误提示',
+  `verify_result` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '校验结果错误提示',
+  `verify_formula` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '校验公式错误提示',
+  PRIMARY KEY (`id`),
+  KEY `diagnose_id` (`diagnose_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='诊断依据明细表';
+
+-- ----------------------------
+-- Table structure for kl_diagnose_question
+-- ----------------------------
+DROP TABLE IF EXISTS `kl_diagnose_question`;
+CREATE TABLE `kl_diagnose_question` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) CHARACTER SET utf8 NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '创建人姓名',
+  `modifier` varchar(20) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '修改人姓名',
+  `diagnose_id` bigint(20) NOT NULL COMMENT '诊断依据表主键',
+  `dis_name` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '诊断名称',
+  `type` tinyint(4) DEFAULT NULL COMMENT '问题词类型(0:诊断,1:症状,2:体征,3:化验,4:辅检,5:鉴别诊断,6:病史,7:诱因,8:病程,9:其他,91:确诊,92:拟诊,93:警惕)',
+  `question_name` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '问题词名称',
+  `question_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '类型(1:编码,2:标准词,3:关联词,4:结果,5:诊断名称)',
+  `order_no` int(11) NOT NULL DEFAULT '0' COMMENT '排序号',
+  PRIMARY KEY (`id`),
+  KEY `diagnose_id` (`diagnose_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='诊断依据问题词表';

+ 919 - 0
docs/015.20190827诊断依据脚本/init_user.sql

@@ -0,0 +1,919 @@
+use `sys-user`;
+
+
+-- ----------------------------
+-- 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) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `name` varchar(255) NOT NULL DEFAULT '' COMMENT '菜单名称',
+  `parent_id` bigint(20) NOT NULL DEFAULT '-1' COMMENT '-1:表示顶级,其他值表示上级菜单的id',
+  `code` varchar(255) NOT NULL DEFAULT '' COMMENT '编码,与前端对应',
+  `order_no` int(11) NOT NULL DEFAULT '0' COMMENT '排序,从小到大',
+  `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=60 DEFAULT CHARSET=utf8 COMMENT='系统菜单';
+
+-- ----------------------------
+-- 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', '医学数据维护', '-1', 'LT-YXSJWH', '5', '朗通-医学数据维护');
+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', '朗通-医学数据维护-标签组维护');
+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', '朗通-医学数据维护-独立类型标签维护');
+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', '朗通-医学数据维护-别名维护');
+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', '朗通-医学数据维护-模版维护');
+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科室维护');
+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', '朗通-医学数据维护-常见选项维护');
+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', '版本信息维护', '23', 'LT-YXSJWH-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', '朗通-医学数据维护-查体模板维护');
+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', '朗通-医学数据维护-提示信息维护');
+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', '化验大小项与公表项对应维护', '23', 'LT-YXSJWH-HYDXXYGBXDY', '50', '朗通-医学数据维护-化验大小项与公表项对应维护');
+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', '朗通-医学数据维护-慢病管理与评估维护');
+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', '朗通-诊断依据维护-问题词数据维护');
+
+-- ----------------------------
+-- Table structure for sys_menu_permission
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_menu_permission`;
+CREATE TABLE `sys_menu_permission` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `menu_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '菜单id',
+  `permission_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '系统资源id',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=247 DEFAULT CHARSET=utf8 COMMENT='菜单和系统资源的映射表';
+
+-- ----------------------------
+-- Records of sys_menu_permission
+-- ----------------------------
+INSERT INTO `sys_menu_permission` VALUES ('11', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '8', '朗通-客户中心-获取用户信息列表');
+INSERT INTO `sys_menu_permission` VALUES ('12', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '12', '朗通-客户中心-修改用户和机构信息');
+INSERT INTO `sys_menu_permission` VALUES ('13', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '14', '朗通-客户中心-根据用户Id删除');
+INSERT INTO `sys_menu_permission` VALUES ('14', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '18', '朗通-客户中心-模糊查询机构信息');
+INSERT INTO `sys_menu_permission` VALUES ('15', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '19', '朗通-客户中心-添加机构信息');
+INSERT INTO `sys_menu_permission` VALUES ('16', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '20', '朗通-客户中心-添加用户信息和绑定机构');
+INSERT INTO `sys_menu_permission` VALUES ('17', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '22', '朗通-客户中心-审核用户信息接口');
+INSERT INTO `sys_menu_permission` VALUES ('25', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '15', '用户-机构中心-已开通产品-关联产品与用户服务端');
+INSERT INTO `sys_menu_permission` VALUES ('26', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '16', '用户-机构中心-已开通产品-删除产品与用户服务端的关联');
+INSERT INTO `sys_menu_permission` VALUES ('27', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '17', '用户-机构中心-已开通产品-获取当前登录用户产品服务分页列表');
+INSERT INTO `sys_menu_permission` VALUES ('28', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '9', '24', '用户-机构中心-管理服务端-新增服务端');
+INSERT INTO `sys_menu_permission` VALUES ('29', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '9', '25', '用户-机构中心-管理服务端-修改服务端');
+INSERT INTO `sys_menu_permission` VALUES ('30', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '9', '26', '用户-机构中心-管理服务端-获取当前登录用户的服务列表');
+INSERT INTO `sys_menu_permission` VALUES ('31', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '9', '27', '用户-机构中心-管理服务端-获取当前登录用户的服务分页列表');
+INSERT INTO `sys_menu_permission` VALUES ('35', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '31', '朗通-客户中心-根据用户id和产品id,修改开通时间');
+INSERT INTO `sys_menu_permission` VALUES ('36', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '28', '朗通-客户中心-根据用户id查询已开通的功能');
+INSERT INTO `sys_menu_permission` VALUES ('37', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '29', '朗通-客户中心-根据用户id和产品id,启用和停用功能');
+INSERT INTO `sys_menu_permission` VALUES ('38', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '30', '朗通-客户中心-根据用户id和产品id,删除开通信息');
+INSERT INTO `sys_menu_permission` VALUES ('39', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '32', '朗通-客户中心-根据时间导出用户和机构信息');
+INSERT INTO `sys_menu_permission` VALUES ('40', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '9', '用户-机构中心-账户信息-获取当前用户信息');
+INSERT INTO `sys_menu_permission` VALUES ('41', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '10', '用户-机构中心-账户信息-用户认证');
+INSERT INTO `sys_menu_permission` VALUES ('42', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '11', '用户-机构中心-账户信息-获取当前用户认证状态');
+INSERT INTO `sys_menu_permission` VALUES ('43', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '14', '33', '用户-机构中心-已经生成令牌-生成令牌');
+INSERT INTO `sys_menu_permission` VALUES ('44', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '14', '34', '用户-机构中心-已经生成令牌-禁用令牌');
+INSERT INTO `sys_menu_permission` VALUES ('45', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '14', '35', '用户-机构中心-已经生成令牌-启用令牌');
+INSERT INTO `sys_menu_permission` VALUES ('46', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '14', '36', '用户-机构中心-已经生成令牌-删除令牌');
+INSERT INTO `sys_menu_permission` VALUES ('47', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '12', '37', '朗通-控制台-待审核订单个数');
+INSERT INTO `sys_menu_permission` VALUES ('48', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '12', '38', '朗通-控制台-待认证账号数量');
+INSERT INTO `sys_menu_permission` VALUES ('49', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '39', '用户-控制台-账号认证进度');
+INSERT INTO `sys_menu_permission` VALUES ('50', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '40', '用户-控制台-产品认证进度');
+INSERT INTO `sys_menu_permission` VALUES ('51', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '41', '用户-控制台-已开通产品');
+INSERT INTO `sys_menu_permission` VALUES ('52', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '42', '用户-控制台-可试用产品');
+INSERT INTO `sys_menu_permission` VALUES ('53', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '43', '用户-控制台-产品立即试用接口');
+INSERT INTO `sys_menu_permission` VALUES ('54', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '44', '用户-控制台-可展示的选项卡');
+INSERT INTO `sys_menu_permission` VALUES ('55', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '45', '用户-控制台-账户信息');
+INSERT INTO `sys_menu_permission` VALUES ('56', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '46', '朗通-客户中心-查询所有用户已开通的功能');
+INSERT INTO `sys_menu_permission` VALUES ('57', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '47', '朗通-客户中心-查询用户信息和机构信息开通产品');
+INSERT INTO `sys_menu_permission` VALUES ('58', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '20', '48', '朗通-个人中心-重置密码');
+INSERT INTO `sys_menu_permission` VALUES ('59', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '51', '用户-更多服务-根据用户id获取产品信息');
+INSERT INTO `sys_menu_permission` VALUES ('60', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '52', '用户-更多服务-开通产品');
+INSERT INTO `sys_menu_permission` VALUES ('61', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '19', '53', '朗通-产品线管理-添加产品');
+INSERT INTO `sys_menu_permission` VALUES ('62', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '9', '54', '用户-机构中心-管理服务端-删除服务端');
+INSERT INTO `sys_menu_permission` VALUES ('63', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '21', '用户-机构中心-已开通产品-查询当前登录用户已开通产品列表');
+INSERT INTO `sys_menu_permission` VALUES ('64', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '64', '朗通-客户中心-分页查询注册用户信息接口');
+INSERT INTO `sys_menu_permission` VALUES ('65', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '65', '朗通-客户中心-分页查询机构信息接口');
+INSERT INTO `sys_menu_permission` VALUES ('66', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '66', '朗通-客户中心-分页查询已认证用户信息和机构信息及开通产品接口');
+INSERT INTO `sys_menu_permission` VALUES ('67', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '67', '朗通-客户中心-分页查询认证中的用户信息接口');
+INSERT INTO `sys_menu_permission` VALUES ('68', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '71', '客户中心-导出用户信息');
+INSERT INTO `sys_menu_permission` VALUES ('69', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '72', '客户中心-导出机构信息');
+INSERT INTO `sys_menu_permission` VALUES ('70', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '73', '客户中心-导出认证中用户的信息:');
+INSERT INTO `sys_menu_permission` VALUES ('71', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '74', '客户中心-导出已认证用户的信息');
+INSERT INTO `sys_menu_permission` VALUES ('72', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '76', '客户中心-超管修改用户信息接口');
+INSERT INTO `sys_menu_permission` VALUES ('73', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '77', '客户中心-超管修改机构信息接口');
+INSERT INTO `sys_menu_permission` VALUES ('74', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '14', '79', '用户-机构中心-已经生成令牌-获取令牌');
+INSERT INTO `sys_menu_permission` VALUES ('75', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '83', '客户中心-认证用户信息和机构信息不通过接口(新)');
+INSERT INTO `sys_menu_permission` VALUES ('76', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '84', '客户中心-认证用户信息和机构信息通过接口(新)');
+INSERT INTO `sys_menu_permission` VALUES ('77', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '85', '客户中心-查询用户续费数量');
+INSERT INTO `sys_menu_permission` VALUES ('78', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '10', '86', '客户中心-查询用户是否有待审核的产品数量');
+INSERT INTO `sys_menu_permission` VALUES ('79', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '25', '88', '医学数据维护-独立标签维护-新增|修改');
+INSERT INTO `sys_menu_permission` VALUES ('80', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '25', '89', '医学数据维护-独立标签维护-删除');
+INSERT INTO `sys_menu_permission` VALUES ('81', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '25', '90', '医学数据维护-独立标签维护-分页列表');
+INSERT INTO `sys_menu_permission` VALUES ('82', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '91', '医学数据维护-标签组维护-新增|修改');
+INSERT INTO `sys_menu_permission` VALUES ('83', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '92', '医学数据维护-标签组维护-删除');
+INSERT INTO `sys_menu_permission` VALUES ('84', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '93', '医学数据维护-标签组维护-分页列表');
+INSERT INTO `sys_menu_permission` VALUES ('85', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '94', '医学数据维护-标签组维护-获取特殊标签(同伴|无)');
+INSERT INTO `sys_menu_permission` VALUES ('86', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '95', '医学数据维护-标签组维护-根据id返回内容');
+INSERT INTO `sys_menu_permission` VALUES ('87', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '96', '医学数据维护-标签组维护-根据多个id返回内容');
+INSERT INTO `sys_menu_permission` VALUES ('88', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '98', '医学数据维护-标签组维护-检索');
+INSERT INTO `sys_menu_permission` VALUES ('92', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '30', '99', '医学数据维护-科室维护-修改');
+INSERT INTO `sys_menu_permission` VALUES ('93', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '30', '100', '医学数据维护-科室维护-删除');
+INSERT INTO `sys_menu_permission` VALUES ('94', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '30', '101', '医学数据维护-科室维护-查询');
+INSERT INTO `sys_menu_permission` VALUES ('95', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '30', '102', '医学数据维护-科室维护-详情');
+INSERT INTO `sys_menu_permission` VALUES ('96', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '30', '104', '医学数据维护-科室维护-添加');
+INSERT INTO `sys_menu_permission` VALUES ('97', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '27', '105', '医学数据维护-别名维护-新增|修改');
+INSERT INTO `sys_menu_permission` VALUES ('98', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '27', '106', '医学数据维护-别名维护-详情');
+INSERT INTO `sys_menu_permission` VALUES ('99', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '27', '107', '医学数据维护-别名维护-删除');
+INSERT INTO `sys_menu_permission` VALUES ('100', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '27', '108', '医学数据维护-别名维护-导入');
+INSERT INTO `sys_menu_permission` VALUES ('101', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '27', '109', '医学数据维护-别名维护-列表');
+INSERT INTO `sys_menu_permission` VALUES ('102', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '110', '医学数据维护-模板维护-添加');
+INSERT INTO `sys_menu_permission` VALUES ('103', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '111', '医学数据维护-模板维护-修改');
+INSERT INTO `sys_menu_permission` VALUES ('104', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '112', '医学数据维护-模板维护-删除');
+INSERT INTO `sys_menu_permission` VALUES ('105', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '113', '医学数据维护-模板维护-获取标签池信息');
+INSERT INTO `sys_menu_permission` VALUES ('106', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '114', '医学数据维护-模板维护-获取子模板信息');
+INSERT INTO `sys_menu_permission` VALUES ('107', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '115', '医学数据维护-模板维护-获取模板列表');
+INSERT INTO `sys_menu_permission` VALUES ('108', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '116', '医学数据维护-模板维护-获取模板明细信息');
+INSERT INTO `sys_menu_permission` VALUES ('109', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '117', '医学数据维护-模板维护-获取单个模板信息(修改用)');
+INSERT INTO `sys_menu_permission` VALUES ('110', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '118', '医学数据维护-常见症状维护-添加和修改');
+INSERT INTO `sys_menu_permission` VALUES ('111', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '119', '医学数据维护-常见选项维护-删除');
+INSERT INTO `sys_menu_permission` VALUES ('112', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '120', '医学数据维护-常见选项维护-获取科室名称');
+INSERT INTO `sys_menu_permission` VALUES ('113', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '121', '医学数据维护-常见选项维护-获取标签信息');
+INSERT INTO `sys_menu_permission` VALUES ('114', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '122', '医学数据维护-常见选项维护-根据科室获取常用标签信息(修改和详情用)');
+INSERT INTO `sys_menu_permission` VALUES ('115', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '123', '医学数据维护-常见选项维护-获取科室信息(常见症状维护系统页面查询)');
+INSERT INTO `sys_menu_permission` VALUES ('116', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '33', '124', '医学数据维护-免责申明-获取免责申明详情');
+INSERT INTO `sys_menu_permission` VALUES ('117', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '33', '125', '医学数据维护-免责申明-增加免责申明详情');
+INSERT INTO `sys_menu_permission` VALUES ('118', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '33', '126', '医学数据维护-免责申明-修改免责申明详情');
+INSERT INTO `sys_menu_permission` VALUES ('119', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '33', '127', '医学数据维护-免责申明-删除免责申明详情');
+INSERT INTO `sys_menu_permission` VALUES ('120', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '33', '128', '医学数据维护-免责申明-启用免责申明详情 ');
+INSERT INTO `sys_menu_permission` VALUES ('121', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '33', '129', '医学数据维护-免责申明-停用免责申明详情');
+INSERT INTO `sys_menu_permission` VALUES ('122', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '34', '130', '医学数据维护-版本信息-获取版本信息');
+INSERT INTO `sys_menu_permission` VALUES ('123', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '34', '131', '医学数据维护-版本信息-保存版本信息');
+INSERT INTO `sys_menu_permission` VALUES ('124', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '34', '132', '医学数据维护-版本信息-更新版本信息');
+INSERT INTO `sys_menu_permission` VALUES ('125', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '34', '133', '医学数据维护-版本信息-删除版本信息');
+INSERT INTO `sys_menu_permission` VALUES ('126', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '34', '134', '医学数据维护-版本信息-更新版本详情信息');
+INSERT INTO `sys_menu_permission` VALUES ('127', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '34', '135', '医学数据维护-版本信息-删除版本详情信息');
+INSERT INTO `sys_menu_permission` VALUES ('128', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '34', '136', '医学数据维护-版本信息-增加版本详情信息');
+INSERT INTO `sys_menu_permission` VALUES ('129', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '137', '医学数据维护-查体模板维护-查体模板列表');
+INSERT INTO `sys_menu_permission` VALUES ('130', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '138', '医学数据维护-查体模板维护-保存');
+INSERT INTO `sys_menu_permission` VALUES ('131', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '139', '医学数据维护-查体模板维护-根据科室删除');
+INSERT INTO `sys_menu_permission` VALUES ('132', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '140', '医学数据维护-查体模板维护-获取未维护的科室(新增)');
+INSERT INTO `sys_menu_permission` VALUES ('133', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '141', '医学数据维护-查体模板维护-获取未维护的科室(修改)');
+INSERT INTO `sys_menu_permission` VALUES ('134', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '142', '医学数据维护-查体模板维护-根据科室获取查体模板');
+INSERT INTO `sys_menu_permission` VALUES ('153', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '34', '161', '医学数据维护-版本信息-根据版本id获取版本详情信息');
+INSERT INTO `sys_menu_permission` VALUES ('154', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '39', '162', '医学术语库维护-医学术语命名维护-获取所有医学术语命名');
+INSERT INTO `sys_menu_permission` VALUES ('155', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '39', '163', '医学术语库维护-医学术语命名维护-获取医学术语命名列表');
+INSERT INTO `sys_menu_permission` VALUES ('156', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '39', '164', '医学术语库维护-医学术语命名维护-医学术语命名删除');
+INSERT INTO `sys_menu_permission` VALUES ('157', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '39', '165', '医学术语库维护-医学术语命名维护-获取医学术语命名详情');
+INSERT INTO `sys_menu_permission` VALUES ('158', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '40', '166', '医学术语库维护-术语医学属性维护-获取医学术语信息');
+INSERT INTO `sys_menu_permission` VALUES ('159', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '40', '167', '医学术语库维护-术语医学属性维护-保存医学术语信息');
+INSERT INTO `sys_menu_permission` VALUES ('160', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '40', '168', '医学术语库维护-术语医学属性维护-更新医学术语信息');
+INSERT INTO `sys_menu_permission` VALUES ('161', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '40', '169', '医学术语库维护-术语医学属性维护-删除医学术语信息');
+INSERT INTO `sys_menu_permission` VALUES ('162', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '170', '医学术语库维护-医学术语关系维护-获取医学术语关系列表');
+INSERT INTO `sys_menu_permission` VALUES ('163', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '171', '医学术语库维护-医学术语关系维护-医学术语关系删除');
+INSERT INTO `sys_menu_permission` VALUES ('164', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '172', '医学术语库维护-医学术语关系维护-获取医学术语关系详情');
+INSERT INTO `sys_menu_permission` VALUES ('165', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '173', '医学术语库维护-医学术语静态知识维护-获取医学术语静态知识列表');
+INSERT INTO `sys_menu_permission` VALUES ('166', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '174', '医学术语库维护-医学术语静态知识维护-医学术语静态知识删除');
+INSERT INTO `sys_menu_permission` VALUES ('167', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '175', '医学术语库维护-医学术语静态知识维护-获取医学术语静态知识详情');
+INSERT INTO `sys_menu_permission` VALUES ('168', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '176', '医学术语库维护-医学术语静态知识维护-医学术语静态知识添加或者编辑');
+INSERT INTO `sys_menu_permission` VALUES ('169', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '27', '177', '医学数据维护-别名维护-标签搜索');
+INSERT INTO `sys_menu_permission` VALUES ('170', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '43', '178', '医学数据维护-化验大小项与公表项对应维护-分页列表');
+INSERT INTO `sys_menu_permission` VALUES ('171', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '43', '179', '医学数据维护-化验大小项与公表项对应维护-保存');
+INSERT INTO `sys_menu_permission` VALUES ('172', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '43', '180', '医学数据维护-化验大小项与公表项对应维护-是否已存在');
+INSERT INTO `sys_menu_permission` VALUES ('173', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '43', '181', '医学数据维护-化验大小项与公表项对应维护-删除(单条)');
+INSERT INTO `sys_menu_permission` VALUES ('174', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '43', '182', '医学数据维护-化验大小项与公表项对应维护-删除(批量)');
+INSERT INTO `sys_menu_permission` VALUES ('175', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '183', '医学数据维护-获取模板type');
+INSERT INTO `sys_menu_permission` VALUES ('176', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '184', '医学数据维护-慢病评估维护-分页模糊查询标签组维护接口');
+INSERT INTO `sys_menu_permission` VALUES ('177', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '185', '医学数据维护-慢病评估维护-获取慢病标签组维护');
+INSERT INTO `sys_menu_permission` VALUES ('178', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '186', '医学数据维护-慢病评估维护-慢病评估维护——修改管理评估');
+INSERT INTO `sys_menu_permission` VALUES ('179', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '187', '医学数据维护-慢病评估维护-慢病评估维护——添加管理评估');
+INSERT INTO `sys_menu_permission` VALUES ('180', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '188', '医学数据维护-慢病评估维护-删除慢病标签组维护');
+INSERT INTO `sys_menu_permission` VALUES ('181', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '45', '189', '医学数据维护-慢病指标值关联维护-分页模糊查询慢病指标值关联维护');
+INSERT INTO `sys_menu_permission` VALUES ('182', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '45', '190', '医学数据维护-慢病指标值关联维护-获取慢病指标值关联维护');
+INSERT INTO `sys_menu_permission` VALUES ('183', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '45', '191', '医学数据维护-慢病指标值关联维护-慢病指标值关联维护——修改关联');
+INSERT INTO `sys_menu_permission` VALUES ('184', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '45', '192', '医学数据维护-慢病指标值关联维护-慢病指标值关联维护——添加关联');
+INSERT INTO `sys_menu_permission` VALUES ('185', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '45', '193', '医学数据维护-慢病指标值关联维护-删除慢病指标值关联维护');
+INSERT INTO `sys_menu_permission` VALUES ('190', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '40', '209', '医学术语库维护-术语医学属性维护-术语医学属性excel文件导入');
+INSERT INTO `sys_menu_permission` VALUES ('191', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '210', '医学术语库维护-医学术语关系维护-医学术语关系添加或者编辑');
+INSERT INTO `sys_menu_permission` VALUES ('192', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '211', '医学术语库维护-医学术语关系维护-医学术语关系excel文件导入');
+INSERT INTO `sys_menu_permission` VALUES ('193', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '39', '213', '医学术语库维护-医学术语命名维护-医学术语命名添加或者编辑');
+INSERT INTO `sys_menu_permission` VALUES ('194', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '39', '214', '医学术语库维护-医学术语命名维护-医学术语命名excel文件导入');
+INSERT INTO `sys_menu_permission` VALUES ('195', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '49', '215', '医学术语库维护-医学术语类型维护-获取所有术语类型');
+INSERT INTO `sys_menu_permission` VALUES ('196', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '49', '216', '医学术语库维护-医学术语类型维护-获取术语类型列表');
+INSERT INTO `sys_menu_permission` VALUES ('197', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '49', '217', '医学术语库维护-医学术语类型维护-术语类型添加');
+INSERT INTO `sys_menu_permission` VALUES ('198', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '218', '医学术语库维护-医学术语关系维护-获取所有关系类型');
+INSERT INTO `sys_menu_permission` VALUES ('199', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '40', '219', '医学术语库维护-术语医学属性维护-获取所有部位');
+INSERT INTO `sys_menu_permission` VALUES ('200', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '40', '220', '医学术语库维护-术语医学属性维护-获取术语医学属性所需全部科室');
+INSERT INTO `sys_menu_permission` VALUES ('201', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '48', '221', '医学术语库维护-量表结构维护-新增|修改');
+INSERT INTO `sys_menu_permission` VALUES ('202', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '48', '222', '医学术语库维护-量表结构维护-分页列表');
+INSERT INTO `sys_menu_permission` VALUES ('203', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '48', '224', '医学术语库维护-量表结构维护-删除|恢复');
+INSERT INTO `sys_menu_permission` VALUES ('204', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '48', '225', '医学术语库维护-量表结构维护-根据id返回内容');
+INSERT INTO `sys_menu_permission` VALUES ('205', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '48', '91', null);
+INSERT INTO `sys_menu_permission` VALUES ('206', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '39', '223', '医学术语库维护-医学术语命名维护-获取所有化验公表项');
+INSERT INTO `sys_menu_permission` VALUES ('207', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '228', '医学数据维护-模板维护-获取所有科室和疾病信息');
+INSERT INTO `sys_menu_permission` VALUES ('208', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '230', '医学数据维护-慢病评估维护-慢病疾病标签查询');
+INSERT INTO `sys_menu_permission` VALUES ('209', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '45', '229', '医学数据维护-慢病指标值关联维护-慢病指标疾病标签查询');
+INSERT INTO `sys_menu_permission` VALUES ('210', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '231', '医学数据维护-标签组维护-子标签检索');
+INSERT INTO `sys_menu_permission` VALUES ('211', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '232', '医学数据维护-模板维护-获取标签和模板关联信息(删除标签时校验用)');
+INSERT INTO `sys_menu_permission` VALUES ('212', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '233', '医学数据维护-查体模板维护-查询科室下拉列表(查询页面)');
+INSERT INTO `sys_menu_permission` VALUES ('213', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '48', '227', '医学术语库维护-量表结构维护-检索');
+INSERT INTO `sys_menu_permission` VALUES ('214', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '39', '234', '医学术语库维护-医学术语命名维护-获取所有概念(术语关系维护时筛选使用)');
+INSERT INTO `sys_menu_permission` VALUES ('215', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '50', '235', '医学术语库维护-化验子项维护-列表');
+INSERT INTO `sys_menu_permission` VALUES ('216', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '50', '236', '医学术语库维护-化验子项维护-添加或者编辑');
+INSERT INTO `sys_menu_permission` VALUES ('217', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '50', '237', '医学术语库维护-化验子项维护-详情');
+INSERT INTO `sys_menu_permission` VALUES ('218', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '50', '238', '医学术语库维护-化验子项维护-删除或者恢复');
+INSERT INTO `sys_menu_permission` VALUES ('219', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '239', '医学术语库维护-医学术语关联维护-列表');
+INSERT INTO `sys_menu_permission` VALUES ('220', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '240', '医学术语库维护-医学术语关联维护-添加或者编辑');
+INSERT INTO `sys_menu_permission` VALUES ('221', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '241', '医学术语库维护-医学术语关联维护-详情');
+INSERT INTO `sys_menu_permission` VALUES ('222', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '242', '医学术语库维护-医学术语关联维护-删除或者恢复');
+INSERT INTO `sys_menu_permission` VALUES ('223', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '52', '243', '医学术语库维护-医学术语多层关联维护-列表');
+INSERT INTO `sys_menu_permission` VALUES ('224', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '52', '244', '医学术语库维护-医学术语多层关联维护-添加或者编辑');
+INSERT INTO `sys_menu_permission` VALUES ('225', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '52', '245', '医学术语库维护-医学术语多层关联维护-详情');
+INSERT INTO `sys_menu_permission` VALUES ('226', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '52', '246', '医学术语库维护-医学术语多层关联维护-删除或者恢复');
+INSERT INTO `sys_menu_permission` VALUES ('227', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '247', '医学术语库维护-医学术语静态知识维护-内容检索');
+INSERT INTO `sys_menu_permission` VALUES ('228', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '56', '260', '预问诊数据维护-模板维护-模板新增');
+INSERT INTO `sys_menu_permission` VALUES ('230', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '56', '262', '预问诊数据维护-模板维护-模板删除');
+INSERT INTO `sys_menu_permission` VALUES ('231', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '56', '263', '预问诊数据维护-模板维护-获取模板列表');
+INSERT INTO `sys_menu_permission` VALUES ('232', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '56', '264', '预问诊数据维护-模板维护-修改时获取已经添加过的标签');
+INSERT INTO `sys_menu_permission` VALUES ('233', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '56', '265', '预问诊数据维护-模板维护-获取单个模板(修改用)');
+INSERT INTO `sys_menu_permission` VALUES ('234', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '56', '266', '预问诊数据维护-模板维护-获取模板类型(修改时取类型)');
+INSERT INTO `sys_menu_permission` VALUES ('235', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '56', '267', '预问诊数据维护-模板维护-获取所有科室信息(主页下拉用)');
+INSERT INTO `sys_menu_permission` VALUES ('236', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '56', '268', '预问诊数据维护-模板维护-获取标签和模板关联信息');
+INSERT INTO `sys_menu_permission` VALUES ('237', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '58', '272', '诊断依据维护-诊断依据数据维护-分页');
+INSERT INTO `sys_menu_permission` VALUES ('238', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '58', '273', '诊断依据维护-诊断依据数据维护-删除');
+INSERT INTO `sys_menu_permission` VALUES ('239', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '58', '274', '诊断依据维护-诊断依据数据维护-诊断检索');
+INSERT INTO `sys_menu_permission` VALUES ('240', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '58', '275', '诊断依据维护-诊断依据数据维护-校验数据');
+INSERT INTO `sys_menu_permission` VALUES ('241', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '58', '276', '诊断依据维护-诊断依据数据维护-校验所有数据');
+INSERT INTO `sys_menu_permission` VALUES ('242', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '58', '277', '诊断依据维护-诊断依据数据维护-更新图谱');
+INSERT INTO `sys_menu_permission` VALUES ('243', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '58', '278', '诊断依据维护-诊断依据数据维护-获取详情');
+INSERT INTO `sys_menu_permission` VALUES ('244', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '58', '270', '诊断依据维护-导出诊断依据');
+INSERT INTO `sys_menu_permission` VALUES ('245', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '59', '269', '诊断依据维护-导出诊断依据问题词');
+INSERT INTO `sys_menu_permission` VALUES ('246', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '59', '271', '诊断依据维护-诊断依据问题词数据维护-分页查询');
+
+-- ----------------------------
+-- Table structure for sys_permission
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_permission`;
+CREATE TABLE `sys_permission` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '资源ID',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `name` varchar(255) NOT NULL DEFAULT '' COMMENT '资源名称',
+  `permissionUrl` varchar(255) NOT NULL DEFAULT '' COMMENT '资源Url',
+  `method` varchar(255) NOT NULL DEFAULT 'ALL' COMMENT '资源允许的请求方式',
+  `descritpion` varchar(255) NOT NULL DEFAULT '' COMMENT '资源描述',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=279 DEFAULT CHARSET=utf8 COMMENT='系统资源表';
+
+-- ----------------------------
+-- Records of sys_permission
+-- ----------------------------
+INSERT INTO `sys_permission` VALUES ('8', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '获取用户信息列表', '/userInfo/getUserInfoPag', 'ALL', '朗通-客户中心-获取用户信息列表', null);
+INSERT INTO `sys_permission` VALUES ('9', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-账户信息-获取当前用户信息', '/userAuthentication/getuserAuthenticationInfo', 'ALL', '用户-机构中心-账户信息-获取当前用户信息', null);
+INSERT INTO `sys_permission` VALUES ('10', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-账户信息-用户认证', '/userAuthentication/userAuthentication', 'ALL', '用户-机构中心-账户信息-用户认证', null);
+INSERT INTO `sys_permission` VALUES ('11', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-账户信息-获取当前用户认证状态', '/userAuthentication/getUserAuthenticationStatus', 'ALL', '用户-机构中心-账户信息-获取当前用户认证状态', null);
+INSERT INTO `sys_permission` VALUES ('12', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '修改用户和机构信息', '/userInfo/updateUserInfoAll', 'ALL', '朗通-客户中心-修改用户和机构信息', null);
+INSERT INTO `sys_permission` VALUES ('14', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '根据用户Id删除', '/userInfo/updateDeleted', 'ALL', '朗通-客户中心-根据用户Id删除', null);
+INSERT INTO `sys_permission` VALUES ('15', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-已开通产品-关联产品与用户服务端', '/productService/genProductService', 'ALL', '用户-机构中心-已开通产品-关联产品与用户服务端', null);
+INSERT INTO `sys_permission` VALUES ('16', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-已开通产品-删除产品与用户服务端的关联', '/productService/deleteProductService', 'ALL', '用户-机构中心-已开通产品-删除产品与用户服务端的关联', null);
+INSERT INTO `sys_permission` VALUES ('17', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-已开通产品-获取当前登录用户产品服务分页列表', '/productService/getProductServiceByCurrentUser', 'ALL', '用户-机构中心-已开通产品-获取当前登录用户产品服务分页列表', null);
+INSERT INTO `sys_permission` VALUES ('18', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '模糊查询机构信息', '/userInfo/findOrganization', 'ALL', '朗通-客户中心-模糊查询机构信息', null);
+INSERT INTO `sys_permission` VALUES ('19', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '添加机构信息', '/userInfo/addOrganization', 'ALL', '朗通-客户中心-添加机构信息', null);
+INSERT INTO `sys_permission` VALUES ('20', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '添加用户信息和绑定机构', '/userInfo/addUserInfo', 'ALL', '朗通-客户中心-添加用户信息和绑定机构', null);
+INSERT INTO `sys_permission` VALUES ('21', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-已开通产品-查询当前登录用户已开通产品列表', '/diagLantoneProduct/opendedProductByCurrentUser', 'ALL', '用户-机构中心-已开通产品-查询当前登录用户已开通产品列表', null);
+INSERT INTO `sys_permission` VALUES ('22', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '审核用户信息接口', '/userInfo/auditUserInfoAll', 'ALL', '朗通-客户中心-审核用户信息接口', null);
+INSERT INTO `sys_permission` VALUES ('24', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-管理服务端-新增服务端', '/serviceInfo/createService', 'ALL', '用户-机构中心-管理服务端-新增服务端', null);
+INSERT INTO `sys_permission` VALUES ('25', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-管理服务端-修改服务端', '/serviceInfo/updateService', 'ALL', '用户-机构中心-管理服务端-修改服务端', null);
+INSERT INTO `sys_permission` VALUES ('26', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-管理服务端-获取当前登录用户的服务列表', '/serviceInfo/getServiceListByCurrentUser', 'ALL', '用户-机构中心-管理服务端-获取当前登录用户的服务列表', null);
+INSERT INTO `sys_permission` VALUES ('27', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-管理服务端-获取当前登录用户的服务分页列表', '/serviceInfo/getServiceListPageByCurrentUser', 'ALL', '用户-机构中心-管理服务端-获取当前登录用户的服务分页列表', null);
+INSERT INTO `sys_permission` VALUES ('28', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '根据用户id查询已开通的功能', '/productOrder/getInformationAvailableByUserId', 'ALL', '朗通-客户中心-根据用户id查询已开通的功能', null);
+INSERT INTO `sys_permission` VALUES ('29', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '根据用户id和产品id,启用和停用功能', '/productOrder/startAndendByuserId', 'ALL', '朗通-客户中心-根据用户id和产品id,启用和停用功能', null);
+INSERT INTO `sys_permission` VALUES ('30', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '根据用户id和产品id,删除开通信息', '/productOrder/delInformationAvailable', 'ALL', '朗通-客户中心-根据用户id和产品id,删除开通信息', null);
+INSERT INTO `sys_permission` VALUES ('31', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '根据用户id和产品id,修改开通时间', '/productOrder/modifyOpeningTime', 'ALL', '朗通-客户中心-根据用户id和产品id,修改开通时间', null);
+INSERT INTO `sys_permission` VALUES ('32', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '根据时间导出用户和机构信息', '/report/exportUserInfoAll', 'ALL', '朗通-客户中心-根据时间导出用户和机构信息', null);
+INSERT INTO `sys_permission` VALUES ('33', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-已经生成令牌-生成令牌', '/serviceToken/createServiceToken', 'ALL', '用户-机构中心-已经生成令牌-生成令牌', null);
+INSERT INTO `sys_permission` VALUES ('34', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-已经生成令牌-禁用令牌', '/serviceToken/disableToken', 'ALL', '用户-机构中心-已经生成令牌-禁用令牌', null);
+INSERT INTO `sys_permission` VALUES ('35', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-已经生成令牌-启用令牌', '/serviceToken/enableToken', 'ALL', '用户-机构中心-已经生成令牌-启用令牌', null);
+INSERT INTO `sys_permission` VALUES ('36', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-已经生成令牌-删除令牌', '/serviceToken/deleteTokenByProductServiceId', 'ALL', '用户-机构中心-已经生成令牌-删除令牌', null);
+INSERT INTO `sys_permission` VALUES ('37', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-控制台-待审核订单个数', '/productOrder/waitExamOrderCou', 'ALL', '朗通-控制台-待审核订单个数', null);
+INSERT INTO `sys_permission` VALUES ('38', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-控制台-待认证账号数量', '/userAuthentication/waitAuthen', 'ALL', '朗通-控制台-待认证账号数量', null);
+INSERT INTO `sys_permission` VALUES ('39', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-控制台-账号认证进度', '/userAuthentication/queryAuthProgress', 'ALL', '用户-控制台-账号认证进度', null);
+INSERT INTO `sys_permission` VALUES ('40', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-控制台-产品认证进度', '/productOrder/productAuthProgress', 'ALL', '用户-控制台-产品认证进度', null);
+INSERT INTO `sys_permission` VALUES ('41', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-控制台-已开通产品', '/productOrder/getConsoleOpened', 'ALL', '用户-控制台-已开通产品', null);
+INSERT INTO `sys_permission` VALUES ('42', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-控制台-可试用产品', '/productOrder/getConsoleOnTrial', 'ALL', '用户-控制台-可试用产品', null);
+INSERT INTO `sys_permission` VALUES ('43', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-控制台-产品立即试用接口', '/productOrder/openUpOnTrial', 'ALL', '用户-控制台-产品立即试用接口', null);
+INSERT INTO `sys_permission` VALUES ('44', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-控制台-可展示的选项卡', '/productOrder/enShowOption', 'ALL', '用户-控制台-可展示的选项卡', null);
+INSERT INTO `sys_permission` VALUES ('45', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-控制台-账户信息', '/user/getConsoleUserInfo', 'ALL', '用户-控制台-账户信息', null);
+INSERT INTO `sys_permission` VALUES ('46', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '查询所有用户已开通的功能', '/productOrder/getInformationAvailableAll', 'ALL', '朗通-客户中心-查询所有用户已开通的功能', null);
+INSERT INTO `sys_permission` VALUES ('47', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '查询用户信息和机构信息开通产品', '/userInfo/getUserOrganProductAll', 'ALL', '朗通-客户中心-查询用户信息和机构信息开通产品', null);
+INSERT INTO `sys_permission` VALUES ('48', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-个人中心-修改密码', '/user/midifyPassword', 'ALL', '朗通-个人中心-修改密码', null);
+INSERT INTO `sys_permission` VALUES ('51', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-更多服务-显示产品', '/morServices/showProductInfo', 'ALL', '用户-更多服务-显示产品', null);
+INSERT INTO `sys_permission` VALUES ('52', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-更多服务-开通产品', '/morServices/addOrder', 'ALL', '用户-更多服务-开通产品', null);
+INSERT INTO `sys_permission` VALUES ('53', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-产品线管理-添加产品', '/diagLantoneProduct/addProducts', 'ALL', '朗通-产品线管理-添加产品', null);
+INSERT INTO `sys_permission` VALUES ('54', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-管理服务端-删除服务端', '/serviceInfo/delService', 'ALL', '用户-机构中心-管理服务端-删除服务端', null);
+INSERT INTO `sys_permission` VALUES ('55', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-产品线管理-查询', '/diagLantoneProduct/selectProduct', 'ALL', '朗通-产品线管理-查询', null);
+INSERT INTO `sys_permission` VALUES ('56', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-产品线管理-修改', '/diagLantoneProduct/updateProduct', 'ALL', '朗通-产品线管理-修改', null);
+INSERT INTO `sys_permission` VALUES ('57', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-产品线管理-(启用/禁用)', '/diagLantoneProduct/updateServiceStatus', 'ALL', '朗通-产品线管理-(启用/禁用)', null);
+INSERT INTO `sys_permission` VALUES ('58', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-产品线管理-删除', '/diagLantoneProduct/deleteProduct', 'ALL', '朗通-产品线管理-删除', null);
+INSERT INTO `sys_permission` VALUES ('59', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-产品线管理-详情', '/diagLantoneProduct/opendedProduct', 'ALL', '朗通-产品线管理-详情', null);
+INSERT INTO `sys_permission` VALUES ('60', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-产品申请-显示所有订单明细', '/diagOrderDetails/getAllOrderDetials', 'ALL', '朗通-产品申请-显示所有订单明细', null);
+INSERT INTO `sys_permission` VALUES ('61', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-产品申请-审核', '/diagOrderDetails/auditStatus', 'ALL', '朗通-产品申请-审核', null);
+INSERT INTO `sys_permission` VALUES ('62', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-产品申请-显示所有订单', '/productOrder/getAllProductOrder', 'ALL', '朗通-产品申请-显示所有订单', null);
+INSERT INTO `sys_permission` VALUES ('63', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '默认-获取用户、机构、菜单信息', '/user/getUserOrgMenu', 'ALL', '全部用户-获取用户、机构、菜单信息', null);
+INSERT INTO `sys_permission` VALUES ('64', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-客户中心-分页查询注册用户信息接口', '/userInfo/queryUserInformation', 'ALL', '朗通-客户中心-分页查询注册用户信息接口', null);
+INSERT INTO `sys_permission` VALUES ('65', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-客户中心-分页查询机构信息接口', '/userInfo/queryMechanismInformation', 'ALL', '朗通-客户中心-分页查询机构信息接口', null);
+INSERT INTO `sys_permission` VALUES ('66', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-客户中心-分页查询已认证用户信息和机构信息及开通产品接口', '/userInfo/queryVerifiedUserOrganizationProduct', 'ALL', '朗通-客户中心-分页查询已认证用户信息和机构信息及开通产品接口', null);
+INSERT INTO `sys_permission` VALUES ('67', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-客户中心-分页查询认证中的用户信息接口', '/userInfo/queryAuthentication', 'ALL', '朗通-客户中心-分页查询认证中的用户信息接口', null);
+INSERT INTO `sys_permission` VALUES ('68', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '\r\n导出产品申请相关信息', '/reporExcel/exportProductOrderInfo', 'ALL', '导出产品申请相关信息', null);
+INSERT INTO `sys_permission` VALUES ('69', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-个人中心-获取个人信息', '/user/getPersonInfo', 'ALL', '朗通-个人中心-获取个人信息', null);
+INSERT INTO `sys_permission` VALUES ('70', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '朗通-个人中心-修改个人信息', '/user/updatePersonInfo', 'ALL', '朗通-个人中心-修改个人信息', null);
+INSERT INTO `sys_permission` VALUES ('71', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '客户中心-导出用户信息', '/report/exportUserInfo', 'ALL', '客户中心-导出用户信息', null);
+INSERT INTO `sys_permission` VALUES ('72', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '客户中心-导出机构信息', '/report/exportOrganization', 'ALL', '客户中心-导出机构信息', null);
+INSERT INTO `sys_permission` VALUES ('73', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '客户中心-导出认证中用户的信息:', '/report/exportKema', 'ALL', '客户中心-导出认证中用户的信息:', null);
+INSERT INTO `sys_permission` VALUES ('74', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '客户中心-导出已认证用户的信息', '/report/exportVerified', 'ALL', '客户中心-导出已认证用户的信息', null);
+INSERT INTO `sys_permission` VALUES ('75', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户更多服务-产品续费', '/morServices/addRenewalsInfo', 'ALL', '用户更多服务-产品续费', null);
+INSERT INTO `sys_permission` VALUES ('76', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '客户中心-超管修改用户信息接口', '/userInfo/updateUserInfo', 'ALL', '客户中心-超管修改用户信息接口', null);
+INSERT INTO `sys_permission` VALUES ('77', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '客户中心-超管修改机构信息接口', '/userInfo/updateOrganizations', 'ALL', '客户中心-超管修改机构信息接口', null);
+INSERT INTO `sys_permission` VALUES ('78', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '续费管理-显示', '/userRenewals/renewalsInfos', 'ALL', '续费管理-显示', null);
+INSERT INTO `sys_permission` VALUES ('79', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户-机构中心-已经生成令牌-获取令牌', '/serviceToken/getTokenByProductServiceId', 'ALL', '用户-机构中心-已经生成令牌-获取令牌', null);
+INSERT INTO `sys_permission` VALUES ('80', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '续费管理-删除', '/userRenewals/deleteRenewalsInfos', 'ALL', '续费管理-删除', null);
+INSERT INTO `sys_permission` VALUES ('81', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '续费管理-续费', '/productOrder/modifyOpeningTime', 'ALL', '续费管理-续费', null);
+INSERT INTO `sys_permission` VALUES ('82', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '续费管理-取消续费', '/userRenewals/cancelRenewalsInfos', 'ALL', '续费管理-取消续费', null);
+INSERT INTO `sys_permission` VALUES ('83', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '客户中心-认证用户信息和机构信息不通过接口(新)', '/userInfo/auditUserInfoAllNopass', 'ALL', '客户中心-认证用户信息和机构信息不通过接口(新)', null);
+INSERT INTO `sys_permission` VALUES ('84', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '客户中心-认证用户信息和机构信息通过接口(新)', '/userInfo/auditUserInfoAllPass', 'ALL', '客户中心-认证用户信息和机构信息通过接口(新)', null);
+INSERT INTO `sys_permission` VALUES ('85', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '客户中心-查询用户续费数量', '/productOrder/getUserWaitingRenewal', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('86', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '客户中心-查询用户是否有待审核的产品数量', '/productOrder/getOrderByUserToAudit', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('87', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '客户中心-已开通产品状态校验', '/productOrder/openProductCheck', 'ALL', '客户中心-已开通产品状态校验', null);
+INSERT INTO `sys_permission` VALUES ('88', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-独立标签维护-新增|修改', '/questionInfo/saveOrUpdate', 'ALL', '医学数据维护-独立标签维护-新增|修改', null);
+INSERT INTO `sys_permission` VALUES ('89', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-独立标签维护-删除', '/questionInfo/delete', 'ALL', '医学数据维护-独立标签维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('90', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-独立标签维护-分页列表', '/questionInfo/list', 'ALL', '医学数据维护-独立标签维护-分页列表', null);
+INSERT INTO `sys_permission` VALUES ('91', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-标签组维护-新增|修改', '/questionInfo/saveOrUpdate', 'ALL', '医学数据维护-标签组维护-新增|修改', null);
+INSERT INTO `sys_permission` VALUES ('92', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-标签组维护-删除', '/questionInfo/delete', 'ALL', '医学数据维护-标签组维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('93', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-标签组维护-分页列表', '/questionInfo/list', 'ALL', '医学数据维护-标签组维护-分页列表', null);
+INSERT INTO `sys_permission` VALUES ('94', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-标签组维护-获取特殊标签(同伴|无)', '/questionInfo/getSpecial', 'ALL', '医学数据维护-标签组维护-获取特殊标签(同伴|无)', null);
+INSERT INTO `sys_permission` VALUES ('95', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-标签组维护-根据id返回内容', '/questionInfo/getById', 'ALL', '医学数据维护-标签组维护-根据id返回内容', null);
+INSERT INTO `sys_permission` VALUES ('96', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-标签组维护-根据多个id返回内容', '/questionInfo/getByIds', 'ALL', '医学数据维护-标签组维护-根据多个id返回内容', null);
+INSERT INTO `sys_permission` VALUES ('98', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-标签组维护-检索', '/questionInfo/index', 'ALL', '医学数据维护-标签组维护-检索', null);
+INSERT INTO `sys_permission` VALUES ('99', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-科室维护-修改', '/deptInfo/updateDeptInfo', 'ALL', '医学数据维护-科室维护-修改', null);
+INSERT INTO `sys_permission` VALUES ('100', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-科室维护-删除', '/deptInfo/deleteDeptInfo', 'ALL', '医学数据维护-科室维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('101', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-科室维护-查询', '/deptInfo/getDeptInfo', 'ALL', '医学数据维护-科室维护-查询', null);
+INSERT INTO `sys_permission` VALUES ('102', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-科室维护-详情', '/deptInfo/getDeptInfoDetials', 'ALL', '医学数据维护-科室维护-详情', null);
+INSERT INTO `sys_permission` VALUES ('104', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-科室维护-添加', '/deptInfo/addDeptInfo', 'ALL', '医学数据维护-科室维护-添加', null);
+INSERT INTO `sys_permission` VALUES ('105', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-别名维护-新增|修改', '/retrieval/addTagRetrieval', 'ALL', '医学数据维护-别名维护-新增|修改', null);
+INSERT INTO `sys_permission` VALUES ('106', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-别名维护-详情', '/retrieval/getRetrievalsByTag', 'ALL', '医学数据维护-别名维护-详情', null);
+INSERT INTO `sys_permission` VALUES ('107', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-别名维护-删除', '/retrieval/delRetrievalsByQuesId', 'ALL', '医学数据维护-别名维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('108', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-别名维护-导入', '/retrieval/retrievalExcelIm', 'ALL', '医学数据维护-别名维护-导入', null);
+INSERT INTO `sys_permission` VALUES ('109', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-别名维护-列表', '/retrieval/retrievalList', 'ALL', '医学数据维护-别名维护-列表', null);
+INSERT INTO `sys_permission` VALUES ('110', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-模板维护-添加', '/moduleInfo/saveModuleInfo', 'ALL', '医学数据维护-模板维护-添加', null);
+INSERT INTO `sys_permission` VALUES ('111', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-模板维护-修改', '/moduleInfo/updateModuleInfo', 'ALL', '医学数据维护-模板维护-修改', null);
+INSERT INTO `sys_permission` VALUES ('112', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-模板维护-删除', '/moduleInfo/delete', 'ALL', '医学数据维护-模板维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('113', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-模板维护-获取标签池信息', '/moduleInfo/getQuestionInfos', 'ALL', '医学数据维护-模板维护-获取标签池信息', null);
+INSERT INTO `sys_permission` VALUES ('114', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-模板维护-获取子模板信息', '/moduleInfo/getModuleInfo', 'ALL', '医学数据维护-模板维护-获取子模板信息', null);
+INSERT INTO `sys_permission` VALUES ('115', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-模板维护-获取模板列表', '/moduleInfo/getModuleInfoList', 'ALL', '医学数据维护-模板维护-获取模板列表', null);
+INSERT INTO `sys_permission` VALUES ('116', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-模板维护-获取模板明细信息', '/moduleInfo/getModuleDetailInfo', 'ALL', '医学数据维护-模板维护-获取模板明细信息', null);
+INSERT INTO `sys_permission` VALUES ('117', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-模板维护-获取单个模板信息(修改用)', '/moduleInfo/getModuleInfoOne', 'ALL', '医学数据维护-模板维护-获取单个模板信息(修改用)', null);
+INSERT INTO `sys_permission` VALUES ('118', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-常见症状维护-添加和修改', '/questionUsual/addQuestionUsual', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('119', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-常见症状维护-删除', '/questionUsual/deleteQuestionUsual', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('120', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-常见症状维护-获取科室名称', '/questionUsual/getDeptName', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('121', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-常见症状维护-获取标签信息', '/questionUsual/getQuestionInfo', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('122', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-常见症状维护-根据科室获取常用标签信息(修改和详情用)', '/questionUsual/getQuestionUsualByDept', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('123', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-常见症状维护-获取科室信息(常见症状维护系统页面查询)', '/questionUsual/getDeptInfos', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('124', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-免责申明-获取免责申明详情', '/disclaimerInformation/getDisclaimerInformations', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('125', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-免责申明-增加免责申明详情', '/disclaimerInformation/addDisclaimerInformations', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('126', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-免责申明-修改免责申明详情', '/disclaimerInformation/updateDisclaimerInformations', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('127', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-免责申明-删除免责申明详情', '/disclaimerInformation/cancelDisclaimerInformations', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('128', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-免责申明-启用免责申明详情', '/disclaimerInformation/startDisclaimerInformations', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('129', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-免责申明-停用免责申明详情', '/disclaimerInformation/endDisclaimerInformations', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('130', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-版本信息-获取版本信息', '/versionInfo/getVersionInfoAlls', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('131', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-版本信息-保存版本信息', '/versionInfo/saveVersionInfoAlls', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('132', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-版本信息-更新版本信息', '/versionInfo/updateVersionInfoAlls', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('133', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-版本信息-删除版本信息', '/versionInfo/cancelVersionInfoAlls', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('134', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-版本信息-更新版本详情信息', '/versionDetail/updateVersionDetails', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('135', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-版本信息-删除版本详情信息', '/versionDetail/cancelVersionDetails', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('136', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-版本信息-增加版本详情信息', '/versionDetail/addVersionDetails', 'ALL', '', null);
+INSERT INTO `sys_permission` VALUES ('137', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-查体模板维护-查体模板列表', '/deptVital/getDeptVitalPage', 'ALL', '医学数据维护-查体模板维护-查体模板列表', null);
+INSERT INTO `sys_permission` VALUES ('138', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-查体模板维护-保存', '/deptVital/saveDeptVitals', 'ALL', '医学数据维护-查体模板维护-保存', null);
+INSERT INTO `sys_permission` VALUES ('139', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-查体模板维护-根据科室删除', '/deptVital/delAllDeptVitalList', 'ALL', '医学数据维护-查体模板维护-根据科室删除', null);
+INSERT INTO `sys_permission` VALUES ('140', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-查体模板维护-获取未维护的科室(新增)', '/deptVital/getDeptShortList_create', 'ALL', '医学数据维护-查体模板维护-获取未维护的科室(新增)', null);
+INSERT INTO `sys_permission` VALUES ('141', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-查体模板维护-获取未维护的科室(修改)', '/deptVital/getDeptShortList_modify', 'ALL', '医学数据维护-查体模板维护-获取未维护的科室(修改)', null);
+INSERT INTO `sys_permission` VALUES ('142', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-查体模板维护-根据科室获取查体模板', '/deptVital/getModuleByDeptId', 'ALL', '医学数据维护-查体模板维护-根据科室获取查体模板', null);
+INSERT INTO `sys_permission` VALUES ('161', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-版本信息-根据版本id获取版本详情信息', '/versionDetail/getDetailById', 'ALL', '医学数据维护-版本信息-根据版本id获取版本详情信息', null);
+INSERT INTO `sys_permission` VALUES ('162', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语命名维护-获取所有医学术语命名', '/concept/getAllConcept', 'ALL', '医学术语库维护-医学术语命名维护-获取所有医学术语命名', null);
+INSERT INTO `sys_permission` VALUES ('163', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语命名维护-获取医学术语命名列表', '/concept/getAllInformation', 'ALL', '医学术语库维护-医学术语命名维护-获取医学术语命名列表', null);
+INSERT INTO `sys_permission` VALUES ('164', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语命名维护-医学术语命名删除', '/concept/removeConceptInfo', 'ALL', '医学术语库维护-医学术语命名维护-医学术语命名删除', null);
+INSERT INTO `sys_permission` VALUES ('165', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语命名维护-获取医学术语命名详情', '/concept/getConceptInfoDetail', 'ALL', '医学术语库维护-医学术语命名维护-获取医学术语命名详情', null);
+INSERT INTO `sys_permission` VALUES ('166', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-术语医学属性维护-获取术语医学属性列表', '/medical/getMedicalInfoList', 'ALL', '医学术语库维护-术语医学属性维护-获取术语医学属性列表', null);
+INSERT INTO `sys_permission` VALUES ('167', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-术语医学属性维护-获取术语医学属性详情', '/medical/getMedicalInfoDetail', 'ALL', '医学术语库维护-术语医学属性维护-获取术语医学属性详情', null);
+INSERT INTO `sys_permission` VALUES ('168', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-术语医学属性维护-术语医学属性添加或者编辑', '/medical/addMedicalInfo', 'ALL', '医学术语库维护-术语医学属性维护-术语医学属性添加或者编辑', null);
+INSERT INTO `sys_permission` VALUES ('169', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-术语医学属性维护-术语医学属性删除', '/medical/removeMedicalInfo', 'ALL', '医学术语库维护-术语医学属性维护-术语医学属性删除', null);
+INSERT INTO `sys_permission` VALUES ('170', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语关系维护-获取医学术语关系列表', '/relation/getRelationInfoList', 'ALL', '医学术语库维护-医学术语关系维护-获取医学术语关系列表', null);
+INSERT INTO `sys_permission` VALUES ('171', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语关系维护-医学术语关系删除', '/relation/removeRelationInfo', 'ALL', '医学术语库维护-医学术语关系维护-医学术语关系删除', null);
+INSERT INTO `sys_permission` VALUES ('172', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语关系维护-获取医学术语关系详情', '/relation/getRelationInfoDetail', 'ALL', '医学术语库维护-医学术语关系维护-获取医学术语关系详情', null);
+INSERT INTO `sys_permission` VALUES ('173', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语静态知识维护-获取医学术语静态知识列表', '/conceptDetail//page', 'ALL', '医学术语库维护-医学术语静态知识维护-获取医学术语静态知识列表', null);
+INSERT INTO `sys_permission` VALUES ('174', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语静态知识维护-医学术语静态知识删除', '/conceptDetail/delete', 'ALL', '医学术语库维护-医学术语静态知识维护-医学术语静态知识删除', null);
+INSERT INTO `sys_permission` VALUES ('175', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语静态知识维护-获取医学术语静态知识详情', '/conceptDetail/getByConceptId', 'ALL', '医学术语库维护-医学术语静态知识维护-获取医学术语静态知识详情', null);
+INSERT INTO `sys_permission` VALUES ('176', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语静态知识维护-医学术语静态知识添加或者编辑', '/conceptDetail/insertOrUpdate', 'ALL', '医学术语库维护-医学术语静态知识维护-医学术语静态知识添加或者编辑', null);
+INSERT INTO `sys_permission` VALUES ('177', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-别名维护-标签搜索', '/questionInfo/indexRev', 'ALL', '医学数据维护-别名维护-标签搜索', null);
+INSERT INTO `sys_permission` VALUES ('178', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-化验大小项与公表项对应维护-分页列表', '/lisMapping/getLisMappingPage', 'ALL', '医学数据维护-化验大小项与公表项对应维护-分页列表', null);
+INSERT INTO `sys_permission` VALUES ('179', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-化验大小项与公表项对应维护-保存', '/lisMapping/saveLisMapping', 'ALL', '医学数据维护-化验大小项与公表项对应维护-新增', null);
+INSERT INTO `sys_permission` VALUES ('180', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-化验大小项与公表项对应维护-是否已存在', '/lisMapping/hasLisMapping', 'ALL', '医学数据维护-化验大小项与公表项对应维护-修改', null);
+INSERT INTO `sys_permission` VALUES ('181', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-化验大小项与公表项对应维护-删除(单条)', '/lisMapping/delLisMappingById', 'ALL', '医学数据维护-化验大小项与公表项对应维护-删除(单条)', null);
+INSERT INTO `sys_permission` VALUES ('182', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-化验大小项与公表项对应维护-删除(批量)', '/lisMapping/delLisMappingByIds', 'ALL', '医学数据维护-化验大小项与公表项对应维护-删除(批量)', null);
+INSERT INTO `sys_permission` VALUES ('183', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-获取模板type', '/moduleInfo/getModuleType', 'ALL', '医学数据维护-获取模板type', null);
+INSERT INTO `sys_permission` VALUES ('184', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-慢病评估维护-分页模糊查询标签组维护接口', '/evaluation/queryEvaluationModulePages', 'ALL', '医学数据维护-慢病评估维护-分页模糊查询标签组维护接口', null);
+INSERT INTO `sys_permission` VALUES ('185', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-慢病评估维护-获取慢病标签组维护', '/evaluation/getEvaluationModuleLists', 'ALL', '医学数据维护-慢病评估维护-获取慢病标签组维护', null);
+INSERT INTO `sys_permission` VALUES ('186', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-慢病评估维护-慢病评估维护——修改管理评估', '/evaluation/updateEvaluationModuleLists', 'ALL', '医学数据维护-慢病评估维护-慢病评估维护——修改管理评估', null);
+INSERT INTO `sys_permission` VALUES ('187', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-慢病评估维护-慢病评估维护——添加管理评估', '/evaluation/saveEvaluationModuleLists', 'ALL', '医学数据维护-慢病评估维护-慢病评估维护——添加管理评估', null);
+INSERT INTO `sys_permission` VALUES ('188', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-慢病评估维护-删除慢病标签组维护', '/evaluation/cancelEvaluationModuleAlls', 'ALL', '医学数据维护-慢病评估维护-删除慢病标签组维护', null);
+INSERT INTO `sys_permission` VALUES ('189', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-慢病指标值关联维护-分页模糊查询慢病指标值关联维护', '/indexConfig/queryIndexConfigPages', 'ALL', '医学数据维护-慢病指标值关联维护-分页模糊查询慢病指标值关联维护', null);
+INSERT INTO `sys_permission` VALUES ('190', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-慢病指标值关联维护-获取慢病指标值关联维护', '/indexConfig/getIndexConfigLists', 'ALL', '医学数据维护-慢病指标值关联维护-获取慢病指标值关联维护', null);
+INSERT INTO `sys_permission` VALUES ('191', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-慢病指标值关联维护-慢病指标值关联维护——修改关联', '/indexConfig/updateIndexConfigList', 'ALL', '医学数据维护-慢病指标值关联维护-慢病指标值关联维护——修改关联', null);
+INSERT INTO `sys_permission` VALUES ('192', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-慢病指标值关联维护-慢病指标值关联维护——添加关联', '/indexConfig/saveIndexConfigLists', 'ALL', '医学数据维护-慢病指标值关联维护-慢病指标值关联维护——添加关联', null);
+INSERT INTO `sys_permission` VALUES ('193', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-慢病指标值关联维护-删除慢病指标值关联维护', '/indexConfig/cancelIndexConfigAlls', 'ALL', '医学数据维护-慢病指标值关联维护-删除慢病指标值关联维护', null);
+INSERT INTO `sys_permission` VALUES ('198', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-独立标签维护-获取特殊标签(同伴|无)', '/questionInfo/getSpecial', 'ALL', '医学数据维护-独立标签维护-获取特殊标签(同伴|无)', null);
+INSERT INTO `sys_permission` VALUES ('199', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-独立标签维护-根据id返回内容', '/questionInfo/getById', 'ALL', '医学数据维护-独立标签维护-根据id返回内容', null);
+INSERT INTO `sys_permission` VALUES ('200', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-独立标签维护-根据多个id返回内容', '/questionInfo/getByIds', 'ALL', '医学数据维护-独立标签维护-根据多个id返回内容', null);
+INSERT INTO `sys_permission` VALUES ('201', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-独立标签维护-检索', '/questionInfo/index', 'ALL', '医学数据维护-独立标签维护-检索', null);
+INSERT INTO `sys_permission` VALUES ('209', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-术语医学属性维护-术语医学属性excel文件导入', '/medical/medicalInfoExcelIm', 'ALL', '医学术语库维护-术语医学属性维护-术语医学属性excel文件导入', null);
+INSERT INTO `sys_permission` VALUES ('210', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语关系维护-医学术语关系添加或者编辑', '/relation/addRelationInfo', 'ALL', '医学术语库维护-医学术语关系维护-医学术语关系添加或者编辑', null);
+INSERT INTO `sys_permission` VALUES ('211', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语关系维护-医学术语关系excel文件导入', '/relation/relationInfoExcelIm', 'ALL', '医学术语库维护-医学术语关系维护-医学术语关系excel文件导入', null);
+INSERT INTO `sys_permission` VALUES ('213', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语命名维护-医学术语命名添加或者编辑', '/concept/addConceptInfo', 'ALL', '医学术语库维护-医学术语命名维护-医学术语命名添加或者编辑', null);
+INSERT INTO `sys_permission` VALUES ('214', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语命名维护-医学术语命名excel文件导入', '/concept/conceptInfoExcelIm', 'ALL', '医学术语库维护-医学术语命名维护-医学术语命名excel文件导入', null);
+INSERT INTO `sys_permission` VALUES ('215', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语类型维护-获取所有术语类型', '/lexicon/getAllLexicon', 'ALL', '医学术语库维护-医学术语类型维护-获取所有术语类型', null);
+INSERT INTO `sys_permission` VALUES ('216', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语类型维护-获取术语类型列表', '/lexicon/getLexiconList', 'ALL', '医学术语库维护-医学术语类型维护-获取术语类型列表', null);
+INSERT INTO `sys_permission` VALUES ('217', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语类型维护-术语类型添加', '/lexicon/addLexicon', 'ALL', '医学术语库维护-医学术语类型维护-术语类型添加', null);
+INSERT INTO `sys_permission` VALUES ('218', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语关系维护-获取所有关系类型', '/lexiconRelationship/getAllLexiconRelationship', 'ALL', '医学术语库维护-医学术语关系维护-获取所有关系类型', null);
+INSERT INTO `sys_permission` VALUES ('219', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-术语医学属性维护-获取所有部位', '/bodypart/getAllBodypart', 'ALL', '医学术语库维护-术语医学属性维护-获取所有部位', null);
+INSERT INTO `sys_permission` VALUES ('220', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-术语医学属性维护-获取术语医学属性所需全部科室', '/medical/getAllDepts', 'ALL', '医学术语库维护-术语医学属性维护-获取术语医学属性所需全部科室', null);
+INSERT INTO `sys_permission` VALUES ('221', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-量表结构维护-新增|修改', '/scaleContent/insertOrUpdate', 'ALL', '医学术语库维护-量表结构维护-新增|修改', null);
+INSERT INTO `sys_permission` VALUES ('222', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-量表结构维护-分页列表', '/scaleContent/page', 'ALL', '医学术语库维护-量表结构维护-分页列表', null);
+INSERT INTO `sys_permission` VALUES ('223', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语命名维护-获取所有化验公表项', '/concept/getAllLisConcept', 'ALL', '医学术语库维护-医学术语命名维护-获取所有化验公表项', null);
+INSERT INTO `sys_permission` VALUES ('224', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-量表结构维护-删除|恢复', '/scaleContent/delete', 'ALL', '医学术语库维护-量表结构维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('225', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-量表结构维护-根据id返回内容', '/scaleContent/getByConceptId', 'ALL', '医学术语库维护-量表结构维护-根据id返回内容', null);
+INSERT INTO `sys_permission` VALUES ('227', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-量表结构维护-检索', '/scaleContent/index', 'ALL', '医学术语库维护-量表结构维护-检索', null);
+INSERT INTO `sys_permission` VALUES ('228', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-获取所有科室和疾病信息', '/moduleInfo/getAllDeptAndDisInfo', 'ALL', '医学数据维护-获取所有科室和疾病信息', null);
+INSERT INTO `sys_permission` VALUES ('229', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-慢病指标值关联维护-慢病指标疾病标签查询', '/indexConfig/queryIndexConfigDiseaseNames', 'ALL', '医学数据维护-慢病指标值关联维护-慢病指标疾病标签查询', null);
+INSERT INTO `sys_permission` VALUES ('230', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-慢病评估维护-慢病疾病标签查询', '/evaluation/queryEvaluationDiseaseNames', 'ALL', '医学数据维护-慢病评估维护-慢病疾病标签查询', null);
+INSERT INTO `sys_permission` VALUES ('231', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-标签组维护-子标签检索', '/questionInfo/indexSub', 'ALL', '医学数据维护-标签组维护-子标签检索', null);
+INSERT INTO `sys_permission` VALUES ('232', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-模板维护-获取标签和模板关联信息(删除标签时校验用)', '/moduleInfo/getQuestiongAndModuleRelations', 'ALL', '医学数据维护-模板维护-获取标签和模板关联信息(删除标签时校验用)', null);
+INSERT INTO `sys_permission` VALUES ('233', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-查体模板维护-查询科室下拉列表(查询页面)', '/deptVital/getDeptShortList_Searh', 'ALL', '医学数据维护-查体模板维护-查询科室下拉列表(查询页面)', null);
+INSERT INTO `sys_permission` VALUES ('234', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语命名维护-获取所有概念(术语关系维护时筛选使用)', '/concept/getAllForRelation', 'ALL', '医学术语库维护-医学术语命名维护-获取所有概念(术语关系维护时筛选使用)', null);
+INSERT INTO `sys_permission` VALUES ('235', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-化验子项维护-列表', '/lisSonContact/lisSonContactList', 'ALL', '医学术语库维护-化验子项维护-列表', null);
+INSERT INTO `sys_permission` VALUES ('236', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-化验子项维护-添加或者编辑', '/lisSonContact/addRelation', 'ALL', '医学术语库维护-化验子项维护-添加或者编辑', null);
+INSERT INTO `sys_permission` VALUES ('237', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-化验子项维护-详情', '/lisSonContact/relationContactDetail', 'ALL', '医学术语库维护-化验子项维护-详情', null);
+INSERT INTO `sys_permission` VALUES ('238', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-化验子项维护-删除或者恢复', '/lisSonContact/removeRelationContact', 'ALL', '医学术语库维护-化验子项维护-删除或者恢复', null);
+INSERT INTO `sys_permission` VALUES ('239', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语关联维护-列表', '/relationContact/relationContactList', 'ALL', '医学术语库维护-医学术语关联维护-列表', null);
+INSERT INTO `sys_permission` VALUES ('240', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语关联维护-添加或者编辑', '/relationContact/addRelation', 'ALL', '医学术语库维护-医学术语关联维护-添加或者编辑', null);
+INSERT INTO `sys_permission` VALUES ('241', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语关联维护-详情', '/relationContact/relationContactDetail', 'ALL', '医学术语库维护-医学术语关联维护-详情', null);
+INSERT INTO `sys_permission` VALUES ('242', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语关联维护-删除或者恢复', '/relationContact/removeRelationContact', 'ALL', '医学术语库维护-医学术语关联维护-删除或者恢复', null);
+INSERT INTO `sys_permission` VALUES ('243', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语多层关联维护-列表', '/multContact/multContactList', 'ALL', '医学术语库维护-医学术语多层关联维护-列表', null);
+INSERT INTO `sys_permission` VALUES ('244', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语多层关联维护-添加或者编辑', '/multContact/addRelation', 'ALL', '医学术语库维护-医学术语多层关联维护-添加或者编辑', null);
+INSERT INTO `sys_permission` VALUES ('245', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语多层关联维护-详情', '/multContact/relationContactDetail', 'ALL', '医学术语库维护-医学术语多层关联维护-详情', null);
+INSERT INTO `sys_permission` VALUES ('246', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语多层关联维护-删除或者恢复', '/multContact/removeRelationContact', 'ALL', '医学术语库维护-医学术语多层关联维护-删除或者恢复', null);
+INSERT INTO `sys_permission` VALUES ('247', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-医学术语静态知识维护-内容检索', '/conceptDetail/index', 'ALL', '医学术语库维护-医学术语静态知识维护-内容检索', null);
+INSERT INTO `sys_permission` VALUES ('248', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-标签组维护-新增|修改', '/questionInfo_prec/saveOrUpdate', 'ALL', '预问诊数据维护-标签组维护-新增|修改', null);
+INSERT INTO `sys_permission` VALUES ('249', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-标签组维护-删除', '/questionInfo_prec/delete', 'ALL', '预问诊数据维护-标签组维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('250', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-标签组维护-分页列表', '/questionInfo_prec/page', 'ALL', '预问诊数据维护-标签组维护-分页列表', null);
+INSERT INTO `sys_permission` VALUES ('251', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-标签组维护-检索', '/questionInfo_prec/index', 'ALL', '预问诊数据维护-标签组维护-检索', null);
+INSERT INTO `sys_permission` VALUES ('252', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-标签组维护-根据id返回内容', '/questionInfo_prec/getById', 'ALL', '预问诊数据维护-标签组维护-根据id返回内容', null);
+INSERT INTO `sys_permission` VALUES ('253', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-标签组维护-根据多个id返回内容', '/questionInfo_prec/getByIds', 'ALL', '预问诊数据维护-标签组维护-根据多个id返回内容', null);
+INSERT INTO `sys_permission` VALUES ('254', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-独立填写单维护-新增|修改', '/questionInfo_prec/saveOrUpdate', 'ALL', '预问诊数据维护-独立填写单维护-新增|修改', null);
+INSERT INTO `sys_permission` VALUES ('255', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-独立填写单维护-删除', '/questionInfo_prec/delete', 'ALL', '预问诊数据维护-独立填写单维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('256', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-独立填写单维护-分页列表', '/questionInfo_prec/page', 'ALL', '预问诊数据维护-独立填写单维护-分页列表', null);
+INSERT INTO `sys_permission` VALUES ('257', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-独立填写单维护-检索', '/questionInfo_prec/index', 'ALL', '预问诊数据维护-独立填写单维护-检索', null);
+INSERT INTO `sys_permission` VALUES ('258', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-独立填写单维护-根据id返回内容', '/questionInfo_prec/getById', 'ALL', '预问诊数据维护-独立填写单维护-根据id返回内容', null);
+INSERT INTO `sys_permission` VALUES ('259', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-独立填写单维护-根据多个id返回内容', '/questionInfo_prec/getByIds', 'ALL', '预问诊数据维护-独立填写单维护-根据多个id返回内容', null);
+INSERT INTO `sys_permission` VALUES ('260', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-模板维护-模板新增', '/moduleInfo_prec/saveOrUpdateModuleInfo', 'ALL', '预问诊数据维护-模板维护-模板新增', null);
+INSERT INTO `sys_permission` VALUES ('262', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-模板维护-模板删除', '/moduleInfo_prec/delete', 'ALL', '预问诊数据维护-模板维护-模板删除', null);
+INSERT INTO `sys_permission` VALUES ('263', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-模板维护-获取模板列表', '/moduleInfo_prec/getModuleInfoList', 'ALL', '预问诊数据维护-模板维护-获取模板列表', null);
+INSERT INTO `sys_permission` VALUES ('264', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-模板维护-修改时获取已经添加过的标签', '/moduleInfo_prec/getModuleDetailInfo', 'ALL', '预问诊数据维护-模板维护-修改时获取已经添加过的标签', null);
+INSERT INTO `sys_permission` VALUES ('265', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-模板维护-获取单个模板(修改用)', '/moduleInfo_prec/getModuleInfoOne', 'ALL', '预问诊数据维护-模板维护-获取单个模板(修改用)', null);
+INSERT INTO `sys_permission` VALUES ('266', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-模板维护-获取模板类型(修改时取类型)', '/moduleInfo_prec/getModuleType', 'ALL', '预问诊数据维护-模板维护-获取模板类型(修改时取类型)', null);
+INSERT INTO `sys_permission` VALUES ('267', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-模板维护-获取所有科室信息(主页下拉用)', '/moduleInfo_prec/getAllDeptAndDisInfo', 'ALL', '预问诊数据维护-模板维护-获取所有科室信息(主页下拉用)', null);
+INSERT INTO `sys_permission` VALUES ('268', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护-模板维护-获取标签和模板关联信息', '/moduleInfo_prec/getQuestiongAndModuleRelations', 'ALL', '预问诊数据维护-模板维护-获取标签和模板关联信息', null);
+INSERT INTO `sys_permission` VALUES ('269', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护-导出诊断依据问题词', '/diagnose/exportDiagnosticBasis', 'ALL', '医学数据维护-导出诊断依据问题词', null);
+INSERT INTO `sys_permission` VALUES ('270', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护-导出诊断依据', '/diagnose/exportDiagnosticAll', 'ALL', '医学数据维护-导出诊断依据', null);
+INSERT INTO `sys_permission` VALUES ('271', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护-诊断依据问题词数据维护-分页查询', '/diagnoseQuestion/queryQuestionPage', 'ALL', '医学数据维护-诊断依据问题词数据维护-分页查询', null);
+INSERT INTO `sys_permission` VALUES ('272', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护-诊断依据数据维护-分页', '/diagnose/page', 'ALL', '诊断依据维护-诊断依据数据维护-分页', null);
+INSERT INTO `sys_permission` VALUES ('273', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护-诊断依据数据维护-删除', '/diagnose/delete', 'ALL', '诊断依据维护-诊断依据数据维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('274', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护-诊断依据数据维护-诊断检索', '/diagnose/index', 'ALL', '诊断依据维护-诊断依据数据维护-诊断检索', null);
+INSERT INTO `sys_permission` VALUES ('275', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护-诊断依据数据维护-校验数据', '/diagnose/verifyData', 'ALL', '诊断依据维护-诊断依据数据维护-校验数据', null);
+INSERT INTO `sys_permission` VALUES ('276', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护-诊断依据数据维护-校验所有数据', '/diagnose/verifyAllData', 'ALL', '诊断依据维护-诊断依据数据维护-校验所有数据', null);
+INSERT INTO `sys_permission` VALUES ('277', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护-诊断依据数据维护-更新图谱', '/diagnose/updateNeo', 'ALL', '诊断依据维护-诊断依据数据维护-更新图谱', null);
+INSERT INTO `sys_permission` VALUES ('278', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护-诊断依据数据维护-获取详情', '/diagnose/getDetail', 'ALL', '诊断依据维护-诊断依据数据维护-获取详情', null);
+
+-- ----------------------------
+-- Table structure for sys_role
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_role`;
+CREATE TABLE `sys_role` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色ID',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `name` varchar(255) NOT NULL DEFAULT '' COMMENT '角色名称',
+  `roleLevel` int(11) NOT NULL DEFAULT '0' COMMENT '角色等级',
+  `descritpion` varchar(255) NOT NULL DEFAULT '' COMMENT '角色描述',
+  `menuItems` varchar(255) NOT NULL DEFAULT '' COMMENT '菜单ID:对应角色ID',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='系统角色表';
+
+-- ----------------------------
+-- Records of sys_role
+-- ----------------------------
+INSERT INTO `sys_role` VALUES ('1', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '普通用户', '0', '', '', '');
+INSERT INTO `sys_role` VALUES ('2', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '管理员', '0', '', '', '');
+INSERT INTO `sys_role` VALUES ('3', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护人员', '0', '', '', '');
+INSERT INTO `sys_role` VALUES ('4', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护人员', '0', '', '', '');
+INSERT INTO `sys_role` VALUES ('5', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护', '0', '', '', null);
+INSERT INTO `sys_role` VALUES ('6', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护', '0', '', '', null);
+
+-- ----------------------------
+-- 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) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `role_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '角色id',
+  `menu_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '菜单id',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8 COMMENT='角色和菜单的映射表';
+
+-- ----------------------------
+-- 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', '朗通-医学数据维护');
+INSERT INTO `sys_role_menu` VALUES ('24', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '24', '朗通-医学数据维护-标签组维护');
+INSERT INTO `sys_role_menu` VALUES ('25', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '25', '朗通-医学数据维护-独立类型标签维护');
+INSERT INTO `sys_role_menu` VALUES ('27', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '27', '朗通-医学数据维护-别名维护');
+INSERT INTO `sys_role_menu` VALUES ('28', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '28', '朗通-医学数据维护-模版维护');
+INSERT INTO `sys_role_menu` VALUES ('29', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '29', '朗通-医学数据维护-查体模版维护');
+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科室维护');
+INSERT INTO `sys_role_menu` VALUES ('31', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '31', '朗通-医学数据维护-常见选项维护');
+INSERT INTO `sys_role_menu` VALUES ('32', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '32', '朗通-医学数据维护-提示信息维护');
+INSERT INTO `sys_role_menu` VALUES ('33', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '33', '朗通-医学数据维护-免责声明维护');
+INSERT INTO `sys_role_menu` VALUES ('34', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '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', '朗通-医学数据维护-查体模板维护');
+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', '3', '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', '朗通-医学数据维护-慢病管理与评估维护');
+INSERT INTO `sys_role_menu` VALUES ('46', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '45', '朗通-医学数据维护-慢病指标值关联维护');
+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', '朗通-诊断依据维护-问题词数据维护');
+
+-- ----------------------------
+-- Table structure for sys_role_permission
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_role_permission`;
+CREATE TABLE `sys_role_permission` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `role_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '角色id',
+  `permission_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '资源id',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=294 DEFAULT CHARSET=utf8 COMMENT='角色和资源的映射表';
+
+-- ----------------------------
+-- Records of sys_role_permission
+-- ----------------------------
+INSERT INTO `sys_role_permission` VALUES ('26', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '15', '用户-机构中心-已开通产品-关联产品与用户服务端');
+INSERT INTO `sys_role_permission` VALUES ('27', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '16', '用户-机构中心-已开通产品-删除产品与用户服务端的关联');
+INSERT INTO `sys_role_permission` VALUES ('28', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '17', '用户-机构中心-已开通产品-获取当前登录用户产品服务分页列表');
+INSERT INTO `sys_role_permission` VALUES ('29', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '24', '用户-机构中心-管理服务端-新增服务端');
+INSERT INTO `sys_role_permission` VALUES ('30', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '25', '用户-机构中心-管理服务端-修改服务端');
+INSERT INTO `sys_role_permission` VALUES ('31', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '26', '用户-机构中心-管理服务端-获取当前登录用户的服务列表');
+INSERT INTO `sys_role_permission` VALUES ('32', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '27', '用户-机构中心-管理服务端-获取当前登录用户的服务分页列表');
+INSERT INTO `sys_role_permission` VALUES ('33', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '9', '用户-机构中心-账户信息-获取当前用户信息');
+INSERT INTO `sys_role_permission` VALUES ('34', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '10', '用户-机构中心-账户信息-用户认证');
+INSERT INTO `sys_role_permission` VALUES ('35', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '11', '用户-机构中心-账户信息-获取当前用户认证状态');
+INSERT INTO `sys_role_permission` VALUES ('36', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '33', '用户-机构中心-已经生成令牌-生成令牌');
+INSERT INTO `sys_role_permission` VALUES ('37', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '34', '用户-机构中心-已经生成令牌-禁用令牌');
+INSERT INTO `sys_role_permission` VALUES ('38', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '35', '用户-机构中心-已经生成令牌-启用令牌');
+INSERT INTO `sys_role_permission` VALUES ('39', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '36', '用户-机构中心-已经生成令牌-删除令牌');
+INSERT INTO `sys_role_permission` VALUES ('40', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '39', '用户-控制台-账号认证进度');
+INSERT INTO `sys_role_permission` VALUES ('41', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '40', '用户-控制台-产品认证进度');
+INSERT INTO `sys_role_permission` VALUES ('42', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '41', '用户-控制台-已开通产品');
+INSERT INTO `sys_role_permission` VALUES ('43', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '42', '用户-控制台-可试用产品');
+INSERT INTO `sys_role_permission` VALUES ('44', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '43', '用户-控制台-产品立即试用接口');
+INSERT INTO `sys_role_permission` VALUES ('45', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '44', '用户-控制台-可展示的选项卡');
+INSERT INTO `sys_role_permission` VALUES ('46', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '45', '用户-控制台-账户信息');
+INSERT INTO `sys_role_permission` VALUES ('47', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '51', '用户-更多服务-显示产品');
+INSERT INTO `sys_role_permission` VALUES ('48', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '52', '用户-更多服务-开通产品');
+INSERT INTO `sys_role_permission` VALUES ('49', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '8', '朗通-客户中心-获取用户信息列表');
+INSERT INTO `sys_role_permission` VALUES ('50', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '12', '朗通-客户中心-修改用户和机构信息');
+INSERT INTO `sys_role_permission` VALUES ('51', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '14', '朗通-客户中心-根据用户Id删除');
+INSERT INTO `sys_role_permission` VALUES ('52', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '18', '朗通-客户中心-模糊查询机构信息');
+INSERT INTO `sys_role_permission` VALUES ('53', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '19', '朗通-客户中心-添加机构信息');
+INSERT INTO `sys_role_permission` VALUES ('54', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '20', '朗通-客户中心-添加用户信息和绑定机构');
+INSERT INTO `sys_role_permission` VALUES ('55', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '22', '朗通-客户中心-审核用户信息接口');
+INSERT INTO `sys_role_permission` VALUES ('56', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '31', '朗通-客户中心-根据用户id和产品id,修改开通时间');
+INSERT INTO `sys_role_permission` VALUES ('57', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '28', '朗通-客户中心-根据用户id查询已开通的功能');
+INSERT INTO `sys_role_permission` VALUES ('58', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '29', '朗通-客户中心-根据用户id和产品id,启用和停用功能');
+INSERT INTO `sys_role_permission` VALUES ('59', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '30', '朗通-客户中心-根据用户id和产品id,删除开通信息');
+INSERT INTO `sys_role_permission` VALUES ('60', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '32', '朗通-客户中心-根据时间导出用户和机构信息');
+INSERT INTO `sys_role_permission` VALUES ('61', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '37', '朗通-控制台-待审核订单个数');
+INSERT INTO `sys_role_permission` VALUES ('62', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '38', '朗通-控制台-待认证账号数量');
+INSERT INTO `sys_role_permission` VALUES ('63', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '46', '朗通-客户中心-查询所有用户已开通的功能');
+INSERT INTO `sys_role_permission` VALUES ('64', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '47', '朗通-客户中心-查询用户信息和机构信息开通产品');
+INSERT INTO `sys_role_permission` VALUES ('65', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '48', '朗通-个人中心-修改密码');
+INSERT INTO `sys_role_permission` VALUES ('66', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '53', '朗通-产品线管理-添加产品');
+INSERT INTO `sys_role_permission` VALUES ('69', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '21', '用户-机构中心-已开通产品-查询当前登录用户已开通产品列表');
+INSERT INTO `sys_role_permission` VALUES ('70', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '54', '用户-机构中心-管理服务端-删除服务端');
+INSERT INTO `sys_role_permission` VALUES ('72', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '55', '朗通-产品线管理-查询');
+INSERT INTO `sys_role_permission` VALUES ('73', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '56', '朗通-产品线管理-修改');
+INSERT INTO `sys_role_permission` VALUES ('74', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '57', '朗通-产品线管理-(启用/禁用)');
+INSERT INTO `sys_role_permission` VALUES ('75', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '58', '朗通-产品线管理-删除');
+INSERT INTO `sys_role_permission` VALUES ('76', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '59', '朗通-产品线管理-详情');
+INSERT INTO `sys_role_permission` VALUES ('77', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '60', '朗通-产品申请-显示所有订单明细');
+INSERT INTO `sys_role_permission` VALUES ('78', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '61', '朗通-产品申请-审核');
+INSERT INTO `sys_role_permission` VALUES ('79', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '62', '朗通-产品申请-显示所有订单');
+INSERT INTO `sys_role_permission` VALUES ('80', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '63', '朗通-默认-获取用户、机构、菜单信息');
+INSERT INTO `sys_role_permission` VALUES ('81', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '63', '用户-默认-获取用户、机构、菜单信息');
+INSERT INTO `sys_role_permission` VALUES ('82', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '64', '朗通-客户中心-分页查询注册用户信息接口');
+INSERT INTO `sys_role_permission` VALUES ('83', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '65', '朗通-客户中心-分页查询机构信息接口');
+INSERT INTO `sys_role_permission` VALUES ('84', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '66', '朗通-客户中心-分页查询已认证用户信息和机构信息及开通产品接口');
+INSERT INTO `sys_role_permission` VALUES ('85', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '67', '朗通-客户中心-分页查询认证中的用户信息接口');
+INSERT INTO `sys_role_permission` VALUES ('86', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '68', '导出产品申请相关信息');
+INSERT INTO `sys_role_permission` VALUES ('87', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '69', '朗通-个人中心-获取个人信息');
+INSERT INTO `sys_role_permission` VALUES ('88', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '70', '朗通-个人中心-修改个人信息');
+INSERT INTO `sys_role_permission` VALUES ('89', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '71', '客户中心-导出用户信息');
+INSERT INTO `sys_role_permission` VALUES ('90', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '72', '客户中心-导出机构信息');
+INSERT INTO `sys_role_permission` VALUES ('91', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '73', '客户中心-导出认证中用户的信息:');
+INSERT INTO `sys_role_permission` VALUES ('92', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '74', '客户中心-导出已认证用户的信息');
+INSERT INTO `sys_role_permission` VALUES ('93', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '75', '用户更多服务-产品续费');
+INSERT INTO `sys_role_permission` VALUES ('94', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '76', '客户中心-超管修改用户信息接口');
+INSERT INTO `sys_role_permission` VALUES ('95', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '77', '客户中心-超管修改机构信息接口');
+INSERT INTO `sys_role_permission` VALUES ('96', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '78', '续费管理-显示');
+INSERT INTO `sys_role_permission` VALUES ('97', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '79', '用户-机构中心-已经生成令牌-获取令牌');
+INSERT INTO `sys_role_permission` VALUES ('98', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '80', '续费管理-显示');
+INSERT INTO `sys_role_permission` VALUES ('99', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '81', '续费管理-续费');
+INSERT INTO `sys_role_permission` VALUES ('100', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '82', '续费管理-取消续费');
+INSERT INTO `sys_role_permission` VALUES ('101', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '83', '客户中心-认证用户信息和机构信息不通过接口(新)');
+INSERT INTO `sys_role_permission` VALUES ('102', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '2', '84', '客户中心-认证用户信息和机构信息通过接口(新)');
+INSERT INTO `sys_role_permission` VALUES ('103', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1', '87', '客户中心-已开通产品状态校验');
+INSERT INTO `sys_role_permission` VALUES ('104', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '88', '医学数据维护-独立标签维护-新增|修改');
+INSERT INTO `sys_role_permission` VALUES ('105', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '89', '医学数据维护-独立标签维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('106', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '90', '医学数据维护-独立标签维护-分页列表');
+INSERT INTO `sys_role_permission` VALUES ('107', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '91', '医学数据维护-标签组维护-新增|修改');
+INSERT INTO `sys_role_permission` VALUES ('108', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '92', '医学数据维护-标签组维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('109', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '93', '医学数据维护-标签组维护-分页列表');
+INSERT INTO `sys_role_permission` VALUES ('110', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '94', '医学数据维护-标签组维护-获取特殊标签(同伴|无)');
+INSERT INTO `sys_role_permission` VALUES ('111', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '95', '医学数据维护-标签组维护-根据id返回内容');
+INSERT INTO `sys_role_permission` VALUES ('112', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '96', '医学数据维护-标签组维护-根据多个id返回内容');
+INSERT INTO `sys_role_permission` VALUES ('113', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '98', '医学数据维护-标签组维护-检索');
+INSERT INTO `sys_role_permission` VALUES ('114', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '99', '医学数据维护-科室维护-修改');
+INSERT INTO `sys_role_permission` VALUES ('115', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '100', '医学数据维护-科室维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('116', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '101', '医学数据维护-科室维护-查询');
+INSERT INTO `sys_role_permission` VALUES ('117', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '102', '医学数据维护-科室维护-详情');
+INSERT INTO `sys_role_permission` VALUES ('119', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '104', '医学数据维护-科室维护-添加');
+INSERT INTO `sys_role_permission` VALUES ('120', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '105', '医学数据维护-别名维护-新增|修改');
+INSERT INTO `sys_role_permission` VALUES ('121', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '106', '医学数据维护-别名维护-详情');
+INSERT INTO `sys_role_permission` VALUES ('122', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '107', '医学数据维护-别名维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('123', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '108', '医学数据维护-别名维护-导入');
+INSERT INTO `sys_role_permission` VALUES ('124', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '109', '医学数据维护-别名维护-列表');
+INSERT INTO `sys_role_permission` VALUES ('125', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '110', '医学数据维护-模板维护-添加');
+INSERT INTO `sys_role_permission` VALUES ('126', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '111', '医学数据维护-模板维护-修改');
+INSERT INTO `sys_role_permission` VALUES ('127', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '112', '医学数据维护-模板维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('128', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '113', '医学数据维护-模板维护-获取标签池信息');
+INSERT INTO `sys_role_permission` VALUES ('129', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '114', '医学数据维护-模板维护-获取子模板信息');
+INSERT INTO `sys_role_permission` VALUES ('130', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '115', '医学数据维护-模板维护-获取模板列表');
+INSERT INTO `sys_role_permission` VALUES ('131', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '116', '医学数据维护-模板维护-获取模板明细信息');
+INSERT INTO `sys_role_permission` VALUES ('132', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '117', '医学数据维护-模板维护-获取单个模板信息(修改用)');
+INSERT INTO `sys_role_permission` VALUES ('133', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '118', '医学数据维护-常用选项维护-添加和修改');
+INSERT INTO `sys_role_permission` VALUES ('134', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '119', '医学数据维护-常用选项维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('135', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '120', '医学数据维护-常用选项维护-获取科室名称');
+INSERT INTO `sys_role_permission` VALUES ('136', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '121', '医学数据维护-常用选项维护-获取标签信息');
+INSERT INTO `sys_role_permission` VALUES ('137', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '122', '医学数据维护-常用选项维护-根据科室获取常用标签信息(修改和详情用)');
+INSERT INTO `sys_role_permission` VALUES ('138', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '123', '医学数据维护-常用选项维护-获取科室信息(常见症状维护系统页面查询)');
+INSERT INTO `sys_role_permission` VALUES ('139', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '124', '医学数据维护-免责申明-获取免责申明详情');
+INSERT INTO `sys_role_permission` VALUES ('140', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '125', '医学数据维护-免责申明-增加免责申明详情');
+INSERT INTO `sys_role_permission` VALUES ('141', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '126', '医学数据维护-免责申明-修改免责申明详情');
+INSERT INTO `sys_role_permission` VALUES ('142', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '127', '医学数据维护-免责申明-删除免责申明详情');
+INSERT INTO `sys_role_permission` VALUES ('143', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '128', '医学数据维护-免责申明-启用免责申明详情');
+INSERT INTO `sys_role_permission` VALUES ('144', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '129', '医学数据维护-免责申明-停用免责申明详情');
+INSERT INTO `sys_role_permission` VALUES ('145', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '130', '医学数据维护-版本信息-获取版本信息');
+INSERT INTO `sys_role_permission` VALUES ('146', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '131', '医学数据维护-版本信息-保存版本信息');
+INSERT INTO `sys_role_permission` VALUES ('147', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '132', '医学数据维护-版本信息-更新版本信息');
+INSERT INTO `sys_role_permission` VALUES ('148', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '133', '医学数据维护-版本信息-删除版本信息');
+INSERT INTO `sys_role_permission` VALUES ('149', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '134', '医学数据维护-版本信息-更新版本详情信息');
+INSERT INTO `sys_role_permission` VALUES ('150', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '135', '医学数据维护-版本信息-删除版本详情信息');
+INSERT INTO `sys_role_permission` VALUES ('151', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '136', '医学数据维护-版本信息-增加版本详情信息');
+INSERT INTO `sys_role_permission` VALUES ('152', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '137', '医学数据维护-查体模板维护-查体模板列表');
+INSERT INTO `sys_role_permission` VALUES ('153', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '138', '医学数据维护-查体模板维护-保存');
+INSERT INTO `sys_role_permission` VALUES ('154', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '139', '医学数据维护-查体模板维护-根据科室删除');
+INSERT INTO `sys_role_permission` VALUES ('155', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '140', '医学数据维护-查体模板维护-获取未维护的科室(新增)');
+INSERT INTO `sys_role_permission` VALUES ('156', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '141', '医学数据维护-查体模板维护-获取未维护的科室(修改)');
+INSERT INTO `sys_role_permission` VALUES ('157', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '142', '医学数据维护-查体模板维护-根据科室获取查体模板');
+INSERT INTO `sys_role_permission` VALUES ('163', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '148', '医学数据维护-提示信息维护-保存');
+INSERT INTO `sys_role_permission` VALUES ('164', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '149', '医学数据维护-提示信息维护-删除(单条)');
+INSERT INTO `sys_role_permission` VALUES ('165', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '150', '医学数据维护-提示信息维护-删除(批量)');
+INSERT INTO `sys_role_permission` VALUES ('166', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '151', '医学数据维护-提示信息维护-提示信息列表');
+INSERT INTO `sys_role_permission` VALUES ('167', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '152', '医学数据维护-提示信息维护-根据id获取提示信息');
+INSERT INTO `sys_role_permission` VALUES ('168', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '153', '医学数据维护-提示信息维护-获取未关联标签列表');
+INSERT INTO `sys_role_permission` VALUES ('171', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '156', '医学数据维护-提示信息明细维护-删除(单条)');
+INSERT INTO `sys_role_permission` VALUES ('172', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '157', '医学数据维护-提示信息明细维护-删除(批量)');
+INSERT INTO `sys_role_permission` VALUES ('173', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '158', '医学数据维护-提示信息明细维护-根据id查询');
+INSERT INTO `sys_role_permission` VALUES ('174', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '159', '医学数据维护-提示信息明细维护-根据提示信息id查询');
+INSERT INTO `sys_role_permission` VALUES ('175', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '160', '医学数据维护-提示信息明细维护-保存');
+INSERT INTO `sys_role_permission` VALUES ('176', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '63', '朗通-默认-获取用户、机构、菜单信息');
+INSERT INTO `sys_role_permission` VALUES ('177', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '161', '医学数据维护-版本信息-根据版本id获取版本详情信息');
+INSERT INTO `sys_role_permission` VALUES ('178', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '162', '医学术语库维护-医学术语命名维护-获取所有医学术语命名');
+INSERT INTO `sys_role_permission` VALUES ('179', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '163', '医学术语库维护-医学术语命名维护-获取医学术语命名列表');
+INSERT INTO `sys_role_permission` VALUES ('180', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '164', '医学术语库维护-医学术语命名维护-医学术语命名删除');
+INSERT INTO `sys_role_permission` VALUES ('181', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '165', '医学术语库维护-医学术语命名维护-获取医学术语命名详情');
+INSERT INTO `sys_role_permission` VALUES ('182', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '166', '医学术语库维护-术语医学属性维护-获取术语医学属性列表');
+INSERT INTO `sys_role_permission` VALUES ('183', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '167', '医学术语库维护-术语医学属性维护-获取术语医学属性详情');
+INSERT INTO `sys_role_permission` VALUES ('184', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '168', '医学术语库维护-术语医学属性维护-术语医学属性添加或者编辑');
+INSERT INTO `sys_role_permission` VALUES ('185', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '169', '医学术语库维护-术语医学属性维护-术语医学属性删除');
+INSERT INTO `sys_role_permission` VALUES ('186', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '170', '医学术语库维护-医学术语关系维护-获取医学术语关系');
+INSERT INTO `sys_role_permission` VALUES ('187', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '171', '医学术语库维护-医学术语关系维护-保存医学术语关系');
+INSERT INTO `sys_role_permission` VALUES ('188', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '172', '医学术语库维护-医学术语关系维护-删除医学术语关系');
+INSERT INTO `sys_role_permission` VALUES ('189', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '173', '医学术语库维护-医学术语静态知识维护-获取医学术语静态知识列表');
+INSERT INTO `sys_role_permission` VALUES ('190', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '174', '医学术语库维护-医学术语静态知识维护-医学术语静态知识删除');
+INSERT INTO `sys_role_permission` VALUES ('191', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '175', '医学术语库维护-医学术语静态知识维护-获取医学术语静态知识详情');
+INSERT INTO `sys_role_permission` VALUES ('192', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '176', '医学术语库维护-医学术语静态知识维护-医学术语静态知识添加或者编辑');
+INSERT INTO `sys_role_permission` VALUES ('193', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '63', '朗通-默认-获取用户、机构、菜单信息');
+INSERT INTO `sys_role_permission` VALUES ('194', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '177', '医学数据维护-别名维护-标签搜索');
+INSERT INTO `sys_role_permission` VALUES ('195', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '178', '医学数据维护-化验大小项与公表项对应维护-分页列表');
+INSERT INTO `sys_role_permission` VALUES ('196', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '179', '医学数据维护-化验大小项与公表项对应维护-保存');
+INSERT INTO `sys_role_permission` VALUES ('197', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '180', '医学数据维护-化验大小项与公表项对应维护-是否已存在');
+INSERT INTO `sys_role_permission` VALUES ('198', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '181', '医学数据维护-化验大小项与公表项对应维护-删除(单条)');
+INSERT INTO `sys_role_permission` VALUES ('199', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '182', '医学数据维护-化验大小项与公表项对应维护-删除(批量)');
+INSERT INTO `sys_role_permission` VALUES ('200', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '183', '医学数据维护-获取模板type');
+INSERT INTO `sys_role_permission` VALUES ('201', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '184', '医学数据维护-慢病评估维护-分页模糊查询标签组维护接口 ');
+INSERT INTO `sys_role_permission` VALUES ('202', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '185', '医学数据维护-慢病评估维护-获取慢病标签组维护');
+INSERT INTO `sys_role_permission` VALUES ('203', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '186', '医学数据维护-慢病评估维护-慢病评估维护——修改管理评估');
+INSERT INTO `sys_role_permission` VALUES ('204', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '187', '医学数据维护-慢病评估维护-慢病评估维护——添加管理评估');
+INSERT INTO `sys_role_permission` VALUES ('205', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '188', '医学数据维护-慢病评估维护-删除慢病标签组维护');
+INSERT INTO `sys_role_permission` VALUES ('207', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '189', '医学数据维护-慢病指标值关联维护-分页模糊查询慢病指标值关联维护');
+INSERT INTO `sys_role_permission` VALUES ('208', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '190', '医学数据维护-慢病指标值关联维护-获取慢病指标值关联维护');
+INSERT INTO `sys_role_permission` VALUES ('209', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '191', '医学数据维护-慢病指标值关联维护-慢病指标值关联维护——修改关联');
+INSERT INTO `sys_role_permission` VALUES ('210', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '192', '医学数据维护-慢病指标值关联维护-慢病指标值关联维护——添加关联');
+INSERT INTO `sys_role_permission` VALUES ('211', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '193', '医学数据维护-慢病指标值关联维护-删除慢病指标值关联维护');
+INSERT INTO `sys_role_permission` VALUES ('215', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '198', '医学数据维护-独立标签维护-获取特殊标签(同伴|无)');
+INSERT INTO `sys_role_permission` VALUES ('216', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '199', '医学数据维护-独立标签维护-根据id返回内容');
+INSERT INTO `sys_role_permission` VALUES ('217', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '200', '医学数据维护-独立标签维护-根据多个id返回内容');
+INSERT INTO `sys_role_permission` VALUES ('218', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '201', '医学数据维护-独立标签维护-检索');
+INSERT INTO `sys_role_permission` VALUES ('225', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '209', '医学术语库维护-术语医学属性维护-术语医学属性excel文件导入');
+INSERT INTO `sys_role_permission` VALUES ('226', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '210', '医学术语库维护-医学术语关系维护-医学术语关系添加或者编辑');
+INSERT INTO `sys_role_permission` VALUES ('227', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '211', '医学术语库维护-医学术语关系维护-医学术语关系excel文件导入');
+INSERT INTO `sys_role_permission` VALUES ('228', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '213', '医学术语库维护-医学术语命名维护-医学术语命名添加或者编辑');
+INSERT INTO `sys_role_permission` VALUES ('229', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '214', '医学术语库维护-医学术语命名维护-医学术语命名excel文件导入');
+INSERT INTO `sys_role_permission` VALUES ('230', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '215', '医学术语库维护-医学术语类型维护-获取所有术语类型');
+INSERT INTO `sys_role_permission` VALUES ('231', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '216', '医学术语库维护-医学术语类型维护-获取术语类型列表');
+INSERT INTO `sys_role_permission` VALUES ('232', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '217', '医学术语库维护-医学术语类型维护-术语类型添加');
+INSERT INTO `sys_role_permission` VALUES ('233', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '218', '医学术语库维护-医学术语关系维护-获取所有关系类型');
+INSERT INTO `sys_role_permission` VALUES ('234', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '219', '医学术语库维护-术语医学属性维护-获取所有部位');
+INSERT INTO `sys_role_permission` VALUES ('235', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '220', '医学术语库维护-术语医学属性维护-获取术语医学属性所需全部科室');
+INSERT INTO `sys_role_permission` VALUES ('236', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '221', '医学术语库维护-量表结构维护-新增|修改');
+INSERT INTO `sys_role_permission` VALUES ('237', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '222', '医学术语库维护-量表结构维护-分页列表');
+INSERT INTO `sys_role_permission` VALUES ('238', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '223', '医学术语库维护-医学术语命名维护-获取所有化验公表项');
+INSERT INTO `sys_role_permission` VALUES ('239', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '224', '医学术语库维护-量表结构维护-删除|恢复');
+INSERT INTO `sys_role_permission` VALUES ('240', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '225', '医学术语库维护-量表结构维护-根据id返回内容');
+INSERT INTO `sys_role_permission` VALUES ('241', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '227', '医学术语库维护-量表结构维护-检索');
+INSERT INTO `sys_role_permission` VALUES ('243', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '228', '医学数据维护-模板维护-获取所有科室疾病信息');
+INSERT INTO `sys_role_permission` VALUES ('244', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '229', '医学数据维护-慢病指标值关联维护-慢病指标疾病标签查询');
+INSERT INTO `sys_role_permission` VALUES ('245', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '230', '医学数据维护-慢病评估维护-慢病疾病标签查询');
+INSERT INTO `sys_role_permission` VALUES ('246', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '231', '医学数据维护-标签组维护-子标签检索');
+INSERT INTO `sys_role_permission` VALUES ('247', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '232', '医学数据维护-模板维护-获取标签和模板关联信息(删除标签时校验用)');
+INSERT INTO `sys_role_permission` VALUES ('248', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '233', '医学数据维护-查体模板维护-查询科室下拉列表(查询页面)');
+INSERT INTO `sys_role_permission` VALUES ('249', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '234', '医学术语库维护-医学术语命名维护-获取所有概念(术语关系维护时筛选使用)');
+INSERT INTO `sys_role_permission` VALUES ('250', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '235', '医学术语库维护-化验子项维护-列表');
+INSERT INTO `sys_role_permission` VALUES ('251', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '236', '医学术语库维护-化验子项维护-添加或者编辑');
+INSERT INTO `sys_role_permission` VALUES ('252', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '237', '医学术语库维护-化验子项维护-详情');
+INSERT INTO `sys_role_permission` VALUES ('253', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '238', '医学术语库维护-化验子项维护-删除或者恢复');
+INSERT INTO `sys_role_permission` VALUES ('254', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '239', '医学术语库维护-医学术语关联维护-列表');
+INSERT INTO `sys_role_permission` VALUES ('255', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '240', '医学术语库维护-医学术语关联维护-添加或者编辑');
+INSERT INTO `sys_role_permission` VALUES ('256', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '241', '医学术语库维护-医学术语关联维护-详情');
+INSERT INTO `sys_role_permission` VALUES ('257', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '242', '医学术语库维护-医学术语关联维护-删除或者恢复');
+INSERT INTO `sys_role_permission` VALUES ('258', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '243', '医学术语库维护-医学术语多层关联维护-列表');
+INSERT INTO `sys_role_permission` VALUES ('259', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '244', '医学术语库维护-医学术语多层关联维护-添加或者编辑');
+INSERT INTO `sys_role_permission` VALUES ('260', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '245', '医学术语库维护-医学术语多层关联维护-详情');
+INSERT INTO `sys_role_permission` VALUES ('261', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '246', '医学术语库维护-医学术语多层关联维护-删除或者恢复');
+INSERT INTO `sys_role_permission` VALUES ('262', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '247', '医学术语库维护-医学术语静态知识维护-内容检索');
+INSERT INTO `sys_role_permission` VALUES ('263', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '248', '预问诊数据维护-标签组维护-新增|修改');
+INSERT INTO `sys_role_permission` VALUES ('264', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '249', '预问诊数据维护-标签组维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('265', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '250', '预问诊数据维护-标签组维护-分页列表');
+INSERT INTO `sys_role_permission` VALUES ('266', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '251', '预问诊数据维护-标签组维护-检索');
+INSERT INTO `sys_role_permission` VALUES ('267', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '252', '预问诊数据维护-标签组维护-根据id返回内容');
+INSERT INTO `sys_role_permission` VALUES ('268', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '253', '预问诊数据维护-标签组维护-根据多个id返回内容');
+INSERT INTO `sys_role_permission` VALUES ('269', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '254', '预问诊数据维护-独立填写单维护-新增|修改');
+INSERT INTO `sys_role_permission` VALUES ('270', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '255', '预问诊数据维护-独立填写单维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('271', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '256', '预问诊数据维护-独立填写单维护-分页列表');
+INSERT INTO `sys_role_permission` VALUES ('272', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '257', '预问诊数据维护-独立填写单维护-检索');
+INSERT INTO `sys_role_permission` VALUES ('273', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '258', '预问诊数据维护-独立填写单维护-根据id返回内容');
+INSERT INTO `sys_role_permission` VALUES ('274', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '259', '预问诊数据维护-独立填写单维护-根据多个id返回内容');
+INSERT INTO `sys_role_permission` VALUES ('275', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '260', '预问诊数据维护-模板维护-模板新增');
+INSERT INTO `sys_role_permission` VALUES ('277', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '262', '预问诊数据维护-模板维护-模板删除');
+INSERT INTO `sys_role_permission` VALUES ('278', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '263', '预问诊数据维护-模板维护-获取模板列表');
+INSERT INTO `sys_role_permission` VALUES ('279', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '264', '预问诊数据维护-模板维护-修改时获取已经添加过的标签');
+INSERT INTO `sys_role_permission` VALUES ('280', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '265', '预问诊数据维护-模板维护-获取单个模板(修改用)');
+INSERT INTO `sys_role_permission` VALUES ('281', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '266', '预问诊数据维护-模板维护-获取模板类型(修改时取类型)');
+INSERT INTO `sys_role_permission` VALUES ('282', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '267', '预问诊数据维护-模板维护-获取所有科室信息(主页下拉用)');
+INSERT INTO `sys_role_permission` VALUES ('283', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '268', '预问诊数据维护-模板维护-获取标签和模板关联信息');
+INSERT INTO `sys_role_permission` VALUES ('284', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '272', '诊断依据维护-诊断依据数据维护-分页');
+INSERT INTO `sys_role_permission` VALUES ('285', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '273', '诊断依据维护-诊断依据数据维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('286', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '274', '诊断依据维护-诊断依据数据维护-诊断检索');
+INSERT INTO `sys_role_permission` VALUES ('287', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '275', '诊断依据维护-诊断依据数据维护-校验数据');
+INSERT INTO `sys_role_permission` VALUES ('288', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '276', '诊断依据维护-诊断依据数据维护-校验所有数据');
+INSERT INTO `sys_role_permission` VALUES ('289', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '277', '诊断依据维护-诊断依据数据维护-更新图谱');
+INSERT INTO `sys_role_permission` VALUES ('290', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '278', '诊断依据维护-诊断依据数据维护-获取详情');
+INSERT INTO `sys_role_permission` VALUES ('291', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '269', '诊断依据维护-导出诊断依据问题词');
+INSERT INTO `sys_role_permission` VALUES ('292', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '270', '诊断依据维护-导出诊断依据');
+INSERT INTO `sys_role_permission` VALUES ('293', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '271', '诊断依据维护-诊断依据问题词数据维护-分页查询');

+ 11 - 0
knowledgeman-service/pom.xml

@@ -158,6 +158,17 @@
             <version>3.8.0</version>
         </dependency>
 
+        <!--redis设置-->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
+        <!-- 必须加上,jedis依赖此  -->
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-pool2</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>net.sourceforge.jexcelapi</groupId>
             <artifactId>jxl</artifactId>

+ 32 - 0
knowledgeman-service/src/main/java/com/diagbot/client/NeoServiceClient.java

@@ -0,0 +1,32 @@
+package com.diagbot.client;
+
+import com.diagbot.client.hystrix.NeoServiceHystrix;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.vo.NeoParamVO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+
+/**
+ * @Description: 图谱服务
+ * @author: zhoutg
+ * @time: 2018/8/6 9:52
+ */
+@FeignClient(name = "neo", url = "${neo.server.address}", fallback = NeoServiceHystrix.class)
+public interface NeoServiceClient {
+
+    @PostMapping("/knowledge/updateDisease")
+    RespDTO<Boolean> updateNeo(@RequestBody NeoParamVO neoParamVO);
+
+    @PostMapping("/knowledge/deleteDisease")
+    RespDTO<Boolean> deleteNeo(@RequestBody NeoParamVO neoParamVO);
+
+    @PostMapping("/knowledge/init")
+    RespDTO<Boolean> initNeo(@RequestBody List<Long> idList);
+}
+
+
+

+ 39 - 0
knowledgeman-service/src/main/java/com/diagbot/client/hystrix/NeoServiceHystrix.java

@@ -0,0 +1,39 @@
+package com.diagbot.client.hystrix;
+
+import com.diagbot.client.NeoServiceClient;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.vo.NeoParamVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+
+/**
+ * @Description: 图谱服务
+ * @author: zhoutg
+ * @time: 2018/8/6 9:52
+ */
+@Component
+@Slf4j
+public class NeoServiceHystrix implements NeoServiceClient {
+
+
+    @Override
+    public RespDTO<Boolean> updateNeo(NeoParamVO neoParamVO) {
+        log.error("【hystrix】调用{}异常", "updateNeo");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> deleteNeo(NeoParamVO neoParamVO) {
+        log.error("【hystrix】调用{}异常", "deleteNeo");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> initNeo(List<Long> idList) {
+        log.error("【hystrix】调用{}异常", "initNeo");
+        return null;
+    }
+}

+ 169 - 0
knowledgeman-service/src/main/java/com/diagbot/config/RedisConfigurer.java

@@ -0,0 +1,169 @@
+package com.diagbot.config;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cache.CacheManager;
+import org.springframework.cache.annotation.CachingConfigurerSupport;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.cache.interceptor.KeyGenerator;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+import org.springframework.data.redis.cache.RedisCacheConfiguration;
+import org.springframework.data.redis.cache.RedisCacheManager;
+import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
+import org.springframework.data.redis.connection.lettuce.LettuceClientConfiguration;
+import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
+import org.springframework.data.redis.connection.lettuce.LettucePoolingClientConfiguration;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.RedisSerializationContext;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+import java.time.Duration;
+
+@Configuration
+@EnableCaching
+@Slf4j
+public class RedisConfigurer extends CachingConfigurerSupport {
+
+    @Value("${spring.redis.database.cache}")
+    private String databaseCache;
+    @Value("${spring.redis.host}")
+    private String host;
+    @Value("${spring.redis.password}")
+    private String password;
+    @Value("${spring.redis.port}")
+    private int port;
+    @Value("${spring.redis.timeout}")
+    private int timeout;
+    @Value("${spring.redis.lettuce.pool.max-active}")
+    private int maxActive;
+    @Value("${spring.redis.lettuce.pool.max-idle}")
+    private int maxIdle;
+    @Value("${spring.redis.lettuce.pool.max-wait}")
+    private long maxWaitMillis;
+    @Value("${spring.redis.lettuce.pool.min-idle}")
+    private int minIdle;
+
+    @Autowired
+    @Qualifier("factoryForCache")
+    private LettuceConnectionFactory lettuceConnectionFactory;
+
+    @Bean
+    public GenericObjectPoolConfig getRedisConfig() {
+        GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
+        poolConfig.setMaxTotal(maxActive);
+        poolConfig.setMaxIdle(maxIdle);
+        poolConfig.setMaxWaitMillis(maxWaitMillis);
+        poolConfig.setMinIdle(minIdle);
+        return poolConfig;
+    }
+
+    @Bean
+    @Override
+    public CacheManager cacheManager() {
+        RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()
+                // 设置 key为string序列化
+                .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer()))
+                // 设置value为json序列化
+                .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(getSerializer()))
+                // 不缓存空值
+                .disableCachingNullValues();
+        RedisCacheManager cacheManager = RedisCacheManager.builder(lettuceConnectionFactory)
+                .cacheDefaults(redisCacheConfiguration)
+                .transactionAware()
+                .build();
+        cacheManager.afterPropertiesSet();
+        log.info("RedisCacheManager config success");
+        return cacheManager;
+    }
+
+    @Bean(name = "springSessionDefaultRedisSerializer")
+    public GenericJackson2JsonRedisSerializer getGenericJackson2JsonRedisSerializer() {
+        return new GenericJackson2JsonRedisSerializer();
+    }
+
+    /**
+     * 缓存使用的redis
+     *
+     * @return
+     */
+    @Bean("factoryForCache")
+    @Primary
+    public LettuceConnectionFactory redisConnectionFactory() {
+        return getRedisConnectionFactory(Integer.valueOf(databaseCache));
+    }
+
+    @Bean
+    public RedisTemplate<String, Object> redisTemplate() {
+        return getRedisTemplate(lettuceConnectionFactory);
+    }
+
+    private Jackson2JsonRedisSerializer getSerializer() {
+        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
+        ObjectMapper om = new ObjectMapper();
+        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
+        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
+        jackson2JsonRedisSerializer.setObjectMapper(om);
+        return jackson2JsonRedisSerializer;
+    }
+
+    @Bean
+    @Override
+    public KeyGenerator keyGenerator() {
+        //  设置自动key的生成规则,配置spring boot的注解,进行方法级别的缓存
+        // 使用:进行分割,可以很多显示出层级关系
+        // 这里其实就是new了一个KeyGenerator对象
+        return (target, method, params) -> {
+            StringBuilder sb = new StringBuilder();
+            sb.append(target.getClass().getName());
+            sb.append(":");
+            sb.append(method.getName());
+            for (Object obj : params) {
+                sb.append(":" + String.valueOf(obj));
+            }
+            String rsToUse = String.valueOf(sb);
+            log.info("自动生成Redis Key -> [{}]", rsToUse);
+            return rsToUse;
+        };
+    }
+
+    private LettuceConnectionFactory getRedisConnectionFactory(Integer database) {
+        RedisStandaloneConfiguration connection = new RedisStandaloneConfiguration();
+        connection.setHostName(host);
+        connection.setPort(port);
+        connection.setPassword(password);
+        connection.setDatabase(database);
+        GenericObjectPoolConfig poolConfig = getRedisConfig();
+        LettuceClientConfiguration builder = LettucePoolingClientConfiguration.builder()
+                .commandTimeout(Duration.ofMillis(timeout))
+                .poolConfig(poolConfig)
+                .shutdownTimeout(Duration.ZERO)
+                .build();
+        LettuceConnectionFactory factory = new LettuceConnectionFactory(connection, builder);
+        return factory;
+    }
+
+    private RedisTemplate<String, Object> getRedisTemplate(LettuceConnectionFactory factory) {
+        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
+        redisTemplate.setConnectionFactory(factory);
+
+        // value值的序列化
+        redisTemplate.setValueSerializer(getSerializer());
+        redisTemplate.setHashValueSerializer(getSerializer());
+        // key的序列化采用StringRedisSerializer
+        redisTemplate.setKeySerializer(new StringRedisSerializer());
+        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
+        redisTemplate.afterPropertiesSet();
+        return redisTemplate;
+    }
+}
+ 

+ 1 - 0
knowledgeman-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -37,6 +37,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/commonconcept/getConceptMapByNameAndType").permitAll()
                 .antMatchers("/commonconcept/index").permitAll()
                 .antMatchers("/commonconcept/indexByLexicon").permitAll()
+                .antMatchers("/diagnose/initNeo").permitAll()
                 .antMatchers("/**").authenticated();
 //                .antMatchers("/**").permitAll();
     }

+ 1 - 0
knowledgeman-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -100,6 +100,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/commonconcept/getConceptMapByNameAndType", request)
                 || matchers("/commonconcept/index", request)
                 || matchers("/commonconcept/indexByLexicon", request)
+                || matchers("/diagnose/initNeo", request)
                 || matchers("/", request)) {
             return true;
         }

+ 128 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/DiagnoseDetailPageDTO.java

@@ -0,0 +1,128 @@
+package com.diagbot.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 诊断依据明细表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@TableName("kl_diagnose_detail")
+@Getter
+@Setter
+public class DiagnoseDetailPageDTO 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;
+
+    /**
+     * 创建人姓名
+     */
+    private String creator;
+
+    /**
+     * 修改人姓名
+     */
+    private String modifier;
+
+    /**
+     * 诊断依据表主键
+     */
+    private Long diagnoseId;
+
+    /**
+     * 诊断名称
+     */
+    private String disName;
+
+    /**
+     * 类型
+     */
+    private Integer type;
+
+    /**
+     * 编码
+     */
+    private String code;
+
+    /**
+     * 标准词
+     */
+    private String standard;
+
+    /**
+     * 关联词
+     */
+    private String relation;
+
+    /**
+     * 结果
+     */
+    private String result;
+
+
+    /**
+     * 公式
+     */
+    private String formula;
+
+    /**
+     * 排序号
+     */
+    private Integer orderNo;
+
+    /**
+     * 校验编码(0:正确,1:错误)
+     */
+    private String verifyCode;
+
+    /**
+     * 校验标准词(0:正确,1:错误)
+     */
+    private String verifyStandard;
+
+    /**
+     * 校验关联词(0:正确,1:错误)
+     */
+    private String verifyRelation;
+
+    /**
+     * 校验结果(0:正确,1:错误)
+     */
+    private String verifyResult;
+
+    /**
+     * 校验公式(0:正确,1:错误)
+     */
+    private String verifyFormula;
+}

+ 28 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/DiagnoseDetailSaveDTO.java

@@ -0,0 +1,28 @@
+package com.diagbot.dto;
+
+import com.diagbot.entity.DiagnoseDetail;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: zhoutg
+ * @time: 2019/8/8 13:47
+ */
+@Getter
+@Setter
+public class DiagnoseDetailSaveDTO {
+
+    @ApiModelProperty(value = "疾病特征")
+    private List<DiagnoseDetail> disFeature = new ArrayList<>();
+
+    @ApiModelProperty(value = "疾病公式")
+    private List<DiagnoseDetail> disformula = new ArrayList<>();
+
+    @ApiModelProperty(value = "诊断名称是否存在")
+    private Boolean disNameExist = true;
+}

+ 28 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/DiagnoseImportDTO.java

@@ -0,0 +1,28 @@
+package com.diagbot.dto;
+
+import java.util.List;
+
+import com.diagbot.dto.EquationDTO;
+import com.diagbot.dto.FeatureDTO;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年8月8日 下午1:34:49
+ */
+@Setter
+@Getter
+public class DiagnoseImportDTO {
+	
+	private String  disName;
+	
+	private List<FeatureDTO>  feature;
+	
+	private List<EquationDTO>  equation;
+	
+	private List<String> messages;
+}

+ 59 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/DiagnosePageDTO.java

@@ -0,0 +1,59 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 诊断依据表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@Getter
+@Setter
+public class DiagnosePageDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+
+    /**
+     * 修改人姓名
+     */
+    private String modifier;
+
+    /**
+     * 诊断名称
+     */
+    private String disName;
+
+    /**
+     * 是否问题词
+     */
+    private String hasQuestion;
+
+    /**
+     * 记录更新图谱的时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date neoUpdate;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 82 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/DiagnoseQuestionPageDTO.java

@@ -0,0 +1,82 @@
+package com.diagbot.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 诊断依据问题词表
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2019-08-12
+ */
+@Getter
+@Setter
+public class DiagnoseQuestionPageDTO implements Serializable {
+
+	 private static final long serialVersionUID = 1L;
+
+	    /**
+	     * 主键
+	     */
+	    @TableId(value = "id", type = IdType.AUTO)
+	    private Long id;
+
+	    /**
+	     * 记录创建时间
+	     */
+	    private Date gmtCreate;
+
+	    /**
+	     * 记录修改时间,如果时间是1970年则表示纪录未修改
+	     */
+	    private Date gmtModified;
+
+	    /**
+	     * 创建人姓名
+	     */
+	    private String creator;
+
+	    /**
+	     * 修改人姓名
+	     */
+	    private String modifier;
+
+	    /**
+	     * 诊断依据表主键
+	     */
+	    private Long diagnoseId;
+
+	    /**
+	     * 诊断名称
+	     */
+	    private String disName;
+
+	    /**
+	     * 类型
+	     */
+	    private Integer type;
+
+	    /**
+	     * 问题词名称
+	     */
+	    private String questionName;
+
+	    /**
+	     * 问题词类型
+	     */
+	    private Integer questionType;
+
+	    /**
+	     * 排序号
+	     */
+	    private Integer orderNo;
+
+}

+ 38 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/DiagnosticAllExportDTO.java

@@ -0,0 +1,38 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年8月14日 下午2:25:35
+ */
+@Setter
+@Getter
+public class DiagnosticAllExportDTO {
+
+	
+	private String type;
+	private String code;
+	private String standard;
+	private String historyTaking;
+	private String relation;
+	private String result;
+	
+	public DiagnosticAllExportDTO(String type, String code, String standard, String historyTaking, String relation,
+			String result) {
+		this.type = type;
+		this.code = code;
+		this.standard = standard;
+		this.historyTaking = historyTaking;
+		this.relation = relation;
+		this.result = result;
+
+	}
+
+	public DiagnosticAllExportDTO() {
+
+	}
+}

+ 40 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/DiagnosticBasisExportDTO.java

@@ -0,0 +1,40 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年8月9日 上午11:12:36
+ */
+@Setter
+@Getter
+public class DiagnosticBasisExportDTO {
+	private String disName;
+	private String term;
+	private String type;
+	private String termSynonym;
+	private String TermNote;
+	private String sex;
+	private String minAge;
+	private String maxAge;
+
+	public DiagnosticBasisExportDTO(String disName, String term, String type, String termSynonym, String TermNote,
+			String sex, String minAge, String maxAge) {
+		this.disName = disName;
+		this.term = term;
+		this.type = type;
+		this.termSynonym = termSynonym;
+		this.TermNote = TermNote;
+		this.sex = sex;
+		this.minAge = minAge;
+		this.maxAge = maxAge;
+
+	}
+
+	public DiagnosticBasisExportDTO() {
+
+	}
+}

+ 18 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/EquationDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年8月8日 下午1:40:59
+ */
+
+@Setter
+@Getter
+public class EquationDTO {
+	private String type;
+	private String associated;
+}

+ 24 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/FeatureDTO.java

@@ -0,0 +1,24 @@
+package com.diagbot.dto;
+
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年8月8日 下午1:37:53
+ */
+@Setter
+@Getter
+public class FeatureDTO {
+
+	private String type;
+	private String code;
+	private String standard;
+	private String associated;
+	private String result;
+}

+ 37 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/LibraryForDiagnoseDTO.java

@@ -0,0 +1,37 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Objects;
+
+/**
+ * @description:
+ * @author: zhoutg
+ * @time: 2019/8/9 14:09
+ */
+@Getter
+@Setter
+public class LibraryForDiagnoseDTO {
+    private String name;
+    private Integer typeId;
+
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (o == null || getClass() != o.getClass()) {
+            return false;
+        }
+        LibraryForDiagnoseDTO that = (LibraryForDiagnoseDTO) o;
+        return Objects.equals(name, that.name) &&
+                Objects.equals(typeId, that.typeId);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(name, typeId);
+    }
+}

+ 17 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/RedisWithDiagnoseDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @description: 诊断依据redis
+ * @author: zhoutg
+ * @date: 2019/8/22 16:12
+ */
+@Getter
+@Setter
+public class RedisWithDiagnoseDTO {
+	
+	private String wKey;
+	private String wVal;
+}

+ 34 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/VerifyDataDTO.java

@@ -0,0 +1,34 @@
+package com.diagbot.dto;
+
+import com.diagbot.entity.DiagnoseDetail;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 概念出参基础实体类
+ * @author: gaodm
+ * @time: 2019/5/7 9:44
+ */
+@Getter
+@Setter
+public class VerifyDataDTO {
+
+    @ApiModelProperty(value = "疾病特征")
+    private List<DiagnoseDetail> disFeature = new ArrayList<>();
+
+    @ApiModelProperty(value = "疾病公式")
+    private List<DiagnoseDetail> disformula = new ArrayList<>();
+
+    @ApiModelProperty(value = "1:有问题词,0:无问题词")
+    private Integer hasQuestion;
+
+    @ApiModelProperty(value = "主表id")
+    private Long id;
+
+    @ApiModelProperty(value = "诊断名称是否存在")
+    private Boolean disNameExist;
+}

+ 23 - 0
knowledgeman-service/src/main/java/com/diagbot/entity/CommonParam.java

@@ -0,0 +1,23 @@
+package com.diagbot.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @Description:
+ * @Author: ztg
+ * @Date: 2018/12/14 14:15
+ */
+@Getter
+@Setter
+public class CommonParam {
+    private String person;     //操作人
+    private Date now;          //当前时间
+    private int insertOrUpdate;//更新或新增标识
+    private int i = 0;
+    private int j = 0;
+    private int flag = 0; // 1:表示有问题词或公式错误,0:正确
+    private Boolean disNameExist = true;
+}

+ 83 - 0
knowledgeman-service/src/main/java/com/diagbot/entity/Diagnose.java

@@ -0,0 +1,83 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 诊断依据表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@TableName("kl_diagnose")
+@Getter
+@Setter
+public class Diagnose implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    @ApiModelProperty(hidden = true)
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    @ApiModelProperty(hidden = true)
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人姓名
+     */
+    @ApiModelProperty(hidden = true)
+    private String creator;
+
+    /**
+     * 修改人姓名
+     */
+    private String modifier;
+
+    /**
+     * 诊断名称
+     */
+    private String disName;
+
+    /**
+     * 是否问题词
+     */
+    private String hasQuestion;
+
+    /**
+     * 记录更新图谱的时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date neoUpdate;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 130 - 0
knowledgeman-service/src/main/java/com/diagbot/entity/DiagnoseDetail.java

@@ -0,0 +1,130 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 诊断依据明细表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@TableName("kl_diagnose_detail")
+@Getter
+@Setter
+public class DiagnoseDetail 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;
+
+    /**
+     * 创建人姓名
+     */
+    private String creator;
+
+    /**
+     * 修改人姓名
+     */
+    private String modifier;
+
+    /**
+     * 诊断依据表主键
+     */
+    private Long diagnoseId;
+
+    /**
+     * 诊断名称
+     */
+    private String disName;
+
+    /**
+     * 类型
+     */
+    private Integer type;
+
+    /**
+     * 编码
+     */
+    private String code;
+
+    /**
+     * 标准词
+     */
+    private String standard;
+
+    /**
+     * 关联词
+     */
+    private String relation;
+
+    /**
+     * 结果
+     */
+    private String result;
+
+    /**
+     * 公式
+     */
+    private String formula;
+
+    /**
+     * 排序号
+     */
+    private Integer orderNo;
+
+    /**
+     * 校验编码(0:正确,1:错误)
+     */
+    private String verifyCode;
+
+    /**
+     * 校验标准词(0:正确,1:错误)
+     */
+    private String verifyStandard;
+
+    /**
+     * 校验关联词(0:正确,1:错误)
+     */
+    private String verifyRelation;
+
+    /**
+     * 校验结果(0:正确,1:错误)
+     */
+    private String verifyResult;
+
+
+    /**
+     * 校验公式(0:正确,1:错误)
+     */
+    private String verifyFormula;
+
+
+}

+ 54 - 0
knowledgeman-service/src/main/java/com/diagbot/entity/DiagnoseDetailSave.java

@@ -0,0 +1,54 @@
+package com.diagbot.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 诊断依据明细表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@Getter
+@Setter
+public class DiagnoseDetailSave implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 类型
+     */
+    private Integer type;
+
+    /**
+     * 编码
+     */
+    private String code;
+
+    /**
+     * 标准词
+     */
+    private String standard;
+
+    /**
+     * 关联词
+     */
+    private String relation;
+
+    /**
+     * 结果
+     */
+    private String result;
+
+    /**
+     * 公式
+     */
+    private String formula;
+
+
+
+}

+ 88 - 0
knowledgeman-service/src/main/java/com/diagbot/entity/DiagnoseQuestion.java

@@ -0,0 +1,88 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 诊断依据问题词表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@TableName("kl_diagnose_question")
+@Getter
+@Setter
+public class DiagnoseQuestion 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;
+
+    /**
+     * 创建人姓名
+     */
+    private String creator;
+
+    /**
+     * 修改人姓名
+     */
+    private String modifier;
+
+    /**
+     * 诊断依据表主键
+     */
+    private Long diagnoseId;
+
+    /**
+     * 诊断名称
+     */
+    private String disName;
+
+    /**
+     * 类型
+     */
+    private Integer type;
+
+    /**
+     * 问题词名称
+     */
+    private String questionName;
+
+    /**
+     * 问题词类型
+     */
+    private Integer questionType;
+
+    /**
+     * 排序号
+     */
+    private Integer orderNo;
+
+}

+ 43 - 0
knowledgeman-service/src/main/java/com/diagbot/entity/wrapper/DiagnoseWrapper.java

@@ -0,0 +1,43 @@
+package com.diagbot.entity.wrapper;
+
+import com.diagbot.entity.DiagnoseDetailSave;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断依据表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@Getter
+@Setter
+public class DiagnoseWrapper implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    private Long id;
+
+    @ApiModelProperty(value = "修改人姓名")
+    @NotBlank(message="修改人姓名不能为空")
+    private String modifier;
+
+    @ApiModelProperty(value = "诊断名称")
+    @NotBlank(message="诊断名称不能为空")
+    private String disName;
+
+    @ApiModelProperty(value = "疾病特征")
+    private List<DiagnoseDetailSave> disFeature = new ArrayList<>();
+
+    @ApiModelProperty(value = "疾病公式")
+    private List<DiagnoseDetailSave> disformula = new ArrayList<>();
+}

+ 60 - 0
knowledgeman-service/src/main/java/com/diagbot/enums/DiagnoseFeatureTypeEnum.java

@@ -0,0 +1,60 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * 
+ * @author zhoutg
+ * @Description:
+ * @date 2018年11月21日 下午2:31:42
+ */
+public enum DiagnoseFeatureTypeEnum implements KeyedNamed {
+    Dis(0, "诊断"),
+    Symptom(1, "症状"),
+    Vital(2, "体征"),
+    Lis(3, "化验"),
+    Pacs(4, "辅检"),
+    Antidiastole(5, "鉴别诊断"),
+    History(6, "病史"),
+    Cause(7, "诱因"),
+    CourseOfDisease(8, "病程"),
+    Other(9, "其他");
+
+
+    @Setter
+    private Integer key;
+
+    @Setter
+    private String name;
+
+    DiagnoseFeatureTypeEnum(Integer key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static DiagnoseFeatureTypeEnum getEnum(Integer key) {
+        for (DiagnoseFeatureTypeEnum item : DiagnoseFeatureTypeEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(Integer key) {
+        DiagnoseFeatureTypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}
+

+ 54 - 0
knowledgeman-service/src/main/java/com/diagbot/enums/DiagnoseFieldEnum.java

@@ -0,0 +1,54 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * 
+ * @author zhoutg
+ * @Description:
+ * @date 2018年11月21日 下午2:31:42
+ */
+public enum DiagnoseFieldEnum implements KeyedNamed {
+    code(1, "编码"),
+    standard(2, "标准词"),
+    relation(3, "关联词"),
+    result(4, "结果"),
+    disName(5, "诊断名称");
+
+    @Setter
+    private Integer key;
+
+    @Setter
+    private String name;
+
+    DiagnoseFieldEnum(Integer key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static DiagnoseFieldEnum getEnum(Integer key) {
+        for (DiagnoseFieldEnum item : DiagnoseFieldEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(Integer key) {
+        DiagnoseFieldEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}
+

+ 54 - 0
knowledgeman-service/src/main/java/com/diagbot/enums/DiagnoseTypeEnum.java

@@ -0,0 +1,54 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * 
+ * @author zhoutg
+ * @Description:
+ * @date 2018年11月21日 下午2:31:42
+ */
+public enum DiagnoseTypeEnum implements KeyedNamed {
+
+    Confirmed(91, "确诊"),
+    Examination(92, "拟诊"),
+    Vigilant(93, "警惕");
+
+
+    @Setter
+    private Integer key;
+
+    @Setter
+    private String name;
+
+    DiagnoseTypeEnum(Integer key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static DiagnoseTypeEnum getEnum(Integer key) {
+        for (DiagnoseTypeEnum item : DiagnoseTypeEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(Integer key) {
+        DiagnoseTypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}
+

+ 50 - 0
knowledgeman-service/src/main/java/com/diagbot/enums/HasQuestionEnum.java

@@ -0,0 +1,50 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/5/7 14:06
+ */
+public enum HasQuestionEnum implements KeyedNamed {
+
+    HAS_QUESTION(1, "有问题词"),
+    NO_QUESTION(0, "无问题词");
+
+    @Setter
+    private Integer key;
+
+    @Setter
+    private String name;
+
+    HasQuestionEnum(Integer key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static HasQuestionEnum getEnum(Integer key) {
+        for (HasQuestionEnum item : HasQuestionEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(Integer key) {
+        HasQuestionEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}

+ 51 - 0
knowledgeman-service/src/main/java/com/diagbot/enums/InsertOrUpdateEnum.java

@@ -0,0 +1,51 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * 
+ * @author zhoutg
+ * @Description:
+ * @date 2018年11月21日 下午2:31:42
+ */
+public enum InsertOrUpdateEnum implements KeyedNamed {
+    Insert(1, "新增"),
+    Update(2, "修改");
+
+    @Setter
+    private Integer key;
+
+    @Setter
+    private String name;
+
+    InsertOrUpdateEnum(Integer key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static InsertOrUpdateEnum getEnum(Integer key) {
+        for (InsertOrUpdateEnum item : InsertOrUpdateEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(Integer key) {
+        InsertOrUpdateEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}
+

+ 56 - 0
knowledgeman-service/src/main/java/com/diagbot/enums/TermEnum.java

@@ -0,0 +1,56 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+
+import lombok.Setter;
+
+public enum TermEnum implements KeyedNamed{
+
+	    Dis(0,"诊断"),
+	    Symptom(1, "症状"),
+	    Vital(2, "体征结果"),
+	    LisMax(3, "化验大项"),
+	    LisMin(4, "化验小项"),
+	    LisRes(5, "化验结果"),
+	    Pacs(6, "辅检项目"),
+	    PacsRes(7, "辅检结果"),
+	    Antidiastole(8, "诊断"),
+	    Cause(9, "诱因"),
+	    AntidiastoleOther(10, "诊断依据其他");
+
+
+	    @Setter
+	    private Integer key;
+
+	    @Setter
+	    private String name;
+
+	    TermEnum(Integer key, String name) {
+	        this.key = key;
+	        this.name = name;
+	    }
+
+	    public static TermEnum getEnum(Integer key) {
+	        for (TermEnum item : TermEnum.values()) {
+	            if (item.key == key) {
+	                return item;
+	            }
+	        }
+	        return null;
+	    }
+
+	    public static String getName(Integer key) {
+	    	TermEnum item = getEnum(key);
+	        return item != null ? item.name : null;
+	    }
+
+	    @Override
+	    public int getKey() {
+	        return key;
+	    }
+
+	    @Override
+	    public String getName() {
+	        return name;
+	    }
+}

+ 10 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseDetailFacade.java

@@ -0,0 +1,10 @@
+package com.diagbot.facade;
+
+import com.diagbot.service.impl.DiagnoseDetailServiceImpl;
+import org.springframework.stereotype.Component;
+
+@Component
+public class DiagnoseDetailFacade extends DiagnoseDetailServiceImpl {
+
+
+}

+ 835 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseFacade.java

@@ -0,0 +1,835 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.diagbot.client.NeoServiceClient;
+import com.diagbot.dto.ConceptBaseDTO;
+import com.diagbot.dto.DiagnoseDetailSaveDTO;
+import com.diagbot.dto.DiagnosePageDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.VerifyDataDTO;
+import com.diagbot.entity.CommonParam;
+import com.diagbot.entity.Diagnose;
+import com.diagbot.entity.DiagnoseDetail;
+import com.diagbot.entity.DiagnoseDetailSave;
+import com.diagbot.entity.DiagnoseQuestion;
+import com.diagbot.entity.LibraryInfo;
+import com.diagbot.entity.wrapper.DiagnoseWrapper;
+import com.diagbot.enums.DiagnoseFeatureTypeEnum;
+import com.diagbot.enums.DiagnoseFieldEnum;
+import com.diagbot.enums.DiagnoseTypeEnum;
+import com.diagbot.enums.HasQuestionEnum;
+import com.diagbot.enums.InsertOrUpdateEnum;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.LexiconTypeEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.DiagnoseDetailService;
+import com.diagbot.service.DiagnoseQuestionService;
+import com.diagbot.service.DiagnoseService;
+import com.diagbot.service.impl.DiagnoseServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.DiagnoseTypeConvertUtil;
+import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.RespDTOUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.util.VerifyUtil;
+import com.diagbot.vo.DeleteDiagnoseVO;
+import com.diagbot.vo.DiagnosePageVO;
+import com.diagbot.vo.DiseaseIndexVO;
+import com.diagbot.vo.GetDiagnoseDetailVO;
+import com.diagbot.vo.NeoParamVO;
+import com.diagbot.vo.UpdateDiagnoseVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+@Component
+public class DiagnoseFacade extends DiagnoseServiceImpl {
+
+    public static boolean verifyFlag = true;  // true:执行完毕,false:正在执行
+
+    @Autowired
+    ConceptFacade conceptFacade;
+    @Autowired
+    @Qualifier("diagnoseServiceImpl")
+    DiagnoseService diagnoseService;
+    @Autowired
+    @Qualifier("diagnoseDetailServiceImpl")
+    DiagnoseDetailService diagnoseDetailService;
+    @Autowired
+    @Qualifier("diagnoseQuestionServiceImpl")
+    DiagnoseQuestionService diagnoseQuestionService;
+    @Autowired
+    DiagnoseDetailFacade diagnoseDetailFacade;
+    @Autowired
+    LibraryInfoFacade libraryInfoFacade;
+    @Autowired
+    NeoServiceClient neoServiceClient;
+
+    /**
+     * 诊断依据分页
+     *
+     * @param diagnosePageVO
+     * @return
+     */
+    public IPage<DiagnosePageDTO> getListFac(DiagnosePageVO diagnosePageVO) {
+        IPage<DiagnosePageDTO> res = this.getList(diagnosePageVO);
+        if (res.getTotal() <= 0) {
+            return res;
+        }
+        return res;
+    }
+
+
+    /**
+     * 诊断依据删除
+     *
+     * @param deleteDiagnoseVO
+     * @return
+     */
+    public void delete(DeleteDiagnoseVO deleteDiagnoseVO) {
+        if (!(IsDeleteEnum.N.getKey().equals(deleteDiagnoseVO.getIsDeleted())
+                || IsDeleteEnum.Y.getKey().equals(deleteDiagnoseVO.getIsDeleted()))) {
+            throw new CommonException(CommonErrorCode.STATUS_IS_ERROR, "状态值错误【Y】或【N】");
+        }
+
+        Date now = DateUtil.now();
+        this.update(new Diagnose(), new UpdateWrapper<Diagnose>()
+                .eq("id", deleteDiagnoseVO.getId())
+                .set("gmt_modified", now)
+                .set("modifier", deleteDiagnoseVO.getModifier())
+                .set("is_deleted", deleteDiagnoseVO.getIsDeleted())
+                .set("neo_update", now)
+                .set("remark", deleteDiagnoseVO.getRemark()));
+
+        // 删除明细(逻辑删除)
+        diagnoseDetailFacade.update(new DiagnoseDetail(), new UpdateWrapper<DiagnoseDetail>()
+                .eq("diagnose_id", deleteDiagnoseVO.getId())
+                .set("gmt_modified", now)
+                .set("modifier", deleteDiagnoseVO.getModifier())
+                .set("is_deleted", deleteDiagnoseVO.getIsDeleted()));
+
+        // 删除问题词列表(物理删除)
+        diagnoseQuestionService.remove(new QueryWrapper<DiagnoseQuestion>()
+                .eq("diagnose_id", deleteDiagnoseVO.getId()));
+
+        // 删除图谱数据
+        NeoParamVO neoParamVO = new NeoParamVO();
+        neoParamVO.setId(deleteDiagnoseVO.getId());
+        neoServiceClient.deleteNeo(neoParamVO);
+        RespDTO<Boolean> respDTO = neoServiceClient.deleteNeo(neoParamVO);
+        RespDTOUtil.respNGDeal(respDTO, "删除图谱数据失败【远程调用】");
+    }
+
+
+    /**
+     * 诊断检索,过滤已添加的诊断
+     *
+     * @param diseaseIndexVO
+     * @return
+     */
+    public List<ConceptBaseDTO> indexFac(DiseaseIndexVO diseaseIndexVO) {
+        // 设置量表类型
+        diseaseIndexVO.setLibType(LexiconTypeEnum.DIAGNOSIS.getKey());
+        return this.index(diseaseIndexVO);
+    }
+
+
+    /**
+     * 初始化图谱数据
+     *
+     * @return
+     */
+    public void initNeo() {
+        this.update(new Diagnose(), new UpdateWrapper<Diagnose>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("has_question", HasQuestionEnum.NO_QUESTION.getKey())
+                .set("neo_update", DateUtil.getDateFromTime(1970, 1, 1, 12, 0, 0))
+        );
+        List<Diagnose> diagnoseList = this.list(new QueryWrapper<Diagnose>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("has_question", HasQuestionEnum.NO_QUESTION.getKey())
+        );
+        List<Long> idList = diagnoseList.stream().map(row -> row.getId()).collect(Collectors.toList());
+        RespDTO<Boolean> respDTO = neoServiceClient.initNeo(idList);
+        RespDTOUtil.respNGDeal(respDTO, "初始化图谱数据失败【远程调用】");
+    }
+
+
+    public String addTest() {
+        StringBuffer sb = new StringBuffer();
+        List<Diagnose> diagnoseList = this.list(new QueryWrapper<Diagnose>()
+            .eq("is_deleted", IsDeleteEnum.N.getKey())
+        );
+        List<String> disName = diagnoseList.stream().map(row -> row.getDisName()).collect(Collectors.toList());
+        List<LibraryInfo> diagnoses = libraryInfoFacade.page(
+                new Page().setSize(100L), new QueryWrapper<LibraryInfo>()
+                .eq("type_id", 18)
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("is_concept", 1)
+                .notIn("name", disName)
+        ).getRecords();
+        List<Diagnose> diagnoseData = new ArrayList<>();
+        for (LibraryInfo diagnose : diagnoses) {
+            Diagnose bean = new Diagnose();
+            bean.setDisName(diagnose.getName());
+            bean.setCreator("测试9");
+            bean.setModifier("测试9");
+            diagnoseData.add(bean);
+        }
+        Long time1 = System.currentTimeMillis();
+        diagnoseService.saveBatch(diagnoseData);
+        Long time2 = System.currentTimeMillis();
+        sb.append("添加主表测试数据:" + (time2-time1)/1000.00 + "秒");
+
+        List<DiagnoseDetail> diagnoseDetailList = new ArrayList<>();
+        List<DiagnoseDetail> diagnoseDetailData = diagnoseDetailFacade.list(new QueryWrapper<DiagnoseDetail>().eq("diagnose_id", 7L));
+        for (Diagnose diagnose : diagnoseData) {
+            for (DiagnoseDetail detail : diagnoseDetailData) {
+                DiagnoseDetail newDiagDetail = new DiagnoseDetail();
+                BeanUtil.copyProperties(detail, newDiagDetail);
+                newDiagDetail.setId(null);
+                newDiagDetail.setDiagnoseId(diagnose.getId());
+                newDiagDetail.setDisName(diagnose.getDisName());
+                newDiagDetail.setIsDeleted(IsDeleteEnum.N.getKey());
+                diagnoseDetailList.add(newDiagDetail);
+            }
+        }
+        diagnoseDetailService.saveBatch(diagnoseDetailList);
+        return sb.toString();
+    }
+
+
+    /**
+     * 诊断依据获取详情
+     *
+     * @param getDiagnoseDetailVO
+     * @return
+     */
+    public DiagnoseDetailSaveDTO getDetail(GetDiagnoseDetailVO getDiagnoseDetailVO) {
+        DiagnoseDetailSaveDTO res = new DiagnoseDetailSaveDTO();
+        List<DiagnoseDetail> detailList = diagnoseDetailFacade.list(new QueryWrapper<DiagnoseDetail>()
+                .eq("diagnose_id", getDiagnoseDetailVO.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .orderByAsc("order_no")
+        );
+        for (DiagnoseDetail detail : detailList) {
+            if (DiagnoseTypeEnum.Confirmed.getKey() == detail.getType() ||
+                    DiagnoseTypeEnum.Examination.getKey() == detail.getType() ||
+                    DiagnoseTypeEnum.Vigilant.getKey() == detail.getType()
+            ) {
+                res.getDisformula().add(detail);
+            } else {
+                res.getDisFeature().add(detail);
+            }
+        }
+        if (ListUtil.isNotEmpty(detailList)) {
+            LibraryInfo libraryInfo = libraryInfoFacade.getOne(new QueryWrapper<LibraryInfo>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("is_concept", 1)
+                    .eq("type_id", LexiconTypeEnum.DIAGNOSIS.getKey())
+                    .eq("name", detailList.get(0).getDisName())
+            );
+            if (libraryInfo == null) {
+                res.setDisNameExist(false);
+            }
+        }
+        return res;
+    }
+
+
+    /**
+     * 诊断依据校验数据,新增或更新主表信息,覆盖明细表和问题词表
+     *
+     * @param diagnoseWrapper
+     */
+    public VerifyDataDTO verifyData(DiagnoseWrapper diagnoseWrapper) {
+        VerifyDataDTO verifyDataDTO = new VerifyDataDTO();
+        CommonParam param = initCommonParam();
+        param.setPerson(diagnoseWrapper.getModifier());
+
+        // 更新主表业务(同时删除明细表和问题词表)
+        Long id = insertOrUpdateDiagnose(diagnoseWrapper, param);
+        diagnoseWrapper.setId(id);
+        verifyDataDTO.setId(id); //设置主键返回
+        // 加载词库数据
+//        List<LibraryForDiagnoseDTO> libraryForDiagnoseDTOS = libraryInfoFacade.getLibraryForDiagnose();
+//        Set<String> set = libraryForDiagnoseDTOS.stream().map(row -> row.getName()+ "_"+row.getTypeId()).collect(Collectors.toSet());
+        Set<String> libSet = libraryInfoFacade.getLibraryForDiagnose2();
+        // 明细数据
+        List<DiagnoseDetail> diagnoseDetailList = new ArrayList<>();
+        List<DiagnoseDetail> disFeature = new ArrayList<>(); // 诊断特征
+        List<DiagnoseDetail> disformula = new ArrayList<>(); // 诊断公式
+
+        // 问题词数据
+        List<DiagnoseQuestion> diagnoseQuestionList = new ArrayList<>();
+
+        // 处理诊断特征业务(校验编码|标准词|关联词|结果)
+        doDisFuture(diagnoseWrapper, param, libSet, disFeature, diagnoseQuestionList);
+        // 处理诊断公式业务(校验公式)
+        doDisFormula(diagnoseWrapper, param, disformula, diagnoseQuestionList);
+
+        diagnoseDetailList.addAll(disFeature);
+        diagnoseDetailList.addAll(disformula);
+        // 保存明细
+        diagnoseDetailService.saveBatch(diagnoseDetailList);
+        // 保存问题词
+        if (ListUtil.isNotEmpty(diagnoseQuestionList)) {
+            // 新增问题词数据
+            diagnoseQuestionService.saveBatch(diagnoseQuestionList);
+        }
+
+        // 更新主表状态
+        this.update(new UpdateWrapper<Diagnose>()
+                .set("has_question", param.getFlag())
+                .eq("id", diagnoseWrapper.getId())
+        );
+        verifyDataDTO.setHasQuestion(param.getFlag());
+        verifyDataDTO.setDisFeature(disFeature);
+        verifyDataDTO.setDisformula(disformula);
+        verifyDataDTO.setDisNameExist(param.getDisNameExist());
+        return verifyDataDTO;
+    }
+
+
+    /**
+     * 诊断依据校验全部数据(不用修改操作人和时间)
+     *
+     */
+    public String verifyAllData() {
+        StringBuffer res = new StringBuffer();
+        Long time1 = System.currentTimeMillis();
+        Set<String> diagnosetQuestionSet = new HashSet<>(); // 问题词去重变量
+        Set<String> diagnoseName = new HashSet<>(); // 诊断依据主表修改变量
+        if (!verifyFlag) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "其他人正在执行此操作,请稍后再试!");
+        }
+        try {
+            verifyFlag = false;
+            CommonParam param = initCommonParam();
+
+            // 获取所有主表信息
+            List<Diagnose> diagnoseListWithDB = this.list(new QueryWrapper<Diagnose>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+            );
+
+            // 获取所有明细信息
+            List<DiagnoseDetail> diagnoseDetailWithDB = diagnoseDetailFacade.list(new QueryWrapper<DiagnoseDetail>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+            );
+            Map<String, List<DiagnoseDetail>> map = EntityUtil.makeEntityListMap(diagnoseDetailWithDB, "disName");
+
+            Long time2 = System.currentTimeMillis();
+            res.append("加载全部主表和明细表:" + (time2-time1)/1000.0).append("秒,");
+            // 明细数据
+            List<DiagnoseDetail> diagnoseDetailList = new ArrayList<>();
+            // 问题词数据
+            List<DiagnoseQuestion> diagnoseQuestionList = new ArrayList<>();
+            // 加载词库数据
+//            List<LibraryForDiagnoseDTO> libraryForDiagnoseDTOS = libraryInfoFacade.getLibraryForDiagnose();
+//            Set<String> set = libraryForDiagnoseDTOS.stream().map(row -> row.getName()+ "_"+row.getTypeId()).collect(Collectors.toSet());
+            Set<String> libSet = libraryInfoFacade.getLibraryForDiagnose2();
+            Long time3 = System.currentTimeMillis();
+            res.append("加载词库:" + (time3-time2)/1000.0).append("秒,");
+            Boolean flag = true;
+            List<Integer> typeList = new ArrayList<>();
+            // 校验明细数据
+            for (String key : map.keySet()) {
+                List<DiagnoseDetail> detail = map.get(key);
+                List<String> codeList = detail.stream().map(row -> row.getCode()).distinct().collect(Collectors.toList());
+                codeList.add("拟诊");
+                int j = 0;
+                if (ListUtil.isNotEmpty(detail)) {
+                    // 判断诊断名称是否在词库中
+                    flag = verifyExist(libSet, detail.get(0).getDisName(), Arrays.asList(LexiconTypeEnum.DIAGNOSIS.getKey()));
+                    if (!flag) {
+                        DiagnoseQuestion diagnoseQuestion1 = createDiagnoseQuestion(detail.get(0).getDiagnoseId(), detail.get(0).getDisName(), DiagnoseFeatureTypeEnum.Dis.getKey(),
+                                detail.get(0).getDisName(), DiagnoseFieldEnum.disName.getKey(), initCommonParam(), ++j);
+                        diagnoseQuestionList.add(diagnoseQuestion1);
+                        diagnoseName.add(diagnoseQuestion1.getDisName());
+                    }
+
+                    for (DiagnoseDetail bean : detail) {
+                        boolean updateFlag = false;
+                        if (DiagnoseTypeEnum.Confirmed.getKey() == bean.getType() || (DiagnoseTypeEnum.Examination.getKey() == bean.getType() || (DiagnoseTypeEnum.Vigilant.getKey() == bean.getType()))) {
+                            // 校验公式
+                            String oldVerifyFormula = bean.getVerifyFormula();
+                            String errMsg = VerifyUtil.verifyFormula(codeList, bean.getFormula());
+                            if (StringUtil.isNotEmpty(errMsg)) {
+                                bean.setVerifyFormula(errMsg);
+                                diagnoseName.add(bean.getDisName());
+                                // 不需要添加问题词
+                            } else {
+                                bean.setVerifyFormula("");
+                            }
+                            if (!oldVerifyFormula.equals(bean.getVerifyFormula())) {
+                                updateFlag = true;
+                            }
+                        } else {
+                            // 校验编码
+                            String oldVerifyCode = bean.getVerifyCode();
+                            if (StringUtil.isNotEmpty(bean.getCode())) {
+                                flag = VerifyUtil.verifyCode(String.valueOf(bean.getType()), bean.getCode());
+                                if (!flag) {
+                                    bean.setVerifyCode(bean.getCode());
+                                    diagnoseName.add(bean.getDisName());
+                                    // 不需要添加问题词
+//                                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
+//                                            bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
+//                                    diagnoseQuestionList.add(diagnoseQuestion);
+                                } else {
+                                    bean.setVerifyCode(""); // 将原值清空
+                                }
+                                if (!oldVerifyCode.equals(bean.getVerifyCode())) {
+                                    updateFlag = true;
+                                }
+                            }
+
+                            // 校验标准词
+                            if (StringUtil.isNotEmpty(bean.getStandard())) {
+                                String oldVerifyStandard = bean.getVerifyStandard();
+                                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.standard.getKey());
+                                flag = verifyExist(libSet, bean.getStandard(), typeList);
+                                if (!flag) {
+                                    bean.setVerifyStandard(bean.getStandard());
+                                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
+                                            bean.getStandard(), DiagnoseFieldEnum.standard.getKey(), param, ++j);
+                                    if (addDiagnoseQuestion(diagnosetQuestionSet, diagnoseQuestion)) {
+                                        diagnoseQuestionList.add(diagnoseQuestion);
+                                    }
+                                    diagnoseName.add(bean.getDisName());
+                                } else {
+                                    bean.setVerifyStandard(""); // 将原值清空
+                                }
+                                if (!oldVerifyStandard.equals(bean.getVerifyStandard())) {
+                                    updateFlag = true;
+                                }
+                            }
+
+                            // 校验关联词
+                            if (StringUtil.isNotEmpty(bean.getRelation())) {
+                                String oldVerifyRelation = bean.getVerifyRelation();
+                                String[] arr = bean.getRelation().split("、");
+                                StringBuffer sb = new StringBuffer();
+                                for (String s : arr) {
+                                    typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.relation.getKey());
+                                    flag = verifyExist(libSet, s.trim(), typeList);
+                                    if (!flag) {
+                                        sb.append(s).append("、");
+                                        DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
+                                                s.trim(), DiagnoseFieldEnum.relation.getKey(), param, ++j);
+                                        if (addDiagnoseQuestion(diagnosetQuestionSet, diagnoseQuestion)) {
+                                            diagnoseQuestionList.add(diagnoseQuestion);
+                                        }
+                                        diagnoseName.add(bean.getDisName());
+                                    }
+                                }
+                                String errWord = sb.toString();
+                                if (StringUtil.isNotEmpty(errWord)) {
+                                    bean.setVerifyRelation(errWord.substring(0, errWord.length() - 1));
+                                } else {
+                                    bean.setVerifyRelation(""); // 将原值清空
+                                }
+                                if (!oldVerifyRelation.equals(bean.getVerifyRelation())) {
+                                    updateFlag = true;
+                                }
+                            }
+
+                            // 校验结果
+                            if (StringUtil.isNotEmpty(bean.getResult())) {
+                                String oldVerifyResult = bean.getVerifyResult();
+                                String[] arr = bean.getResult().split("、");
+                                StringBuffer sb = new StringBuffer();
+                                for (String s : arr) {
+                                    typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.result.getKey());
+                                    flag = verifyExist(libSet, s.trim(), typeList);
+                                    if (!flag) {
+                                        sb.append(s).append("、");
+                                        DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
+                                                s.trim(), DiagnoseFieldEnum.result.getKey(), param, ++j);
+                                        if (addDiagnoseQuestion(diagnosetQuestionSet, diagnoseQuestion)) {
+                                            diagnoseQuestionList.add(diagnoseQuestion);
+                                        }
+                                        diagnoseName.add(bean.getDisName());
+                                    }
+                                }
+                                String errWord = sb.toString();
+                                if (StringUtil.isNotEmpty(errWord)) {
+                                    bean.setVerifyResult(errWord.substring(0, errWord.length() - 1));
+                                } else {
+                                    bean.setVerifyResult(""); // 将原值清空
+                                }
+
+                                if (!oldVerifyResult.equals(bean.getVerifyResult())) {
+                                    updateFlag = true;
+                                }
+                            }
+                        }
+                        if (updateFlag) {
+                            diagnoseDetailList.add(bean);
+                        }
+                    }
+                }
+            }
+            Long time4 = System.currentTimeMillis();
+            res.append("校验问题词:" + (time4-time3)/1000.0).append("秒,");
+
+            // 更新明细
+            if (ListUtil.isNotEmpty(diagnoseDetailList)) {
+                diagnoseDetailService.updateBatch(diagnoseDetailList); // 效率比框架的updateBatchById高很多
+            }
+
+            Long time5 = System.currentTimeMillis();
+            res.append("更新明细"+diagnoseDetailList.size()+"条:" + (time5-time4)/1000.0).append("秒,");
+
+            // 删除全部的问题词数据
+            diagnoseQuestionService.remove(new QueryWrapper<DiagnoseQuestion>());
+            // 新增问题词
+            if (ListUtil.isNotEmpty(diagnoseQuestionList)) {
+                // 新增问题词数据
+                diagnoseQuestionService.insertBatch(diagnoseQuestionList); // 效率比框架的saveBatch高很多
+            }
+            Long time6 = System.currentTimeMillis();
+            res.append("新增问题词" + diagnoseQuestionList.size() + "条:" + (time6-time5)/1000.0).append("秒,");
+
+            // 修改问题词表的状态
+            List<Diagnose> updateDiagnose = new ArrayList<>();
+            for (Diagnose diagnose : diagnoseListWithDB) {
+                String oldHasQueston = diagnose.getHasQuestion();
+                if (diagnoseName.contains(diagnose.getDisName())) {
+                    diagnose.setHasQuestion(String.valueOf(HasQuestionEnum.HAS_QUESTION.getKey()));
+                } else {
+                    diagnose.setHasQuestion(String.valueOf(HasQuestionEnum.NO_QUESTION.getKey()));
+                }
+                if (!oldHasQueston.equals(diagnose.getHasQuestion())) {
+                    updateDiagnose.add(diagnose);
+                }
+            }
+            // 更新主表信息
+            if (ListUtil.isNotEmpty(updateDiagnose)) {
+//                diagnoseService.updateBatchById(updateDiagnose);
+                diagnoseService.updateBatch(updateDiagnose);
+            }
+            Long time7 = System.currentTimeMillis();
+            res.append("更新主表" +updateDiagnose.size()+ "条:" + (time7-time6)/1000.0).append("秒,");
+            res.append("总计花费时间:" + (time7-time1)/1000.0).append("秒。");
+        } catch (Exception e) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, e.getMessage());
+        } finally {
+            verifyFlag = true;
+        }
+
+        return res.toString();
+    }
+
+
+    /**
+     * 校验是否已存在问题词数据
+     *
+     * @param set
+     * @param diagnoseQuestion
+     * @return
+     */
+    public Boolean addDiagnoseQuestion(Set<String> set, DiagnoseQuestion diagnoseQuestion) {
+        String key = diagnoseQuestion.getDiagnoseId() + "_" + diagnoseQuestion.getType() + "_" + diagnoseQuestion.getQuestionType() + "_" + diagnoseQuestion.getQuestionName();
+        if (!set.contains(key)) {
+            set.add(key);
+            return true;
+        }
+        return false;
+    }
+
+
+    /**
+     *  处理诊断特征业务(校验诊断名称|编码|标准词|关联词|结果)
+     *
+     * @param diagnoseWrapper
+     * @param param
+     * @return
+     */
+    public void doDisFuture(DiagnoseWrapper diagnoseWrapper, CommonParam param, Set<String> set,  List<DiagnoseDetail> diagnoseDetailList,  List<DiagnoseQuestion> diagnoseQuestionList) {
+        int i = param.getI();
+        int j = param.getJ();
+        Set<String> questionSet = new HashSet<>(); // 问题词去重变量
+
+        // 判断诊断名称是否在词库中
+        boolean flag = true;
+        flag = verifyExist(set, diagnoseWrapper.getDisName(), Arrays.asList(LexiconTypeEnum.DIAGNOSIS.getKey()));
+        if (!flag) {
+            DiagnoseQuestion diagnoseQuestion1 = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), DiagnoseFeatureTypeEnum.Dis.getKey(),
+                    diagnoseWrapper.getDisName(), DiagnoseFieldEnum.disName.getKey(), param, ++j);
+            diagnoseQuestionList.add(diagnoseQuestion1);
+            param.setDisNameExist(false); // 标识
+        }
+
+        // 遍历诊断特征
+        for (DiagnoseDetailSave bean : diagnoseWrapper.getDisFeature()) {
+            DiagnoseDetail diagnoseDetail = new DiagnoseDetail();
+            BeanUtil.copyProperties(bean, diagnoseDetail);
+            diagnoseDetail.setDiagnoseId(diagnoseWrapper.getId());
+            diagnoseDetail.setCreator(param.getPerson());
+            diagnoseDetail.setGmtCreate(param.getNow());
+            diagnoseDetail.setModifier(param.getPerson());
+            diagnoseDetail.setGmtModified(param.getNow());
+            diagnoseDetail.setDisName(diagnoseWrapper.getDisName());
+            diagnoseDetail.setOrderNo(++i);
+            List<Integer> typeList = new ArrayList<>();
+
+            // 校验编码
+            if (StringUtil.isNotEmpty(bean.getCode())) {
+                flag = VerifyUtil.verifyCode(String.valueOf(bean.getType()), bean.getCode());
+                if (!flag) {
+                    diagnoseDetail.setVerifyCode(bean.getCode());
+                    param.setFlag(HasQuestionEnum.HAS_QUESTION.getKey());
+                    // 不需要添加问题词
+//                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
+//                            bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
+//                    if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
+//                        diagnoseQuestionList.add(diagnoseQuestion);
+//                    }
+                }
+            }
+
+            // 校验标准词
+            if (StringUtil.isNotEmpty(bean.getStandard())) {
+                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.standard.getKey());
+                flag = verifyExist(set, bean.getStandard(), typeList);
+                if (!flag) {
+                    diagnoseDetail.setVerifyStandard(bean.getStandard());
+                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
+                            bean.getStandard(), DiagnoseFieldEnum.standard.getKey(), param, ++j);
+                    if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
+                        diagnoseQuestionList.add(diagnoseQuestion);
+                    }
+                }
+            }
+
+            // 校验关联词
+            if (StringUtil.isNotEmpty(bean.getRelation())) {
+                String[] arr = bean.getRelation().split("、");
+                StringBuffer sb = new StringBuffer();
+                for (String s : arr) {
+                    typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.relation.getKey());
+                    flag = verifyExist(set, s.trim(), typeList);
+                    if (!flag) {
+                        sb.append(s).append("、");
+                        DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
+                                s.trim(), DiagnoseFieldEnum.relation.getKey(), param, ++j);
+                        if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
+                            diagnoseQuestionList.add(diagnoseQuestion);
+                        }
+                    }
+                }
+                String errWord = sb.toString();
+                if (StringUtil.isNotEmpty(errWord)) {
+                    diagnoseDetail.setVerifyRelation(errWord.substring(0, errWord.length()-1));
+                } else {
+                    diagnoseDetail.setVerifyRelation(""); // 将原值清空
+                }
+            }
+
+            // 校验结果
+            if (StringUtil.isNotEmpty(bean.getResult())) {
+                String[] arr = bean.getResult().split("、");
+                StringBuffer sb = new StringBuffer();
+                for (String s : arr) {
+                    typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.result.getKey());
+                    flag = verifyExist(set, s.trim(), typeList);
+                    if (!flag) {
+                        sb.append(s).append("、");
+                        DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
+                                s.trim(), DiagnoseFieldEnum.result.getKey(), param, ++j);
+                        if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
+                            diagnoseQuestionList.add(diagnoseQuestion);
+                        }
+                    }
+                }
+                String errWord = sb.toString();
+                if (StringUtil.isNotEmpty(errWord)) {
+                    diagnoseDetail.setVerifyResult(errWord.substring(0, errWord.length()-1));
+                } else {
+                    diagnoseDetail.setVerifyResult(""); // 将原值清空
+                }
+            }
+            diagnoseDetailList.add(diagnoseDetail);
+        }
+        param.setI(i);
+        param.setJ(j);
+        if (ListUtil.isNotEmpty(diagnoseQuestionList)) {
+            param.setFlag(HasQuestionEnum.HAS_QUESTION.getKey());
+        }
+    }
+
+
+    /**
+     *  处理诊断公式业务(校验公式)
+     *
+     * @param diagnoseWrapper
+     * @param param
+     * @return
+     */
+    public void doDisFormula(DiagnoseWrapper diagnoseWrapper, CommonParam param, List<DiagnoseDetail> diagnoseDetailList, List<DiagnoseQuestion> diagnoseQuestionList) {
+        List<String> codeList = diagnoseWrapper.getDisFeature().stream().map(row -> row.getCode()).distinct().collect(Collectors.toList());
+        codeList.add("拟诊");  // 添加拟诊的编码
+        int i = param.getI();
+        int j = param.getJ();
+        // 遍历诊断公式
+        for (DiagnoseDetailSave bean : diagnoseWrapper.getDisformula()) {
+            DiagnoseDetail diagnoseDetail = new DiagnoseDetail();
+            BeanUtil.copyProperties(bean, diagnoseDetail);
+            diagnoseDetail.setDiagnoseId(diagnoseWrapper.getId());
+            diagnoseDetail.setCreator(param.getPerson());
+            diagnoseDetail.setGmtCreate(param.getNow());
+            diagnoseDetail.setModifier(param.getPerson());
+            diagnoseDetail.setGmtModified(param.getNow());
+            diagnoseDetail.setDisName(diagnoseWrapper.getDisName());
+            diagnoseDetail.setOrderNo(++i);
+            // 校验公式
+            String errMsg = VerifyUtil.verifyFormula(codeList, bean.getFormula());
+            if (StringUtil.isNotEmpty(errMsg)) {
+                diagnoseDetail.setVerifyFormula(errMsg);
+                param.setFlag(HasQuestionEnum.HAS_QUESTION.getKey());
+            } else {
+                diagnoseDetail.setVerifyFormula("");
+            }
+            diagnoseDetailList.add(diagnoseDetail);
+        }
+        param.setI(i);
+        param.setJ(j);
+    }
+
+
+    /**
+     *  更新主表业务(同时删除明细表和问题词表)
+     *
+     * @param diagnoseWrapper
+     * @param param
+     * @return
+     */
+    public Long insertOrUpdateDiagnose(DiagnoseWrapper diagnoseWrapper, CommonParam param) {
+        // 先校验诊断名称是否存在,多人同时点击
+        QueryWrapper<Diagnose> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("dis_name", diagnoseWrapper.getDisName())
+                .eq("is_deleted", IsDeleteEnum.N.getKey());
+        if (diagnoseWrapper.getId() != null) {
+            queryWrapper.ne("id", diagnoseWrapper.getId());
+        }
+//        Diagnose bean = this.getOne(queryWrapper);
+        if (this.count(queryWrapper) > 0) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,"当前疾病的诊断依据已存在!");
+        }
+
+        Diagnose diagnose = new Diagnose();
+        BeanUtil.copyProperties(diagnoseWrapper, diagnose);
+        if (diagnoseWrapper.getId() == null) { //新增
+            diagnose.setCreator(param.getPerson());
+            diagnose.setGmtCreate(param.getNow());
+        } else { // 修改
+            // 明细删除
+            diagnoseDetailService.remove(new QueryWrapper<DiagnoseDetail>()
+                    .eq("diagnose_id", diagnoseWrapper.getId())
+            );
+            // 删除问题词
+            diagnoseQuestionService.remove(new QueryWrapper<DiagnoseQuestion>()
+                    .eq("diagnose_id", diagnoseWrapper.getId())
+            );
+            param.setInsertOrUpdate(InsertOrUpdateEnum.Update.getKey());
+        }
+        diagnose.setGmtModified(param.getNow());
+        this.saveOrUpdate(diagnose);
+        return diagnose.getId();
+    }
+
+
+    /**
+     * 更新图谱(先校验,再更新)
+     *
+     * @param updateDiagnoseVO
+     * @return
+     */
+    public void  updateNeo(UpdateDiagnoseVO updateDiagnoseVO) {
+        // 更新时间
+        this.update(new UpdateWrapper<Diagnose>()
+                .eq("id", updateDiagnoseVO.getId())
+                .set("modifier", updateDiagnoseVO.getModifier())
+                .set("neo_update", new Date())
+        );
+
+        // 更新图谱对接接口
+        NeoParamVO neoParamVO = new NeoParamVO();
+        neoParamVO.setId(updateDiagnoseVO.getId());
+        RespDTO<Boolean> respDTO = neoServiceClient.updateNeo(neoParamVO);
+        RespDTOUtil.respNGDeal(respDTO, "更新图谱数据失败【远程调用】");
+    }
+
+
+    /**
+     * 初始化参数
+     *
+     * @return
+     */
+    public CommonParam initCommonParam() {
+        CommonParam param = new CommonParam();
+        param.setNow(DateUtil.now());
+        param.setInsertOrUpdate(InsertOrUpdateEnum.Insert.getKey());
+        return param;
+    }
+
+
+    /**
+     * 校验词库中是否存在
+     *
+     * @param set 词库数据
+     * @param name 界面输入
+     * @param type 转换类型
+     * @return 校验结果
+     */
+    public boolean verifyExist(Set<String> set, String name, List<Integer> type) {
+        for(Integer integer : type) {
+            if (set.contains(name + "_" + integer)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+
+    /**
+     * 生成问题词
+     *
+     * @param disName
+     * @param type
+     * @param questionName
+     * @param commonParam
+     * @return
+     */
+    public DiagnoseQuestion createDiagnoseQuestion(Long diagnoseId, String disName, Integer type, String questionName, Integer questionType, CommonParam commonParam, Integer orderNo) {
+        DiagnoseQuestion dq = new DiagnoseQuestion();
+        dq.setCreator(commonParam.getPerson());
+        dq.setGmtCreate(commonParam.getNow());
+        dq.setModifier(commonParam.getPerson());
+        dq.setGmtModified(commonParam.getNow());
+        dq.setDisName(disName);
+        dq.setDiagnoseId(diagnoseId);
+        dq.setType(type);
+        dq.setQuestionName(questionName);
+        dq.setQuestionType(questionType);
+        dq.setOrderNo(orderNo);
+        return dq;
+    }
+
+}

+ 382 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseImportFacade.java

@@ -0,0 +1,382 @@
+package com.diagbot.facade;
+
+import java.io.InputStream;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.time.DateFormatUtils;
+import org.apache.poi.hssf.usermodel.HSSFDateUtil;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.DiagnoseImportDTO;
+import com.diagbot.dto.DiagnosticAllExportDTO;
+import com.diagbot.dto.DiagnosticBasisExportDTO;
+import com.diagbot.dto.EquationDTO;
+import com.diagbot.dto.FeatureDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.DiagnoseDetail;
+import com.diagbot.entity.DiagnoseQuestion;
+import com.diagbot.enums.DiagnoseFeatureTypeEnum;
+import com.diagbot.enums.DiagnoseTypeEnum;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.TermEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.DiagnoseDetailService;
+import com.diagbot.service.DiagnoseQuestionService;
+import com.diagbot.util.ExportBeanExcelUtil;
+import com.diagbot.util.GsonUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.DiagnosticAllExportVO;
+import com.diagbot.vo.DiagnosticBasisExportVO;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年8月8日 下午1:30:53
+ */
+@Component
+public class DiagnoseImportFacade {
+
+	@Autowired
+	DiagnoseQuestionService diagnoseQuestionService;
+	@Autowired
+	@Qualifier("diagnoseDetailServiceImpl")
+	DiagnoseDetailService diagnoseDetailService;
+
+	@SuppressWarnings("null")
+	public RespDTO<DiagnoseImportDTO> importDiagnosticBasisAll(MultipartFile file, HttpServletRequest request) {
+
+		List<String> messages = new ArrayList<>();
+		InputStream inputStream = null;
+		DiagnoseImportDTO diagnoseImportDTO = new DiagnoseImportDTO();
+		List<FeatureDTO> featureList = new ArrayList<FeatureDTO>();
+		List<EquationDTO> equationList = new ArrayList<EquationDTO>();
+		List<String> assemblys = new ArrayList<String>();
+		Workbook wb = null;
+		try {
+			if (!file.isEmpty()) {
+				inputStream = file.getInputStream();
+				if (inputStream.available() > 512000) {
+					messages.add("化验文件最大支持500KB!");
+				} else {
+					String fileName = file.getOriginalFilename();
+					if (fileName.lastIndexOf(".") != -1) {
+						String type = fileName.substring(fileName.lastIndexOf("."));
+						if (type.equals(".xls")) {
+							wb = new HSSFWorkbook(inputStream);
+						} else if (type.equals(".xlsx")) {
+							wb = new XSSFWorkbook(inputStream);
+						}
+						if (wb != null) {
+							Sheet sheet = wb.getSheetAt(0);
+							diagnoseImportDTO.setDisName(sheet.getSheetName());
+							int count = 0;
+							String name, code, standardWord, associatedWord, consequence;
+							for (Row row : sheet) {
+								count++;
+								try {
+									if (row != null) {
+										name = getValue(row.getCell(0)).trim().replace(" ", "");
+										code = getValue(row.getCell(1)).trim().replace(" ", "");
+										standardWord = getValue(row.getCell(2)).trim();
+										associatedWord = getValue(row.getCell(3)).trim();
+										consequence = getValue(row.getCell(4)).trim();
+
+									} else {
+										name = null;
+										code = null;
+										standardWord = null;
+										associatedWord = null;
+										consequence = null;
+
+									}
+
+									/*
+									 * if (StringUtil.isEmpty(name) &&
+									 * StringUtil.isEmpty(itemName) &&
+									 * StringUtil.isEmpty(value) &&
+									 * StringUtil.isEmpty(name)) { continue; }
+									 */
+
+									if (count == 1 && name.equals("类型")) {
+										continue;
+									}
+
+									if (StringUtil.isEmpty(name)) {
+										messages.add("第" + count + "行数据不规范,类型必填;");
+										continue;
+									}
+									FeatureDTO feature = new FeatureDTO();
+									EquationDTO equation = new EquationDTO();
+									if (code.equals("")) {
+										equation.setType(name);
+										equation.setAssociated(associatedWord);
+										equationList.add(equation);
+									} else {
+										feature.setType(name);
+										feature.setCode(code);
+										feature.setResult(consequence);
+										feature.setAssociated(associatedWord);
+										feature.setStandard(standardWord);
+										featureList.add(feature);
+
+									}
+
+								} catch (Exception e) {
+									e.printStackTrace();
+									throw new CommonException(CommonErrorCode.NOT_EXISTS, e.toString());
+									// logger.error("",e);
+								}
+							}
+						} else {
+							// throw new
+							// CommonException(CommonErrorCode.NOT_EXISTS,
+							// "非excel文件无法解析!");
+							messages.add("非excel文件无法解析!");
+						}
+					} else {
+						// throw new CommonException(CommonErrorCode.NOT_EXISTS,
+						// "未知文件无法解析!");
+						messages.add("未知文件无法解析!");
+					}
+				}
+			} else {
+				// throw new CommonException(CommonErrorCode.NOT_EXISTS,
+				// "无文件上传!");
+				messages.add("无文件上传!");
+			}
+
+			diagnoseImportDTO.setEquation(equationList);
+			diagnoseImportDTO.setFeature(featureList);
+			diagnoseImportDTO.setMessages(messages);
+			return RespDTO.onSuc(diagnoseImportDTO);
+		} catch (Exception e) {
+			e.printStackTrace();
+			throw new CommonException(CommonErrorCode.NOT_EXISTS, "化验excel文件解析出错!");
+			// return response.failure("化验excel文件解析出错!");
+		} finally {
+			try {
+				if (inputStream != null) {
+					inputStream.close();
+				}
+				if (wb != null) {
+					wb.close();
+				}
+			} catch (Exception e) {
+			}
+		}
+	}
+
+	private String getValue(Cell cell) {
+		try {
+			Object obj = null;
+			switch (cell.getCellTypeEnum()) {
+			case BOOLEAN:
+				obj = cell.getBooleanCellValue();
+				break;
+			case ERROR:
+				obj = cell.getErrorCellValue();
+				break;
+			case NUMERIC:
+				if (HSSFDateUtil.isCellDateFormatted(cell)) {
+					Date date = cell.getDateCellValue();
+					obj = DateFormatUtils.format(date, "yyyy-MM-dd");
+				} else {
+					obj = cell.getNumericCellValue();
+					DecimalFormat df = new DecimalFormat();
+					obj = df.format(obj);
+				}
+
+				// obj = cell.getNumericCellValue();
+				break;
+			case STRING:
+				obj = cell.getStringCellValue();
+				break;
+			default:
+				break;
+			}
+			return obj.toString();
+		} catch (Exception e) {
+			return "";
+		}
+	}
+
+	public void exportDiagnosticBasis(DiagnosticBasisExportVO diaExportVO, HttpServletResponse response) {
+		QueryWrapper<DiagnoseQuestion> diaQuery = new QueryWrapper<>();
+		diaQuery.like("dis_name", diaExportVO.getDisName()).like("question_name", diaExportVO.getQuestion())
+				.like("type", diaExportVO.getType()).eq("is_deleted", IsDeleteEnum.N.getKey()).orderByDesc("gmt_modified");
+		List<DiagnoseQuestion> datas = diagnoseQuestionService.list(diaQuery);
+
+		GsonUtil.toJson(datas);
+		System.out.println(GsonUtil.toJson(datas));
+		List<String> listName = new ArrayList<>();
+
+		listName.add("归属诊断");
+		listName.add("标准术语*");
+		listName.add("类型*");
+		listName.add("术语同义词*(多个时用\",\"隔开,必须需要包含本体)");
+		listName.add("标准术语说明");
+		listName.add("性别");
+		listName.add("最小年龄");
+		listName.add("最大年龄");
+
+		List<String> listId = new ArrayList<>();
+		listId.add("disName");
+		listId.add("term");
+		listId.add("type");
+		listId.add("termSynonym");
+		listId.add("TermNote");
+		listId.add("sex");
+		listId.add("minAge");
+		listId.add("maxAge");
+
+		List<DiagnosticBasisExportDTO> list = new ArrayList<>();
+		for (int i = 0; i < datas.size(); i++) {
+			DiagnoseQuestion diagnose = datas.get(i);
+			list.add(new DiagnosticBasisExportDTO(diagnose.getDisName(), diagnose.getQuestionName(),
+					getType(diagnose.getType(), diagnose.getQuestionType()), diagnose.getQuestionName(), "", "通用", "0",
+					"200"));
+
+		}
+		response.setContentType("text/html;charset=UTF-8");
+		ExportBeanExcelUtil ex = new ExportBeanExcelUtil();
+		ex.exportExcelNew("诊断依据问题词", listName, listId, list, response);
+
+	}
+
+	/**
+	 * 
+	 * @param diaAllExportVO
+	 * @param response
+	 */
+	public void exportDiagnosticAll(DiagnosticAllExportVO diaAllExportVO, HttpServletResponse response) {
+		QueryWrapper<DiagnoseDetail> diaQuery = new QueryWrapper<>();
+		diaQuery.eq("diagnose_id", diaAllExportVO.getDiagnoseId()).eq("is_deleted", IsDeleteEnum.N.getKey());
+		List<DiagnoseDetail> datas = diagnoseDetailService.list(diaQuery);
+
+		GsonUtil.toJson(datas);
+		System.out.println(GsonUtil.toJson(datas));
+		List<String> listName = new ArrayList<>();
+
+		listName.add("类型");
+		listName.add("序号");
+		listName.add("标准词*");
+		listName.add("是否需要病史采集");
+		listName.add("关联词");
+		listName.add("结果");
+
+		List<String> listId = new ArrayList<>();
+		listId.add("type");
+		listId.add("code");
+		listId.add("standard");
+		listId.add("historyTaking");
+		listId.add("relation");
+		listId.add("result");
+
+		
+		String disName =(datas.size()>0)?datas.get(0).getDisName():" ";
+		List<DiagnosticAllExportDTO> list = new ArrayList<>();
+		for (int i = 0; i < datas.size(); i++) {
+			DiagnoseDetail diagnose = datas.get(i);
+			disName = diagnose.getDisName();
+			list.add(new DiagnosticAllExportDTO(getDisType(diagnose.getType()), diagnose.getCode(),
+					diagnose.getStandard(), "", getRelation(diagnose.getType(),diagnose), diagnose.getResult()));
+
+		}
+		response.setContentType("text/html;charset=UTF-8");
+		ExportBeanExcelUtil ex = new ExportBeanExcelUtil();
+		ex.exportExcelNew(disName, listName, listId, list, response);
+
+	}
+
+	/**
+	 * 导出类型转换
+	 * 
+	 * @param type
+	 * @param questionType
+	 * @return
+	 */
+	public String getType(Integer type, Integer questionType) {
+		String typeName = "";
+		if (type == DiagnoseFeatureTypeEnum.Dis.getKey()) {
+			typeName = TermEnum.getName(0);
+		} else if (type == DiagnoseFeatureTypeEnum.Symptom.getKey()) {
+			typeName = TermEnum.getName(1);
+		} else if (type == DiagnoseFeatureTypeEnum.Vital.getKey()) {
+			typeName = TermEnum.getName(2);
+		} else if (type == DiagnoseFeatureTypeEnum.Lis.getKey()) {
+			if (questionType == 2) {
+				typeName = TermEnum.getName(3);
+			}
+			if (questionType == 3) {
+				typeName = TermEnum.getName(4);
+			}
+			if (questionType == 4) {
+				typeName = TermEnum.getName(5);
+			}
+		} else if (type == DiagnoseFeatureTypeEnum.Pacs.getKey()) {
+			if (questionType == 2) {
+				typeName = TermEnum.getName(6);
+			}
+			if (questionType == 3) {
+				typeName = TermEnum.getName(7);
+			}
+		} else if (type == DiagnoseFeatureTypeEnum.Antidiastole.getKey()) {
+			typeName = TermEnum.getName(8);
+		} else if (type == DiagnoseFeatureTypeEnum.History.getKey()) {
+			typeName = TermEnum.getName(8);
+		} else if (type == DiagnoseFeatureTypeEnum.Cause.getKey()) {
+			typeName = TermEnum.getName(9);
+		} else if (type == DiagnoseFeatureTypeEnum.CourseOfDisease.getKey()) {
+			typeName = TermEnum.getName(10);
+		} else if (type == DiagnoseFeatureTypeEnum.Other.getKey()) {
+			typeName = TermEnum.getName(10);
+		}
+		return typeName;
+	}
+	/**
+	 * 导出公式类型转换
+	 * 
+	 */
+	public String getDisType(Integer type) {
+		String typeName = "";
+		
+		typeName = DiagnoseFeatureTypeEnum.getName(type);
+		if(typeName == null){
+			typeName = DiagnoseTypeEnum.getName(type);
+		}
+		return typeName;
+	}
+	/**
+	 * 导出公式和标准词切换
+	 * 
+	 */
+	public String getRelation(Integer type, DiagnoseDetail diagnose ) {
+		String typeName = "";
+		String relation = "";
+		typeName = DiagnoseFeatureTypeEnum.getName(type);
+		relation =  diagnose.getRelation();
+		if(typeName == null ){
+			relation =  diagnose.getFormula();
+		}
+		return relation;
+	}
+	
+}

+ 37 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseQuestionFacade.java

@@ -0,0 +1,37 @@
+package com.diagbot.facade;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.DiagnoseQuestionPageDTO;
+import com.diagbot.entity.DiagnoseQuestion;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.DiagnoseQuestionService;
+import com.diagbot.vo.DiagnoseQuestionPageVO;
+
+@Component
+public class DiagnoseQuestionFacade  {
+	
+
+	@Autowired
+	DiagnoseQuestionService diagnoseQuestionService;
+	/**
+	 * 
+	 * @param diagnoseQuestionPageVO
+	 * @return
+	 */
+	public IPage<DiagnoseQuestionPageDTO> queryQuestionPage(DiagnoseQuestionPageVO diagnoseQuestionPageVO) {
+		
+		QueryWrapper<DiagnoseQuestion> diaQuery = new QueryWrapper<>();
+		diaQuery.like("type",diagnoseQuestionPageVO.getType());
+		diaQuery.like("dis_name",diagnoseQuestionPageVO.getDisName()).like("question_name",diagnoseQuestionPageVO.getQuestionCode()).eq("is_deleted",IsDeleteEnum.N.getKey()).orderByDesc("gmt_modified");
+				
+		IPage<DiagnoseQuestionPageDTO> datas = diagnoseQuestionService.page(diagnoseQuestionPageVO, diaQuery);
+		
+		return datas;
+	}
+	
+
+}

+ 45 - 2
knowledgeman-service/src/main/java/com/diagbot/facade/LibraryInfoFacade.java

@@ -1,8 +1,17 @@
 package com.diagbot.facade;
 
+import com.diagbot.dto.RedisWithDiagnoseDTO;
+import com.diagbot.service.impl.LibraryInfoServiceImpl;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.DataAccessException;
+import org.springframework.data.redis.connection.RedisConnection;
+import org.springframework.data.redis.core.RedisCallback;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 
-import com.diagbot.service.impl.LibraryInfoServiceImpl;
+import java.util.List;
 
 /**
  * @Description: 术语基本信息查询业务层
@@ -11,6 +20,40 @@ import com.diagbot.service.impl.LibraryInfoServiceImpl;
  */
 @Component
 public class LibraryInfoFacade extends LibraryInfoServiceImpl {
-  
 
+    @Autowired
+    RedisTemplate<String, String> redisTemplate;
+
+    public String loadRedisWithDiagnose() {
+        StringBuffer sb = new StringBuffer();
+        long time1 = System.currentTimeMillis();
+        redisTemplate.delete("diagnose");
+        long time2 = System.currentTimeMillis();
+        sb.append("清空redis数据需要时间:").append((time2 - time1) /1000.0);
+        List<RedisWithDiagnoseDTO> libRedisVOS = this.putRedis();
+        long time3 = System.currentTimeMillis();
+        sb.append("秒。查询词库数据需要时间:").append((time3 - time2) /1000.0);
+        byte[] tt = "diagnose".getBytes();
+        List<Object> resultList = redisTemplate.executePipelined(new RedisCallback<Object>() {
+            @Override
+            public String doInRedis(RedisConnection connection) throws DataAccessException {
+//               1.connection 打开管道
+                connection.openPipeline();
+                if (ListUtil.isNotEmpty(libRedisVOS)) {
+                    for (RedisWithDiagnoseDTO vo : libRedisVOS) {
+                        if (StringUtil.isNotEmpty(vo.getWVal()) && StringUtil.isNotEmpty(vo.getWKey())) {
+                            connection.hSet(tt, vo.getWKey().getBytes(), vo.getWVal().getBytes());
+                        }
+                    }
+                }
+                connection.closePipeline();
+                return null;
+            }
+        });
+        long time4 = System.currentTimeMillis();
+        sb.append("秒。添加词库到redis需要时间:").append((time4 - time3) /1000.0);
+        sb.append("秒。总体加载需要时间:").append((time4 - time1) /1000.0).append("秒。");
+        System.out.println(sb.toString());
+        return sb.toString();
+    }
 }

+ 20 - 0
knowledgeman-service/src/main/java/com/diagbot/mapper/DiagnoseDetailMapper.java

@@ -0,0 +1,20 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.entity.DiagnoseDetail;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断依据明细表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+public interface DiagnoseDetailMapper extends BaseMapper<DiagnoseDetail> {
+
+
+    public void updateBatch(List<DiagnoseDetail> diagnoseDetails);
+}

+ 47 - 0
knowledgeman-service/src/main/java/com/diagbot/mapper/DiagnoseMapper.java

@@ -0,0 +1,47 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.ConceptBaseDTO;
+import com.diagbot.dto.DiagnosePageDTO;
+import com.diagbot.entity.Diagnose;
+import com.diagbot.vo.DiagnosePageVO;
+import com.diagbot.vo.DiseaseIndexVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断依据表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+public interface DiagnoseMapper extends BaseMapper<Diagnose> {
+
+    /**
+     * 获取诊断依据分页
+     *
+     * @param diagnosePageVO
+     * @return
+     */
+    public IPage<DiagnosePageDTO> getList(DiagnosePageVO diagnosePageVO);
+
+
+    /**
+     * 诊断依据检索
+     *
+     * @param diseaseIndexVO
+     * @return
+     */
+    public List<ConceptBaseDTO> index(DiseaseIndexVO diseaseIndexVO);
+
+
+    /**
+     * 批量更新主表信息
+     * @param diagnoseList
+     */
+    public void updateBatch(List<Diagnose> diagnoseList);
+
+}

+ 19 - 0
knowledgeman-service/src/main/java/com/diagbot/mapper/DiagnoseQuestionMapper.java

@@ -0,0 +1,19 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.entity.DiagnoseQuestion;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断依据问题词表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+public interface DiagnoseQuestionMapper extends BaseMapper<DiagnoseQuestion> {
+
+    public void insertBatch(List<DiagnoseQuestion> diagnoseQuestionList);
+}

+ 11 - 2
knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryInfoMapper.java

@@ -1,8 +1,13 @@
 package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.dto.LibraryForDiagnoseDTO;
+import com.diagbot.dto.RedisWithDiagnoseDTO;
 import com.diagbot.entity.LibraryInfo;
 
+import java.util.List;
+import java.util.Set;
+
 /**
  * <p>
  * 提示信息 Mapper 接口
@@ -13,6 +18,10 @@ import com.diagbot.entity.LibraryInfo;
  */
 public interface LibraryInfoMapper extends BaseMapper<LibraryInfo> {
 
-    
-   
+
+    public List<LibraryForDiagnoseDTO> getLibraryForDiagnose();
+
+    public Set<String> getLibraryForDiagnose2();
+
+    public List<RedisWithDiagnoseDTO> putRedis();
 }

+ 9 - 0
knowledgeman-service/src/main/java/com/diagbot/rabbit/MyProcessor.java

@@ -20,4 +20,13 @@ public interface MyProcessor {
 
     @Output(OUTPUT_LOG)
     MessageChannel outputLog();
+
+    String INPUT_WORD = "inputWord";
+    String OUTPUT_WORD = "outputWord";
+
+    @Input(INPUT_WORD)
+    SubscribableChannel inputWord();
+
+    @Output(OUTPUT_WORD)
+    MessageChannel outputWord();
 }

+ 18 - 0
knowledgeman-service/src/main/java/com/diagbot/rabbit/MyReceiver.java

@@ -0,0 +1,18 @@
+package com.diagbot.rabbit;
+
+import org.springframework.cloud.stream.annotation.EnableBinding;
+import org.springframework.cloud.stream.annotation.StreamListener;
+
+/**
+ * @Description: 消费者
+ * @author: gaodm
+ * @time: 2018/8/29 14:02
+ */
+@EnableBinding({ MyProcessor.class })
+public class MyReceiver {
+
+    @StreamListener(MyProcessor.INPUT_WORD)
+    public void inputWord(String message) {
+        System.out.println("Received <" + "重新加载词库" + ">" + message);
+    }
+}

+ 8 - 0
knowledgeman-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -24,4 +24,12 @@ public class MySender {
     public void outputLogSend(SysLog sysLog) {
         outputLog.send(MessageBuilder.withPayload(GsonUtil.toJson(sysLog)).build());
     }
+
+    @Autowired
+    @Qualifier("outputWord")
+    MessageChannel outputWord;
+
+    public void outputWordSend(String type) {
+        outputWord.send(MessageBuilder.withPayload(type).build());
+    }
 }

+ 19 - 0
knowledgeman-service/src/main/java/com/diagbot/service/DiagnoseDetailService.java

@@ -0,0 +1,19 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.entity.DiagnoseDetail;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断依据明细表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+public interface DiagnoseDetailService extends IService<DiagnoseDetail> {
+
+    public void updateBatch(List<DiagnoseDetail> diagnoseDetails);
+}

+ 18 - 0
knowledgeman-service/src/main/java/com/diagbot/service/DiagnoseQuestionService.java

@@ -0,0 +1,18 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.entity.DiagnoseQuestion;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断依据问题词表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+public interface DiagnoseQuestionService extends IService<DiagnoseQuestion> {
+    public void insertBatch(List<DiagnoseQuestion> diagnoseQuestionList);
+}

+ 48 - 0
knowledgeman-service/src/main/java/com/diagbot/service/DiagnoseService.java

@@ -0,0 +1,48 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.ConceptBaseDTO;
+import com.diagbot.dto.DiagnosePageDTO;
+import com.diagbot.entity.Diagnose;
+import com.diagbot.vo.DiagnosePageVO;
+import com.diagbot.vo.DiseaseIndexVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断依据表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+public interface DiagnoseService extends IService<Diagnose> {
+
+
+    /**
+     * 获取诊断依据分页
+     *
+     * @param diagnosePageVO
+     * @return
+     */
+    public IPage<DiagnosePageDTO> getList(DiagnosePageVO diagnosePageVO);
+
+
+    /**
+     * 诊断依据检索
+     *
+     * @param diseaseIndexVO
+     * @return
+     */
+    public List<ConceptBaseDTO> index(DiseaseIndexVO diseaseIndexVO);
+
+
+    /**
+     * 批量更新主表信息
+     * @param diagnoseList
+     */
+    public void updateBatch(List<Diagnose> diagnoseList);
+
+}

+ 12 - 2
knowledgeman-service/src/main/java/com/diagbot/service/LibraryInfoService.java

@@ -1,8 +1,13 @@
 package com.diagbot.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.LibraryForDiagnoseDTO;
+import com.diagbot.dto.RedisWithDiagnoseDTO;
 import com.diagbot.entity.LibraryInfo;
 
+import java.util.List;
+import java.util.Set;
+
 /**
  * <p>
  * 提示信息 服务类
@@ -12,5 +17,10 @@ import com.diagbot.entity.LibraryInfo;
  * @since 2019-01-30
  */
 public interface LibraryInfoService extends IService<LibraryInfo> {
-    
-}
+
+    public List<LibraryForDiagnoseDTO> getLibraryForDiagnose();
+
+    public Set<String> getLibraryForDiagnose2();
+
+    public List<RedisWithDiagnoseDTO> putRedis();
+}

+ 26 - 0
knowledgeman-service/src/main/java/com/diagbot/service/impl/DiagnoseDetailServiceImpl.java

@@ -0,0 +1,26 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.DiagnoseDetail;
+import com.diagbot.mapper.DiagnoseDetailMapper;
+import com.diagbot.service.DiagnoseDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断依据明细表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@Service
+public class DiagnoseDetailServiceImpl extends ServiceImpl<DiagnoseDetailMapper, DiagnoseDetail> implements DiagnoseDetailService {
+
+    @Override
+    public void updateBatch(List<DiagnoseDetail> diagnoseDetails) {
+        baseMapper.updateBatch(diagnoseDetails);
+    }
+}

+ 26 - 0
knowledgeman-service/src/main/java/com/diagbot/service/impl/DiagnoseQuestionServiceImpl.java

@@ -0,0 +1,26 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.DiagnoseQuestion;
+import com.diagbot.mapper.DiagnoseQuestionMapper;
+import com.diagbot.service.DiagnoseQuestionService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断依据问题词表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@Service
+public class DiagnoseQuestionServiceImpl extends ServiceImpl<DiagnoseQuestionMapper, DiagnoseQuestion> implements DiagnoseQuestionService {
+
+    @Override
+    public void insertBatch(List<DiagnoseQuestion> diagnoseQuestionList) {
+        baseMapper.insertBatch(diagnoseQuestionList);
+    }
+}

+ 41 - 0
knowledgeman-service/src/main/java/com/diagbot/service/impl/DiagnoseServiceImpl.java

@@ -0,0 +1,41 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.ConceptBaseDTO;
+import com.diagbot.dto.DiagnosePageDTO;
+import com.diagbot.entity.Diagnose;
+import com.diagbot.mapper.DiagnoseMapper;
+import com.diagbot.service.DiagnoseService;
+import com.diagbot.vo.DiagnosePageVO;
+import com.diagbot.vo.DiseaseIndexVO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断依据表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@Service
+public class DiagnoseServiceImpl extends ServiceImpl<DiagnoseMapper, Diagnose> implements DiagnoseService {
+
+    @Override
+    public IPage<DiagnosePageDTO> getList(DiagnosePageVO diagnosePageVO) {
+        return baseMapper.getList(diagnosePageVO);
+    }
+
+    @Override
+    public List<ConceptBaseDTO> index(DiseaseIndexVO diseaseIndexVO) {
+        return baseMapper.index(diseaseIndexVO);
+    }
+
+    @Override
+    public void updateBatch(List<Diagnose> diagnoseList) {
+        baseMapper.updateBatch(diagnoseList);
+    }
+}

+ 12 - 5
knowledgeman-service/src/main/java/com/diagbot/service/impl/EnumsDataServiceImpl.java

@@ -1,16 +1,19 @@
 package com.diagbot.service.impl;
 
-import java.util.List;
-import java.util.Map;
-
-import org.springframework.stereotype.Service;
-
+import com.diagbot.enums.DiagnoseFeatureTypeEnum;
+import com.diagbot.enums.DiagnoseFieldEnum;
+import com.diagbot.enums.DiagnoseTypeEnum;
 import com.diagbot.enums.DisclaimerCodeEnum;
+import com.diagbot.enums.HasQuestionEnum;
 import com.diagbot.enums.LexiconRSTypeEnum;
 import com.diagbot.enums.LexiconTypeEnum;
 import com.diagbot.enums.PositionTypeEnum;
 import com.diagbot.service.EnumsDataService;
 import com.diagbot.util.EnumEntriesBuilder;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 枚举数据接口是实现类
@@ -37,6 +40,10 @@ public class EnumsDataServiceImpl implements EnumsDataService {
                 		LexiconTypeEnum.PACS_ITEMS,LexiconTypeEnum.DIAGNOSIS,LexiconTypeEnum.PACS_CATEGORY_BIG,LexiconTypeEnum.PACS_CATEGORY_SMALL,
                 		LexiconTypeEnum.DEPARTMENT,LexiconTypeEnum.GAUGE,LexiconTypeEnum.SIDE_EFFECTS,LexiconTypeEnum.CORE_INDICATORS,
                 		LexiconTypeEnum.LIS_TABLES)
+                .addEnums("diagnoseFeatureTypeEnum", DiagnoseFeatureTypeEnum.values())
+                .addEnums("diagnoseFieldEnum", DiagnoseFieldEnum.values())
+                .addEnums("diagnoseTypeEnum", DiagnoseTypeEnum.values())
+                .addEnums("hasQuestionEnum", HasQuestionEnum.values())
                 .build();
         return enumMap;
     }

+ 22 - 1
knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryInfoServiceImpl.java

@@ -1,5 +1,7 @@
 package com.diagbot.service.impl;
 
+import com.diagbot.dto.LibraryForDiagnoseDTO;
+import com.diagbot.dto.RedisWithDiagnoseDTO;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -7,6 +9,9 @@ import com.diagbot.entity.LibraryInfo;
 import com.diagbot.mapper.LibraryInfoMapper;
 import com.diagbot.service.LibraryInfoService;
 
+import java.util.List;
+import java.util.Set;
+
 /**
  * <p>
  * 提示信息 服务实现类
@@ -18,5 +23,21 @@ import com.diagbot.service.LibraryInfoService;
 @Service
 public class LibraryInfoServiceImpl extends ServiceImpl<LibraryInfoMapper, LibraryInfo> implements LibraryInfoService {
 
-  
+
+    @Override
+    public List<LibraryForDiagnoseDTO> getLibraryForDiagnose() {
+        return baseMapper.getLibraryForDiagnose();
+    }
+
+    @Override
+    public Set<String> getLibraryForDiagnose2(){
+        return baseMapper.getLibraryForDiagnose2();
+    }
+
+    @Override
+    public List<RedisWithDiagnoseDTO> putRedis() {
+        return baseMapper.putRedis();
+    }
+
+
 }

+ 76 - 0
knowledgeman-service/src/main/java/com/diagbot/util/DiagnoseTypeConvertUtil.java

@@ -0,0 +1,76 @@
+package com.diagbot.util;
+
+import com.diagbot.enums.DiagnoseFeatureTypeEnum;
+import com.diagbot.enums.DiagnoseFieldEnum;
+import com.diagbot.enums.LexiconTypeEnum;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description:参数转换
+ * @Author:zhoutg
+ * @time: 2019/5/7 9:44
+ */
+public class DiagnoseTypeConvertUtil {
+
+
+    /**
+     * 诊断依据类型转换为标准词库类型
+     *
+     * @param type
+     * @return
+     */
+    public static List<Integer> diagnoseType2LibType(Integer type, Integer field) {
+        List<Integer> res = new ArrayList<>();
+        switch (DiagnoseFeatureTypeEnum.getEnum(type)) {
+            case Symptom:  // 症状 -> 症状,诊断依据其他
+                res.add(LexiconTypeEnum.SYMPTOM.getKey());
+                res.add(LexiconTypeEnum.OTHER_DIAGNOSTIC_CRITERIA.getKey());
+                break;
+            case Vital: // 体征 -> 体征结果
+                res.add(LexiconTypeEnum.VITAL_RESULT.getKey());
+                res.add(LexiconTypeEnum.OTHER_DIAGNOSTIC_CRITERIA.getKey());
+                break;
+            case Lis: // 化验标准词 -> 化验大项
+                      // 化验关联词 -> 化验小项
+                      // 化验结果 -> 化验结果
+                if (DiagnoseFieldEnum.standard.getKey() == field) {
+                    res.add(LexiconTypeEnum.LIS_PACKAGE.getKey());
+                } else if (DiagnoseFieldEnum.relation.getKey() == field) {
+                    res.add(LexiconTypeEnum.LIS_DETAILS.getKey());
+                } else if (DiagnoseFieldEnum.result.getKey() == field){
+                    res.add(LexiconTypeEnum.LIS_RESULTS.getKey());
+                }
+                break;
+            case Pacs: // 辅检标准词 -> 辅检项目
+                       // 辅检结果 -> 辅检结果
+                if (DiagnoseFieldEnum.standard.getKey() == field) {
+                    res.add(LexiconTypeEnum.PACS_ITEMS.getKey());
+                } else if (DiagnoseFieldEnum.relation.getKey() == field){
+                    res.add(LexiconTypeEnum.PACS_RESULTS.getKey());
+                }
+                break;
+            case Antidiastole: // 鉴别诊断 -> 诊断
+                res.add(LexiconTypeEnum.DIAGNOSIS.getKey());
+                break;
+            case History: // 病史 -> 诊断
+                res.add(LexiconTypeEnum.DIAGNOSIS.getKey());
+                res.add(LexiconTypeEnum.OTHER_DIAGNOSTIC_CRITERIA.getKey());
+                break;
+            case Cause: // 诱因 -> 诱因
+                res.add(LexiconTypeEnum.CAUSE.getKey());
+                res.add(LexiconTypeEnum.OTHER_DIAGNOSTIC_CRITERIA.getKey());
+                break;
+            case CourseOfDisease:  // 病程 -> 诊断依据其他
+                res.add(LexiconTypeEnum.OTHER_DIAGNOSTIC_CRITERIA.getKey());
+                break;
+            case Other: // 其他 -> 诊断依据其他
+                res.add(LexiconTypeEnum.OTHER_DIAGNOSTIC_CRITERIA.getKey());
+                break;
+            default:
+                break;
+        }
+        return res;
+    }
+}

+ 367 - 0
knowledgeman-service/src/main/java/com/diagbot/util/VerifyUtil.java

@@ -0,0 +1,367 @@
+package com.diagbot.util;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Stack;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * @description: 校验工具类
+ * @author: zhoutg
+ * @time: 2019/8/12 14:44
+ */
+public class VerifyUtil {
+
+
+    /**
+     *  校验编码是否正确,
+     *
+     * @param type 诊断依据类型
+     * @param val 值 ,如:1.1,1.99,点后最多2位
+     * @return 校验结果
+     */
+    public static boolean verifyCode(String type, String val) {
+        if (StringUtil.isEmpty(type)) {
+            return false;
+        }
+//        String regex = type + "\\.[1-9]\\d?";
+		String regex = type + "\\.(0|[1-9]\\d?)";
+        return Pattern.matches(regex, val);
+    }
+
+
+    public static void main(String[] args) {
+		System.out.println(verifyStartEnd("1.1+1.2"));
+//    	String str = "1.99";
+//		System.out.println(verifyCode("1", str));
+//
+//    	List<String> code = new ArrayList<>();
+//    	code.add("拟诊");
+//    	code.add("1.1");
+//		System.out.println(verifyFormula(code, str));
+//    	List<String> list = new ArrayList<>();
+//    	list.add("1.1");
+//    	list.add("1.2");
+//		checkCodeEquation(list, "(1.1/1.2)任一+");
+    }
+
+    /**
+     * 校验公式编码
+     * @param coding 编码
+     * @param str  公式
+     * @return
+     */
+    public static boolean checkCodeEquation(List<String> coding, String str) {
+		boolean res = true;
+		// 分割出所有的数字
+		String[] split = str.split("\\+");
+		String[] digitalSplit = str.split("[+ ( / ) 任 一 二 三 四 五 六 七 八 九 十  ]");
+		List<String> numberList = new ArrayList<String>();
+		for (int i = 0; i < digitalSplit.length; i++) {
+			if (!digitalSplit[i].equals("")) {
+				numberList.add(digitalSplit[i]);
+			}
+		}
+
+		res = coding.containsAll(numberList);
+		if (res == true) {
+			for (int i = 0; i < split.length; i++) {
+				String str1 = split[i].substring(0, split[i].indexOf(")") + 1);
+				// 检查是否以括号开头,以括号结尾
+				boolean start = str1.startsWith("(");
+				boolean end = str1.endsWith(")");
+
+				if (start == false || end == false) {
+					res = false;
+					break;
+					//throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "公式格式有误");
+				}
+				String str2 = split[i].substring(split[i].indexOf(")") + 1);
+				String[] array = { "任一", "任二", "任三", "任四", "任五", "任六", "任七", "任八", "任九", "任十" };
+				if (str2.length() > 0) {
+					boolean pp = Arrays.asList(array).contains(str2);
+					if (pp == false) {
+						res = false;
+						break;
+					}
+				} else {
+					res = false;
+					break;
+				}
+			}
+		} else {
+			res = false;
+		}
+
+		return res;
+	}
+
+
+	/**
+	 * 校验括号中的值是否正确,大于等于任数,不能只有一个编码
+	 *
+	 * @param s
+	 * @return
+	 */
+	public static boolean verifyValue(String s) {
+		String regex = "\\(.*?\\)任"; // 非贪婪模式
+		Pattern pattern = Pattern.compile(regex);
+		Matcher matches = pattern.matcher(s);
+		while(matches.find()) {
+			String str = matches.group();
+			String numStr = s.substring(matches.end(), matches.end()+1);
+
+			int i = 0;
+			switch (numStr) {
+				case "一":
+					i = 1;
+					break;
+				case "二":
+					i = 2;
+					break;
+				case "三":
+					i = 3;
+					break;
+				case "四":
+					i = 4;
+					break;
+				case "五":
+					i = 5;
+					break;
+				case "六":
+					i = 6;
+					break;
+				case "七":
+					i = 7;
+					break;
+				case "八":
+					i = 8;
+					break;
+				case "九":
+					i = 9;
+					break;
+				case "十":
+					i = 10;
+					break;
+			}
+			int num = str.split("/").length;
+			if (i > num || 1 == num) { // 括号内只有一个编码
+				return true;
+			}
+		}
+		return false;
+	}
+
+
+	/**
+	 * 1、校验括号是否匹配,是否嵌套
+	 * 2、校验开头和结尾字符,开头不能是:)+/,结尾不能是:()+/
+	 * 3、校验公式分隔符
+	 * 4、校验公式中的编码值是否全部在编码中 (业务校验)
+	 * 5、校验括号中的值是否正确,大于等于任数,不能只有一个编码(业务校验)
+	 *
+	 * @param s
+	 * @return
+	 */
+	public static String verifyFormula(List<String> codeList, String s) {
+		String errMsg = "公式格式错误";
+		try {
+			// 1、校验括号是否匹配,是否嵌套
+			if (!verifyBracketNest(s)) {
+				return errMsg;
+			}
+
+			// 2、校验开头和结尾字符,开头不能是:)+/,结尾不能是:()+/
+			if (verifyStartEnd(s)) {
+				return errMsg;
+			}
+
+			// 3、校验公式分隔符
+			List<String> splitCode = verifySplit(s);
+			int i = 0;
+			for (String str : splitCode) {
+				// 如果中间出现空字符串,表明出错了
+				if (StringUtil.isEmpty(str) && i != 0 && i != splitCode.size() - 1) {
+					return errMsg;
+				}
+				i++;
+			}
+
+			// 4、校验公式中的编码值是否全部在编码中
+			List<String> codes = new ArrayList<>();
+			for (String str : splitCode) {
+				if (StringUtil.isNotEmpty(str)) {
+					codes.add(str);
+				}
+			}
+			if (!codeList.containsAll(codes)) {
+				return errMsg;
+			}
+
+			// 5、校验括号中的值是否正确,大于等于任数,不能只有一个编码
+			if (verifyValue(s)) {
+				return errMsg;
+			}
+
+			// 6、校验拟诊是否放首位
+			if (!verifyDiseaseType(s)) {
+				return errMsg;
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+			return errMsg;
+		}
+		return "";
+	}
+
+
+	/**
+	 * 校验开头和结尾字符,开头不能是:)+/,结尾不能是:()+/
+	 * @param s
+	 * @return
+	 */
+	public static boolean verifyStartEnd(String s) {
+		String startRegex =
+				"(\\)|\\+|/).*" ;
+		String endRegex =
+				".*(\\(|\\)|\\+|/)" ;
+		if (Pattern.matches(startRegex, s)) {
+			return true;
+		}
+		if (Pattern.matches(endRegex, s)) {
+			return true;
+		}
+		return false;
+	}
+
+
+	/**
+	 * 以最大长度分隔符分隔
+	 * @param s
+	 * @return
+	 */
+	public static List<String> verifySplit(String s) {
+		s = s.replaceAll("\\(", "(");
+		s = s.replaceAll("\\)", ")");
+		s = s.replaceAll(" ", "");
+		String regex =
+				"\\)任一\\+\\(" + "|\\)任二\\+\\(" + "|\\)任三\\+\\(" + "|\\)任四\\+\\(" + "|\\)任五\\+\\(" + "|\\)任六\\+\\(" + "|\\)任七\\+\\(" + "|\\)任八\\+\\(" + "|\\)任九\\+\\(" + "|\\)任十\\+\\(" +
+						"|\\)任一\\+" + "|\\)任二\\+"  + "|\\)任三\\+" + "|\\)任四\\+" + "|\\)任五\\+" + "|\\)任六\\+" + "|\\)任七\\+" + "|\\)任八\\+" + "|\\)任九\\+" + "|\\)任十\\+" +
+						"|\\)任一" + "|\\)任二" + "|\\)任三" + "|\\)任四" + "|\\)任五" + "|\\)任六" + "|\\)任七" + "|\\)任八" + "|\\)任九" + "|\\)任十" +
+						"|\\+\\(" +
+						"|\\(" +
+						"|\\)" +
+						"|\\+" +
+						"|/" ;
+		String[] arr = s.split(regex);
+		return Arrays.asList(arr);
+	}
+
+
+	/**
+	 * 校验括号是否匹配,是否嵌套
+	 * @param s
+	 * @return
+	 */
+	public static boolean verifyBracketNest(String s) {
+		Stack<Character> sc=new Stack<Character>();
+		char[] c=s.toCharArray();
+		for (int i = 0; i < c.length; i++) {
+			if (c[i]=='(') {
+				if(sc.isEmpty()) {
+					sc.push(c[i]);
+				} else {
+					if (sc.peek()=='(') {
+						return false;
+					}
+				}
+			}
+			else if (c[i]==')') {
+				if(sc.isEmpty()){
+					return false;
+				}
+				else{
+					if (sc.peek()=='(') {
+						sc.pop();
+					}
+				}
+			}
+		}
+		if (sc.empty()) {
+			return true;
+		}else {
+			return false;
+		}
+	}
+
+
+	/**
+	 * 校验任字前面是否“)”
+	 * @param s
+	 * @return
+	 */
+	public static boolean verifyRen(String s) {
+		int i = s.indexOf("任");
+		while(-1 != i) {
+			if(i == 0) {
+				return false;
+			} else {
+				char ch = s.charAt(i-1);
+				if (')' != ch) {
+					return false;
+				}
+				i =  s.indexOf("任", i + 1);
+			}
+		}
+		return true;
+	}
+
+
+	/**
+	 * 获取编码
+	 * @param s
+	 * @return
+	 */
+	public static List<String> splitCode(String s) {
+		List<String> res = new ArrayList<>();
+		String resg1 = "\\(|/|\\)|任一|任二|任三|任四|任五|任六|任七|任八|任九|任十|\\+";
+		String[] arr = s.split(resg1);
+		for(String str : arr) {
+			if (StringUtil.isNotEmpty(str)) {
+				res.add(str);
+			}
+		}
+		return res;
+	}
+
+
+	/**
+	 * 是否出现重复分隔符
+	 * @param s
+	 * @return
+	 */
+	public static boolean isRepeat(String s) {
+		String regex = ".*((\\()|(\\))|(\\+)|(//)|(任一)|(任二)|(任三)|(任四)|(任五)|(任六)|(任七)|(任八)|(任九)|(任十)){2,}.*";
+		return Pattern.matches(regex, s);
+	}
+
+
+	/**
+	 * 诊断类型(拟诊)匹配,拟诊两个字只能放首位
+	 * @param s
+	 * @return
+	 */
+	public static boolean verifyDiseaseType(String s) {
+		int index = s.indexOf("拟诊");
+		if (index > 0) {
+			return false;
+		}
+		index = s.indexOf( "拟诊", index+1); // 再次校验,防止出现多个拟诊
+		if (index > 0) {
+			return false;
+		}
+		return true;
+	}
+}

+ 35 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/DeleteDiagnoseVO.java

@@ -0,0 +1,35 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @author: ztg
+ * @time: 2019/1/28 15:45
+ */
+@Getter
+@Setter
+@ApiModel
+public class DeleteDiagnoseVO {
+
+    @NotNull(message="id不能为空")
+    @ApiModelProperty(value = "主键")
+    private Long id;
+
+    @NotBlank(message="状态值不能为空")
+    @ApiModelProperty("是否删除,N:未删除,Y:删除")
+    private String isDeleted;
+
+    @ApiModelProperty("删除备注")
+    private String remark;
+
+    @ApiModelProperty("修改人")
+    @NotBlank(message="修改人不能为空")
+    private String modifier;
+}

+ 32 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/DiagnoseDetailSaveVO.java

@@ -0,0 +1,32 @@
+package com.diagbot.vo;
+
+import com.diagbot.entity.DiagnoseDetailSave;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断依据表入参
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@Getter
+@Setter
+@ApiModel
+public class DiagnoseDetailSaveVO implements Serializable {
+
+    @ApiModelProperty(value = "疾病特征")
+    private List<DiagnoseDetailSave> disFeature = new ArrayList<>();
+
+    @ApiModelProperty(value = "疾病公式")
+    private List<DiagnoseDetailSave> disformula = new ArrayList<>();
+
+}

+ 35 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/DiagnosePageVO.java

@@ -0,0 +1,35 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 诊断依据表入参
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@Getter
+@Setter
+@ApiModel
+public class DiagnosePageVO extends Page implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "修改人")
+    private String modifier;
+
+    @ApiModelProperty(value = "诊断名称")
+    private String disName;
+
+    @ApiModelProperty(value = "是否问题词")
+    private String hasQuestion;
+
+}

+ 39 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/DiagnoseQuestionPageVO.java

@@ -0,0 +1,39 @@
+package com.diagbot.vo;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 诊断依据问题词表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@Getter
+@Setter
+public class DiagnoseQuestionPageVO extends Page implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 诊断名称
+     */
+    private String disName;
+
+    /**
+     * 类型
+     */
+    private String type;
+
+    /**
+     * 问题词
+     */
+    private String questionCode;
+
+}

+ 30 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/DiagnoseVerifyVO.java

@@ -0,0 +1,30 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 诊断依据校验全部数据入参
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@Getter
+@Setter
+@ApiModel
+public class DiagnoseVerifyVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("修改人")
+    @NotBlank(message="修改人不能为空")
+    private String modifier;
+
+}

+ 17 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/DiagnosticAllExportVO.java

@@ -0,0 +1,17 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年8月14日 下午2:11:45
+ */
+@Getter
+@Setter
+public class DiagnosticAllExportVO {
+
+	private Long diagnoseId;
+}

+ 19 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/DiagnosticBasisExportVO.java

@@ -0,0 +1,19 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年8月9日 上午10:25:03
+ */
+@Getter
+@Setter
+public class DiagnosticBasisExportVO {
+	private String disName;
+	private String question;
+	private String type;
+
+}

+ 28 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/DiseaseIndexVO.java

@@ -0,0 +1,28 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @description:
+ * @author: ztg
+ * @date: 2019/5/9 11:27
+ */
+@Getter
+@Setter
+@ApiModel
+public class DiseaseIndexVO {
+    @ApiModelProperty(value = "诊断名称")
+    @NotBlank(message="诊断名称不能为空")
+    private String name;
+
+    @ApiModelProperty(value = "诊断类型,值为18", hidden = true)
+    @NotNull(message="诊断名称不能为空")
+    private int libType;
+
+}

+ 26 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/GetDiagnoseDetailVO.java

@@ -0,0 +1,26 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 诊断依据表入参
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@Getter
+@Setter
+public class GetDiagnoseDetailVO implements Serializable {
+
+    @ApiModelProperty(value = "诊断依据主键")
+    @NotNull(message="诊断依据id不能为空")
+    private Long id;
+
+}

+ 17 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/NeoParamVO.java

@@ -0,0 +1,17 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @description: 图片更新|删除对接入参
+ * @author: zhoutg
+ * @date: 2019/8/12 10:45
+ */
+@Getter
+@Setter
+public class NeoParamVO {
+
+    private Long id; // 诊断主键
+
+}

+ 28 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/UpdateDiagnoseVO.java

@@ -0,0 +1,28 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @author: ztg
+ * @time: 2019/1/28 15:45
+ */
+@Getter
+@Setter
+@ApiModel
+public class UpdateDiagnoseVO {
+
+    @NotNull(message="id不能为空")
+    @ApiModelProperty(value = "主键")
+    private Long id;
+
+    @ApiModelProperty("修改人")
+    @NotBlank(message="修改人不能为空")
+    private String modifier;
+}

+ 146 - 0
knowledgeman-service/src/main/java/com/diagbot/web/DiagnoseController.java

@@ -0,0 +1,146 @@
+package com.diagbot.web;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.ConceptBaseDTO;
+import com.diagbot.dto.DiagnoseDetailSaveDTO;
+import com.diagbot.dto.DiagnosePageDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.VerifyDataDTO;
+import com.diagbot.entity.wrapper.DiagnoseWrapper;
+import com.diagbot.facade.DiagnoseFacade;
+import com.diagbot.facade.LibraryInfoFacade;
+import com.diagbot.vo.DeleteDiagnoseVO;
+import com.diagbot.vo.DiagnosePageVO;
+import com.diagbot.vo.DiseaseIndexVO;
+import com.diagbot.vo.GetDiagnoseDetailVO;
+import com.diagbot.vo.UpdateDiagnoseVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断依据表 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@RestController
+@RequestMapping("/diagnose")
+@Api(value = "知识库标准化-诊断依据数据维护相关API", tags = { "知识库标准化-诊断依据数据维护相关API" })
+public class DiagnoseController {
+
+    @Autowired
+    DiagnoseFacade diagnoseFacade;
+    @Autowired
+    LibraryInfoFacade libraryInfoFacade;
+
+    @ApiOperation(value = "诊断依据-分页[by:zhoutg]", notes = "")
+    @PostMapping("/page")
+    @SysLogger("page")
+    public RespDTO<IPage<DiagnosePageDTO>> page(@RequestBody DiagnosePageVO diagnosePageVO) {
+        IPage<DiagnosePageDTO> data = diagnoseFacade.getListFac(diagnosePageVO);
+        return RespDTO.onSuc(data);
+    }
+
+
+    @ApiOperation(value = "诊断依据-删除[by:zhoutg]", notes = "")
+    @PostMapping("/delete")
+    @SysLogger("delete")
+    @Transactional
+    public RespDTO<Boolean> delete(@Valid @RequestBody DeleteDiagnoseVO deleteDiagnoseVO) {
+        diagnoseFacade.delete(deleteDiagnoseVO);
+        return RespDTO.onSuc(true);
+    }
+
+
+    @ApiOperation(value = "诊断依据-诊断检索[by:zhoutg]", notes = "")
+    @PostMapping("/index")
+    @SysLogger("index")
+    public RespDTO<List<ConceptBaseDTO>> index(@Valid @RequestBody DiseaseIndexVO diseaseIndexVO) {
+        List<ConceptBaseDTO> data = diagnoseFacade.indexFac(diseaseIndexVO);
+        return RespDTO.onSuc(data);
+    }
+
+
+    @ApiOperation(value = "诊断依据-校验数据[by:zhoutg]")
+    @PostMapping("/verifyData")
+    @SysLogger("verifyData")
+    @Transactional
+    public RespDTO<VerifyDataDTO> verifyData(@RequestBody DiagnoseWrapper diagnoseWrapper) {
+        VerifyDataDTO diagnoseDetailList = diagnoseFacade.verifyData(diagnoseWrapper);
+        return RespDTO.onSuc(diagnoseDetailList);
+    }
+
+
+    @ApiOperation(value = "诊断依据-校验所有数据[by:zhoutg]")
+    @PostMapping("/verifyAllData")
+    @SysLogger("verifyAllData")
+    @Transactional
+    public RespDTO<String> verifyAllData() {
+        String str = diagnoseFacade.verifyAllData();
+        return RespDTO.onSuc(str);
+    }
+
+
+    @ApiOperation(value = "诊断依据-更新图谱[by:zhoutg]")
+    @PostMapping("/updateNeo")
+    @SysLogger("updateNeo")
+    @Transactional
+    public RespDTO<Boolean> updateNeo4j(@RequestBody UpdateDiagnoseVO updateDiagnoseVO) {
+        diagnoseFacade.updateNeo(updateDiagnoseVO);
+        return RespDTO.onSuc(true);
+    }
+
+
+    @ApiOperation(value = "诊断依据-获取详情[by:zhoutg]")
+    @PostMapping("/getDetail")
+    @SysLogger("getDetail")
+    public RespDTO<DiagnoseDetailSaveDTO> getDetail(@Valid @RequestBody GetDiagnoseDetailVO getDiagnoseDetailVO) {
+        DiagnoseDetailSaveDTO diagnoseDetailSaveDTO = diagnoseFacade.getDetail(getDiagnoseDetailVO);
+        return RespDTO.onSuc(diagnoseDetailSaveDTO);
+    }
+
+
+    @ApiOperation(value = "诊断依据-加载诊断依据所需词库[by:zhoutg]")
+    @PostMapping("/loadRedisWithDiagnose")
+    @SysLogger("loadRedisWithDiagnose")
+    @ApiIgnore
+    public RespDTO<Boolean> loadRedisWithDiagnose() {
+        libraryInfoFacade.loadRedisWithDiagnose();
+        return RespDTO.onSuc(true);
+    }
+
+
+    @ApiOperation(value = "诊断依据-添加测试数据[by:zhoutg]")
+    @PostMapping("/add")
+    @SysLogger("add")
+    @ApiIgnore
+    public RespDTO<String> addTest() {
+        String str = diagnoseFacade.addTest();
+        return RespDTO.onSuc(str);
+    }
+
+
+    @ApiOperation(value = "诊断依据-初始化图谱数据[by:zhoutg]")
+    @PostMapping("/initNeo")
+    @SysLogger("initNeo")
+    @Transactional
+    @ApiIgnore
+    public RespDTO<Boolean> initNeo() {
+        diagnoseFacade.initNeo();
+        return RespDTO.onSuc(true);
+    }
+}

+ 19 - 0
knowledgeman-service/src/main/java/com/diagbot/web/DiagnoseDetailController.java

@@ -0,0 +1,19 @@
+package com.diagbot.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 诊断依据明细表 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@RestController
+@RequestMapping("/diagnoseDetail")
+public class DiagnoseDetailController {
+
+}

+ 67 - 0
knowledgeman-service/src/main/java/com/diagbot/web/DiagnoseExportImportController.java

@@ -0,0 +1,67 @@
+package com.diagbot.web;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.diagbot.annotation.SysLoggerExport;
+import com.diagbot.facade.DiagnoseImportFacade;
+import com.diagbot.util.GsonUtil;
+import com.diagbot.vo.DiagnosticAllExportVO;
+import com.diagbot.vo.DiagnosticBasisExportVO;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import springfox.documentation.annotations.ApiIgnore;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年8月8日 下午1:26:22
+ */
+@RestController
+@RequestMapping("/diagnose")
+@Api(value = "知识库标准化-诊断依据导出相关API[by:wangfeng]", tags = { "知识库标准化-诊断依据导出相关API——WF" })
+@SuppressWarnings("unchecked")
+public class DiagnoseExportImportController {
+
+	@Autowired
+	DiagnoseImportFacade diagnoseImportFacade;
+
+    @ApiOperation(value = "导入诊断依据数据:[by:wangfeng]", notes = "导入诊断依据数据")
+    @PostMapping(value = "/importDiagnosticBasis", produces="text/html;charset=utf-8")
+    @ApiIgnore
+    public String importDiagnosticBasis(@RequestParam("uploadfile") MultipartFile file,HttpServletRequest request) {
+        return GsonUtil.toJson(diagnoseImportFacade.importDiagnosticBasisAll(file, request));
+    }
+    
+    @ApiOperation(value = "导出诊断依据问题:[by:wangfeng]", notes = "导出诊断依据问题")
+    @PostMapping("/exportDiagnosticBasis")
+    @SysLoggerExport("exportDiagnosticBasis")
+    @ResponseBody
+    public  void exportDiagnosticBasis(@RequestBody DiagnosticBasisExportVO diaExportVO,HttpServletRequest request,HttpServletResponse response)
+            throws Exception {
+    	diagnoseImportFacade.exportDiagnosticBasis(diaExportVO, response);
+        
+    }
+    
+    @ApiOperation(value = "导出诊断依据:[by:wangfeng]", notes = "导出诊断依据")
+    @PostMapping("/exportDiagnosticAll")
+    @SysLoggerExport("exportDiagnosticAll")
+    @ResponseBody
+    public  void exportDiagnosticAll(@RequestBody DiagnosticAllExportVO diaAllExportVO,HttpServletRequest request,HttpServletResponse response)
+            throws Exception {
+    	diagnoseImportFacade.exportDiagnosticAll(diaAllExportVO, response);
+        
+    }
+}

+ 46 - 0
knowledgeman-service/src/main/java/com/diagbot/web/DiagnoseQuestionController.java

@@ -0,0 +1,46 @@
+package com.diagbot.web;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.DiagnoseQuestionPageDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.DiagnoseQuestionFacade;
+import com.diagbot.vo.DiagnoseQuestionPageVO;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * <p>
+ * 诊断依据问题词表 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@RestController
+@RequestMapping("/diagnoseQuestion")
+@Api(value = "知识库标准化-问题词数据维护相关API[by:wangfeng]", tags = { "知识库标准化-问题词数据维护相关API——WF" })
+public class DiagnoseQuestionController {
+
+	@Autowired
+	DiagnoseQuestionFacade diagnoseQuestionFacade;
+
+	@ApiOperation(value = "诊断依据问题词数据维护-分页查询[by:wangfeng]")
+	@PostMapping("/queryQuestionPage")
+	@SysLogger("queryQuestionPage")
+	@Transactional
+	public RespDTO<IPage<DiagnoseQuestionPageDTO>> queryQuestionPage(@RequestBody DiagnoseQuestionPageVO diagnoseQuestionPageVO) {
+
+		IPage<DiagnoseQuestionPageDTO> data = diagnoseQuestionFacade.queryQuestionPage(diagnoseQuestionPageVO);
+		return RespDTO.onSuc(data);
+	}
+
+}

+ 52 - 0
knowledgeman-service/src/main/resources/mapper/DiagnoseDetailMapper.xml

@@ -0,0 +1,52 @@
+<?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.DiagnoseDetailMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.DiagnoseDetail">
+        <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="diagnose_id" property="diagnoseId" />
+        <result column="dis_name" property="disName" />
+        <result column="type" property="type" />
+        <result column="code" property="code" />
+        <result column="standard" property="standard" />
+        <result column="relation" property="relation" />
+        <result column="result" property="result" />
+        <result column="formula" property="formula" />
+        <result column="order_no" property="orderNo" />
+        <result column="verify_code" property="verifyCode" />
+        <result column="verify_standard" property="verifyStandard" />
+        <result column="verify_relation" property="verifyRelation" />
+        <result column="verify_result" property="verifyResult" />
+        <result column="verify_formula" property="verifyFormula" />
+    </resultMap>
+
+    <update id="updateBatch">
+        <foreach collection="list" item="item"  separator=";">
+            update kl_diagnose_detail
+            <set>
+                <if test="item.verifyCode != null">
+                    verify_code = #{item.verifyCode},
+                </if>
+                <if test="item.verifyStandard != null">
+                    verify_standard = #{item.verifyStandard},
+                </if>
+                <if test="item.verifyRelation != null">
+                    verify_relation = #{item.verifyRelation},
+                </if>
+                <if test="item.verifyResult != null">
+                    verify_result = #{item.verifyResult},
+                </if>
+                <if test="item.verifyFormula != null">
+                    verify_formula = #{item.verifyFormula}
+                </if>
+            </set>
+            where id = #{item.id}
+        </foreach>
+    </update>
+</mapper>

+ 61 - 0
knowledgeman-service/src/main/resources/mapper/DiagnoseMapper.xml

@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.DiagnoseMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.Diagnose">
+        <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="dis_name" property="disName" />
+        <result column="has_question" property="hasQuestion" />
+        <result column="neo_update" property="neoUpdate" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+
+    <select id="getList" resultType="com.diagbot.dto.DiagnosePageDTO">
+        SELECT * from kl_diagnose a
+        where a.is_deleted = 'N'
+        <if test="disName != null and disName != ''">
+            and a.dis_name like concat('%',#{disName} ,'%' )
+        </if>
+        <if test="modifier != null and modifier != ''">
+            and a.modifier like concat('%',#{modifier} ,'%' )
+        </if>
+        <if test="hasQuestion != null and hasQuestion != ''">
+            and a.has_question = #{hasQuestion}
+        </if>
+        ORDER BY a.has_question desc, a.gmt_modified desc
+    </select>
+
+    <select id="index" resultType="com.diagbot.dto.ConceptBaseDTO">
+        SELECT a.lib_name name, a.id conceptId FROM kl_concept a
+        WHERE a.lib_type = #{libType}
+        AND a.lib_name LIKE concat('%', #{name}, '%')
+        AND a.is_deleted = 'N'
+        AND NOT EXISTS (
+            SELECT 1 FROM kl_diagnose b
+            WHERE
+                b.is_deleted = 'N'
+            AND a.lib_name = b.dis_name
+        )
+    </select>
+
+
+    <update id="updateBatch">
+        <foreach collection="list" item="item"  separator=";">
+            update kl_diagnose
+            <set>
+                <if test="item.hasQuestion != null">
+                    has_question = #{item.hasQuestion}
+                </if>
+            </set>
+            where id = #{item.id}
+        </foreach>
+    </update>
+
+</mapper>

+ 29 - 0
knowledgeman-service/src/main/resources/mapper/DiagnoseQuestionMapper.xml

@@ -0,0 +1,29 @@
+<?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.DiagnoseQuestionMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.DiagnoseQuestion">
+        <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="diagnose_id" property="diagnoseId" />
+        <result column="dis_name" property="disName" />
+        <result column="type" property="type" />
+        <result column="question_name" property="questionName" />
+        <result column="question_type" property="questionType" />
+        <result column="order_no" property="orderNo" />
+    </resultMap>
+
+    <insert id="insertBatch">
+        INSERT INTO kl_diagnose_question(gmt_create, gmt_modified, diagnose_id, dis_name, `type`, question_name, question_type, order_no) VALUES
+        <foreach collection="list" item="item" index="index" separator=",">
+            (
+            #{item.gmtCreate},#{item.gmtModified},#{item.diagnoseId},#{item.disName},#{item.type},#{item.questionName},#{item.questionType},#{item.orderNo}
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 16 - 0
knowledgeman-service/src/main/resources/mapper/LibraryInfoMapper.xml

@@ -18,4 +18,20 @@
         <result column="remark" property="remark" />
     </resultMap>
 
+    <select id="getLibraryForDiagnose" resultType="com.diagbot.dto.LibraryForDiagnoseDTO">
+        SELECT name, type_id from kl_library_info where is_deleted = 'N'
+        and type_id in (1,5,12,13,14,16,17,18,35,70)
+    </select>
+
+    <select id="getLibraryForDiagnose2" resultType="java.lang.String">
+        SELECT concat(a.name, '_', a.type_id)  from kl_library_info a, kl_concept b
+        where a.is_deleted = 'N' and b.is_deleted = 'N' and a.concept_id = b.id
+        and a.type_id in (1,5,12,13,14,16,17,18,35,70)
+    </select>
+
+    <select id="putRedis" resultType="com.diagbot.dto.RedisWithDiagnoseDTO">
+        SELECT concat(name, '_', type_id) w_key,IF(is_concept=1,a.name,(select lib_name from kl_concept b where b.id = a.concept_id) ) w_val
+        from kl_library_info a where  a.is_deleted = 'N'
+        and type_id in (1,5,12,13,14,16,17,18,35,70)
+    </select>
 </mapper>

+ 2 - 2
knowledgeman-service/src/test/java/com/diagbot/CodeGeneration.java

@@ -33,7 +33,7 @@ public class CodeGeneration {
         gc.setEnableCache(false);// XML 二级缓存
         gc.setBaseResultMap(true);// XML ResultMap
         gc.setBaseColumnList(false);// XML columList
-        gc.setAuthor("gaodm");// 作者
+        gc.setAuthor("zhoutg");// 作者
 
         // 自定义文件命名,注意 %s 会自动填充表实体属性!
         gc.setControllerName("%sController");
@@ -56,7 +56,7 @@ public class CodeGeneration {
         StrategyConfig strategy = new StrategyConfig();
         strategy.setTablePrefix(new String[] { "kl_" });// 此处可以修改为您的表前缀
         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "kl_concept_common"}); // 需要生成的表
+        strategy.setInclude(new String[] { "kl_diagnose_question"}); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);