浏览代码

所有术语查询接口分类

MarkHuang 6 年之前
父节点
当前提交
066c34e3ae
共有 19 个文件被更改,包括 540 次插入68 次删除
  1. 3 0
      knowledgeman-service/src/main/java/com/diagbot/api/ImportExcel.java
  2. 68 0
      knowledgeman-service/src/main/java/com/diagbot/api/ImportWord.java
  3. 129 51
      knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java
  4. 49 0
      knowledgeman-service/src/main/java/com/diagbot/facade/LibraryDetailFacade.java
  5. 53 1
      knowledgeman-service/src/main/java/com/diagbot/facade/MedicalFacade.java
  6. 12 0
      knowledgeman-service/src/main/java/com/diagbot/facade/RelationFacade.java
  7. 1 3
      knowledgeman-service/src/main/java/com/diagbot/facade/RelationshipFacade.java
  8. 3 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/ConceptMapper.java
  9. 13 2
      knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryInfoMapper.java
  10. 2 0
      knowledgeman-service/src/main/java/com/diagbot/service/ConceptService.java
  11. 5 1
      knowledgeman-service/src/main/java/com/diagbot/service/LibraryInfoService.java
  12. 2 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/ConceptServiceImpl.java
  13. 10 2
      knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryInfoServiceImpl.java
  14. 2 1
      knowledgeman-service/src/main/java/com/diagbot/vo/TermVo.java
  15. 42 6
      knowledgeman-service/src/main/java/com/diagbot/web/ConceptController.java
  16. 67 0
      knowledgeman-service/src/main/java/com/diagbot/web/LibraryDetailController.java
  17. 29 1
      knowledgeman-service/src/main/java/com/diagbot/web/MedicalController.java
  18. 46 0
      knowledgeman-service/src/main/java/com/diagbot/web/RelationController.java
  19. 4 0
      knowledgeman-service/src/main/resources/mapper/LibraryInfoMapper.xml

+ 3 - 0
knowledgeman-service/src/main/java/com/diagbot/api/ImportExcel.java

@@ -198,6 +198,7 @@ public class ImportExcel {
                                                 medlist = new ArrayList<>();
                                                 medlist.add(medical);
                                                 amendTermVo.setMedicalInfo(medlist);
+//                                                amendTermVo.setMedicalInfo(medical);
 
                                                 conceptFacade.upsertConceptInfo(amendTermVo);
                                                 System.out.println(name + ":\t 已入库.");
@@ -220,6 +221,7 @@ public class ImportExcel {
                                                 medlist = new ArrayList<>();
                                                 medlist.add(medical);
                                                 amendTermVo.setMedicalInfo(medlist);
+//                                                amendTermVo.setMedicalInfo(medical);
 
                                                 conceptFacade.upsertConceptInfo(amendTermVo);
 
@@ -257,6 +259,7 @@ public class ImportExcel {
                                                 medlist = new ArrayList<>();
                                                 medlist.add(medical);
                                                 amendTermVo.setMedicalInfo(medlist);
+//                                                amendTermVo.setMedicalInfo(medical);
 
                                                 conceptFacade.upsertConceptInfo(amendTermVo);
 

+ 68 - 0
knowledgeman-service/src/main/java/com/diagbot/api/ImportWord.java

@@ -0,0 +1,68 @@
+package com.diagbot.api;
+
+import org.apache.poi.poifs.filesystem.POIFSFileSystem;
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
+import org.apache.poi.xwpf.usermodel.XWPFTable;
+import org.apache.poi.xwpf.usermodel.XWPFTableCell;
+import org.apache.poi.xwpf.usermodel.XWPFTableRow;
+
+import java.io.FileInputStream;
+import java.util.Iterator;
+import java.util.List;
+
+public class ImportWord {
+    public static void main(String[] args) {
+        String filepath = "E:\\危重病人APACHE II评分表量表.docx";
+        parseWord(filepath);
+    }
+
+    /**
+     * 读取文档中表格
+     * @param filePath
+     */
+    public static void parseWord(String filePath){
+        try{
+            FileInputStream in = new FileInputStream(filePath);//载入文档
+            // 处理docx格式 即office2007以后版本
+            if(filePath.toLowerCase().endsWith("docx")){
+                //word 2007 图片不会被读取, 表格中的数据会被放在字符串的最后
+                XWPFDocument xwpf = new XWPFDocument(in);//得到word文档的信息
+                Iterator<XWPFTable> it = xwpf.getTablesIterator();//得到word中的表格
+                // 设置需要读取的表格  set是设置需要读取的第几个表格,total是文件中表格的总数
+                int set = 1, total = 4;
+                int num = set;
+                // 过滤前面不需要的表格
+//                for (int i = 0; i < set-1; i++) {
+//                    it.hasNext();
+//                    it.next();
+//                }
+                while(it.hasNext()){
+                    XWPFTable table = it.next();
+                    System.out.println("这是第" + num + "个表的数据");
+                    List<XWPFTableRow> rows = table.getRows();
+                    //读取每一行数据
+                    for (int i = 0; i < rows.size(); i++) {
+                        XWPFTableRow  row = rows.get(i);
+                        //读取每一列数据
+                        List<XWPFTableCell> cells = row.getTableCells();
+                        for (int j = 0; j < cells.size(); j++) {
+                            XWPFTableCell cell = cells.get(j);
+                            //输出当前的单元格的数据
+                            System.out.print(cell.getText() + "\t");
+                        }
+                        System.out.println();
+                    }
+                    // 过滤多余的表格
+                    while (num < total) {
+                        it.hasNext();
+                        it.next();
+                        num += 1;
+                    }
+                }
+            }
+        }catch(Exception e){
+            e.printStackTrace();
+        }
+    }
+
+}

+ 129 - 51
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -1,9 +1,11 @@
 package com.diagbot.facade;
 
-//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.api.ImportExcel;
 import com.diagbot.dto.ConceptDTO;
+import com.diagbot.dto.LibraryInfoDTO;
 import com.diagbot.entity.*;
 //import com.diagbot.dto.RelationDTO;
 //import com.diagbot.exception.CommonErrorCode;
@@ -12,24 +14,15 @@ import com.diagbot.service.impl.ConceptServiceImpl;
 import com.diagbot.vo.AmendTermVo;
 //import com.diagbot.vo.MedicalVo;
 import com.diagbot.vo.TermVo;
-//import org.apache.poi.ss.usermodel.Row;
-//import org.apache.poi.ss.usermodel.Cell;
-//import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-//import org.apache.poi.ss.usermodel.Sheet;
-//import org.apache.poi.ss.usermodel.Workbook;
-//import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.multipart.MultipartFile;
 
-//import java.io.IOException;
-//import java.io.InputStream;
+
 import java.time.LocalDateTime;
-//import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.HashMap;
-//import java.util.List;
 import java.util.List;
 import java.util.Map;
 
@@ -53,70 +46,155 @@ public class ConceptFacade extends ConceptServiceImpl {
 
 
     /**
-     * 获取医学术语信息
+     * 获取医学术语基本信息
      *
      * @param termvo
-     * @return ConceptDTO
+     * @return List<ConceptDTO>
      */
-    public ConceptDTO getConceptInfo(@RequestBody TermVo termvo) {
+    public List<ConceptDTO> getConceptInfo(@RequestBody TermVo termvo) {
+
+        List<ConceptDTO> conceptDTOs = new ArrayList<>();
+        ConceptDTO conceptDTO;
+
+        // 获取医学术语的基本信息
+        QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
+        query.like("name", termvo.getTerm());
+        query.eq("is_concept", 1);
+        List<LibraryInfo> libraryInfos = libraryinfoFacade.list(query);
+
+        for (LibraryInfo libraryInfo:libraryInfos) {
+            conceptDTO = new ConceptDTO();
+            conceptDTO.setId(libraryInfo.getConceptId());
+            conceptDTO.setLibId(libraryInfo.getId().intValue());
+            conceptDTO.setName(libraryInfo.getName());
+            conceptDTO.setLibraryInfo(libraryInfo);
+
+            conceptDTOs.add(conceptDTO);
+        }
+
+        return conceptDTOs;
+    }
+
+
+    /**
+     * 获取医学术语静态信息
+     *
+     * @param termvo
+     * @return ConceptDTO
+     *
+    public ConceptDTO getConceptKnowledge(@RequestBody TermVo termvo) {
 
         LibraryInfo libraryInfo;
+        List<LibraryDetail> libraryDetails;
+        TermVo termVo;
+
         ConceptDTO conceptDTO = getConcept(termvo);
-        // 获取与医学术语的基本信息
-        if (conceptDTO != null) {
 
-            Map<String, Object> params = new HashMap<>();
-            params.put("id", conceptDTO.getLibId());
-            params.put("concept_id", conceptDTO.getId());
-            libraryInfo = libraryinfoFacade.getLibraryInfor(params);
+        if (conceptDTO != null) {
+            // 获取与医学术语的基本信息
+            QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
+            query.eq("concept_id", conceptDTO.getId());
+            query.eq("is_concept", 1);
+            libraryInfo = libraryinfoFacade.getLibraryInfor(query);
 
-            if (libraryInfo.getIsConcept() != null && libraryInfo.getIsConcept() == 1) {
+            if (libraryInfo != null) {
                 conceptDTO.setName(libraryInfo.getName());
+
+                // 获取与术语相关的静态知识
+                termVo = new TermVo();
+                termVo.setConcept_id(conceptDTO.getId());
+                termVo.setTerm(libraryInfo.getName());
+                termVo.setType(libraryInfo.getType());
+
+                libraryDetails = libraryDetailFacade.getLibraryDetail(termVo);
+
+                if (libraryDetails != null) {
+                    conceptDTO.setInformation(libraryDetails);
+                }
             }
-            conceptDTO.setLibraryInfo(libraryInfo);
+        }
+
+
+        return conceptDTO;
+    }
+
+
 
-            // 获取与术语相关的医学知识
-            params = new HashMap<>();
-            params.put("concept_id", conceptDTO.getId());
-            conceptDTO.setInformation(libraryDetailFacade.getLibraryDetails(params));
-            // 获取与术语相关的临床医学信息
-            params = new HashMap<>();
-            params.put("name", termvo.getTerm());
-            params.put("concept_id", conceptDTO.getId());
-            conceptDTO.setMedicalInfo(medicalFacade.getMedicalInfo(params));
-            // 获取术语的所有上级信息
-            conceptDTO.setRelations(relationFacade.getAllRelation(termvo));
+    /**
+     * 获取术语医学信息
+     *
+     * @param termvo
+     * @return ConceptDTO
+     *
+    public ConceptDTO getConceptMedInfo(@RequestBody TermVo termvo) {
+        LibraryInfo libraryInfo;
+
+        ConceptDTO conceptDTO = getConcept(termvo);
+
+        if (conceptDTO != null) {
+            // 获取与医学术语的基本信息
+            QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
+            query.eq("concept_id", conceptDTO.getId());
+            query.eq("is_concept", 1);
+            libraryInfo = libraryinfoFacade.getLibraryInfor(query);
+
+            if (libraryInfo != null) {
+                conceptDTO.setName(libraryInfo.getName());
+                // 获取与术语相关的临床医学信息
+                QueryWrapper<Medical> medquery = new QueryWrapper<>();
+                query.eq("concept_id", conceptDTO.getId());
+                query.eq("name", termvo.getTerm());
+                conceptDTO.setMedicalInfo(medicalFacade.getOne(medquery));
+            }
         }
 
         return conceptDTO;
     }
 
     /**
-     * 获取医学术语列表
+     * 获取术语关系信息
      *
-     * @param
-     * @return List<ConceptDTO>
-     */
-    public List<ConceptDTO> getAllConcept() {
-        List<ConceptDTO> conceptDTOS = new ArrayList<>();
-        ConceptDTO conceptDTO;
+     * @param termvo
+     * @return ConceptDTO
+     *
+    public ConceptDTO getConceptRelation(@RequestBody TermVo termvo) {
+        LibraryInfo libraryInfo;
+        TermVo termVo;
 
-        QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
-        query.eq("is_concept", 1);
-        List<LibraryInfo> libraryInfos = libraryinfoFacade.list(query);
+        ConceptDTO conceptDTO = getConcept(termvo);
+        // 获取医学术语的基本信息
+        if (conceptDTO != null) {
+            // 获取与医学术语的基本信息
+            QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
+            query.eq("concept_id", conceptDTO.getId());
+            query.eq("is_concept", 1);
+            libraryInfo = libraryinfoFacade.getLibraryInfor(query);
 
-        for (LibraryInfo libraryInfo : libraryInfos) {
-            conceptDTO = new ConceptDTO();
+            if (libraryInfo != null) {
+                conceptDTO.setName(libraryInfo.getName());
 
-            conceptDTO.setId(libraryInfo.getConceptId());
-            conceptDTO.setLibId(libraryInfo.getId().intValue());
-            conceptDTO.setName(libraryInfo.getName());
-            conceptDTO.setLibraryInfo(libraryInfo);
+                termVo = new TermVo();
+                termVo.setConcept_id(conceptDTO.getId());
 
-            conceptDTOS.add(conceptDTO);
+                // 获取术语的所有上级信息
+                conceptDTO.setRelations(relationFacade.getAllRelation(termvo));
+            }
         }
 
-        return conceptDTOS;
+        return conceptDTO;
+    }
+    */
+
+    /**
+     * 获取医学术语列表
+     *
+     * @param page
+     * @return IPage<LibraryDTO>
+     */
+    public IPage<LibraryInfoDTO> getAllConcepts(Page page) {
+        LibraryInfoDTO libraryInfoDTO = new LibraryInfoDTO();
+
+        return libraryinfoFacade.getAllConcept(page, libraryInfoDTO);
     }
 
 

+ 49 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/LibraryDetailFacade.java

@@ -1,13 +1,16 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.ConceptDTO;
 import com.diagbot.entity.LibraryDetail;
 import com.diagbot.entity.LibraryInfo;
 import com.diagbot.service.impl.LibraryDetailServiceImpl;
 import com.diagbot.vo.AmendTermVo;
 import com.diagbot.vo.TermVo;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import java.time.LocalDateTime;
 import java.util.ArrayList;
@@ -23,6 +26,12 @@ import java.util.Map;
 @Component
 public class LibraryDetailFacade extends LibraryDetailServiceImpl {
 
+    @Autowired
+    private ConceptFacade conceptFacade;
+
+    @Autowired
+    private LibraryInfoFacade libraryInfoFacade;
+
     /**
      * 获取医学术语静态知识
      *
@@ -42,6 +51,46 @@ public class LibraryDetailFacade extends LibraryDetailServiceImpl {
         return libraryDetails;
     }
 
+    /**
+     * 获取医学术语静态信息
+     *
+     * @param termvo
+     * @return ConceptDTO
+     */
+    public ConceptDTO getConceptKnowledge(@RequestBody TermVo termvo) {
+
+        List<LibraryInfo> libraryInfos;
+        LibraryInfo libraryInfo;
+        List<LibraryDetail> libraryDetails;
+
+        ConceptDTO conceptDTO = conceptFacade.getConcept(termvo);
+
+        if (conceptDTO != null) {
+            // 获取与医学术语的基本信息
+            QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
+            query.eq("concept_id", conceptDTO.getId());
+            query.eq("is_concept", 1);
+            libraryInfos = libraryInfoFacade.list(query);
+
+            if (libraryInfos != null) {
+                libraryInfo = libraryInfos.get(0);
+                conceptDTO.setName(libraryInfo.getName());
+
+                // 获取与术语相关的静态知识
+                QueryWrapper<LibraryDetail> querydetail = new QueryWrapper<>();
+                querydetail.eq("concept_id", conceptDTO.getId());
+
+                libraryDetails = list(querydetail);
+
+                if (libraryDetails != null) {
+                    conceptDTO.setInformation(libraryDetails);
+                }
+            }
+        }
+
+        return conceptDTO;
+    }
+
 
     /**
      * 更新或添加医学术语静态信息

+ 53 - 1
knowledgeman-service/src/main/java/com/diagbot/facade/MedicalFacade.java

@@ -1,13 +1,18 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.ConceptDTO;
 import com.diagbot.dto.TypeDTO;
+import com.diagbot.entity.LibraryInfo;
 import com.diagbot.entity.Medical;
 import com.diagbot.service.impl.MedicalServiceImpl;
 import com.diagbot.vo.AmendTermVo;
 import com.diagbot.vo.MedicalVo;
+import com.diagbot.vo.TermVo;
 import com.diagbot.vo.TypeVo;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -22,6 +27,11 @@ import java.util.Map;
 @Component
 public class MedicalFacade extends MedicalServiceImpl {
 
+    @Autowired
+    ConceptFacade conceptFacade;
+    @Autowired
+    LibraryInfoFacade libraryInfoFacade;
+
     /**
      * 获取医学术语知识
      *
@@ -41,6 +51,45 @@ public class MedicalFacade extends MedicalServiceImpl {
         return medicals;
     }
 
+    /**
+     * 获取术语医学知识
+     *
+     * @param termVo
+     * @result ConceptDTO
+     */
+    public ConceptDTO getConceptMedicalInfo(@RequestBody TermVo termVo) {
+        List<LibraryInfo> libraryInfos;
+        LibraryInfo libraryInfo;
+        List<Medical> medicals;
+
+        ConceptDTO conceptDTO = conceptFacade.getConcept(termVo);
+
+        if (conceptDTO != null) {
+            // 获取与医学术语的基本信息
+            QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
+            query.eq("concept_id", conceptDTO.getId());
+            query.eq("is_concept", 1);
+            libraryInfos = libraryInfoFacade.list(query);
+
+            if (libraryInfos != null) {
+                libraryInfo = libraryInfos.get(0);
+                conceptDTO.setName(libraryInfo.getName());
+
+                // 获取与术语相关的医学知识
+                QueryWrapper<Medical> querymed = new QueryWrapper<>();
+                querymed.eq("concept_id", conceptDTO.getId());
+
+                medicals = list(querymed);
+
+                if (medicals != null) {
+                    conceptDTO.setMedicalInfo(medicals);
+                }
+            }
+        }
+
+        return conceptDTO;
+    }
+
     /**
      * 更新或添加医学术语信息
      *
@@ -52,9 +101,10 @@ public class MedicalFacade extends MedicalServiceImpl {
         Medical medical;
         List<Medical> medicals;
 
-        if (amendTermVo.getMedicalInfo() != null && amendTermVo.getMedicalInfo().size() > 0) {
+        if (amendTermVo.getMedicalInfo() != null /*&& amendTermVo.getMedicalInfo().size() > 0*/) {
             for (int i=0; i<amendTermVo.getMedicalInfo().size(); i++) {
                 medical = amendTermVo.getMedicalInfo().get(i);
+//                medical = amendTermVo.getMedicalInfo();
 
                 map = new HashMap<>();
                 map.put("name", amendTermVo.getNewterm());
@@ -80,6 +130,8 @@ public class MedicalFacade extends MedicalServiceImpl {
 
 
                 this.saveOrUpdate(medical);
+
+//                amendTermVo.setMedicalInfo(medical);
                 amendTermVo.getMedicalInfo().set(i, medical);
             }
         }

+ 12 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/RelationFacade.java

@@ -2,7 +2,9 @@ package com.diagbot.facade;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.ConceptDTO;
 import com.diagbot.dto.RelationDTO;
+import com.diagbot.entity.Concept;
 import com.diagbot.entity.LexiconRelationship;
 import com.diagbot.entity.LibraryInfo;
 import com.diagbot.entity.Relation;
@@ -26,6 +28,8 @@ import java.util.Map;
 @Component
 public class RelationFacade extends RelationServiceImpl {
 
+    @Autowired
+    private ConceptFacade conceptFacade;
     @Autowired
     private LibraryInfoFacade libraryInfoFacade;
     @Autowired
@@ -57,6 +61,14 @@ public class RelationFacade extends RelationServiceImpl {
     public List<RelationDTO> getAllRelation(TermVo termVo) {
         List<RelationDTO> relationDTOs = new ArrayList<>();
 
+        if (termVo.getConcept_id() == 0) {
+            ConceptDTO conceptDTO = conceptFacade.getConcept(termVo);
+
+            if (conceptDTO != null) {
+                termVo.setConcept_id(conceptDTO.getId());
+            }
+        }
+
         List<Relation> relations = new ArrayList<>();
         relations = getList(relations, termVo.getConcept_id(), -1);
         relationDTOs.addAll(ConvertListtoDTO(relations));

+ 1 - 3
knowledgeman-service/src/main/java/com/diagbot/facade/RelationshipFacade.java

@@ -29,9 +29,7 @@ public class RelationshipFacade extends LexiconRelationshipServiceImpl {
             wrapper.eq("id", relationDTO.getRelationId());
         }
 
-        if (wrapper.getParamNameValuePairs().size() > 0) {
-            lexiconRelationship = this.getOne(wrapper);
-        }
+        lexiconRelationship = this.getOne(wrapper);
 
         return lexiconRelationship;
     }

+ 3 - 0
knowledgeman-service/src/main/java/com/diagbot/mapper/ConceptMapper.java

@@ -1,7 +1,9 @@
 package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.ConceptDTO;
+import com.diagbot.dto.LibraryInfoDTO;
 import com.diagbot.entity.Concept;
 import com.diagbot.vo.TermVo;
 
@@ -23,6 +25,7 @@ public interface ConceptMapper extends BaseMapper<Concept> {
      */
     public ConceptDTO getConcept(TermVo termVo);
 
+
     /**
      * 获取所有没有实体关联的概念
      *

+ 13 - 2
knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryInfoMapper.java

@@ -2,6 +2,9 @@ package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.diagbot.dto.LibraryInfoDTO;
 import com.diagbot.entity.LibraryInfo;
 import com.diagbot.vo.TermVo;
 
@@ -20,9 +23,17 @@ public interface LibraryInfoMapper extends BaseMapper<LibraryInfo> {
      * 获取术语基本信息
      *
      * @param wrapper
-     * @return LibraryInfo
+     * @return List<LibraryInfo>
      */
-    public LibraryInfo getLibraryInfo(QueryWrapper<LibraryInfo> wrapper);
+    public List<LibraryInfo> getLibraryInfo(QueryWrapper<LibraryInfo> wrapper);
+
+    /**
+     * 获取所有术语信息
+     *
+     * @param
+     * @return IPage<LibraryInfoDTO>
+     */
+    public IPage<LibraryInfoDTO> getAllConcept(Page page, LibraryInfoDTO libraryInfoDTO);
 
     /**
      * 获取所有没有实体关联的静态信息

+ 2 - 0
knowledgeman-service/src/main/java/com/diagbot/service/ConceptService.java

@@ -1,7 +1,9 @@
 package com.diagbot.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.dto.ConceptDTO;
+import com.diagbot.dto.LibraryInfoDTO;
 import com.diagbot.entity.Concept;
 import com.diagbot.vo.TermVo;
 

+ 5 - 1
knowledgeman-service/src/main/java/com/diagbot/service/LibraryInfoService.java

@@ -1,7 +1,10 @@
 package com.diagbot.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.LibraryInfoDTO;
 import com.diagbot.entity.LibraryInfo;
 import com.diagbot.vo.TermVo;
 
@@ -16,7 +19,8 @@ import java.util.List;
  * @since 2019-01-30
  */
 public interface LibraryInfoService extends IService<LibraryInfo> {
-    public LibraryInfo getLibraryInfor(QueryWrapper<LibraryInfo> wrapper);
+//    public List<LibraryInfo> getLibraryInfor(QueryWrapper<LibraryInfo> wrapper);
 
+    public IPage<LibraryInfoDTO> getAllConcept(Page page, LibraryInfoDTO libraryInfoDTO);
     public List<LibraryInfo> getLimboItems();
 }

+ 2 - 0
knowledgeman-service/src/main/java/com/diagbot/service/impl/ConceptServiceImpl.java

@@ -1,7 +1,9 @@
 package com.diagbot.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.dto.ConceptDTO;
+import com.diagbot.dto.LibraryInfoDTO;
 import com.diagbot.entity.Concept;
 import com.diagbot.mapper.ConceptMapper;
 import com.diagbot.service.ConceptService;

+ 10 - 2
knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryInfoServiceImpl.java

@@ -1,7 +1,10 @@
 package com.diagbot.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.LibraryInfoDTO;
 import com.diagbot.entity.LibraryInfo;
 import com.diagbot.mapper.LibraryInfoMapper;
 import com.diagbot.service.LibraryInfoService;
@@ -20,9 +23,14 @@ import java.util.List;
  */
 @Service
 public class LibraryInfoServiceImpl extends ServiceImpl<LibraryInfoMapper, LibraryInfo> implements LibraryInfoService {
+//    @Override
+//    public List<LibraryInfo> getLibraryInfor(QueryWrapper<LibraryInfo> wrapper) {
+//        return baseMapper.getLibraryInfo(wrapper);
+//    }
+
     @Override
-    public LibraryInfo getLibraryInfor(QueryWrapper<LibraryInfo> wrapper) {
-        return baseMapper.getLibraryInfo(wrapper);
+    public IPage<LibraryInfoDTO> getAllConcept(Page page, LibraryInfoDTO libraryInfoDTO) {
+        return baseMapper.getAllConcept(page, libraryInfoDTO);
     }
 
     @Override

+ 2 - 1
knowledgeman-service/src/main/java/com/diagbot/vo/TermVo.java

@@ -1,5 +1,6 @@
 package com.diagbot.vo;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -12,7 +13,7 @@ import javax.validation.constraints.NotNull;
  */
 @Getter
 @Setter
-public class TermVo {
+public class TermVo extends Page {
     @NotNull(message = "请输入医学术语")
     private String term;
 

+ 42 - 6
knowledgeman-service/src/main/java/com/diagbot/web/ConceptController.java

@@ -3,8 +3,8 @@ package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.ConceptDTO;
+import com.diagbot.dto.LibraryInfoDTO;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.dto.TermDTO;
 import com.diagbot.facade.ConceptFacade;
 import com.diagbot.vo.AmendTermVo;
 import com.diagbot.vo.TermVo;
@@ -13,6 +13,7 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
+import com.baomidou.mybatisplus.core.metadata.*;
 
 import javax.validation.Valid;
 import java.util.List;
@@ -37,18 +38,52 @@ public class ConceptController {
     @ApiOperation(value = "查询所有术语")
     @PostMapping("getAllConcept")
     @SysLogger("getAllConcept")
-    public RespDTO<TermDTO> getAllConcept() {
-        List<ConceptDTO> data = conceptFacade.getAllConcept();
+    public RespDTO<IPage<LibraryInfoDTO>> getAllConcept(@RequestBody TermVo termVo) {
+        IPage<LibraryInfoDTO> data = conceptFacade.getAllConcepts(termVo);
 
         return RespDTO.onSuc(data);
     }
 
-    @ApiOperation(value = "术语信息查询",
+    @ApiOperation(value = "术语基本信息查询",
             notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>")
     @PostMapping("/getConceptInfo")
     @SysLogger("getConceptInfo")
-    public RespDTO<TermDTO> getConceptInfo(@Valid @RequestBody TermVo termvo) {
-        ConceptDTO data = conceptFacade.getConceptInfo(termvo);
+    public RespDTO<List<ConceptDTO>> getConceptInfo(@Valid @RequestBody TermVo termvo) {
+        List<ConceptDTO> data = conceptFacade.getConceptInfo(termvo);
+
+        return RespDTO.onSuc(data);
+    }
+
+    /*
+    @ApiOperation(value = "术语静态知识查询",
+            notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>")
+    @PostMapping("/getConceptKnowledge")
+    @SysLogger("getConceptKnowledge")
+    public RespDTO<TermDTO> getConceptKnowledge(@Valid @RequestBody TermVo termvo) {
+        ConceptDTO data = conceptFacade.getConceptKnowledge(termvo);
+
+        return RespDTO.onSuc(data);
+    }
+    *
+
+
+    @ApiOperation(value = "术语医学信息查询",
+            notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>")
+    @PostMapping("/getConceptMedInfo")
+    @SysLogger("getConceptMedInfo")
+    public RespDTO<TermDTO> getConceptMedInfo(@Valid @RequestBody TermVo termvo) {
+        ConceptDTO data = conceptFacade.getConceptMedInfo(termvo);
+
+        return RespDTO.onSuc(data);
+    }
+
+    /*
+    @ApiOperation(value = "术语医学关系查询",
+            notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>")
+    @PostMapping("/getConceptRelation")
+    @SysLogger("getConceptRelation")
+    public RespDTO<TermDTO> getConceptRelation(@Valid @RequestBody TermVo termvo) {
+        ConceptDTO data = conceptFacade.getConceptRelation(termvo);
 
         return RespDTO.onSuc(data);
     }
@@ -63,6 +98,7 @@ public class ConceptController {
 
         return RespDTO.onSuc(data);
     }
+    */
 
     @ApiOperation(value = "术语导入", notes = "导入术语信息")
     @PostMapping("/importTermExcel")

+ 67 - 0
knowledgeman-service/src/main/java/com/diagbot/web/LibraryDetailController.java

@@ -0,0 +1,67 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.ConceptDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.TermDTO;
+import com.diagbot.facade.LibraryDetailFacade;
+import com.diagbot.vo.TermVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-30
+ */
+@RestController
+@RequestMapping("/Knowledge")
+@Api(value = "标准术语静态知识API", tags = { "标准术语静态知识API" })
+
+public class LibraryDetailController {
+    @Autowired
+    private LibraryDetailFacade libraryDetailFacade;
+    /*
+    @ApiOperation(value = "查询所有术语")
+    @PostMapping("getAllConcept")
+    @SysLogger("getAllConcept")
+    public RespDTO<TermDTO> getAllConcept() {
+        List<ConceptDTO> data = conceptFacade.getAllConcept();
+
+        return RespDTO.onSuc(data);
+    }
+    */
+
+    @ApiOperation(value = "术语静态知识查询",
+            notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>")
+    @PostMapping("/getConceptKnowledge")
+    @SysLogger("getConceptKnowledge")
+    public RespDTO<TermDTO> getConceptKnowledge(@Valid @RequestBody TermVo termvo) {
+        ConceptDTO data = libraryDetailFacade.getConceptKnowledge(termvo);
+
+        return RespDTO.onSuc(data);
+    }
+
+    /*
+    @ApiOperation(value = "术语修改",
+            notes = "OldTerm: 原来的术语名称, 必填<br/>NewTerm: 新的术语名称, 必填<br/>" +
+                    "Concept: 概念名称,必填<br/>Type: 新的术语类型, 必填<br/>")
+    @PostMapping("/updateConceptInfo")
+    @SysLogger("updateConceptInfo")
+    public RespDTO<ConceptDTO> updateConceptInfo(@Valid @RequestBody AmendTermVo amendTermVo) {
+        ConceptDTO data = conceptFacade.upsertConceptInfo(amendTermVo);
+
+        return RespDTO.onSuc(data);
+    }
+    */
+
+}

+ 29 - 1
knowledgeman-service/src/main/java/com/diagbot/web/MedicalController.java

@@ -1,9 +1,23 @@
 package com.diagbot.web;
 
 
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.ConceptDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.TermDTO;
+import com.diagbot.facade.MedicalFacade;
+import com.diagbot.vo.TermVo;
+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.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
 
 /**
  * <p>
@@ -13,8 +27,22 @@ import org.springframework.stereotype.Controller;
  * @author Weixuan Huang
  * @since 2019-01-16
  */
-@Controller
+@RestController
 @RequestMapping("/medical")
+@Api(value = "标准术语医学知识API", tags = { "标准术语医学知识API" })
+
 public class MedicalController {
+    @Autowired
+    MedicalFacade medicalFacade;
+
+    @ApiOperation(value = "术语医学知识查询",
+            notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>")
+    @PostMapping("/getConceptMedicalInfo")
+    @SysLogger("getConceptMedicalInfo")
+    public RespDTO<ConceptDTO> getConceptMedicalInfo(@Valid @RequestBody TermVo termvo) {
+        ConceptDTO data = medicalFacade.getConceptMedicalInfo(termvo);
+
+        return RespDTO.onSuc(data);
+    }
 
 }

+ 46 - 0
knowledgeman-service/src/main/java/com/diagbot/web/RelationController.java

@@ -0,0 +1,46 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RelationDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.RelationFacade;
+import com.diagbot.vo.TermVo;
+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;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-16
+ */
+@RestController
+@RequestMapping("/relation")
+@Api(value = "标准术语关系API", tags = { "标准术语关系API" })
+
+public class RelationController {
+    @Autowired
+    RelationFacade relationFacade;
+
+    @ApiOperation(value = "标准术语关系查询",
+            notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>")
+    @PostMapping("/getConceptRelation")
+    @SysLogger("getConceptRelation")
+    public RespDTO<List<RelationDTO>> getConceptRelation(@Valid @RequestBody TermVo termvo) {
+        List<RelationDTO> data = relationFacade.getAllRelation(termvo);
+
+        return RespDTO.onSuc(data);
+    }
+
+}

+ 4 - 0
knowledgeman-service/src/main/resources/mapper/LibraryInfoMapper.xml

@@ -17,6 +17,10 @@
         <result column="is_concept" property="isConcept" />
     </resultMap>
 
+    <select id="getAllConcept" resultType="com.diagbot.entity.LibraryInfo">
+        SELECT * FROM library_info WHERE is_concept = 1
+    </select>
+
     <select id="getLimboItems" resultType="com.diagbot.entity.LibraryInfo">
         SELECT * FROM library_info WHERE concept_id in
         (