Browse Source

经典病例后台完整功能+相似病例

xiewei 11 months ago
parent
commit
cc2800f83b

+ 0 - 40
src/main/java/com/diagbot/dto/ClassicCaseDTO.java

@@ -1,40 +0,0 @@
-package com.diagbot.dto;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * @Description:
- * @Author:zhaops
- * @time: 2020/8/20 15:51
- */
-@Getter
-@Setter
-public class ClassicCaseDTO {
-    /**
-     * 标准术语id
-     */
-    private Long id;
-    /**
-     * 标准术语
-     */
-    private String name;
-
-    /**
-     * 词性
-     */
-    private String type;
-
-    /**
-     * 静态知识明细
-     */
-    private Map<String, List<ClassicCaseDTO>> details;
-
-    /**
-     * 量表结构
-     */
-    private ConceptScaleDTO scale;
-}

+ 0 - 43
src/main/java/com/diagbot/dto/ClassicCaseDetailDTO.java

@@ -1,43 +0,0 @@
-package com.diagbot.dto;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @Description:
- * @Author:zhaops
- * @time: 2021/2/24 13:39
- */
-@Getter
-@Setter
-public class ClassicCaseDetailDTO {
-    /**
-     * 提示概念id
-     */
-    private Long conceptId;
-
-    /**
-     * 提示明细标题
-     */
-    private String title;
-
-    /**
-     * 提示明细内容
-     */
-    private String content;
-
-    /**
-     * 纯文本
-     */
-    private String text;
-
-    /**
-     * 提示明细序号
-     */
-    private Integer orderNo;
-
-    /**
-     * 内容类型(多选):1-化验、辅检、手术和操作、诊断、药品静态信息,2-注意事项,3-临床路径,4-治疗方案,5-诊疗指南
-     */
-    private String contentType;
-}

+ 2 - 0
src/main/java/com/diagbot/dto/PushDTO.java

@@ -41,6 +41,8 @@ public class PushDTO {
     private List<TreatDTO> treat = new ArrayList<>();
     //推送量表
     private List<PushScaleDTO> scale = Lists.newArrayList();
+    //经典病例
+    private List<PushBaseDTO> classicCase = new ArrayList<>();
 
     // 记录调试信息
     private Map<String, Object> debug = new LinkedHashMap<>();

+ 15 - 16
src/main/java/com/diagbot/facade/KlConceptStaticFacade.java

@@ -22,6 +22,7 @@ import lombok.val;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -59,28 +60,25 @@ public class KlConceptStaticFacade {
     public List<StaticKnowledgeIndexDTO> staticKnowledgeIndex(StaticKnowledgeIndexVO staticKnowledgeIndexVO) {
         List<StaticKnowledgeIndexDTO> retList = Lists.newLinkedList();
         List<ClassicCaseIndexDTO> cases = Lists.newLinkedList();
+        RespDTO<List<ClassicCaseIndexDTO>> caseDTO = RespDTO.onSuc(new ArrayList<>(0));
+        RespDTO<List<StaticKnowledgeIndexDTO>> respDTO = RespDTO.onSuc(new ArrayList<>(0));
 
-        RespDTO<List<ClassicCaseIndexDTO>> caseDTO = cdssCoreClient.classicCaseIndex(staticKnowledgeIndexVO);
-        if(staticKnowledgeIndexVO.getTypes().contains(11))
-            staticKnowledgeIndexVO.getTypes().remove(staticKnowledgeIndexVO.getTypes().indexOf(11));
-        RespDTO<List<StaticKnowledgeIndexDTO>> respDTO = cdssCoreClient.staticKnowledgeIndex(staticKnowledgeIndexVO);
+        if (staticKnowledgeIndexVO.getTypes().contains(0) ||
+                staticKnowledgeIndexVO.getTypes().contains(11) ||
+                staticKnowledgeIndexVO.getTypes().isEmpty()) {
+            caseDTO = cdssCoreClient.classicCaseIndex(staticKnowledgeIndexVO);
+            if (staticKnowledgeIndexVO.getTypes().contains(11) && staticKnowledgeIndexVO.getTypes().size() > 1)
+                staticKnowledgeIndexVO.getTypes().remove(staticKnowledgeIndexVO.getTypes().indexOf(11));
+        }
+        if (!staticKnowledgeIndexVO.getTypes().contains(11))
+            respDTO = cdssCoreClient.staticKnowledgeIndex(staticKnowledgeIndexVO);
 
         if (RespDTOUtil.respIsOK(respDTO)) {
             retList = respDTO.data;
             if (RespDTOUtil.respIsOK(caseDTO)) {
-                cases = caseDTO.data;
-                for (ClassicCaseIndexDTO classicCase : cases){
+                for (ClassicCaseIndexDTO classicCase : caseDTO.data) {
                     StaticKnowledgeIndexDTO dto = new StaticKnowledgeIndexDTO();
-                    dto.setId(classicCase.getId());
-                    dto.setName(classicCase.getName());
-                    dto.setType(classicCase.getType());
-                    dto.setTypeName(classicCase.getTypeName());
-                    dto.setRetrievalName(classicCase.getRetrievalName());
-                    dto.setHasInfo(classicCase.getHasInfo());
-                    dto.setStatus(classicCase.getStatus());
-                    dto.setCode(null);
-                    dto.setGuocode(null);
-                    dto.setGuoname(null);
+                    BeanUtil.copyProperties(classicCase, dto);
                     retList.add(dto);
                 }
             }
@@ -258,6 +256,7 @@ public class KlConceptStaticFacade {
         }
         return success;
     }
+
     /**
      * 启用禁用
      *

+ 11 - 0
src/main/java/com/diagbot/facade/PushFacade.java

@@ -174,6 +174,9 @@ public class PushFacade {
         if (ListUtil.isNotEmpty(pushDTO.getNurse())) {
             conceptBaseList.addAll(pushDTO.getNurse());
         }
+        if (ListUtil.isNotEmpty(pushDTO.getClassicCase())) {
+            conceptBaseList.addAll(pushDTO.getClassicCase());
+        }
         if (ListUtil.isNotEmpty(conceptBaseList)) {
             conceptNameList = conceptBaseList.stream()
                     .map(i -> i.getName())
@@ -260,6 +263,14 @@ public class PushFacade {
                     }
                 });
             }
+            if (ListUtil.isNotEmpty(pushDTO.getClassicCase())) {
+                pushDTO.getClassicCase().forEach(item -> {
+                    item.setType(11);
+                    if (conceptDetailMap.containsKey(item.getName() + "_" + dicStaticTypeValNameMap.get("11"))) {
+                        item.setHasInfo(1);
+                    }
+                });
+            }
         }
 
         //量表

+ 1 - 1
src/main/java/com/diagbot/web/PushController.java

@@ -35,7 +35,7 @@ public class PushController {
 
     @ApiOperation(value = "基础推理[by:zhaops]",
             notes = "featureType 类型(多选必填),1:症状,4:查体结果,5:检验,6:检查," +
-                    "7:诊断,8:药品,9:手术,10:一般治疗, 12:量表,13:护理" +
+                    "7:诊断,8:药品,9:手术,10:一般治疗, 12:量表,13:护理,14:经典病例" +
                     "<br>注意:11:管理评估,22:指标推送 这2个类型原5.0系统已占" +
                     "<br>getStaticKnowledge 是否获取静态知识 0:不获取,1:获取")
     @PostMapping("/push")