Browse Source

非官方医院化验小项取得医学标准术语最大的范围值

gaodm 4 years ago
parent
commit
6481bdc39e

+ 38 - 0
src/main/java/com/diagbot/dto/KllisDetailDTO.java

@@ -0,0 +1,38 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2021/4/16 14:34
+ */
+@Getter
+@Setter
+public class KllisDetailDTO {
+    /**
+     * 名称
+     */
+    private String libName;
+    /**
+     * 编号
+     */
+    private Long id;
+    /**
+     * 下限
+     */
+    private Double minValue;
+    /**
+     * 上限
+     */
+    private Double maxValue;
+    /**
+     * 单位
+     */
+    private String unit;
+    /**
+     * 参考范围:0-范围内,1-范围外
+     */
+    private Integer type;
+}

+ 10 - 0
src/main/java/com/diagbot/facade/KlConceptFacade.java

@@ -2,14 +2,17 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.GetAllForRelationDTO;
+import com.diagbot.dto.KllisDetailDTO;
 import com.diagbot.entity.KlConcept;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.LexiconEnum;
 import com.diagbot.enums.StatusEnum;
 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.KllisDetailVO;
 import com.diagbot.vo.SearchConceptVO;
 import com.google.common.collect.Lists;
 import org.apache.commons.lang3.StringUtils;
@@ -18,6 +21,7 @@ import org.springframework.stereotype.Component;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -122,4 +126,10 @@ public class KlConceptFacade extends KlConceptServiceImpl {
         }
         return getAllForRelationDTOS;
     }
+
+    public Map<String, KllisDetailDTO> getLisDetaisByNamesFac(KllisDetailVO kllisDetailVO) {
+        List<KllisDetailDTO> list = this.getLisDetaisByNames(kllisDetailVO);
+        Map<String, KllisDetailDTO> res = EntityUtil.makeEntityMap(list, "libName");
+        return res;
+    }
 }

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

@@ -2,8 +2,10 @@ package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 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.StaticKnowledgeIndexVO;
 
@@ -22,4 +24,6 @@ public interface KlConceptMapper extends BaseMapper<KlConcept> {
     List<IndexDTO> index(MedRetrievalVO medRetrievalVO);
 
     List<StaticKnowledgeIndexDTO> staticIndex(StaticKnowledgeIndexVO staticKnowledgeIndexVO);
+
+    List<KllisDetailDTO> getLisDetaisByNames(KllisDetailVO kllisDetailVO);
 }

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

@@ -2,8 +2,10 @@ package com.diagbot.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 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.StaticKnowledgeIndexVO;
 
@@ -22,4 +24,6 @@ public interface KlConceptService extends IService<KlConcept> {
     List<IndexDTO> index(MedRetrievalVO medRetrievalVO);
 
     List<StaticKnowledgeIndexDTO> staticIndex(StaticKnowledgeIndexVO staticKnowledgeIndexVO);
+
+    List<KllisDetailDTO> getLisDetaisByNames(KllisDetailVO kllisDetailVO);
 }

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

@@ -2,10 +2,12 @@ package com.diagbot.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.dto.IndexDTO;
+import com.diagbot.dto.KllisDetailDTO;
 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.StaticKnowledgeIndexVO;
 import org.springframework.stereotype.Service;
@@ -30,4 +32,8 @@ public class KlConceptServiceImpl extends ServiceImpl<KlConceptMapper, KlConcept
     public List<StaticKnowledgeIndexDTO> staticIndex(StaticKnowledgeIndexVO staticKnowledgeIndexVO) {
         return baseMapper.staticIndex(staticKnowledgeIndexVO);
     }
+
+    public List<KllisDetailDTO> getLisDetaisByNames(KllisDetailVO kllisDetailVO){
+        return baseMapper.getLisDetaisByNames(kllisDetailVO);
+    }
 }

+ 20 - 0
src/main/java/com/diagbot/vo/KllisDetailVO.java

@@ -0,0 +1,20 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2021/4/16 14:38
+ */
+@Getter
+@Setter
+public class KllisDetailVO {
+    /**
+     * 名称
+     */
+    private List<String> names;
+}

+ 10 - 0
src/main/java/com/diagbot/web/RetrievalController.java

@@ -1,11 +1,13 @@
 package com.diagbot.web;
 
+import com.diagbot.dto.KllisDetailDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.dto.StaticKnowledgeIndexDTO;
 import com.diagbot.facade.KlConceptFacade;
 import com.diagbot.facade.MedRetrievalFacade;
 import com.diagbot.vo.ConceptVO;
+import com.diagbot.vo.KllisDetailVO;
 import com.diagbot.vo.RetrievalVO;
 import com.diagbot.vo.StaticKnowledgeIndexVO;
 import io.swagger.annotations.Api;
@@ -18,6 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description:
@@ -63,4 +66,11 @@ public class RetrievalController {
         List<String> data = klConceptFacade.getConceptNames(conceptVO);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "化验小项术语批量查询获取范围[gaodm]",
+            notes = "names: 术语列表<br>")
+    @PostMapping("/getLisDetaisByNames")
+    public RespDTO<Map<String, KllisDetailDTO>> getLisDetaisByNames(@RequestBody KllisDetailVO kllisDetailVO) {
+        return RespDTO.onSuc(klConceptFacade.getLisDetaisByNamesFac(kllisDetailVO));
+    }
 }

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

@@ -545,4 +545,29 @@
 			LIMIT #{size}
 		</if>
     </select>
+
+	<select id="getLisDetaisByNames" parameterType="com.diagbot.vo.KllisDetailVO" resultType="com.diagbot.dto.KllisDetailDTO">
+		SELECT
+		t1.lib_name,
+		t1.id,
+		t2.min_value,
+		t2.max_value,
+		t2.type,
+		t2.unit
+		FROM
+		`kl_concept` t1,
+		kl_lis t2
+		WHERE
+		t1.is_deleted = "N"
+		AND t2.is_deleted = "N"
+		AND t1.id = t2.concept_id
+		AND t1.lib_type = 108
+		AND t1.`status` = 1
+		<if test="names != null and names.size > 0">
+			and t1.lib_name in
+			<foreach item="name" collection="names" open="(" separator="," close=")">
+				#{name}
+			</foreach>
+		</if>
+	</select>
 </mapper>