Browse Source

收藏医学知识(静态知识)检索和收藏医学知识(静态知识)/经典病例后端接口11.1

xiewei 7 months ago
parent
commit
07f7481b11

+ 4 - 0
src/main/java/com/diagbot/dto/ClassicCaseIndexDTO.java

@@ -39,4 +39,8 @@ public class ClassicCaseIndexDTO {
      * 启用禁用
      */
     private Integer status;
+    /**
+     * 收藏状态:0-未收藏,1-已收藏
+     */
+    private Integer collectionStatus = 0;
 }

+ 7 - 0
src/main/java/com/diagbot/dto/StaticKnowledgeIndexDTO.java

@@ -1,5 +1,6 @@
 package com.diagbot.dto;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -64,4 +65,10 @@ public class StaticKnowledgeIndexDTO {
      * 启用禁用
      */
     private Integer status;
+
+    /**
+     * 收藏状态:0-未收藏,1-已收藏
+     */
+    private Integer collectionStatus = 0;
+
 }

+ 7 - 95
src/main/java/com/diagbot/entity/KlConcept.java

@@ -2,6 +2,8 @@ package com.diagbot.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -14,6 +16,7 @@ import java.util.Date;
  * @author gaodm
  * @since 2021-01-21
  */
+@Data
 public class KlConcept implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -67,101 +70,10 @@ public class KlConcept implements Serializable {
     /**
      * 启用状态(0:禁用,1:启用)
      */
+
     private Integer status;
 
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getIsDeleted() {
-        return isDeleted;
-    }
-
-    public void setIsDeleted(String isDeleted) {
-        this.isDeleted = isDeleted;
-    }
-
-    public Date getGmtCreate() {
-        return gmtCreate;
-    }
-
-    public void setGmtCreate(Date gmtCreate) {
-        this.gmtCreate = gmtCreate;
-    }
-
-    public Date getGmtModified() {
-        return gmtModified;
-    }
-
-    public void setGmtModified(Date gmtModified) {
-        this.gmtModified = gmtModified;
-    }
-
-    public String getCreator() {
-        return creator;
-    }
-
-    public void setCreator(String creator) {
-        this.creator = creator;
-    }
-
-    public String getModifier() {
-        return modifier;
-    }
-
-    public void setModifier(String modifier) {
-        this.modifier = modifier;
-    }
-
-    public Long getLibId() {
-        return libId;
-    }
-
-    public void setLibId(Long libId) {
-        this.libId = libId;
-    }
-
-    public String getLibName() {
-        return libName;
-    }
-
-    public void setLibName(String libName) {
-        this.libName = libName;
-    }
-
-    public Integer getLibType() {
-        return libType;
-    }
-
-    public void setLibType(Integer libType) {
-        this.libType = libType;
-    }
-
-    public Integer getStatus() {
-        return status;
-    }
-
-    public void setStatus(Integer status) {
-        this.status = status;
-    }
-
-    @Override
-    public String toString() {
-        return "KlConcept{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", libId=" + libId +
-                ", libName=" + libName +
-                ", libType=" + libType +
-                ", status=" + status +
-                "}";
-    }
+    @ApiModelProperty("收藏状态:0-未收藏,1-已收藏")
+    private Integer collectionStatus;
+
 }

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

@@ -14,12 +14,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.IndexByApprovalVO;
-import com.diagbot.vo.KllisDetailVO;
-import com.diagbot.vo.SearchCollectionConceptVO;
-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;
@@ -545,4 +540,18 @@ public class KlConceptFacade extends KlConceptServiceImpl {
         List<GetAllForRelationDTO> getAllForRelationDTOS = this.searchCollectionConcept(searchCollectionConceptVO);
         return getAllForRelationDTOS;
     }
+
+    /**
+     * 收藏医学知识(静态知识)/经典病例
+     * @param staticKnowledgeAndClassicCaseVO
+     * @return
+     */
+    public Boolean collectionStaticKnowledgeAndClassicCase(StaticKnowledgeAndClassicCaseVO staticKnowledgeAndClassicCaseVO) {
+
+        boolean updateSuccess = this.lambdaUpdate()
+                .eq(KlConcept::getLibName, staticKnowledgeAndClassicCaseVO.getLibName())
+                .set(KlConcept::getCollectionStatus, staticKnowledgeAndClassicCaseVO.getCollectionStatus())
+                .update();
+        return updateSuccess;
+    }
 }

+ 93 - 0
src/main/java/com/diagbot/facade/MedRetrievalFacade.java

@@ -1,6 +1,8 @@
 package com.diagbot.facade;
 
 import com.diagbot.dto.*;
+import com.diagbot.entity.KlConcept;
+import com.diagbot.entity.KlDisease;
 import com.diagbot.enums.LexiconEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
@@ -20,6 +22,7 @@ import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description:
@@ -34,6 +37,8 @@ public class MedRetrievalFacade {
     private DictionaryFacade dictionaryFacade;
     @Autowired
     private KlDictionaryInfoFacade klDictionaryInfoFacade;
+    @Autowired
+    private KlDiseaseFacade klDiseaseFacade;
 
     /**
      * 检索
@@ -309,6 +314,65 @@ public class MedRetrievalFacade {
         return retList;
     }
 
+    /**
+     * 收藏医学知识(静态信息)检索
+     *
+     * @param
+     * @return
+     */
+    public List<StaticKnowledgeIndexDTO> CollectionStaticKnowledgeIndex() {
+
+        List<StaticKnowledgeIndexDTO> retList = new ArrayList<>();
+
+        List<KlConcept> list = klConceptFacade.lambdaQuery()
+                .eq(KlConcept::getCollectionStatus, 1)//查询已收藏的医学知识(静态信息)
+                .ne(KlConcept::getLibType, 411)//排除掉经典病例
+                .list();
+        for (KlConcept klConcept : list) {
+            StaticKnowledgeIndexDTO dto = new StaticKnowledgeIndexDTO();
+            KlDisease klDisease = klDiseaseFacade.lambdaQuery()
+                    .eq(KlDisease::getConceptId, klConcept.getId())
+                    .one();
+            dto.setId(klConcept.getId());
+            dto.setName(klConcept.getLibName());
+            dto.setCode(klDisease.getIcd10Code());
+            dto.setStatus(1);//已收藏,必然启用
+            dto.setCollectionStatus(1);//已收藏
+            switch(klConcept.getLibType()){
+                case 100:
+                    dto.setType(1);
+                    dto.setTypeName("诊断");
+                case 101:
+                    dto.setType(2);
+                    dto.setTypeName("药品");
+                case 107:
+                    dto.setType(3);
+                    dto.setTypeName("检验套餐");
+                case 108:
+                    dto.setType(4);
+                    dto.setTypeName("检验细项");
+                case 109:
+                    dto.setType(5);
+                    dto.setTypeName("检查");
+                case 106:
+                    dto.setType(7);
+                    dto.setTypeName("手术和操作");
+                case 124:
+                    dto.setType(8);
+                    dto.setTypeName("量表/医学计算公式");
+                case 123:
+                    dto.setType(9);
+                    dto.setTypeName("护理");
+                case 130:
+                    dto.setType(1);
+                    dto.setTypeName("政策法规");
+            }
+            retList.add(dto);
+        }
+
+        return retList;
+    }
+
     /**
      * 经典病历检索
      *
@@ -353,6 +417,35 @@ public class MedRetrievalFacade {
         return retList;
     }
 
+    /**
+     * 收藏经典病历检索
+     *
+     * @param
+     * @return
+     */
+    public List<ClassicCaseIndexDTO> collectionClassicCaseIndex() {
+
+        List<ClassicCaseIndexDTO> retList = new ArrayList<>();
+
+        List<KlConcept> list = klConceptFacade.lambdaQuery()
+                .eq(KlConcept::getCollectionStatus, 1)//查询已收藏
+                .eq(KlConcept::getLibType, 411)//经典病例
+                .list();
+        for (KlConcept klConcept : list) {
+            ClassicCaseIndexDTO dto = new ClassicCaseIndexDTO();
+            dto.setId(klConcept.getId());
+            dto.setName(klConcept.getLibName());
+            dto.setStatus(1);//已收藏,必然启用
+            dto.setCollectionStatus(1);//已收藏
+            dto.setType(11);
+            dto.setTypeName("经典病例");
+
+            retList.add(dto);
+        }
+
+        return retList;
+    }
+
     /**
      * 页面显示词性和标准词性转换
      *

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

@@ -2,8 +2,10 @@ package com.diagbot.web;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.*;
 import com.diagbot.facade.KlConceptFacade;
+import com.diagbot.facade.KlDiseaseFacade;
 import com.diagbot.facade.MedRetrievalFacade;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.vo.*;
@@ -56,6 +58,15 @@ public class RetrievalController {
         return RespDTO.onSuc(data);
     }
 
+    @ApiOperation(value = "收藏医学知识(静态知识)检索[zhaops]",
+            notes = "types: 类型(多选):0-全部、1-诊断、2-药品、3-检验、5-检查、6-手术和操作、8-量表、9-护理、10-政策法规、12-症状 <br>" +
+                    "inputStr: 检索内容<br>")
+    @PostMapping("/collectionStaticKnowledgeIndex")
+    public RespDTO<List<StaticKnowledgeIndexDTO>> collectionStaticKnowledgeIndex() {
+        List<StaticKnowledgeIndexDTO> data = medRetrievalFacade.CollectionStaticKnowledgeIndex();
+        return RespDTO.onSuc(data);
+    }
+
     @ApiOperation(value = "经典病历检索",
             notes = "types: 类型:11-经典病历 <br>" +
                     "inputStr: 检索内容<br>")
@@ -65,6 +76,15 @@ public class RetrievalController {
         return RespDTO.onSuc(data);
     }
 
+    @ApiOperation(value = "收藏经典病历检索",
+            notes = "types: 类型:11-经典病历 <br>" +
+                    "inputStr: 检索内容<br>")
+    @PostMapping("/collectionClassicCaseIndex")
+    public RespDTO<List<ClassicCaseIndexDTO>> collectionClassicCaseIndex() {
+        List<ClassicCaseIndexDTO> data = medRetrievalFacade.collectionClassicCaseIndex();
+        return RespDTO.onSuc(data);
+    }
+
     @ApiOperation(value = "术语批量查询[zhaops]",
             notes = "type: 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医诊断、13-中医证候、14-麻醉、15-药品剂型、16-给药途径<br>" +
                     "ids: 术语id列表<br>" +
@@ -114,4 +134,12 @@ public class RetrievalController {
         BeanUtil.copyProperties(data, page);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "收藏医学知识(静态知识)/经典病例")
+    @PostMapping("/collectionStaticKnowledgeAndClassicCase")
+    @SysLogger("collectionStaticKnowledgeAndClassicCase")
+    public Boolean collectionStaticKnowledgeAndClassicCase(@Valid @RequestBody StaticKnowledgeAndClassicCaseVO staticKnowledgeAndClassicCaseVO) {
+
+        return klConceptFacade.collectionStaticKnowledgeAndClassicCase(staticKnowledgeAndClassicCaseVO);
+    }
 }