Browse Source

Merge branch 'dev/20220228_v3.0.1通用版_渠道管理第一期' into debug

rengb 3 years atrás
parent
commit
1b77448099

+ 19 - 0
mdsp-service/src/main/java/com/lantone/dto/med/TermConceptDTO.java

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

+ 43 - 0
mdsp-service/src/main/java/com/lantone/facade/med/TermMatchingFacade.java

@@ -0,0 +1,43 @@
+package com.lantone.facade.med;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.util.StringUtil;
+import com.google.common.collect.Lists;
+import com.lantone.dto.med.TermConceptDTO;
+import com.lantone.entity.med.KlLibraryInfo;
+import com.lantone.vo.med.TermMatchingVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-06-10 19:48
+ */
+@Component
+public class TermMatchingFacade {
+
+    @Autowired
+    private KlLibraryInfoFacade klLibraryInfoFacade;
+
+    public List<TermConceptDTO> getTermMatchingAll(TermMatchingVO termMatchingVO) {
+        List<TermConceptDTO> ret = Lists.newArrayList();
+        QueryWrapper<KlLibraryInfo> klLibraryInfoQueryWrapper = new QueryWrapper<>();
+        klLibraryInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        klLibraryInfoQueryWrapper.eq(termMatchingVO.getType() != null, "type_id", termMatchingVO.getType());
+        klLibraryInfoQueryWrapper.like(StringUtil.isNotBlank(termMatchingVO.getInputStr()), "name", termMatchingVO.getInputStr());
+        List<KlLibraryInfo> klLibraryInfoList = klLibraryInfoFacade.list(klLibraryInfoQueryWrapper);
+        klLibraryInfoList.forEach(i -> {
+            TermConceptDTO termConceptDTO = new TermConceptDTO();
+            termConceptDTO.setId(i.getConceptId());
+            termConceptDTO.setName(i.getName());
+            termConceptDTO.setSource(i.getIsConcept() == 1 ? 1 : 2);
+            ret.add(termConceptDTO);
+        });
+        return ret;
+    }
+
+}

+ 27 - 0
mdsp-service/src/main/java/com/lantone/vo/med/TermMatchingVO.java

@@ -0,0 +1,27 @@
+package com.lantone.vo.med;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-06-10 19:54
+ */
+@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
mdsp-service/src/main/java/com/lantone/web/med/TermMatchingController.java

@@ -0,0 +1,39 @@
+package com.lantone.web.med;
+
+import com.diagbot.dto.RespDTO;
+import com.lantone.dto.med.TermConceptDTO;
+import com.lantone.facade.med.TermMatchingFacade;
+import com.lantone.vo.med.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
+    private TermMatchingFacade termMatchingFacade;
+
+    @ApiOperation(value = "术语匹配搜索[wangfeng]",
+            notes = "type: 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、9-症状、10-量表、11-护理、12-中医诊断、13-中医证候、14-麻醉、16-给药途径 <br>" +
+                    "inputStr: 检索内容<br>")
+    @PostMapping("/termMatching")
+    public RespDTO<List<TermConceptDTO>> getTermMatching(@Valid @RequestBody TermMatchingVO termMatchingVO) {
+        List<TermConceptDTO> data = termMatchingFacade.getTermMatchingAll(termMatchingVO);
+        return RespDTO.onSuc(data);
+    }
+}