瀏覽代碼

1、推送结果关联量表
2、量表结构获取

zhaops 4 年之前
父節點
當前提交
a0cc4824d8

+ 10 - 0
src/main/java/com/diagbot/client/CdssCoreClient.java

@@ -3,6 +3,7 @@ package com.diagbot.client;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.client.hystrix.CdssCoreHystrix;
 import com.diagbot.dto.ConceptDetailDTO;
+import com.diagbot.dto.ConceptScaleDTO;
 import com.diagbot.dto.DictionaryInfoDTO;
 import com.diagbot.dto.GetAllForRelationDTO;
 import com.diagbot.dto.IndicationDTO;
@@ -184,6 +185,15 @@ public interface CdssCoreClient {
     @PostMapping("/kl/conceptStatic/getDetailByConcept")
     RespDTO<Map<String, List<ConceptDetailDTO>>> getDetailByConcept(@Valid @RequestBody GetDetailVO getDetailVO);
 
+    /**
+     * 推理结果匹配量表
+     *
+     * @param getDetailVO
+     * @return
+     */
+    @PostMapping("/kl/conceptStatic/getScaleDetailByConcept")
+    RespDTO<Map<String, ConceptScaleDTO>> getScaleDetailByConcept(@RequestBody @Valid GetDetailVO getDetailVO);
+
     /**
      * 获取规则下拉菜单信息
      *

+ 14 - 0
src/main/java/com/diagbot/client/hystrix/CdssCoreHystrix.java

@@ -3,6 +3,7 @@ package com.diagbot.client.hystrix;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.client.CdssCoreClient;
 import com.diagbot.dto.ConceptDetailDTO;
+import com.diagbot.dto.ConceptScaleDTO;
 import com.diagbot.dto.DictionaryInfoDTO;
 import com.diagbot.dto.GetAllForRelationDTO;
 import com.diagbot.dto.IndicationDTO;
@@ -231,11 +232,24 @@ public class CdssCoreHystrix implements CdssCoreClient {
      * @param getDetailVO
      * @return
      */
+    @Override
     public RespDTO<Map<String, List<ConceptDetailDTO>>> getDetailByConcept(@Valid @RequestBody GetDetailVO getDetailVO) {
         log.error("【hystrix】调用{}异常", "getDetailByConcept");
         return null;
     }
 
+    /**
+     * 推理结果匹配量表
+     *
+     * @param getDetailVO
+     * @return
+     */
+    @Override
+    public RespDTO<Map<String, ConceptScaleDTO>> getScaleDetailByConcept(@RequestBody @Valid GetDetailVO getDetailVO) {
+        log.error("【hystrix】调用{}异常", "getScaleDetailByConcept");
+        return null;
+    }
+
     @Override
     public RespDTO<List<KlRuleMenuWrapper>> getMenus(KlRuleMenuVO klRuleMenuVO) {
         log.error("【hystrix】调用{}异常", "getMenus");

+ 17 - 0
src/main/java/com/diagbot/dto/ConceptScaleDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/5/12 13:50
+ */
+@Getter
+@Setter
+public class ConceptScaleDTO {
+    List<ConceptScaleSubDTO> scaleDetails;
+}

+ 100 - 0
src/main/java/com/diagbot/dto/ConceptScaleDetailDTO.java

@@ -0,0 +1,100 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/5/12 13:54
+ */
+@Getter
+@Setter
+public class ConceptScaleDetailDTO {
+    /**
+     * 下级
+     */
+    private List<ConceptScaleSubDTO> subList = new ArrayList<>();
+
+    private Long id;
+    /**
+     * -1:表示顶级,其他值表示上级id
+     */
+    private Long parentId;
+
+    /**
+     * 内容
+     */
+    private String content;
+
+    /**
+     * 编码
+     */
+    private String ruleCode;
+
+    /**
+     * 扣分
+     */
+    private BigDecimal score;
+
+    /**
+     * 0表格1有分数2无分数
+     */
+    private Integer textType;
+
+    /**
+     * 选择类型(1单选2多选)
+     */
+    private Integer selectType;
+
+    /**
+     * 显示顺序
+     */
+    private Integer orderNo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 术语概念id
+     */
+    private Long conceptId;
+
+
+    /**
+     * 系数
+     */
+    private BigDecimal factor;
+
+    /**
+     * 常数
+     */
+    private BigDecimal constant;
+
+
+    /**
+     * 1:显示,0:不显示,2隐藏
+     */
+    private Integer status;
+
+    /**
+     * 组别互斥(同组互斥)
+     */
+    private Integer groupNum;
+
+    /**
+     * 结果
+     */
+    private String result;
+
+    /**
+     * 推送信息
+     */
+    private String pushInfo;
+}

+ 18 - 0
src/main/java/com/diagbot/dto/ConceptScaleSubDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/5/25 13:46
+ */
+@Getter
+@Setter
+public class ConceptScaleSubDTO {
+    private Integer groupNum;
+    private List<ConceptScaleDetailDTO> detailList;
+}

+ 6 - 1
src/main/java/com/diagbot/dto/PushBaseDTO.java

@@ -21,4 +21,9 @@ public class PushBaseDTO {
      * 是否有静态知识
      */
     private Integer hasInfo = 0;
-}
+
+    /**
+     * 是否有评估量表
+     */
+    private Integer hasScale = 0;
+}

+ 5 - 0
src/main/java/com/diagbot/dto/StaticKnowledgeDTO.java

@@ -42,4 +42,9 @@ public class StaticKnowledgeDTO {
      * 静态知识明细
      */
     private Map<String, List<StaticKnowledgeDetailDTO>> details;
+
+    /**
+     * 量表结构
+     */
+    private ConceptScaleDTO scale;
 }

+ 18 - 1
src/main/java/com/diagbot/facade/PushFacade.java

@@ -3,6 +3,7 @@ package com.diagbot.facade;
 import com.diagbot.client.CdssCoreClient;
 import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.ConceptDetailDTO;
+import com.diagbot.dto.ConceptScaleDTO;
 import com.diagbot.dto.DictionaryInfoDTO;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.PushBaseDTO;
@@ -21,7 +22,6 @@ import com.diagbot.vo.PushPlanVO;
 import com.diagbot.vo.PushVO;
 import com.diagbot.vo.SearchData;
 import com.google.common.collect.Lists;
-import org.apache.commons.collections4.ListUtils;
 import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -243,6 +243,23 @@ public class PushFacade {
                 });
             }
         }
+
+        //量表
+        if (ListUtil.isNotEmpty(pushDTO.getScale())) {
+            GetDetailVO scaleDetailVO = new GetDetailVO();
+            scaleDetailVO.setNameList(pushDTO.getScale().stream().map(PushBaseDTO::getName).distinct().collect(Collectors.toList()));
+            RespDTO<Map<String, ConceptScaleDTO>> respDTO = cdssCoreClient.getScaleDetailByConcept(scaleDetailVO);
+            if (RespDTOUtil.respIsOK(respDTO)) {
+                Map<String, ConceptScaleDTO> conceptScaleMap = respDTO.data;
+                if (ListUtil.isNotEmpty(pushDTO.getScale())) {
+                    pushDTO.getScale().forEach(item -> {
+                        if (conceptScaleMap.containsKey(item.getName() + "_" + dicStaticTypeValNameMap.get("8"))) {
+                            item.setHasScale(1);
+                        }
+                    });
+                }
+            }
+        }
         return pushDTO;
     }