Explorar o código

Merge remote-tracking branch 'origin/dev/KLBstand' into dev/KLBstand

MarkHuang %!s(int64=6) %!d(string=hai) anos
pai
achega
26d771d5de
Modificáronse 100 ficheiros con 2436 adicións e 536 borrados
  1. 4 4
      aipt-service/src/main/java/com/diagbot/client/NLPServiceClient.java
  2. 6 0
      aipt-service/src/main/java/com/diagbot/client/TranServiceClient.java
  3. 1 0
      aipt-service/src/main/java/com/diagbot/client/bean/AdverseReaction.java
  4. 1 0
      aipt-service/src/main/java/com/diagbot/client/bean/Medicition.java
  5. 2 2
      aipt-service/src/main/java/com/diagbot/client/hystrix/NLPServiceHystrix.java
  6. 15 10
      aipt-service/src/main/java/com/diagbot/client/hystrix/TranServiceHystrix.java
  7. 2 1
      aipt-service/src/main/java/com/diagbot/dto/ConceptIntroduceDTO.java
  8. 1 1
      aipt-service/src/main/java/com/diagbot/dto/ConceptRetrievalDTO.java
  9. 2 0
      aipt-service/src/main/java/com/diagbot/dto/FeatureConceptDTO.java
  10. 0 1
      aipt-service/src/main/java/com/diagbot/dto/PushDTO.java
  11. 30 0
      aipt-service/src/main/java/com/diagbot/dto/RetrievalDTO.java
  12. 72 0
      aipt-service/src/main/java/com/diagbot/dto/SysSetInfoDTO.java
  13. 18 1
      aipt-service/src/main/java/com/diagbot/enums/LexiconTypeEnum.java
  14. 0 2
      aipt-service/src/main/java/com/diagbot/facade/ClinicalFacade.java
  15. 8 37
      aipt-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java
  16. 117 4
      aipt-service/src/main/java/com/diagbot/facade/ConceptFacade.java
  17. 16 0
      aipt-service/src/main/java/com/diagbot/facade/DisScaleFacade.java
  18. 13 14
      aipt-service/src/main/java/com/diagbot/facade/DisclaimerInformationFacade.java
  19. 6 2
      aipt-service/src/main/java/com/diagbot/facade/DiseaseIcdFacade.java
  20. 22 27
      aipt-service/src/main/java/com/diagbot/facade/EvaluationFacade.java
  21. 7 30
      aipt-service/src/main/java/com/diagbot/facade/FeatureFacade.java
  22. 0 1
      aipt-service/src/main/java/com/diagbot/facade/IndexConfigFacade.java
  23. 107 107
      aipt-service/src/main/java/com/diagbot/facade/IndexDataFacade.java
  24. 4 4
      aipt-service/src/main/java/com/diagbot/facade/NLPFacade.java
  25. 26 4
      aipt-service/src/main/java/com/diagbot/facade/PushFacade.java
  26. 0 13
      aipt-service/src/main/java/com/diagbot/facade/RelationFacade.java
  27. 51 35
      aipt-service/src/main/java/com/diagbot/facade/TreatmentFacade.java
  28. 5 0
      aipt-service/src/main/java/com/diagbot/mapper/DisScaleMapper.java
  29. 3 1
      aipt-service/src/main/java/com/diagbot/service/DisScaleService.java
  30. 8 0
      aipt-service/src/main/java/com/diagbot/service/impl/DisScaleServiceImpl.java
  31. 9 2
      aipt-service/src/main/java/com/diagbot/vo/ConceptIntroduceVO.java
  32. 20 0
      aipt-service/src/main/java/com/diagbot/vo/GetStaticKnowledgeVO.java
  33. 35 0
      aipt-service/src/main/java/com/diagbot/vo/HospitalSetVO.java
  34. 4 0
      aipt-service/src/main/java/com/diagbot/vo/RetrievalVO.java
  35. 29 0
      aipt-service/src/main/java/com/diagbot/vo/ScaleIndexVO.java
  36. 1 0
      aipt-service/src/main/java/com/diagbot/vo/SearchVo.java
  37. 13 1
      aipt-service/src/main/java/com/diagbot/web/ConceptController.java
  38. 4 6
      aipt-service/src/main/java/com/diagbot/web/ConceptDetailController.java
  39. 10 0
      aipt-service/src/main/java/com/diagbot/web/DisScaleController.java
  40. 152 123
      aipt-service/src/main/resources/mapper/ConceptMapper.xml
  41. 55 0
      aipt-service/src/main/resources/mapper/DisScaleMapper.xml
  42. 2 1
      common/src/main/java/com/diagbot/enums/SysTypeEnum.java
  43. 1 1
      config-server/src/main/resources/shared/aipt-service-dev.yml
  44. 1 1
      config-server/src/main/resources/shared/aipt-service-local.yml
  45. 1 1
      config-server/src/main/resources/shared/aipt-service-test.yml
  46. 7 0
      config-server/src/main/resources/shared/gateway-service-dev.yml
  47. 7 0
      config-server/src/main/resources/shared/gateway-service-local.yml
  48. 7 0
      config-server/src/main/resources/shared/gateway-service-pro.yml
  49. 7 0
      config-server/src/main/resources/shared/gateway-service-test.yml
  50. 104 0
      config-server/src/main/resources/shared/prec-service-dev.yml
  51. 104 0
      config-server/src/main/resources/shared/prec-service-local.yml
  52. 104 0
      config-server/src/main/resources/shared/prec-service-pro.yml
  53. 105 0
      config-server/src/main/resources/shared/prec-service-test.yml
  54. 31 0
      data-service/src/main/java/com/diagbot/client/TranServiceClient.java
  55. 3 0
      data-service/src/main/java/com/diagbot/client/bean/SearchData.java
  56. 30 0
      data-service/src/main/java/com/diagbot/client/hystrix/TranServiceHystrix.java
  57. 39 0
      data-service/src/main/java/com/diagbot/dto/SysSetInfoDTO.java
  58. 2 0
      data-service/src/main/java/com/diagbot/facade/AssembleFacade.java
  59. 37 0
      data-service/src/main/java/com/diagbot/facade/SysSetFacade.java
  60. 4 3
      data-service/src/main/java/com/diagbot/vo/ConceptIntroduceVO.java
  61. 38 0
      data-service/src/main/java/com/diagbot/vo/HospitalSetVO.java
  62. 46 0
      data-service/src/main/java/com/diagbot/web/SysSetController.java
  63. 47 0
      docs/006.20190304慢病基于icss增量脚本/init_icss_NCD.sql
  64. 6 3
      docs/006.20190304慢病基于icss增量脚本/init_user.sql
  65. 0 4
      docs/009.20190425知识库标准化脚本/init_cloud_service.sql
  66. 0 0
      docs/009.20190425知识库标准化脚本/init_klb.sql
  67. 0 0
      docs/009.20190425知识库标准化脚本/init_user.sql
  68. BIN=BIN
      docs/009.20190425知识库标准化脚本/知识库标准化执行脚本_20190524.zip
  69. BIN=BIN
      docs/009.20190425知识库标准化脚本/知识库标准化执行脚本_20190621.zip
  70. 55 0
      docs/010.20190531智能预问诊儿童体质评估/init_prec.sql
  71. 17 2
      icss-service/src/main/java/com/diagbot/client/AiptServiceClient.java
  72. 56 2
      icss-service/src/main/java/com/diagbot/client/TranServiceClient.java
  73. 1 0
      icss-service/src/main/java/com/diagbot/client/bean/Medicition.java
  74. 3 0
      icss-service/src/main/java/com/diagbot/client/bean/SearchData.java
  75. 18 2
      icss-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java
  76. 65 10
      icss-service/src/main/java/com/diagbot/client/hystrix/TranServiceHystrix.java
  77. 1 1
      icss-service/src/main/java/com/diagbot/dto/ConceptRetrievalDTO.java
  78. 3 1
      icss-service/src/main/java/com/diagbot/dto/FeatureConceptDTO.java
  79. 37 0
      icss-service/src/main/java/com/diagbot/dto/GetExportInquirysDTO.java
  80. 33 0
      icss-service/src/main/java/com/diagbot/dto/HisInquirysForJzDTO.java
  81. 146 0
      icss-service/src/main/java/com/diagbot/dto/HisInquirysForJzDetailDTO.java
  82. 37 2
      icss-service/src/main/java/com/diagbot/dto/HospitalInfoDTO.java
  83. 9 19
      icss-service/src/main/java/com/diagbot/dto/IndexConfigDTO.java
  84. 18 0
      icss-service/src/main/java/com/diagbot/dto/LisDataDTO.java
  85. 23 0
      icss-service/src/main/java/com/diagbot/dto/LisRetrieveDTO.java
  86. 45 0
      icss-service/src/main/java/com/diagbot/dto/LisRetrieveListAllDTO.java
  87. 21 0
      icss-service/src/main/java/com/diagbot/dto/PacsDataDTO.java
  88. 19 0
      icss-service/src/main/java/com/diagbot/dto/PacsResultDTO.java
  89. 26 0
      icss-service/src/main/java/com/diagbot/dto/PacsRetrieveDTO.java
  90. 44 0
      icss-service/src/main/java/com/diagbot/dto/PacsRetrieveListAllDTO.java
  91. 1 1
      icss-service/src/main/java/com/diagbot/dto/RetrievalDTO.java
  92. 44 0
      icss-service/src/main/java/com/diagbot/dto/SysSetInfoDTO.java
  93. 2 0
      icss-service/src/main/java/com/diagbot/facade/AssembleFacade.java
  94. 1 0
      icss-service/src/main/java/com/diagbot/facade/BuriedSomeStatisticalFacade.java
  95. 11 12
      icss-service/src/main/java/com/diagbot/facade/DisclaimerInformationFacade.java
  96. 56 0
      icss-service/src/main/java/com/diagbot/facade/DockingImportFacade.java
  97. 8 12
      icss-service/src/main/java/com/diagbot/facade/DoctorPageModeFacade.java
  98. 19 24
      icss-service/src/main/java/com/diagbot/facade/EvaluationModuleMappingFacade.java
  99. 5 1
      icss-service/src/main/java/com/diagbot/facade/FeatureFacade.java
  100. 0 0
      icss-service/src/main/java/com/diagbot/facade/HospitalDeptFacade.java

+ 4 - 4
aipt-service/src/main/java/com/diagbot/client/NLPServiceClient.java

@@ -2,12 +2,12 @@ package com.diagbot.client;
 
 import com.diagbot.client.bean.Response;
 import com.diagbot.client.hystrix.NLPServiceHystrix;
+import com.diagbot.dto.FeatureConceptDTO;
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * @Description:调用NLP对接层服务
@@ -22,6 +22,6 @@ public interface NLPServiceClient {
      * @param text
      * @return
      */
-    @PostMapping(value = "/nlp-web/feature/find_symptom_feature")
-    Response<List<Map<String, Object>>> symptomFeaturePageData(@RequestParam("text") String text);
+    @GetMapping(value = "/nlp-web/feature/find_symptom_feature")
+    Response<List<FeatureConceptDTO>> symptomFeaturePageData(@RequestParam("text") String text);
 }

+ 6 - 0
aipt-service/src/main/java/com/diagbot/client/TranServiceClient.java

@@ -7,15 +7,18 @@ import com.diagbot.dto.GetTopPatientInfoDTO;
 import com.diagbot.dto.HospitalDeptInfoDTO;
 import com.diagbot.dto.IndexDataDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SysSetInfoDTO;
 import com.diagbot.vo.GetDiseaseIcdVO;
 import com.diagbot.vo.GetTopPatientInfoVO;
 import com.diagbot.vo.HospitalDeptInfoVO;
+import com.diagbot.vo.HospitalSetVO;
 import com.diagbot.vo.IndexDataSaveVO;
 import com.diagbot.vo.IndexDataiIds;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import javax.validation.Valid;
 import java.util.List;
 import java.util.Map;
 
@@ -142,4 +145,7 @@ public interface TranServiceClient {
      */
     @PostMapping(value = "/indexData/saveIndexDatas")
     RespDTO<Boolean> saveIndexDatas(@RequestBody IndexDataSaveVO indexDataSaveVO);
+
+    @PostMapping("/sysSet/getSysSetInfoDatas")
+    RespDTO<List<SysSetInfoDTO>> getSysSetInfoDatas(@Valid @RequestBody HospitalSetVO hospitalSetVO);
 }

+ 1 - 0
aipt-service/src/main/java/com/diagbot/client/bean/AdverseReaction.java

@@ -16,6 +16,7 @@ public class AdverseReaction {
     private Long conceptId;
     private String name;  //名称
     private Integer libType;
+    private Integer type;
     private String showInfo = "0";//是否显示提示信息
     private Integer controlType; //控件类型
     private List<AdverseReactionDetail> details;

+ 1 - 0
aipt-service/src/main/java/com/diagbot/client/bean/Medicition.java

@@ -24,4 +24,5 @@ public class Medicition {
      */
     private String showInfo = "0";
     private String rate;
+    private Integer type;
 }

+ 2 - 2
aipt-service/src/main/java/com/diagbot/client/hystrix/NLPServiceHystrix.java

@@ -2,12 +2,12 @@ package com.diagbot.client.hystrix;
 
 import com.diagbot.client.NLPServiceClient;
 import com.diagbot.client.bean.Response;
+import com.diagbot.dto.FeatureConceptDTO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * @Description:调用NLP对接层服务
@@ -25,7 +25,7 @@ public class NLPServiceHystrix implements NLPServiceClient {
      * @return
      */
     @Override
-    public Response<List<Map<String, Object>>> symptomFeaturePageData(@RequestParam("text") String text) {
+    public Response<List<FeatureConceptDTO>> symptomFeaturePageData(@RequestParam("text") String text) {
         log.error("【hystrix】调用{}异常", "symptomFeaturePageData");
         return null;
     }

+ 15 - 10
aipt-service/src/main/java/com/diagbot/client/hystrix/TranServiceHystrix.java

@@ -1,27 +1,26 @@
 package com.diagbot.client.hystrix;
 
-import java.util.List;
-import java.util.Map;
-
-import javax.validation.Valid;
-
-import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestBody;
-
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.client.bean.HosCodeVO;
 import com.diagbot.dto.GetDiseaseIcdDTO;
 import com.diagbot.dto.GetTopPatientInfoDTO;
 import com.diagbot.dto.HospitalDeptInfoDTO;
-import com.diagbot.vo.HospitalDeptInfoVO;
 import com.diagbot.dto.IndexDataDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SysSetInfoDTO;
 import com.diagbot.vo.GetDiseaseIcdVO;
 import com.diagbot.vo.GetTopPatientInfoVO;
+import com.diagbot.vo.HospitalDeptInfoVO;
+import com.diagbot.vo.HospitalSetVO;
 import com.diagbot.vo.IndexDataSaveVO;
 import com.diagbot.vo.IndexDataiIds;
-
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import javax.validation.Valid;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 调用信息对接层服务
@@ -156,4 +155,10 @@ public class TranServiceHystrix implements TranServiceClient {
         log.error("【hystrix】调用{}异常", "saveIndexDatas");
         return null;
     }
+
+    @Override
+    public RespDTO<List<SysSetInfoDTO>> getSysSetInfoDatas(@Valid HospitalSetVO hospitalSetVO) {
+        log.error("【hystrix】调用{}异常", "getSysSetInfoDatas");
+        return null;
+    }
 }

+ 2 - 1
aipt-service/src/main/java/com/diagbot/dto/ConceptIntroduceDTO.java

@@ -1,5 +1,6 @@
 package com.diagbot.dto;
 
+import com.diagbot.util.ListUtil;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -13,5 +14,5 @@ import java.util.List;
 @Getter
 @Setter
 public class ConceptIntroduceDTO extends ConceptBaseDTO{
-    private List<ConceptDetailDTO> details;
+    private List<ConceptDetailDTO> details = ListUtil.newArrayList();
 }

+ 1 - 1
aipt-service/src/main/java/com/diagbot/dto/ConceptRetrievalDTO.java

@@ -16,7 +16,7 @@ public class ConceptRetrievalDTO {
     private Long parentId;//父级id
     private String parentName;//父级名称
     private String sameName;//同义词名称
-    private Integer showType;//显示类型(1本体,2同义词)
+    private Long showType;//显示类型(1本体,0同义词)
     private Long libTypeId;//标签类型id
     private String libTypeName;//标签类型名称
     private Integer type;//questionType

+ 2 - 0
aipt-service/src/main/java/com/diagbot/dto/FeatureConceptDTO.java

@@ -12,4 +12,6 @@ import lombok.Setter;
 @Setter
 public class FeatureConceptDTO extends ConceptBaseDTO {
     private Integer libType;
+    private Integer type;
+    private Integer chronicLabel; //是否慢病复诊标志
 }

+ 0 - 1
aipt-service/src/main/java/com/diagbot/dto/PushDTO.java

@@ -24,5 +24,4 @@ public class PushDTO {
     private Map<String, List<ConceptPushDTO>> dis;
     private ConceptPushDTO dept;
     private List<MedicalIndication> medicalIndications;
-    //private List<EvaluationModuleMappingDTO> evaluationModule;
 }

+ 30 - 0
aipt-service/src/main/java/com/diagbot/dto/RetrievalDTO.java

@@ -0,0 +1,30 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/11/27 14:58
+ */
+@Getter
+@Setter
+public class RetrievalDTO {
+    //标签名称
+    private String name;
+    //标签id
+    private Long questionId;
+    //显示类型
+    private Long showType;
+    //Tag名称
+    private String retrievalName;
+    //概念id
+    private Long conceptId;
+    //标签类型id
+    private Long libTypeId;
+    //标签类型名称
+    private String libTypeName;
+    //icss标签type
+    private Integer type;
+}

+ 72 - 0
aipt-service/src/main/java/com/diagbot/dto/SysSetInfoDTO.java

@@ -0,0 +1,72 @@
+package com.diagbot.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.time.LocalDateTime;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年6月12日 下午3:31:22
+ */
+@Setter
+@Getter
+public class SysSetInfoDTO {
+	  /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 医院编码
+     */
+    private String hospitalCode;
+
+    /**
+     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
+     */
+    private Integer sysType;
+
+    /**
+     * 配置名称
+     */
+    private String name;
+    
+    /**
+     * 配置编码
+     */
+    private String code;
+    /**
+     * 配置值
+     */
+    private Integer value;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 18 - 1
aipt-service/src/main/java/com/diagbot/enums/LexiconTypeEnum.java

@@ -60,7 +60,24 @@ public enum LexiconTypeEnum implements KeyedNamed {
     SIDE_EFFECTS(49,"不良反应"),
     CORE_INDICATORS(50,"核心指标"),
     TYPES_OF_DISEASE(51,"疾病类型(慢病|急诊)"),
-    PART_AREA(52,"部位区域");
+    PART_AREA(52,"部位区域"),
+    LOCATION_AREA(52,"部位区域"),
+    CHEMICAL_NAME_OF_DRUG(53,"药品化学名"),
+    DRUG_TRADE_NAMES(54,"药品商品名"),
+    HISTORY_OF_PAST_DISEASES(55,"既往疾病史"),
+    HISTORY_OF_TRAUMA(56,"外伤史"),
+    HISTORY_OF_SURGERY(57,"手术史"),
+    HISTORY_OF_BLOOD_TRANSFUSION(58,"输血史"),
+    INFECTIOUS_DISEASE_HISTORY(59,"传染病史"),
+    BAD_HABITS(60,"不良习惯"),
+    MARITAL_HISTORY(61,"冶游史"),
+    HISTORY_OF_MARRIAGE_AND_CHILDBEARING(62,"婚育史"),
+    BIRTH_HISTORY(63,"生育史"),
+    FAMILY_HISTORY(64,"家族史"),
+    FOOD_ALLERGY_HISTORY(65,"食物过敏史"),
+    HISTORY_OF_DRUG_ALLERGY(66,"药物过敏史"),
+    FAMILY_RELATED_INFECTIOUS_DISEASE_HISTORY(67,"家族相关传染病史");
+
 
     @Setter
     private Integer key;

+ 0 - 2
aipt-service/src/main/java/com/diagbot/facade/ClinicalFacade.java

@@ -63,9 +63,7 @@ public class ClinicalFacade {
             sData.setLis(String.join(",", otherVal));
         }
 
-        System.out.println("start:"+DateUtil.now().getTime());
         Response<ResponseData> res = aiServiceClient.bayesPageData(sData);
-        System.out.println("end:"+DateUtil.now().getTime());
         if (res == null || res.getData() == null) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "AI没有返回结果");
         }

+ 8 - 37
aipt-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java

@@ -49,9 +49,10 @@ public class ConceptDetailFacade extends ConceptDetailServiceImpl {
         }
         conceptIntroduceVO.setLibType(ParamConvertUtil.conceptConvert2Lib(conceptIntroduceVO.getType()));
         //验证存在并且获取概念基本信息
-        Concept concept = conceptFacade.exist(conceptIntroduceVO);
-
-        //获取概念提示信息
+        ConceptBaseVO conceptBaseVO = new ConceptBaseVO();
+        BeanUtil.copyProperties(conceptIntroduceVO, conceptBaseVO);
+        Concept concept = conceptFacade.exist(conceptBaseVO);
+        //提示信息明细
         QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
         conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("concept_id", concept.getId())
@@ -82,46 +83,16 @@ public class ConceptDetailFacade extends ConceptDetailServiceImpl {
     }
 
     /**
-     * 获取静态知识明细
+     * 是否存在提示信息
      *
      * @param conceptIntroduceVO
      * @return
      */
-    public List<ConceptDetail> getConceptDetailList(ConceptIntroduceVO conceptIntroduceVO) {
+    public Boolean exist(ConceptIntroduceVO conceptIntroduceVO) {
         conceptIntroduceVO.setLibType(ParamConvertUtil.conceptConvert2Lib(conceptIntroduceVO.getType()));
         //验证存在并且获取概念基本信息
-        Concept concept = conceptFacade.exist(conceptIntroduceVO);
-
-        //获取概念提示信息
-        QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
-        conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("concept_id", concept.getId())
-                .orderByAsc("order_no");
-        if (conceptIntroduceVO.getPosition() == null) {
-            if (conceptIntroduceVO.getLibType().equals(LexiconTypeEnum.DRUGS.getKey())) {
-                conceptIntroduceVO.setPosition(PositionTypeEnum.T5.getKey());
-            } else if (conceptIntroduceVO.getLibType().equals(LexiconTypeEnum.SIDE_EFFECTS.getKey())) {
-                conceptIntroduceVO.setPosition(PositionTypeEnum.T6.getKey());
-            } else {
-                conceptIntroduceVO.setPosition(PositionTypeEnum.T2.getKey());
-            }
-        }
-        conceptDetailQueryWrapper.apply("find_in_set({0},position)", conceptIntroduceVO.getPosition());
-        if (ListUtil.isNotEmpty(conceptIntroduceVO.getTitles())) {
-            conceptDetailQueryWrapper.in("title", conceptIntroduceVO.getTitles());
-        }
-        List<ConceptDetail> conceptDetailList = this.list(conceptDetailQueryWrapper);
-        return conceptDetailList;
-    }
-
-    /**
-     * 是否存在提示信息
-     *
-     * @param conceptBaseVO
-     * @return
-     */
-    public Boolean exist(ConceptBaseVO conceptBaseVO) {
-        //验证存在并且获取概念基本信息
+        ConceptBaseVO conceptBaseVO = new ConceptBaseVO();
+        BeanUtil.copyProperties(conceptIntroduceVO, conceptBaseVO);
         Concept concept = conceptFacade.exist(conceptBaseVO);
         QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
         conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())

+ 117 - 4
aipt-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -2,8 +2,9 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.ConceptBaseDTO;
-import com.diagbot.dto.ConceptWithOrderRes;
 import com.diagbot.dto.ConceptRetrievalDTO;
+import com.diagbot.dto.ConceptWithOrderRes;
+import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.entity.Concept;
 import com.diagbot.entity.wrapper.ConceptWrapper;
 import com.diagbot.enums.ConceptTypeEnum;
@@ -13,13 +14,18 @@ import com.diagbot.enums.LexiconTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.ConceptServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.ParamConvertUtil;
+import com.diagbot.util.StringUtil;
 import com.diagbot.vo.ConceptBaseVO;
 import com.diagbot.vo.ConceptExistVO;
 import com.diagbot.vo.ConceptSearchVO;
 import com.diagbot.vo.ConceptUsualVO;
+import com.diagbot.vo.ExistListByConceptIdsVO;
+import com.diagbot.vo.GetStaticKnowledgeVO;
 import com.diagbot.vo.RetrievalVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
@@ -35,6 +41,8 @@ import java.util.stream.Collectors;
  */
 @Component
 public class ConceptFacade extends ConceptServiceImpl {
+    @Autowired
+    ConceptDetailFacade conceptDetailFacade;
 
     /**
      * 验证存在并且获取概念基本信息
@@ -206,18 +214,123 @@ public class ConceptFacade extends ConceptServiceImpl {
      * @return
      */
     public List<ConceptRetrievalDTO> retrivelConceptInfo(RetrievalVO retrievalVO){
+        Boolean bla = true;
         if (null != retrievalVO.getType()){
-            retrievalVO.setType(ParamConvertUtil.conceptConvert2Lib(retrievalVO.getType()));//标签类型
+            if(retrievalVO.getType().intValue() == ConceptTypeEnum.Lis.getKey()){//如果是化验,添加化验子项类型
+                retrievalVO.setDetilType(LexiconTypeEnum.LIS_DETAILS.getKey());
+                bla = true;
+            }else if(retrievalVO.getType().intValue() == ConceptTypeEnum.Past.getKey()
+                    || retrievalVO.getType().intValue() == ConceptTypeEnum.Other.getKey()){//如果是其他史设置其他史类型
+                List<Integer> typeList = new ArrayList<>();
+                typeList.add(LexiconTypeEnum.HISTORY_OF_PAST_DISEASES.getKey());
+                typeList.add(LexiconTypeEnum.HISTORY_OF_TRAUMA.getKey());
+                typeList.add(LexiconTypeEnum.HISTORY_OF_SURGERY.getKey());
+                typeList.add(LexiconTypeEnum.HISTORY_OF_BLOOD_TRANSFUSION.getKey());
+                typeList.add(LexiconTypeEnum.INFECTIOUS_DISEASE_HISTORY.getKey());
+                typeList.add(LexiconTypeEnum.BAD_HABITS.getKey());
+                typeList.add(LexiconTypeEnum.MARITAL_HISTORY.getKey());
+                typeList.add(LexiconTypeEnum.HISTORY_OF_MARRIAGE_AND_CHILDBEARING.getKey());
+                typeList.add(LexiconTypeEnum.BIRTH_HISTORY.getKey());
+                typeList.add(LexiconTypeEnum.FAMILY_HISTORY.getKey());
+                typeList.add(LexiconTypeEnum.FOOD_ALLERGY_HISTORY.getKey());
+                typeList.add(LexiconTypeEnum.HISTORY_OF_DRUG_ALLERGY.getKey());
+                typeList.add(LexiconTypeEnum.FAMILY_RELATED_INFECTIOUS_DISEASE_HISTORY.getKey());
+                retrievalVO.setOtherType(typeList);
+                bla = false;
+            }
+            if(bla){
+                retrievalVO.setType(ParamConvertUtil.conceptConvert2Lib(retrievalVO.getType()));
+            }
         }
         List<ConceptRetrievalDTO> conceptRetrievalDTOS = this.retrievalConcept(retrievalVO);
+        List<ConceptRetrievalDTO> res = new ArrayList<>();
+        List<Long> selfList = new ArrayList<>(); // 本体
+        List<Long> subList = new ArrayList<>(); // 子项
+        for (ConceptRetrievalDTO bean : conceptRetrievalDTOS) {
+            if(StringUtil.isNotEmpty(bean.getParentName())) { // 重置showType
+                bean.setShowType(2L);
+            }
+            if (bean.getShowType().intValue() == 1) { // 本体
+                selfList.add(bean.getSelfId());
+            } else if (bean.getShowType().intValue() == 2) { // 子项
+                subList.add(bean.getSelfId());
+            }
+        }
+        // 有本体,过滤同义词和子项;无本体,有子项,过滤同义词
+        for (ConceptRetrievalDTO bean : conceptRetrievalDTOS) {
+            if(bean.getShowType().intValue() == 1) {
+                res.add(bean);
+            } else if (bean.getShowType().intValue() == 2) {
+                if(!selfList.contains(bean.getParentId())) {
+                    res.add(bean);
+                }
+            } else if (bean.getShowType().intValue() == 0) {
+                if(!selfList.contains(bean.getSelfId()) && !subList.contains(bean.getSelfId())) {
+                    res.add(bean);
+                }
+            }
+        }
         //把本体的sameName过滤掉
-        for (ConceptRetrievalDTO conceptRetrievalDTO : conceptRetrievalDTOS) {
+        for (ConceptRetrievalDTO conceptRetrievalDTO : res) {
             if(conceptRetrievalDTO.getSameName() != null && conceptRetrievalDTO.getSameName().equals(conceptRetrievalDTO.getSelfName())){
                 conceptRetrievalDTO.setSameName(null);
             }
             conceptRetrievalDTO.setType(ParamConvertUtil.libConvert2Concept(conceptRetrievalDTO.getLibTypeId().intValue()));
         }
-        return conceptRetrievalDTOS;
+        return res;
     }
 
+
+    /**
+     * 静态知识标签检索
+     *
+     * @param getStaticKnowledgeVO
+     * @return
+     */
+    public List<RetrievalDTO> getStaticKnowledge(GetStaticKnowledgeVO getStaticKnowledgeVO){
+        List<RetrievalDTO> retrievalDTOS = new ArrayList<>();
+        RetrievalVO retrievalVO = new RetrievalVO();
+        RetrievalDTO retrievalDTO = new RetrievalDTO();
+        BeanUtil.copyProperties(getStaticKnowledgeVO,retrievalVO);
+        //获取标签信息
+        List<ConceptRetrievalDTO> conceptRetrievalDTOList = this.retrivelConceptInfo(retrievalVO);
+        List<RetrievalDTO> staticRetrievalList = new ArrayList<>();
+        if (ListUtil.isNotEmpty(conceptRetrievalDTOList)) {
+            //封装
+            for (ConceptRetrievalDTO conceptRetrievalDTO : conceptRetrievalDTOList) {
+                retrievalDTO = new RetrievalDTO();
+                retrievalDTO.setConceptId(conceptRetrievalDTO.getSelfId());
+                retrievalDTO.setName(conceptRetrievalDTO.getSelfName());
+                if (StringUtil.isNotEmpty(conceptRetrievalDTO.getParentName())) {//parent不为空时说明有子项,返回父级id
+                    retrievalDTO.setName(conceptRetrievalDTO.getParentName());
+                    retrievalDTO.setRetrievalName(conceptRetrievalDTO.getSelfName());
+                }
+                if (StringUtil.isNotEmpty(conceptRetrievalDTO.getSameName())) {//同义词
+                    retrievalDTO.setRetrievalName(conceptRetrievalDTO.getSameName());
+                }
+                retrievalDTO.setLibTypeId(conceptRetrievalDTO.getLibTypeId());
+                retrievalDTO.setLibTypeName(conceptRetrievalDTO.getLibTypeName());
+                retrievalDTO.setType(conceptRetrievalDTO.getType());
+                retrievalDTO.setShowType(conceptRetrievalDTO.getShowType());
+                retrievalDTOS.add(retrievalDTO);
+            }
+        }
+        //判断是否存在静态知识
+        List<Long> cenceptIdList = retrievalDTOS.stream().map(RetrievalDTO::getConceptId).collect(Collectors.toList());
+        ExistListByConceptIdsVO existListByConceptIdsVO = new ExistListByConceptIdsVO();
+        existListByConceptIdsVO.setConceptIds(cenceptIdList);
+        List<Long> existConceptIdList = conceptDetailFacade.existListByConceptIds(existListByConceptIdsVO);
+        if(ListUtil.isNotEmpty(existConceptIdList)){
+            for (RetrievalDTO retrievalDTOInfo : retrievalDTOS) {
+                for (Long concept : existConceptIdList) {
+                    if (retrievalDTOInfo.getConceptId().intValue() == concept.intValue()){
+                        retrievalDTO = new RetrievalDTO();
+                        BeanUtil.copyProperties(retrievalDTOInfo,retrievalDTO);
+                        staticRetrievalList.add(retrievalDTO);
+                    }
+                }
+            }
+        }
+        return staticRetrievalList;
+    }
 }

+ 16 - 0
aipt-service/src/main/java/com/diagbot/facade/DisScaleFacade.java

@@ -1,5 +1,6 @@
 package com.diagbot.facade;
 
+import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptWithOrderRes;
 import com.diagbot.dto.DisScaleDTO;
 import com.diagbot.entity.wrapper.ConceptWrapper;
@@ -7,6 +8,7 @@ import com.diagbot.enums.LexiconRSTypeEnum;
 import com.diagbot.enums.LexiconTypeEnum;
 import com.diagbot.service.impl.DisScaleServiceImpl;
 import com.diagbot.vo.DisScaleVO;
+import com.diagbot.vo.ScaleIndexVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -48,4 +50,18 @@ public class DisScaleFacade extends DisScaleServiceImpl {
         }
         return res;
     }
+
+
+    /**
+     * 量表搜索
+     *
+     * @param scaleIndexVO 参数
+     * @return
+     */
+    public List<ConceptBaseDTO> indexFac(ScaleIndexVO scaleIndexVO) {
+        scaleIndexVO.setStartType(LexiconTypeEnum.DIAGNOSIS.getKey());
+        scaleIndexVO.setRelationType(LexiconRSTypeEnum.ORDER_BY.getKey());
+        scaleIndexVO.setEndType(LexiconTypeEnum.GAUGE.getKey());
+        return this.indexScale(scaleIndexVO);
+    }
 }

+ 13 - 14
aipt-service/src/main/java/com/diagbot/facade/DisclaimerInformationFacade.java

@@ -12,7 +12,6 @@ import org.springframework.stereotype.Component;
 import java.util.List;
 
 /**
- * 
  * @author wangfeng
  * @Description: TODO
  * @date 2018年11月27日 下午3:36:14
@@ -20,19 +19,19 @@ import java.util.List;
 @Component
 public class DisclaimerInformationFacade extends DisclaimerInformationServiceImpl {
 
-	/**
-	 * 
-	 * @return
-	 */
-	public List<DisclaimerInformationDTO> getDisclaimerInformation() {
+    /**
+     * @return
+     */
+    public List<DisclaimerInformationDTO> getDisclaimerInformation() {
 
-		QueryWrapper<DisclaimerInformation> disclaimerInformation = new QueryWrapper<>();
-		disclaimerInformation.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("STATUS", StatusEnum.Enable.getKey())
-				.orderByAsc("order_no");
-		List<DisclaimerInformation> data = list(disclaimerInformation);
-		// getDisclaimerInformationAll();
-		List<DisclaimerInformationDTO> datas = BeanUtil.listCopyTo(data, DisclaimerInformationDTO.class);
-		return datas;
-	}
+        QueryWrapper<DisclaimerInformation> disclaimerInformation = new QueryWrapper<>();
+        disclaimerInformation.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("STATUS", StatusEnum.Enable.getKey())
+                .orderByAsc("order_no");
+        List<DisclaimerInformation> data = list(disclaimerInformation);
+        // getDisclaimerInformationAll();
+        List<DisclaimerInformationDTO> datas = BeanUtil.listCopyTo(data, DisclaimerInformationDTO.class);
+        return datas;
+    }
 
 }

+ 6 - 2
aipt-service/src/main/java/com/diagbot/facade/DiseaseIcdFacade.java

@@ -46,7 +46,10 @@ public class DiseaseIcdFacade {
         List<DiseaseIcdDTO> res = new ArrayList<>();
 
         List<String> disNames
-                = getDiseaseIcdsList.data.stream().map(g -> g.getConceptDisName()).distinct().collect(Collectors.toList());
+                = getDiseaseIcdsList.data.stream()
+                .map(g -> g.getConceptDisName())
+                .distinct()
+                .collect(Collectors.toList());
         if (ListUtil.isEmpty(disNames)) {
             return res;
         }
@@ -59,7 +62,8 @@ public class DiseaseIcdFacade {
         List<Concept> conceptDisNames = conceptFacade.list(queryWrapper);
 
         Map<String, Long> map
-                = conceptDisNames.stream().collect(Collectors.toMap(c -> c.getLibName(), c -> c.getId()));
+                = conceptDisNames.stream()
+                .collect(Collectors.toMap(c -> c.getLibName(), c -> c.getId()));
         if (null != map) {
             DiseaseIcdDTO diseaseIcdDTO = null;
             for (GetDiseaseIcdDTO getDiseaseIcdDTO : getDiseaseIcdsList.data) {

+ 22 - 27
aipt-service/src/main/java/com/diagbot/facade/EvaluationFacade.java

@@ -2,13 +2,11 @@ package com.diagbot.facade;
 
 import com.alibaba.fastjson.JSONObject;
 import com.diagbot.dto.EvaluationDTO;
-import com.diagbot.service.EvaluationService;
 import com.diagbot.service.impl.EvaluationServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.vo.EvaluationDiseaseNameVO;
 import com.diagbot.vo.SearchVo;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -17,32 +15,29 @@ import java.util.Map;
 @Component
 public class EvaluationFacade extends EvaluationServiceImpl {
 
-	@Autowired
-	PushFacade pushFacade;
-	@Autowired
-	@Qualifier("evaluationServiceImpl")
-	EvaluationService evaluationService;
+    @Autowired
+    PushFacade pushFacade;
 
-	/**
-	 * 获取管理与评估模板接口
-	 *
-	 * @param searchVo
-	 * @return
-	 */
-	public List<EvaluationDTO> getEvaluationModule(SearchVo searchVo) {
+    /**
+     * 获取管理与评估模板接口
+     *
+     * @param searchVo
+     * @return
+     */
+    public List<EvaluationDTO> getEvaluationModule(SearchVo searchVo) {
 
-		EvaluationDiseaseNameVO evaluationdiseaseNameVO = new EvaluationDiseaseNameVO();
-		BeanUtil.copyProperties(searchVo, evaluationdiseaseNameVO);
-		List<EvaluationDTO> evaluationList = evaluationService.getEvaluationModule(evaluationdiseaseNameVO);
+        EvaluationDiseaseNameVO evaluationdiseaseNameVO = new EvaluationDiseaseNameVO();
+        BeanUtil.copyProperties(searchVo, evaluationdiseaseNameVO);
+        List<EvaluationDTO> evaluationList = this.getEvaluationModule(evaluationdiseaseNameVO);
 
-		Map<String, JSONObject> jsonobject = pushFacade.getManagementEvaluationContent(searchVo);
-		for (String key : jsonobject.keySet()) {
-			for (EvaluationDTO evaluadata : evaluationList) {
-				if (key.equals(evaluadata.getRegionName())) {
-					evaluadata.setData(jsonobject.get(key));
-				}
-			}
-		}
-		return evaluationList;
-	}
+        Map<String, JSONObject> jsonobject = pushFacade.getManagementEvaluationContent(searchVo);
+        for (String key : jsonobject.keySet()) {
+            for (EvaluationDTO evaluadata : evaluationList) {
+                if (key.equals(evaluadata.getRegionName())) {
+                    evaluadata.setData(jsonobject.get(key));
+                }
+            }
+        }
+        return evaluationList;
+    }
 }

+ 7 - 30
aipt-service/src/main/java/com/diagbot/facade/FeatureFacade.java

@@ -1,19 +1,14 @@
 package com.diagbot.facade;
 
 import com.diagbot.dto.FeatureConceptDTO;
-import com.diagbot.entity.Concept;
-import com.diagbot.enums.ConceptTypeEnum;
-import com.diagbot.enums.LexiconTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
-import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
-import com.google.common.collect.Lists;
+import com.diagbot.util.ParamConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * @Description:
@@ -24,8 +19,6 @@ import java.util.Map;
 public class FeatureFacade {
     @Autowired
     private NLPFacade nlpFacade;
-    @Autowired
-    private ConceptFacade conceptFacade;
 
     /**
      * 症状关键词提取
@@ -34,32 +27,16 @@ public class FeatureFacade {
      * @return
      */
     public List<FeatureConceptDTO> getSymptomFeature(String text) {
-        List<FeatureConceptDTO> symptomFeatureDTOList = Lists.newLinkedList();
-        List<Map<String, Object>> symptomFeatureList = nlpFacade.symptomFeaturePageData(text);
-        List<String> symptomNameList = Lists.newLinkedList();
-        for (Map<String, Object> symptomFeature : symptomFeatureList) {
-            if (symptomFeature != null) {
-                String symptomName = symptomFeature.get("feature_name").toString();
-                if (!symptomNameList.contains(symptomName) && symptomFeature.get("feature_type").toString().equals("1")) {
-                    symptomNameList.add(symptomName);
-                }
-            }
-        }
+        List<FeatureConceptDTO> symptomFeatureList = nlpFacade.symptomFeaturePageData(text);
         if (!ListUtil.isNotEmpty(symptomFeatureList)) {
             throw new CommonException(CommonErrorCode.NOT_EXISTS, "未提取到特征词");
         }
-        List<Concept> concepts = conceptFacade.getListByNamesAndType(symptomNameList, LexiconTypeEnum.SYMPTOM.getKey());
-        Map<String, Concept> conceptMap = EntityUtil.makeEntityMap(concepts, "libName");
-        for (String name : symptomNameList) {
-            FeatureConceptDTO featureConceptDTO = new FeatureConceptDTO();
-            featureConceptDTO.setName(name);
-            featureConceptDTO.setLibType(ConceptTypeEnum.Symptom.getKey());
-            if (conceptMap.containsKey(name) && conceptMap.get(name) != null) {
-                Concept concept = conceptMap.get(name);
-                featureConceptDTO.setConceptId(concept.getId());
+
+        for (FeatureConceptDTO featureConceptDTO : symptomFeatureList) {
+            if (null != featureConceptDTO.getLibType()) {
+                featureConceptDTO.setType(ParamConvertUtil.libConvert2Concept(featureConceptDTO.getLibType()));
             }
-            symptomFeatureDTOList.add(featureConceptDTO);
         }
-        return symptomFeatureDTOList;
+        return symptomFeatureList;
     }
 }

+ 0 - 1
aipt-service/src/main/java/com/diagbot/facade/IndexConfigFacade.java

@@ -16,7 +16,6 @@ import java.util.Map;
 @Component
 public class IndexConfigFacade extends IndexConfigServiceImpl {
 
-
     public List<IndexConfigDTO> getIndexConfig(String diseaseName) {
         Map<String, Object> indexConfigMap = new HashMap<>();
         indexConfigMap.put("diseaseName", diseaseName);

+ 107 - 107
aipt-service/src/main/java/com/diagbot/facade/IndexDataFacade.java

@@ -1,15 +1,5 @@
 package com.diagbot.facade;
 
-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;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.dto.IndexConfigAndDataDTO;
 import com.diagbot.dto.IndexConfigDTO;
@@ -26,9 +16,17 @@ import com.diagbot.vo.IndexDataFindVO;
 import com.diagbot.vo.IndexDataSaveVO;
 import com.diagbot.vo.IndexDataVO;
 import com.diagbot.vo.IndexDataiIds;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
- * 
  * @author wangfeng
  * @Description: 指标数据相关接口
  * @date 2019年5月6日 下午8:04:09
@@ -36,108 +34,110 @@ import com.diagbot.vo.IndexDataiIds;
 @Component
 public class IndexDataFacade {
 
-	@Autowired
-	TranServiceClient tranServiceClient;
-	@Autowired
-	IndexConfigFacade indexConfigFacade;
+    @Autowired
+    TranServiceClient tranServiceClient;
+    @Autowired
+    IndexConfigFacade indexConfigFacade;
 
-	/**
-	 * 获取指标数据接口
-	 * @param indexDataFindVO
-	 * @return 
-	 */
-	public IndexConfigAndDataDTO getIndexDataAll(IndexDataFindVO indexDataFindVO) {
+    /**
+     * 获取指标数据接口
+     *
+     * @param indexDataFindVO
+     * @return
+     */
+    public IndexConfigAndDataDTO getIndexDataAll(IndexDataFindVO indexDataFindVO) {
 
-		Map<String, Object> indexDataMap = new HashMap<>();
-		indexDataMap.put("diseaseName", indexDataFindVO.getDiseaseName());
-		indexDataMap.put("patientId", indexDataFindVO.getPatientId());
-		indexDataMap.put("startTime", indexDataFindVO.getStartTime());
-		indexDataMap.put("endTime", indexDataFindVO.getEndTime());
-		List<Long> ids = new ArrayList<Long>();
-		// 获取所有需要记录的指标项
-		List<IndexConfigDTO> indexConfigdata = indexConfigFacade.getIndexConfig(indexDataFindVO.getDiseaseName());
-		for (IndexConfigDTO indexconfig : indexConfigdata) {
-			ids.add(indexconfig.getUniqueId());
-		}
-		IndexDataiIds indexDataiIds= new IndexDataiIds();
-		BeanUtil.copyProperties(indexDataFindVO,indexDataiIds);
-		indexDataiIds.setIds(ids);
-		// 获取慢病指标数据
-		RespDTO<List<IndexDataDTO>> dataAll = tranServiceClient.getIndexDatas(indexDataiIds);
-		 if (dataAll == null || !"0".equals(dataAll.code)) {
-	            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
-	                    "获取指标数据失败");
-	        }
-		List<IndexDataDTO> data = dataAll.data;
-		List<IndexDTO> list = new ArrayList<IndexDTO>();
-		// 根据公表名分组
-    	//Map<String, List<IndexDataDTO>> dataMap =datas.stream().collect(Collectors.groupingBy(IndexDataDTO::getIndexUnique));
-		 // 根据公表名分组
+        Map<String, Object> indexDataMap = new HashMap<>();
+        indexDataMap.put("diseaseName", indexDataFindVO.getDiseaseName());
+        indexDataMap.put("patientId", indexDataFindVO.getPatientId());
+        indexDataMap.put("startTime", indexDataFindVO.getStartTime());
+        indexDataMap.put("endTime", indexDataFindVO.getEndTime());
+        List<Long> ids = new ArrayList<Long>();
+        // 获取所有需要记录的指标项
+        List<IndexConfigDTO> indexConfigdata = indexConfigFacade.getIndexConfig(indexDataFindVO.getDiseaseName());
+        for (IndexConfigDTO indexconfig : indexConfigdata) {
+            ids.add(indexconfig.getUniqueId());
+        }
+        IndexDataiIds indexDataiIds = new IndexDataiIds();
+        BeanUtil.copyProperties(indexDataFindVO, indexDataiIds);
+        indexDataiIds.setIds(ids);
+        // 获取慢病指标数据
+        RespDTO<List<IndexDataDTO>> dataAll = tranServiceClient.getIndexDatas(indexDataiIds);
+        if (dataAll == null || !"0".equals(dataAll.code)) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+                    "获取指标数据失败");
+        }
+        List<IndexDataDTO> data = dataAll.data;
+        List<IndexDTO> list = new ArrayList<IndexDTO>();
+        // 根据公表名分组
+        //Map<String, List<IndexDataDTO>> dataMap =datas.stream().collect(Collectors.groupingBy(IndexDataDTO::getIndexUnique));
+        // 根据公表名分组
         Map<String, List<IndexDataDTO>> dataMap = data.stream().collect(Collectors.groupingBy(IndexDataDTO::getIndexUnique));
-		for (String key : dataMap.keySet()) {
-			IndexDTO itemIndexDTO = new IndexDTO();
-			itemIndexDTO.setItemName(key);
-			List<String> indexUnits = new ArrayList<String>();
-			List<String> indexValues = new ArrayList<String>();
-			List<Integer> isAbnormals = new ArrayList<Integer>();
-			List<Date> creatTimes = new ArrayList<Date>();
-			List<IndexDataDTO> indexDatas = dataMap.get(key);
-			for (IndexDataDTO indexDataDTO : indexDatas) {
-				indexUnits.add(indexDataDTO.getIndexUnit());
-				indexValues.add(indexDataDTO.getIndexValue());
-				isAbnormals.add(indexDataDTO.getIsAbnormal());
-				creatTimes.add(indexDataDTO.getCreatTime());
-			}
+        for (String key : dataMap.keySet()) {
+            IndexDTO itemIndexDTO = new IndexDTO();
+            itemIndexDTO.setItemName(key);
+            List<String> indexUnits = new ArrayList<String>();
+            List<String> indexValues = new ArrayList<String>();
+            List<Integer> isAbnormals = new ArrayList<Integer>();
+            List<Date> creatTimes = new ArrayList<Date>();
+            List<IndexDataDTO> indexDatas = dataMap.get(key);
+            for (IndexDataDTO indexDataDTO : indexDatas) {
+                indexUnits.add(indexDataDTO.getIndexUnit());
+                indexValues.add(indexDataDTO.getIndexValue());
+                isAbnormals.add(indexDataDTO.getIsAbnormal());
+                creatTimes.add(indexDataDTO.getCreatTime());
+            }
+
+            itemIndexDTO.setIndexUnit(indexUnits);
+            itemIndexDTO.setIndexValue(indexValues);
+            itemIndexDTO.setIsAbnormal(isAbnormals);
+            itemIndexDTO.setCreatTime(creatTimes);
+            list.add(itemIndexDTO);
 
-			itemIndexDTO.setIndexUnit(indexUnits);
-			itemIndexDTO.setIndexValue(indexValues);
-			itemIndexDTO.setIsAbnormal(isAbnormals);
-			itemIndexDTO.setCreatTime(creatTimes);
-			list.add(itemIndexDTO);
+        }
+        IndexConfigAndDataDTO indexsData = new IndexConfigAndDataDTO();
+        indexsData.setIndexConfigData(indexConfigFacade.getIndexConfig(indexDataFindVO.getDiseaseName()));
+        indexsData.setIndexData(list);
+        return indexsData;
 
-		}
-		IndexConfigAndDataDTO indexsData = new IndexConfigAndDataDTO();
-		indexsData.setIndexConfigData(indexConfigFacade.getIndexConfig(indexDataFindVO.getDiseaseName()));
-		indexsData.setIndexData(list);
-		return indexsData;
+    }
 
-	}
+    /**
+     * 保存指标数据接口
+     *
+     * @param indexDataSaveVO
+     * @return
+     */
+    public boolean saveIndexDatas(IndexDataSaveVO indexDataSaveVO) {
+        boolean res = false;
+        if (null != indexDataSaveVO && ListUtil.isNotEmpty(indexDataSaveVO.getIndexData())) {
+            // 获取所有需要记录的指标项
+            List<IndexConfigDTO> data = indexConfigFacade.getIndexConfig("");
+            // 遍历数据进行保存
+            List<IndexDataVO> indexDataList = new ArrayList<IndexDataVO>();
+            //过滤化验数据
+            List<IndexDataVO> indexDatas = indexDataSaveVO.getIndexData();
+            for (IndexConfigDTO configData : data) {
+                for (IndexDataVO indexDataNew : indexDatas) {
+                    if (configData.getIndexUnique().equals(indexDataNew.getIndexUnique())) {
+                        IndexDataAllVO indexData = new IndexDataAllVO();
+                        indexData.setIndexId(configData.getUniqueId());
+                        indexData.setIndexUnique(configData.getIndexUnique());
+                        indexData.setCreatTime(indexDataNew.getCreatTime());
+                        indexData.setIndexUnit(indexDataNew.getIndexUnit());
+                        indexData.setIndexValue(indexDataNew.getIndexValue());
+                        indexData.setIsAbnormal(indexDataNew.getIsAbnormal());
+                        indexDataList.add(indexData);
+                    }
+                }
+            }
+            indexDataSaveVO.setIndexData(indexDataList);
+            RespDTO<Boolean> resData = tranServiceClient.saveIndexDatas(indexDataSaveVO);
+            RespDTOUtil.respNGDeal(resData, resData.msg);
+            res = resData.data;
+        }
 
-	/**
-	 * 保存指标数据接口
-	 * @param indexDataSaveVO
-	 * @return
-	 */
-	public boolean saveIndexDatas(IndexDataSaveVO indexDataSaveVO) {
-		boolean res = false;
-		if (null != indexDataSaveVO && ListUtil.isNotEmpty(indexDataSaveVO.getIndexData())) {
-			// 获取所有需要记录的指标项
-			List<IndexConfigDTO> data = indexConfigFacade.getIndexConfig("");
-			// 遍历数据进行保存
-			List<IndexDataVO> indexDataList = new ArrayList<IndexDataVO>();
-			//过滤化验数据
-			List<IndexDataVO> indexDatas = indexDataSaveVO.getIndexData();
-			for (IndexConfigDTO configData : data) {
-				for (IndexDataVO indexDataNew : indexDatas) {
-					if (configData.getIndexUnique().equals(indexDataNew.getIndexUnique())) {
-						IndexDataAllVO indexData = new IndexDataAllVO();
-						indexData.setIndexId(configData.getUniqueId());
-						indexData.setIndexUnique(configData.getIndexUnique());
-						indexData.setCreatTime(indexDataNew.getCreatTime());
-						indexData.setIndexUnit(indexDataNew.getIndexUnit());
-						indexData.setIndexValue(indexDataNew.getIndexValue());
-						indexData.setIsAbnormal(indexDataNew.getIsAbnormal());
-						indexDataList.add(indexData);
-					}
-				}
-			}
-			indexDataSaveVO.setIndexData(indexDataList);
-	        RespDTO<Boolean> resData = tranServiceClient.saveIndexDatas(indexDataSaveVO);
-	        RespDTOUtil.respNGDeal(resData, resData.msg);
-	        res = resData.data;
-		}
-		
-		return res;
-	}
+        return res;
+    }
 
 }

+ 4 - 4
aipt-service/src/main/java/com/diagbot/facade/NLPFacade.java

@@ -2,13 +2,13 @@ package com.diagbot.facade;
 
 import com.diagbot.client.NLPServiceClient;
 import com.diagbot.client.bean.Response;
+import com.diagbot.dto.FeatureConceptDTO;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * @Description:
@@ -26,11 +26,11 @@ public class NLPFacade {
      * @param text
      * @return
      */
-    public List<Map<String, Object>> symptomFeaturePageData(String text) {
-        Response<List<Map<String, Object>>> response = nlpServiceClient.symptomFeaturePageData(text);
+    public List<FeatureConceptDTO> symptomFeaturePageData(String text) {
+        Response<List<FeatureConceptDTO>> response = nlpServiceClient.symptomFeaturePageData(text);
         if (response == null || response.getData() == null) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "NLP没有返回结果");
         }
         return response.getData();
     }
-}
+}

+ 26 - 4
aipt-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -12,11 +12,13 @@ import com.diagbot.dto.ConceptPushDTO;
 import com.diagbot.dto.LisResult;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SysSetInfoDTO;
 import com.diagbot.entity.Concept;
 import com.diagbot.enums.ConceptTypeEnum;
 import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.enums.LexiconTypeEnum;
 import com.diagbot.enums.LisSourceEnum;
+import com.diagbot.enums.SysTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.util.EntityUtil;
@@ -26,6 +28,7 @@ import com.diagbot.util.ParamConvertUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.ConceptBaseVO;
+import com.diagbot.vo.HospitalSetVO;
 import com.diagbot.vo.SearchVo;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -69,9 +72,26 @@ public class PushFacade {
         if (StringUtil.isNotBlank(searchVo.getHosCode())) {
             HosCodeVO hosCodeVO = new HosCodeVO();
             hosCodeVO.setHosCode(searchVo.getHosCode());
-            RespDTO<Boolean> connectRes = tranServiceClient.isConnect(hosCodeVO);
-            if (RespDTOUtil.respIsOK(connectRes)) {
-                isConnect = connectRes.data;
+            HospitalSetVO hospitalSetVO = new HospitalSetVO();
+            hospitalSetVO.setHospitalCode(searchVo.getHosCode());
+            hospitalSetVO.setCode("connect");
+            if (searchVo.getSysType() != null) {
+                hospitalSetVO.setSysType(searchVo.getSysType());
+            } else {
+                hospitalSetVO.setSysType(SysTypeEnum.AIPT_SERVICE.getKey());
+            }
+            RespDTO<List<SysSetInfoDTO>> sysSetInfoListRes = tranServiceClient.getSysSetInfoDatas(hospitalSetVO);
+            if (RespDTOUtil.respIsOK(sysSetInfoListRes)) {
+                List<SysSetInfoDTO> sysSetInfoList = sysSetInfoListRes.data;
+                if (ListUtil.isNotEmpty(sysSetInfoList)) {
+                    if (sysSetInfoList.get(0).getValue().equals(1)) {
+                        isConnect = true;
+                    } else {
+                        isConnect = false;
+                    }
+                } else {
+                    isConnect = false;
+                }
             }
         }
 
@@ -143,7 +163,7 @@ public class PushFacade {
         //诊断 map
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Disease.getKey()))) {
             if (ListUtil.isNotEmpty(dis)) {
-                List<String> nameList = dis.stream().map(featureRate -> featureRate.getFeatureName()).collect(Collectors.toList());
+                List<String> nameList = dis.stream().map(featureRate -> featureRate.getFeatureName()).distinct().collect(Collectors.toList());
                 Map<String, List<ConceptPushDTO>> disMapDTO = new LinkedHashMap<>();
                 Map<String, List<FeatureRate>> disFeatureMap = new LinkedHashMap<>();
                 //警惕
@@ -223,6 +243,8 @@ public class PushFacade {
                                     conceptBaseVO.setName(scaleName);
                                     conceptBaseVO.setLibType(LexiconTypeEnum.GAUGE.getKey());
                                     Concept scaleConcept = conceptFacade.getConcept(conceptBaseVO);
+                                    scaleJson.put("libType", LexiconTypeEnum.GAUGE.getKey());
+                                    scaleJson.put("type", ConceptTypeEnum.Scale.getKey());
                                     if (scaleConcept != null) {
                                         scaleJson.put("conceptId", scaleConcept.getId());
                                     } else {

+ 0 - 13
aipt-service/src/main/java/com/diagbot/facade/RelationFacade.java

@@ -1,13 +0,0 @@
-package com.diagbot.facade;
-
-import org.springframework.stereotype.Component;
-
-/**
- * @Description:
- * @Author:zhaops
- * @time: 2019/5/9 13:39
- */
-@Component
-public class RelationFacade {
-
-}

+ 51 - 35
aipt-service/src/main/java/com/diagbot/facade/TreatmentFacade.java

@@ -1,23 +1,20 @@
 package com.diagbot.facade;
 
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.ConceptIntroduceDTO;
 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.PositionTypeEnum;
 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.EntityUtil;
 import com.diagbot.util.FastJsonUtils;
 import com.diagbot.util.ListUtil;
@@ -72,22 +69,18 @@ public class TreatmentFacade {
         conceptIntroduceVO.setLibType(LexiconTypeEnum.DIAGNOSIS.getKey());
         conceptIntroduceVO.setPosition(PositionTypeEnum.T3.getKey());
         conceptIntroduceVO.setType(ConceptTypeEnum.Disease.getKey());
-        List<ConceptDetail> commonTreatmentDetailList = conceptDetailFacade.getConceptDetailList(conceptIntroduceVO);
-        if (ListUtil.isNotEmpty(commonTreatmentDetailList)) {
-            ConceptDetailDTO commonDetailDTO = new ConceptDetailDTO();
-            BeanUtil.copyProperties(commonTreatmentDetailList.get(0), commonDetailDTO);
-            retMap.put("commonTreatment", commonDetailDTO);
+        ConceptIntroduceDTO commonTreatmentDetail = conceptDetailFacade.getConceptDetail(conceptIntroduceVO);
+        if (commonTreatmentDetail != null && ListUtil.isNotEmpty(commonTreatmentDetail.getDetails())) {
+            retMap.put("commonTreatment", commonTreatmentDetail.getDetails().get(0));
         } else {
             retMap.put("commonTreatment", null);
         }
 
         //手术治疗
         conceptIntroduceVO.setPosition(PositionTypeEnum.T4.getKey());
-        List<ConceptDetail> surgeryTreatmentDetailList = conceptDetailFacade.getConceptDetailList(conceptIntroduceVO);
-        if (ListUtil.isNotEmpty(surgeryTreatmentDetailList)) {
-            ConceptDetailDTO surgeryDetailDTO = new ConceptDetailDTO();
-            BeanUtil.copyProperties(surgeryTreatmentDetailList.get(0), surgeryDetailDTO);
-            retMap.put("surgeryTreatment", surgeryDetailDTO);
+        ConceptIntroduceDTO surgeryTreatmentDetail = conceptDetailFacade.getConceptDetail(conceptIntroduceVO);
+        if (surgeryTreatmentDetail != null && ListUtil.isNotEmpty(surgeryTreatmentDetail.getDetails())) {
+            retMap.put("surgeryTreatment", surgeryTreatmentDetail.getDetails().get(0));
         } else {
             retMap.put("surgeryTreatment", null);
         }
@@ -99,13 +92,23 @@ public class TreatmentFacade {
             return retMap;
         }
 
-        List<MedicitionClass> drugsList = FastJsonUtils.getJsonToListByKey(treatmentJson.toString(), "treatment", MedicitionClass.class);
-        List<String> cateBigNameList = drugsList.stream().map(drugs -> drugs.getBigdrugsName()).collect(Collectors.toList());
-        List<Concept> cateBigConceptList = conceptFacade.getListByNamesAndType(cateBigNameList, LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey());
-        Map<String, Concept> cateBigConceptMap = EntityUtil.makeEntityMap(cateBigConceptList, "libName");
-        List<String> cateSmallNameList = drugsList.stream().map(drugs -> drugs.getSubdrugsName()).collect(Collectors.toList());
-        List<Concept> cateSmallConceptList = conceptFacade.getListByNamesAndType(cateSmallNameList, LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey());
-        Map<String, Concept> cateSmallConceptMap = EntityUtil.makeEntityMap(cateSmallConceptList, "libName");
+        List<MedicitionClass> drugsList
+                = FastJsonUtils.getJsonToListByKey(treatmentJson.toString(),
+                "treatment", MedicitionClass.class);
+        List<String> cateBigNameList
+                = drugsList.stream().map(drugs -> drugs.getBigdrugsName()).collect(Collectors.toList());
+        List<Concept> cateBigConceptList
+                = conceptFacade.getListByNamesAndType(cateBigNameList,
+                LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey());
+        Map<String, Concept> cateBigConceptMap
+                = EntityUtil.makeEntityMap(cateBigConceptList, "libName");
+        List<String> cateSmallNameList
+                = drugsList.stream().map(drugs -> drugs.getSubdrugsName()).collect(Collectors.toList());
+        List<Concept> cateSmallConceptList
+                = conceptFacade.getListByNamesAndType(cateSmallNameList,
+                LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey());
+        Map<String, Concept> cateSmallConceptMap
+                = EntityUtil.makeEntityMap(cateSmallConceptList, "libName");
 
         for (MedicitionClass medicitionClass : drugsList) {
             Concept cateBigConcept = cateBigConceptMap.get(medicitionClass.getBigdrugsName());
@@ -121,25 +124,31 @@ public class TreatmentFacade {
             medicitionClass.setSubdrugsLibType(LexiconTypeEnum.DRUG_CATEGORY_SMALL.getKey());
             medicitionClass.setSubdrugsType(ConceptTypeEnum.Drug_Category_Small.getKey());
             if (cateBigConcept != null) {
-                conceptBaseVO.setLibType(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey());
-                conceptBaseVO.setName(cateBigConcept.getLibName());
-                if (conceptDetailFacade.exist(conceptBaseVO)) {
+                conceptIntroduceVO = new ConceptIntroduceVO();
+                conceptIntroduceVO.setName(cateBigConcept.getLibName());
+                conceptIntroduceVO.setType(ConceptTypeEnum.Drug_Category_Big.getKey());
+                conceptIntroduceVO.setLibType(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey());
+                if (conceptDetailFacade.exist(conceptIntroduceVO)) {
                     medicitionClass.setShowInfo("1");
                 } else {
                     medicitionClass.setShowInfo("0");
                 }
             }
             LinkedList<Medicition> medicitionList = medicitionClass.getMedicitionsList();
-            List<String> drugNameList = medicitionList.stream().map(medicition -> medicition.getMedicitionName()).collect(Collectors.toList());
-            List<Concept> drugList = conceptFacade.getListByNamesAndType(drugNameList, LexiconTypeEnum.DRUGS.getKey());
+            List<String> drugNameList
+                    = medicitionList.stream().map(m -> m.getMedicitionName()).collect(Collectors.toList());
+            List<Concept> drugList
+                    = conceptFacade.getListByNamesAndType(drugNameList, LexiconTypeEnum.DRUGS.getKey());
             Map<String, Concept> drugMap = EntityUtil.makeEntityMap(drugList, "libName");
-            Map<String, Concept> drugDetailMap = conceptDetailFacade.existList(drugNameList, LexiconTypeEnum.DRUGS.getKey());
+            Map<String, Concept> drugDetailMap
+                    = conceptDetailFacade.existList(drugNameList, LexiconTypeEnum.DRUGS.getKey());
             for (Medicition medicition : medicitionList) {
                 Concept drugConcept = drugMap.get(medicition.getMedicitionName());
                 if (drugConcept != null) {
                     medicition.setConceptId(drugConcept.getId());
                 }
-                medicition.setLibType(ConceptTypeEnum.Drug.getKey());
+                medicition.setLibType(LexiconTypeEnum.DRUGS.getKey());
+                medicition.setType(ConceptTypeEnum.Drug.getKey());
                 if (drugDetailMap != null && drugDetailMap.containsKey(medicition.getMedicitionName())) {
                     medicition.setShowInfo("1");
                 } else {
@@ -172,17 +181,24 @@ public class TreatmentFacade {
                 //上次用药-icss层处理
                 retMap.put("drugHistory", null);
                 //不良反应
-                List<AdverseReaction> adverseReactionList = FastJsonUtils.getJsonToListByKey(treatmentJson.toString(), "adverseEvent", AdverseReaction.class);
-                List<String> adNameList = adverseReactionList.stream().map(adverseReaction -> adverseReaction.getName()).collect(Collectors.toList());
-                List<Concept> adConceptList = conceptFacade.getListByNamesAndType(adNameList, LexiconTypeEnum.SIDE_EFFECTS.getKey());
-                Map<String, Concept> adConceptMap = EntityUtil.makeEntityMap(adConceptList, "libName");
-                Map<String, Concept> adConceptDetailMap = conceptDetailFacade.existList(adNameList, LexiconTypeEnum.SIDE_EFFECTS.getKey());
+                List<AdverseReaction> adverseReactionList
+                        = FastJsonUtils.getJsonToListByKey(treatmentJson.toString(),
+                        "adverseEvent", AdverseReaction.class);
+                List<String> adNameList
+                        = adverseReactionList.stream().map(a -> a.getName()).collect(Collectors.toList());
+                List<Concept> adConceptList
+                        = conceptFacade.getListByNamesAndType(adNameList, LexiconTypeEnum.SIDE_EFFECTS.getKey());
+                Map<String, Concept> adConceptMap
+                        = EntityUtil.makeEntityMap(adConceptList, "libName");
+                Map<String, Concept> adConceptDetailMap
+                        = conceptDetailFacade.existList(adNameList, LexiconTypeEnum.SIDE_EFFECTS.getKey());
                 for (AdverseReaction adverseReaction : adverseReactionList) {
                     Concept adConcept = adConceptMap.get(adverseReaction.getName());
                     if (adConcept != null) {
                         adverseReaction.setConceptId(adConcept.getId());
                     }
-                    adverseReaction.setLibType(ConceptTypeEnum.SIDE_EFFECTS.getKey());
+                    adverseReaction.setLibType(LexiconTypeEnum.SIDE_EFFECTS.getKey());
+                    adverseReaction.setType(ConceptTypeEnum.SIDE_EFFECTS.getKey());
                     if (adConceptDetailMap != null && adConceptDetailMap.containsKey(adverseReaction.getName())) {
                         adverseReaction.setShowInfo("1");
                     } else {

+ 5 - 0
aipt-service/src/main/java/com/diagbot/mapper/DisScaleMapper.java

@@ -1,7 +1,11 @@
 package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.entity.DisScale;
+import com.diagbot.vo.ScaleIndexVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,5 @@ import com.diagbot.entity.DisScale;
  */
 public interface DisScaleMapper extends BaseMapper<DisScale> {
 
+    public List<ConceptBaseDTO> indexScale(ScaleIndexVO scaleIndexVO);
 }

+ 3 - 1
aipt-service/src/main/java/com/diagbot/service/DisScaleService.java

@@ -1,8 +1,9 @@
 package com.diagbot.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.diagbot.dto.DisScaleDTO;
+import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.entity.DisScale;
+import com.diagbot.vo.ScaleIndexVO;
 
 import java.util.List;
 
@@ -16,4 +17,5 @@ import java.util.List;
  */
 public interface DisScaleService extends IService<DisScale> {
 
+    public List<ConceptBaseDTO> indexScale(ScaleIndexVO scaleIndexVO);
 }

+ 8 - 0
aipt-service/src/main/java/com/diagbot/service/impl/DisScaleServiceImpl.java

@@ -1,11 +1,15 @@
 package com.diagbot.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.entity.DisScale;
 import com.diagbot.mapper.DisScaleMapper;
 import com.diagbot.service.DisScaleService;
+import com.diagbot.vo.ScaleIndexVO;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 诊断量表映射表 服务实现类
@@ -17,4 +21,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class DisScaleServiceImpl extends ServiceImpl<DisScaleMapper, DisScale> implements DisScaleService {
 
+    @Override
+    public List<ConceptBaseDTO> indexScale(ScaleIndexVO scaleIndexVO) {
+        return baseMapper.indexScale(scaleIndexVO);
+    }
 }

+ 9 - 2
aipt-service/src/main/java/com/diagbot/vo/ConceptIntroduceVO.java

@@ -1,8 +1,10 @@
 package com.diagbot.vo;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.util.List;
 
@@ -13,8 +15,13 @@ import java.util.List;
  */
 @Getter
 @Setter
-public class ConceptIntroduceVO extends ConceptBaseVO {
+public class ConceptIntroduceVO {
+    @NotBlank(message = "请输入概念名称")
+    private String name;
+    @NotNull(message = "请输入概念词性")
+    private Integer type;
     private Integer position;
     private List<String> titles;
-    private Integer type;
+    @ApiModelProperty(hidden = true)
+    private Integer libType;
 }

+ 20 - 0
aipt-service/src/main/java/com/diagbot/vo/GetStaticKnowledgeVO.java

@@ -0,0 +1,20 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/5/24 9:23
+ */
+@Getter
+@Setter
+public class GetStaticKnowledgeVO {
+    //检索内容
+    private String InputStr;
+    //需要去重的id
+    private List<Long> inputIds;
+}

+ 35 - 0
aipt-service/src/main/java/com/diagbot/vo/HospitalSetVO.java

@@ -0,0 +1,35 @@
+package com.diagbot.vo;
+
+import com.diagbot.enums.SysTypeEnum;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年6月12日 下午3:30:26
+ */
+@Setter
+@Getter
+public class HospitalSetVO {
+
+	private String hospitalCode;
+
+	/**
+	 * 访问的系统类型
+	 * 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
+	 */
+	@ApiModelProperty(hidden = true)
+	private Integer sysType = SysTypeEnum.ICSS_SERVICE.getKey();
+
+	/**
+	 * 配置名称
+	 */
+	private String name;
+	/**
+	 * 配置编码
+	 */
+	private String code;
+}

+ 4 - 0
aipt-service/src/main/java/com/diagbot/vo/RetrievalVO.java

@@ -21,4 +21,8 @@ public class RetrievalVO {
     private Integer sexType;
     //需要去重的id
     private List<Long> inputIds;
+    //获取子项时需要用到的type类型
+    private Integer detilType;
+    //类型为其他史时用到的type类型
+    private List<Integer> otherType;
 }

+ 29 - 0
aipt-service/src/main/java/com/diagbot/vo/ScaleIndexVO.java

@@ -0,0 +1,29 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import java.util.List;
+
+/**
+ * @Description: 量表检索
+ * @author: zhoutg
+ * @time: 2018/8/6 10:16
+ */
+@Getter
+@Setter
+@ApiModel
+public class ScaleIndexVO {
+    @NotBlank(message = "名称不能为空")
+    private String name;
+    @ApiModelProperty(hidden = true)
+    private Integer startType;
+    @ApiModelProperty(hidden = true)
+    private Integer endType;
+    @ApiModelProperty(hidden = true)
+    private Integer relationType;
+    private List<String> filterName; //过滤已选名称
+}

+ 1 - 0
aipt-service/src/main/java/com/diagbot/vo/SearchVo.java

@@ -39,4 +39,5 @@ public class SearchVo {
     private String adverseReactions; //不良反应
     private Integer disType;    //诊断类型
     private String hosCode;  // 对接时,hosCode必填
+    private Integer sysType; //系统类型
 }

+ 13 - 1
aipt-service/src/main/java/com/diagbot/web/ConceptController.java

@@ -5,12 +5,14 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptRetrievalDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.facade.ConceptFacade;
 import com.diagbot.util.ParamConvertUtil;
 import com.diagbot.vo.ConceptBaseVO;
 import com.diagbot.vo.ConceptExistVO;
 import com.diagbot.vo.ConceptSearchVO;
 import com.diagbot.vo.ConceptUsualVO;
+import com.diagbot.vo.GetStaticKnowledgeVO;
 import com.diagbot.vo.RetrievalVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -42,7 +44,7 @@ public class ConceptController {
     ConceptFacade conceptFacade;
 
     @ApiOperation(value = "知识库标准化-常用标签——根据科室获取常用标签[by:wangyu]",
-            notes = "deptCode:科室id<br>" +
+            notes = "deptName:科室名称<br>" +
                     "age:年龄<br>" +
                     "sexType: 性别<br>" +
                     "type:类型(1:症状 3:其他史 4:查体,5:化验 6:辅检 7:诊断),必填<br>")
@@ -112,4 +114,14 @@ public class ConceptController {
     public RespDTO<Map<String, Long>> getConceptMapByNameAndType(@RequestBody ConceptExistVO conceptExistVO){
         return RespDTO.onSuc(conceptFacade.getConceptMap(conceptExistVO));
     }
+
+    @ApiOperation(value = "ICSS三期-静态知识-页面检索[by:wangyu]",
+            notes = "inputStr:检索内容,必填<br>" +
+                    "inputIds:需要去重的id<br>")
+    @PostMapping("/getStaticKnowledge")
+    @SysLogger("getStaticKnowledge")
+    public RespDTO<List<RetrievalDTO>> getStaticKnowledge(@Valid @RequestBody GetStaticKnowledgeVO getStaticKnowledgeVO) {
+        List<RetrievalDTO> data = conceptFacade.getStaticKnowledge(getStaticKnowledgeVO);
+        return RespDTO.onSuc(data);
+    }
 }

+ 4 - 6
aipt-service/src/main/java/com/diagbot/web/ConceptDetailController.java

@@ -52,19 +52,17 @@ public class ConceptDetailController {
 
     @ApiOperation(value = "知识库标准化-获取提示信息存在性[by:zhaops]",
             notes = "name: 标签名称,必填<br>" +
-                    "libType:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标),单选必填<br>")
+                    "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标),单选必填<br>")
     @PostMapping("/exist")
     @SysLogger("exist")
     @ApiIgnore
-    public RespDTO<Bool> exist(@Valid @RequestBody ConceptBaseVO conceptBaseVO) {
-        conceptBaseVO.setLibType(ParamConvertUtil.conceptConvert2Lib(conceptBaseVO.getLibType()));
-        Boolean data = conceptDetailFacade.exist(conceptBaseVO);
+    public RespDTO<Bool> exist(@Valid @RequestBody ConceptIntroduceVO conceptIntroduceVO) {
+        Boolean data = conceptDetailFacade.exist(conceptIntroduceVO);
         return RespDTO.onSuc(data);
     }
 
     @ApiOperation(value = "知识库标准化-获取提示信息存在性[by:zhaops]",
-            notes = "name: 标签名称,必填<br>" +
-                    "libType:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标),单选必填<br>")
+            notes = "conceptIds: 概念id,必填<br>")
     @PostMapping("/existListByConceptIds")
     @SysLogger("existListByConceptIds")
     @ApiIgnore

+ 10 - 0
aipt-service/src/main/java/com/diagbot/web/DisScaleController.java

@@ -1,10 +1,12 @@
 package com.diagbot.web;
 
 
+import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.DisScaleDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.DisScaleFacade;
 import com.diagbot.vo.DisScaleVO;
+import com.diagbot.vo.ScaleIndexVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,4 +43,12 @@ public class DisScaleController {
         return RespDTO.onSuc(data);
     }
 
+
+    @ApiOperation(value = "知识库标准化-量表搜索[by:zhoutg]",
+            notes = "")
+    @PostMapping("/index")
+    public RespDTO<List<DisScaleDTO>> index(@Valid @RequestBody ScaleIndexVO scaleVO) {
+        List<ConceptBaseDTO> data = disScaleFacade.indexFac(scaleVO);
+        return RespDTO.onSuc(data);
+    }
 }

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

@@ -188,132 +188,70 @@
 
     <select id="retrievalConcept" resultType="com.diagbot.dto.ConceptRetrievalDTO">
         SELECT a1.* from (
-        SELECT t1.id selfId,t1.lib_name selfName,t5.id parentId,t5.lib_name parentName,null sameName,t2.is_concept showType,t1.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
+        SELECT t1.id selfId,t1.lib_name selfName,0 parentId,null parentName,t2.`name` sameName,t2.is_concept showType,t1.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
         LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
-        LEFT JOIN kl_concept_common t3 ON t1.id = t2.concept_id
-        LEFT JOIN kl_relation t4 ON t4.end_id= t1.id
-        LEFT JOIN kl_concept t5 on t5.id = t4.start_id
+        LEFT JOIN kl_concept_common t3 ON t1.id = t3.concept_id
         LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
         WHERE
         t1.is_deleted = 'N'
         AND t2.is_deleted = 'N'
-        AND t3.is_deleted = 'N'
-        AND t4.is_deleted = 'N'
-        AND t5.is_deleted = 'N'
         AND t6.is_deleted = 'N'
         <if test="type != null">
             AND t1.lib_type = #{type}
         </if>
-        <if test="sexType == 3">
-        and t3.sex_type in ('1','2','3')
-        </if>
-        <if test="sexType != 3">
-            and t3.sex_type in ('3',#{sexType})
-        </if>
-        <if test="age != null and age != ''">
-        AND <![CDATA[ t3.min_age <= #{age} ]]>
-        AND <![CDATA[ t3.max_age >= #{age} ]]>
-        </if>
-        AND (t2.spell =  #{InputStr} OR t2.name =  #{InputStr})
-        <if test="inputIds != null and inputIds.size > 0">
-            and t1.id not in
-            <foreach item="id" collection="inputIds" open="(" separator="," close=")">
-                #{id}
+        <if test="otherType != null and otherType.size > 0">
+            and t1.lib_type in
+            <foreach item="type" collection="otherType" open="(" separator="," close=")">
+                #{type}
             </foreach>
         </if>
-        AND t4.relation_id = 18
-        UNION
-        SELECT t1.id selfId,t1.lib_name selfName,t5.id parentId,t5.lib_name parentName,null sameName,t2.is_concept showType,t1.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
-        LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
-        LEFT JOIN kl_concept_common t3 ON t1.id = t2.concept_id
-        LEFT JOIN kl_relation t4 ON t4.end_id= t1.id
-        LEFT JOIN kl_concept t5 on t5.id = t4.start_id
-        LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
-        WHERE
-        t1.is_deleted = 'N'
-        AND t2.is_deleted = 'N'
-        AND t3.is_deleted = 'N'
-        AND t4.is_deleted = 'N'
-        AND t5.is_deleted = 'N'
-        AND t6.is_deleted = 'N'
-        <if test="type != null">
-            AND t1.lib_type = #{type}
-        </if>
         <if test="sexType == 3">
-            and t3.sex_type in ('1','2','3')
+            and (t3.sex_type in ('1','2','3') or t3.sex_type is null)
         </if>
         <if test="sexType != 3">
-            and t3.sex_type in ('3',#{sexType})
+            and (t3.sex_type in ('3',#{sexType}) or t3.sex_type is null)
         </if>
         <if test="age != null and age != ''">
-            AND <![CDATA[ t3.min_age <= #{age} ]]>
-            AND <![CDATA[ t3.max_age >= #{age} ]]>
+            AND (( <![CDATA[ t3.min_age <= #{age} ]]>
+            AND <![CDATA[ t3.max_age >= #{age} ]]>)
+            or (t3.min_age is null and t3.max_age is null))
         </if>
-        AND (t2.spell LIKE CONCAT( #{InputStr},'%') OR t2.name LIKE CONCAT( #{InputStr},'%'))
         <if test="inputIds != null and inputIds.size > 0">
             and t1.id not in
             <foreach item="id" collection="inputIds" open="(" separator="," close=")">
                 #{id}
             </foreach>
         </if>
-        AND t4.relation_id = 18
+        AND (t2.spell =  UPPER(#{InputStr}) OR t2.name =  #{InputStr})
+        LIMIT 100
         UNION
-        SELECT t1.id selfId,t1.lib_name selfName,t5.id parentId,t5.lib_name parentName,null sameName,t2.is_concept showType,t1.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
+        SELECT t1.id selfId,t1.lib_name selfName,0 parentId,null parentName,t2.`name` sameName,t2.is_concept showType,t1.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
         LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
-        LEFT JOIN kl_concept_common t3 ON t1.id = t2.concept_id
-        LEFT JOIN kl_relation t4 ON t4.end_id= t1.id
-        LEFT JOIN kl_concept t5 on t5.id = t4.start_id
+        LEFT JOIN kl_concept_common t3 ON t1.id = t3.concept_id
         LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
         WHERE
         t1.is_deleted = 'N'
         AND t2.is_deleted = 'N'
-        AND t3.is_deleted = 'N'
-        AND t4.is_deleted = 'N'
-        AND t5.is_deleted = 'N'
         AND t6.is_deleted = 'N'
         <if test="type != null">
             AND t1.lib_type = #{type}
         </if>
-        <if test="sexType == 3">
-            and t3.sex_type in ('1','2','3')
-        </if>
-        <if test="sexType != 3">
-            and t3.sex_type in ('3',#{sexType})
-        </if>
-        <if test="age != null and age != ''">
-            AND <![CDATA[ t3.min_age <= #{age} ]]>
-            AND <![CDATA[ t3.max_age >= #{age} ]]>
-        </if>
-        AND (t2.spell LIKE CONCAT('%',#{InputStr},'%') OR t2.name LIKE CONCAT('%',#{InputStr},'%'))
-        <if test="inputIds != null and inputIds.size > 0">
-            and t1.id not in
-            <foreach item="id" collection="inputIds" open="(" separator="," close=")">
-                #{id}
+        <if test="otherType != null and otherType.size > 0">
+            and t1.lib_type in
+            <foreach item="type" collection="otherType" open="(" separator="," close=")">
+                #{type}
             </foreach>
         </if>
-        AND t4.relation_id = 18
-        UNION
-        SELECT t1.id selfId,t1.lib_name selfName,0 parentId,null parentName,t2.`name` sameName,t2.is_concept showType,t1.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
-        LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
-        LEFT JOIN kl_concept_common t3 ON t1.id = t2.concept_id
-        LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
-        WHERE
-        t1.is_deleted = 'N'
-        AND t2.is_deleted = 'N'
-        AND t3.is_deleted = 'N'
-        AND t6.is_deleted = 'N'
-        <if test="type != null">
-            AND t1.lib_type = #{type}
-        </if>
         <if test="sexType == 3">
-        and t3.sex_type in ('1','2','3')
+            and (t3.sex_type in ('1','2','3') or t3.sex_type is null)
         </if>
         <if test="sexType != 3">
-            and t3.sex_type in ('3',#{sexType})
+            and (t3.sex_type in ('3',#{sexType}) or t3.sex_type is null)
         </if>
         <if test="age != null and age != ''">
-            AND <![CDATA[ t3.min_age <= #{age} ]]>
-            AND <![CDATA[ t3.max_age >= #{age} ]]>
+            AND (( <![CDATA[ t3.min_age <= #{age} ]]>
+            AND <![CDATA[ t3.max_age >= #{age} ]]>)
+            or (t3.min_age is null and t3.max_age is null))
         </if>
         <if test="inputIds != null and inputIds.size > 0">
             and t1.id not in
@@ -321,59 +259,36 @@
                 #{id}
             </foreach>
         </if>
-        AND (t2.spell =  #{InputStr} OR t2.name =  #{InputStr})
+        AND (t2.spell LIKE CONCAT( UPPER(#{InputStr}),'%') OR t2.name LIKE CONCAT( #{InputStr},'%'))
+        LIMIT 100
         UNION
         SELECT t1.id selfId,t1.lib_name selfName,0 parentId,null parentName,t2.`name` sameName,t2.is_concept showType,t1.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
         LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
-        LEFT JOIN kl_concept_common t3 ON t1.id = t2.concept_id
+        LEFT JOIN kl_concept_common t3 ON t1.id = t3.concept_id
         LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
         WHERE
         t1.is_deleted = 'N'
         AND t2.is_deleted = 'N'
-        AND t3.is_deleted = 'N'
         AND t6.is_deleted = 'N'
         <if test="type != null">
             AND t1.lib_type = #{type}
         </if>
-        <if test="sexType == 3">
-            and t3.sex_type in ('1','2','3')
-        </if>
-        <if test="sexType != 3">
-            and t3.sex_type in ('3',#{sexType})
-        </if>
-        <if test="age != null and age != ''">
-            AND <![CDATA[ t3.min_age <= #{age} ]]>
-            AND <![CDATA[ t3.max_age >= #{age} ]]>
-        </if>
-        <if test="inputIds != null and inputIds.size > 0">
-            and t1.id not in
-            <foreach item="id" collection="inputIds" open="(" separator="," close=")">
-                #{id}
+        <if test="otherType != null and otherType.size > 0">
+            and t1.lib_type in
+            <foreach item="type" collection="otherType" open="(" separator="," close=")">
+                #{type}
             </foreach>
         </if>
-        AND (t2.spell LIKE CONCAT( #{InputStr},'%') OR t2.name LIKE CONCAT( #{InputStr},'%'))
-        UNION
-        SELECT t1.id selfId,t1.lib_name selfName,0 parentId,null parentName,t2.`name` sameName,t2.is_concept showType,t1.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
-        LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
-        LEFT JOIN kl_concept_common t3 ON t1.id = t2.concept_id
-        LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
-        WHERE
-        t1.is_deleted = 'N'
-        AND t2.is_deleted = 'N'
-        AND t3.is_deleted = 'N'
-        AND t6.is_deleted = 'N'
-        <if test="type != null">
-            AND t1.lib_type = #{type}
-        </if>
         <if test="sexType == 3">
-            and t3.sex_type in ('1','2','3')
+            and (t3.sex_type in ('1','2','3') or t3.sex_type is null)
         </if>
         <if test="sexType != 3">
-            and t3.sex_type in ('3',#{sexType})
+            and (t3.sex_type in ('3',#{sexType}) or t3.sex_type is null)
         </if>
         <if test="age != null and age != ''">
-            AND <![CDATA[ t3.min_age <= #{age} ]]>
-            AND <![CDATA[ t3.max_age >= #{age} ]]>
+            AND (( <![CDATA[ t3.min_age <= #{age} ]]>
+            AND <![CDATA[ t3.max_age >= #{age} ]]>)
+            or (t3.min_age is null and t3.max_age is null))
         </if>
         <if test="inputIds != null and inputIds.size > 0">
             and t1.id not in
@@ -381,8 +296,122 @@
                 #{id}
             </foreach>
         </if>
-        AND (t2.spell LIKE CONCAT('%',#{InputStr},'%') OR t2.name LIKE CONCAT('%',#{InputStr},'%'))
+        AND (t2.spell LIKE CONCAT('%',UPPER(#{InputStr}),'%') OR t2.name LIKE CONCAT('%',#{InputStr},'%'))
+        LIMIT 100
+        <if test="detilType != null and detilType != ''">
+            UNION
+            SELECT t1.id selfId,t1.lib_name selfName,t5.id parentId,t5.lib_name parentName,null sameName,t2.is_concept showType,t5.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
+            LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
+            LEFT JOIN kl_concept_common t3 ON t1.id = t3.concept_id
+            LEFT JOIN kl_relation t4 ON t4.end_id= t1.id
+            LEFT JOIN kl_concept t5 on t5.id = t4.start_id
+            LEFT JOIN kl_lexicon t6 ON t6.id = t5.lib_type
+            WHERE
+            t1.is_deleted = 'N'
+            AND t2.is_deleted = 'N'
+            AND t4.is_deleted = 'N'
+            AND t5.is_deleted = 'N'
+            AND t6.is_deleted = 'N'
+            AND t2.is_concept = 1
+            <if test="detilType != null">
+                AND t1.lib_type = #{detilType}
+            </if>
+            <if test="sexType == 3">
+                and (t3.sex_type in ('1','2','3') or t3.sex_type is null)
+            </if>
+            <if test="sexType != 3">
+                and (t3.sex_type in ('3',#{sexType}) or t3.sex_type is null)
+            </if>
+            <if test="age != null and age != ''">
+                AND (( <![CDATA[ t3.min_age <= #{age} ]]>
+                AND <![CDATA[ t3.max_age >= #{age} ]]>)
+                or (t3.min_age is null and t3.max_age is null))
+            </if>
+            AND (t2.spell =  UPPER(#{InputStr}) OR t2.name =  #{InputStr})
+            <if test="inputIds != null and inputIds.size > 0">
+                and t1.id not in
+                <foreach item="id" collection="inputIds" open="(" separator="," close=")">
+                    #{id}
+                </foreach>
+            </if>
+            AND t4.relation_id = 18
+            LIMIT 100
+            UNION
+            SELECT t1.id selfId,t1.lib_name selfName,t5.id parentId,t5.lib_name parentName,null sameName,t2.is_concept showType,t5.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
+            LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
+            LEFT JOIN kl_concept_common t3 ON t1.id = t3.concept_id
+            LEFT JOIN kl_relation t4 ON t4.end_id= t1.id
+            LEFT JOIN kl_concept t5 on t5.id = t4.start_id
+            LEFT JOIN kl_lexicon t6 ON t6.id = t5.lib_type
+            WHERE
+            t1.is_deleted = 'N'
+            AND t2.is_deleted = 'N'
+            AND t4.is_deleted = 'N'
+            AND t5.is_deleted = 'N'
+            AND t6.is_deleted = 'N'
+            AND t2.is_concept = 1
+            <if test="detilType != null">
+                AND t1.lib_type = #{detilType}
+            </if>
+            <if test="sexType == 3">
+                and (t3.sex_type in ('1','2','3') or t3.sex_type is null)
+            </if>
+            <if test="sexType != 3">
+                and (t3.sex_type in ('3',#{sexType}) or t3.sex_type is null)
+            </if>
+            <if test="age != null and age != ''">
+                AND (( <![CDATA[ t3.min_age <= #{age} ]]>
+                AND <![CDATA[ t3.max_age >= #{age} ]]>)
+                or (t3.min_age is null and t3.max_age is null))
+            </if>
+            AND (t2.spell LIKE CONCAT(UPPER(#{InputStr}),'%') OR t2.name LIKE CONCAT( #{InputStr},'%'))
+            <if test="inputIds != null and inputIds.size > 0">
+                and t1.id not in
+                <foreach item="id" collection="inputIds" open="(" separator="," close=")">
+                    #{id}
+                </foreach>
+            </if>
+            AND t4.relation_id = 18
+            LIMIT 100
+            UNION
+            SELECT t1.id selfId,t1.lib_name selfName,t5.id parentId,t5.lib_name parentName,null sameName,t2.is_concept showType,t5.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
+            LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
+            LEFT JOIN kl_concept_common t3 ON t1.id = t3.concept_id
+            LEFT JOIN kl_relation t4 ON t4.end_id= t1.id
+            LEFT JOIN kl_concept t5 on t5.id = t4.start_id
+            LEFT JOIN kl_lexicon t6 ON t6.id = t5.lib_type
+            WHERE
+            t1.is_deleted = 'N'
+            AND t2.is_deleted = 'N'
+            AND t4.is_deleted = 'N'
+            AND t5.is_deleted = 'N'
+            AND t6.is_deleted = 'N'
+            AND t2.is_concept = 1
+            <if test="detilType != null">
+                AND t1.lib_type = #{detilType}
+            </if>
+            <if test="sexType == 3">
+                and (t3.sex_type in ('1','2','3') or t3.sex_type is null)
+            </if>
+            <if test="sexType != 3">
+                and (t3.sex_type in ('3',#{sexType}) or t3.sex_type is null)
+            </if>
+            <if test="age != null and age != ''">
+                AND (( <![CDATA[ t3.min_age <= #{age} ]]>
+                AND <![CDATA[ t3.max_age >= #{age} ]]>)
+                or (t3.min_age is null and t3.max_age is null))
+            </if>
+            AND (t2.spell LIKE CONCAT('%',UPPER(#{InputStr}),'%') OR t2.name LIKE CONCAT('%',#{InputStr},'%'))
+            <if test="inputIds != null and inputIds.size > 0">
+                and t1.id not in
+                <foreach item="id" collection="inputIds" open="(" separator="," close=")">
+                    #{id}
+                </foreach>
+            </if>
+            AND t4.relation_id = 18
+            LIMIT 100
+        </if>
         ) a1
-        GROUP BY a1.selfId,a1.showType
+        LIMIT 100
     </select>
 </mapper>

+ 55 - 0
aipt-service/src/main/resources/mapper/DisScaleMapper.xml

@@ -2,4 +2,59 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.diagbot.mapper.DisScaleMapper">
 
+    <select id="indexScale"  resultType="com.diagbot.dto.ConceptBaseDTO">
+        SELECT DISTINCT concept_id,name
+        FROM
+        (
+            (
+                SELECT
+                t3.id AS concept_id,
+                t3.lib_name AS name
+                FROM
+                `kl_concept` t1,
+                `kl_relation` t2,
+                `kl_concept` t3,
+                `kl_relation_order` t4
+                WHERE
+                t1.is_deleted = 'N'
+                AND t2.is_deleted = 'N'
+                AND t3.is_deleted = 'N'
+                AND t4.is_deleted = 'N'
+                AND t1.id = t2.start_id
+                AND t3.id = t2.end_id
+                AND t2.id = t4.t_relation_id
+                <if test="name != null and name != ''">
+                    AND t1.lib_name LIKE  concat ('%',#{name},'%')
+                </if>
+                <if test="startType != null">
+                    AND t1.lib_type = #{startType}
+                </if>
+                <if test="relationType != null">
+                    AND t2.relation_id = #{relationType}
+                </if>
+                <if test="endType != null">
+                    AND t3.lib_type = #{endType}
+                </if>
+            )
+        UNION
+            (
+                SELECT
+                c.id AS concept_id,
+                c.lib_name AS name
+                FROM
+                kl_concept c
+                WHERE
+                c.lib_name LIKE  concat ('%',#{name},'%')
+                AND c.lib_type = #{endType}
+            )
+        ) s
+        where 1 = 1
+        <if test="filterName != null and filterName.size > 0">
+            and s.name not in
+            <foreach item="item" collection="filterName" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+
+    </select>
 </mapper>

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

@@ -26,7 +26,8 @@ public enum SysTypeEnum implements KeyedNamed {
     KNOWLEDGEMAN_SERVICE(13, "knowledgeman-service"),
     TRAN_SERVICE(14, "tran-service"),
     AIPT_SERVICE(15, "aipt-service"),
-    DATA_SERVICE(16, "data-service");
+    DATA_SERVICE(16, "data-service"),
+    PREC_SERVICE(17, "prec-service");
     @Setter
     private int key;
 

+ 1 - 1
config-server/src/main/resources/shared/aipt-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.235:3306/med-dev?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      url: jdbc:mysql://192.168.2.235:3306/med-s?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
       username: root
       password: diagbot@20180822
       # 连接池的配置信息

+ 1 - 1
config-server/src/main/resources/shared/aipt-service-local.yml

@@ -7,7 +7,7 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.235:3306/med-dev?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      url: jdbc:mysql://192.168.2.235:3306/med-s?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
       username: root
       password: diagbot@20180822
       # 连接池的配置信息

+ 1 - 1
config-server/src/main/resources/shared/aipt-service-test.yml

@@ -7,7 +7,7 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.241:3306/sys-log?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      url: jdbc:mysql://192.168.2.241:3306/med-s?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
       username: root
       password: lantone
       # 连接池的配置信息

+ 7 - 0
config-server/src/main/resources/shared/gateway-service-dev.yml

@@ -79,6 +79,13 @@ spring:
         filters:
 #        - SwaggerHeaderFilter
         - StripPrefix=2
+      - id: prec-service
+        uri: lb://prec-service
+        predicates:
+        - Path=/api/prec/**
+        filters:
+        #        - SwaggerHeaderFilter
+        - StripPrefix=2
       - id: tran-service
         uri: lb://tran-service
         predicates:

+ 7 - 0
config-server/src/main/resources/shared/gateway-service-local.yml

@@ -90,6 +90,13 @@ spring:
         filters:
 #        - SwaggerHeaderFilter
         - StripPrefix=2
+      - id: prec-service
+        uri: lb://prec-service
+        predicates:
+        - Path=/api/prec/**
+        filters:
+        #        - SwaggerHeaderFilter
+        - StripPrefix=2
       - id: aipt-service
         uri: lb://aipt-service
         predicates:

+ 7 - 0
config-server/src/main/resources/shared/gateway-service-pro.yml

@@ -86,6 +86,13 @@ spring:
         filters:
 #        - SwaggerHeaderFilter
         - StripPrefix=2
+      - id: prec-service
+        uri: lb://prec-service
+        predicates:
+        - Path=/api/prec/**
+        filters:
+        #        - SwaggerHeaderFilter
+        - StripPrefix=2
       - id: aipt-service
         uri: lb://aipt-service
         predicates:

+ 7 - 0
config-server/src/main/resources/shared/gateway-service-test.yml

@@ -86,6 +86,13 @@ spring:
         filters:
 #        - SwaggerHeaderFilter
         - StripPrefix=2
+      - id: prec-service
+        uri: lb://prec-service
+        predicates:
+        - Path=/api/prec/**
+        filters:
+        #        - SwaggerHeaderFilter
+        - StripPrefix=2
       - id: aipt-service
         uri: lb://aipt-service
         predicates:

+ 104 - 0
config-server/src/main/resources/shared/prec-service-dev.yml

@@ -0,0 +1,104 @@
+server:
+  port: 8849
+
+# 驱动配置信息
+spring:
+  datasource:
+    druid:
+      driver-class-name: com.mysql.cj.jdbc.Driver
+      platform: mysql
+      url: jdbc:mysql://192.168.2.236:3306/sys-prec?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      username: root
+      password: lantone
+      # 连接池的配置信息
+      # 初始化大小,最小,最大
+      initialSize: 5
+      minIdle: 5
+      maxActive: 20
+      # 配置获取连接等待超时的时间
+      maxWait: 60000
+      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+      timeBetweenEvictionRunsMillis: 60000
+      # 配置一个连接在池中最小生存的时间,单位是毫秒
+      minEvictableIdleTimeMillis: 300000
+      validationQuery: SELECT 1 FROM DUAL
+      testWhileIdle: true
+      testOnBorrow: false
+      testOnReturn: false
+      # 打开PSCache,并且指定每个连接上PSCache的大小
+      poolPreparedStatements: true
+      maxPoolPreparedStatementPerConnectionSize: 20
+      # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
+      filters.commons-log.connection-logger-name: wall,log4j
+      filter:
+        stat:
+          enabled: true
+          mergeSql: true
+          log-slow-sql: true
+          slow-sql-millis: 2000
+      #监控配置
+      web-stat-filter:
+        enabled: true
+        url-pattern: /*
+        exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
+
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        reset-enable: false
+        login-username: root
+        login-password: root
+
+  cloud:
+    stream:
+      bindings:
+        outputLog:
+          destination: myLog
+  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+
+  #mq
+  rabbitmq:
+    host: 192.168.2.236
+    port: 5672
+    username: lantone
+    password: lantone
+    publisher-confirms: true
+    virtual-host: /
+
+#mybatis
+mybatis-plus:
+  mapper-locations: classpath:/mapper/*Mapper.xml
+  #实体扫描,多个package用逗号或者分号分隔
+  typeAliasesPackage: com.diagbot.entity
+  global-config:
+    #刷新mapper 调试神器
+    db-config:
+      #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
+      id-type: id_worker
+      #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
+      field-strategy: not_empty
+      #驼峰下划线转换
+      column-underline: true
+      #数据库大写下划线转换
+      #capital-mode: true
+      #刷新mapper 调试神器
+      refresh-mapper: true
+      #逻辑删除配置
+      logic-delete-value: 0
+      logic-not-delete-value: 1
+      #自定义填充策略接口实现
+      #meta-object-handler: com.baomidou.springboot.xxx
+      #自定义SQL注入器
+      #sql-injector: com.baomidou.springboot.xxx
+  configuration:
+    map-underscore-to-camel-case: true
+    cache-enabled: false
+
+fastdfs:
+  connect_timeout_in_seconds: 60
+  network_timeout_in_seconds: 60
+  charset: UTF-8
+  http_tracker_http_port: 8080
+  http_anti_steal_token: no
+  tracker_servers: 192.168.2.236:22122

+ 104 - 0
config-server/src/main/resources/shared/prec-service-local.yml

@@ -0,0 +1,104 @@
+server:
+  port: 8849
+
+# 驱动配置信息
+spring:
+  datasource:
+    druid:
+      driver-class-name: com.mysql.cj.jdbc.Driver
+      platform: mysql
+      url: jdbc:mysql://192.168.2.236:3306/sys-prec?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      username: root
+      password: lantone
+      # 连接池的配置信息
+      # 初始化大小,最小,最大
+      initialSize: 5
+      minIdle: 5
+      maxActive: 20
+      # 配置获取连接等待超时的时间
+      maxWait: 60000
+      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+      timeBetweenEvictionRunsMillis: 60000
+      # 配置一个连接在池中最小生存的时间,单位是毫秒
+      minEvictableIdleTimeMillis: 300000
+      validationQuery: SELECT 1 FROM DUAL
+      testWhileIdle: true
+      testOnBorrow: false
+      testOnReturn: false
+      # 打开PSCache,并且指定每个连接上PSCache的大小
+      poolPreparedStatements: true
+      maxPoolPreparedStatementPerConnectionSize: 20
+      # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
+      filters.commons-log.connection-logger-name: wall,log4j
+      filter:
+        stat:
+          enabled: true
+          mergeSql: true
+          log-slow-sql: true
+          slow-sql-millis: 2000
+      #监控配置
+      web-stat-filter:
+        enabled: true
+        url-pattern: /*
+        exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
+
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        reset-enable: false
+        login-username: root
+        login-password: root
+
+  cloud:
+    stream:
+      bindings:
+        outputLog:
+          destination: myLog
+  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+
+  #mq
+  rabbitmq:
+    host: localhost
+    port: 5672
+    username: guest
+    password: guest
+    publisher-confirms: true
+    virtual-host: /
+
+#mybatis
+mybatis-plus:
+  mapper-locations: classpath:/mapper/*Mapper.xml
+  #实体扫描,多个package用逗号或者分号分隔
+  typeAliasesPackage: com.diagbot.entity
+  global-config:
+    #刷新mapper 调试神器
+    db-config:
+      #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
+      id-type: id_worker
+      #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
+      field-strategy: not_empty
+      #驼峰下划线转换
+      column-underline: true
+      #数据库大写下划线转换
+      #capital-mode: true
+      #刷新mapper 调试神器
+      refresh-mapper: true
+      #逻辑删除配置
+      logic-delete-value: 0
+      logic-not-delete-value: 1
+      #自定义填充策略接口实现
+      #meta-object-handler: com.baomidou.springboot.xxx
+      #自定义SQL注入器
+      #sql-injector: com.baomidou.springboot.xxx
+  configuration:
+    map-underscore-to-camel-case: true
+    cache-enabled: false
+
+fastdfs:
+  connect_timeout_in_seconds: 60
+  network_timeout_in_seconds: 60
+  charset: UTF-8
+  http_tracker_http_port: 8080
+  http_anti_steal_token: no
+  tracker_servers: 192.168.2.236:22122

+ 104 - 0
config-server/src/main/resources/shared/prec-service-pro.yml

@@ -0,0 +1,104 @@
+server:
+  port: 8849
+
+# 驱动配置信息
+spring:
+  datasource:
+    druid:
+      driver-class-name: com.mysql.cj.jdbc.Driver
+      platform: mysql
+      url: jdbc:mysql://192.168.2.236:3306/sys-prec?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      username: root
+      password: lantone
+      # 连接池的配置信息
+      # 初始化大小,最小,最大
+      initialSize: 5
+      minIdle: 5
+      maxActive: 20
+      # 配置获取连接等待超时的时间
+      maxWait: 60000
+      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+      timeBetweenEvictionRunsMillis: 60000
+      # 配置一个连接在池中最小生存的时间,单位是毫秒
+      minEvictableIdleTimeMillis: 300000
+      validationQuery: SELECT 1 FROM DUAL
+      testWhileIdle: true
+      testOnBorrow: false
+      testOnReturn: false
+      # 打开PSCache,并且指定每个连接上PSCache的大小
+      poolPreparedStatements: true
+      maxPoolPreparedStatementPerConnectionSize: 20
+      # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
+      filters.commons-log.connection-logger-name: wall,log4j
+      filter:
+        stat:
+          enabled: true
+          mergeSql: true
+          log-slow-sql: true
+          slow-sql-millis: 2000
+      #监控配置
+      web-stat-filter:
+        enabled: true
+        url-pattern: /*
+        exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
+
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        reset-enable: false
+        login-username: root
+        login-password: root
+
+  cloud:
+    stream:
+      bindings:
+        outputLog:
+          destination: myLog
+  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+
+  #mq
+  rabbitmq:
+    host: 192.168.2.236
+    port: 5672
+    username: lantone
+    password: lantone
+    publisher-confirms: true
+    virtual-host: /
+
+#mybatis
+mybatis-plus:
+  mapper-locations: classpath:/mapper/*Mapper.xml
+  #实体扫描,多个package用逗号或者分号分隔
+  typeAliasesPackage: com.diagbot.entity
+  global-config:
+    #刷新mapper 调试神器
+    db-config:
+      #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
+      id-type: id_worker
+      #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
+      field-strategy: not_empty
+      #驼峰下划线转换
+      column-underline: true
+      #数据库大写下划线转换
+      #capital-mode: true
+      #刷新mapper 调试神器
+      refresh-mapper: true
+      #逻辑删除配置
+      logic-delete-value: 0
+      logic-not-delete-value: 1
+      #自定义填充策略接口实现
+      #meta-object-handler: com.baomidou.springboot.xxx
+      #自定义SQL注入器
+      #sql-injector: com.baomidou.springboot.xxx
+  configuration:
+    map-underscore-to-camel-case: true
+    cache-enabled: false
+
+fastdfs:
+  connect_timeout_in_seconds: 60
+  network_timeout_in_seconds: 60
+  charset: UTF-8
+  http_tracker_http_port: 8080
+  http_anti_steal_token: no
+  tracker_servers: 192.168.2.236:22122

+ 105 - 0
config-server/src/main/resources/shared/prec-service-test.yml

@@ -0,0 +1,105 @@
+server:
+  port: 8849
+
+# 驱动配置信息
+spring:
+  datasource:
+    druid:
+      driver-class-name: com.mysql.cj.jdbc.Driver
+      platform: mysql
+      url: jdbc:mysql://192.168.2.241:3306/sys-prec?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      username: root
+      password: lantone
+      # 连接池的配置信息
+      # 初始化大小,最小,最大
+      initialSize: 5
+      minIdle: 5
+      maxActive: 20
+      # 配置获取连接等待超时的时间
+      maxWait: 60000
+      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+      timeBetweenEvictionRunsMillis: 60000
+      # 配置一个连接在池中最小生存的时间,单位是毫秒
+      minEvictableIdleTimeMillis: 300000
+      validationQuery: SELECT 1 FROM DUAL
+      testWhileIdle: true
+      testOnBorrow: false
+      testOnReturn: false
+      # 打开PSCache,并且指定每个连接上PSCache的大小
+      poolPreparedStatements: true
+      maxPoolPreparedStatementPerConnectionSize: 20
+      # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
+      filters.commons-log.connection-logger-name: wall,log4j
+      filter:
+        stat:
+          enabled: true
+          mergeSql: true
+          log-slow-sql: true
+          slow-sql-millis: 2000
+      #监控配置
+      web-stat-filter:
+        enabled: true
+        url-pattern: /*
+        exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
+
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        reset-enable: false
+        login-username: root
+        login-password: root
+
+  cloud:
+    stream:
+      bindings:
+        outputLog:
+          destination: myLog
+  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+
+  #mq
+  rabbitmq:
+    host: 192.168.2.241
+    port: 5672
+    username: lantone
+    password: lantone
+    publisher-confirms: true
+    virtual-host: /
+
+#mybatis
+mybatis-plus:
+  mapper-locations: classpath:/mapper/*Mapper.xml
+  #实体扫描,多个package用逗号或者分号分隔
+  typeAliasesPackage: com.diagbot.entity
+  global-config:
+    #刷新mapper 调试神器
+    db-config:
+      #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
+      id-type: id_worker
+      #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
+      field-strategy: not_empty
+      #驼峰下划线转换
+      column-underline: true
+      #数据库大写下划线转换
+      #capital-mode: true
+      #刷新mapper 调试神器
+      refresh-mapper: true
+      #逻辑删除配置
+      logic-delete-value: 0
+      logic-not-delete-value: 1
+      #自定义填充策略接口实现
+      #meta-object-handler: com.baomidou.springboot.xxx
+      #自定义SQL注入器
+      #sql-injector: com.baomidou.springboot.xxx
+  configuration:
+    map-underscore-to-camel-case: true
+    cache-enabled: false
+
+
+fastdfs:
+  connect_timeout_in_seconds: 60
+  network_timeout_in_seconds: 60
+  charset: UTF-8
+  http_tracker_http_port: 8080
+  http_anti_steal_token: no
+  tracker_servers: 192.168.2.241:22122

+ 31 - 0
data-service/src/main/java/com/diagbot/client/TranServiceClient.java

@@ -0,0 +1,31 @@
+package com.diagbot.client;
+
+import java.util.List;
+
+import javax.validation.Valid;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import com.diagbot.client.hystrix.TranServiceHystrix;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SysSetInfoDTO;
+import com.diagbot.vo.HospitalSetVO;
+
+/**
+ * @Description: 调用信息对接层服务
+ * @author: gaodm
+ * @time: 2019/2/1 17:00
+ */
+@FeignClient(value = "tran-service", fallback = TranServiceHystrix.class)
+public interface TranServiceClient {
+
+	/**
+	 * 
+	 * @param hospitalSetVO
+	 * @return
+	 */
+    @PostMapping("/sysSet/getSysSetInfoDatas")
+    RespDTO<List<SysSetInfoDTO>> getSysSetInfoDatas(@Valid @RequestBody HospitalSetVO hospitalSetVO);
+}

+ 3 - 0
data-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -1,5 +1,6 @@
 package com.diagbot.client.bean;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -33,4 +34,6 @@ public class SearchData {
     private Integer disType;    //诊断类型
     private String adverseEvent;
     private String hosCode;
+    @ApiModelProperty(hidden = true)
+    private Integer sysType;  //系统类型
 }

+ 30 - 0
data-service/src/main/java/com/diagbot/client/hystrix/TranServiceHystrix.java

@@ -0,0 +1,30 @@
+package com.diagbot.client.hystrix;
+
+import java.util.List;
+
+import javax.validation.Valid;
+
+import org.springframework.stereotype.Component;
+
+import com.diagbot.client.TranServiceClient;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SysSetInfoDTO;
+import com.diagbot.vo.HospitalSetVO;
+
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * @Description: 调用信息对接层服务
+ * @author: gaodm
+ * @time: 2019/2/1 17:00
+ */
+@Component
+@Slf4j
+public class TranServiceHystrix implements TranServiceClient {
+
+	@Override
+	public RespDTO<List<SysSetInfoDTO>> getSysSetInfoDatas(@Valid HospitalSetVO hospitalSetVO) {
+		log.error("【hystrix】调用{}异常", "getSysSetInfoDatas");
+		return null;
+	}
+}

+ 39 - 0
data-service/src/main/java/com/diagbot/dto/SysSetInfoDTO.java

@@ -0,0 +1,39 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年6月12日 下午3:31:22
+ */
+@Setter
+@Getter
+public class SysSetInfoDTO {
+
+    /**
+     * 医院编码
+     */
+    private String hospitalCode;
+
+    /**
+     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
+     */
+    private Integer sysType;
+
+    /**
+     * 配置名称
+     */
+    private String name;
+    
+    /**
+     * 配置编码
+     */
+    private String code;
+    /**
+     * 配置值
+     */
+    private Integer value;
+}

+ 2 - 0
data-service/src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -2,6 +2,7 @@ package com.diagbot.facade;
 
 import com.diagbot.client.bean.LisResult;
 import com.diagbot.client.bean.SearchData;
+import com.diagbot.enums.SysTypeEnum;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.vo.PushVO;
@@ -40,6 +41,7 @@ public class AssembleFacade {
         searchData.setFeatureType(pushVO.getFeatureType());
         searchData.setSysCode("1");
         searchData.setLength(10);
+        searchData.setSysType(SysTypeEnum.DATA_SERVICE.getKey());
         searchData.setHosCode(pushVO.getHosCode());
 
         switch (pushVO.getSex()) {

+ 37 - 0
data-service/src/main/java/com/diagbot/facade/SysSetFacade.java

@@ -0,0 +1,37 @@
+package com.diagbot.facade;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.diagbot.client.TranServiceClient;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SysSetInfoDTO;
+import com.diagbot.util.RespDTOUtil;
+import com.diagbot.vo.HospitalSetVO;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年6月18日 上午10:16:47
+ */
+@Component
+public class SysSetFacade {
+
+	@Autowired
+	TranServiceClient tranServiceClient;
+
+	/**
+	 * 根据医院code获取配置信息
+	 * 
+	 * @return
+	 */
+	public List<SysSetInfoDTO> getSysSetInfoData(HospitalSetVO hospitalSetVO) {
+		RespDTO<List<SysSetInfoDTO>> sysSetInfoLists = tranServiceClient.getSysSetInfoDatas(hospitalSetVO);
+		RespDTOUtil.respNGDeal(sysSetInfoLists, "获取配置数据失败!");
+		return sysSetInfoLists.data;
+	}
+
+}

+ 4 - 3
data-service/src/main/java/com/diagbot/vo/ConceptIntroduceVO.java

@@ -16,13 +16,14 @@ import java.util.List;
 @Getter
 @Setter
 public class ConceptIntroduceVO {
+    @NotBlank(message = "请输入概念名称")
+    private String name;
+    @NotNull(message = "请输入概念词性")
+    private Integer type;
     //此版本暂不提供该过滤条件
     @ApiModelProperty(hidden = true)
     private Integer position;
     //此版本暂不提供该过滤条件
     @ApiModelProperty(hidden = true)
     private List<String> titles;
-    private Integer type;
-    @NotBlank(message = "概念名称不能为空")
-    private String name;
 }

+ 38 - 0
data-service/src/main/java/com/diagbot/vo/HospitalSetVO.java

@@ -0,0 +1,38 @@
+package com.diagbot.vo;
+
+import com.diagbot.enums.SysTypeEnum;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年6月12日 下午3:30:26
+ */
+@Setter
+@Getter
+public class HospitalSetVO {
+
+	private String hospitalCode;
+
+	/**
+	 * 访问的系统类型
+	 * (1, "user-service"),(2, "diagbotman-service"),(3, "uaa-service"),(4, "log-service"),
+	 * (5, "bi-service"),(6, "ltapi-service"),(7, "feedback-service"),(8, "icss-old-service"),
+	 * (9, "triage-service"),(10, "appkey"),(11, "icss-service"),(12, "icssman-service"),(13, "knowledgeman-service"),
+	 * (14, "tran-service"),(15, "aipt-service"),(16, "data-service"),(17, "prec-service");
+	 */
+	@ApiModelProperty(hidden = true)
+	private Integer sysType = SysTypeEnum.DATA_SERVICE.getKey();
+
+	/**
+	 * 配置名称
+	 */
+	private String name;
+	/**
+	 * 配置编码
+	 */
+	private String code;
+}

+ 46 - 0
data-service/src/main/java/com/diagbot/web/SysSetController.java

@@ -0,0 +1,46 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SysSetInfoDTO;
+import com.diagbot.facade.SysSetFacade;
+import com.diagbot.vo.HospitalSetVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * <p>
+ * 医院所有配置信息 前端控制器
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2019-06-18
+ */
+@RestController
+@RequestMapping("/sysSet")
+@Api(value = "配置信息API", tags = { "配置信息API" })
+@SuppressWarnings("unchecked")
+public class SysSetController {
+
+	@Autowired
+	SysSetFacade sysSetFacade;
+	
+	@ApiOperation(value = "根据医院编码获取配置信息[by:wangfeng]", notes = "hospitalCode :医院code  必填<br> ")
+	@PostMapping("/getSysSetInfoDatas")
+	@SysLogger("getSysSetInfoDatas")
+	public RespDTO<List<SysSetInfoDTO>> getSysSetInfoDatas(@Valid @RequestBody HospitalSetVO hospitalSetVO) {
+
+		 List<SysSetInfoDTO> data = sysSetFacade.getSysSetInfoData(hospitalSetVO);
+
+		return RespDTO.onSuc(data);
+	}
+}

+ 47 - 0
docs/006.20190304慢病基于icss增量脚本/init_icss_NCD.sql

@@ -277,3 +277,50 @@ UPDATE `icss_module_info` SET `type` = '31',`module_type`='0',`relation_id`='0'
 -- 赵佩诗
 -- 提示信息显示位置修改
 ALTER TABLE icss_introduce_detail MODIFY COLUMN `position` VARCHAR (11) DEFAULT '2' COMMENT '显示位置(多选):1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书,6-不良反应';
+
+-- 任国宾
+DROP TABLE IF EXISTS `icss_inquiry_drug`;
+CREATE TABLE `icss_inquiry_drug` (
+  `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则表示纪录未修改',
+  `inquiry_id` bigint(20) NOT NULL COMMENT '问诊记录id',
+  `question_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '标签id',
+  `tag_name` varchar(100) NOT NULL DEFAULT '' COMMENT '标签名',
+  `remark` varchar(128) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='问诊记录处方用药明细表';
+
+DROP TABLE IF EXISTS `icss_inquiry_evaluation`;
+CREATE TABLE `icss_inquiry_evaluation` (
+  `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则表示纪录未修改',
+  `inquiry_id` bigint(20) NOT NULL COMMENT '问诊记录id',
+  `html_content` longtext COMMENT '评估页面html内容',
+  `remark` varchar(128) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='问诊记录评估结果表';
+
+
+DROP TABLE IF EXISTS `icss_inquiry_scale`;
+CREATE TABLE `icss_inquiry_scale` (
+  `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则表示纪录未修改',
+  `inquiry_id` bigint(20) NOT NULL COMMENT '问诊记录id',
+  `inquiry_evaluation_id` bigint(20) NOT NULL COMMENT '问诊记录评估结果表id',
+  `scale_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '量表标签id',
+  `html_content` longtext COMMENT '量表页面html内容',
+  `remark` varchar(128) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='问诊记录评估结果量表明细表';

+ 6 - 3
docs/006.20190304慢病基于icss增量脚本/init_user.sql

@@ -97,7 +97,7 @@ CREATE TABLE `sys_menu_permission` (
   `permission_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '系统资源id',
   `remark` varchar(255) DEFAULT NULL COMMENT '备注',
   PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=210 DEFAULT CHARSET=utf8 COMMENT='菜单和系统资源的映射表';
+) ENGINE=InnoDB AUTO_INCREMENT=211 DEFAULT CHARSET=utf8 COMMENT='菜单和系统资源的映射表';
 
 -- ----------------------------
 -- Records of sys_menu_permission
@@ -286,6 +286,7 @@ INSERT INTO `sys_menu_permission` VALUES ('206', 'N', '1970-01-01 12:00:00', '19
 INSERT INTO `sys_menu_permission` VALUES ('207', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '28', '228', '医学数据维护-模板维护-获取所有科室和疾病信息');
 INSERT INTO `sys_menu_permission` VALUES ('208', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '230', '医学数据维护-慢病评估维护-慢病疾病标签查询');
 INSERT INTO `sys_menu_permission` VALUES ('209', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '45', '229', '医学数据维护-慢病指标值关联维护-慢病指标疾病标签查询');
+INSERT INTO `sys_menu_permission` VALUES ('210', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '231', '医学数据维护-标签组维护-子标签检索');
 
 -- ----------------------------
 -- Table structure for sys_permission
@@ -304,7 +305,7 @@ CREATE TABLE `sys_permission` (
   `descritpion` varchar(255) NOT NULL DEFAULT '' COMMENT '资源描述',
   `remark` varchar(255) DEFAULT NULL COMMENT '备注',
   PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=231 DEFAULT CHARSET=utf8 COMMENT='系统资源表';
+) ENGINE=InnoDB AUTO_INCREMENT=232 DEFAULT CHARSET=utf8 COMMENT='系统资源表';
 
 -- ----------------------------
 -- Records of sys_permission
@@ -522,6 +523,7 @@ INSERT INTO `sys_permission` VALUES ('227', 'N', '1970-01-01 12:00:00', '1970-01
 INSERT INTO `sys_permission` VALUES ('228', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-获取所有科室和疾病信息', '/moduleInfo/getAllDeptAndDisInfo', 'ALL', '医学数据维护-获取所有科室和疾病信息', null);
 INSERT INTO `sys_permission` VALUES ('229', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-慢病指标值关联维护-慢病指标疾病标签查询', '/indexConfig/queryIndexConfigDiseaseNames', 'ALL', '医学数据维护-慢病指标值关联维护-慢病指标疾病标签查询', null);
 INSERT INTO `sys_permission` VALUES ('230', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-慢病评估维护-慢病疾病标签查询', '/evaluationModuleMapping/queryEvaluationDiseaseNames', 'ALL', '医学数据维护-慢病评估维护-慢病疾病标签查询', null);
+INSERT INTO `sys_permission` VALUES ('231', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学数据维护-标签组维护-子标签检索', '/questionInfo/indexSub', 'ALL', '医学数据维护-标签组维护-子标签检索', '');
 
 -- ----------------------------
 -- Table structure for sys_role
@@ -633,7 +635,7 @@ CREATE TABLE `sys_role_permission` (
   `permission_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '资源id',
   `remark` varchar(255) DEFAULT NULL COMMENT '备注',
   PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=246 DEFAULT CHARSET=utf8 COMMENT='角色和资源的映射表';
+) ENGINE=InnoDB AUTO_INCREMENT=247 DEFAULT CHARSET=utf8 COMMENT='角色和资源的映射表';
 
 -- ----------------------------
 -- Records of sys_role_permission
@@ -852,3 +854,4 @@ INSERT INTO `sys_role_permission` VALUES ('242', 'N', '1970-01-01 12:00:00', '19
 INSERT INTO `sys_role_permission` VALUES ('243', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '228', '医学数据维护-模板维护-获取所有科室疾病信息');
 INSERT INTO `sys_role_permission` VALUES ('244', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '229', '医学数据维护-慢病指标值关联维护-慢病指标疾病标签查询');
 INSERT INTO `sys_role_permission` VALUES ('245', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '230', '医学数据维护-慢病评估维护-慢病疾病标签查询');
+INSERT INTO `sys_role_permission` VALUES ('246', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '3', '231', '医学数据维护-标签组维护-子标签检索');

+ 0 - 4
docs/009.20190425知识库标准化脚本/init_cloud_service.sql

@@ -1,5 +0,0 @@
-use `sys-tran`;
-ALTER TABLE `tran_hospital_dept` CHANGE `icss_dept_name` `concept_dept_name` varchar(200) DEFAULT NULL COMMENT '朗通科室名称';
-ALTER TABLE `tran_disease_icd` CHANGE `icss_question_name` `concept_dis_name` varchar(200) DEFAULT NULL COMMENT '朗通疾病名称';
-ALTER TABLE `tran_disease_icd` MODIFY COLUMN `disease_name` varchar(200) DEFAULT NULL COMMENT 'HIS疾病名称';

+ 0 - 0
docs/009.20190425知识库标准化脚本/init_klb.sql


+ 0 - 0
docs/009.20190425知识库标准化脚本/init_user.sql


BIN=BIN
docs/009.20190425知识库标准化脚本/知识库标准化执行脚本_20190524.zip


BIN=BIN
docs/009.20190425知识库标准化脚本/知识库标准化执行脚本_20190621.zip


+ 55 - 0
docs/010.20190531智能预问诊儿童体质评估/init_prec.sql

@@ -0,0 +1,55 @@
+drop database if exists `sys-prec`;
+CREATE DATABASE  `sys-prec` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
+use `sys-prec`;
+
+-- ----------------------------
+-- Table structure for prec_evaluator
+-- ----------------------------
+DROP TABLE IF EXISTS `prec_evaluator`;
+CREATE TABLE `prec_evaluator` (
+  `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(100) NOT NULL DEFAULT '' COMMENT '姓名',
+  `phone` varchar(50) NOT NULL DEFAULT '' COMMENT '手机号',
+  `sex` int(11) NOT NULL DEFAULT '1' COMMENT '性别(1:男 2:女)',
+  `age` int(11) NOT NULL DEFAULT '0' COMMENT '年龄',
+  `mild_value` decimal(10,2) DEFAULT '0.00' COMMENT '平和体质转化分',
+  `faint_value` decimal(10,2) DEFAULT '0.00' COMMENT '气虚体质转化分',
+  `wet_value` decimal(10,2) DEFAULT '0.00' COMMENT '湿滞体质转化分',
+  `heart_value` decimal(10,2) DEFAULT '0.00' COMMENT '心肝火旺体质转化分',
+  `stagnant_value` decimal(10,2) DEFAULT '0.00' COMMENT '积滞体质转化分',
+  `except_value` decimal(10,2) DEFAULT '0.00' COMMENT '异禀体质转化分',
+  `physical_res` varchar(100) NOT NULL DEFAULT '' COMMENT '体质结果',
+  `physical_types` varchar(100) NOT NULL DEFAULT '' COMMENT '需要显示的体质逗号隔开',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='评估用户结果表';
+
+-- ----------------------------
+-- Table structure for prec_physical_info
+-- ----------------------------
+DROP TABLE IF EXISTS `prec_physical_info`;
+CREATE TABLE `prec_physical_info` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `physical` varchar(50) NOT NULL DEFAULT '' COMMENT '体质名称',
+  `description` varchar(500) NOT NULL DEFAULT '' COMMENT '体质描述',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='体质基本信息表';
+
+-- ----------------------------
+-- Records of prec_physical_info
+-- ----------------------------
+INSERT INTO `prec_physical_info` VALUES ('1', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '平和体质', '正常体质,从小机体就有较好的自我调节能力,对自然环境适应力强,生长发育良好,智力发育正常,精神状态好,疾病少,恢复快。');
+INSERT INTO `prec_physical_info` VALUES ('2', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '气虚体质', '儿童由于肺脾气虚,皮肤腠理娇嫩,以脾肺功能低下、体弱乏力、易感冒为主要特征的一种体质状态。易患反复呼吸道感染,自汗、泄泻、厌食等疾病。');
+INSERT INTO `prec_physical_info` VALUES ('3', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '湿滞体质', '由于脾气亏虚,湿浊阻滞,以脾虚湿滞为主要特征的一种体质类型,多见于体型虚胖的儿童,常表现有不爱运动,四肢容易困乏,纳呆便溏。');
+INSERT INTO `prec_physical_info` VALUES ('4', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '心肝火旺体质', '由于小儿心常有余,肝常有余,以心肝火盛为主要特征的一种体质状态。易患失眠、疳积、小儿多动症、脾气急躁、口臭、口腔溃疡等疾病。');
+INSERT INTO `prec_physical_info` VALUES ('5', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '积滞体质', '儿童由于脾胃积滞、食而不化,而影响到脾胃的运化,导致的一种消化不良的综合症状。常出现腹满胀痛,或吐乳,常伴有哭闹、夜寐不安。易患疳积、厌食、便秘、泄泻等疾病,可转化为营养不良。');
+INSERT INTO `prec_physical_info` VALUES ('6', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '异禀体质', '由于遗传因素、环境因素、食物因素、药物因素、免疫因素,或母亲生产时意外因素等先天禀赋不足和禀赋特异性遗传等因素造成的一种体质。包括过敏体质、遗传病体质、胎传体质、免疫缺陷体质。');

+ 17 - 2
icss-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -22,6 +22,7 @@ import com.diagbot.dto.IndexConfigAndDataDTO;
 import com.diagbot.dto.IndexConfigDTO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.entity.ScaleContent;
 import com.diagbot.vo.ConceptIntroduceVO;
 import com.diagbot.vo.ConceptSearchVO;
@@ -30,11 +31,13 @@ import com.diagbot.vo.DeptInfoVO;
 import com.diagbot.vo.DisScaleVO;
 import com.diagbot.vo.ExistListByConceptIdsVO;
 import com.diagbot.vo.GetDiseaseIcdVO;
+import com.diagbot.vo.GetStaticKnowledgeVO;
 import com.diagbot.vo.GetTopPatientInfoVO;
 import com.diagbot.vo.IndexConfigdiseaseNameVO;
 import com.diagbot.vo.IndexDataFindVO;
 import com.diagbot.vo.IndexDataSaveVO;
 import com.diagbot.vo.RetrievalVO;
+import com.diagbot.vo.ScaleIndexVO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -63,6 +66,9 @@ public interface AiptServiceClient {
     @PostMapping(value = "/scale/getList")
     RespDTO<List<DisScaleDTO>> getList(@RequestBody DisScaleVO scaleVO);
 
+    @PostMapping(value = "/scale/index")
+    RespDTO<List<ConceptBaseDTO>> index(@RequestBody ScaleIndexVO scaleIndexVO);
+
     @PostMapping(value = "/disType/getDisType")
     RespDTO<DisTypeDTO> getDisType();
 
@@ -147,11 +153,11 @@ public interface AiptServiceClient {
     /**
      * 是否有提示信息
      *
-     * @param conceptBaseVO
+     * @param conceptIntroduceVO
      * @return
      */
     @PostMapping("/conceptDetail/exist")
-    RespDTO<Boolean> existConceptDetail(@Valid @RequestBody ConceptBaseVO conceptBaseVO);
+    RespDTO<Boolean> existConceptDetail(@Valid @RequestBody ConceptIntroduceVO conceptIntroduceVO);
 
     /**
      * 验证诊断类型
@@ -205,4 +211,13 @@ public interface AiptServiceClient {
      */
     @PostMapping("/conceptDetail/existListByConceptIds")
     RespDTO<List<Long>> existListByConceptIds(ExistListByConceptIdsVO existListByConceptIdsVO);
+
+    /**
+     * 静态知识检索
+     *
+     * @param getStaticKnowledgeVO
+     * @return
+     */
+    @PostMapping("/concept/getStaticKnowledge")
+    RespDTO<List<RetrievalDTO>> getStaticKnowledge(GetStaticKnowledgeVO getStaticKnowledgeVO);
 }

+ 56 - 2
icss-service/src/main/java/com/diagbot/client/TranServiceClient.java

@@ -3,24 +3,40 @@ package com.diagbot.client;
 import java.util.List;
 import java.util.Map;
 
+import javax.validation.Valid;
+
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import com.diagbot.client.hystrix.TranServiceHystrix;
 import com.diagbot.dto.DoctorInfoDTO;
+import com.diagbot.dto.GetExportInquirysDTO;
+import com.diagbot.dto.HisInquirysForJzDTO;
 import com.diagbot.dto.HospitalInfoDTO;
 import com.diagbot.dto.LisConfigDTO;
+import com.diagbot.dto.LisDataDTO;
+import com.diagbot.dto.LisRetrieveListAllDTO;
+import com.diagbot.dto.PacsDataDTO;
+import com.diagbot.dto.PacsRetrieveListAllDTO;
 import com.diagbot.dto.PatientInfoDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SysSetInfoDTO;
 import com.diagbot.dto.TranFieldInfoDTO;
 import com.diagbot.entity.DoctorInfo;
 import com.diagbot.entity.HospitalDept;
 import com.diagbot.entity.PatientInfo;
+import com.diagbot.vo.AddDiagnoseSecondVO;
 import com.diagbot.vo.DoctorInfoVO;
+import com.diagbot.vo.HisInquirysForJzVO;
 import com.diagbot.vo.HosCodeVO;
 import com.diagbot.vo.HospitalInfoVO;
+import com.diagbot.vo.HospitalSetVO;
+import com.diagbot.vo.LisArgumentsVO;
+import com.diagbot.vo.LisGroupNameVO;
 import com.diagbot.vo.LisHospitalCodeVO;
+import com.diagbot.vo.PacsArgumentsVO;
+import com.diagbot.vo.PacsCheckItemVO;
 import com.diagbot.vo.PatientInfoVO;
 import com.diagbot.vo.SaveInquiryToHisVO;
 import com.diagbot.vo.TranFieldInfoVO;
@@ -67,7 +83,7 @@ public interface TranServiceClient {
      * @return
      */
     @PostMapping("/hospitalInfo/getHospitalInfo")
-    RespDTO<List<HospitalInfoDTO>> getHospitalInfo(@RequestBody HospitalInfoVO hospitalInfoVO);
+    RespDTO<HospitalInfoDTO> getHospitalInfo(@RequestBody HospitalInfoVO hospitalInfoVO);
 
     /**
      * 匹配公表名
@@ -106,14 +122,37 @@ public interface TranServiceClient {
     RespDTO<List<TranFieldInfoDTO>> getInfoByUuid(@RequestBody TranFieldInfoVO tranFieldInfoVO);
 
     /**
-     * 将问诊保存的一些相关信息发送到对接层
+     * 将问诊记录保存一份至对接层
      *
      * @param saveInquiryToHisVO
      * @return
      */
     @PostMapping("/inquiryInfo/saveInquiryToHis")
     RespDTO<Boolean> saveInquiryToHis(@RequestBody SaveInquiryToHisVO saveInquiryToHisVO);
+    
+    /**
+     * 急诊-历史病历列表
+     * @param hisInquirysForJzVO
+     * @return
+     */
+    @PostMapping("/inquiryInfo/hisInquirysForJz")
+    RespDTO<HisInquirysForJzDTO> hisInquirysForJz(@RequestBody HisInquirysForJzVO hisInquirysForJzVO);
+    
+    /**
+     * 急诊-添加二次诊断
+     * @param addDiagnoseSecondVO
+     * @return
+     */
+    @PostMapping("/inquiryInfo/addDiagnoseSecond")
+    RespDTO<Boolean> addDiagnoseSecond(@RequestBody AddDiagnoseSecondVO addDiagnoseSecondVO);
 
+    /**
+     * 急诊-获取需要导出的问诊数据
+     * @param inquiryIds
+     * @return
+     */
+    @PostMapping("/inquiryInfo/getExportInquirys")
+    RespDTO<List<GetExportInquirysDTO>> getExportInquirys(@RequestBody List<Long> inquiryIds);
 
     /**
      * 根据医院编码获取化验公表映射关系-itemName不为空
@@ -177,4 +216,19 @@ public interface TranServiceClient {
      */
     @PostMapping("/pacsConfig/getPacsConfigByUniqueNameAndHosCode")
     RespDTO<Map<String, List<String>>> getPacsConfigByUniqueNameAndHosCode(@RequestBody HosCodeVO hosCodeVO);
+    
+    @PostMapping("/lisDockingImports/lisDockingImports")
+    public RespDTO<LisRetrieveListAllDTO> getLisDatas(@RequestBody @Valid LisArgumentsVO lisArgumentsVO);
+
+    @PostMapping("/lisDockingImports/getByGroupNameLisData")
+	public RespDTO<LisDataDTO> getByGroupNameLisData(@RequestBody @Valid LisGroupNameVO lisGroupNameVO);
+
+    @PostMapping("/lisDockingImports/pacsDockingImport")
+	RespDTO<PacsRetrieveListAllDTO> pacsDockingImports(@RequestBody @Valid PacsArgumentsVO pacsArgumentsVO);
+
+    @PostMapping("/lisDockingImports/getByCheckItemPacsData")
+	RespDTO<PacsDataDTO> getByCheckItemPacsDatas(@RequestBody @Valid PacsCheckItemVO pacsGroupNameVO);
+    
+    @PostMapping("/sysSet/getSysSetInfoDatas")
+    RespDTO<List<SysSetInfoDTO>> getSysSetInfoDatas(@Valid @RequestBody HospitalSetVO hospitalSetVO);
 }

+ 1 - 0
icss-service/src/main/java/com/diagbot/client/bean/Medicition.java

@@ -24,4 +24,5 @@ public class Medicition {
      */
     private String showInfo = "0";
     private String rate;
+    private Integer type;
 }

+ 3 - 0
icss-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -1,6 +1,7 @@
 package com.diagbot.client.bean;
 
 import com.diagbot.vo.LisResult;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -34,4 +35,6 @@ public class SearchData {
     private Integer disType;    //诊断类型
     private String adverseEvent;
     private String hosCode;    //医院编码
+    @ApiModelProperty(hidden = true)
+    private Integer sysType;   //系统类型
 }

+ 18 - 2
icss-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -22,6 +22,7 @@ import com.diagbot.dto.IndexConfigAndDataDTO;
 import com.diagbot.dto.IndexConfigDTO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.entity.ScaleContent;
 import com.diagbot.vo.ConceptIntroduceVO;
 import com.diagbot.vo.ConceptSearchVO;
@@ -30,11 +31,13 @@ import com.diagbot.vo.DeptInfoVO;
 import com.diagbot.vo.DisScaleVO;
 import com.diagbot.vo.ExistListByConceptIdsVO;
 import com.diagbot.vo.GetDiseaseIcdVO;
+import com.diagbot.vo.GetStaticKnowledgeVO;
 import com.diagbot.vo.GetTopPatientInfoVO;
 import com.diagbot.vo.IndexConfigdiseaseNameVO;
 import com.diagbot.vo.IndexDataFindVO;
 import com.diagbot.vo.IndexDataSaveVO;
 import com.diagbot.vo.RetrievalVO;
+import com.diagbot.vo.ScaleIndexVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -76,6 +79,13 @@ public class AiptServiceHystrix implements AiptServiceClient {
         return null;
     }
 
+    @Override
+    public RespDTO<List<ConceptBaseDTO>> index(ScaleIndexVO scaleIndexVO) {
+        log.error("【hystrix】调用{}异常", "index");
+        return null;
+    }
+
+
     @Override
     public RespDTO<DisTypeDTO> getDisType() {
         log.error("【hystrix】调用{}异常", "getDisType");
@@ -181,11 +191,11 @@ public class AiptServiceHystrix implements AiptServiceClient {
     /**
      * 是否有提示信息
      *
-     * @param conceptBaseVO
+     * @param conceptIntroduceVO
      * @return
      */
     @Override
-    public RespDTO<Boolean> existConceptDetail(@Valid @RequestBody ConceptBaseVO conceptBaseVO) {
+    public RespDTO<Boolean> existConceptDetail(@Valid @RequestBody ConceptIntroduceVO conceptIntroduceVO) {
         log.error("【hystrix】调用{}异常", "existConceptDetail");
         return null;
     }
@@ -267,4 +277,10 @@ public class AiptServiceHystrix implements AiptServiceClient {
         log.error("【hystrix】调用{}异常", "existListByConceptIds");
         return null;
     }
+
+    @Override
+    public RespDTO<List<RetrievalDTO>> getStaticKnowledge(GetStaticKnowledgeVO getStaticKnowledgeVO) {
+        log.error("【hystrix】调用{}异常", "getStaticKnowledge");
+        return null;
+    }
 }

+ 65 - 10
icss-service/src/main/java/com/diagbot/client/hystrix/TranServiceHystrix.java

@@ -10,18 +10,32 @@ import org.springframework.web.bind.annotation.RequestBody;
 
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.dto.DoctorInfoDTO;
+import com.diagbot.dto.GetExportInquirysDTO;
+import com.diagbot.dto.HisInquirysForJzDTO;
 import com.diagbot.dto.HospitalInfoDTO;
 import com.diagbot.dto.LisConfigDTO;
+import com.diagbot.dto.LisDataDTO;
+import com.diagbot.dto.LisRetrieveListAllDTO;
+import com.diagbot.dto.PacsDataDTO;
+import com.diagbot.dto.PacsRetrieveListAllDTO;
 import com.diagbot.dto.PatientInfoDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SysSetInfoDTO;
 import com.diagbot.dto.TranFieldInfoDTO;
 import com.diagbot.entity.DoctorInfo;
 import com.diagbot.entity.HospitalDept;
 import com.diagbot.entity.PatientInfo;
+import com.diagbot.vo.AddDiagnoseSecondVO;
 import com.diagbot.vo.DoctorInfoVO;
+import com.diagbot.vo.HisInquirysForJzVO;
 import com.diagbot.vo.HosCodeVO;
 import com.diagbot.vo.HospitalInfoVO;
+import com.diagbot.vo.HospitalSetVO;
+import com.diagbot.vo.LisArgumentsVO;
+import com.diagbot.vo.LisGroupNameVO;
 import com.diagbot.vo.LisHospitalCodeVO;
+import com.diagbot.vo.PacsArgumentsVO;
+import com.diagbot.vo.PacsCheckItemVO;
 import com.diagbot.vo.PatientInfoVO;
 import com.diagbot.vo.SaveInquiryToHisVO;
 import com.diagbot.vo.TranFieldInfoVO;
@@ -49,7 +63,7 @@ public class TranServiceHystrix implements TranServiceClient {
     }
 
     @Override
-    public RespDTO<List<HospitalInfoDTO>> getHospitalInfo(HospitalInfoVO hospitalInfoVO) {
+    public RespDTO<HospitalInfoDTO> getHospitalInfo(HospitalInfoVO hospitalInfoVO) {
         log.error("【hystrix】调用{}异常", "getHospitalInfo");
         return null;
     }
@@ -89,15 +103,26 @@ public class TranServiceHystrix implements TranServiceClient {
         log.error("【hystrix】调用{}异常", "saveInquiryToHis");
         return null;
     }
-
-
-    //    @Override
-    //    public Response<ResponseData> bayesPageData(SearchData searchData) {
-    //        log.error("【hystrix】调用{}异常", "bayesPageData");
-    //        return null;
-    //    }
-
-    /**
+    
+    @Override
+	public RespDTO<HisInquirysForJzDTO> hisInquirysForJz(HisInquirysForJzVO hisInquirysForJzVO) {
+    	log.error("【hystrix】调用{}异常", "hisInquirysForJz");
+		return null;
+	}
+
+	@Override
+	public RespDTO<Boolean> addDiagnoseSecond(AddDiagnoseSecondVO addDiagnoseSecondVO) {
+    	log.error("【hystrix】调用{}异常", "addDiagnoseSecond");
+		return null;
+	}
+	
+	@Override
+	public RespDTO<List<GetExportInquirysDTO>> getExportInquirys(List<Long> inquiryIds) {
+		log.error("【hystrix】调用{}异常", "getExportInquirys");
+		return null;
+	}
+	
+	/**
      * 根据医院编码获取化验公表映射关系-itemName不为空
      *
      * @param hosCodeVO
@@ -180,4 +205,34 @@ public class TranServiceHystrix implements TranServiceClient {
         log.error("【hystrix】调用{}异常", "getPacsConfigByUniqueNameAndHosCode");
         return null;
     }
+
+	@Override
+	public RespDTO<LisRetrieveListAllDTO> getLisDatas(@RequestBody @Valid LisArgumentsVO lisArgumentsVO) {
+		log.error("【hystrix】调用{}异常", "getLisDatas");
+		return null;
+	}
+
+	@Override
+	public RespDTO<LisDataDTO> getByGroupNameLisData(@RequestBody @Valid LisGroupNameVO lisGroupNameVO) {
+		log.error("【hystrix】调用{}异常", "getByGroupNameLisData");
+		return null;
+	}
+
+	@Override
+	public RespDTO<PacsRetrieveListAllDTO> pacsDockingImports(@RequestBody @Valid PacsArgumentsVO pacsArgumentsVO) {
+		log.error("【hystrix】调用{}异常", "pacsDockingImports");
+		return null;
+	}
+
+	@Override
+	public RespDTO<PacsDataDTO> getByCheckItemPacsDatas(@RequestBody @Valid PacsCheckItemVO pacsGroupNameVO) {
+		log.error("【hystrix】调用{}异常", "getByCheckItemPacsDatas");
+		return null;
+	}
+
+	@Override
+	public RespDTO<List<SysSetInfoDTO>> getSysSetInfoDatas(@Valid HospitalSetVO hospitalSetVO) {
+		log.error("【hystrix】调用{}异常", "getSysSetInfoDatas");
+		return null;
+	}
 }

+ 1 - 1
icss-service/src/main/java/com/diagbot/dto/ConceptRetrievalDTO.java

@@ -16,7 +16,7 @@ public class ConceptRetrievalDTO {
     private Long parentId;//父级id
     private String parentName;//父级名称
     private String sameName;//同义词名称
-    private Integer showType;//显示类型(1本体,2同义词)
+    private Long showType;//显示类型(1本体,0同义词)
     private Long libTypeId;//标签类型id
     private String libTypeName;//标签类型名称
     private Integer type;//questionType

+ 3 - 1
icss-service/src/main/java/com/diagbot/dto/FeatureConceptDTO.java

@@ -12,5 +12,7 @@ import lombok.Setter;
 @Setter
 public class FeatureConceptDTO extends ConceptBaseDTO {
     private Integer libType;
+    private Integer type;
     private Long id;
-}
+    private Integer chronicLabel;//是否慢病复诊标志
+}

+ 37 - 0
icss-service/src/main/java/com/diagbot/dto/GetExportInquirysDTO.java

@@ -0,0 +1,37 @@
+package com.diagbot.dto;
+
+import java.util.Map;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: rengb
+ * @time: 2019/3/19 13:56
+ */
+@Getter
+@Setter
+public class GetExportInquirysDTO {
+	
+	/**
+	 * 序号
+	 */
+	private Integer lineNum;
+	
+    /**
+     * 病人性别
+     */
+    private String patientSex;
+	
+    /**
+     * 病人年龄
+     */
+    private Integer patientAge;
+    
+    /**
+     * 主诉到二次诊断
+     */
+    private Map<Integer,String> detailMap;
+
+}

+ 33 - 0
icss-service/src/main/java/com/diagbot/dto/HisInquirysForJzDTO.java

@@ -0,0 +1,33 @@
+package com.diagbot.dto;
+
+import java.util.List;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: rengb
+ * @time: 2018/11/19 18:56
+ */
+@ApiModel(value="急诊-历史病历列表接口出参")
+@Getter
+@Setter
+public class HisInquirysForJzDTO{
+	
+	/**
+	 * 总条数
+	 */
+	@ApiModelProperty(value="总条数")
+	private Long total;
+	
+	/**
+	 * 问诊记录列表
+	 */
+	@ApiModelProperty(value="问诊记录列表")
+	private List<HisInquirysForJzDetailDTO> inquiryList;
+	
+	
+}

+ 146 - 0
icss-service/src/main/java/com/diagbot/dto/HisInquirysForJzDetailDTO.java

@@ -0,0 +1,146 @@
+package com.diagbot.dto;
+
+import java.util.Date;
+import java.util.List;
+
+import com.diagbot.entity.InquiryDetail;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: rengb
+ * @time: 2018/11/19 18:56
+ */
+@Getter
+@Setter
+public class HisInquirysForJzDetailDTO{
+	
+    /**
+     * 问诊记录id
+     */
+	@ApiModelProperty(value="问诊记录id")
+    private Long inquiryId;
+	
+	/**
+     * 医生id
+     */
+	@ApiModelProperty(value="医生id")
+    private Long doctorId;
+	
+    /**
+     * 医生姓名
+     */
+	@ApiModelProperty(value="医生姓名")
+    private String doctorName;
+	
+	/**
+	 * 就诊日期
+	 */
+	@ApiModelProperty(value="就诊日期")
+	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+	private Date inquiryDate;
+	
+	/**
+	 * 就诊时间
+	 */
+	@ApiModelProperty(value="就诊时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	private Date inquiryTime;
+	
+    /**
+     * 诊断
+     */
+	@ApiModelProperty(value="诊断")
+    private String diagnose;
+	
+	/**
+     * 二次诊断的医生id
+     */
+	@ApiModelProperty(value="二次诊断的医生id")
+    private Long doctorIdSecond;
+	
+    /**
+     * 二次诊断的医生姓名
+     */
+	@ApiModelProperty(value="二次诊断的医生姓名")
+    private String doctorNameSecond;
+	
+	/**
+	 * 二次诊断的就诊时间
+	 */
+	@ApiModelProperty(value="二次诊断的就诊时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	private Date inquiryTimeSecond;
+	
+    /**
+     * 二次诊断的诊断
+     */
+	@ApiModelProperty(value="二次诊断的诊断")
+    private String diagnoseSecond;
+	
+    /**
+     * 门诊号
+     */
+	@ApiModelProperty(value="门诊号")
+    private String inquiryCode;
+	
+    /**
+     * 医院科室id
+     */
+	@ApiModelProperty(value="医院科室id")
+    private Long hospitalDeptId;
+	
+    /**
+     * 医院科室名称
+     */
+	@ApiModelProperty(value="医院科室名称")
+    private String hospitalDeptName;
+	
+	/**
+     * 病人id
+     */
+	@ApiModelProperty(value="病人id")
+    private Long patientId;
+	
+	/**
+     * 病人姓名
+     */
+	@ApiModelProperty(value="病人姓名")
+    private String patientName;
+	
+    /**
+     * 病人性别
+     */
+	@ApiModelProperty(value="病人性别")
+    private String patientSex;
+	
+    /**
+     * 病人年龄
+     */
+	@ApiModelProperty(value="病人年龄")
+    private Integer patientAge;
+	
+    /**
+     * 病人证件号码
+     */
+	@ApiModelProperty(value="病人证件号码")
+    private String patientIdNo;
+	
+    /**
+     * 内容JSON字符串
+     */
+	@ApiModelProperty(value="内容JSON字符串")
+    private String dataJson;
+    
+	/**
+     * 病历明细
+     */
+	@ApiModelProperty(value="病历明细")
+	private List<InquiryDetail> detailList;
+	
+	
+}

+ 37 - 2
icss-service/src/main/java/com/diagbot/dto/HospitalInfoDTO.java

@@ -1,6 +1,7 @@
 package com.diagbot.dto;
 
-import com.diagbot.entity.HospitalInfo;
+import java.util.List;
+
 import lombok.Getter;
 import lombok.Setter;
 
@@ -11,5 +12,39 @@ import lombok.Setter;
  */
 @Getter
 @Setter
-public class HospitalInfoDTO extends HospitalInfo {
+public class HospitalInfoDTO {
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 医院编码
+     */
+    private String code;
+
+    /**
+     * 医院名称
+     */
+    private String name;
+
+    /**
+     * 医院地址
+     */
+    private String address;
+
+    /**
+     * 医院名称拼音
+     */
+    private String spell;
+
+    /**
+     * 配置信息
+     */
+    private List<SysSetInfoDTO>  SysSetInfoData;
+
+    /**
+     * 备注
+     */
+    private String remark;
 }

+ 9 - 19
icss-service/src/main/java/com/diagbot/dto/IndexConfigDTO.java

@@ -12,28 +12,18 @@ import lombok.Setter;
 @Setter
 @Getter
 public class IndexConfigDTO {
-	private Long id;
 
-	/**
-	 * 指标公表名
-	 */
-	private String indexUnique;
-
-	/**
-	 * 疾病id
-	 */
-	private Long diseaseId;
+	private Long uniqueId;// 指标公表概念id
+	
+	private Long diseaseId;// 疾病概念id
 
-	private Long indexDesc;
-	/**
-	 * 显示顺序
-	 */
-	private Integer orderNo;
+	private Integer groupType;// 指标项组别
+	
+	private Integer orderNo;// 显示顺序
+	
+	private String indexUnique;// 指标公表名
 
-	/**
-	 * 备注
-	 */
-	private String remark;
+	private String diseaseName;// 疾病概念名
 	
 	
 }

+ 18 - 0
icss-service/src/main/java/com/diagbot/dto/LisDataDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import java.util.List;
+
+import com.diagbot.vo.LisExcelWrapperVO;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Setter
+@Getter
+public class LisDataDTO {
+	
+	private String hospitalCode;
+	private String groupName;
+	private List<LisExcelWrapperVO>  lisExcelWrapper;
+
+}

+ 23 - 0
icss-service/src/main/java/com/diagbot/dto/LisRetrieveDTO.java

@@ -0,0 +1,23 @@
+package com.diagbot.dto;
+
+import java.util.Date;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年5月27日 下午1:56:46
+ */
+@Setter
+@Getter
+public class LisRetrieveDTO {
+	
+	private String specimenType;//标本类型
+	private String groupName;//组名称
+	private String inspectDoctor;//送检医生
+	private Date inspectTime;//送检时间
+	private Date reportTime;//报告时间
+}

+ 45 - 0
icss-service/src/main/java/com/diagbot/dto/LisRetrieveListAllDTO.java

@@ -0,0 +1,45 @@
+package com.diagbot.dto;
+
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年5月27日 下午2:01:51
+ */
+@Setter
+@Getter
+public class LisRetrieveListAllDTO {
+	
+	private String patientNum;//门诊号
+	/**
+     * 患者姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private Integer sex;
+    
+    /**
+     * 年龄
+     */
+    private Integer agr;
+    /**
+     * 送检开始时间
+     */
+    private String startTime;
+    
+    /**
+     * 送检结束时间
+     */
+    private String endTime;
+    
+	private List<LisRetrieveDTO>  lisRetrieveData;
+
+}

+ 21 - 0
icss-service/src/main/java/com/diagbot/dto/PacsDataDTO.java

@@ -0,0 +1,21 @@
+package com.diagbot.dto;
+
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年5月27日 下午4:42:01
+ */
+@Setter
+@Getter
+public class PacsDataDTO {
+
+	private String hospitalCode;
+	private String checkItem;// 检查项目;
+	private List<PacsResultDTO>  pacsResultDTO;
+}

+ 19 - 0
icss-service/src/main/java/com/diagbot/dto/PacsResultDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年5月27日 下午4:43:38
+ */
+@Setter
+@Getter
+public class PacsResultDTO {
+
+	private String checkItem;// 检查项目
+	private String imagingResults;//影像所见
+	private String imagingDiagnose;//影像诊断
+}

+ 26 - 0
icss-service/src/main/java/com/diagbot/dto/PacsRetrieveDTO.java

@@ -0,0 +1,26 @@
+package com.diagbot.dto;
+
+import java.util.Date;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年5月27日 下午4:26:21
+ */
+@Setter
+@Getter
+public class PacsRetrieveDTO {
+
+	private String applicationNum;// 申请单号;
+	private String applicationDate;// 申请时间
+	private String checkItem;// 检查项目
+	private String CheckNum;// 检查号
+	private Integer type;// 类型
+	private String name;// 患者姓名
+	private Date inspectTime;// 送检时间
+	private Date reportTime;// 报告时间
+}

+ 44 - 0
icss-service/src/main/java/com/diagbot/dto/PacsRetrieveListAllDTO.java

@@ -0,0 +1,44 @@
+package com.diagbot.dto;
+
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年5月27日 下午2:53:44
+ */
+@Setter
+@Getter
+public class PacsRetrieveListAllDTO {
+
+	private String patientNum;//门诊号
+	/**
+     * 患者姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private Integer sex;
+    
+    /**
+     * 年龄
+     */
+    private Integer agr;
+    /**
+     * 送检开始时间
+     */
+    private String startTime;
+    
+    /**
+     * 送检结束时间
+     */
+    private String endTime;
+    
+	private List<PacsRetrieveDTO>  pacsRetrieveData;
+}

+ 1 - 1
icss-service/src/main/java/com/diagbot/dto/RetrievalDTO.java

@@ -16,7 +16,7 @@ public class RetrievalDTO {
     //标签id
     private Long questionId;
     //显示类型
-    private Integer showType;
+    private Long showType;
     //Tag名称
     private String retrievalName;
     //概念id

+ 44 - 0
icss-service/src/main/java/com/diagbot/dto/SysSetInfoDTO.java

@@ -0,0 +1,44 @@
+package com.diagbot.dto;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年6月12日 下午3:31:22
+ */
+@Setter
+@Getter
+public class SysSetInfoDTO {
+
+    /**
+     * 医院编码
+     */
+    private String hospitalCode;
+
+    /**
+     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
+     */
+    private Integer sysType;
+
+    /**
+     * 配置名称
+     */
+    private String name;
+    
+    /**
+     * 配置编码
+     */
+    private String code;
+    /**
+     * 配置值
+     */
+    private Integer value;
+}

+ 2 - 0
icss-service/src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -2,6 +2,7 @@ package com.diagbot.facade;
 
 import com.diagbot.client.bean.SearchData;
 import com.diagbot.enums.LisSourceEnum;
+import com.diagbot.enums.SysTypeEnum;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
@@ -47,6 +48,7 @@ public class AssembleFacade {
         searchData.setHosCode(pushVO.getHosCode());
         searchData.setSysCode("1");
         searchData.setLength(10);
+        searchData.setSysType(SysTypeEnum.ICSS_SERVICE.getKey());
 
         switch (pushVO.getSex()) {
             case 1:

+ 1 - 0
icss-service/src/main/java/com/diagbot/facade/BuriedSomeStatisticalFacade.java

@@ -24,6 +24,7 @@ public class BuriedSomeStatisticalFacade extends BuriedSomeStatisticalServiceImp
     @Autowired
     @Qualifier("buriedSomeStatisticalServiceImpl")
     private BuriedSomeStatisticalService buriedSomeStatisticalService;
+
     /**
      * 批量保存
      *

+ 11 - 12
icss-service/src/main/java/com/diagbot/facade/DisclaimerInformationFacade.java

@@ -10,7 +10,6 @@ import org.springframework.stereotype.Component;
 import java.util.List;
 
 /**
- * 
  * @author wangfeng
  * @Description: TODO
  * @date 2018年11月27日 下午3:36:14
@@ -18,16 +17,16 @@ import java.util.List;
 @Component
 public class DisclaimerInformationFacade {
 
-	@Autowired
-	private AiptServiceClient aiptServiceClient;
-	/**
-	 * 
-	 * @return
-	 */
-	public List<DisclaimerInformationDTO> getDisclaimerInformation() {
-		RespDTO<List<DisclaimerInformationDTO>> res =  aiptServiceClient.getDisclaimerInformations();
-		RespDTOUtil.respNGDealCover(res, "获取免责声明失败");
-		return res.data;
-	}
+    @Autowired
+    private AiptServiceClient aiptServiceClient;
+
+    /**
+     * @return
+     */
+    public List<DisclaimerInformationDTO> getDisclaimerInformation() {
+        RespDTO<List<DisclaimerInformationDTO>> res = aiptServiceClient.getDisclaimerInformations();
+        RespDTOUtil.respNGDealCover(res, "获取免责声明失败");
+        return res.data;
+    }
 
 }

+ 56 - 0
icss-service/src/main/java/com/diagbot/facade/DockingImportFacade.java

@@ -0,0 +1,56 @@
+package com.diagbot.facade;
+
+import com.diagbot.client.TranServiceClient;
+import com.diagbot.dto.LisDataDTO;
+import com.diagbot.dto.LisRetrieveListAllDTO;
+import com.diagbot.dto.PacsDataDTO;
+import com.diagbot.dto.PacsRetrieveListAllDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.util.RespDTOUtil;
+import com.diagbot.vo.LisArgumentsVO;
+import com.diagbot.vo.LisGroupNameVO;
+import com.diagbot.vo.PacsArgumentsVO;
+import com.diagbot.vo.PacsCheckItemVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年5月27日 上午11:09:20
+ */
+@Component
+public class DockingImportFacade {
+
+    @Autowired
+    TranServiceClient tranServiceClient;
+
+    /**
+     * @param lisArgumentsVO
+     * @return
+     */
+    public LisRetrieveListAllDTO lisDockingImport(LisArgumentsVO lisArgumentsVO) {
+        RespDTO<LisRetrieveListAllDTO> lisDataVOList = tranServiceClient.getLisDatas(lisArgumentsVO);
+        RespDTOUtil.respNGDeal(lisDataVOList, "导入化验数据失败!");
+        return lisDataVOList.data;
+    }
+
+    public LisDataDTO getByGroupNameLisDatas(LisGroupNameVO lisGroupNameVO) {
+        RespDTO<LisDataDTO> lisDataVOList = tranServiceClient.getByGroupNameLisData(lisGroupNameVO);
+        RespDTOUtil.respNGDeal(lisDataVOList, "导入化验数据失败!");
+        return lisDataVOList.data;
+    }
+
+    public PacsRetrieveListAllDTO pacsDockingImports(PacsArgumentsVO pacsArgumentsVO) {
+        RespDTO<PacsRetrieveListAllDTO> lisDataVOList = tranServiceClient.pacsDockingImports(pacsArgumentsVO);
+        RespDTOUtil.respNGDeal(lisDataVOList, "导入化验数据失败!");
+        return lisDataVOList.data;
+    }
+
+    public PacsDataDTO getByCheckItemPacsDatas(PacsCheckItemVO pacsGroupNameVO) {
+        RespDTO<PacsDataDTO> lisDataVOList = tranServiceClient.getByCheckItemPacsDatas(pacsGroupNameVO);
+        RespDTOUtil.respNGDeal(lisDataVOList, "导入化验数据失败!");
+        return lisDataVOList.data;
+    }
+
+}

+ 8 - 12
icss-service/src/main/java/com/diagbot/facade/DoctorPageModeFacade.java

@@ -1,18 +1,8 @@
 package com.diagbot.facade;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.validation.Valid;
-
-import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.diagbot.dto.DoctorPageModeDTO;
-import com.diagbot.dto.TemplateInfoDTO;
 import com.diagbot.entity.DoctorPageMode;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.DoctorPageModeServiceImpl;
@@ -20,6 +10,12 @@ import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.vo.DoctorIdVO;
 import com.diagbot.vo.DoctorPageModeVO;
+import org.springframework.stereotype.Component;
+
+import javax.validation.Valid;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @author wangfeng
@@ -46,7 +42,7 @@ public class DoctorPageModeFacade extends DoctorPageModeServiceImpl {
         boolean res = false;
         if (datas != null) {
             UpdateWrapper<DoctorPageMode> doctorPageModeUpdate = new UpdateWrapper<>();
-            doctorPageModeUpdate.eq("id",datas.getId())
+            doctorPageModeUpdate.eq("id", datas.getId())
                     .set("mode_classify", doctorPageModeVO.getModeClassify())
                     .set("mode_value", doctorPageModeVO.getModeValue())
                     .set("modifier", doctorPageModeVO.getDoctorId().toString())
@@ -79,7 +75,7 @@ public class DoctorPageModeFacade extends DoctorPageModeServiceImpl {
         mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
         doctorPageModeWrapper.allEq(mapAll);
         List<DoctorPageMode> doctorPageModeData = list(doctorPageModeWrapper);
-        List<DoctorPageModeDTO> data =  BeanUtil.listCopyTo(doctorPageModeData, DoctorPageModeDTO.class);
+        List<DoctorPageModeDTO> data = BeanUtil.listCopyTo(doctorPageModeData, DoctorPageModeDTO.class);
         return data;
     }
 

+ 19 - 24
icss-service/src/main/java/com/diagbot/facade/EvaluationModuleMappingFacade.java

@@ -12,36 +12,31 @@ import org.springframework.stereotype.Component;
 import java.util.List;
 
 /**
- * 
  * @author wangfeng
- * 
  * @Description: TODO
  * @date 2019年3月11日 下午4:19:09
  */
 @Component
 public class EvaluationModuleMappingFacade {
 
-	/*@Autowired
-	IndexConfigFacade indexConfigFacade;
-	*/
-	@Autowired
-	PushFacade pushFacade;
-	@Autowired
-	AiptServiceClient aiptServiceClient;
-	@Autowired
-	AssembleFacade assembleFacade;
+    @Autowired
+    PushFacade pushFacade;
+    @Autowired
+    AiptServiceClient aiptServiceClient;
+    @Autowired
+    AssembleFacade assembleFacade;
 
-	/**
-	 * 获取管理与评估模板接口
-	 *
-	 * @param evaluationdiseaseNameVO
-	 * @return
-	 */
-	public List<EvaluationDTO> getEvaluationModule(EvaluationDiseaseNameVO evaluationdiseaseNameVO) {
-		SearchData searchData = assembleFacade.assembleData(evaluationdiseaseNameVO);
-		RespDTO<List<EvaluationDTO>> evaluationList = aiptServiceClient.getEvaluationModules(searchData);
-		RespDTOUtil.respNGDeal(evaluationList, "获取管理与评估模板数据失败!");
-		List<EvaluationDTO> datas = evaluationList.data;
-		return datas;
-	}
+    /**
+     * 获取管理与评估模板接口
+     *
+     * @param evaluationdiseaseNameVO
+     * @return
+     */
+    public List<EvaluationDTO> getEvaluationModule(EvaluationDiseaseNameVO evaluationdiseaseNameVO) {
+        SearchData searchData = assembleFacade.assembleData(evaluationdiseaseNameVO);
+        RespDTO<List<EvaluationDTO>> evaluationList = aiptServiceClient.getEvaluationModules(searchData);
+        RespDTOUtil.respNGDeal(evaluationList, "获取管理与评估模板数据失败!");
+        List<EvaluationDTO> datas = evaluationList.data;
+        return datas;
+    }
 }

+ 5 - 1
icss-service/src/main/java/com/diagbot/facade/FeatureFacade.java

@@ -39,7 +39,11 @@ public class FeatureFacade {
         RespDTO<List<FeatureConceptDTO>> res = aiptServiceClient.symptomFeature(text);
         RespDTOUtil.respNGDealCover(res, "AI没有返回结果");
         List<FeatureConceptDTO> symptomFeatureList = res.data;
-        symptomFeatureList = addQuestionId(symptomFeatureList, ConceptTypeEnum.Symptom.getKey());
+        if (ListUtil.isNotEmpty(symptomFeatureList)) {
+            if (!symptomFeatureList.get(0).getChronicLabel().equals(1)) {
+                symptomFeatureList = addQuestionId(symptomFeatureList, ConceptTypeEnum.Symptom.getKey());
+            }
+        }
         return symptomFeatureList;
     }
 

+ 0 - 0
icss-service/src/main/java/com/diagbot/facade/HospitalDeptFacade.java


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio