瀏覽代碼

检索bug修正

wangyu 6 年之前
父節點
當前提交
e54cab7b8a

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

@@ -292,6 +292,14 @@ public class ConceptFacade extends ConceptServiceImpl {
         RetrievalVO retrievalVO = new RetrievalVO();
         RetrievalDTO retrievalDTO = new RetrievalDTO();
         BeanUtil.copyProperties(getStaticKnowledgeVO,retrievalVO);
+        List<Integer> types = new ArrayList<>();
+        for (Integer type : getStaticKnowledgeVO.getTypes()) {
+            types.add(ParamConvertUtil.conceptConvert2Lib(type));
+        }
+        //设置类型为诊断、药品、化验、辅检
+        retrievalVO.setOtherType(types);
+        //如果为化验时设置子项类型
+        retrievalVO.setDetilType(LexiconTypeEnum.LIS_DETAILS.getKey());
         //获取标签信息
         List<ConceptRetrievalDTO> conceptRetrievalDTOList = this.retrivelConceptInfo(retrievalVO);
         List<RetrievalDTO> staticRetrievalList = new ArrayList<>();

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

@@ -17,4 +17,6 @@ public class GetStaticKnowledgeVO {
     private String InputStr;
     //需要去重的id
     private List<Long> inputIds;
+    //指定类型
+    private List<Integer> types;
 }

+ 1 - 1
aipt-service/src/main/resources/bootstrap.yml

@@ -9,7 +9,7 @@ spring:
         enabled: true
         serviceId: config-server
   profiles:
-    active: local
+    active: test
 
 eureka:
   client:

+ 15 - 0
icss-service/src/main/java/com/diagbot/dto/OrderRetrivevalDTO.java

@@ -0,0 +1,15 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/6/27 13:23
+ */
+@Getter
+@Setter
+public class OrderRetrivevalDTO extends RetrievalDTO {
+    private Integer orderNo;//排序号
+}

+ 31 - 8
icss-service/src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -3,15 +3,18 @@ package com.diagbot.facade;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.dto.ConceptRetrievalDTO;
+import com.diagbot.dto.OrderRetrivevalDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.entity.QuestionInfo;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.QuestionTypeEnum;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.GetStaticKnowledgeVO;
+import com.diagbot.vo.GetStaticVO;
 import com.diagbot.vo.RetrievalVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -112,20 +115,24 @@ public class RetrievalFacade {
     /**
      * 静态知识标签检索
      *
-     * @param getStaticKnowledgeVO
+     * @param getStaticVO
      * @return
      */
-    public List<RetrievalDTO> getStaticKnowledge(GetStaticKnowledgeVO getStaticKnowledgeVO){
+    public List<RetrievalDTO> getStaticKnowledge(GetStaticVO getStaticVO){
+        GetStaticKnowledgeVO getStaticKnowledgeVO = new GetStaticKnowledgeVO();
+        BeanUtil.copyProperties(getStaticVO,getStaticKnowledgeVO);
+        //标签类型
+        List<String> questionNames = new ArrayList<>();
+        List<Integer> typeList = new ArrayList<>();//规定标签类型,只取诊断,化验,辅检,药品类型
+        typeList.add(QuestionTypeEnum.Disease.getKey());
+        typeList.add(QuestionTypeEnum.Drug.getKey());
+        typeList.add(QuestionTypeEnum.Lis.getKey());
+        typeList.add(QuestionTypeEnum.Pacs.getKey());
+        getStaticKnowledgeVO.setTypes(typeList);
         //调用aipt-service获取有静态知识的标签
         RespDTO<List<RetrievalDTO>> retrievalDTOList = aiptServiceClient.getStaticKnowledge(getStaticKnowledgeVO);
         RespDTOUtil.respNGDeal(retrievalDTOList,"获取静态知识失败");
         if(ListUtil.isNotEmpty(retrievalDTOList.data)){
-            List<String> questionNames = new ArrayList<>();
-            List<Integer> typeList = new ArrayList<>();//规定标签类型,只取诊断,化验,辅检,药品类型
-            typeList.add(QuestionTypeEnum.Disease.getKey());
-            typeList.add(QuestionTypeEnum.Pacs.getKey());
-            typeList.add(QuestionTypeEnum.Lis.getKey());
-            typeList.add(QuestionTypeEnum.Drug.getKey());
             for (RetrievalDTO retrievalDTOInfo : retrievalDTOList.data) {
                 if(typeList.contains(retrievalDTOInfo.getType())){
                     questionNames.add(retrievalDTOInfo.getName());
@@ -146,6 +153,22 @@ public class RetrievalFacade {
                 }
             }
         }
+        List<OrderRetrivevalDTO> orderRetrivevalDTOS = BeanUtil.listCopyTo(retrievalDTOList.data,OrderRetrivevalDTO.class);
+        //设置排序编号
+        for (OrderRetrivevalDTO orderRetrivevalDTO : orderRetrivevalDTOS) {
+            if(orderRetrivevalDTO.getType().intValue() == QuestionTypeEnum.Disease.getKey()){//诊断
+                orderRetrivevalDTO.setOrderNo(1);
+            }else if(orderRetrivevalDTO.getType().intValue() == QuestionTypeEnum.Drug.getKey()){//药品
+                orderRetrivevalDTO.setOrderNo(2);
+            }else if(orderRetrivevalDTO.getType().intValue() == QuestionTypeEnum.Lis.getKey()){//化验
+                orderRetrivevalDTO.setOrderNo(3);
+            }else {//辅检
+                orderRetrivevalDTO.setOrderNo(4);
+            }
+        }
+        //给结果排序:诊断 > 药品 > 化验 > 辅检
+        orderRetrivevalDTOS.sort((OrderRetrivevalDTO o1, OrderRetrivevalDTO o2) -> o1.getOrderNo().compareTo(o2.getOrderNo()));
+        retrievalDTOList.data = BeanUtil.listCopyTo(orderRetrivevalDTOS,RetrievalDTO.class);
         return retrievalDTOList.data;
     }
 }

+ 2 - 0
icss-service/src/main/java/com/diagbot/vo/GetStaticKnowledgeVO.java

@@ -17,4 +17,6 @@ public class GetStaticKnowledgeVO {
     private String InputStr;
     //需要去重的id
     private List<Long> inputIds;
+    //指定类型
+    private List<Integer> types;
 }

+ 20 - 0
icss-service/src/main/java/com/diagbot/vo/GetStaticVO.java

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

+ 3 - 3
icss-service/src/main/java/com/diagbot/web/RetrievalController.java

@@ -5,7 +5,7 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.facade.RetrievalFacade;
-import com.diagbot.vo.GetStaticKnowledgeVO;
+import com.diagbot.vo.GetStaticVO;
 import com.diagbot.vo.RetrievalVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -54,8 +54,8 @@ public class RetrievalController {
                     "inputIds:需要去重的id<br>")
     @PostMapping("/getStaticKnowledge")
     @SysLogger("getStaticKnowledge")
-    public RespDTO<List<RetrievalDTO>> getStaticKnowledge(@Valid @RequestBody GetStaticKnowledgeVO getStaticKnowledgeVO) {
-        List<RetrievalDTO> data = retrievalFacade.getStaticKnowledge(getStaticKnowledgeVO);
+    public RespDTO<List<RetrievalDTO>> getStaticKnowledge(@Valid @RequestBody GetStaticVO getStaticVO) {
+        List<RetrievalDTO> data = retrievalFacade.getStaticKnowledge(getStaticVO);
         return RespDTO.onSuc(data);
     }
 }

+ 1 - 1
icss-service/src/main/resources/bootstrap.yml

@@ -9,7 +9,7 @@ spring:
         enabled: true
         serviceId: config-server
   profiles:
-    active: local
+    active: test
 
 eureka:
   client: