浏览代码

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

wangyu 6 年之前
父节点
当前提交
3cac314527
共有 23 个文件被更改,包括 102 次插入31 次删除
  1. 24 0
      aipt-service/src/main/java/com/diagbot/client/AIServiceClient.java
  2. 6 0
      aipt-service/src/main/java/com/diagbot/client/NLPServiceClient.java
  3. 1 0
      aipt-service/src/main/java/com/diagbot/client/bean/MedicalIndication.java
  4. 2 0
      aipt-service/src/main/java/com/diagbot/client/bean/MedicitionClass.java
  5. 24 0
      aipt-service/src/main/java/com/diagbot/client/hystrix/AIServiceHystrix.java
  6. 6 0
      aipt-service/src/main/java/com/diagbot/client/hystrix/NLPServiceHystrix.java
  7. 1 0
      aipt-service/src/main/java/com/diagbot/dto/ConceptPushDTO.java
  8. 4 0
      aipt-service/src/main/java/com/diagbot/facade/ClinicalFacade.java
  9. 2 1
      aipt-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java
  10. 4 1
      aipt-service/src/main/java/com/diagbot/facade/PushFacade.java
  11. 5 4
      aipt-service/src/main/java/com/diagbot/facade/TreatmentFacade.java
  12. 1 0
      aipt-service/src/main/java/com/diagbot/vo/ConceptIntroduceVO.java
  13. 3 1
      aipt-service/src/main/java/com/diagbot/web/ConceptDetailController.java
  14. 1 0
      data-service/src/main/java/com/diagbot/client/bean/MedicalIndication.java
  15. 1 0
      data-service/src/main/java/com/diagbot/dto/ConceptPushDTO.java
  16. 5 1
      data-service/src/main/java/com/diagbot/vo/ConceptIntroduceVO.java
  17. 1 1
      data-service/src/main/java/com/diagbot/web/ConceptDetailController.java
  18. 3 0
      icss-service/src/main/java/com/diagbot/client/bean/MedicalIndication.java
  19. 1 0
      icss-service/src/main/java/com/diagbot/dto/ConceptPushDTO.java
  20. 0 19
      icss-service/src/main/java/com/diagbot/dto/MedicalIndicationDTO.java
  21. 4 1
      icss-service/src/main/java/com/diagbot/vo/ConceptIntroduceVO.java
  22. 1 1
      icss-service/src/main/java/com/diagbot/web/ConceptDetailController.java
  23. 2 1
      knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

+ 24 - 0
aipt-service/src/main/java/com/diagbot/client/AIServiceClient.java

@@ -19,15 +19,39 @@ import java.util.Map;
  */
 @FeignClient(name = "AI", url = "${ai.server.address}", fallback = AIServiceHystrix.class)
 public interface AIServiceClient {
+    /**
+     * 推理
+     *
+     * @param searchVo
+     * @return
+     */
     @PostMapping(value = "/push-web/algorithm/neural")
     Response<ResponseData> bayesPageData(@RequestBody SearchVo searchVo);
 
+    /**
+     * 量表推理
+     *
+     * @param searchVo
+     * @return
+     */
     @PostMapping(value = "/push-web/graph/scale")
     Map<String, Object> scale(@RequestBody SearchVo searchVo);
 
+    /**
+     * 高危诊断
+     *
+     * @param searchVo
+     * @return
+     */
     @PostMapping(value = "/push-web/graph/highRisk")
     Response<GdbResponse> highRiskPageData(@RequestBody SearchVo searchVo);
 
+    /**
+     * 计算接口
+     *
+     * @param calculateData
+     * @return
+     */
     @PostMapping(value = "/push-web/graph/scaleCalc")
     Map<String, Object> scaleCalc(@RequestBody CalculateData calculateData);
 }

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

@@ -16,6 +16,12 @@ import java.util.Map;
  */
 @FeignClient(name = "NLP", url = "${nlp.server.address}", fallback = NLPServiceHystrix.class)
 public interface NLPServiceClient {
+    /**
+     * 症状特征提取
+     *
+     * @param text
+     * @return
+     */
     @PostMapping(value = "/nlp-web/feature/find_symptom_feature")
     Response<List<Map<String, Object>>> symptomFeaturePageData(@RequestParam("text") String text);
 }

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

@@ -16,6 +16,7 @@ import java.util.List;
 public class MedicalIndication {
     private Long conceptId;
     private Integer libType;
+    private Integer type;
     private String name;
     private List<MedicalIndicationDetail> details;
 }

+ 2 - 0
aipt-service/src/main/java/com/diagbot/client/bean/MedicitionClass.java

@@ -18,8 +18,10 @@ public class MedicitionClass {
     private Long bigdrugsConceptId;//药品分类概念id-大类
     private String bigdrugsName;//药类名
     private Integer bigdrgusLibType;
+    private Integer bigdrugsType;
     private Long subdrugsConceptId;//药品分类概念id-小类
     private String subdrugsName;//药类名-小类
     private Integer subdrugsLibType;
+    private Integer subdrugsType;
     private LinkedList<Medicition> medicitionsList;
 }

+ 24 - 0
aipt-service/src/main/java/com/diagbot/client/hystrix/AIServiceHystrix.java

@@ -20,24 +20,48 @@ import java.util.Map;
 @Component
 @Slf4j
 public class AIServiceHystrix implements AIServiceClient {
+    /**
+     * 推理
+     *
+     * @param searchVo
+     * @return
+     */
     @Override
     public Response<ResponseData> bayesPageData(SearchVo searchVo) {
         log.error("【hystrix】调用{}异常", "bayesPageData");
         return null;
     }
 
+    /**
+     * 量表推理
+     *
+     * @param searchVo
+     * @return
+     */
     @Override
     public Map<String, Object> scale(@RequestBody SearchVo searchVo) {
         log.error("【hystrix】调用{}异常", "scale");
         return null;
     }
 
+    /**
+     * 高危诊断
+     *
+     * @param searchVo
+     * @return
+     */
     @Override
     public Response<GdbResponse> highRiskPageData(@RequestBody SearchVo searchVo) {
         log.error("【hystrix】调用{}异常", "highRiskPageData");
         return null;
     }
 
+    /**
+     * 计算接口
+     *
+     * @param calculateData
+     * @return
+     */
     @Override
     public Map<String, Object> scaleCalc(@RequestBody CalculateData calculateData) {
         log.error("【hystrix】调用{}异常", "scaleCalc");

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

@@ -18,6 +18,12 @@ import java.util.Map;
 @Slf4j
 public class NLPServiceHystrix implements NLPServiceClient {
 
+    /**
+     * 症状特征提取
+     *
+     * @param text
+     * @return
+     */
     @Override
     public Response<List<Map<String, Object>>> symptomFeaturePageData(@RequestParam("text") String text) {
         log.error("【hystrix】调用{}异常", "symptomFeaturePageData");

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

@@ -14,4 +14,5 @@ public class ConceptPushDTO extends ConceptBaseDTO {
     private Integer libType;
     //数据服务模式调用方名称
     private String clientName;
+    private Integer type;
 }

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

@@ -8,10 +8,12 @@ import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.dto.LisResult;
 import com.diagbot.entity.ScaleContent;
+import com.diagbot.entity.SysLog;
 import com.diagbot.enums.ScaleTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.ScaleContentService;
+import com.diagbot.util.DateUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.vo.SearchVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -61,7 +63,9 @@ 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没有返回结果");
         }

+ 2 - 1
aipt-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java

@@ -44,7 +44,7 @@ public class ConceptDetailFacade extends ConceptDetailServiceImpl {
         if (StringUtil.isBlank(conceptIntroduceVO.getName())) {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入概念名称");
         }
-        conceptIntroduceVO.setLibType(ParamConvertUtil.conceptConvert2Lib(conceptIntroduceVO.getLibType()));
+        conceptIntroduceVO.setLibType(ParamConvertUtil.conceptConvert2Lib(conceptIntroduceVO.getType()));
         //验证存在并且获取概念基本信息
         Concept concept = conceptFacade.exist(conceptIntroduceVO);
 
@@ -78,6 +78,7 @@ public class ConceptDetailFacade extends ConceptDetailServiceImpl {
      * @return
      */
     public List<ConceptDetail> getConceptDetailList(ConceptIntroduceVO conceptIntroduceVO) {
+        conceptIntroduceVO.setLibType(ParamConvertUtil.conceptConvert2Lib(conceptIntroduceVO.getType()));
         //验证存在并且获取概念基本信息
         Concept concept = conceptFacade.exist(conceptIntroduceVO);
 

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

@@ -203,6 +203,8 @@ public class PushFacade {
             ConceptBaseVO conceptBaseVO = new ConceptBaseVO();
             if (ListUtil.isNotEmpty(medicalIndicationList)) {
                 for (MedicalIndication medicalIndication : medicalIndicationList) {
+                    medicalIndication.setLibType(LexiconTypeEnum.CORE_INDICATORS.getKey());
+                    medicalIndication.setType(ConceptTypeEnum.Indication.getKey());
                     //关联概念,增加概念id
                     conceptBaseVO.setName(medicalIndication.getName());
                     conceptBaseVO.setLibType(LexiconTypeEnum.CORE_INDICATORS.getKey());
@@ -297,7 +299,8 @@ public class PushFacade {
         for (String name : nameList) {
             ConceptPushDTO conceptDTO = new ConceptPushDTO();
             conceptDTO.setName(name);
-            conceptDTO.setLibType(ParamConvertUtil.libConvert2Concept(libType));
+            conceptDTO.setLibType(libType);
+            conceptDTO.setType(ParamConvertUtil.libConvert2Concept(libType));
             if (conceptMap.containsKey(name) && conceptMap.get(name) != null) {
                 Concept concept = conceptMap.get(name);
                 conceptDTO.setConceptId(concept.getId());

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

@@ -52,7 +52,6 @@ public class TreatmentFacade {
      */
     public Map<String, Object> getTreatment(Map<String, JSONObject> treatmentMap, String diseaseName, Integer disType) {
         Map<String, Object> retMap = new LinkedHashMap<>();
-        QueryWrapper<Concept> conceptQueryWrapper = new QueryWrapper<>();
         ConceptBaseVO conceptBaseVO = new ConceptBaseVO();
         conceptBaseVO.setName(diseaseName);
         conceptBaseVO.setLibType(LexiconTypeEnum.DIAGNOSIS.getKey());
@@ -72,6 +71,7 @@ public class TreatmentFacade {
         conceptIntroduceVO.setName(diseaseName);
         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();
@@ -112,13 +112,14 @@ public class TreatmentFacade {
             if (cateBigConcept != null) {
                 medicitionClass.setBigdrugsConceptId(cateBigConcept.getId());
             }
-            medicitionClass.setBigdrgusLibType(ConceptTypeEnum.Drug_Category_Big.getKey());
+            medicitionClass.setBigdrgusLibType(LexiconTypeEnum.DRUG_CATEGORY_BIG.getKey());
+            medicitionClass.setBigdrugsType(ConceptTypeEnum.Drug_Category_Big.getKey());
             Concept cateSmallConcept = cateSmallConceptMap.get(medicitionClass.getSubdrugsName());
             if (cateSmallConcept != null) {
                 medicitionClass.setSubdrugsConceptId(cateSmallConcept.getId());
             }
-            medicitionClass.setSubdrugsLibType(ConceptTypeEnum.Drug_Category_Small.getKey());
-
+            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());

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

@@ -16,4 +16,5 @@ import java.util.List;
 public class ConceptIntroduceVO extends ConceptBaseVO {
     private Integer position;
     private List<String> titles;
+    private Integer type;
 }

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

@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
 
@@ -38,7 +39,7 @@ public class ConceptDetailController {
     @ApiOperation(value = "知识库标准化-获取提示信息[by:zhaops]",
             notes = "name: 标签名称,必填<br>" +
                     "titles: 标题,数组选填<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>" +
                     "position:展示位置(1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书,6-不良反应,7-描述信息(智能分诊症状提示信息)),单选选填")
     @PostMapping("/getConceptDetail")
     @SysLogger("getConceptDetail")
@@ -52,6 +53,7 @@ public class ConceptDetailController {
                     "libType:标签类型(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);

+ 1 - 0
data-service/src/main/java/com/diagbot/client/bean/MedicalIndication.java

@@ -16,6 +16,7 @@ import java.util.List;
 public class MedicalIndication {
     private Long conceptId;
     private Integer libType;
+    private Integer type;
     private String name;
     private List<MedicalIndicationDetail> details;
 }

+ 1 - 0
data-service/src/main/java/com/diagbot/dto/ConceptPushDTO.java

@@ -13,4 +13,5 @@ import lombok.Setter;
 public class ConceptPushDTO extends ConceptBaseDTO {
     private Integer libType;  //词性
     private String clientName;//数据服务模式调用方名称
+    private Integer type;
 }

+ 5 - 1
data-service/src/main/java/com/diagbot/vo/ConceptIntroduceVO.java

@@ -4,6 +4,7 @@ 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;
 
@@ -14,11 +15,14 @@ import java.util.List;
  */
 @Getter
 @Setter
-public class ConceptIntroduceVO extends ConceptBaseVO {
+public class ConceptIntroduceVO {
     //此版本暂不提供该过滤条件
     @ApiModelProperty(hidden = true)
     private Integer position;
     //此版本暂不提供该过滤条件
     @ApiModelProperty(hidden = true)
     private List<String> titles;
+    private Integer type;
+    @NotBlank(message = "概念名称不能为空")
+    private String name;
 }

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

@@ -30,7 +30,7 @@ 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>" +
                     "titles:提示信息标题列表,数组选填<br>" +
                     "position:展示位置(1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书,6-不良反应,7-描述信息(智能分诊症状提示信息)),单选选填")
     @PostMapping("/getConceptDetail")

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

@@ -14,6 +14,9 @@ import java.util.List;
 @Getter
 @Setter
 public class MedicalIndication {
+    private Long conceptId;
+    private Integer libType;
+    private Integer type;
     private String name;
     private List<MedicalIndicationDetail> details;
 }

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

@@ -13,4 +13,5 @@ import lombok.Setter;
 public class ConceptPushDTO extends ConceptBaseDTO {
     private Integer libType;  //词性
     private Long id;          //标签id
+    private Integer type;
 }

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

@@ -1,19 +0,0 @@
-package com.diagbot.dto;
-
-import com.diagbot.client.bean.MedicalIndication;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.List;
-
-/**
- * @Description: 指标推送结果
- * @Author:zhaops
- * @time: 2019/3/14 14:44
- */
-@Getter
-@Setter
-public class MedicalIndicationDTO extends MedicalIndication{
-    private Long id;
-    private String tagName;
-}

+ 4 - 1
icss-service/src/main/java/com/diagbot/vo/ConceptIntroduceVO.java

@@ -1,5 +1,6 @@
 package com.diagbot.vo;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -16,8 +17,10 @@ import javax.validation.constraints.NotNull;
 public class ConceptIntroduceVO {
     @NotBlank(message = "概念名称不能为空")
     private String name;
-    @NotNull(message = "词性不能为空")
+    @ApiModelProperty(hidden = true)
     private Integer libType;
     @NotNull(message = "请输入展示位置")
     private Integer position;
+    @NotNull(message = "词性不能为空")
+    private Integer type;
 }

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

@@ -34,7 +34,7 @@ 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>" +
                     "position:展示位置(1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书,6-不良反应,7-描述信息(智能分诊症状提示信息)),单选必填")
     @PostMapping("/getConceptDetail")
     @SysLogger("getConceptDetail")

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

@@ -212,7 +212,8 @@ public class ConceptFacade extends ConceptServiceImpl {
 
         for (Concept i : conceptList) {
             if (reCouMap.get(i.getId()) != null
-                    || (getAllForRelationVO.getExcludedConceptIds() != null && getAllForRelationVO.getExcludedConceptIds().contains(i.getId()))) {
+                    || (getAllForRelationVO.getExcludedConceptIds() != null && getAllForRelationVO.getExcludedConceptIds().contains(i.getId()))
+                    || (getAllForRelationVO.getRelationConceptId() != null && getAllForRelationVO.getRelationConceptId() == i.getId())) {
                 continue;
             }
             GetAllForRelationDTO getAllForRelationDTO = new GetAllForRelationDTO();