Browse Source

根据concept_id和术语类型获取

kongwz 4 years ago
parent
commit
977f85b4a7

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

@@ -1,5 +1,6 @@
 package com.diagbot.dto;
 
+import com.diagbot.facade.KlVitalResFacade;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -26,10 +27,10 @@ public class KlConceptAllDTO {
     private Integer isHasCommon;
     private Double minAge;
     private Double maxAge;
-    private Double minVal;
-    private Double maxVal;
-    private String unit;
-    private Integer scopeType;
+//    private Double minVal;
+//    private Double maxVal;
+//    private String unit;
+//    private Integer scopeType;
     private String icdCode;
     private String remark;
     private Integer drug;
@@ -45,4 +46,16 @@ public class KlConceptAllDTO {
     //
     // // 症状扩展信息
     // private KlSymptomVO klSymptomVO;
+
+    //化验扩展信息
+    private KlLisDTO klLisDTO;
+
+    //辅检扩展信息
+    private KlPacsDTO klPacsDTO;
+
+    //手术扩展信息
+    private KlOperationDTO klOperationDTO;
+
+    //体征结果扩展信息
+    private KlVitalResultDTO klVitalResultDTO;
 }

+ 89 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlLisDTO.java

@@ -0,0 +1,89 @@
+package com.diagbot.dto;
+
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+;
+
+/**
+ * <p>
+ * 化验表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+@Data
+public class KlLisDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 术语概念id
+     */
+    private Long conceptId;
+
+    /**
+     * 最小值
+     */
+    private Double minValue;
+
+    /**
+     * 最大值
+     */
+    private Double maxValue;
+
+    /**
+     * 类型(0:范围内;1:范围外)
+     */
+    private Integer type;
+
+    /**
+     * 单位概念id
+     */
+
+    private String unit;
+
+    /**
+     * 检查标本
+     */
+    private String checkSpecimen;
+
+    /**
+     * 检查方法
+     */
+    private String checkMethod;
+
+    /**
+     * 影响因素
+     */
+    private String influenceFac;
+
+    /**
+     * 临床意义
+     */
+    private String clinicalSig;
+
+    /**
+     * 定性(阴、阳性)
+     */
+    private String qualitative;
+
+    /**
+     * 所属类别
+     */
+    private String category;
+
+    /**
+     * 英文名称
+     */
+    private String enName;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 43 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlOperationDTO.java

@@ -0,0 +1,43 @@
+package com.diagbot.dto;
+
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+;
+
+/**
+ * <p>
+ * 手术表
+ * </p>
+ *
+ * @author kwz
+ * @since 2021-05-11
+ */
+@Data
+public class KlOperationDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 术语概念id
+     */
+    private Long conceptId;
+
+    /**
+     * 手术级别(0,1,2,3,4)
+     */
+    private Integer operationLevel;
+
+    /**
+     * 手术操作码
+     */
+    private String operationCode;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 73 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlPacsDTO.java

@@ -0,0 +1,73 @@
+package com.diagbot.dto;
+
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+;
+
+/**
+ * <p>
+ * 辅检表
+ * </p>
+ *
+ * @author kwz
+ * @since 2021-05-11
+ */
+@Data
+public class KlPacsDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 术语概念id
+     */
+    private Long conceptId;
+
+    /**
+     * 检查方法
+     */
+    private String checkMethod;
+
+    /**
+     * 项目定义
+     */
+    private String definition;
+
+    /**
+     * 检查目的
+     */
+    private String checkObjective;
+
+    /**
+     * 检查技术
+     */
+    private String checkSkillful;
+
+    /**
+     * 禁忌症和局限性
+     */
+    private String condLimit;
+
+    /**
+     * 适应症
+     */
+    private String interventional;
+
+    /**
+     * 危急标识(0:不危急,1:危急)
+     */
+    private Integer emergencySign;
+
+    /**
+     * 检查前准备
+     */
+    private String checkPrepare;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 50 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlVitalResultDTO.java

@@ -0,0 +1,50 @@
+package com.diagbot.dto;
+
+
+import com.google.common.collect.Lists;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+;
+
+/**
+ * <p>
+ * 手术表
+ * </p>
+ *
+ * @author kwz
+ * @since 2021-05-11
+ */
+@Data
+public class KlVitalResultDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 术语概念id
+     */
+    private Long conceptId;
+
+    /**
+     * 不适宜人群
+     */
+    private String suitablePopNo;
+
+    /**
+     * 操作方法
+     */
+    private String checkMethod;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    // 科室列表
+    private List<KlConceptSimDTO> deptList = Lists.newLinkedList();
+
+    // 部位列表
+    private List<KlConceptSimDTO> partList = Lists.newLinkedList();
+}

+ 14 - 0
cdssman-service/src/main/java/com/diagbot/facade/KlConceptFacade.java

@@ -199,6 +199,20 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                     break;
                 case Medicine: //  药品通用名和注册名映射表 kl_drug_mapping
                     break;
+                case LisName:
+                case LisSubName: // 化验扩展 kl_lis
+                    klLisFacade.getKlLis(klConceptAllVO.getConceptId(), klConceptAll);
+                    break;
+                case PacsName:
+                case PacsSubName: // 辅检扩展 kl_pacs
+                    klPacsFacade.getKlPacs(klConceptAllVO.getConceptId(), klConceptAll);
+                    break;
+                case Operation: // 手术扩展 kl_operation
+                    klOperationFacade.getKlOperation(klConceptAllVO.getConceptId(), klConceptAll);
+                    break;
+                case VitalResult: //体征结果扩展 kl_vital_result, kl_relation,kl_relation_order
+                    klVitalResFacade.getKlVitalResult(klConceptAllVO.getConceptId(), klConceptAll);
+                    break;
             }
         }
         return klConceptAll;

+ 14 - 0
cdssman-service/src/main/java/com/diagbot/facade/KlLisFacade.java

@@ -2,6 +2,8 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.dto.KlConceptAllDTO;
+import com.diagbot.dto.KlLisDTO;
 import com.diagbot.entity.CommonParam;
 import com.diagbot.entity.KlConcept;
 import com.diagbot.entity.KlDisease;
@@ -106,4 +108,16 @@ public class KlLisFacade extends KlLisServiceImpl {
         klLis.setModifier(commonParam.getPerson());
         return this.save(klLis);
     }
+
+    public void getKlLis(Long conceptId, KlConceptAllDTO klConceptAll) {
+        KlLis klLis = this.getOne(new QueryWrapper<KlLis>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("concept_id", conceptId), false);
+        if (klLis == null) {
+            return;
+        }
+        KlLisDTO klLisDTO = new KlLisDTO();
+        BeanUtil.copyProperties(klLis,klLisDTO);
+        klConceptAll.setKlLisDTO(klLisDTO);
+    }
 }

+ 15 - 0
cdssman-service/src/main/java/com/diagbot/facade/KlOperationFacade.java

@@ -1,9 +1,12 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.KlConceptAllDTO;
+import com.diagbot.dto.KlOperationDTO;
 import com.diagbot.entity.CommonParam;
 import com.diagbot.entity.KlOperation;
 import com.diagbot.entity.KlPacs;
+import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.KlOperationServiceImpl;
 import com.diagbot.service.impl.KlPacsServiceImpl;
 import com.diagbot.util.BeanUtil;
@@ -41,4 +44,16 @@ public class KlOperationFacade extends KlOperationServiceImpl {
         klOperation.setModifier(commonParam.getPerson());
         return this.save(klOperation);
     }
+
+    public void getKlOperation(Long conceptId, KlConceptAllDTO klConceptAll) {
+        KlOperation klOperation = this.getOne(new QueryWrapper<KlOperation>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("concept_id", conceptId), false);
+        if(klOperation == null){
+            return;
+        }
+        KlOperationDTO klOperationDTO = new KlOperationDTO();
+        BeanUtil.copyProperties(klOperation,klOperationDTO);
+        klConceptAll.setKlOperationDTO(klOperationDTO);
+    }
 }

+ 15 - 0
cdssman-service/src/main/java/com/diagbot/facade/KlPacsFacade.java

@@ -2,6 +2,8 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.dto.KlConceptAllDTO;
+import com.diagbot.dto.KlPacsDTO;
 import com.diagbot.entity.CommonParam;
 import com.diagbot.entity.KlConcept;
 import com.diagbot.entity.KlLis;
@@ -49,4 +51,17 @@ public class KlPacsFacade extends KlPacsServiceImpl {
         klPacs.setModifier(commonParam.getPerson());
         return this.save(klPacs);
     }
+
+    public void getKlPacs(Long conceptId, KlConceptAllDTO klConceptAll) {
+        KlPacs klPacs = this.getOne(new QueryWrapper<KlPacs>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("concept_id", conceptId), false);
+        if(klPacs == null){
+            return;
+        }
+        KlPacsDTO klPacsDTO = new KlPacsDTO();
+        BeanUtil.copyProperties(klPacs,klPacsDTO);
+        klConceptAll.setKlPacsDTO(klPacsDTO);
+
+    }
 }

+ 40 - 1
cdssman-service/src/main/java/com/diagbot/facade/KlVitalResFacade.java

@@ -1,16 +1,28 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.KlConceptAllDTO;
+import com.diagbot.dto.KlConceptSimDTO;
+import com.diagbot.dto.KlVitalResultDTO;
 import com.diagbot.entity.CommonParam;
 import com.diagbot.entity.KlOperation;
 import com.diagbot.entity.KlVitalResult;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.LexiconEnum;
+import com.diagbot.enums.RelationLibTypeEnum;
 import com.diagbot.service.impl.KlOperationServiceImpl;
 import com.diagbot.service.impl.KlVitalResultServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.vo.ConceptRelationVO;
 import com.diagbot.vo.KlOperationVO;
 import com.diagbot.vo.KlVitalResultVO;
+import com.google.common.collect.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * @author kwz
  * @Description:
@@ -19,7 +31,8 @@ import org.springframework.stereotype.Component;
 @Component
 public class KlVitalResFacade extends KlVitalResultServiceImpl {
 
-
+    @Autowired
+    KlConceptFacade klConceptFacade;
 
     /**
      * 保存体征结果扩展表
@@ -41,4 +54,30 @@ public class KlVitalResFacade extends KlVitalResultServiceImpl {
         klVitalResult.setModifier(commonParam.getPerson());
         return this.save(klVitalResult);
     }
+
+    public void getKlVitalResult(Long conceptId, KlConceptAllDTO klConceptAll) {
+        KlVitalResult klVitalResult = this.getOne(new QueryWrapper<KlVitalResult>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("concept_id", conceptId), false);
+        if(klVitalResult == null){
+            return;
+        }
+        KlVitalResultDTO klVitalResultDTO = new KlVitalResultDTO();
+        BeanUtil.copyProperties(klVitalResult,klVitalResultDTO);
+        List<Integer> relationIdList = Lists.newArrayList(
+                RelationLibTypeEnum.relationDept.getKey(),
+                RelationLibTypeEnum.relationPart.getKey()
+        );
+        ConceptRelationVO conceptRelationVO = new ConceptRelationVO();
+        conceptRelationVO.setConceptId(conceptId);
+        conceptRelationVO.setRelationList(relationIdList);
+        Map<Integer, List<KlConceptSimDTO>> map = klConceptFacade.getRelationConceptFac(conceptRelationVO);
+        if (map.get(LexiconEnum.Part.getKey()) != null) {
+            klVitalResultDTO.setPartList(map.get(LexiconEnum.Part.getKey()));
+        }
+        if (map.get(LexiconEnum.Dept.getKey()) != null) {
+            klVitalResultDTO.setDeptList(map.get(LexiconEnum.Dept.getKey()));
+        }
+        klConceptAll.setKlVitalResultDTO(klVitalResultDTO);
+    }
 }

+ 0 - 5
cdssman-service/src/main/resources/mapper/KlConceptMapper.xml

@@ -72,10 +72,6 @@
         f.sex_type AS sexType,
         f.min_age AS minAge,
         f.max_age AS maxAge,
-        g.min_value AS minVal,
-        g.max_value AS maxVal,
-        g.unit AS unit,
-        g.type AS scopeType,
         h.dept_id AS deptId,
         h.icd10_code AS icdCode,
         dr.drug ,
@@ -89,7 +85,6 @@
         INNER JOIN kl_lexicon d
         ON b.lib_type = d.code
         LEFT JOIN kl_concept_common f ON f.concept_id = a.concept_id
-        LEFT JOIN kl_lis g ON g.concept_id = a.concept_id
         LEFT JOIN kl_disease h ON h.concept_id = a.concept_id
         LEFT JOIN kl_drug  dr ON dr.concept_id = a.concept_id
         WHERE a.is_deleted = 'N'