ソースを参照

Merge remote-tracking branch 'origin/dev/triage20200319_shaoyifu' into innerDevelop

zhaops 5 年 前
コミット
3c8d2ad252

+ 14 - 2
knowledgeman-service/src/main/java/com/diagbot/dto/GetConceptInfoDTO.java

@@ -1,11 +1,11 @@
 package com.diagbot.dto;
 
-import java.util.List;
-
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * @Description
  * @author rgb
@@ -68,5 +68,17 @@ public class GetConceptInfoDTO {
      */
     @ApiModelProperty(value="诊断类型")
     private String classify;
+
+    /**
+     * 通俗解释
+     */
+    @ApiModelProperty(value="通俗解释")
+    private String description;
+
+    /**
+     * 详细说明
+     */
+    @ApiModelProperty(value="详细说明")
+    private String explains;
     
 }

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

@@ -552,6 +552,14 @@ public class ConceptFacade extends ConceptServiceImpl {
                 getConceptInfoDTO.setDeptId(disease.getDeptId());
                 getConceptInfoDTO.setClassify(disease.getClassify());
             }
+        } else if (LexiconTypeEnum.SYMPTOM.getKey() == concept.getLibType().intValue()) {
+            KlSymptom klSymptom = klSymptomFacade.getOne(new QueryWrapper<KlSymptom>()
+                    .eq("concept_id", concept.getId())
+                    .eq("is_deleted", IsDeleteEnum.N.getKey()), false);
+            if (klSymptom != null) {
+                getConceptInfoDTO.setDescription(klSymptom.getDescription());
+                getConceptInfoDTO.setExplains(klSymptom.getExplains());
+            }
         }
 
         return getConceptInfoDTO;

+ 7 - 2
triage-service/src/main/java/com/diagbot/facade/AIFacade.java

@@ -341,8 +341,12 @@ public class AIFacade {
                         if (StringUtil.isBlank(syfDiseaseDeptDTO.getDept())) {
                             continue;
                         }
-                        //第二个科室概率小于15%,剔除
-                        if (items.size() == 1 && Double.valueOf(syfDiseaseDeptDTO.getRate()) < 0.15d) {
+                        //第一个科室概率小于0.3,两个科室都推
+                        //第一个科室概率大于0.3,第二个科室概率大于等于0.15,两个都推
+                        //第一个科室概率大于0.3,第二个科室概率小于0.15,只推第一个
+                        if (items.size() == 1
+                                && Double.valueOf(items.get(0).getRate()) > 0.3d
+                                && Double.valueOf(syfDiseaseDeptDTO.getRate()) < 0.15d) {
                             break;
                         }
                         items.add(syfDiseaseDeptDTO);
@@ -350,6 +354,7 @@ public class AIFacade {
                 }
             }
         }
+        //按大科室分组展示
         Map<String, List<SYFDiseaseDeptDTO>> itemMap = EntityUtil.makeEntityListMap(items, "deptName");
         List<SYFDeptDTO> syfDeptDTOList = Lists.newLinkedList();
         itemMap.entrySet().forEach(item -> {