瀏覽代碼

术语映射检索修改

wangfeng 4 年之前
父節點
當前提交
57645be71c

+ 4 - 0
cdssman-service/src/main/java/com/diagbot/client/CdssCoreClient.java

@@ -16,6 +16,7 @@ import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.dto.StaticKnowledgeDTO;
 import com.diagbot.dto.StaticKnowledgeIndexDTO;
+import com.diagbot.dto.TermConceptDTO;
 import com.diagbot.entity.KlRuleMenuWrapper;
 import com.diagbot.enums.StatusEnum;
 import com.diagbot.vo.*;
@@ -218,4 +219,7 @@ public interface CdssCoreClient {
 
     @PostMapping("/klDiagnose/findDiaName")
     public RespDTO<List<DiagnosesFindDTO>> findDiaNameAll(@Valid @RequestBody DiagnosesFindVO diagnosesFindVO);
+
+    @PostMapping("/term/termMatching")
+    public RespDTO<List<TermConceptDTO>> getTermMatching(@Valid @RequestBody TermMatchingVO termMatchingVO);
 }

+ 7 - 0
cdssman-service/src/main/java/com/diagbot/client/hystrix/CdssCoreHystrix.java

@@ -15,6 +15,7 @@ import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.dto.StaticKnowledgeDTO;
 import com.diagbot.dto.StaticKnowledgeIndexDTO;
+import com.diagbot.dto.TermConceptDTO;
 import com.diagbot.entity.KlRuleMenuWrapper;
 import com.diagbot.vo.*;
 import lombok.extern.slf4j.Slf4j;
@@ -284,4 +285,10 @@ public class CdssCoreHystrix implements CdssCoreClient {
         log.error("【hystrix】调用{}异常", "findDiaNameAll");
         return null;
     }
+
+    @Override
+    public RespDTO<List<TermConceptDTO>> getTermMatching(@Valid TermMatchingVO termMatchingVO) {
+        log.error("【hystrix】调用{}异常", "getTermMatching");
+        return null;
+    }
 }

+ 1 - 0
cdssman-service/src/main/java/com/diagbot/dto/DiseaseInfoDTO.java

@@ -11,6 +11,7 @@ import lombok.Setter;
 @Getter
 @Setter
 public class DiseaseInfoDTO {
+    private Long id;
     /**
      * 疾病名称
      */

+ 1 - 0
cdssman-service/src/main/java/com/diagbot/dto/DrugInfoDTO.java

@@ -13,6 +13,7 @@ import java.util.List;
 @Getter
 @Setter
 public class DrugInfoDTO {
+    private Long id;
     /**
      * 药品名称
      */

+ 1 - 0
cdssman-service/src/main/java/com/diagbot/dto/LisDetailDTO.java

@@ -11,6 +11,7 @@ import lombok.Setter;
 @Getter
 @Setter
 public class LisDetailDTO {
+    private Long id;
     /**
      * 大项(套餐)
      */

+ 1 - 0
cdssman-service/src/main/java/com/diagbot/dto/NurseInfoDTO.java

@@ -11,6 +11,7 @@ import lombok.Setter;
 @Getter
 @Setter
 public class NurseInfoDTO {
+    private Long id;
     /**
      * 护理名称
      */

+ 1 - 0
cdssman-service/src/main/java/com/diagbot/dto/OperationInfoDTO.java

@@ -11,6 +11,7 @@ import lombok.Setter;
 @Getter
 @Setter
 public class OperationInfoDTO {
+    private Long id;
     /**
      * 手术或操作名称
      */

+ 16 - 0
cdssman-service/src/main/java/com/diagbot/dto/RetrievalConceptDTO.java

@@ -0,0 +1,16 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-06-15 19:07
+ */
+@Setter
+@Getter
+public class RetrievalConceptDTO {
+    private Long id;
+    private String name;
+}

+ 4 - 4
cdssman-service/src/main/java/com/diagbot/dto/RetrievalDTO.java

@@ -16,7 +16,7 @@ public class RetrievalDTO {
     /**
      * 化验大项
      */
-    private List<String> lisNames;
+    private List<RetrievalConceptDTO> lisNames;
     /**
      * 化验小项
      */
@@ -24,7 +24,7 @@ public class RetrievalDTO {
     /**
      * 辅检
      */
-    private List<String> pacsNames;
+    private List<RetrievalConceptDTO> pacsNames;
     /**
      * 诊断
      */
@@ -40,11 +40,11 @@ public class RetrievalDTO {
     /**
      * 科室
      */
-    private List<String> deptNames;
+    private List<RetrievalConceptDTO> deptNames;
     /**
      * 输血
      */
-    private List<String> transfusionNames;
+    private List<RetrievalConceptDTO> transfusionNames;
     /**
      * 量表
      */

+ 1 - 0
cdssman-service/src/main/java/com/diagbot/dto/ScaleInfoDTO.java

@@ -11,6 +11,7 @@ import lombok.Setter;
 @Getter
 @Setter
 public class ScaleInfoDTO {
+    private Long id;
     /**
      * 量表名称
      */

+ 18 - 0
cdssman-service/src/main/java/com/diagbot/dto/TermConceptDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-06-15 19:10
+ */
+@Setter
+@Getter
+public class TermConceptDTO {
+    private Long id;
+    private String name;
+    //数据来源(1-标准词、2-同义词、3-编码、4-历史数据、5-相似词、99-数据迁移)
+    private Integer source;
+}

+ 28 - 0
cdssman-service/src/main/java/com/diagbot/facade/TermMatchingFacade.java

@@ -0,0 +1,28 @@
+package com.diagbot.facade;
+
+import com.diagbot.client.CdssCoreClient;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.TermConceptDTO;
+import com.diagbot.util.RespDTOUtil;
+import com.diagbot.vo.TermMatchingVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-06-15 16:46
+ */
+@Component
+public class TermMatchingFacade {
+    @Autowired
+    CdssCoreClient cdssCoreClient;
+
+    public List<TermConceptDTO> getTermMatchingAll(TermMatchingVO termMatchingVO) {
+        RespDTO<List<TermConceptDTO>> termMatching = cdssCoreClient.getTermMatching(termMatchingVO);
+        RespDTOUtil.respNGDealCover(termMatching, "术语匹配搜索失败");
+        return termMatching.data;
+    }
+}

+ 28 - 0
cdssman-service/src/main/java/com/diagbot/vo/TermMatchingVO.java

@@ -0,0 +1,28 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-06-15 19:10
+ */
+@Setter
+@Getter
+public class TermMatchingVO {
+    /**
+     * 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、9-症状
+     */
+    @NotNull(message = "请输入检索类型")
+    private Integer type;
+    /**
+     * 检索内容
+     */
+    @NotBlank(message = "请输入检索内容")
+    private String inputStr;
+}
+

+ 39 - 0
cdssman-service/src/main/java/com/diagbot/web/TermMatchingController.java

@@ -0,0 +1,39 @@
+package com.diagbot.web;
+
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.TermConceptDTO;
+import com.diagbot.facade.TermMatchingFacade;
+import com.diagbot.vo.TermMatchingVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+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 javax.validation.Valid;
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-06-10 19:43
+ */
+@RestController
+@RequestMapping("/term")
+@Api(value = "术语匹配相关API", tags = { "术语匹配相关API" })
+@SuppressWarnings("unchecked")
+public class TermMatchingController {
+    @Autowired
+    TermMatchingFacade termMatchingFacade;
+
+    @ApiOperation(value = "术语匹配搜索[wangfeng]",
+            notes = "type: 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、9-症状、10-量表、11-护理、12-中医诊断、13-中医证候、14-麻醉 <br>" +
+                    "inputStr: 检索内容<br>")
+    @PostMapping("/termMatching")
+    public RespDTO<List<TermConceptDTO>> getTermMatching(@Valid @RequestBody TermMatchingVO termMatchingVO) {
+        List<TermConceptDTO> data = termMatchingFacade.getTermMatchingAll(termMatchingVO);
+        return RespDTO.onSuc(data);
+    }
+}