Explorar el Código

Merge branch 'develop' into dev/vteMsg20210819

zhoutg hace 3 años
padre
commit
49239434f3

+ 6 - 4
src/main/java/com/diagbot/facade/KlConceptFacade.java

@@ -10,10 +10,7 @@ import com.diagbot.service.impl.KlConceptServiceImpl;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
-import com.diagbot.vo.ConceptVO;
-import com.diagbot.vo.FilterVO;
-import com.diagbot.vo.KllisDetailVO;
-import com.diagbot.vo.SearchConceptVO;
+import com.diagbot.vo.*;
 import com.google.common.collect.Lists;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -441,4 +438,9 @@ public class KlConceptFacade extends KlConceptServiceImpl {
     }
 
 
+    public List<GetAllForRelationDTO> searchCollectionConceptFac(SearchCollectionConceptVO searchCollectionConceptVO) {
+        searchCollectionConceptVO.setNames(searchCollectionConceptVO.getNames().stream().filter(x ->StringUtil.isNotBlank(x)).collect(Collectors.toList()));
+        List<GetAllForRelationDTO> getAllForRelationDTOS = this.searchCollectionConcept(searchCollectionConceptVO);
+        return getAllForRelationDTOS;
+    }
 }

+ 1 - 1
src/main/java/com/diagbot/facade/KlDiagnoseImportFacade.java

@@ -244,7 +244,7 @@ public class KlDiagnoseImportFacade {
             if (StringUtil.isBlank(type) && StringUtil.isBlank(orderNo)) {
                 continue;
             }
-            if (!type.contains("正则") && !diagtypes.contains(type) && splitType.contains(type)) {
+            if (!type.contains("正则") && !diagtypes.contains(type)) {
                 List<String> splits = CoreUtil.getSplit(rule);
                 if (ListUtil.isNotEmpty(splits)) {
                     List<Long> conceptIds = Lists.newArrayList();

+ 3 - 4
src/main/java/com/diagbot/mapper/KlConceptMapper.java

@@ -6,10 +6,7 @@ import com.diagbot.dto.IndexDTO;
 import com.diagbot.dto.KllisDetailDTO;
 import com.diagbot.dto.StaticKnowledgeIndexDTO;
 import com.diagbot.entity.KlConcept;
-import com.diagbot.vo.KllisDetailVO;
-import com.diagbot.vo.MedRetrievalVO;
-import com.diagbot.vo.SearchConceptVO;
-import com.diagbot.vo.StaticKnowledgeIndexVO;
+import com.diagbot.vo.*;
 
 import java.util.List;
 
@@ -32,4 +29,6 @@ public interface KlConceptMapper extends BaseMapper<KlConcept> {
     List<GetAllForRelationDTO> searchByTypeAndName(SearchConceptVO searchConceptVO);
 
     List<GetAllForRelationDTO> searchByTypeAndNameAdd(SearchConceptVO searchConceptVO);
+
+    List<GetAllForRelationDTO> searchCollectionConcept(SearchCollectionConceptVO searchCollectionConceptVO);
 }

+ 4 - 4
src/main/java/com/diagbot/service/KlConceptService.java

@@ -6,10 +6,7 @@ import com.diagbot.dto.IndexDTO;
 import com.diagbot.dto.KllisDetailDTO;
 import com.diagbot.dto.StaticKnowledgeIndexDTO;
 import com.diagbot.entity.KlConcept;
-import com.diagbot.vo.KllisDetailVO;
-import com.diagbot.vo.MedRetrievalVO;
-import com.diagbot.vo.SearchConceptVO;
-import com.diagbot.vo.StaticKnowledgeIndexVO;
+import com.diagbot.vo.*;
 
 import java.util.List;
 
@@ -35,4 +32,7 @@ public interface KlConceptService extends IService<KlConcept> {
     //查找(新增)
     List<GetAllForRelationDTO> searchByTypeAndNameAdd(SearchConceptVO searchConceptVO);
 
+    //查找(集合模块术语)
+    List<GetAllForRelationDTO> searchCollectionConcept(SearchCollectionConceptVO searchCollectionConceptVO);
+
 }

+ 6 - 4
src/main/java/com/diagbot/service/impl/KlConceptServiceImpl.java

@@ -9,10 +9,7 @@ import com.diagbot.dto.StaticKnowledgeIndexDTO;
 import com.diagbot.entity.KlConcept;
 import com.diagbot.mapper.KlConceptMapper;
 import com.diagbot.service.KlConceptService;
-import com.diagbot.vo.KllisDetailVO;
-import com.diagbot.vo.MedRetrievalVO;
-import com.diagbot.vo.SearchConceptVO;
-import com.diagbot.vo.StaticKnowledgeIndexVO;
+import com.diagbot.vo.*;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -54,4 +51,9 @@ public class KlConceptServiceImpl extends ServiceImpl<KlConceptMapper, KlConcept
         return baseMapper.searchByTypeAndNameAdd(searchConceptVO);
     }
 
+    @Override
+    public List<GetAllForRelationDTO> searchCollectionConcept(SearchCollectionConceptVO searchCollectionConceptVO) {
+        return baseMapper.searchCollectionConcept(searchCollectionConceptVO);
+    }
+
 }

+ 49 - 0
src/main/java/com/diagbot/vo/SearchCollectionConceptVO.java

@@ -0,0 +1,49 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @className: com.diagbot.vo-> SearchCollectionConceptVO
+ * @description: 在集合业务中,搜索术语
+ * @author: kongwz
+ * @createDate: 2021-08-18 16:07
+ * @version: 1.0
+ * @todo:
+ */
+@Setter
+@Getter
+public class SearchCollectionConceptVO {
+    /**
+     * 词性id
+     */
+    @ApiModelProperty(value="词性id")
+    @NotNull(message ="请输入搜索词的词性" )
+    private Integer libType;
+    /**
+     * 需要排除的概念id集合
+     */
+    @ApiModelProperty(value="需要排除的概念id集合")
+    private List<Long> excludedConceptIds;
+
+    @ApiModelProperty(value="搜索关键词")
+    private List<String> names;
+
+    @ApiModelProperty(value="逻辑运算符")
+    @NotNull(message ="请输入逻辑运算符" )
+    private Integer logicalOperator;
+
+    @Override
+    public String toString() {
+        return "SearchCollectionConceptVO{" +
+                "libType=" + libType +
+                ", excludedConceptIds=" + excludedConceptIds +
+                ", names=" + names +
+                ", logicalOperator=" + logicalOperator +
+                '}';
+    }
+}

+ 14 - 1
src/main/java/com/diagbot/web/KlDiseaseController.java

@@ -5,6 +5,7 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.GetAllForRelationDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.KlConceptFacade;
+import com.diagbot.vo.SearchCollectionConceptVO;
 import com.diagbot.vo.SearchConceptVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -28,7 +29,7 @@ import java.util.List;
 @RestController
 @RequestMapping("/klDisease")
 @SuppressWarnings("unchecked")
-@Api(value = "诊断依据相关的类型术语相关API", tags = { "诊断依据相关的类型术语相关API" })
+@Api(value = "诊断依据相关的类型术语相关API", tags = {"诊断依据相关的类型术语相关API"})
 public class KlDiseaseController {
 
     @Autowired
@@ -67,4 +68,16 @@ public class KlDiseaseController {
         return RespDTO.onSuc(getAllForRelationDTOS);
     }
 
+    @ApiOperation(value = "在集合业务中,搜索术语[by:kongwz]",
+            notes = "names: 搜索关键词集合<br>" +
+                    "libType: 查询术语的词性<br>" +
+                    "excludedConceptIds: 需要排除的概念id集合<br>" +
+                    "logicalOperator: 逻辑运算符 0:and 1:or")
+    @PostMapping("/searchCollectionConceptVO")
+    @SysLogger("searchCollectionConceptVO")
+    public RespDTO<List<GetAllForRelationDTO>> searchCollectionConcept(@Valid @RequestBody SearchCollectionConceptVO searchCollectionConceptVO) {
+        List<GetAllForRelationDTO> getAllForRelationDTOS = klConceptFacade.searchCollectionConceptFac(searchCollectionConceptVO);
+        return RespDTO.onSuc(getAllForRelationDTOS);
+    }
+
 }

+ 41 - 0
src/main/resources/mapper/KlConceptMapper.xml

@@ -792,4 +792,45 @@
         limit 100
     </select>
 
+
+    <select id="searchCollectionConcept" parameterType="com.diagbot.vo.SearchCollectionConceptVO"
+            resultType="com.diagbot.dto.GetAllForRelationDTO">
+        select kc.id AS conceptId,
+        kc.lib_name AS conceptName,
+        kc.lib_type AS libType,
+        kc.lib_name AS conceptNameType
+        from kl_concept kc
+        where
+        <if test="libType!=null">
+            kc.lib_type = #{libType}
+        </if>
+        AND kc.status = 1
+        <if test="excludedConceptIds != null and excludedConceptIds.size > 0">
+            AND kc.id not in
+            <foreach item="id" collection="excludedConceptIds" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+        <if test="names != null and names.size > 0">
+        and
+            <choose>
+                <when test="logicalOperator != null and logicalOperator eq 0">
+                    <foreach collection="names" item="id" open="(" separator="and" close=")">
+                        <if test="id != null and id != ''">
+                            UPPER(kc.lib_name) LIKE CONCAT('%', UPPER(trim(#{id})), '%')
+                        </if>
+                    </foreach>
+                </when>
+                <when test="logicalOperator != null and logicalOperator eq 1">
+                    <foreach collection="names" item="id" open="(" separator="or" close=")">
+                        <if test="id != null and id != ''">
+                            UPPER(kc.lib_name) LIKE CONCAT('%', UPPER(trim(#{id})), '%')
+                        </if>
+                    </foreach>
+                </when>
+            </choose>
+        </if>
+        LIMIT 100
+    </select>
+
 </mapper>