Browse Source

Merge branch 'develop' into dev/prec20191023_iq

gaodm 5 years ago
parent
commit
0ce3f70f89
78 changed files with 4522 additions and 738 deletions
  1. 199 0
      aipt-service/src/main/java/com/diagbot/aggregate/TreatmentAggregate.java
  2. 158 134
      aipt-service/src/main/java/com/diagbot/facade/TreatmentFacade.java
  3. 4 4
      aipt-service/src/main/resources/mapper/ConceptMapper.xml
  4. 5 0
      bi-service/pom.xml
  5. 31 0
      bi-service/src/main/java/com/diagbot/aggregate/BiAggregate.java
  6. 43 0
      bi-service/src/main/java/com/diagbot/aggregate/KnowledgemanAgg.java
  7. 49 0
      bi-service/src/main/java/com/diagbot/aggregate/NeoAgg.java
  8. 32 0
      bi-service/src/main/java/com/diagbot/aggregate/PrecmanAgg.java
  9. 14 0
      bi-service/src/main/java/com/diagbot/client/IcssmanServiceClient.java
  10. 24 0
      bi-service/src/main/java/com/diagbot/client/KnowledgemanServiceClient.java
  11. 19 0
      bi-service/src/main/java/com/diagbot/client/NeoServiceClient.java
  12. 19 0
      bi-service/src/main/java/com/diagbot/client/PrecmanServiceClient.java
  13. 16 0
      bi-service/src/main/java/com/diagbot/client/hystrix/IcssmanServiceHystrix.java
  14. 31 0
      bi-service/src/main/java/com/diagbot/client/hystrix/KnowledgemanServiceHystrix.java
  15. 24 0
      bi-service/src/main/java/com/diagbot/client/hystrix/NeoServiceHystrix.java
  16. 23 0
      bi-service/src/main/java/com/diagbot/client/hystrix/PrecmanServiceHystrix.java
  17. 0 1
      bi-service/src/main/java/com/diagbot/client/hystrix/UserServiceHystrix.java
  18. 28 0
      bi-service/src/main/java/com/diagbot/dto/BIDTO.java
  19. 17 0
      bi-service/src/main/java/com/diagbot/dto/BIItemDTO.java
  20. 18 0
      bi-service/src/main/java/com/diagbot/dto/BIModuleDTO.java
  21. 18 0
      bi-service/src/main/java/com/diagbot/dto/PrecCountDTO.java
  22. 64 0
      bi-service/src/main/java/com/diagbot/enums/StatisticsDetailTypeEnum.java
  23. 58 0
      bi-service/src/main/java/com/diagbot/enums/StatisticsTypeEnum.java
  24. 243 0
      bi-service/src/main/java/com/diagbot/facade/StatisticsFacade.java
  25. 34 0
      bi-service/src/main/java/com/diagbot/web/StatisticsController.java
  26. 0 110
      bi-service/src/main/java/com/diagbot/web/SysLogController.java
  27. 1 1
      common/src/main/java/com/diagbot/enums/ProductTypeEnum.java
  28. 5 0
      config-server/src/main/resources/shared/bi-service-dev.yml
  29. 5 0
      config-server/src/main/resources/shared/bi-service-local.yml
  30. 5 0
      config-server/src/main/resources/shared/bi-service-pro.yml
  31. 5 0
      config-server/src/main/resources/shared/bi-service-test.yml
  32. 1 1
      config-server/src/main/resources/shared/knowledgeman-service-dev.yml
  33. 28 28
      docs/015.20190827诊断依据脚本/init_diagnose.sql
  34. 9 0
      docs/015.20190827诊断依据脚本/init_diagnose2-3.sql
  35. 936 0
      docs/015.20190827诊断依据脚本/init_user2-3.sql
  36. 7 0
      docs/019.20191011数据服务模式医学知识和量表搜索/init_tran.sql
  37. 1049 0
      docs/020.20191016BI数据统计/init_user.sql
  38. 3 0
      knowledgeman-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  39. 3 0
      knowledgeman-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  40. 17 0
      knowledgeman-service/src/main/java/com/diagbot/dto/BIItemDTO.java
  41. 1 1
      knowledgeman-service/src/main/java/com/diagbot/entity/CommonParam.java
  42. 15 1
      knowledgeman-service/src/main/java/com/diagbot/entity/DiagnoseDetail.java
  43. 10 0
      knowledgeman-service/src/main/java/com/diagbot/entity/DiagnoseDetailSave.java
  44. 1 0
      knowledgeman-service/src/main/java/com/diagbot/enums/HasQuestionEnum.java
  45. 18 1
      knowledgeman-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java
  46. 14 2
      knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java
  47. 235 74
      knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseFacade.java
  48. 412 376
      knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseImportFacade.java
  49. 31 0
      knowledgeman-service/src/main/java/com/diagbot/facade/LisMappingFacade.java
  50. 9 1
      knowledgeman-service/src/main/java/com/diagbot/mapper/ConceptDetailMapper.java
  51. 8 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/ConceptMapper.java
  52. 10 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/DiagnoseMapper.java
  53. 21 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/LisMappingMapper.java
  54. 8 0
      knowledgeman-service/src/main/java/com/diagbot/service/ConceptDetailService.java
  55. 9 0
      knowledgeman-service/src/main/java/com/diagbot/service/DiagnoseService.java
  56. 20 0
      knowledgeman-service/src/main/java/com/diagbot/service/LisMappingService.java
  57. 12 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/ConceptDetailServiceImpl.java
  58. 7 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/DiagnoseServiceImpl.java
  59. 23 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/LisMappingServiceImpl.java
  60. 43 0
      knowledgeman-service/src/main/java/com/diagbot/vo/DiagnoseSearchVO.java
  61. 25 0
      knowledgeman-service/src/main/java/com/diagbot/vo/LisMappingSearch.java
  62. 18 0
      knowledgeman-service/src/main/java/com/diagbot/vo/LisMappingSearchVO.java
  63. 9 0
      knowledgeman-service/src/main/java/com/diagbot/web/ConceptController.java
  64. 12 1
      knowledgeman-service/src/main/java/com/diagbot/web/ConceptDetailController.java
  65. 21 1
      knowledgeman-service/src/main/java/com/diagbot/web/DiagnoseController.java
  66. 1 0
      knowledgeman-service/src/main/java/com/diagbot/web/DiagnoseDetailController.java
  67. 14 0
      knowledgeman-service/src/main/java/com/diagbot/web/LisMappingController.java
  68. 37 0
      knowledgeman-service/src/main/resources/mapper/ConceptDetailMapper.xml
  69. 35 0
      knowledgeman-service/src/main/resources/mapper/ConceptMapper.xml
  70. 7 1
      knowledgeman-service/src/main/resources/mapper/DiagnoseDetailMapper.xml
  71. 42 0
      knowledgeman-service/src/main/resources/mapper/DiagnoseMapper.xml
  72. 30 0
      knowledgeman-service/src/main/resources/mapper/LisMappingMapper.xml
  73. 1 0
      precman-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  74. 1 0
      precman-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  75. 17 0
      precman-service/src/main/java/com/diagbot/dto/BIItemDTO.java
  76. 17 0
      precman-service/src/main/java/com/diagbot/dto/PrecCountDTO.java
  77. 40 0
      precman-service/src/main/java/com/diagbot/facade/CountFacade.java
  78. 43 0
      precman-service/src/main/java/com/diagbot/web/CountController.java

+ 199 - 0
aipt-service/src/main/java/com/diagbot/aggregate/TreatmentAggregate.java

@@ -0,0 +1,199 @@
+package com.diagbot.aggregate;
+
+import com.diagbot.client.bean.AdverseReaction;
+import com.diagbot.client.bean.Medicition;
+import com.diagbot.client.bean.MedicitionClass;
+import com.diagbot.dto.ConceptDetailDTO;
+import com.diagbot.entity.Concept;
+import com.diagbot.entity.ConceptDetail;
+import com.diagbot.enums.ConceptTypeEnum;
+import com.diagbot.enums.LexiconTypeEnum;
+import com.diagbot.enums.PositionTypeEnum;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.ListUtil;
+import io.github.lvyahui8.spring.annotation.DataConsumer;
+import io.github.lvyahui8.spring.annotation.DataProvider;
+import io.github.lvyahui8.spring.annotation.InvokeParameter;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/10/24 10:01
+ */
+@Component
+public class TreatmentAggregate {
+
+    @DataProvider("setTreatmentAll")
+    public Map<String, Object> setTreatmentAll(@InvokeParameter("treatmentMap") Map<String, Object> treatmentMap,
+                                               @DataConsumer("setCommonTreatment") ConceptDetailDTO commonTreatment,
+                                               @DataConsumer("setSurgeryTreatment") ConceptDetailDTO surgeryTreatment,
+                                               @DataConsumer("setDrugs") List<MedicitionClass> drugsList,
+                                               @DataConsumer("setAdverseReactions") List<AdverseReaction> adverseReactionList) {
+        if (treatmentMap == null) {
+            treatmentMap = new LinkedHashMap<>();
+        }
+        treatmentMap.put("commonTreatment", commonTreatment);
+        treatmentMap.put("surgeryTreatment", surgeryTreatment);
+        treatmentMap.put("treatment", drugsList);
+        treatmentMap.put("adverseReactions", adverseReactionList);
+
+        return treatmentMap;
+    }
+
+    @DataProvider("setCommonTreatment")
+    public ConceptDetailDTO setCommonTreatment(@InvokeParameter("diseaseName") String diseaseName,
+                                               @InvokeParameter("hasConDetailMap") Map<String, Map<Long, List<ConceptDetail>>> hasConDetailMap) {
+        ConceptDetailDTO conceptDetailDTO = null;
+        if (hasConDetailMap != null && hasConDetailMap.get(diseaseName) != null
+                && ListUtil.isNotEmpty(hasConDetailMap
+                .get(diseaseName)
+                .get(Long.valueOf(LexiconTypeEnum.DIAGNOSIS.getKey())))) {
+            List<ConceptDetail> diseaseConDetailList
+                    = hasConDetailMap.get(diseaseName).get(Long.valueOf(LexiconTypeEnum.DIAGNOSIS.getKey()));
+            for (ConceptDetail conceptDetail : diseaseConDetailList) {
+                List<String> positionList = Arrays.asList(conceptDetail.getPosition().split(",|,"));
+                if (positionList.contains(String.valueOf(PositionTypeEnum.T3.getKey()))) {
+                    conceptDetailDTO = new ConceptDetailDTO();
+                    BeanUtil.copyProperties(conceptDetail, conceptDetailDTO);
+                    break;
+                }
+            }
+        }
+        return conceptDetailDTO;
+    }
+
+    @DataProvider("setSurgeryTreatment")
+    public ConceptDetailDTO setSurgeryTreatment(@InvokeParameter("diseaseName") String diseaseName,
+                                                @InvokeParameter("hasConDetailMap") Map<String, Map<Long, List<ConceptDetail>>> hasConDetailMap) {
+        ConceptDetailDTO conceptDetailDTO = null;
+        if (hasConDetailMap != null && hasConDetailMap.get(diseaseName) != null
+                && ListUtil.isNotEmpty(hasConDetailMap
+                .get(diseaseName)
+                .get(Long.valueOf(LexiconTypeEnum.DIAGNOSIS.getKey())))) {
+            List<ConceptDetail> diseaseConDetailList
+                    = hasConDetailMap.get(diseaseName).get(Long.valueOf(LexiconTypeEnum.DIAGNOSIS.getKey()));
+            for (ConceptDetail conceptDetail : diseaseConDetailList) {
+                List<String> positionList = Arrays.asList(conceptDetail.getPosition().split(",|,"));
+                if (positionList.contains(String.valueOf(PositionTypeEnum.T4.getKey()))) {
+                    conceptDetailDTO = new ConceptDetailDTO();
+                    BeanUtil.copyProperties(conceptDetail, conceptDetailDTO);
+                    break;
+                }
+            }
+        }
+        return conceptDetailDTO;
+    }
+
+    @DataProvider("setDrugs")
+    public List<MedicitionClass> setDrugs(@InvokeParameter("drugsList") List<MedicitionClass> drugsList,
+                                          @InvokeParameter("conceptMap") Map<String, Map<Long, Concept>> conceptMap,
+                                          @InvokeParameter("hasConDetailMap") Map<String, Map<Long, List<ConceptDetail>>> hasConDetailMap) {
+        if (ListUtil.isNotEmpty(drugsList)) {
+            for (MedicitionClass medicitionClass : drugsList) {
+                if (conceptMap != null
+                        && conceptMap.get(medicitionClass.getBigdrugsName()) != null
+                        && conceptMap.get(medicitionClass
+                        .getBigdrugsName())
+                        .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
+                    Concept cateBigConcept = conceptMap
+                            .get(medicitionClass.getBigdrugsName())
+                            .get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()));
+                    if (cateBigConcept != null) {
+                        medicitionClass.setBigdrugsConceptId(cateBigConcept.getId());
+                        if (hasConDetailMap != null
+                                && hasConDetailMap.get(cateBigConcept.getLibName()) != null
+                                && hasConDetailMap.get(cateBigConcept.getLibName())
+                                .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
+                            medicitionClass.setShowInfo("1");
+                        } else {
+                            medicitionClass.setShowInfo("0");
+                        }
+                    }
+                }
+                medicitionClass.setBigdrgusLibType(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey());
+                medicitionClass.setBigdrugsType(ConceptTypeEnum.Drug_Category_Big.getKey());
+                if (conceptMap != null
+                        && conceptMap.get(medicitionClass.getSubdrugsName()) != null
+                        && conceptMap.get(medicitionClass.getSubdrugsName())
+                        .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()))) {
+                    Concept cateSmallConcept = conceptMap
+                            .get(medicitionClass.getSubdrugsName())
+                            .get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()));
+                    if (cateSmallConcept != null) {
+                        medicitionClass.setSubdrugsConceptId(cateSmallConcept.getId());
+                    }
+                }
+                medicitionClass.setSubdrugsLibType(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey());
+                medicitionClass.setSubdrugsType(ConceptTypeEnum.Drug_Category_Small.getKey());
+
+                LinkedList<Medicition> medicitionList = medicitionClass.getMedicitionsList();
+                for (Medicition medicition : medicitionList) {
+                    if (conceptMap != null
+                            && conceptMap.get(medicition.getMedicitionName()) != null
+                            && conceptMap.get(medicition.getMedicitionName())
+                            .containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
+                        Concept drugConcept = conceptMap
+                                .get(medicition.getMedicitionName())
+                                .get(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()));
+                        if (drugConcept != null) {
+                            medicition.setConceptId(drugConcept.getId());
+                        }
+                    }
+                    medicition.setLibType(LexiconTypeEnum.DRUGS.getKey());
+                    medicition.setType(ConceptTypeEnum.Drug.getKey());
+                    if (hasConDetailMap != null
+                            && hasConDetailMap.get(medicition.getMedicitionName()) != null
+                            && hasConDetailMap.get(medicition.getMedicitionName())
+                            .containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
+                        medicition.setShowInfo("1");
+                    } else {
+                        medicition.setShowInfo("0");
+                    }
+                }
+                medicitionClass.setMedicitionsList(medicitionList);
+            }
+        }
+        return drugsList;
+    }
+
+    @DataProvider("setAdverseReactions")
+    public List<AdverseReaction> setAdverseReactions(@InvokeParameter("adverseReactionList") List<AdverseReaction> adverseReactionList,
+                                                     @InvokeParameter("conceptMap") Map<String, Map<Long, Concept>> conceptMap,
+                                                     @InvokeParameter("hasConDetailMap") Map<String, Map<Long, List<ConceptDetail>>> hasConDetailMap,
+                                                     @InvokeParameter("isChronic") Boolean isChronic) {
+        if (isChronic) {
+            //不良反应
+            for (AdverseReaction adverseReaction : adverseReactionList) {
+                if (conceptMap != null
+                        && conceptMap.get(adverseReaction.getName()) != null
+                        && conceptMap.get(adverseReaction.getName())
+                        .containsKey(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()))) {
+                    Concept adConcept = conceptMap
+                            .get(adverseReaction.getName())
+                            .get(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()));
+                    if (adConcept != null) {
+                        adverseReaction.setConceptId(adConcept.getId());
+                    }
+                }
+                adverseReaction.setLibType(LexiconTypeEnum.SIDE_EFFECTS.getKey());
+                adverseReaction.setType(ConceptTypeEnum.SIDE_EFFECTS.getKey());
+                if (hasConDetailMap != null
+                        && hasConDetailMap.get(adverseReaction.getName()) != null
+                        && hasConDetailMap.get(adverseReaction.getName())
+                        .containsKey(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()))) {
+                    adverseReaction.setShowInfo("1");
+                } else {
+                    adverseReaction.setShowInfo("0");
+                }
+            }
+        }
+        return adverseReactionList;
+    }
+}

+ 158 - 134
aipt-service/src/main/java/com/diagbot/facade/TreatmentFacade.java

@@ -4,29 +4,25 @@ import com.alibaba.fastjson.JSONObject;
 import com.diagbot.client.bean.AdverseReaction;
 import com.diagbot.client.bean.Medicition;
 import com.diagbot.client.bean.MedicitionClass;
-import com.diagbot.dto.ConceptDetailDTO;
 import com.diagbot.dto.ConceptRes;
 import com.diagbot.entity.Concept;
 import com.diagbot.entity.ConceptDetail;
 import com.diagbot.entity.wrapper.ConceptWrapper;
-import com.diagbot.enums.ConceptTypeEnum;
 import com.diagbot.enums.DisTypeEnum;
 import com.diagbot.enums.LexiconRSTypeEnum;
 import com.diagbot.enums.LexiconTypeEnum;
-import com.diagbot.enums.PositionTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
-import com.diagbot.util.BeanUtil;
 import com.diagbot.util.FastJsonUtils;
 import com.diagbot.util.ListUtil;
 import com.diagbot.vo.ConceptBaseVO;
 import com.google.common.collect.Lists;
+import io.github.lvyahui8.spring.aggregate.facade.DataBeanAggregateQueryFacade;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.util.Arrays;
+import java.util.HashMap;
 import java.util.LinkedHashMap;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -38,10 +34,13 @@ import java.util.stream.Collectors;
  */
 @Component
 public class TreatmentFacade {
+
     @Autowired
     ConceptFacade conceptFacade;
     @Autowired
     ConceptDetailFacade conceptDetailFacade;
+    @Autowired
+    DataBeanAggregateQueryFacade dataBeanAggregateQueryFacade;
 
     /**
      * 获取治疗方案
@@ -118,103 +117,8 @@ public class TreatmentFacade {
         //说明信息是否存在
         Map<String, Map<Long, List<ConceptDetail>>> hasConDetailMap = conceptDetailFacade.hasConDetail(conceptList);
 
-        //一般治疗&&手术治疗
-        if (hasConDetailMap != null && hasConDetailMap.get(diseaseName) != null
-                && ListUtil.isNotEmpty(hasConDetailMap
-                .get(diseaseName)
-                .get(Long.valueOf(LexiconTypeEnum.DIAGNOSIS.getKey())))) {
-            List<ConceptDetail> diseaseConDetailList
-                    = hasConDetailMap.get(diseaseName).get(Long.valueOf(LexiconTypeEnum.DIAGNOSIS.getKey()));
-            for (ConceptDetail conceptDetail : diseaseConDetailList) {
-                ConceptDetailDTO conceptDetailDTO = new ConceptDetailDTO();
-                List<String> positionList = Arrays.asList(conceptDetail.getPosition().split(",|,"));
-                if (positionList.contains(String.valueOf(PositionTypeEnum.T3.getKey()))
-                        && retMap.get("commonTreatment") == null) {
-                    BeanUtil.copyProperties(conceptDetail, conceptDetailDTO);
-                    retMap.put("commonTreatment", conceptDetailDTO);
-                }
-                if (positionList.contains(String.valueOf(PositionTypeEnum.T4.getKey()))
-                        && retMap.get("surgeryTreatment") == null) {
-                    BeanUtil.copyProperties(conceptDetail, conceptDetailDTO);
-                    retMap.put("surgeryTreatment", conceptDetailDTO);
-                }
-            }
-        }
-        if (!retMap.containsKey("commonTreatment")) {
-            retMap.put("commonTreatment", null);
-        }
-        if (!retMap.containsKey("surgeryTreatment")) {
-            retMap.put("surgeryTreatment", null);
-        }
-
-        if (ListUtil.isNotEmpty(drugsList)) {
-            for (MedicitionClass medicitionClass : drugsList) {
-                if (conceptMap != null
-                        && conceptMap.get(medicitionClass.getBigdrugsName()) != null
-                        && conceptMap.get(medicitionClass
-                        .getBigdrugsName())
-                        .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
-                    Concept cateBigConcept = conceptMap
-                            .get(medicitionClass.getBigdrugsName())
-                            .get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()));
-                    if (cateBigConcept != null) {
-                        medicitionClass.setBigdrugsConceptId(cateBigConcept.getId());
-                        if (hasConDetailMap != null
-                                && hasConDetailMap.get(cateBigConcept.getLibName()) != null
-                                && hasConDetailMap.get(cateBigConcept.getLibName())
-                                .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
-                            medicitionClass.setShowInfo("1");
-                        } else {
-                            medicitionClass.setShowInfo("0");
-                        }
-                    }
-                }
-                medicitionClass.setBigdrgusLibType(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey());
-                medicitionClass.setBigdrugsType(ConceptTypeEnum.Drug_Category_Big.getKey());
-                if (conceptMap != null
-                        && conceptMap.get(medicitionClass.getSubdrugsName()) != null
-                        && conceptMap.get(medicitionClass.getSubdrugsName())
-                        .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()))) {
-                    Concept cateSmallConcept = conceptMap
-                            .get(medicitionClass.getSubdrugsName())
-                            .get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()));
-                    if (cateSmallConcept != null) {
-                        medicitionClass.setSubdrugsConceptId(cateSmallConcept.getId());
-                    }
-                }
-                medicitionClass.setSubdrugsLibType(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey());
-                medicitionClass.setSubdrugsType(ConceptTypeEnum.Drug_Category_Small.getKey());
-
-                LinkedList<Medicition> medicitionList = medicitionClass.getMedicitionsList();
-                for (Medicition medicition : medicitionList) {
-                    if (conceptMap != null
-                            && conceptMap.get(medicition.getMedicitionName()) != null
-                            && conceptMap.get(medicition.getMedicitionName())
-                            .containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
-                        Concept drugConcept = conceptMap
-                                .get(medicition.getMedicitionName())
-                                .get(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()));
-                        if (drugConcept != null) {
-                            medicition.setConceptId(drugConcept.getId());
-                        }
-                    }
-                    medicition.setLibType(LexiconTypeEnum.DRUGS.getKey());
-                    medicition.setType(ConceptTypeEnum.Drug.getKey());
-                    if (hasConDetailMap != null
-                            && hasConDetailMap.get(medicition.getMedicitionName()) != null
-                            && hasConDetailMap.get(medicition.getMedicitionName())
-                            .containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
-                        medicition.setShowInfo("1");
-                    } else {
-                        medicition.setShowInfo("0");
-                    }
-                }
-                medicitionClass.setMedicitionsList(medicitionList);
-            }
-        }
-        retMap.put("treatment", drugsList);
-
-        //判断是否慢病,慢病增加回访时间,上次用药,不良反应
+        //判断是否慢病
+        Boolean isChronic = false;
         if (disType != null && disType.equals(DisTypeEnum.CHRONIC.getKey())) {
             //验证是否慢病
             conceptBaseVO.setName("慢病");
@@ -229,39 +133,159 @@ public class TreatmentFacade {
             conceptWrapper.setEndType(LexiconTypeEnum.TYPES_OF_DISEASE.getKey());
             conceptWrapper.setRelationType(LexiconRSTypeEnum.INCLUDE_OF.getKey());
             List<ConceptRes> conceptResList = conceptFacade.getConcept(conceptWrapper);
-            Boolean isChronic = ListUtil.isNotEmpty(conceptResList);
-            if (isChronic) {
-                //慢病,增加回访时间,暂时前端写死, 以后由只是图谱返回
-                retMap.put("followUp", null);
-                //上次用药-icss层处理
-                retMap.put("drugHistory", null);
-                //不良反应
-                for (AdverseReaction adverseReaction : adverseReactionList) {
-                    if (conceptMap != null
-                            && conceptMap.get(adverseReaction.getName()) != null
-                            && conceptMap.get(adverseReaction.getName())
-                            .containsKey(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()))) {
-                        Concept adConcept = conceptMap
-                                .get(adverseReaction.getName())
-                                .get(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()));
-                        if (adConcept != null) {
-                            adverseReaction.setConceptId(adConcept.getId());
-                        }
-                    }
-                    adverseReaction.setLibType(LexiconTypeEnum.SIDE_EFFECTS.getKey());
-                    adverseReaction.setType(ConceptTypeEnum.SIDE_EFFECTS.getKey());
-                    if (hasConDetailMap != null
-                            && hasConDetailMap.get(adverseReaction.getName()) != null
-                            && hasConDetailMap.get(adverseReaction.getName())
-                            .containsKey(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()))) {
-                        adverseReaction.setShowInfo("1");
-                    } else {
-                        adverseReaction.setShowInfo("0");
-                    }
-                }
-                retMap.put("adverseReactions", adverseReactionList);
+            isChronic = ListUtil.isNotEmpty(conceptResList);
+        }
+
+        try {
+            Map<String, Object> invokeParams = new HashMap<>();
+            invokeParams.put("treatmentMap", retMap);
+            invokeParams.put("diseaseName", diseaseName);
+            invokeParams.put("drugsList", drugsList);
+            invokeParams.put("conceptMap", conceptMap);
+            invokeParams.put("hasConDetailMap", hasConDetailMap);
+            invokeParams.put("adverseReactionList", adverseReactionList);
+            invokeParams.put("isChronic", isChronic);
+
+            retMap
+                    = dataBeanAggregateQueryFacade.get("setTreatmentAll", invokeParams, Map.class);
+        } catch (Exception e) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR);
+        }
+        //判断是否慢病,慢病增加回访时间,上次用药,不良反应
+        if (isChronic) {
+            if (retMap == null) {
+                retMap = new LinkedHashMap<>();
             }
+            //慢病,增加回访时间,暂时前端写死, 以后由只是图谱返回
+            retMap.put("followUp", null);
+            //上次用药-icss层处理
+            retMap.put("drugHistory", null);
         }
+
+        //        //一般治疗&&手术治疗
+        //        if (hasConDetailMap != null && hasConDetailMap.get(diseaseName) != null
+        //                && ListUtil.isNotEmpty(hasConDetailMap
+        //                .get(diseaseName)
+        //                .get(Long.valueOf(LexiconTypeEnum.DIAGNOSIS.getKey())))) {
+        //            List<ConceptDetail> diseaseConDetailList
+        //                    = hasConDetailMap.get(diseaseName).get(Long.valueOf(LexiconTypeEnum.DIAGNOSIS.getKey()));
+        //            for (ConceptDetail conceptDetail : diseaseConDetailList) {
+        //                ConceptDetailDTO conceptDetailDTO = new ConceptDetailDTO();
+        //                List<String> positionList = Arrays.asList(conceptDetail.getPosition().split(",|,"));
+        //                if (positionList.contains(String.valueOf(PositionTypeEnum.T3.getKey()))
+        //                        && retMap.get("commonTreatment") == null) {
+        //                    BeanUtil.copyProperties(conceptDetail, conceptDetailDTO);
+        //                    retMap.put("commonTreatment", conceptDetailDTO);
+        //                }
+        //                if (positionList.contains(String.valueOf(PositionTypeEnum.T4.getKey()))
+        //                        && retMap.get("surgeryTreatment") == null) {
+        //                    BeanUtil.copyProperties(conceptDetail, conceptDetailDTO);
+        //                    retMap.put("surgeryTreatment", conceptDetailDTO);
+        //                }
+        //            }
+        //        }
+        //        if (!retMap.containsKey("commonTreatment")) {
+        //            retMap.put("commonTreatment", null);
+        //        }
+        //        if (!retMap.containsKey("surgeryTreatment")) {
+        //            retMap.put("surgeryTreatment", null);
+        //        }
+
+        //        if (ListUtil.isNotEmpty(drugsList)) {
+        //            for (MedicitionClass medicitionClass : drugsList) {
+        //                if (conceptMap != null
+        //                        && conceptMap.get(medicitionClass.getBigdrugsName()) != null
+        //                        && conceptMap.get(medicitionClass
+        //                        .getBigdrugsName())
+        //                        .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
+        //                    Concept cateBigConcept = conceptMap
+        //                            .get(medicitionClass.getBigdrugsName())
+        //                            .get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()));
+        //                    if (cateBigConcept != null) {
+        //                        medicitionClass.setBigdrugsConceptId(cateBigConcept.getId());
+        //                        if (hasConDetailMap != null
+        //                                && hasConDetailMap.get(cateBigConcept.getLibName()) != null
+        //                                && hasConDetailMap.get(cateBigConcept.getLibName())
+        //                                .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey()))) {
+        //                            medicitionClass.setShowInfo("1");
+        //                        } else {
+        //                            medicitionClass.setShowInfo("0");
+        //                        }
+        //                    }
+        //                }
+        //                medicitionClass.setBigdrgusLibType(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey());
+        //                medicitionClass.setBigdrugsType(ConceptTypeEnum.Drug_Category_Big.getKey());
+        //                if (conceptMap != null
+        //                        && conceptMap.get(medicitionClass.getSubdrugsName()) != null
+        //                        && conceptMap.get(medicitionClass.getSubdrugsName())
+        //                        .containsKey(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()))) {
+        //                    Concept cateSmallConcept = conceptMap
+        //                            .get(medicitionClass.getSubdrugsName())
+        //                            .get(Long.valueOf(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey()));
+        //                    if (cateSmallConcept != null) {
+        //                        medicitionClass.setSubdrugsConceptId(cateSmallConcept.getId());
+        //                    }
+        //                }
+        //                medicitionClass.setSubdrugsLibType(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey());
+        //                medicitionClass.setSubdrugsType(ConceptTypeEnum.Drug_Category_Small.getKey());
+        //
+        //                LinkedList<Medicition> medicitionList = medicitionClass.getMedicitionsList();
+        //                for (Medicition medicition : medicitionList) {
+        //                    if (conceptMap != null
+        //                            && conceptMap.get(medicition.getMedicitionName()) != null
+        //                            && conceptMap.get(medicition.getMedicitionName())
+        //                            .containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
+        //                        Concept drugConcept = conceptMap
+        //                                .get(medicition.getMedicitionName())
+        //                                .get(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()));
+        //                        if (drugConcept != null) {
+        //                            medicition.setConceptId(drugConcept.getId());
+        //                        }
+        //                    }
+        //                    medicition.setLibType(LexiconTypeEnum.DRUGS.getKey());
+        //                    medicition.setType(ConceptTypeEnum.Drug.getKey());
+        //                    if (hasConDetailMap != null
+        //                            && hasConDetailMap.get(medicition.getMedicitionName()) != null
+        //                            && hasConDetailMap.get(medicition.getMedicitionName())
+        //                            .containsKey(Long.valueOf(LexiconTypeEnum.DRUGS.getKey()))) {
+        //                        medicition.setShowInfo("1");
+        //                    } else {
+        //                        medicition.setShowInfo("0");
+        //                    }
+        //                }
+        //                medicitionClass.setMedicitionsList(medicitionList);
+        //            }
+        //        }
+        //        retMap.put("treatment", drugsList);
+
+
+        //        //不良反应
+        //        for (AdverseReaction adverseReaction : adverseReactionList) {
+        //            if (conceptMap != null
+        //                    && conceptMap.get(adverseReaction.getName()) != null
+        //                    && conceptMap.get(adverseReaction.getName())
+        //                    .containsKey(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()))) {
+        //                Concept adConcept = conceptMap
+        //                        .get(adverseReaction.getName())
+        //                        .get(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()));
+        //                if (adConcept != null) {
+        //                    adverseReaction.setConceptId(adConcept.getId());
+        //                }
+        //            }
+        //            adverseReaction.setLibType(LexiconTypeEnum.SIDE_EFFECTS.getKey());
+        //            adverseReaction.setType(ConceptTypeEnum.SIDE_EFFECTS.getKey());
+        //            if (hasConDetailMap != null
+        //                    && hasConDetailMap.get(adverseReaction.getName()) != null
+        //                    && hasConDetailMap.get(adverseReaction.getName())
+        //                    .containsKey(Long.valueOf(LexiconTypeEnum.SIDE_EFFECTS.getKey()))) {
+        //                adverseReaction.setShowInfo("1");
+        //            } else {
+        //                adverseReaction.setShowInfo("0");
+        //            }
+        //        }
+        //        retMap.put("adverseReactions", adverseReactionList);
+
+
         return retMap;
     }
 

+ 4 - 4
aipt-service/src/main/resources/mapper/ConceptMapper.xml

@@ -680,7 +680,7 @@
                                 AND t2.is_deleted = 'N'
                                 AND t3.is_deleted = 'N'
                                 AND t6.is_deleted = 'N'
-                                AND t1.lib_type = 13
+                                AND t1.lib_type = 12
                                 AND (
                                     t2.spell LIKE CONCAT('%', UPPER(#{InputStr}), '%')
                                     OR t2. NAME LIKE CONCAT('%',(#{InputStr}), '%')
@@ -874,7 +874,7 @@
                     (
                         SELECT
                             b2.id conceptId,
-                            b2.lib_name `name`,
+                            CONCAT(b1.parentName,'(',b1.selfName,')') `name`,
                             41 AS orderNo,
                             b1.retrievalName retrievalName,
                             b1.showType + 20 showType,
@@ -931,7 +931,7 @@
                     (
                         SELECT
                             b2.id conceptId,
-                            b2.lib_name `name`,
+                            CONCAT(b1.parentName,'(',b1.selfName,')') `name`,
                             42 AS orderNo,
                             b1.retrievalName retrievalName,
                             b1.showType + 20 showType,
@@ -988,7 +988,7 @@
                     (
                         SELECT
                             b2.id conceptId,
-                            b2.lib_name `name`,
+                            CONCAT(b1.parentName,'(',b1.selfName,')') `name`,
                             43 AS orderNo,
                             b1.retrievalName retrievalName,
                             b1.showType + 20 showType,

+ 5 - 0
bi-service/pom.xml

@@ -154,6 +154,11 @@
             <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>io.github.lvyahui8</groupId>
+            <artifactId>spring-boot-data-aggregator-starter</artifactId>
+        </dependency>
+
     </dependencies>
 
     <build>

+ 31 - 0
bi-service/src/main/java/com/diagbot/aggregate/BiAggregate.java

@@ -0,0 +1,31 @@
+package com.diagbot.aggregate;
+
+import com.diagbot.dto.BIItemDTO;
+import com.diagbot.util.ListUtil;
+import io.github.lvyahui8.spring.annotation.DataConsumer;
+import io.github.lvyahui8.spring.annotation.DataProvider;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2019/10/16 13:37
+ */
+@Component
+public class BiAggregate {
+    @DataProvider("biAll")
+    public List<BIItemDTO> biAll(
+            @DataConsumer("conceptDetailBI") List<BIItemDTO> biItemDTOListA,
+            @DataConsumer("queryLibTypeCou") List<BIItemDTO> biItemDTOListB,
+            @DataConsumer("precGetCount") List<BIItemDTO> biItemDTOListC,
+            @DataConsumer("neoStatistics") List<BIItemDTO> biItemDTOListD) {
+        List<BIItemDTO> res = ListUtil.newArrayList();
+        res.addAll(biItemDTOListA);
+        res.addAll(biItemDTOListB);
+        res.addAll(biItemDTOListC);
+        res.addAll(biItemDTOListD);
+        return res;
+    }
+}

+ 43 - 0
bi-service/src/main/java/com/diagbot/aggregate/KnowledgemanAgg.java

@@ -0,0 +1,43 @@
+package com.diagbot.aggregate;
+
+import com.diagbot.client.KnowledgemanServiceClient;
+import com.diagbot.dto.BIItemDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.util.RespDTOUtil;
+import com.google.common.collect.Lists;
+import io.github.lvyahui8.spring.annotation.DataProvider;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2019/10/16 13:29
+ */
+@Component
+public class KnowledgemanAgg {
+    @Autowired
+    private KnowledgemanServiceClient knowledgemanServiceClient;
+
+    @DataProvider("conceptDetailBI")
+    public List<BIItemDTO> conceptDetailBI(){
+        List<BIItemDTO> biItemDTOList = Lists.newLinkedList();
+        RespDTO<List<BIItemDTO>> cdResp = knowledgemanServiceClient.conceptDetailBI();
+        if (RespDTOUtil.respIsOK(cdResp)) {
+            biItemDTOList.addAll(cdResp.data);
+        }
+        return biItemDTOList;
+    }
+
+    @DataProvider("queryLibTypeCou")
+    public List<BIItemDTO> queryLibTypeCou(){
+        List<BIItemDTO> biItemDTOList = Lists.newLinkedList();
+        RespDTO<List<BIItemDTO>> conceptResp = knowledgemanServiceClient.queryLibTypeCou();
+        if (RespDTOUtil.respIsOK(conceptResp)) {
+            biItemDTOList.addAll(conceptResp.data);
+        }
+        return biItemDTOList;
+    }
+}

+ 49 - 0
bi-service/src/main/java/com/diagbot/aggregate/NeoAgg.java

@@ -0,0 +1,49 @@
+package com.diagbot.aggregate;
+
+import com.diagbot.client.NeoServiceClient;
+import com.diagbot.dto.BIItemDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.RespDTOUtil;
+import com.google.common.collect.Lists;
+import io.github.lvyahui8.spring.annotation.DataProvider;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/10/17 10:26
+ */
+@Component
+public class NeoAgg {
+    @Autowired
+    private NeoServiceClient neoServiceClient;
+
+    @DataProvider("neoStatistics")
+    public List<BIItemDTO> neoStatistics() {
+        List<BIItemDTO> biItemDTOList = neoServiceClient.neoStatistics();
+        if (ListUtil.isEmpty(biItemDTOList)) {
+            BIItemDTO disease = new BIItemDTO();
+            disease.setModuleName("疾病");
+            disease.setItemName("图谱推送的疾病");
+            disease.setCount(0);
+            biItemDTOList.add(disease);
+
+            BIItemDTO diseaseForChild = new BIItemDTO();
+            diseaseForChild.setModuleName("疾病");
+            diseaseForChild.setItemName("图谱推送的儿科疾病");
+            diseaseForChild.setCount(0);
+            biItemDTOList.add(diseaseForChild);
+
+            BIItemDTO gauge = new BIItemDTO();
+            gauge.setModuleName("量表");
+            gauge.setItemName("量表总数");
+            gauge.setCount(0);
+            biItemDTOList.add(diseaseForChild);
+        }
+        return biItemDTOList;
+    }
+}

+ 32 - 0
bi-service/src/main/java/com/diagbot/aggregate/PrecmanAgg.java

@@ -0,0 +1,32 @@
+package com.diagbot.aggregate;
+
+import com.diagbot.client.PrecmanServiceClient;
+import com.diagbot.dto.BIItemDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.util.RespDTOUtil;
+import com.google.common.collect.Lists;
+import io.github.lvyahui8.spring.annotation.DataProvider;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2019/10/16 13:35
+ */
+@Component
+public class PrecmanAgg {
+    @Autowired
+    private PrecmanServiceClient precmanServiceClient;
+    @DataProvider("precGetCount")
+    public List<BIItemDTO> precGetCount(){
+        List<BIItemDTO> biItemDTOList = Lists.newLinkedList();
+        RespDTO<BIItemDTO> precResp = precmanServiceClient.getCount();
+        if (RespDTOUtil.respIsOK(precResp)) {
+            biItemDTOList.add(precResp.data);
+        }
+        return biItemDTOList;
+    }
+}

+ 14 - 0
bi-service/src/main/java/com/diagbot/client/IcssmanServiceClient.java

@@ -0,0 +1,14 @@
+package com.diagbot.client;
+
+import com.diagbot.client.hystrix.IcssmanServiceHystrix;
+import org.springframework.cloud.openfeign.FeignClient;
+
+/**
+ * @Description: 调用ICSS后台
+ * @author: gaodm
+ * @time: 2019/10/15 11:08
+ */
+@FeignClient(value = "icssman-service", fallback = IcssmanServiceHystrix.class)
+public interface IcssmanServiceClient {
+
+}

+ 24 - 0
bi-service/src/main/java/com/diagbot/client/KnowledgemanServiceClient.java

@@ -0,0 +1,24 @@
+package com.diagbot.client;
+
+import com.diagbot.client.hystrix.KnowledgemanServiceHystrix;
+import com.diagbot.dto.BIItemDTO;
+import com.diagbot.dto.PrecCountDTO;
+import com.diagbot.dto.RespDTO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+import java.util.List;
+
+/**
+ * @Description: 调用知识库后台
+ * @author: gaodm
+ * @time: 2019/10/15 11:08
+ */
+@FeignClient(value = "knowledgeman-service", fallback = KnowledgemanServiceHystrix.class)
+public interface KnowledgemanServiceClient {
+    @PostMapping("/conceptDetail/conceptDetailBI")
+    RespDTO<List<BIItemDTO>> conceptDetailBI();
+
+    @PostMapping("/concept/queryLibTypeCou")
+    RespDTO<List<BIItemDTO>> queryLibTypeCou();
+}

+ 19 - 0
bi-service/src/main/java/com/diagbot/client/NeoServiceClient.java

@@ -0,0 +1,19 @@
+package com.diagbot.client;
+
+import com.diagbot.client.hystrix.NeoServiceHystrix;
+import com.diagbot.dto.BIItemDTO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+import java.util.List;
+
+/**
+ * @Description:图谱服务
+ * @Author:zhaops
+ * @time: 2019/10/17 10:21
+ */
+@FeignClient(name = "neo", url = "${neo.server.address}", fallback = NeoServiceHystrix.class)
+public interface NeoServiceClient {
+    @PostMapping("/knowledge/neoStatistics")
+    List<BIItemDTO> neoStatistics();
+}

+ 19 - 0
bi-service/src/main/java/com/diagbot/client/PrecmanServiceClient.java

@@ -0,0 +1,19 @@
+package com.diagbot.client;
+
+import com.diagbot.client.hystrix.PrecmanServiceHystrix;
+import com.diagbot.dto.BIItemDTO;
+import com.diagbot.dto.RespDTO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+/**
+ * @Description: 调用智能预问诊后台
+ * @author: gaodm
+ * @time: 2019/10/15 11:08
+ */
+@FeignClient(value = "precman-service", fallback = PrecmanServiceHystrix.class)
+public interface PrecmanServiceClient {
+
+    @PostMapping("/count_prec/getCount")
+    RespDTO<BIItemDTO> getCount();
+}

+ 16 - 0
bi-service/src/main/java/com/diagbot/client/hystrix/IcssmanServiceHystrix.java

@@ -0,0 +1,16 @@
+package com.diagbot.client.hystrix;
+
+import com.diagbot.client.IcssmanServiceClient;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description: 调用ICSS后台
+ * @author: gaodm
+ * @time: 2019/10/15 11:08
+ */
+@Component
+@Slf4j
+public class IcssmanServiceHystrix implements IcssmanServiceClient {
+
+}

+ 31 - 0
bi-service/src/main/java/com/diagbot/client/hystrix/KnowledgemanServiceHystrix.java

@@ -0,0 +1,31 @@
+package com.diagbot.client.hystrix;
+
+import com.diagbot.client.KnowledgemanServiceClient;
+import com.diagbot.dto.BIItemDTO;
+import com.diagbot.dto.PrecCountDTO;
+import com.diagbot.dto.RespDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description: 调用知识库后台
+ * @author: gaodm
+ * @time: 2019/10/15 11:08
+ */
+@Component
+@Slf4j
+public class KnowledgemanServiceHystrix implements KnowledgemanServiceClient {
+    @Override
+    public RespDTO<List<BIItemDTO>> conceptDetailBI() {
+        log.error("【hystrix】调用{}异常", "conceptDetailBI");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<BIItemDTO>> queryLibTypeCou() {
+        log.error("【hystrix】调用{}异常", "queryLibTypeCou");
+        return null;
+    }
+}

+ 24 - 0
bi-service/src/main/java/com/diagbot/client/hystrix/NeoServiceHystrix.java

@@ -0,0 +1,24 @@
+package com.diagbot.client.hystrix;
+
+import com.diagbot.client.NeoServiceClient;
+import com.diagbot.dto.BIItemDTO;
+import com.diagbot.dto.RespDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:图谱服务
+ * @Author:zhaops
+ * @time: 2019/10/17 10:21
+ */
+@Component
+@Slf4j
+public class NeoServiceHystrix implements NeoServiceClient {
+    @Override
+    public List<BIItemDTO> neoStatistics() {
+        log.error("【hystrix】调用{}异常", "neoStatistics");
+        return null;
+    }
+}

+ 23 - 0
bi-service/src/main/java/com/diagbot/client/hystrix/PrecmanServiceHystrix.java

@@ -0,0 +1,23 @@
+package com.diagbot.client.hystrix;
+
+import com.diagbot.client.PrecmanServiceClient;
+import com.diagbot.dto.BIItemDTO;
+import com.diagbot.dto.RespDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description: 调用智能预问诊后台
+ * @author: gaodm
+ * @time: 2019/10/15 11:08
+ */
+@Component
+@Slf4j
+public class PrecmanServiceHystrix implements PrecmanServiceClient {
+
+    @Override
+    public RespDTO<BIItemDTO> getCount() {
+        log.error("【hystrix】调用{}异常", "getCount");
+        return null;
+    }
+}

+ 0 - 1
bi-service/src/main/java/com/diagbot/client/hystrix/UserServiceHystrix.java

@@ -10,7 +10,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import java.util.List;
 import java.util.Map;
 
-
 /**
  * @Description: 调用用户服务
  * @author: gaodm

+ 28 - 0
bi-service/src/main/java/com/diagbot/dto/BIDTO.java

@@ -0,0 +1,28 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/10/15 16:30
+ */
+@Getter
+@Setter
+public class BIDTO {
+    private BIModuleDTO diagnose;
+    private BIModuleDTO symptom;
+    private BIModuleDTO vital;
+    private BIModuleDTO lis;
+    private BIModuleDTO pacs;
+    private BIModuleDTO drug;
+    private BIModuleDTO operation;
+    private BIModuleDTO gauge;
+    private BIModuleDTO prec;
+    private BIModuleDTO treat;
+    private BIModuleDTO conceptDetail;
+    private Date gmtOperate;
+}

+ 17 - 0
bi-service/src/main/java/com/diagbot/dto/BIItemDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/10/15 15:32
+ */
+@Getter
+@Setter
+public class BIItemDTO {
+    private String moduleName;
+    private String itemName;
+    private Integer count;
+}

+ 18 - 0
bi-service/src/main/java/com/diagbot/dto/BIModuleDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/10/15 16:30
+ */
+@Getter
+@Setter
+public class BIModuleDTO {
+    private String moduleName;
+    private List<BIItemDTO> items;
+}

+ 18 - 0
bi-service/src/main/java/com/diagbot/dto/PrecCountDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @description: 返回预问诊统计内容
+ * @author: zhoutg
+ * @date: 2019/10/15 14:22
+ */
+@Getter
+@Setter
+public class PrecCountDTO {
+
+    @ApiModelProperty(value = "症状数量")
+    private int symptomNum;
+}

+ 64 - 0
bi-service/src/main/java/com/diagbot/enums/StatisticsDetailTypeEnum.java

@@ -0,0 +1,64 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/10/22 10:23
+ */
+public enum StatisticsDetailTypeEnum implements KeyedNamed {
+    DiseaseCount(1, "疾病总数"),
+    NeoDiseaseCount(2, "图谱推送的疾病"),
+    NeoPediatricDiseaseCount(3, "图谱推送的儿科疾病"),
+    SymptomCount(4, "症状标准词"),
+    VitalResultCount(5, "体征结果"),
+    VitalIndexCount(6, "体征指标"),
+    LisPackageCount(7, "化验套餐"),
+    LisDetailCount(8, "化验明细"),
+    PacsItemCount(9, "辅检项目"),
+    DrugCount(10, "药品通用名"),
+    OperationCount(11, "手术项目"),
+    GaugeCount(12, "量表总数"),
+    PrecSymptomCount(13, "预问诊症状条目"),
+    TreatCount(14, "治疗数目"),
+    ConceptDetailCount(15, "静态知识总数"),
+    ConceptDetailDiseaseCount(16, "疾病"),
+    LisTableCount(17, "化验公表项");
+
+    @Setter
+    private int key;
+
+    @Setter
+    private String name;
+
+    StatisticsDetailTypeEnum(int key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static StatisticsDetailTypeEnum getEnum(int key) {
+        for (StatisticsDetailTypeEnum item : StatisticsDetailTypeEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(int key) {
+        StatisticsDetailTypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}

+ 58 - 0
bi-service/src/main/java/com/diagbot/enums/StatisticsTypeEnum.java

@@ -0,0 +1,58 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/10/15 17:00
+ */
+public enum StatisticsTypeEnum implements KeyedNamed {
+    DIAGNOSE(1, "疾病"),
+    SYMPTOM(2, "症状"),
+    VITAL(3, "体征"),
+    LIS(4, "化验"),
+    PACS(5, "辅检"),
+    DRUG(6, "药品"),
+    OPERATION(7, "手术"),
+    GAUGE(8, "量表"),
+    PREC(9, "智能预问诊"),
+    TREAT(10, "治疗"),
+    CONCEPT_DETAIL(11, "静态知识");
+
+    @Setter
+    private int key;
+
+    @Setter
+    private String name;
+
+    StatisticsTypeEnum(int key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static StatisticsTypeEnum getEnum(int key) {
+        for (StatisticsTypeEnum item : StatisticsTypeEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(int key) {
+        StatisticsTypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}

+ 243 - 0
bi-service/src/main/java/com/diagbot/facade/StatisticsFacade.java

@@ -0,0 +1,243 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.BIDTO;
+import com.diagbot.dto.BIItemDTO;
+import com.diagbot.dto.BIModuleDTO;
+import com.diagbot.enums.StatisticsDetailTypeEnum;
+import com.diagbot.enums.StatisticsTypeEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ListUtil;
+import com.google.common.collect.Lists;
+import io.github.lvyahui8.spring.aggregate.facade.DataBeanAggregateQueryFacade;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/10/15 16:23
+ */
+@Component
+public class StatisticsFacade {
+    @Autowired
+    DataBeanAggregateQueryFacade dataBeanAggregateQueryFacade;
+
+    public BIDTO count() {
+        BIDTO bidto = new BIDTO();
+        List<BIItemDTO> biItemDTOList = ListUtil.newArrayList();
+        try {
+            biItemDTOList
+                    = dataBeanAggregateQueryFacade.get("biAll", null, List.class);
+        } catch (Exception e) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR);
+        }
+
+        Map<String, List<BIItemDTO>> map = EntityUtil.makeEntityListMap(biItemDTOList, "moduleName");
+        bidto.setDiagnose(getBIModuleDTO(map, StatisticsTypeEnum.DIAGNOSE.getKey()));
+        bidto.setSymptom(getBIModuleDTO(map, StatisticsTypeEnum.SYMPTOM.getKey()));
+        bidto.setVital(getBIModuleDTO(map, StatisticsTypeEnum.VITAL.getKey()));
+        bidto.setLis(getBIModuleDTO(map, StatisticsTypeEnum.LIS.getKey()));
+        bidto.setPacs(getBIModuleDTO(map, StatisticsTypeEnum.PACS.getKey()));
+        bidto.setDrug(getBIModuleDTO(map, StatisticsTypeEnum.DRUG.getKey()));
+        bidto.setOperation(getBIModuleDTO(map, StatisticsTypeEnum.OPERATION.getKey()));
+        bidto.setGauge(getBIModuleDTO(map, StatisticsTypeEnum.GAUGE.getKey()));
+        bidto.setPrec(getBIModuleDTO(map, StatisticsTypeEnum.PREC.getKey()));
+        bidto.setTreat(getBIModuleDTO(map, StatisticsTypeEnum.TREAT.getKey()));
+        bidto.setConceptDetail(getBIModuleDTO(map, StatisticsTypeEnum.CONCEPT_DETAIL.getKey()));
+        bidto.setGmtOperate(DateUtil.now());
+
+        return bidto;
+    }
+
+    public BIModuleDTO getBIModuleDTO(Map<String, List<BIItemDTO>> map, Integer key) {
+        BIModuleDTO biModuleDTO = new BIModuleDTO();
+        List<BIItemDTO> queryItemList = Lists.newLinkedList();
+        Map<String, BIItemDTO> biItemMap = new LinkedHashMap<>();
+        if (map.get(StatisticsTypeEnum.getName(key)) != null) {
+            List<BIItemDTO> biItemDTOList = map.get(StatisticsTypeEnum.getName(key));
+            biItemMap = EntityUtil.makeEntityMap(biItemDTOList, "itemName");
+        }
+        switch (StatisticsTypeEnum.getEnum(key)) {
+            case DIAGNOSE:
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.DiseaseCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.DiseaseCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.DIAGNOSE.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.DiseaseCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.NeoDiseaseCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.NeoDiseaseCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.DIAGNOSE.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.NeoDiseaseCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.NeoPediatricDiseaseCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.NeoPediatricDiseaseCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.DIAGNOSE.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.NeoPediatricDiseaseCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                break;
+            case SYMPTOM:
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.SymptomCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.SymptomCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.SYMPTOM.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.SymptomCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                break;
+            case VITAL:
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.VitalResultCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.VitalResultCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.VITAL.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.VitalResultCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.VitalIndexCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.VitalIndexCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.VITAL.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.VitalIndexCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                break;
+            case LIS:
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.LisPackageCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.LisPackageCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.LIS.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.LisPackageCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.LisDetailCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.LisDetailCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.LIS.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.LisDetailCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                break;
+            case PACS:
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.PacsItemCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.PacsItemCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.PACS.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.PacsItemCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                break;
+            case DRUG:
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.DrugCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.DrugCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.DRUG.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.DrugCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                break;
+            case OPERATION:
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.OperationCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.OperationCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.OPERATION.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.OperationCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                break;
+            case GAUGE:
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.GaugeCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.GaugeCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.GAUGE.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.GaugeCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                break;
+            case PREC:
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.PrecSymptomCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.PrecSymptomCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.PREC.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.PrecSymptomCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                break;
+            case TREAT:
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.TreatCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.TreatCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.TREAT.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.TreatCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                break;
+            case CONCEPT_DETAIL:
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.ConceptDetailCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.ConceptDetailCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.CONCEPT_DETAIL.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.ConceptDetailCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.ConceptDetailDiseaseCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.ConceptDetailDiseaseCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.CONCEPT_DETAIL.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.ConceptDetailDiseaseCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.LisTableCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.LisTableCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.CONCEPT_DETAIL.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.LisTableCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.PacsItemCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.PacsItemCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.CONCEPT_DETAIL.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.PacsItemCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                if (biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.DrugCount.getKey())) != null) {
+                    queryItemList.add(biItemMap.get(StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.DrugCount.getKey())));
+                } else {
+                    BIItemDTO biItemDTO = getItem(StatisticsTypeEnum.getName(StatisticsTypeEnum.CONCEPT_DETAIL.getKey()),
+                            StatisticsDetailTypeEnum.getName(StatisticsDetailTypeEnum.DrugCount.getKey()), 0);
+                    queryItemList.add(biItemDTO);
+                }
+                break;
+            default:
+                biModuleDTO = null;
+                break;
+
+        }
+        if (biModuleDTO != null) {
+            biModuleDTO.setModuleName(StatisticsTypeEnum.getName(key));
+            biModuleDTO.setItems(queryItemList);
+        }
+        return biModuleDTO;
+    }
+
+
+    public BIItemDTO getItem(String moduleName, String itemName, Integer count) {
+        BIItemDTO biItemDTO = new BIItemDTO();
+        biItemDTO.setModuleName(moduleName);
+        biItemDTO.setItemName(itemName);
+        biItemDTO.setCount(count);
+        return biItemDTO;
+    }
+}

+ 34 - 0
bi-service/src/main/java/com/diagbot/web/StatisticsController.java

@@ -0,0 +1,34 @@
+package com.diagbot.web;
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.BIDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.StatisticsFacade;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/10/15 17:33
+ */
+@RestController
+@RequestMapping("/statistics")
+@SuppressWarnings("unchecked")
+@Api(value = "BI-统计相关API", tags = { "BI-统计相关API" })
+public class StatisticsController {
+    @Autowired
+    StatisticsFacade statisticsFacade;
+
+    @ApiOperation(value = "数据统计[by:zhaops]", notes = "")
+    @PostMapping("/count")
+    @SysLogger("count")
+    public RespDTO<BIDTO> count() {
+        BIDTO data = statisticsFacade.count();
+        return RespDTO.onSuc(data);
+    }
+}

+ 0 - 110
bi-service/src/main/java/com/diagbot/web/SysLogController.java

@@ -1,110 +0,0 @@
-package com.diagbot.web;
-
-
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.dto.RespDTO;
-import com.diagbot.entity.SysLog;
-import com.diagbot.facade.SysLogFacade;
-import com.diagbot.vo.SysLogVo;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.Date;
-
-/**
- * @Description: 日志操作控制层
- * @author: gaodm
- * @time: 2018/8/30 10:12
- */
-@RestController
-@RequestMapping("/log")
-public class SysLogController {
-
-    @Autowired
-    private SysLogFacade sysLogFacade;
-
-    /**
-     * 新增日志信息
-     *
-     * @param sysLogVo 新增日志输入参数
-     * @return 新增日志是否成功
-     */
-    @ApiOperation(value = "添加日志", notes = "添加日志")
-    @PostMapping("/add")
-    @SysLogger("postLog")
-    public RespDTO add(@RequestBody SysLogVo sysLogVo) {
-        //初始化新增日志信息
-        SysLog sysLog = new SysLog();
-        sysLog.setGmtCreate(new Date());
-        sysLog.setIp(sysLogVo.getIp());
-        sysLog.setMethod(sysLogVo.getMethod());
-        sysLog.setOperation(sysLogVo.getOperation());
-        sysLog.setParams(sysLogVo.getParams());
-        return RespDTO.onSuc(sysLogFacade.save(sysLog) ? "添加成功" : "添加失败");
-    }
-
-    /**
-     * 删除日志
-     *
-     * @param id 日志信息ID
-     * @return 删除是否成功
-     */
-    @ApiOperation(value = "删除日志", notes = "删除日志")
-    @DeleteMapping("/delete/{id}")
-    @SysLogger("deleteLog")
-    public RespDTO delete(@PathVariable(value = "id") Integer id) {
-        return RespDTO.onSuc(sysLogFacade.removeById(id) ? "删除成功" : "删除失败");
-    }
-
-    /**
-     * 修改日志
-     *
-     * @param sysLog 修改日志输入参数
-     * @return 修改是否成功
-     */
-    @ApiOperation(value = "修改日志", notes = "修改日志")
-    @PostMapping("/update")
-    @SysLogger("updateLog")
-    public RespDTO update(@RequestBody SysLog sysLog) {
-        return RespDTO.onSuc(sysLogFacade.updateById(sysLog) ? "修改成功" : "修改失败");
-    }
-
-    /**
-     * 获取日志列表
-     *
-     * @return 日志列信息
-     */
-    @ApiOperation(value = "获取日志列表", notes = "获取日志列表")
-    @GetMapping("/list")
-    @SysLogger("listLog")
-    public RespDTO list() {
-        Wrapper<SysLog> wrapper = new QueryWrapper<>();
-        return RespDTO.onSuc(sysLogFacade.list(wrapper));
-    }
-
-    /**
-     * 获取日志翻页信息
-     *
-     * @return 日志翻页信息
-     */
-    @ApiOperation(value = "获取日志翻页信息", notes = "获取日志翻页信息")
-    @GetMapping("/page")
-    @SysLogger("pageLog")
-    public RespDTO page() {
-        //初始化日志翻页参数
-        IPage<SysLog> wrapper = new Page<>();
-        return RespDTO.onSuc(sysLogFacade.page(wrapper, null));
-    }
-}
-

+ 1 - 1
common/src/main/java/com/diagbot/enums/ProductTypeEnum.java

@@ -13,7 +13,7 @@ public enum ProductTypeEnum implements KeyedNamed {
     DIAGBOTCLOUD_OUTER(2, "云平台外部"),
     ICSS(3, "ICSS"),
     TRIAGE(4, "智能分诊"),
-    DATA(5, "数据服务模式"),
+    DATA(5, "页面推送模式"),
     PREC(6, "智能预问诊");
     @Setter
     private int key;

+ 5 - 0
config-server/src/main/resources/shared/bi-service-dev.yml

@@ -95,3 +95,8 @@ mybatis-plus:
     map-underscore-to-camel-case: true
     cache-enabled: false
 
+io.github.lvyahui8.spring.base-packages: com.diagbot.aggregate
+
+neo:
+  server:
+    address: http://192.168.2.234:5004

+ 5 - 0
config-server/src/main/resources/shared/bi-service-local.yml

@@ -95,3 +95,8 @@ mybatis-plus:
     map-underscore-to-camel-case: true
     cache-enabled: false
 
+io.github.lvyahui8.spring.base-packages: com.diagbot.aggregate
+
+neo:
+  server:
+    address: http://192.168.2.234:5004

+ 5 - 0
config-server/src/main/resources/shared/bi-service-pro.yml

@@ -95,3 +95,8 @@ mybatis-plus:
     map-underscore-to-camel-case: true
     cache-enabled: false
 
+io.github.lvyahui8.spring.base-packages: com.diagbot.aggregate
+
+neo:
+  server:
+    address: http://192.168.2.234:5004

+ 5 - 0
config-server/src/main/resources/shared/bi-service-test.yml

@@ -95,3 +95,8 @@ mybatis-plus:
     map-underscore-to-camel-case: true
     cache-enabled: false
 
+io.github.lvyahui8.spring.base-packages: com.diagbot.aggregate
+
+neo:
+  server:
+    address: http://192.168.2.241:5004

+ 1 - 1
config-server/src/main/resources/shared/knowledgeman-service-dev.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
       # 连接池的配置信息

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

@@ -6,17 +6,17 @@ use `med`;
 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:删除',
+  `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) 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 '是否问题词',
+  `creator` varchar(20)  NOT NULL DEFAULT '' COMMENT '创建人姓名',
+  `modifier` varchar(20)  NOT NULL DEFAULT '' COMMENT '修改人姓名',
+  `dis_name` varchar(255)  NOT NULL COMMENT '诊断名称',
+  `has_question` char(1)  NOT NULL DEFAULT '0' COMMENT '是否问题词',
   `neo_update` datetime DEFAULT NULL COMMENT '记录更新图谱的时间,如果时间是1970年则表示纪录未修改',
-  `remark` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '备注',
+  `remark` varchar(255)  NOT NULL DEFAULT '' COMMENT '备注',
   PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='诊断依据表';
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8  COMMENT='诊断依据表';
 
 -- ----------------------------
 -- Table structure for kl_diagnose_detail
@@ -24,28 +24,28 @@ CREATE TABLE `kl_diagnose` (
 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:删除',
+  `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) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '创建人姓名',
-  `modifier` varchar(20) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '修改人姓名',
+  `creator` varchar(20)  NOT NULL DEFAULT '' COMMENT '创建人姓名',
+  `modifier` varchar(20)  NOT NULL DEFAULT '' COMMENT '修改人姓名',
   `diagnose_id` bigint(20) NOT NULL COMMENT '诊断依据表主键',
-  `dis_name` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '诊断名称',
+  `dis_name` varchar(255)   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 '公式',
+  `code` varchar(20)   NOT NULL DEFAULT '' COMMENT '编码',
+  `standard` varchar(255)   NOT NULL DEFAULT '' COMMENT '标准词',
+  `relation` varchar(500)   NOT NULL DEFAULT '' COMMENT '关联词',
+  `result` varchar(255)   NOT NULL DEFAULT '' COMMENT '结果',
+  `formula` varchar(255)   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 '校验公式错误提示',
+  `verify_code` varchar(255)   NOT NULL DEFAULT '' COMMENT '校验编码错误提示',
+  `verify_standard` varchar(255)   NOT NULL DEFAULT '' COMMENT '校验标准词错误提示',
+  `verify_relation` varchar(255)   NOT NULL DEFAULT '' COMMENT '校验关联词错误提示',
+  `verify_result` varchar(255)   NOT NULL DEFAULT '' COMMENT '校验结果错误提示',
+  `verify_formula` varchar(255)   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='诊断依据明细表';
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8  COMMENT='诊断依据明细表';
 
 -- ----------------------------
 -- Table structure for kl_diagnose_question
@@ -53,17 +53,17 @@ CREATE TABLE `kl_diagnose_detail` (
 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:删除',
+  `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) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '创建人姓名',
-  `modifier` varchar(20) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '修改人姓名',
+  `creator` varchar(20)  NOT NULL DEFAULT '' COMMENT '创建人姓名',
+  `modifier` varchar(20)  NOT NULL DEFAULT '' COMMENT '修改人姓名',
   `diagnose_id` bigint(20) NOT NULL COMMENT '诊断依据表主键',
-  `dis_name` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '诊断名称',
+  `dis_name` varchar(255)   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_name` varchar(255)   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='诊断依据问题词表';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8  COMMENT='诊断依据问题词表';

+ 9 - 0
docs/015.20190827诊断依据脚本/init_diagnose2-3.sql

@@ -0,0 +1,9 @@
+use `med`;
+ALTER TABLE `kl_diagnose_detail`
+ADD COLUMN `unique_name` varchar(255) NOT NULL DEFAULT '' COMMENT '公表名称' AFTER `relation`;
+
+ALTER TABLE `kl_diagnose_detail`
+ADD COLUMN `mid_result` varchar(255) NOT NULL DEFAULT '' COMMENT '中间结果(例如:升高|阳性,不需要校验)' AFTER `unique_name`;
+
+ALTER TABLE `kl_diagnose_detail`
+ADD COLUMN `verify_unique` varchar(255) NOT NULL DEFAULT '' COMMENT '校验公表错误提示' AFTER `verify_relation`;

+ 936 - 0
docs/015.20190827诊断依据脚本/init_user2-3.sql

@@ -0,0 +1,936 @@
+use `sys-user`;
+
+
+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=61 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', 'ICSS数据维护', '-1', 'LT-YXSJWH', '5', '朗通-ICSS数据维护');
+INSERT INTO `sys_menu` VALUES ('24', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '标签组维护', '23', 'LT-YXSJWH-BQZWH', '10', '朗通-ICSS数据维护-标签组维护');
+INSERT INTO `sys_menu` VALUES ('25', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '独立类型标签维护', '23', 'LT-YXSJWH-DLLXBQWH', '20', '朗通-ICSS数据维护-独立类型标签维护');
+INSERT INTO `sys_menu` VALUES ('27', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '别名维护', '23', 'LT-YXSJWH-BMWH', '25', '朗通-ICSS数据维护-别名维护');
+INSERT INTO `sys_menu` VALUES ('28', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '模版维护', '23', 'LT-YXSJWH-MBWH', '30', '朗通-ICSS数据维护-模版维护');
+INSERT INTO `sys_menu` VALUES ('30', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'icss科室维护', '23', 'LT-YXSJWH-KSWH', '40', '朗通-ICSS数据维护-icss科室维护');
+INSERT INTO `sys_menu` VALUES ('31', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '常见选项维护', '23', 'LT-YXSJWH-CJXXWH', '45', '朗通-ICSS数据维护-常见选项维护');
+INSERT INTO `sys_menu` VALUES ('33', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '免责声明维护', '38', 'LT-YXSJKWH-MZSMWH', '90', '朗通-医学术语库维护-免责声明维护');
+INSERT INTO `sys_menu` VALUES ('34', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '版本信息维护', '60', 'LT-GBBXXWH-BBXXWH', '60', '朗通-各版本信息维护-版本信息维护');
+INSERT INTO `sys_menu` VALUES ('35', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '查体模板维护', '23', 'LT-YXSJWH-CTMBWH', '40', '朗通-ICSS数据维护-查体模板维护');
+INSERT INTO `sys_menu` VALUES ('37', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '提示信息维护', '23', 'LT-YXSJWH-TSXXWH', '50', '朗通-ICSS数据维护-提示信息维护');
+INSERT INTO `sys_menu` VALUES ('38', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护', '-1', 'LT-YXSYKWH', '6', '朗通-医学术语库维护');
+INSERT INTO `sys_menu` VALUES ('39', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语命名维护', '38', 'LT-YXSYKWH-YXSYMMWH', '10', '朗通-医学术语库维护-医学术语命名维护');
+INSERT INTO `sys_menu` VALUES ('40', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '术语医学属性维护', '38', 'LT-YXSYKWH-SYYXSXWH', '2', '朗通-医学术语库维护-术语医学属性维护');
+INSERT INTO `sys_menu` VALUES ('41', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语关系维护', '38', 'LT-YXSYKWH-YXSYGXWH', '20', '朗通-医学术语库维护-医学术语关系维护');
+INSERT INTO `sys_menu` VALUES ('42', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语静态知识维护', '38', 'LT-YXSYKWH-YXSYJTZSWH', '50', '朗通-医学术语库维护-医学术语静态知识维护');
+INSERT INTO `sys_menu` VALUES ('43', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '化验大小项与公表项对应维护', '38', 'LT-YXSJWH-HYDXXYGBXDY', '85', '朗通-医学术语库维护-化验大小项与公表项对应维护');
+INSERT INTO `sys_menu` VALUES ('44', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '慢病管理与评估维护', '23', 'LT-YXSJWH-MBGLYPG', '75', '朗通-ICSS数据维护-慢病管理与评估维护');
+INSERT INTO `sys_menu` VALUES ('45', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '慢病指标值关联维护', '38', 'LT-YXSYKWH-MBZBZGLWH', '70', '朗通-医学术语库维护-慢病指标值关联维护');
+INSERT INTO `sys_menu` VALUES ('48', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '量表结构维护', '38', 'LT-YXSYKWH-LBJGWH', '60', '朗通-医学术语库维护-量表结构维护');
+INSERT INTO `sys_menu` VALUES ('49', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语类型维护', '38', 'LT-YXSYKWH-YXSYLXWH', '5', '朗通-医学术语库维护-医学术语类型维护');
+INSERT INTO `sys_menu` VALUES ('50', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '化验子项维护', '38', 'LT-YXSYKWH-HYZXWH', '80', '朗通-医学术语库维护-化验子项维护');
+INSERT INTO `sys_menu` VALUES ('51', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语关联维护', '38', 'LT-YXSYKWH-YXSYGLWH', '30', '朗通-医学术语库维护-医学术语关联维护');
+INSERT INTO `sys_menu` VALUES ('52', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '分诊人体图数据维护', '38', 'LT-YXSYKWH-YXSYDCGLWH', '40', '朗通-医学术语库维护-医学术语多层关联维护');
+INSERT INTO `sys_menu` VALUES ('53', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护', '-1', 'LT-YWZSJWH', '8', '朗通-预问诊数据维护');
+INSERT INTO `sys_menu` VALUES ('54', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '独立填写单维护', '53', 'LT-YWZSJWH-DLTXDWH', '1', '朗通-预问诊数据维护-独立填写单维护');
+INSERT INTO `sys_menu` VALUES ('55', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '组合填写单维护', '53', 'LT-YWZSJWH-ZHTXDWH', '2', '朗通-预问诊数据维护-组合填写单维护');
+INSERT INTO `sys_menu` VALUES ('56', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '模版维护', '53', 'LT-YWZSJWH-MBWH', '3', '朗通-预问诊数据维护-模版维护');
+INSERT INTO `sys_menu` VALUES ('57', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护', '-1', 'LT-ZDYJWH', '10', '朗通-诊断依据维护');
+INSERT INTO `sys_menu` VALUES ('58', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据数据维护', '57', 'LT-ZDYJWH-ZDYJSJWH', '10', '朗通-诊断依据维护-诊断依据数据维护');
+INSERT INTO `sys_menu` VALUES ('59', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '问题词数据维护', '57', 'LT-ZDYJWH-WTCSJWH', '20', '朗通-诊断依据维护-问题词数据维护');
+INSERT INTO `sys_menu` VALUES ('60', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '各版本信息维护', '-1', 'LT-GBBXXWH', '11', '朗通-各版本信息维护');
+
+-- ----------------------------
+-- 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=250 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', 'ICSS数据维护-独立标签维护-新增|修改');
+INSERT INTO `sys_menu_permission` VALUES ('80', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '25', '89', 'ICSS数据维护-独立标签维护-删除');
+INSERT INTO `sys_menu_permission` VALUES ('81', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '25', '90', 'ICSS数据维护-独立标签维护-分页列表');
+INSERT INTO `sys_menu_permission` VALUES ('82', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '91', 'ICSS数据维护-标签组维护-新增|修改');
+INSERT INTO `sys_menu_permission` VALUES ('83', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '92', 'ICSS数据维护-标签组维护-删除');
+INSERT INTO `sys_menu_permission` VALUES ('84', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '93', 'ICSS数据维护-标签组维护-分页列表');
+INSERT INTO `sys_menu_permission` VALUES ('85', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '94', 'ICSS数据维护-标签组维护-获取特殊标签(同伴|无)');
+INSERT INTO `sys_menu_permission` VALUES ('86', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '95', 'ICSS数据维护-标签组维护-根据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', 'ICSS数据维护-标签组维护-根据多个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', 'ICSS数据维护-标签组维护-检索');
+INSERT INTO `sys_menu_permission` VALUES ('92', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '30', '99', 'ICSS数据维护-科室维护-修改');
+INSERT INTO `sys_menu_permission` VALUES ('93', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '30', '100', 'ICSS数据维护-科室维护-删除');
+INSERT INTO `sys_menu_permission` VALUES ('94', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '30', '101', 'ICSS数据维护-科室维护-查询');
+INSERT INTO `sys_menu_permission` VALUES ('95', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '30', '102', 'ICSS数据维护-科室维护-详情');
+INSERT INTO `sys_menu_permission` VALUES ('96', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '30', '104', 'ICSS数据维护-科室维护-添加');
+INSERT INTO `sys_menu_permission` VALUES ('97', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '27', '105', 'ICSS数据维护-别名维护-新增|修改');
+INSERT INTO `sys_menu_permission` VALUES ('98', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '27', '106', 'ICSS数据维护-别名维护-详情');
+INSERT INTO `sys_menu_permission` VALUES ('99', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '27', '107', 'ICSS数据维护-别名维护-删除');
+INSERT INTO `sys_menu_permission` VALUES ('100', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '27', '108', 'ICSS数据维护-别名维护-导入');
+INSERT INTO `sys_menu_permission` VALUES ('101', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '27', '109', 'ICSS数据维护-别名维护-列表');
+INSERT INTO `sys_menu_permission` VALUES ('102', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '110', 'ICSS数据维护-模板维护-添加');
+INSERT INTO `sys_menu_permission` VALUES ('103', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '111', 'ICSS数据维护-模板维护-修改');
+INSERT INTO `sys_menu_permission` VALUES ('104', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '112', 'ICSS数据维护-模板维护-删除');
+INSERT INTO `sys_menu_permission` VALUES ('105', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '113', 'ICSS数据维护-模板维护-获取标签池信息');
+INSERT INTO `sys_menu_permission` VALUES ('106', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '114', 'ICSS数据维护-模板维护-获取子模板信息');
+INSERT INTO `sys_menu_permission` VALUES ('107', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '115', 'ICSS数据维护-模板维护-获取模板列表');
+INSERT INTO `sys_menu_permission` VALUES ('108', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '116', 'ICSS数据维护-模板维护-获取模板明细信息');
+INSERT INTO `sys_menu_permission` VALUES ('109', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '117', 'ICSS数据维护-模板维护-获取单个模板信息(修改用)');
+INSERT INTO `sys_menu_permission` VALUES ('110', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '118', 'ICSS数据维护-常见症状维护-添加和修改');
+INSERT INTO `sys_menu_permission` VALUES ('111', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '119', 'ICSS数据维护-常见选项维护-删除');
+INSERT INTO `sys_menu_permission` VALUES ('112', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '120', 'ICSS数据维护-常见选项维护-获取科室名称');
+INSERT INTO `sys_menu_permission` VALUES ('113', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '121', 'ICSS数据维护-常见选项维护-获取标签信息');
+INSERT INTO `sys_menu_permission` VALUES ('114', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '122', 'ICSS数据维护-常见选项维护-根据科室获取常用标签信息(修改和详情用)');
+INSERT INTO `sys_menu_permission` VALUES ('115', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '123', 'ICSS数据维护-常见选项维护-获取科室信息(常见症状维护系统页面查询)');
+INSERT INTO `sys_menu_permission` VALUES ('116', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '33', '124', 'ICSS数据维护-免责申明-获取免责申明详情');
+INSERT INTO `sys_menu_permission` VALUES ('117', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '33', '125', 'ICSS数据维护-免责申明-增加免责申明详情');
+INSERT INTO `sys_menu_permission` VALUES ('118', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '33', '126', 'ICSS数据维护-免责申明-修改免责申明详情');
+INSERT INTO `sys_menu_permission` VALUES ('119', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '33', '127', 'ICSS数据维护-免责申明-删除免责申明详情');
+INSERT INTO `sys_menu_permission` VALUES ('120', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '33', '128', 'ICSS数据维护-免责申明-启用免责申明详情 ');
+INSERT INTO `sys_menu_permission` VALUES ('121', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '33', '129', 'ICSS数据维护-免责申明-停用免责申明详情');
+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', 'ICSS数据维护-查体模板维护-查体模板列表');
+INSERT INTO `sys_menu_permission` VALUES ('130', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '138', 'ICSS数据维护-查体模板维护-保存');
+INSERT INTO `sys_menu_permission` VALUES ('131', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '139', 'ICSS数据维护-查体模板维护-根据科室删除');
+INSERT INTO `sys_menu_permission` VALUES ('132', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '140', 'ICSS数据维护-查体模板维护-获取未维护的科室(新增)');
+INSERT INTO `sys_menu_permission` VALUES ('133', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '141', 'ICSS数据维护-查体模板维护-获取未维护的科室(修改)');
+INSERT INTO `sys_menu_permission` VALUES ('134', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '142', 'ICSS数据维护-查体模板维护-根据科室获取查体模板');
+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', 'ICSS数据维护-别名维护-标签搜索');
+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', 'Y', '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', 'ICSS数据维护-获取模板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', 'ICSS数据维护-慢病评估维护-分页模糊查询标签组维护接口');
+INSERT INTO `sys_menu_permission` VALUES ('177', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '185', 'ICSS数据维护-慢病评估维护-获取慢病标签组维护');
+INSERT INTO `sys_menu_permission` VALUES ('178', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '186', 'ICSS数据维护-慢病评估维护-慢病评估维护——修改管理评估');
+INSERT INTO `sys_menu_permission` VALUES ('179', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '187', 'ICSS数据维护-慢病评估维护-慢病评估维护——添加管理评估');
+INSERT INTO `sys_menu_permission` VALUES ('180', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '188', 'ICSS数据维护-慢病评估维护-删除慢病标签组维护');
+INSERT INTO `sys_menu_permission` VALUES ('181', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '45', '189', 'ICSS数据维护-慢病指标值关联维护-分页模糊查询慢病指标值关联维护');
+INSERT INTO `sys_menu_permission` VALUES ('182', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '45', '190', 'ICSS数据维护-慢病指标值关联维护-获取慢病指标值关联维护');
+INSERT INTO `sys_menu_permission` VALUES ('183', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '45', '191', 'ICSS数据维护-慢病指标值关联维护-慢病指标值关联维护——修改关联');
+INSERT INTO `sys_menu_permission` VALUES ('184', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '45', '192', 'ICSS数据维护-慢病指标值关联维护-慢病指标值关联维护——添加关联');
+INSERT INTO `sys_menu_permission` VALUES ('185', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '45', '193', 'ICSS数据维护-慢病指标值关联维护-删除慢病指标值关联维护');
+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', '医学数据维护-标签组维护-新增|修改');
+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', 'ICSS数据维护-模板维护-获取所有科室和疾病信息');
+INSERT INTO `sys_menu_permission` VALUES ('208', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '230', 'ICSS数据维护-慢病评估维护-慢病疾病标签查询');
+INSERT INTO `sys_menu_permission` VALUES ('209', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '45', '229', 'ICSS数据维护-慢病指标值关联维护-慢病指标疾病标签查询');
+INSERT INTO `sys_menu_permission` VALUES ('210', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '231', 'ICSS数据维护-标签组维护-子标签检索');
+INSERT INTO `sys_menu_permission` VALUES ('211', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '232', 'ICSS数据维护-模板维护-获取标签和模板关联信息(删除标签时校验用)');
+INSERT INTO `sys_menu_permission` VALUES ('212', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '233', 'ICSS数据维护-查体模板维护-查询科室下拉列表(查询页面)');
+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', '诊断依据维护-诊断依据问题词数据维护-分页查询');
+INSERT INTO `sys_menu_permission` VALUES ('247', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '43', '279', '医学术语库维护-化验大小项与公表项对应维护-获取公表名称');
+INSERT INTO `sys_menu_permission` VALUES ('248', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '58', '280', '诊断依据维护-诊断依据数据维护-暂存数据');
+INSERT INTO `sys_menu_permission` VALUES ('249', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '58', '281', '诊断依据维护-诊断依据数据维护-标准词和关联词搜索');
+
+-- ----------------------------
+-- 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=282 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', 'ICSS数据维护-独立标签维护-新增|修改', '/questionInfo/saveOrUpdate', 'ALL', 'ICSS数据维护-独立标签维护-新增|修改', null);
+INSERT INTO `sys_permission` VALUES ('89', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-独立标签维护-删除', '/questionInfo/delete', 'ALL', 'ICSS数据维护-独立标签维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('90', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-独立标签维护-分页列表', '/questionInfo/list', 'ALL', 'ICSS数据维护-独立标签维护-分页列表', null);
+INSERT INTO `sys_permission` VALUES ('91', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-标签组维护-新增|修改', '/questionInfo/saveOrUpdate', 'ALL', 'ICSS数据维护-标签组维护-新增|修改', null);
+INSERT INTO `sys_permission` VALUES ('92', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-标签组维护-删除', '/questionInfo/delete', 'ALL', 'ICSS数据维护-标签组维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('93', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-标签组维护-分页列表', '/questionInfo/list', 'ALL', 'ICSS数据维护-标签组维护-分页列表', null);
+INSERT INTO `sys_permission` VALUES ('94', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-标签组维护-获取特殊标签(同伴|无)', '/questionInfo/getSpecial', 'ALL', 'ICSS数据维护-标签组维护-获取特殊标签(同伴|无)', null);
+INSERT INTO `sys_permission` VALUES ('95', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-标签组维护-根据id返回内容', '/questionInfo/getById', 'ALL', 'ICSS数据维护-标签组维护-根据id返回内容', null);
+INSERT INTO `sys_permission` VALUES ('96', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-标签组维护-根据多个id返回内容', '/questionInfo/getByIds', 'ALL', 'ICSS数据维护-标签组维护-根据多个id返回内容', null);
+INSERT INTO `sys_permission` VALUES ('98', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-标签组维护-检索', '/questionInfo/index', 'ALL', 'ICSS数据维护-标签组维护-检索', null);
+INSERT INTO `sys_permission` VALUES ('99', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-科室维护-修改', '/deptInfo/updateDeptInfo', 'ALL', 'ICSS数据维护-科室维护-修改', null);
+INSERT INTO `sys_permission` VALUES ('100', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-科室维护-删除', '/deptInfo/deleteDeptInfo', 'ALL', 'ICSS数据维护-科室维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('101', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-科室维护-查询', '/deptInfo/getDeptInfo', 'ALL', 'ICSS数据维护-科室维护-查询', null);
+INSERT INTO `sys_permission` VALUES ('102', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-科室维护-详情', '/deptInfo/getDeptInfoDetials', 'ALL', 'ICSS数据维护-科室维护-详情', null);
+INSERT INTO `sys_permission` VALUES ('104', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-科室维护-添加', '/deptInfo/addDeptInfo', 'ALL', 'ICSS数据维护-科室维护-添加', null);
+INSERT INTO `sys_permission` VALUES ('105', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-别名维护-新增|修改', '/retrieval/addTagRetrieval', 'ALL', 'ICSS数据维护-别名维护-新增|修改', null);
+INSERT INTO `sys_permission` VALUES ('106', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-别名维护-详情', '/retrieval/getRetrievalsByTag', 'ALL', 'ICSS数据维护-别名维护-详情', null);
+INSERT INTO `sys_permission` VALUES ('107', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-别名维护-删除', '/retrieval/delRetrievalsByQuesId', 'ALL', 'ICSS数据维护-别名维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('108', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-别名维护-导入', '/retrieval/retrievalExcelIm', 'ALL', 'ICSS数据维护-别名维护-导入', null);
+INSERT INTO `sys_permission` VALUES ('109', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-别名维护-列表', '/retrieval/retrievalList', 'ALL', 'ICSS数据维护-别名维护-列表', null);
+INSERT INTO `sys_permission` VALUES ('110', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-模板维护-添加', '/moduleInfo/saveModuleInfo', 'ALL', 'ICSS数据维护-模板维护-添加', null);
+INSERT INTO `sys_permission` VALUES ('111', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-模板维护-修改', '/moduleInfo/updateModuleInfo', 'ALL', 'ICSS数据维护-模板维护-修改', null);
+INSERT INTO `sys_permission` VALUES ('112', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-模板维护-删除', '/moduleInfo/delete', 'ALL', 'ICSS数据维护-模板维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('113', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-模板维护-获取标签池信息', '/moduleInfo/getQuestionInfos', 'ALL', 'ICSS数据维护-模板维护-获取标签池信息', null);
+INSERT INTO `sys_permission` VALUES ('114', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-模板维护-获取子模板信息', '/moduleInfo/getModuleInfo', 'ALL', 'ICSS数据维护-模板维护-获取子模板信息', null);
+INSERT INTO `sys_permission` VALUES ('115', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-模板维护-获取模板列表', '/moduleInfo/getModuleInfoList', 'ALL', 'ICSS数据维护-模板维护-获取模板列表', null);
+INSERT INTO `sys_permission` VALUES ('116', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-模板维护-获取模板明细信息', '/moduleInfo/getModuleDetailInfo', 'ALL', 'ICSS数据维护-模板维护-获取模板明细信息', null);
+INSERT INTO `sys_permission` VALUES ('117', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-模板维护-获取单个模板信息(修改用)', '/moduleInfo/getModuleInfoOne', 'ALL', 'ICSS数据维护-模板维护-获取单个模板信息(修改用)', null);
+INSERT INTO `sys_permission` VALUES ('118', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-常见症状维护-添加和修改', '/questionUsual/addQuestionUsual', 'ALL', 'ICSS数据维护-常见症状维护-添加和修改', null);
+INSERT INTO `sys_permission` VALUES ('119', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-常见症状维护-删除', '/questionUsual/deleteQuestionUsual', 'ALL', 'ICSS数据维护-常见症状维护-删除', null);
+INSERT INTO `sys_permission` VALUES ('120', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-常见症状维护-获取科室名称', '/questionUsual/getDeptName', 'ALL', 'ICSS数据维护-常见症状维护-获取科室名称', null);
+INSERT INTO `sys_permission` VALUES ('121', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-常见症状维护-获取标签信息', '/questionUsual/getQuestionInfo', 'ALL', 'ICSS数据维护-常见症状维护-获取标签信息', null);
+INSERT INTO `sys_permission` VALUES ('122', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-常见症状维护-根据科室获取常用标签信息(修改和详情用)', '/questionUsual/getQuestionUsualByDept', 'ALL', 'ICSS数据维护-常见症状维护-根据科室获取常用标签信息(修改和详情用)', null);
+INSERT INTO `sys_permission` VALUES ('123', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-常见症状维护-获取科室信息(常见症状维护系统页面查询)', '/questionUsual/getDeptInfos', 'ALL', 'ICSS数据维护-常见症状维护-获取科室信息(常见症状维护系统页面查询)', null);
+INSERT INTO `sys_permission` VALUES ('124', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-免责申明-获取免责申明详情', '/disclaimerInformation/getDisclaimerInformations', 'ALL', 'ICSS数据维护-免责申明-获取免责申明详情', null);
+INSERT INTO `sys_permission` VALUES ('125', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-免责申明-增加免责申明详情', '/disclaimerInformation/addDisclaimerInformations', 'ALL', 'ICSS数据维护-免责申明-增加免责申明详情', null);
+INSERT INTO `sys_permission` VALUES ('126', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-免责申明-修改免责申明详情', '/disclaimerInformation/updateDisclaimerInformations', 'ALL', 'ICSS数据维护-免责申明-修改免责申明详情', null);
+INSERT INTO `sys_permission` VALUES ('127', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-免责申明-删除免责申明详情', '/disclaimerInformation/cancelDisclaimerInformations', 'ALL', 'ICSS数据维护-免责申明-删除免责申明详情', null);
+INSERT INTO `sys_permission` VALUES ('128', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-免责申明-启用免责申明详情', '/disclaimerInformation/startDisclaimerInformations', 'ALL', 'ICSS数据维护-免责申明-启用免责申明详情', null);
+INSERT INTO `sys_permission` VALUES ('129', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-免责申明-停用免责申明详情', '/disclaimerInformation/endDisclaimerInformations', 'ALL', 'ICSS数据维护-免责申明-停用免责申明详情', 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', 'ICSS数据维护-查体模板维护-查体模板列表', '/deptVital/getDeptVitalPage', 'ALL', 'ICSS数据维护-查体模板维护-查体模板列表', null);
+INSERT INTO `sys_permission` VALUES ('138', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-查体模板维护-保存', '/deptVital/saveDeptVitals', 'ALL', 'ICSS数据维护-查体模板维护-保存', null);
+INSERT INTO `sys_permission` VALUES ('139', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-查体模板维护-根据科室删除', '/deptVital/delAllDeptVitalList', 'ALL', 'ICSS数据维护-查体模板维护-根据科室删除', null);
+INSERT INTO `sys_permission` VALUES ('140', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-查体模板维护-获取未维护的科室(新增)', '/deptVital/getDeptShortList_create', 'ALL', 'ICSS数据维护-查体模板维护-获取未维护的科室(新增)', null);
+INSERT INTO `sys_permission` VALUES ('141', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-查体模板维护-获取未维护的科室(修改)', '/deptVital/getDeptShortList_modify', 'ALL', 'ICSS数据维护-查体模板维护-获取未维护的科室(修改)', null);
+INSERT INTO `sys_permission` VALUES ('142', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-查体模板维护-根据科室获取查体模板', '/deptVital/getModuleByDeptId', 'ALL', 'ICSS数据维护-查体模板维护-根据科室获取查体模板', 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', 'ICSS数据维护-别名维护-标签搜索', '/questionInfo/indexRev', 'ALL', 'ICSS数据维护-别名维护-标签搜索', 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', 'Y', '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', 'ICSS数据维护-获取模板type', '/moduleInfo/getModuleType', 'ALL', 'ICSS数据维护-获取模板type', null);
+INSERT INTO `sys_permission` VALUES ('184', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-慢病评估维护-分页模糊查询标签组维护接口', '/evaluation/queryEvaluationModulePages', 'ALL', 'ICSS数据维护-慢病评估维护-分页模糊查询标签组维护接口', null);
+INSERT INTO `sys_permission` VALUES ('185', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-慢病评估维护-获取慢病标签组维护', '/evaluation/getEvaluationModuleLists', 'ALL', 'ICSS数据维护-慢病评估维护-获取慢病标签组维护', null);
+INSERT INTO `sys_permission` VALUES ('186', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-慢病评估维护-慢病评估维护——修改管理评估', '/evaluation/updateEvaluationModuleLists', 'ALL', 'ICSS数据维护-慢病评估维护-慢病评估维护——修改管理评估', null);
+INSERT INTO `sys_permission` VALUES ('187', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-慢病评估维护-慢病评估维护——添加管理评估', '/evaluation/saveEvaluationModuleLists', 'ALL', 'ICSS数据维护-慢病评估维护-慢病评估维护——添加管理评估', null);
+INSERT INTO `sys_permission` VALUES ('188', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-慢病评估维护-删除慢病标签组维护', '/evaluation/cancelEvaluationModuleAlls', 'ALL', 'ICSS数据维护-慢病评估维护-删除慢病标签组维护', null);
+INSERT INTO `sys_permission` VALUES ('189', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-慢病指标值关联维护-分页模糊查询慢病指标值关联维护', '/indexConfig/queryIndexConfigPages', 'ALL', 'ICSS数据维护-慢病指标值关联维护-分页模糊查询慢病指标值关联维护', null);
+INSERT INTO `sys_permission` VALUES ('190', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-慢病指标值关联维护-获取慢病指标值关联维护', '/indexConfig/getIndexConfigLists', 'ALL', 'ICSS数据维护-慢病指标值关联维护-获取慢病指标值关联维护', null);
+INSERT INTO `sys_permission` VALUES ('191', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-慢病指标值关联维护-慢病指标值关联维护——修改关联', '/indexConfig/updateIndexConfigList', 'ALL', 'ICSS数据维护-慢病指标值关联维护-慢病指标值关联维护——修改关联', null);
+INSERT INTO `sys_permission` VALUES ('192', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-慢病指标值关联维护-慢病指标值关联维护——添加关联', '/indexConfig/saveIndexConfigLists', 'ALL', 'ICSS数据维护-慢病指标值关联维护-慢病指标值关联维护——添加关联', null);
+INSERT INTO `sys_permission` VALUES ('193', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-慢病指标值关联维护-删除慢病指标值关联维护', '/indexConfig/cancelIndexConfigAlls', 'ALL', 'ICSS数据维护-慢病指标值关联维护-删除慢病指标值关联维护', null);
+INSERT INTO `sys_permission` VALUES ('198', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-独立标签维护-获取特殊标签(同伴|无)', '/questionInfo/getSpecial', 'ALL', 'ICSS数据维护-独立标签维护-获取特殊标签(同伴|无)', null);
+INSERT INTO `sys_permission` VALUES ('199', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-独立标签维护-根据id返回内容', '/questionInfo/getById', 'ALL', 'ICSS数据维护-独立标签维护-根据id返回内容', null);
+INSERT INTO `sys_permission` VALUES ('200', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-独立标签维护-根据多个id返回内容', '/questionInfo/getByIds', 'ALL', 'ICSS数据维护-独立标签维护-根据多个id返回内容', null);
+INSERT INTO `sys_permission` VALUES ('201', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-独立标签维护-检索', '/questionInfo/index', 'ALL', 'ICSS数据维护-独立标签维护-检索', 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', 'ICSS数据维护-获取所有科室和疾病信息', '/moduleInfo/getAllDeptAndDisInfo', 'ALL', 'ICSS数据维护-获取所有科室和疾病信息', null);
+INSERT INTO `sys_permission` VALUES ('229', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-慢病指标值关联维护-慢病指标疾病标签查询', '/indexConfig/queryIndexConfigDiseaseNames', 'ALL', 'ICSS数据维护-慢病指标值关联维护-慢病指标疾病标签查询', null);
+INSERT INTO `sys_permission` VALUES ('230', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-慢病评估维护-慢病疾病标签查询', '/evaluation/queryEvaluationDiseaseNames', 'ALL', 'ICSS数据维护-慢病评估维护-慢病疾病标签查询', null);
+INSERT INTO `sys_permission` VALUES ('231', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-标签组维护-子标签检索', '/questionInfo/indexSub', 'ALL', 'ICSS数据维护-标签组维护-子标签检索', null);
+INSERT INTO `sys_permission` VALUES ('232', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-模板维护-获取标签和模板关联信息(删除标签时校验用)', '/moduleInfo/getQuestiongAndModuleRelations', 'ALL', 'ICSS数据维护-模板维护-获取标签和模板关联信息(删除标签时校验用)', null);
+INSERT INTO `sys_permission` VALUES ('233', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'ICSS数据维护-查体模板维护-查询科室下拉列表(查询页面)', '/deptVital/getDeptShortList_Searh', 'ALL', 'ICSS数据维护-查体模板维护-查询科室下拉列表(查询页面)', 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);
+INSERT INTO `sys_permission` VALUES ('279', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护-化验大小项与公表项对应维护-获取公表名称', '/lisMapping/getUniqueName', 'ALL', '医学术语库维护-化验大小项与公表项对应维护-获取公表名称', null);
+INSERT INTO `sys_permission` VALUES ('280', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护-诊断依据数据维护-暂存数据', '/diagnose/tempSaveOrUpate', 'ALL', '诊断依据维护-诊断依据数据维护-暂存数据', null);
+INSERT INTO `sys_permission` VALUES ('281', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护-诊断依据数据维护-标准词和关联词搜索', '/diagnose/search', '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=9 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', 'ICSS数据维护人员', '0', '', '', '');
+INSERT INTO `sys_role` VALUES ('4', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护人员', '0', '', '', '');
+INSERT INTO `sys_role` VALUES ('5', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '预问诊数据维护', '0', '', '', null);
+INSERT INTO `sys_role` VALUES ('6', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断依据维护', '0', '', '', null);
+INSERT INTO `sys_role` VALUES ('7', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '各版本信息维护人员', '0', '', '', null);
+INSERT INTO `sys_role` VALUES ('8', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '注册用户查询', '0', '', '', null);
+
+-- ----------------------------
+-- 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=64 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', '朗通-ICSS数据维护');
+INSERT INTO `sys_role_menu` VALUES ('24', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '24', '朗通-ICSS数据维护-标签组维护');
+INSERT INTO `sys_role_menu` VALUES ('25', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '25', '朗通-ICSS数据维护-独立类型标签维护');
+INSERT INTO `sys_role_menu` VALUES ('27', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '27', '朗通-ICSS数据维护-别名维护');
+INSERT INTO `sys_role_menu` VALUES ('28', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '28', '朗通-ICSS数据维护-模版维护');
+INSERT INTO `sys_role_menu` VALUES ('29', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '29', '朗通-ICSS数据维护-查体模版维护');
+INSERT INTO `sys_role_menu` VALUES ('30', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '30', '朗通-ICSS数据维护-icss科室维护');
+INSERT INTO `sys_role_menu` VALUES ('31', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '31', '朗通-ICSS数据维护-常见选项维护');
+INSERT INTO `sys_role_menu` VALUES ('32', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '32', '朗通-ICSS数据维护-提示信息维护');
+INSERT INTO `sys_role_menu` VALUES ('33', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '33', '朗通-ICSS数据维护-免责声明维护');
+INSERT INTO `sys_role_menu` VALUES ('34', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '34', '朗通-各版本信息维护-版本信息维护');
+INSERT INTO `sys_role_menu` VALUES ('35', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '35', '朗通-ICSS数据维护-查体模板维护');
+INSERT INTO `sys_role_menu` VALUES ('38', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '38', '朗通-医学术语库维护');
+INSERT INTO `sys_role_menu` VALUES ('39', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '39', '朗通-医学术语库维护-医学术语命名维护');
+INSERT INTO `sys_role_menu` VALUES ('40', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '40', '朗通-医学术语库维护-术语医学属性维护');
+INSERT INTO `sys_role_menu` VALUES ('41', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '41', '朗通-医学术语库维护-医学术语关系维护');
+INSERT INTO `sys_role_menu` VALUES ('42', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '42', '朗通-医学术语库维护-医学术语静态知识维护');
+INSERT INTO `sys_role_menu` VALUES ('43', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '43', '朗通-医学术语库维护-化验大小项与公表项对应维护');
+INSERT INTO `sys_role_menu` VALUES ('45', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '44', '朗通-ICSS数据维护-慢病管理与评估维护');
+INSERT INTO `sys_role_menu` VALUES ('46', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '45', '朗通-ICSS数据维护-慢病指标值关联维护');
+INSERT INTO `sys_role_menu` VALUES ('49', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '48', '朗通-医学术语库维护-量表结构维护');
+INSERT INTO `sys_role_menu` VALUES ('50', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '49', '朗通-医学术语库维护-医学术语类型维护');
+INSERT INTO `sys_role_menu` VALUES ('51', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '51', '朗通-医学术语库维护-医学术语关联维护');
+INSERT INTO `sys_role_menu` VALUES ('52', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '52', '朗通-医学术语库维护-医学术语多层关联维护');
+INSERT INTO `sys_role_menu` VALUES ('53', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '50', '朗通-医学术语库维护-化验子项维护');
+INSERT INTO `sys_role_menu` VALUES ('54', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '53', '朗通-预问诊数据维护');
+INSERT INTO `sys_role_menu` VALUES ('55', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '54', '朗通-预问诊数据维护-独立填写单维护');
+INSERT INTO `sys_role_menu` VALUES ('56', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '55', '朗通-预问诊数据维护-组合填写单维护');
+INSERT INTO `sys_role_menu` VALUES ('57', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '56', '朗通-预问诊数据维护-模版维护');
+INSERT INTO `sys_role_menu` VALUES ('58', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '57', '朗通-诊断依据维护');
+INSERT INTO `sys_role_menu` VALUES ('59', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '58', '朗通-诊断依据维护-诊断依据数据维护');
+INSERT INTO `sys_role_menu` VALUES ('60', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '59', '朗通-诊断依据维护-问题词数据维护');
+INSERT INTO `sys_role_menu` VALUES ('61', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '60', '朗通-各版本信息维护-版本信息维护');
+INSERT INTO `sys_role_menu` VALUES ('62', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '8', '10', '朗通-客户中心');
+INSERT INTO `sys_role_menu` VALUES ('63', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '8', '15', '朗通-客户中心-注册用户');
+
+-- ----------------------------
+-- 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=302 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', 'ICSS数据维护-独立标签维护-新增|修改');
+INSERT INTO `sys_role_permission` VALUES ('105', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '89', 'ICSS数据维护-独立标签维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('106', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '90', 'ICSS数据维护-独立标签维护-分页列表');
+INSERT INTO `sys_role_permission` VALUES ('107', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '91', 'ICSS数据维护-标签组维护-新增|修改');
+INSERT INTO `sys_role_permission` VALUES ('108', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '92', 'ICSS数据维护-标签组维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('109', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '93', 'ICSS数据维护-标签组维护-分页列表');
+INSERT INTO `sys_role_permission` VALUES ('110', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '94', 'ICSS数据维护-标签组维护-获取特殊标签(同伴|无)');
+INSERT INTO `sys_role_permission` VALUES ('111', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '95', 'ICSS数据维护-标签组维护-根据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', 'ICSS数据维护-标签组维护-根据多个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', 'ICSS数据维护-标签组维护-检索');
+INSERT INTO `sys_role_permission` VALUES ('114', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '99', 'ICSS数据维护-科室维护-修改');
+INSERT INTO `sys_role_permission` VALUES ('115', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '100', 'ICSS数据维护-科室维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('116', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '101', 'ICSS数据维护-科室维护-查询');
+INSERT INTO `sys_role_permission` VALUES ('117', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '102', 'ICSS数据维护-科室维护-详情');
+INSERT INTO `sys_role_permission` VALUES ('119', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '104', 'ICSS数据维护-科室维护-添加');
+INSERT INTO `sys_role_permission` VALUES ('120', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '105', 'ICSS数据维护-别名维护-新增|修改');
+INSERT INTO `sys_role_permission` VALUES ('121', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '106', 'ICSS数据维护-别名维护-详情');
+INSERT INTO `sys_role_permission` VALUES ('122', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '107', 'ICSS数据维护-别名维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('123', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '108', 'ICSS数据维护-别名维护-导入');
+INSERT INTO `sys_role_permission` VALUES ('124', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '109', 'ICSS数据维护-别名维护-列表');
+INSERT INTO `sys_role_permission` VALUES ('125', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '110', 'ICSS数据维护-模板维护-添加');
+INSERT INTO `sys_role_permission` VALUES ('126', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '111', 'ICSS数据维护-模板维护-修改');
+INSERT INTO `sys_role_permission` VALUES ('127', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '112', 'ICSS数据维护-模板维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('128', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '113', 'ICSS数据维护-模板维护-获取标签池信息');
+INSERT INTO `sys_role_permission` VALUES ('129', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '114', 'ICSS数据维护-模板维护-获取子模板信息');
+INSERT INTO `sys_role_permission` VALUES ('130', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '115', 'ICSS数据维护-模板维护-获取模板列表');
+INSERT INTO `sys_role_permission` VALUES ('131', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '116', 'ICSS数据维护-模板维护-获取模板明细信息');
+INSERT INTO `sys_role_permission` VALUES ('132', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '117', 'ICSS数据维护-模板维护-获取单个模板信息(修改用)');
+INSERT INTO `sys_role_permission` VALUES ('133', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '118', 'ICSS数据维护-常用选项维护-添加和修改');
+INSERT INTO `sys_role_permission` VALUES ('134', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '119', 'ICSS数据维护-常用选项维护-删除');
+INSERT INTO `sys_role_permission` VALUES ('135', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '120', 'ICSS数据维护-常用选项维护-获取科室名称');
+INSERT INTO `sys_role_permission` VALUES ('136', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '121', 'ICSS数据维护-常用选项维护-获取标签信息');
+INSERT INTO `sys_role_permission` VALUES ('137', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '122', 'ICSS数据维护-常用选项维护-根据科室获取常用标签信息(修改和详情用)');
+INSERT INTO `sys_role_permission` VALUES ('138', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '123', 'ICSS数据维护-常用选项维护-获取科室信息(常见症状维护系统页面查询)');
+INSERT INTO `sys_role_permission` VALUES ('139', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '124', 'ICSS数据维护-免责申明-获取免责申明详情');
+INSERT INTO `sys_role_permission` VALUES ('140', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '125', 'ICSS数据维护-免责申明-增加免责申明详情');
+INSERT INTO `sys_role_permission` VALUES ('141', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '126', 'ICSS数据维护-免责申明-修改免责申明详情');
+INSERT INTO `sys_role_permission` VALUES ('142', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '127', 'ICSS数据维护-免责申明-删除免责申明详情');
+INSERT INTO `sys_role_permission` VALUES ('143', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '128', 'ICSS数据维护-免责申明-启用免责申明详情');
+INSERT INTO `sys_role_permission` VALUES ('144', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '129', 'ICSS数据维护-免责申明-停用免责申明详情');
+INSERT INTO `sys_role_permission` VALUES ('145', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '130', '各版本信息维护-版本信息维护-获取版本信息');
+INSERT INTO `sys_role_permission` VALUES ('146', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '131', '各版本信息维护-版本信息维护-保存版本信息');
+INSERT INTO `sys_role_permission` VALUES ('147', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '132', '各版本信息维护-版本信息维护-更新版本信息');
+INSERT INTO `sys_role_permission` VALUES ('148', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '133', '各版本信息维护-版本信息维护-删除版本信息');
+INSERT INTO `sys_role_permission` VALUES ('149', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '134', '各版本信息维护-版本信息维护-更新版本详情信息');
+INSERT INTO `sys_role_permission` VALUES ('150', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '135', '各版本信息维护-版本信息维护-删除版本详情信息');
+INSERT INTO `sys_role_permission` VALUES ('151', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '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', 'ICSS数据维护-查体模板维护-查体模板列表');
+INSERT INTO `sys_role_permission` VALUES ('153', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '138', 'ICSS数据维护-查体模板维护-保存');
+INSERT INTO `sys_role_permission` VALUES ('154', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '139', 'ICSS数据维护-查体模板维护-根据科室删除');
+INSERT INTO `sys_role_permission` VALUES ('155', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '140', 'ICSS数据维护-查体模板维护-获取未维护的科室(新增)');
+INSERT INTO `sys_role_permission` VALUES ('156', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '141', 'ICSS数据维护-查体模板维护-获取未维护的科室(修改)');
+INSERT INTO `sys_role_permission` VALUES ('157', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '142', 'ICSS数据维护-查体模板维护-根据科室获取查体模板');
+INSERT INTO `sys_role_permission` VALUES ('163', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '148', 'ICSS数据维护-提示信息维护-保存');
+INSERT INTO `sys_role_permission` VALUES ('164', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '149', 'ICSS数据维护-提示信息维护-删除(单条)');
+INSERT INTO `sys_role_permission` VALUES ('165', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '150', 'ICSS数据维护-提示信息维护-删除(批量)');
+INSERT INTO `sys_role_permission` VALUES ('166', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '151', 'ICSS数据维护-提示信息维护-提示信息列表');
+INSERT INTO `sys_role_permission` VALUES ('167', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '152', 'ICSS数据维护-提示信息维护-根据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', 'ICSS数据维护-提示信息维护-获取未关联标签列表');
+INSERT INTO `sys_role_permission` VALUES ('171', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '156', 'ICSS数据维护-提示信息明细维护-删除(单条)');
+INSERT INTO `sys_role_permission` VALUES ('172', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '157', 'ICSS数据维护-提示信息明细维护-删除(批量)');
+INSERT INTO `sys_role_permission` VALUES ('173', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '158', 'ICSS数据维护-提示信息明细维护-根据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', 'ICSS数据维护-提示信息明细维护-根据提示信息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', 'ICSS数据维护-提示信息明细维护-保存');
+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', '7', '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', 'ICSS数据维护-别名维护-标签搜索');
+INSERT INTO `sys_role_permission` VALUES ('195', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '178', '医学术语库维护-化验大小项与公表项对应维护-分页列表');
+INSERT INTO `sys_role_permission` VALUES ('196', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '179', '医学术语库维护-化验大小项与公表项对应维护-保存');
+INSERT INTO `sys_role_permission` VALUES ('197', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '180', '医学术语库维护-化验大小项与公表项对应维护-是否已存在');
+INSERT INTO `sys_role_permission` VALUES ('198', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '181', '医学术语库维护-化验大小项与公表项对应维护-删除(单条)');
+INSERT INTO `sys_role_permission` VALUES ('199', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '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', 'ICSS数据维护-获取模板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', 'ICSS数据维护-慢病评估维护-分页模糊查询标签组维护接口 ');
+INSERT INTO `sys_role_permission` VALUES ('202', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '185', 'ICSS数据维护-慢病评估维护-获取慢病标签组维护');
+INSERT INTO `sys_role_permission` VALUES ('203', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '186', 'ICSS数据维护-慢病评估维护-慢病评估维护——修改管理评估');
+INSERT INTO `sys_role_permission` VALUES ('204', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '187', 'ICSS数据维护-慢病评估维护-慢病评估维护——添加管理评估');
+INSERT INTO `sys_role_permission` VALUES ('205', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '188', 'ICSS数据维护-慢病评估维护-删除慢病标签组维护');
+INSERT INTO `sys_role_permission` VALUES ('207', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '189', 'ICSS数据维护-慢病指标值关联维护-分页模糊查询慢病指标值关联维护');
+INSERT INTO `sys_role_permission` VALUES ('208', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '190', 'ICSS数据维护-慢病指标值关联维护-获取慢病指标值关联维护');
+INSERT INTO `sys_role_permission` VALUES ('209', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '191', 'ICSS数据维护-慢病指标值关联维护-慢病指标值关联维护——修改关联');
+INSERT INTO `sys_role_permission` VALUES ('210', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '192', 'ICSS数据维护-慢病指标值关联维护-慢病指标值关联维护——添加关联');
+INSERT INTO `sys_role_permission` VALUES ('211', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '193', 'ICSS数据维护-慢病指标值关联维护-删除慢病指标值关联维护');
+INSERT INTO `sys_role_permission` VALUES ('215', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '198', 'ICSS数据维护-独立标签维护-获取特殊标签(同伴|无)');
+INSERT INTO `sys_role_permission` VALUES ('216', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '199', 'ICSS数据维护-独立标签维护-根据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', 'ICSS数据维护-独立标签维护-根据多个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', 'ICSS数据维护-独立标签维护-检索');
+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', 'ICSS数据维护-模板维护-获取所有科室疾病信息');
+INSERT INTO `sys_role_permission` VALUES ('244', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '229', 'ICSS数据维护-慢病指标值关联维护-慢病指标疾病标签查询');
+INSERT INTO `sys_role_permission` VALUES ('245', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '230', 'ICSS数据维护-慢病评估维护-慢病疾病标签查询');
+INSERT INTO `sys_role_permission` VALUES ('246', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '231', 'ICSS数据维护-标签组维护-子标签检索');
+INSERT INTO `sys_role_permission` VALUES ('247', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '232', 'ICSS数据维护-模板维护-获取标签和模板关联信息(删除标签时校验用)');
+INSERT INTO `sys_role_permission` VALUES ('248', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '233', 'ICSS数据维护-查体模板维护-查询科室下拉列表(查询页面)');
+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', '诊断依据维护-诊断依据问题词数据维护-分页查询');
+INSERT INTO `sys_role_permission` VALUES ('294', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '8', '64', '朗通-客户中心-分页查询注册用户信息接口');
+INSERT INTO `sys_role_permission` VALUES ('295', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5', '63', '朗通-默认-获取用户、机构、菜单信息');
+INSERT INTO `sys_role_permission` VALUES ('296', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '63', '朗通-默认-获取用户、机构、菜单信息');
+INSERT INTO `sys_role_permission` VALUES ('297', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '63', '朗通-默认-获取用户、机构、菜单信息');
+INSERT INTO `sys_role_permission` VALUES ('298', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '8', '63', '朗通-默认-获取用户、机构、菜单信息');
+INSERT INTO `sys_role_permission` VALUES ('299', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '4', '279', '医学术语库维护-化验大小项与公表项对应维护-获取公表名称');
+INSERT INTO `sys_role_permission` VALUES ('300', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '280', '诊断依据维护-诊断依据数据维护-暂存数据');
+INSERT INTO `sys_role_permission` VALUES ('301', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '6', '281', '诊断依据维护-诊断依据数据维护-标准词和关联词搜索');

+ 7 - 0
docs/019.20191011数据服务模式医学知识和量表搜索/init_tran.sql

@@ -0,0 +1,7 @@
+use `sys-tran`;
+-- INSERT INTO `sys-tran`.`tran_sys_set` (`hospital_code`, `plan`, `sys_type`, `name`, `code`, `value`, `remark`) VALUES ('A001', '0', '11', '是否同时对接预问诊', 'connect_prec', '1', '是否同时对接预问诊(0-不对接,1-对接)');
+
+insert into `tran_sys_set` ( `hospital_code`, `plan`, `sys_type`, `name`, `code`, `value`, `remark`) values('A001','0','16','医学知识','knowledge_show','1','是否显示(1是,0否)');
+insert into `tran_sys_set` (`hospital_code`, `plan`, `sys_type`, `name`, `code`, `value`, `remark`) values('A001','0','16','医学知识','knowledge_no','9','显示顺序');
+insert into `tran_sys_set` (`hospital_code`, `plan`, `sys_type`, `name`, `code`, `value`, `remark`) values('A001','0','16','全部量表','scale_show','1','是否显示(1是,0否)');
+insert into `tran_sys_set` (`hospital_code`, `plan`, `sys_type`, `name`, `code`, `value`, `remark`) values('A001','0','16','全部量表','scale_no','10','显示顺序');

File diff suppressed because it is too large
+ 1049 - 0
docs/020.20191016BI数据统计/init_user.sql


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

@@ -40,6 +40,9 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/versionInfo/getVersionInfoInner").permitAll()
                 .antMatchers("/versionInfo/getVersionInfoOuter").permitAll()
                 .antMatchers("/diagnose/initNeo").permitAll()
+                .antMatchers("/lisMapping/getUniqueNameWithList").permitAll()
+                .antMatchers("/conceptDetail/conceptDetailBI").permitAll()
+                .antMatchers("/concept/queryLibTypeCou").permitAll()
                 .antMatchers("/**").authenticated();
 //                .antMatchers("/**").permitAll();
     }

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

@@ -103,6 +103,9 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/versionInfo/getVersionInfoInner", request)
                 || matchers("/versionInfo/getVersionInfoOuter", request)
                 || matchers("/diagnose/initNeo", request)
+                || matchers("/lisMapping/getUniqueNameWithList", request)
+                || matchers("/conceptDetail/conceptDetailBI", request)
+                || matchers("/concept/queryLibTypeCou", request)
                 || matchers("/", request)) {
             return true;
         }

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

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/10/15 15:32
+ */
+@Getter
+@Setter
+public class BIItemDTO {
+    private String moduleName;
+    private String itemName;
+    private Integer count;
+}

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

@@ -18,6 +18,6 @@ public class CommonParam {
     private int insertOrUpdate;//更新或新增标识
     private int i = 0;
     private int j = 0;
-    private int flag = 0; // 1:表示有问题词或公式错误,0:正确
+    private int flag = 0; // 2:临时保存,1:表示有问题词或公式错误,0:正确
     private Boolean disNameExist = true;
 }

+ 15 - 1
knowledgeman-service/src/main/java/com/diagbot/entity/DiagnoseDetail.java

@@ -85,6 +85,16 @@ public class DiagnoseDetail implements Serializable {
      */
     private String relation;
 
+    /**
+     * 公表名称
+     */
+    private String uniqueName;
+
+    /**
+     * 中间结果(例如:升高|阳性,不需要校验)
+     */
+    private String midResult;
+
     /**
      * 结果
      */
@@ -115,12 +125,16 @@ public class DiagnoseDetail implements Serializable {
      */
     private String verifyRelation;
 
+    /**
+     * 校验公表错误提示
+     */
+    private String verifyUnique;
+
     /**
      * 校验结果(0:正确,1:错误)
      */
     private String verifyResult;
 
-
     /**
      * 校验公式(0:正确,1:错误)
      */

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

@@ -39,6 +39,16 @@ public class DiagnoseDetailSave implements Serializable {
      */
     private String relation;
 
+    /**
+     * 公表名称
+     */
+    private String uniqueName;
+
+    /**
+     * 中间结果(例如:升高|阳性,不需要校验)
+     */
+    private String midResult;
+
     /**
      * 结果
      */

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

@@ -10,6 +10,7 @@ import lombok.Setter;
  */
 public enum HasQuestionEnum implements KeyedNamed {
 
+    TEMP_DATA(2, "暂存数据"),
     HAS_QUESTION(1, "有问题词"),
     NO_QUESTION(0, "无问题词");
 

+ 18 - 1
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java

@@ -4,10 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.UserServiceClient;
+import com.diagbot.dto.BIItemDTO;
 import com.diagbot.dto.ConceptDetailDTO;
 import com.diagbot.dto.ConceptIndexDTO;
 import com.diagbot.dto.GetConceptDetailListDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.Concept;
 import com.diagbot.entity.ConceptDetail;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.LexiconTypeEnum;
@@ -16,6 +18,7 @@ import com.diagbot.exception.CommonException;
 import com.diagbot.service.ConceptDetailService;
 import com.diagbot.service.impl.ConceptDetailServiceImpl;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.AddConceptDetailVO;
@@ -23,12 +26,15 @@ import com.diagbot.vo.ConceptIndexVO;
 import com.diagbot.vo.GetConceptDetailListVO;
 import com.diagbot.vo.GetConceptDetailVO;
 import com.diagbot.vo.RemoveConceptDetailVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
+import javax.swing.text.html.parser.Entity;
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -46,6 +52,8 @@ public class ConceptDetailFacade extends ConceptDetailServiceImpl {
     @Autowired
     @Qualifier("conceptDetailServiceImpl")
     private ConceptDetailService conceptDetailService;
+    @Autowired
+    private ConceptFacade conceptFacade;
 
     /**
      * 获取医学术语命名列表
@@ -165,4 +173,13 @@ public class ConceptDetailFacade extends ConceptDetailServiceImpl {
         return retList;
     }
 
-}
+    /**
+     * 静态知识数量统计
+     *
+     * @return
+     */
+    public List<BIItemDTO> conceptDetailBI() {
+        List<BIItemDTO> retList = conceptDetailService.conDetailCount();
+        return retList;
+    }
+}

+ 14 - 2
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.client.ICSSManServiceClient;
 import com.diagbot.client.UserServiceClient;
+import com.diagbot.dto.BIItemDTO;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptRes;
 import com.diagbot.dto.GetAllConceptDTO;
@@ -21,6 +22,7 @@ import com.diagbot.entity.Lexicon;
 import com.diagbot.entity.LibraryInfo;
 import com.diagbot.entity.QuestionInfo;
 import com.diagbot.entity.Relation;
+import com.diagbot.entity.ScaleContent;
 import com.diagbot.entity.wrapper.ConceptWrapper;
 import com.diagbot.enums.DiseaseClassifyEnum;
 import com.diagbot.enums.IsDeleteEnum;
@@ -119,6 +121,8 @@ public class ConceptFacade extends ConceptServiceImpl {
     private LisMappingFacade lisMappingFacade;
     @Autowired
     private ICSSManServiceClient icssManServiceClient;
+    @Autowired
+    private ScaleContentFacade scaleContentFacade;
 
     /**
      * 获取所有化验公表项
@@ -850,8 +854,8 @@ public class ConceptFacade extends ConceptServiceImpl {
                                         sbf.append("第" + count + "行无法导入,导入数据无法为纯数字;").append("<br/>");
                                         break;
                                     }
-                                    if (nm.length() > 30) {
-                                        sbf.append("第" + count + "行导入错误,标准词和同义词最大字数不可超过30个字;").append("<br/>");
+                                    if (nm.length() > 50) {
+                                        sbf.append("第" + count + "行导入错误,标准词和同义词最大字数不可超过50个字;").append("<br/>");
                                         break;
                                     }
                                     AddConceptInfoDetailVO addConceptInfoDetailVO = new AddConceptInfoDetailVO();
@@ -1218,6 +1222,14 @@ public class ConceptFacade extends ConceptServiceImpl {
         }
     }
 
+    /**
+     * 知识库标准化-获取医学数据统计
+     * @return
+     */
+    public List<BIItemDTO> queryLibTypeCou(){
+        return this.baseMapper.queryLibTypeCou();
+    }
+
     /**
      * 根据概念Id列表获取概念列表Map
      *

+ 235 - 74
knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseFacade.java

@@ -40,6 +40,7 @@ import com.diagbot.util.StringUtil;
 import com.diagbot.util.VerifyUtil;
 import com.diagbot.vo.DeleteDiagnoseVO;
 import com.diagbot.vo.DiagnosePageVO;
+import com.diagbot.vo.DiagnoseSearchVO;
 import com.diagbot.vo.DiseaseIndexVO;
 import com.diagbot.vo.GetDiagnoseDetailVO;
 import com.diagbot.vo.NeoParamVO;
@@ -79,6 +80,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
     LibraryInfoFacade libraryInfoFacade;
     @Autowired
     NeoServiceClient neoServiceClient;
+    @Autowired
+    LisMappingFacade lisMappingFacade;
 
     /**
      * 诊断依据分页
@@ -271,8 +274,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         // 加载词库数据
 //        List<LibraryForDiagnoseDTO> libraryForDiagnoseDTOS = libraryInfoFacade.getLibraryForDiagnose();
 //        Set<String> set = libraryForDiagnoseDTOS.stream().map(row -> row.getName()+ "_"+row.getTypeId())
-//        .collect(Collectors.toSet());
-        Set<String> libSet = libraryInfoFacade.getLibraryForDiagnose2();
+//                          .collect(Collectors.toSet());
+        Set<String> libSet = libraryInfoFacade.getLibraryForDiagnose2(); // 加载词库数据
         // 明细数据
         List<DiagnoseDetail> diagnoseDetailList = new ArrayList<>();
         List<DiagnoseDetail> disFeature = new ArrayList<>(); // 诊断特征
@@ -281,7 +284,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         // 问题词数据
         List<DiagnoseQuestion> diagnoseQuestionList = new ArrayList<>();
 
-        // 处理诊断特征业务(校验编码|标准词|关联词|结果)
+        // 处理诊断特征业务(校验编码|标准词|关联词|结果),单点校验不需要校验公表,因为同一按钮已校验
         doDisFuture(diagnoseWrapper, param, libSet, disFeature, diagnoseQuestionList);
         // 处理诊断公式业务(校验公式)
         doDisFormula(diagnoseWrapper, param, disformula, diagnoseQuestionList);
@@ -309,6 +312,49 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
     }
 
 
+    /**
+     * 诊断依据保存暂存数据,新增或更新主表信息,覆盖明细表,清空问题词
+     *
+     * @param diagnoseWrapper
+     * @return 返回主表id
+     */
+    public Long tempSaveOrUpdateFac(DiagnoseWrapper diagnoseWrapper) {
+        VerifyDataDTO verifyDataDTO = new VerifyDataDTO();
+        CommonParam param = initCommonParam();
+        param.setPerson(diagnoseWrapper.getModifier());
+        param.setFlag(HasQuestionEnum.TEMP_DATA.getKey()); // 设置状态为暂存数据
+
+        // 更新主表业务(同时删除明细表和问题词表)
+        Long id = insertOrUpdateDiagnose(diagnoseWrapper, param);
+        diagnoseWrapper.setId(id);
+        verifyDataDTO.setId(id); //设置主键返回
+
+        // 明细数据
+        List<DiagnoseDetail> diagnoseDetailList = new ArrayList<>();
+        int i = param.getI();
+
+        // 合并疾病特征和诊断公式,统一遍历
+        List<DiagnoseDetailSave> diagnoseDetailSaveList = new ArrayList<>();
+        diagnoseDetailSaveList.addAll(diagnoseWrapper.getDisFeature());
+        diagnoseDetailSaveList.addAll(diagnoseWrapper.getDisformula());
+        for (DiagnoseDetailSave bean : diagnoseDetailSaveList) {
+            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);
+            diagnoseDetailList.add(diagnoseDetail);
+        }
+        // 保存明细
+        diagnoseDetailService.saveBatch(diagnoseDetailList);
+        return id;
+    }
+
+
     /**
      * 诊断依据校验全部数据(不用修改操作人和时间)
      */
@@ -316,7 +362,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         StringBuffer res = new StringBuffer();
         Long time1 = System.currentTimeMillis();
         Set<String> diagnosetQuestionSet = new HashSet<>(); // 问题词去重变量
-        Set<String> diagnoseName = new HashSet<>(); // 诊断依据主表修改变量
+        Set<String> diagnoseName = new HashSet<>(); // 诊断依据有问题的诊断
         if (!verifyFlag) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "其他人正在执行此操作,请稍后再试!");
         }
@@ -327,11 +373,20 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
             // 获取所有主表信息
             List<Diagnose> diagnoseListWithDB = this.list(new QueryWrapper<Diagnose>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
-            );
+                    .and(wrapper -> wrapper.eq("has_question", HasQuestionEnum.NO_QUESTION.getKey())
+                            .or()
+                            .eq("has_question", HasQuestionEnum.HAS_QUESTION.getKey()))
+                    );
+
+            if (ListUtil.isEmpty(diagnoseListWithDB)) {
+                return "无数据执行";
+            }
 
             // 获取所有明细信息
             List<DiagnoseDetail> diagnoseDetailWithDB = diagnoseDetailFacade.list(new QueryWrapper<DiagnoseDetail>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("diagnose_id",
+                            diagnoseListWithDB.stream().map(row -> row.getId()).collect(Collectors.toList()))
             );
             Map<String, List<DiagnoseDetail>> map =
                     EntityUtil.makeEntityListMap(diagnoseDetailWithDB, "disName");
@@ -346,7 +401,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
 //            List<LibraryForDiagnoseDTO> libraryForDiagnoseDTOS = libraryInfoFacade.getLibraryForDiagnose();
 //            Set<String> set = libraryForDiagnoseDTOS.stream().map(row -> row.getName()+ "_"+row.getTypeId())
 //                              .collect(Collectors.toSet());
-            Set<String> libSet = libraryInfoFacade.getLibraryForDiagnose2();
+            Set<String> libSet = libraryInfoFacade.getLibraryForDiagnose2(); // 加载词库
+            Set<String> lisMappingSet = lisMappingFacade.loadLisMappingFac(); // 加载公表项,需要关联同义词
             Long time3 = System.currentTimeMillis();
             res.append("加载词库:" + (time3 - time2) / 1000.0).append("秒,");
             Boolean flag = true;
@@ -355,7 +411,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
             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("拟诊");
+                codeList.add("拟诊"); // 公式校验手动添加拟诊文字
                 int j = 0;
                 if (ListUtil.isNotEmpty(detail)) {
                     // 判断诊断名称是否在词库中
@@ -369,11 +425,15 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                         diagnoseName.add(diagnoseQuestion1.getDisName());
                     }
 
+                    List<DiagnoseDetail> lisAndPacs = new ArrayList<>(); // 化验|辅检数据
+                    List<DiagnoseDetail> formula = new ArrayList<>(); // 公式数据
+
                     for (DiagnoseDetail bean : detail) {
                         boolean updateFlag = false;
                         if (DiagnoseTypeEnum.Confirmed.getKey() == bean.getType()
                                 || (DiagnoseTypeEnum.Examination.getKey() == bean.getType()
                                 || (DiagnoseTypeEnum.Vigilant.getKey() == bean.getType()))) {
+                            formula.add(bean); // 添加到公式列表
                             // 校验公式
                             String oldVerifyFormula = bean.getVerifyFormula();
                             String errMsg = VerifyUtil.verifyFormula(codeList, bean.getFormula());
@@ -388,6 +448,12 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                                 updateFlag = true;
                             }
                         } else {
+                            // 添加到化验|辅检列表
+                            if (DiagnoseFeatureTypeEnum.Lis.getKey() == bean.getType()
+                                    || DiagnoseFeatureTypeEnum.Pacs.getKey() == bean.getType()) {
+                                lisAndPacs.add(bean);
+                            }
+
                             // 校验编码
                             String oldVerifyCode = bean.getVerifyCode();
                             if (StringUtil.isNotEmpty(bean.getCode())) {
@@ -397,8 +463,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                                     diagnoseName.add(bean.getDisName());
                                     // 不需要添加问题词
 //                                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(),
-//                                            bean.getDisName(), bean.getType(),
-//                                            bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
+//                                              bean.getDisName(), bean.getType(),
+//                                              bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
 //                                    diagnoseQuestionList.add(diagnoseQuestion);
                                 } else {
                                     bean.setVerifyCode(""); // 将原值清空
@@ -417,8 +483,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                                 if (!flag) {
                                     bean.setVerifyStandard(bean.getStandard());
                                     DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(),
-                                            bean.getDisName(), bean.getType(),
-                                            bean.getStandard(), DiagnoseFieldEnum.standard.getKey(), param, ++j);
+                                            bean.getDisName(), bean.getType(), bean.getStandard(),
+                                            DiagnoseFieldEnum.standard.getKey(), param, ++j);
                                     if (addDiagnoseQuestion(diagnosetQuestionSet, diagnoseQuestion)) {
                                         diagnoseQuestionList.add(diagnoseQuestion);
                                     }
@@ -436,14 +502,13 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                                 String oldVerifyRelation = bean.getVerifyRelation();
                                 String[] arr = bean.getRelation().split("、");
                                 StringBuffer sb = new StringBuffer();
+                                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(),
+                                        DiagnoseFieldEnum.relation.getKey());
                                 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(),
+                                        DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
                                                 s.trim(), DiagnoseFieldEnum.relation.getKey(), param, ++j);
                                         if (addDiagnoseQuestion(diagnosetQuestionSet, diagnoseQuestion)) {
                                             diagnoseQuestionList.add(diagnoseQuestion);
@@ -462,42 +527,67 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                                 }
                             }
 
-                            // 校验结果
-                            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);
-                                        }
+                            // 校验公表,不需要插入问题词
+                            if (DiagnoseFeatureTypeEnum.Lis.getKey() == bean.getType()) {
+                                String oldVerifyUnique = bean.getVerifyUnique();
+                                if (StringUtil.isNotEmpty(bean.getUniqueName())) { // 公表项数据不为空
+                                    if (!lisMappingSet.contains(bean.getStandard() + "__" + bean.getRelation()
+                                            + "__" + bean.getUniqueName())) {
+                                        bean.setVerifyUnique("无公表项");
                                         diagnoseName.add(bean.getDisName());
+                                    } else {
+                                        bean.setVerifyUnique(""); // 将原值清空
                                     }
+                                } else { // 公表项数据为空
+                                    bean.setVerifyUnique("无公表项");
+                                    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())) {
+                                if (!oldVerifyUnique.equals(bean.getVerifyUnique())) {
                                     updateFlag = true;
                                 }
                             }
+
+                            // 校验结果 2019/10/16 需求确认,不需要校验结果,代码注释
+//                            if (StringUtil.isNotEmpty(bean.getResult())) {
+//                                String oldVerifyResult = bean.getVerifyResult();
+//                                String[] arr = bean.getResult().split("、");
+//                                StringBuffer sb = new StringBuffer();
+//                                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(),
+//                                        DiagnoseFieldEnum.result.getKey());
+//                                for (String s : arr) {
+//                                    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);
                         }
                     }
+
+                    // 当前诊断校验通过后再校验其他数据异常,例如:诊断公式里有化验和辅检编码,则化验和辅检数据必须完整
+                    if (!diagnoseName.contains(key)) {
+                        doLisAndPacs(diagnoseName, lisAndPacs, formula, diagnoseDetailList);
+                    }
                 }
             }
             Long time4 = System.currentTimeMillis();
@@ -515,7 +605,6 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
             diagnoseQuestionService.remove(new QueryWrapper<DiagnoseQuestion>());
             // 新增问题词
             if (ListUtil.isNotEmpty(diagnoseQuestionList)) {
-                // 新增问题词数据
                 diagnoseQuestionService.insertBatch(diagnoseQuestionList); // 效率比框架的saveBatch高很多
             }
             Long time6 = System.currentTimeMillis();
@@ -552,6 +641,50 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
     }
 
 
+    /**
+     * 校验化验和辅检数据异常
+     *
+     * @param diagnoseName       有问题的诊断名称
+     * @param lisAndPacs         化验辅检数据
+     * @param formula            公式数据
+     * @param diagnoseDetailList 需要更新的明细
+     */
+    public void doLisAndPacs(Set<String> diagnoseName, List<DiagnoseDetail> lisAndPacs,
+                             List<DiagnoseDetail> formula, List<DiagnoseDetail> diagnoseDetailList) {
+        // 处理数据
+        for (DiagnoseDetail det : lisAndPacs) {
+            // 公式正则匹配化验和辅检的编码值,以编码值结尾或者编码值之后一位不能是数字
+            // 避免3.1去匹配3.11成功;点号需要转义
+            // 正则示例:(.*3.1)|(.*3.1\\D.*)
+            String regex = "(.*" + det.getCode().replace(".", "\\.") + ")|(.*" +
+                    det.getCode().replace(".", "\\.") + "\\D.*)";
+            boolean verifyAll = false;
+            for (DiagnoseDetail form : formula) {
+                if (form.getFormula().matches(regex)) {
+                    verifyAll = true;
+                    break;
+                }
+            }
+            if (verifyAll) { // 如果在公式里存在编码,则数据必须完整
+                boolean needUpdate = false;
+                if (StringUtil.isEmpty(det.getRelation())) { // 化验、辅检都有
+                    det.setVerifyRelation("数据异常");
+                    needUpdate = true;
+                }
+                if (DiagnoseFeatureTypeEnum.Lis.getKey() == det.getType()) { // 化验有
+                    if (StringUtil.isEmpty(det.getResult())) {
+                        det.setVerifyResult("数据异常");
+                        needUpdate = true;
+                    }
+                }
+                if (needUpdate) {
+                    diagnoseName.add(det.getDisName());
+                    diagnoseDetailList.add(det);
+                }
+            }
+        }
+    }
+
     /**
      * 校验是否已存在问题词数据
      *
@@ -560,8 +693,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
      * @return
      */
     public Boolean addDiagnoseQuestion(Set<String> set, DiagnoseQuestion diagnoseQuestion) {
-        String key = diagnoseQuestion.getDiagnoseId() + "_" + diagnoseQuestion.getType() +
-                "_" + diagnoseQuestion.getQuestionType() + "_" + diagnoseQuestion.getQuestionName();
+        String key = diagnoseQuestion.getDiagnoseId() + "_" + diagnoseQuestion.getType() + "_"
+                + diagnoseQuestion.getQuestionType() + "_" + diagnoseQuestion.getQuestionName();
         if (!set.contains(key)) {
             set.add(key);
             return true;
@@ -615,8 +748,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                     param.setFlag(HasQuestionEnum.HAS_QUESTION.getKey());
                     // 不需要添加问题词
 //                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(),
-//                            diagnoseWrapper.getDisName(), bean.getType(),
-//                            bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
+//                              diagnoseWrapper.getDisName(), bean.getType(),
+//                              bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
 //                    if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
 //                        diagnoseQuestionList.add(diagnoseQuestion);
 //                    }
@@ -643,15 +776,15 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
             if (StringUtil.isNotEmpty(bean.getRelation())) {
                 String[] arr = bean.getRelation().split("、");
                 StringBuffer sb = new StringBuffer();
+                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(),
+                        DiagnoseFieldEnum.relation.getKey());
                 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);
+                                diagnoseWrapper.getDisName(), bean.getType(), s.trim(),
+                                DiagnoseFieldEnum.relation.getKey(), param, ++j);
                         if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
                             diagnoseQuestionList.add(diagnoseQuestion);
                         }
@@ -665,31 +798,31 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                 }
             }
 
-            // 校验结果
-            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(""); // 将原值清空
-                }
-            }
+            // 校验结果 2019/10/16 需求确认,不需要校验结果,代码注释
+//            if (StringUtil.isNotEmpty(bean.getResult())) {
+//                String[] arr = bean.getResult().split("、");
+//                StringBuffer sb = new StringBuffer();
+//                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(),
+//                        DiagnoseFieldEnum.result.getKey());
+//                for (String s : arr) {
+//                    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);
@@ -762,6 +895,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
 
         Diagnose diagnose = new Diagnose();
         BeanUtil.copyProperties(diagnoseWrapper, diagnose);
+        diagnose.setHasQuestion(String.valueOf(param.getFlag())); // 设置状态
         if (diagnoseWrapper.getId() == null) { //新增
             diagnose.setCreator(param.getPerson());
             diagnose.setGmtCreate(param.getNow());
@@ -860,4 +994,31 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         return dq;
     }
 
+
+    /**
+     * 诊断依据检索标准词和关联词
+     */
+    public List<String> searchFac(DiagnoseSearchVO diagnoseSearchVO) {
+        List<String> res = new ArrayList<>();
+        List<Integer> typeList =
+                DiagnoseTypeConvertUtil.diagnoseType2LibType(diagnoseSearchVO.getType(), diagnoseSearchVO.getField());
+        diagnoseSearchVO.setTypeList(typeList);
+        if (ListUtil.isNotEmpty(typeList)) {
+            List<LibraryInfo> libraryInfoList = this.search(diagnoseSearchVO);
+            res = libraryInfoList.stream().map(row -> row.getName()).distinct().collect(Collectors.toList());
+        }
+        return res;
+    }
+
+
+    public static void main(String[] args) {
+        String res = "1.2+1.3";
+        String str = "1.3";
+        String regex = "(.*" + str.replace(".", "\\.") + ")|(.*" +
+                str.replace(".", "\\.") + "\\D.*)";
+        System.out.println(regex);
+        String regex1 = "(.*1\\.3)|(.*1\\.3\\D.*)";
+        System.out.println(res.matches(regex));
+        System.out.println(res.matches(regex1));
+    }
 }

+ 412 - 376
knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseImportFacade.java

@@ -1,376 +1,412 @@
-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 (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);
-
-        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;
-    }
-
-}
+package com.diagbot.facade;
+
+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.Diagnose;
+import com.diagbot.entity.DiagnoseDetail;
+import com.diagbot.entity.DiagnoseQuestion;
+import com.diagbot.enums.DiagnoseFeatureTypeEnum;
+import com.diagbot.enums.DiagnoseTypeEnum;
+import com.diagbot.enums.HasQuestionEnum;
+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.service.DiagnoseService;
+import com.diagbot.util.ExportBeanExcelUtil;
+import com.diagbot.util.GsonUtil;
+import com.diagbot.util.IntegerUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.DiagnosticAllExportVO;
+import com.diagbot.vo.DiagnosticBasisExportVO;
+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 javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年8月8日 下午1:30:53
+ */
+@Component
+public class DiagnoseImportFacade {
+
+    private static final Map<String, Integer> typeMap = new HashMap<String, Integer>() {
+        {
+            put(String.valueOf(DiagnoseFeatureTypeEnum.Dis.getKey()), 0);
+            put(String.valueOf(DiagnoseFeatureTypeEnum.Symptom.getKey()), 1);
+            put(String.valueOf(DiagnoseFeatureTypeEnum.Vital.getKey()), 2);
+            put(DiagnoseFeatureTypeEnum.Lis.getKey() + "_2", 3);
+            put(DiagnoseFeatureTypeEnum.Lis.getKey() + "_3", 4);
+            put(DiagnoseFeatureTypeEnum.Lis.getKey() + "_4", 5);
+            put(DiagnoseFeatureTypeEnum.Pacs.getKey() + "_2", 6);
+            put(DiagnoseFeatureTypeEnum.Pacs.getKey() + "_3", 7);
+            put(String.valueOf(DiagnoseFeatureTypeEnum.Antidiastole.getKey()), 8);
+            put(String.valueOf(DiagnoseFeatureTypeEnum.History.getKey()), 8);
+            put(String.valueOf(DiagnoseFeatureTypeEnum.Cause.getKey()), 9);
+            put(String.valueOf(DiagnoseFeatureTypeEnum.CourseOfDisease.getKey()), 10);
+            put(String.valueOf(DiagnoseFeatureTypeEnum.Other.getKey()), 10);
+        }
+    };
+
+    @Autowired
+    DiagnoseQuestionService diagnoseQuestionService;
+    @Autowired
+    @Qualifier("diagnoseDetailServiceImpl")
+    DiagnoseDetailService diagnoseDetailService;
+    @Autowired
+    @Qualifier("diagnoseServiceImpl")
+    DiagnoseService diagnoseService;
+
+    @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 (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<Diagnose> diagnoseQuery = new QueryWrapper<>();
+        diagnoseQuery.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("has_question", HasQuestionEnum.NO_QUESTION.getKey())
+                .eq("id", diaAllExportVO.getDiagnoseId());
+        if (0 == diagnoseService.count(diagnoseQuery)) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该诊断依据存在问题!");
+        }
+
+        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),
+                    getResults(diagnose.getType(), diagnose)));
+
+        }
+        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 = "";
+        Integer showType = null;
+        if (typeMap.containsKey(type.toString())) {
+            showType = typeMap.get(type.toString());
+        } else {
+            if (typeMap.containsKey(type + "_" + questionType)) {
+                showType = typeMap.get(type + "_" + questionType);
+            }
+        }
+        if (!IntegerUtil.isNull(showType)) {
+            typeName = TermEnum.getName(showType);
+        }
+        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;
+    }
+
+    /**
+     * 导出结果的转换
+     */
+    public String getResults(int type, DiagnoseDetail diagnose){
+        String results = "";
+        results = type == DiagnoseFeatureTypeEnum.Lis.getKey()?MidResult(diagnose): diagnose.getResult();
+        return results;
+    }
+
+    /**
+     * 化验结果多个拼装
+     * @param diagnose
+     * @return
+     */
+    public String MidResult(DiagnoseDetail diagnose){
+        List<String> resList = new ArrayList<String>();
+        if(!diagnose.getMidResult().isEmpty()){
+            String[] split = diagnose.getMidResult().split("、");
+            for (int i = 0; i < split.length; i++) {
+                String strNew = split[i];
+                resList.add(diagnose.getRelation() + strNew);
+            }
+        }
+        return  resList.toString();
+    }
+
+}

+ 31 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/LisMappingFacade.java

@@ -25,6 +25,7 @@ import com.diagbot.vo.IdListVO;
 import com.diagbot.vo.IdVO;
 import com.diagbot.vo.KLQuestionVO;
 import com.diagbot.vo.LisMappingPageVO;
+import com.diagbot.vo.LisMappingSearch;
 import com.diagbot.vo.LisMappingVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,6 +35,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -298,6 +300,35 @@ public class LisMappingFacade extends LisMappingServiceImpl {
         return uniqueName;
     }
 
+
+    /**
+     * 根据套餐和明细项获取化验公表
+     *
+     * @param lisMappingSearchList
+     * @return
+     */
+    public List<LisMappingSearch> getLisUniqueNameWithList(List<LisMappingSearch> lisMappingSearchList) {
+        // 界面套餐和明细名称需要转换成标准词再从化验公表项获取公表名
+        List<LisMappingSearch> res = getUniqueName(lisMappingSearchList);
+        if (ListUtil.isNotEmpty(res)) {
+            Map<String, String> map = res.stream().collect(Collectors.toMap((r -> r.getTc() + "__" + r.getMx()), (r -> r.getUniqueName())));
+            for(LisMappingSearch mappingListVO : lisMappingSearchList) {
+                mappingListVO.setUniqueName(map.get(mappingListVO.getMealName() + "__" + mappingListVO.getItemName()));
+            }
+        }
+        return lisMappingSearchList;
+    }
+
+
+    /**
+     * 加载全部公表项数据
+     *
+     * @return 返回公表项内容,格式:套餐__明细__公表项
+     */
+    public Set<String> loadLisMappingFac() {
+        return this.loadLisMapping();
+    }
+
     /**
      * 获取化验套餐
      *

+ 9 - 1
knowledgeman-service/src/main/java/com/diagbot/mapper/ConceptDetailMapper.java

@@ -2,6 +2,7 @@ package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.BIItemDTO;
 import com.diagbot.dto.GetConceptDetailListDTO;
 import com.diagbot.dto.ConceptDetailDTO;
 import com.diagbot.dto.ConceptIndexDTO;
@@ -32,5 +33,12 @@ public interface ConceptDetailMapper extends BaseMapper<ConceptDetail> {
 	 * @return
 	 */
 	public List<ConceptIndexDTO> index(ConceptIndexVO conceptIndexVO);
-   
+
+	/**
+	 * 统计
+	 *
+	 * @return
+	 */
+	public List<BIItemDTO> conDetailCount();
+
 }

+ 8 - 0
knowledgeman-service/src/main/java/com/diagbot/mapper/ConceptMapper.java

@@ -2,6 +2,7 @@ package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.BIItemDTO;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptRes;
 import com.diagbot.dto.ConceptWithOrderRes;
@@ -15,6 +16,7 @@ import com.diagbot.vo.IndexLexiconVO;
 import com.diagbot.vo.IndexVO;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -69,5 +71,11 @@ public interface ConceptMapper extends BaseMapper<Concept> {
      * @return
      */
     List<ConceptBaseDTO> indexByLexicon(IndexLexiconVO indexLexiconVO);
+
+    /**
+     * 知识库标准化-获取医学数据统计
+     * @return
+     */
+    List<BIItemDTO> queryLibTypeCou();
     
 }

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

@@ -5,7 +5,9 @@ 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.entity.LibraryInfo;
 import com.diagbot.vo.DiagnosePageVO;
+import com.diagbot.vo.DiagnoseSearchVO;
 import com.diagbot.vo.DiseaseIndexVO;
 
 import java.util.List;
@@ -45,4 +47,12 @@ public interface DiagnoseMapper extends BaseMapper<Diagnose> {
      */
     public void updateBatch(List<Diagnose> diagnoseList);
 
+
+    /**
+     * 诊断依据检索标准词和关联词
+     *
+     * @param diagnoseSearchVO
+     */
+    public List<LibraryInfo> search(DiagnoseSearchVO diagnoseSearchVO);
+
 }

+ 21 - 0
knowledgeman-service/src/main/java/com/diagbot/mapper/LisMappingMapper.java

@@ -6,11 +6,15 @@ import com.diagbot.dto.LisMappingPageDTO;
 import com.diagbot.entity.LisMapping;
 import com.diagbot.entity.wrapper.LisMappingWrapper;
 import com.diagbot.vo.LisMappingPageVO;
+import com.diagbot.vo.LisMappingSearch;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
 
+import java.util.List;
+import java.util.Set;
+
 /**
  * <p>
  * 化验项目公表映射 Mapper 接口
@@ -28,6 +32,23 @@ public interface LisMappingMapper extends BaseMapper<LisMapping> {
      */
     IPage<LisMappingPageDTO> lisMappingPage(@Param("lisMappingPageVO") LisMappingPageVO lisMappingPageVO);
 
+
+    /**
+     * 根据套餐和明细项获取化验公表
+     *
+     * @param lisMappingSearchList
+     * @return
+     */
+    public List<LisMappingSearch> getUniqueName(List<LisMappingSearch> lisMappingSearchList);
+
+
+    /**
+     * 加载全部公表项数据
+     *
+     * @return 返回公表项内容,格式:套餐__明细__公表项
+     */
+    public Set<String> loadLisMapping();
+
     /**
      * 获取化验公表映射
      *

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

@@ -1,6 +1,7 @@
 package com.diagbot.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.BIItemDTO;
 import com.diagbot.dto.ConceptDetailDTO;
 import com.diagbot.dto.ConceptIndexDTO;
 import com.diagbot.entity.ConceptDetail;
@@ -34,4 +35,11 @@ public interface ConceptDetailService extends IService<ConceptDetail> {
      * @return
      */
     public List<ConceptIndexDTO> index(ConceptIndexVO conceptIndexVO);
+
+    /**
+     * 统计
+     *
+     * @return
+     */
+    public List<BIItemDTO> conDetailCount();
 }

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

@@ -5,7 +5,9 @@ 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.entity.LibraryInfo;
 import com.diagbot.vo.DiagnosePageVO;
+import com.diagbot.vo.DiagnoseSearchVO;
 import com.diagbot.vo.DiseaseIndexVO;
 
 import java.util.List;
@@ -45,4 +47,11 @@ public interface DiagnoseService extends IService<Diagnose> {
      */
     public void updateBatch(List<Diagnose> diagnoseList);
 
+
+    /**
+     * 诊断依据检索标准词和关联词
+     * @param diagnoseSearchVO
+     */
+    public List<LibraryInfo> search(DiagnoseSearchVO diagnoseSearchVO);
+
 }

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

@@ -6,11 +6,15 @@ import com.diagbot.dto.LisMappingPageDTO;
 import com.diagbot.entity.LisMapping;
 import com.diagbot.entity.wrapper.LisMappingWrapper;
 import com.diagbot.vo.LisMappingPageVO;
+import com.diagbot.vo.LisMappingSearch;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
 
+import java.util.List;
+import java.util.Set;
+
 /**
  * <p>
  * 化验项目公表映射 服务类
@@ -28,6 +32,22 @@ public interface LisMappingService extends IService<LisMapping> {
      */
     IPage<LisMappingPageDTO> lisMappingPage(@Param("lisMappingPageVO") LisMappingPageVO lisMappingPageVO);
 
+    /**
+     * 根据套餐和明细项获取化验公表
+     *
+     * @param lisMappingSearchList
+     * @return
+     */
+    public List<LisMappingSearch> getUniqueName(List<LisMappingSearch> lisMappingSearchList);
+
+
+    /**
+     * 加载全部公表项数据
+     *
+     * @return 返回公表项内容,格式:套餐__明细__公表项
+     */
+    public Set<String> loadLisMapping();
+
     /**
      * 获取化验公表映射
      *

+ 12 - 0
knowledgeman-service/src/main/java/com/diagbot/service/impl/ConceptDetailServiceImpl.java

@@ -1,5 +1,6 @@
 package com.diagbot.service.impl;
 
+import com.diagbot.dto.BIItemDTO;
 import com.diagbot.dto.ConceptDetailDTO;
 import com.diagbot.dto.ConceptIndexDTO;
 import com.diagbot.entity.ConceptDetail;
@@ -33,4 +34,15 @@ public class ConceptDetailServiceImpl extends ServiceImpl<ConceptDetailMapper, C
     public List<ConceptIndexDTO> index(ConceptIndexVO conceptIndexVO) {
         return baseMapper.index(conceptIndexVO);
     }
+
+
+    /**
+     * 统计
+     *
+     * @return
+     */
+    @Override
+    public List<BIItemDTO> conDetailCount() {
+        return baseMapper.conDetailCount();
+    }
 }

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

@@ -5,9 +5,11 @@ 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.entity.LibraryInfo;
 import com.diagbot.mapper.DiagnoseMapper;
 import com.diagbot.service.DiagnoseService;
 import com.diagbot.vo.DiagnosePageVO;
+import com.diagbot.vo.DiagnoseSearchVO;
 import com.diagbot.vo.DiseaseIndexVO;
 import org.springframework.stereotype.Service;
 
@@ -38,4 +40,9 @@ public class DiagnoseServiceImpl extends ServiceImpl<DiagnoseMapper, Diagnose> i
     public void updateBatch(List<Diagnose> diagnoseList) {
         baseMapper.updateBatch(diagnoseList);
     }
+
+    @Override
+    public List<LibraryInfo> search(DiagnoseSearchVO diagnoseSearchVO) {
+        return baseMapper.search(diagnoseSearchVO);
+    }
 }

+ 23 - 0
knowledgeman-service/src/main/java/com/diagbot/service/impl/LisMappingServiceImpl.java

@@ -8,9 +8,13 @@ import com.diagbot.entity.wrapper.LisMappingWrapper;
 import com.diagbot.mapper.LisMappingMapper;
 import com.diagbot.service.LisMappingService;
 import com.diagbot.vo.LisMappingPageVO;
+import com.diagbot.vo.LisMappingSearch;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Set;
+
 import java.util.List;
 import java.util.Map;
 
@@ -43,4 +47,23 @@ public class LisMappingServiceImpl extends ServiceImpl<LisMappingMapper, LisMapp
     public List<LisMappingWrapper> getLisMappingByName(Map map) {
         return this.baseMapper.getLisMappingByName(map);
     }
+
+    /**
+     * 根据套餐和明细项获取化验公表
+     *
+     * @param lisMappingSearchList
+     * @return
+     */
+    public List<LisMappingSearch> getUniqueName(List<LisMappingSearch> lisMappingSearchList) {
+        return this.baseMapper.getUniqueName(lisMappingSearchList);
+    }
+
+    /**
+     * 加载全部公表项数据
+     *
+     * @return 返回公表项内容,格式:套餐__明细__公表项
+     */
+    public Set<String> loadLisMapping() {
+        return this.baseMapper.loadLisMapping();
+    }
 }

+ 43 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/DiagnoseSearchVO.java

@@ -0,0 +1,43 @@
+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 javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断依据表入参
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-08-08
+ */
+@Getter
+@Setter
+@ApiModel(value = "诊断依据标准词和关联搜索入参")
+public class DiagnoseSearchVO implements Serializable {
+
+    @ApiModelProperty(value = "搜索类型")
+    @NotNull(message="搜索类型不能为空")
+    private Integer type;
+
+    @ApiModelProperty(value = "搜索区域,2:标准词,3:关联词")
+    @NotNull(message="搜索区域不能为空,2:标准词,3:关联词")
+    private Integer field;
+
+    @ApiModelProperty(value = "搜索内容")
+    @NotBlank(message="搜索内容不能为空")
+    private String name;
+
+    @ApiModelProperty(hidden = true, value = "搜索的类型")
+    private List<Integer> typeList;
+}

+ 25 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/LisMappingSearch.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @description: 化验公表项检索
+ * @author: zhoutg
+ * @date: 2019/9/24 14:27
+ */
+@Getter
+@Setter
+public class LisMappingSearch {
+    private String index;
+    private String mealName;        // 化验标准词套餐名称
+    @ApiModelProperty(hidden = true)
+    private String tc;              // 化验同义词套餐名称
+    private String itemName;        // 化验标准词明细名称
+    @ApiModelProperty(hidden = true)
+    private String mx;              // 化验同义词明细名称
+    private String uniqueName;
+}

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

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @description: 化验公表项检索
+ * @author: zhoutg
+ * @date: 2019/9/24 14:27
+ */
+@Getter
+@Setter
+public class LisMappingSearchVO {
+    private List<LisMappingSearch> lisMappingSearchList = new ArrayList<>();
+}

+ 9 - 0
knowledgeman-service/src/main/java/com/diagbot/web/ConceptController.java

@@ -2,6 +2,7 @@ package com.diagbot.web;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.BIItemDTO;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.GetAllConceptDTO;
 import com.diagbot.dto.GetAllForRelationDTO;
@@ -112,6 +113,14 @@ public class ConceptController {
         return RespDTO.onSuc(conceptFacade.conceptInfoExcelIm(file));
     }
 
+    @ApiOperation(value = "知识库标准化-获取医学数据统计[by:rengb]")
+    @PostMapping("/queryLibTypeCou")
+    @SysLogger("queryLibTypeCou")
+    @ApiIgnore
+    public RespDTO<List<BIItemDTO>> queryLibTypeCou() {
+        return RespDTO.onSuc(conceptFacade.queryLibTypeCou());
+    }
+
     /**
      * 根据概念Id列表获取概念列表Map
      *

+ 12 - 1
knowledgeman-service/src/main/java/com/diagbot/web/ConceptDetailController.java

@@ -2,6 +2,7 @@ package com.diagbot.web;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.BIItemDTO;
 import com.diagbot.dto.ConceptDetailDTO;
 import com.diagbot.dto.ConceptIndexDTO;
 import com.diagbot.dto.GetConceptDetailListDTO;
@@ -20,6 +21,7 @@ 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;
@@ -79,4 +81,13 @@ public class ConceptDetailController {
         List<ConceptIndexDTO> data = conceptDetailFacade.indexFac(conceptIndexVO);
         return RespDTO.onSuc(data);
     }
-}
+
+    @ApiOperation(value = "数据统计-静态知识数据统计[by:zhaops]", notes = "")
+    @PostMapping("/conceptDetailBI")
+    @SysLogger("conceptDetailBI")
+    @ApiIgnore
+    public RespDTO<List<BIItemDTO>> conceptDetailBI() {
+        List<BIItemDTO> data = conceptDetailFacade.conceptDetailBI();
+        return RespDTO.onSuc(data);
+    }
+}

+ 21 - 1
knowledgeman-service/src/main/java/com/diagbot/web/DiagnoseController.java

@@ -13,6 +13,7 @@ import com.diagbot.facade.DiagnoseFacade;
 import com.diagbot.facade.LibraryInfoFacade;
 import com.diagbot.vo.DeleteDiagnoseVO;
 import com.diagbot.vo.DiagnosePageVO;
+import com.diagbot.vo.DiagnoseSearchVO;
 import com.diagbot.vo.DiseaseIndexVO;
 import com.diagbot.vo.GetDiagnoseDetailVO;
 import com.diagbot.vo.UpdateDiagnoseVO;
@@ -75,7 +76,7 @@ public class DiagnoseController {
     }
 
 
-    @ApiOperation(value = "诊断依据-校验数据[by:zhoutg]")
+    @ApiOperation(value = "诊断依据-校验并保存数据[by:zhoutg]")
     @PostMapping("/verifyData")
     @SysLogger("verifyData")
     @Transactional
@@ -85,6 +86,25 @@ public class DiagnoseController {
     }
 
 
+    @ApiOperation(value = "诊断依据-暂存数据[by:zhoutg]")
+    @PostMapping("/tempSaveOrUpate")
+    @SysLogger("tempSaveOrUpate")
+    @Transactional
+    public RespDTO<Long> tempSaveOrUpate(@RequestBody DiagnoseWrapper diagnoseWrapper) {
+        Long id = diagnoseFacade.tempSaveOrUpdateFac(diagnoseWrapper);
+        return RespDTO.onSuc(id);
+    }
+
+
+    @ApiOperation(value = "诊断依据-标准词和关联词搜索[by:zhoutg]")
+    @PostMapping("/search")
+    @SysLogger("search")
+    public RespDTO<List<String>> search(@Valid @RequestBody DiagnoseSearchVO diagnoseSearchVO) {
+        List<String> data = diagnoseFacade.searchFac(diagnoseSearchVO);
+        return RespDTO.onSuc(data);
+    }
+
+
     @ApiOperation(value = "诊断依据-校验所有数据[by:zhoutg]")
     @PostMapping("/verifyAllData")
     @SysLogger("verifyAllData")

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

@@ -16,4 +16,5 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/diagnoseDetail")
 public class DiagnoseDetailController {
 
+
 }

+ 14 - 0
knowledgeman-service/src/main/java/com/diagbot/web/LisMappingController.java

@@ -7,6 +7,7 @@ import com.diagbot.facade.LisMappingFacade;
 import com.diagbot.vo.GetUniqueNameVO;
 import com.diagbot.vo.IdVO;
 import com.diagbot.vo.LisMappingPageVO;
+import com.diagbot.vo.LisMappingSearchVO;
 import com.diagbot.vo.LisMappingVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.List;
 
 /**
  * <p>
@@ -93,4 +95,16 @@ public class LisMappingController {
         return RespDTO.onSuc(lisMappingFacade.getLisUniqueName(getUniqueNameVO));
     }
 
+
+    @ApiOperation(value = "查找化验公表名[by:zhoutg]",
+            notes = "index:前端索引<br>" +
+                    "mealName:大项名称<br>" +
+                    "itemName:小项名称<br>" +
+                    "uniqueName:返回结果<br>")
+    @PostMapping("/getUniqueNameWithList")
+    @SysLogger("getUniqueNameWithList")
+    public RespDTO<String> getUniqueNameWithList(@RequestBody LisMappingSearchVO lisMappingSearchVO) {
+        return RespDTO.onSuc(lisMappingFacade.getLisUniqueNameWithList(lisMappingSearchVO.getLisMappingSearchList()));
+    }
+
 }

+ 37 - 0
knowledgeman-service/src/main/resources/mapper/ConceptDetailMapper.xml

@@ -57,6 +57,43 @@
 		<if test="name != null and name != ''">
             AND a.lib_name like concat('%',#{name} ,'%' )
         </if>
+        AND a.lib_type not in(12,13,14)
 		ORDER BY a.gmt_modified DESC
     </select>
+
+    <select id="conDetailCount" resultType="com.diagbot.dto.BIItemDTO">
+        SELECT
+            "静态知识" AS moduleName,
+            "静态知识总数" AS itemName,
+            count(DISTINCT kc.id) AS count
+        FROM
+            kl_concept kc,
+            kl_concept_detail kcd
+        WHERE
+            kc.is_deleted = 'N'
+            AND kcd.is_deleted = 'N'
+            AND kc.id = kcd.concept_id
+
+        UNION
+
+        SELECT DISTINCT
+            "静态知识" AS moduleName,
+            CASE
+            WHEN t2.lib_type = 18 THEN '疾病'
+            WHEN t2.lib_type = 46 THEN '化验公表项'
+            WHEN t2.lib_type = 16 THEN '辅检项目'
+            WHEN t2.lib_type = 10 THEN '药品通用名'
+            ELSE ''
+            END AS itemName,
+            COUNT(t2.id) AS count
+        FROM
+            (SELECT DISTINCT concept_id FROM kl_concept_detail WHERE is_deleted = "N") t1,
+            kl_concept t2
+        WHERE
+            t1.concept_id = t2.id
+            AND t2.is_deleted = "N"
+            AND t2.lib_type IN (18, 46, 16, 10)
+        GROUP BY
+            lib_type
+    </select>
 </mapper>

+ 35 - 0
knowledgeman-service/src/main/resources/mapper/ConceptMapper.xml

@@ -291,5 +291,40 @@
 		and (a.name like concat('%',#{name},'%')
 		or a.spell like concat('%',#{name},'%'))
 	</select>
+
+	<select id="queryLibTypeCou" parameterType="list" resultType="com.diagbot.dto.BIItemDTO">
+		SELECT
+		a.moduleName,
+		a.itemName,
+		CASE WHEN b.lib_type IS NULL THEN 0 else b.count END AS count
+		FROM
+		(SELECT
+		id,
+		CASE WHEN id=18 then '疾病'
+		WHEN id=1 THEN '症状'
+		WHEN id=35 OR id=33 THEN '体征'
+		WHEN id=12 OR id=13 THEN '化验'
+		WHEN id=16 THEN '辅检'
+		WHEN id=10 THEN '药品'
+		WHEN id=25 THEN '手术'
+		WHEN id=11 THEN '治疗'
+		ELSE '' END AS moduleName,
+		CASE WHEN id=18 THEN '疾病总数'
+		WHEN id=1 THEN '症状标准词'
+		WHEN id=25 THEN '手术项目'
+		WHEN id=11 THEN '治疗数目'
+		ELSE `name` END AS itemName
+		FROM kl_lexicon
+		WHERE id in (18,1,35,33,12,13,16,10,25,11)
+		) a
+		LEFT JOIN
+		(SELECT
+		lib_type,COUNT(id) AS count
+		FROM kl_concept
+		WHERE lib_type in (18,1,35,33,12,13,16,10,25,11)
+		AND is_deleted='N'
+		GROUP BY lib_type) b
+		ON a.id=b.lib_type
+	</select>
     
 </mapper>

+ 7 - 1
knowledgeman-service/src/main/resources/mapper/DiagnoseDetailMapper.xml

@@ -16,17 +16,20 @@
         <result column="code" property="code" />
         <result column="standard" property="standard" />
         <result column="relation" property="relation" />
+        <result column="unique_name" property="uniqueName" />
+        <result column="mid_result" property="midResult" />
         <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_unique" property="verifyUnique" />
         <result column="verify_result" property="verifyResult" />
         <result column="verify_formula" property="verifyFormula" />
     </resultMap>
 
-    <update id="updateBatch">
+    <update id="updateBatch" parameterType="list">
         <foreach collection="list" item="item"  separator=";">
             update kl_diagnose_detail
             <set>
@@ -39,6 +42,9 @@
                 <if test="item.verifyRelation != null">
                     verify_relation = #{item.verifyRelation},
                 </if>
+                <if test="item.verifyUnique != null">
+                    verify_unique = #{item.verifyUnique},
+                </if>
                 <if test="item.verifyResult != null">
                     verify_result = #{item.verifyResult},
                 </if>

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

@@ -58,4 +58,46 @@
         </foreach>
     </update>
 
+
+    <select id="search" resultType="com.diagbot.entity.LibraryInfo">
+        SELECT a.* FROM kl_library_info a, kl_concept b
+        WHERE a.is_deleted = 'N' and b.is_deleted = 'N'
+        AND a.concept_id = b.id
+        <if test="typeList != null and typeList.size() > 0">
+            AND a.type_id in
+            <foreach  collection="typeList" item="item" open="("  separator=","  close=")">
+                #{item}
+            </foreach>
+        </if>
+        AND (a.NAME = #{name} OR a.spell = #{name})
+
+        union
+
+        SELECT a.* FROM kl_library_info a, kl_concept b
+        WHERE a.is_deleted = 'N' and b.is_deleted = 'N'
+        AND a.concept_id = b.id
+        <if test="typeList != null and typeList.size() > 0">
+            AND a.type_id in
+            <foreach  collection="typeList" item="item" open="("  separator=","  close=")">
+                #{item}
+            </foreach>
+        </if>
+        AND (a.NAME LIKE  concat(#{name},'%') OR a.spell LIKE concat(#{name},'%'))
+
+        union
+
+        SELECT a.* FROM kl_library_info a, kl_concept b
+        WHERE a.is_deleted = 'N' and b.is_deleted = 'N'
+        AND a.concept_id = b.id
+        <if test="typeList != null and typeList.size() > 0">
+            AND a.type_id in
+            <foreach  collection="typeList" item="item" open="("  separator=","  close=")">
+                #{item}
+            </foreach>
+        </if>
+        AND (a.NAME LIKE  concat('%',#{name},'%') OR a.spell LIKE concat('%',#{name},'%'))
+
+
+    </select>
+
 </mapper>

+ 30 - 0
knowledgeman-service/src/main/resources/mapper/LisMappingMapper.xml

@@ -131,4 +131,34 @@
         </if>
     </select>
 
+
+     <select id="getUniqueName" resultType="com.diagbot.vo.LisMappingSearch">
+        select * from (
+            SELECT b1.lib_name meal_name, lib1.name tc, IFNULL(b2.lib_name,'') item_name, IFNULL(lib2.name,'') mx, b3.lib_name unique_name
+            FROM `kl_lis_mapping` a
+            LEFT JOIN kl_concept b1 on a.meal_id = b1.id and b1.is_deleted = 'N'
+            LEFT JOIN kl_library_info lib1 on b1.id = lib1.concept_id and lib1.is_deleted = 'N'
+            LEFT JOIN kl_concept b2 on a.item_id = b2.id and b2.is_deleted = 'N'
+            LEFT JOIN kl_library_info lib2 on b2.id = lib2.concept_id and lib2.is_deleted = 'N'
+            LEFT JOIN kl_concept b3 on a.unique_id = b3.id and b3.is_deleted = 'N'
+            where a.is_deleted = 'N') t
+        where
+        <foreach item="item" collection="list" open="(" separator="or" close=")" >
+            t.tc = #{item.mealName} and t.mx = #{item.itemName}
+        </foreach>
+    </select>
+
+
+    <select id="loadLisMapping" resultType="java.lang.String">
+        select concat(tc, '__',mx, '__', unique_name) from (
+        SELECT b1.lib_name meal_name, lib1.name tc, IFNULL(b2.lib_name,'') item_name, IFNULL(lib2.name,'') mx, b3.lib_name unique_name
+        FROM `kl_lis_mapping` a
+        LEFT JOIN kl_concept b1 on a.meal_id = b1.id and b1.is_deleted = 'N'
+        LEFT JOIN kl_library_info lib1 on lib1.concept_id = b1.id and lib1.is_deleted = 'N'
+        LEFT JOIN kl_concept b2 on a.item_id = b2.id and b2.is_deleted = 'N'
+        LEFT JOIN kl_library_info lib2 on lib2.concept_id = b2.id and lib2.is_deleted = 'N'
+        LEFT JOIN kl_concept b3 on a.unique_id = b3.id and b3.is_deleted = 'N'
+        where a.is_deleted = 'N') t
+    </select>
+
 </mapper>

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

@@ -28,6 +28,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .regexMatchers(".*swagger.*", ".*v2.*", ".*webjars.*", "/druid.*", "/actuator.*", "/hystrix.*").permitAll()
                 .antMatchers("/file_prec/uploadImage").permitAll()
                 .antMatchers("/dictionaryInfo_prec/getList").permitAll()
+                .antMatchers("/count_prec/getCount").permitAll()
                 .antMatchers("/**").authenticated();
 //                .antMatchers("/**").permitAll();
     }

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

@@ -91,6 +91,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/hystrix/**", request)
                 || matchers("/file_prec/uploadImage", request)
                 || matchers("/dictionaryInfo_prec/getList", request)
+                || matchers("/count_prec/getCount", request)
                 || matchers("/", request)) {
             return true;
         }

+ 17 - 0
precman-service/src/main/java/com/diagbot/dto/BIItemDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/10/15 15:32
+ */
+@Getter
+@Setter
+public class BIItemDTO {
+    private String moduleName;
+    private String itemName;
+    private Integer count;
+}

+ 17 - 0
precman-service/src/main/java/com/diagbot/dto/PrecCountDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+/**
+ * @description: 返回预问诊统计内容
+ * @author: zhoutg
+ * @date: 2019/10/15 14:22
+ */
+@Getter
+@Setter
+public class PrecCountDTO {
+
+    @ApiModelProperty(value = "症状数量")
+    private int symptomNum;
+}

+ 40 - 0
precman-service/src/main/java/com/diagbot/facade/CountFacade.java

@@ -0,0 +1,40 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.BIItemDTO;
+import com.diagbot.entity.QuestionInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.QuestionTypeEnum;
+import com.diagbot.enums.TagTypeEnum;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @Author:zhoutg
+ * @time: 2018/11/23 11:37
+ */
+@Component
+public class CountFacade {
+
+    @Autowired
+    QuestionFacade questionFacade;
+
+    /**
+     * 返回统计信息
+     *
+     * @return
+     */
+    public BIItemDTO getCount() {
+        BIItemDTO biItemDTO = new BIItemDTO();
+        int symptomNum = questionFacade.count(new QueryWrapper<QuestionInfo>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("type", QuestionTypeEnum.Symptom.getKey())
+                .eq("tag_type", TagTypeEnum.T4.getKey())
+        );
+        biItemDTO.setModuleName("智能预问诊");
+        biItemDTO.setItemName("预问诊症状条目");
+        biItemDTO.setCount(symptomNum);
+        return biItemDTO;
+    }
+}

+ 43 - 0
precman-service/src/main/java/com/diagbot/web/CountController.java

@@ -0,0 +1,43 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.BIItemDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.CountFacade;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+/**
+ * <p>
+ * 统计 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-12-25
+ */
+@RequestMapping("/count_prec")
+@RestController
+@SuppressWarnings("unchecked")
+@Api(value = "预问诊统计API", tags = { "预问诊统计API" })
+@ApiIgnore
+public class CountController {
+
+
+    @Autowired
+    CountFacade countFacade;
+
+    @ApiOperation(value = "返回预问诊统计信息[by:zhoutg]",
+            notes = "")
+    @PostMapping("/getCount")
+    @SysLogger("getCount")
+    public RespDTO<BIItemDTO> getCount() {
+        BIItemDTO data = countFacade.getCount();
+        return RespDTO.onSuc(data);
+    }
+}