ソースを参照

更新术语医学和静态知识接口的列表功能

MarkHuang 6 年 前
コミット
dc14db6555
21 ファイル変更282 行追加473 行削除
  1. 0 185
      knowledgeman-service/src/main/java/com/diagbot/api/ExcelAPI.java
  2. 3 3
      knowledgeman-service/src/main/java/com/diagbot/api/ImportExcel.java
  3. 85 0
      knowledgeman-service/src/main/java/com/diagbot/dto/LibraryDetailDTO.java
  4. 20 5
      knowledgeman-service/src/main/java/com/diagbot/dto/MedicalDTO.java
  5. 5 5
      knowledgeman-service/src/main/java/com/diagbot/entity/Medical.java
  6. 26 180
      knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java
  7. 23 20
      knowledgeman-service/src/main/java/com/diagbot/facade/LibraryDetailFacade.java
  8. 0 39
      knowledgeman-service/src/main/java/com/diagbot/facade/LibraryInfoFacade.java
  9. 12 13
      knowledgeman-service/src/main/java/com/diagbot/facade/MedicalFacade.java
  10. 12 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryDetailMapper.java
  11. 2 1
      knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryInfoMapper.java
  12. 12 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/MedicalMapper.java
  13. 5 0
      knowledgeman-service/src/main/java/com/diagbot/service/LibraryDetailService.java
  14. 4 0
      knowledgeman-service/src/main/java/com/diagbot/service/MedicalService.java
  15. 8 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryDetailServiceImpl.java
  16. 7 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/MedicalServiceImpl.java
  17. 11 10
      knowledgeman-service/src/main/java/com/diagbot/web/ConceptController.java
  18. 16 7
      knowledgeman-service/src/main/java/com/diagbot/web/LibraryDetailController.java
  19. 18 4
      knowledgeman-service/src/main/java/com/diagbot/web/MedicalController.java
  20. 6 0
      knowledgeman-service/src/main/resources/mapper/LibraryDetailMapper.xml
  21. 7 1
      knowledgeman-service/src/main/resources/mapper/MedicalMapper.xml

+ 0 - 185
knowledgeman-service/src/main/java/com/diagbot/api/ExcelAPI.java

@@ -1,185 +0,0 @@
-package com.diagbot.api;
-
-import jxl.Sheet;
-import jxl.Workbook;
-import jxl.read.biff.BiffException;
-import jxl.write.Label;
-import jxl.write.WritableSheet;
-import jxl.write.WritableWorkbook;
-import jxl.write.WriteException;
-import org.bson.Document;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-public class ExcelAPI {
-    private static final String EXCEL_XLS = "xls";
-    private static final String EXCEL_XLSX = "xlsx";
-
-    public List readExcel(String filepath) {
-        try {
-            File file = new File(filepath);
-            // 创建输入流,读取Excel
-            InputStream is = new FileInputStream(file.getAbsolutePath());
-
-            // jxl提供的Workbook类
-            Workbook wb = Workbook.getWorkbook(is);
-            // Excel的页签数量
-            int sheet_size = wb.getNumberOfSheets();
-            for (int index = 0; index < sheet_size; index++) {
-                List<List> outerList=new ArrayList<List>();
-                // 每个页签创建一个Sheet对象
-                Sheet sheet = wb.getSheet(index);
-                // sheet.getRows()返回该页的总行数
-                for (int i = 0; i < sheet.getRows(); i++) {
-                    List innerList=new ArrayList();
-                    // sheet.getColumns()返回该页的总列数
-                    for (int j = 0; j < sheet.getColumns(); j++) {
-                        String cellinfo = sheet.getCell(j, i).getContents();
-                        if(cellinfo.isEmpty()){
-                            continue;
-                        }
-                        innerList.add(cellinfo);
-                        System.out.print(cellinfo);
-                    }
-                    outerList.add(i, innerList);
-                    System.out.println();
-                }
-                return outerList;
-            }
-        } catch (FileNotFoundException e) {
-            e.printStackTrace();
-        } catch (BiffException e) {
-            e.printStackTrace();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-    public void writeExcel(OutputStream os, ArrayList<String> column, Map<String, Document> Res) throws WriteException,IOException {
-        Document doc;
-        int idx;
-        int cnt = 1;
-        /*
-        //创建工作薄
-        WritableWorkbook workbook = Workbook.createWorkbook(os);
-        //创建新的一页
-        WritableSheet sheet = workbook.createSheet("First Sheet", 0);
-        //构造表头
-        sheet.mergeCells(0, 0, 4, 0);//添加合并单元格,第一个参数是起始列,第二个参数是起始行,第三个参数是终止列,第四个参数是终止行
-        WritableFont bold = new WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD);//设置字体种类和黑体显示,字体为Arial,字号大小为10,采用黑体显示
-        WritableCellFormat titleFormate = new WritableCellFormat(bold);//生成一个单元格样式控制对象
-        titleFormate.setAlignment(jxl.format.Alignment.CENTRE);//单元格中的内容水平方向居中
-        titleFormate.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//单元格的内容垂直方向居中
-        Label title = new Label(0,0,"JExcelApi支持数据类型详细说明",titleFormate);
-        sheet.setRowView(0, 600, false);//设置第一行的高度
-        sheet.addCell(title);
-
-        //创建要显示的具体内容
-        WritableFont color = new WritableFont(WritableFont.ARIAL);//选择字体
-        color.setColour(Colour.GOLD);//设置字体颜色为金黄色
-        WritableCellFormat colorFormat = new WritableCellFormat(color);
-        Label formate = new Label(0,1,"数据格式",colorFormat);
-        sheet.addCell(formate);
-        Label floats = new Label(1,1,"浮点型");
-        sheet.addCell(floats);
-        Label integers = new Label(2,1,"整型");
-        sheet.addCell(integers);
-        Label booleans = new Label(3,1,"布尔型");
-        sheet.addCell(booleans);
-        Label dates = new Label(4,1,"日期格式");
-        sheet.addCell(dates);
-
-        Label example = new Label(0,2,"数据示例",colorFormat);
-        sheet.addCell(example);
-        //浮点数据
-        //设置下划线
-        WritableFont underline= new WritableFont(WritableFont.ARIAL,WritableFont.DEFAULT_POINT_SIZE,WritableFont.NO_BOLD,false,UnderlineStyle.SINGLE);
-        WritableCellFormat greyBackground = new WritableCellFormat(underline);
-        greyBackground.setBackground(Colour.GRAY_25);//设置背景颜色为灰色
-        Number number = new Number(1,2,3.1415926535,greyBackground);
-        sheet.addCell(number);
-        //整形数据
-        WritableFont boldNumber = new WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD);//黑体
-        WritableCellFormat boldNumberFormate = new WritableCellFormat(boldNumber);
-        Number ints = new Number(2,2,15042699,boldNumberFormate);
-        sheet.addCell(ints);
-        //布尔型数据
-        Boolean bools = new Boolean(3,2,true);
-        sheet.addCell(bools);
-        //日期型数据
-        //设置黑体和下划线
-        WritableFont boldDate = new WritableFont(WritableFont.ARIAL,WritableFont.DEFAULT_POINT_SIZE,WritableFont.BOLD,false,UnderlineStyle.SINGLE);
-        WritableCellFormat boldDateFormate = new WritableCellFormat(boldDate,DateFormats.FORMAT1);
-        Calendar c = Calendar.getInstance();
-        Date date = c.getTime();
-        DateTime dt = new DateTime(4,2,date,boldDateFormate);
-        sheet.addCell(dt);
-        //把创建的内容写入到输出流中,并关闭输出流
-        workbook.write();
-        workbook.close();
-        os.close();
-        */
-
-        //创建工作薄
-        WritableWorkbook workbook = Workbook.createWorkbook(os);
-        //创建新的一页
-        WritableSheet sheet = workbook.createSheet("药品",0);
-
-        //创建要显示的内容,创建一个单元格,第一个参数为列坐标,第二个参数为行坐标,第三个参数为内容
-        Label lbl;
-        for (int i=0; i<column.size(); i++) {
-            lbl = new Label(i, 0, column.get(i));
-            sheet.addCell(lbl);
-        }
-
-        for (String id:Res.keySet()) {
-            doc = Res.get(id);
-            for (String key:doc.keySet()) {
-                String val = doc.getString(key);
-                idx = column.indexOf(key);
-                lbl = new Label(idx, cnt, val);
-                sheet.addCell(lbl);
-            }
-            cnt += 1;
-        }
-        /*
-        Label xuexiao = new Label(0,0,"学校");
-        sheet.addCell(xuexiao);
-        Label zhuanye = new Label(1,0,"专业");
-        sheet.addCell(zhuanye);
-        Label jingzhengli = new Label(2,0,"专业竞争力");
-        sheet.addCell(jingzhengli);
-
-        Label qinghua = new Label(0,1,"清华大学");
-        sheet.addCell(qinghua);
-        Label jisuanji = new Label(1,1,"计算机专业");
-        sheet.addCell(jisuanji);
-        Label gao = new Label(2,1,"高");
-        sheet.addCell(gao);
-
-        Label beida = new Label(0,2,"北京大学");
-        sheet.addCell(beida);
-        Label falv = new Label(1,2,"法律专业");
-        sheet.addCell(falv);
-        Label zhong = new Label(2,2,"中");
-        sheet.addCell(zhong);
-
-        Label ligong = new Label(0,3,"北京理工大学");
-        sheet.addCell(ligong);
-        Label hangkong = new Label(1,3,"航空专业");
-        sheet.addCell(hangkong);
-        Label di = new Label(2,3,"低");
-        sheet.addCell(di);
-        */
-
-        //把创建的内容写入到输出流中,并关闭输出流
-        workbook.write();
-        workbook.close();
-        os.close();
-    }
-}
-

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

@@ -174,7 +174,7 @@ public class ImportExcel {
                                                 amendTermVo.setConcept(std_name);
                                                 amendTermVo.setNewterm(name);
                                                 amendTermVo.setOldterm("");
-                                                amendTermVo.setType(std_type);
+                                                amendTermVo.setNewtype(std_type);
 
                                                 medical = new Medical();
                                                 medical.setName(name);
@@ -210,7 +210,7 @@ public class ImportExcel {
                                                 amendTermVo.setConcept(category);
                                                 amendTermVo.setNewterm(category);
                                                 amendTermVo.setOldterm("");
-                                                amendTermVo.setType(cate_type);
+                                                amendTermVo.setNewtype(cate_type);
 
                                                 medical = new Medical();
                                                 medical.setName(category);
@@ -248,7 +248,7 @@ public class ImportExcel {
                                                 amendTermVo.setConcept(group);
                                                 amendTermVo.setNewterm(group);
                                                 amendTermVo.setOldterm("");
-                                                amendTermVo.setType(grp_type);
+                                                amendTermVo.setNewtype(grp_type);
 
                                                 medical = new Medical();
                                                 medical.setName(group);

+ 85 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/LibraryDetailDTO.java

@@ -0,0 +1,85 @@
+package com.diagbot.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author Weixuan Huang
+ * @since 2019-03-18
+ */
+@Getter
+@Setter
+public class LibraryDetailDTO {
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private char isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 提示概念id
+     */
+    private Long conceptId;
+
+    /**
+     * 提示明细标题
+     */
+    private String title;
+
+    /**
+     * 提示明细内容
+     */
+    private String content;
+
+    /**
+     * 纯文本
+     */
+    private String text;
+
+    /**
+     * 提示明细序号
+     */
+    private Integer orderNo;
+
+    /**
+     * 显示位置(多选):1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书
+     */
+    private String position;
+
+    /**
+     * 是否诊断依据(1-是,0-否)
+     */
+    private Integer isReason;
+
+}

+ 20 - 5
knowledgeman-service/src/main/java/com/diagbot/dto/MedicalDTO.java

@@ -17,14 +17,14 @@ public class MedicalDTO {
     private Integer id;
 
     /**
-     * 名称
+     * 术语概念id
      */
-    private String name;
+    private Integer conceptId;
 
     /**
-     * 术语概念id
+     * 名称
      */
-    private Integer concept_id;
+    private String name;
 
     /**
      * 术语类型编号,对应类型库
@@ -41,6 +41,21 @@ public class MedicalDTO {
      */
     private String stdName;
 
+    /**
+     * 术语小类名称
+     */
+    private String cateName;
+
+    /**
+     * 术语类组
+     */
+    private String grp;
+
+    /**
+     * 效用名称
+     */
+    private String function;
+
     /**
      * 性别:1:男, 2:女, 3:通用
      */
@@ -89,6 +104,6 @@ public class MedicalDTO {
     /**
      * 是否删除,N:未删除,Y:删除
      */
-    private String is_deleted;
+    private String isDeleted;
 
 }

+ 5 - 5
knowledgeman-service/src/main/java/com/diagbot/entity/Medical.java

@@ -97,7 +97,7 @@ public class Medical implements Serializable {
     /**
      * 是否删除,N:未删除,Y:删除
      */
-    private String is_deleted;
+    private String isDeleted;
 
     public Integer getId() {
         return id;
@@ -213,11 +213,11 @@ public class Medical implements Serializable {
     }
 
     public String getIs_deleted() {
-        return is_deleted;
+        return isDeleted;
     }
 
-    public void setIs_deleted(String is_deleted) {
-        this.is_deleted = is_deleted;
+    public void setIs_deleted(String isDeleted) {
+        this.isDeleted = isDeleted;
     }
 
     @Override
@@ -239,7 +239,7 @@ public class Medical implements Serializable {
         ", dept=" + dept +
         ", code=" + code +
         ", note=" + note +
-        ", is_deleted=" + is_deleted +
+        ", isDeleted=" + isDeleted +
         "}";
     }
 }

+ 26 - 180
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -7,12 +7,8 @@ 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;
-//import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.ConceptServiceImpl;
 import com.diagbot.vo.AmendTermVo;
-//import com.diagbot.vo.MedicalVo;
 import com.diagbot.vo.TermVo;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -21,11 +17,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.multipart.MultipartFile;
 
 
-import java.time.LocalDateTime;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 
 /**
@@ -83,116 +76,7 @@ public class ConceptFacade extends ConceptServiceImpl {
 
 
     /**
-     * 获取医学术语静态信息
-     *
-     * @param termvo
-     * @return ConceptDTO
-     *
-    public ConceptDTO getConceptKnowledge(@RequestBody TermVo termvo) {
-
-        LibraryInfo libraryInfo;
-        List<LibraryDetail> libraryDetails;
-        TermVo termVo;
-
-        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());
-
-                // 获取与术语相关的静态知识
-                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);
-                }
-            }
-        }
-
-
-        return conceptDTO;
-    }
-
-
-
-    /**
-     * 获取术语医学信息
-     *
-     * @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 termvo
-     * @return ConceptDTO
-     *
-    public ConceptDTO getConceptRelation(@RequestBody TermVo termvo) {
-        LibraryInfo libraryInfo;
-        TermVo termVo;
-
-        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());
-
-                termVo = new TermVo();
-                termVo.setConcept_id(conceptDTO.getId());
-
-                // 获取术语的所有上级信息
-                conceptDTO.setRelations(relationFacade.getAllRelation(termvo));
-            }
-        }
-
-        return conceptDTO;
-    }
-    */
-
-    /**
-     * 获取医学术语列表
+     * 获取标准术语列表
      *
      * @param page
      * @return IPage<LibraryDTO>
@@ -214,7 +98,7 @@ public class ConceptFacade extends ConceptServiceImpl {
         ConceptDTO conceptDTO = new ConceptDTO();
 
         TermVo termVo = new TermVo();
-        termVo.setTerm(amendTermVo.getConcept());
+        termVo.setTerm(amendTermVo.getNewterm());
         termVo.setType(amendTermVo.getNewtype());
 
         LibraryInfo libraryInfo = libraryinfoFacade.upsertLibraryInfo(amendTermVo);
@@ -245,57 +129,6 @@ public class ConceptFacade extends ConceptServiceImpl {
             }
         }
 
-        /*
-        QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
-        query.eq("name", amendTermVo.getConcept());
-        query.eq("type", amendTermVo.getNewtype());
-        libraryInfo = libraryinfoFacade.getOne(query);
-
-        // 如果术语不存在, 或者术语存在,但处于删除状态
-        if (libraryInfo == null) {
-            AmendTermVo amendconcept = new AmendTermVo();
-            amendconcept.setOldterm("");
-            amendconcept.setNewterm(amendTermVo.getConcept());
-            amendconcept.setConcept(amendTermVo.getConcept());
-            amendconcept.setNewtype(amendTermVo.getNewtype());
-            libraryInfo = libraryinfoFacade.upsertLibraryInfo(amendconcept);
-        }
-        *
-
-        // 如果术语已存在
-
-        // 如果概念术语不存在,添加新术语,然后添加新的概念
-        conceptDTO = getConcept(termVo);
-        if (conceptDTO == null) {
-            AmendTermVo amendconcept = new AmendTermVo();
-            amendconcept.setOldterm(amendTermVo.getOldterm());
-            amendconcept.setNewterm(amendTermVo.getConcept());
-            amendconcept.setConcept("");
-            amendconcept.setNewtype(amendTermVo.getNewtype());
-            libraryinfoFacade.upsertLibraryInfo(amendconcept);
-
-            Map<String, Object> params = new HashMap<>();
-            params.put("name", amendTermVo.getConcept());
-            params.put("type", amendTermVo.getNewtype());
-            int libid = libraryinfoFacade.getLibraryInfor(params).getId().intValue();
-
-
-            Concept concept = new Concept();
-            concept.setLibId(libid);
-            concept.setGmtCreated(LocalDateTime.now());
-            this.saveOrUpdate(concept);
-
-            termVo.setType(amendTermVo.getNewtype());
-            conceptDTO = getConcept(termVo);
-        }
-
-
-        amendTermVo.setConcept_id(conceptDTO.getId());
-        LibraryInfo libraryInfo = libraryinfoFacade.upsertLibraryInfo(amendTermVo);
-        conceptDTO.setLibraryInfo(libraryInfo);
-
-//        conceptDTO = updateConceptInfo(amendTermVo, conceptDTO);
-        */
 
         query = new QueryWrapper<>();
         query.eq("name", amendTermVo.getNewterm());
@@ -316,26 +149,39 @@ public class ConceptFacade extends ConceptServiceImpl {
     }
 
     /**
-     * 更新或添加医学术语信息
+     * 删除医学术语信息
      *
-     * @param amendTermVo
-     * @param conceptDTO
+     * @param termVo
      * @return ConceptDTO
      *
-    public ConceptDTO updateConceptInfo(AmendTermVo amendTermVo, ConceptDTO conceptDTO) {
+     */
+    public ConceptDTO removeConceptInfo(TermVo termVo) {
+
+        ConceptDTO conceptDTO = getConcept(termVo);
 
-        libraryDetailFacade.upsertConceptKnowledge(amendTermVo);
-        conceptDTO.setInformation(amendTermVo.getInformation());
+        if (conceptDTO == null) {
+            conceptDTO = new ConceptDTO();
+            String msg = "概念\"" + termVo.getTerm() + "\"不存在!";
+            conceptDTO.setMessage(new ArrayList<String>());
+            conceptDTO.getMessage().add(msg);
 
-        medicalFacade.upsertMedicalInfo(amendTermVo);
-        conceptDTO.setMedicalInfo(amendTermVo.getMedicalInfo());
+            return conceptDTO;
+        }
+        else {
+            conceptDTO = libraryDetailFacade.getConceptKnowledge(termVo);
+            if (conceptDTO.getInformation() != null && conceptDTO.getInformation().size() > 0) {
+                String msg = "概念\"" + termVo.getTerm() + "\"的静态知识还存在!";
+                conceptDTO.setMessage(new ArrayList<String>());
+                conceptDTO.getMessage().add(msg);
+
+                return conceptDTO;
+            }
 
-        relationFacade.upsertRelationInfo(amendTermVo);
-        conceptDTO.setRelations(amendTermVo.getRelations());
+        }
 
         return conceptDTO;
     }
-    */
+
 
 
 

+ 23 - 20
knowledgeman-service/src/main/java/com/diagbot/facade/LibraryDetailFacade.java

@@ -1,7 +1,10 @@
 package com.diagbot.facade;
 
 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.diagbot.dto.ConceptDTO;
+import com.diagbot.dto.LibraryDetailDTO;
 import com.diagbot.entity.LibraryDetail;
 import com.diagbot.entity.LibraryInfo;
 import com.diagbot.service.impl.LibraryDetailServiceImpl;
@@ -32,24 +35,21 @@ public class LibraryDetailFacade extends LibraryDetailServiceImpl {
     @Autowired
     private LibraryInfoFacade libraryInfoFacade;
 
+
     /**
-     * 获取医学术语静态知识
+     * 获取所有术语静态知识列表
      *
-     * @param params
-     * @result LibraryDetail
+     * @param page
+     * @return IPage<LibraryDetailDTO>
      */
-    public List<LibraryDetail> getLibraryDetails(Map<String, Object> params) {
-        QueryWrapper<LibraryDetail> wrapper = new QueryWrapper();
-        List<LibraryDetail> libraryDetails;
+    public IPage<LibraryDetailDTO> getAllLibraryDetail(Page page) {
+        LibraryDetailDTO medicalDTO = new LibraryDetailDTO();
+
+        return getAllKnowledge(page, medicalDTO);
+    }
 
-        for (String key:params.keySet()) {
-            wrapper.eq(key, params.get(key));
-        }
 
-        libraryDetails = this.list(wrapper);
 
-        return libraryDetails;
-    }
 
     /**
      * 获取医学术语静态信息
@@ -69,23 +69,26 @@ public class LibraryDetailFacade extends LibraryDetailServiceImpl {
             // 获取与医学术语的基本信息
             QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
             query.eq("concept_id", conceptDTO.getId());
+            query.eq("is_deleted", "N");
             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());
+            // 获取与术语相关的静态知识
+            QueryWrapper<LibraryDetail> querydetail = new QueryWrapper<>();
+            querydetail.eq("concept_id", conceptDTO.getId());
+            querydetail.eq("is_deleted", "N");
 
-                libraryDetails = list(querydetail);
+            libraryDetails = list(querydetail);
 
-                if (libraryDetails != null) {
-                    conceptDTO.setInformation(libraryDetails);
-                }
+            if (libraryDetails != null) {
+                conceptDTO.setInformation(libraryDetails);
             }
+
         }
 
         return conceptDTO;
@@ -150,7 +153,7 @@ public class LibraryDetailFacade extends LibraryDetailServiceImpl {
      * @param termVo
      * @return ConceptDTO
      */
-    public Boolean deleteConceptKnowledge(TermVo termVo) {
+    public Boolean removeConceptKnowledge(TermVo termVo) {
 
         Boolean isdeleted = false;
         List<LibraryDetail> libraryDetails;

+ 0 - 39
knowledgeman-service/src/main/java/com/diagbot/facade/LibraryInfoFacade.java

@@ -109,45 +109,6 @@ public class LibraryInfoFacade extends LibraryInfoServiceImpl {
             libraryInfo = getOne(queryWrapper);
         }
 
-        /*
-        Map<String, Object> map = new HashMap<>();
-        map.put("name", concept);
-        map.put("type", type);
-        LibraryInfo conceptInfo = this.getLibraryInfor(map);
-
-        map.put("name", newterm);
-        LibraryInfo libraryInfo = getLibraryInfor(map);
-
-        // 如果术语概念存在,而且新术语不存在
-        if (libraryInfo == null) {
-
-            // 如果原先术语名称为空,则添加新术语
-            if (oldterm.trim().length() == 0 && newterm.trim().length() > 0) {
-                libraryInfo = new LibraryInfo();
-                libraryInfo.setGmtCreated(LocalDateTime.now());
-            }
-            // 原先的术语名称不为空,则修改原先的术语
-            else if (oldterm.trim().length() > 0 && !oldterm.trim().equals(newterm.trim())) {
-                map.put("name", oldterm);
-                libraryInfo = getLibraryInfor(map);
-
-                libraryInfo.setGmtModified(LocalDateTime.now());
-            }
-
-            libraryInfo.setName(newterm);
-            libraryInfo.setType(type);
-        }
-
-        if (conceptInfo != null) {
-            libraryInfo.setConceptId(concept_id);
-
-            if (newterm.trim().equals(concept.trim())) {
-                libraryInfo.setIsConcept(1);
-            }
-        }
-
-        this.saveOrUpdate(libraryInfo);
-        */
         return libraryInfo;
     }
 

+ 12 - 13
knowledgeman-service/src/main/java/com/diagbot/facade/MedicalFacade.java

@@ -1,7 +1,10 @@
 package com.diagbot.facade;
 
 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.diagbot.dto.ConceptDTO;
+import com.diagbot.dto.MedicalDTO;
 import com.diagbot.dto.TypeDTO;
 import com.diagbot.entity.LibraryInfo;
 import com.diagbot.entity.Medical;
@@ -31,24 +34,20 @@ public class MedicalFacade extends MedicalServiceImpl {
     @Autowired
     LibraryInfoFacade libraryInfoFacade;
 
+
     /**
-     * 获取医学术语知识
+     * 获取所有医学术语列表
      *
-     * @param params
-     * @result List<Medical>
+     * @param page
+     * @return IPage<MedicalDTO>
      */
-    public List<Medical> getMedicalInfo(Map<String, Object> params) {
-        QueryWrapper<Medical> wrapper = new QueryWrapper<>();
-        List<Medical> medicals;
+    public IPage<MedicalDTO> getAllMedical(Page page) {
+        MedicalDTO medicalDTO = new MedicalDTO();
 
-        for (String key:params.keySet()) {
-            wrapper.eq(key, params.get(key));
-        }
+        return getAllMedicalInfo(page, medicalDTO);
+    }
 
-        medicals = this.list(wrapper);
 
-        return medicals;
-    }
 
     /**
      * 获取术语医学知识
@@ -153,7 +152,7 @@ public class MedicalFacade extends MedicalServiceImpl {
      * @param termVo
      * @return ConceptDTO
      */
-    public Boolean deleteMedicalInfo(TermVo termVo) {
+    public Boolean removeMedicalInfo(TermVo termVo) {
 
         Boolean isdeleted = false;
         List<Medical> medicals;

+ 12 - 0
knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryDetailMapper.java

@@ -1,6 +1,9 @@
 package com.diagbot.mapper;
 
 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.LibraryDetailDTO;
 import com.diagbot.entity.LibraryDetail;
 import com.diagbot.vo.TermVo;
 
@@ -15,6 +18,15 @@ import java.util.List;
  * @since 2019-01-30
  */
 public interface LibraryDetailMapper extends BaseMapper<LibraryDetail> {
+    /**
+     * 获取所有术语静态知识
+     *
+     * @param page
+     * @param libraryDetailDTO
+     * @return IPage<LibraryDetailDTO>
+     */
+    public IPage<LibraryDetailDTO> getAllKnowledge(Page page, LibraryDetailDTO libraryDetailDTO);
+
     /**
      * 获取术语知识
      *

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

@@ -30,7 +30,8 @@ public interface LibraryInfoMapper extends BaseMapper<LibraryInfo> {
     /**
      * 获取所有术语信息
      *
-     * @param
+     * @param page
+     * @param libraryInfoDTO
      * @return IPage<LibraryInfoDTO>
      */
     public IPage<LibraryInfoDTO> getAllConcept(Page page, LibraryInfoDTO libraryInfoDTO);

+ 12 - 0
knowledgeman-service/src/main/java/com/diagbot/mapper/MedicalMapper.java

@@ -1,5 +1,7 @@
 package com.diagbot.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.dto.ConceptDTO;
 import com.diagbot.dto.LibraryDTO;
 import com.diagbot.dto.MedicalDTO;
@@ -19,6 +21,16 @@ import java.util.List;
  * @since 2019-01-16
  */
 public interface MedicalMapper extends BaseMapper<Medical> {
+    /**
+     * 获取所有术语医学信息
+     *
+     * @param page
+     * @param medicalDTO
+     * @return IPage<MedicalDTO>
+     */
+    public IPage<MedicalDTO> getAllMedicalInfo(Page page, MedicalDTO medicalDTO);
+
+
     /**
      * 获取术语临床医学信息
      *

+ 5 - 0
knowledgeman-service/src/main/java/com/diagbot/service/LibraryDetailService.java

@@ -1,6 +1,9 @@
 package com.diagbot.service;
 
+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.LibraryDetailDTO;
 import com.diagbot.entity.LibraryDetail;
 import com.diagbot.vo.TermVo;
 
@@ -15,6 +18,8 @@ import java.util.List;
  * @since 2019-01-30
  */
 public interface LibraryDetailService extends IService<LibraryDetail> {
+    public IPage<LibraryDetailDTO> getAllKnowledge(Page page, LibraryDetailDTO libraryDetailDTO);
+
     public List<LibraryDetail> getLibraryDetail(TermVo termVo);
 
     public void truncateDetail();

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

@@ -1,5 +1,7 @@
 package com.diagbot.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.dto.LibraryDTO;
 import com.diagbot.dto.MedicalDTO;
 import com.diagbot.dto.TypeDTO;
@@ -18,6 +20,8 @@ import java.util.List;
  * @since 2019-01-16
  */
 public interface MedicalService extends IService<Medical> {
+    public IPage<MedicalDTO> getAllMedicalInfo(Page page, MedicalDTO medicalDTO);
+
     public List<Medical> getMedicalInfo(LibraryDTO libraryDTO);
 
     public List<TypeDTO> getTypeId(TypeVo typeVo);

+ 8 - 0
knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryDetailServiceImpl.java

@@ -1,6 +1,9 @@
 package com.diagbot.service.impl;
 
+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.LibraryDetailDTO;
 import com.diagbot.entity.LibraryDetail;
 import com.diagbot.mapper.LibraryDetailMapper;
 import com.diagbot.service.LibraryDetailService;
@@ -19,6 +22,11 @@ import java.util.List;
  */
 @Service
 public class LibraryDetailServiceImpl extends ServiceImpl<LibraryDetailMapper, LibraryDetail> implements LibraryDetailService {
+    @Override
+    public IPage<LibraryDetailDTO> getAllKnowledge(Page page, LibraryDetailDTO libraryDetailDTO) {
+        return baseMapper.getAllKnowledge(page, libraryDetailDTO);
+    }
+
     @Override
     public List<LibraryDetail> getLibraryDetail(TermVo termVo) {
         return baseMapper.getLibraryDetail(termVo);

+ 7 - 0
knowledgeman-service/src/main/java/com/diagbot/service/impl/MedicalServiceImpl.java

@@ -1,5 +1,7 @@
 package com.diagbot.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.dto.LibraryDTO;
 import com.diagbot.dto.MedicalDTO;
 import com.diagbot.dto.TypeDTO;
@@ -22,6 +24,11 @@ import java.util.List;
  */
 @Service
 public class MedicalServiceImpl extends ServiceImpl<MedicalMapper, Medical> implements MedicalService {
+    @Override
+    public IPage<MedicalDTO> getAllMedicalInfo(Page page, MedicalDTO medicalDTO) {
+        return baseMapper.getAllMedicalInfo(page, medicalDTO);
+    }
+
     @Override
     public List<Medical> getMedicalInfo(LibraryDTO libraryDTO) {
         return baseMapper.getMedicalInfo(libraryDTO);

+ 11 - 10
knowledgeman-service/src/main/java/com/diagbot/web/ConceptController.java

@@ -5,6 +5,7 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.ConceptDTO;
 import com.diagbot.dto.LibraryInfoDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.Concept;
 import com.diagbot.facade.ConceptFacade;
 import com.diagbot.vo.AmendTermVo;
 import com.diagbot.vo.ConceptVo;
@@ -65,15 +66,15 @@ public class ConceptController {
 
         return RespDTO.onSuc(data);
     }
-    *
+    */
 
 
-    @ApiOperation(value = "术语医学信息查询",
+    @ApiOperation(value = "术语基本信息删除",
             notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>")
-    @PostMapping("/getConceptMedInfo")
-    @SysLogger("getConceptMedInfo")
-    public RespDTO<TermDTO> getConceptMedInfo(@Valid @RequestBody TermVo termvo) {
-        ConceptDTO data = conceptFacade.getConceptMedInfo(termvo);
+    @PostMapping("/removeConceptInfo")
+    @SysLogger("removeConceptInfo")
+    public RespDTO<ConceptDTO> removeConceptInfo(@Valid @RequestBody TermVo termvo) {
+        ConceptDTO data = conceptFacade.removeConceptInfo(termvo);
 
         return RespDTO.onSuc(data);
     }
@@ -90,12 +91,12 @@ public class ConceptController {
     }
     */
 
-    @ApiOperation(value = "术语基本信息修改",
+    @ApiOperation(value = "术语基本信息添加或修改",
             notes = "Concept: 概念名称,必填<br/>NewTerm: 新的术语名称, 必填<br/>" +
                     "NewType: 新的术语类型, 必填<br/>")
-    @PostMapping("/updateConceptInfo")
-    @SysLogger("updateConceptInfo")
-    public RespDTO<ConceptDTO> updateConceptInfo(@Valid @RequestBody AmendTermVo amendTermVo) {
+    @PostMapping("/upsertConceptInfo")
+    @SysLogger("upsertConceptInfo")
+    public RespDTO<ConceptDTO> upsertConceptInfo(@Valid @RequestBody AmendTermVo amendTermVo) {
         ConceptDTO data = conceptFacade.upsertConceptInfo(amendTermVo);
 
         return RespDTO.onSuc(data);

+ 16 - 7
knowledgeman-service/src/main/java/com/diagbot/web/LibraryDetailController.java

@@ -1,12 +1,12 @@
 package com.diagbot.web;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
-import com.diagbot.dto.ConceptDTO;
-import com.diagbot.dto.RespDTO;
-import com.diagbot.dto.TermDTO;
+import com.diagbot.dto.*;
 import com.diagbot.facade.LibraryDetailFacade;
 import com.diagbot.vo.AmendTermVo;
+import com.diagbot.vo.ConceptVo;
 import com.diagbot.vo.TermVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -32,6 +32,15 @@ public class LibraryDetailController {
     @Autowired
     private LibraryDetailFacade libraryDetailFacade;
 
+    @ApiOperation(value = "查询所有术语静态知识")
+    @PostMapping("getAllKnowledge")
+    @SysLogger("getAllKnowledge")
+    public RespDTO<IPage<LibraryDetailDTO>> getAllKnowledge(@RequestBody ConceptVo conceptVo) {
+        IPage<LibraryDetailDTO> data = libraryDetailFacade.getAllLibraryDetail(conceptVo);
+
+        return RespDTO.onSuc(data);
+    }
+
 
     @ApiOperation(value = "术语静态知识查询",
             notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>")
@@ -57,10 +66,10 @@ public class LibraryDetailController {
 
     @ApiOperation(value = "术语静态知识删除",
             notes = "Term: 术语名称, 必填<br/>Type: 术语类型, 必填<br/>")
-    @PostMapping("/deleteConceptKnowledge")
-    @SysLogger("deleteConceptKnowledge")
-    public RespDTO<ConceptDTO> deleteConceptKnowledge(@Valid @RequestBody TermVo termVo) {
-        Boolean result = libraryDetailFacade.deleteConceptKnowledge(termVo);
+    @PostMapping("/removeConceptKnowledge")
+    @SysLogger("removeConceptKnowledge")
+    public RespDTO<ConceptDTO> removeConceptKnowledge(@Valid @RequestBody TermVo termVo) {
+        Boolean result = libraryDetailFacade.removeConceptKnowledge(termVo);
 
         return RespDTO.onSuc(result);
     }

+ 18 - 4
knowledgeman-service/src/main/java/com/diagbot/web/MedicalController.java

@@ -1,10 +1,14 @@
 package com.diagbot.web;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.ConceptDTO;
+import com.diagbot.dto.LibraryInfoDTO;
+import com.diagbot.dto.MedicalDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.MedicalFacade;
+import com.diagbot.vo.ConceptVo;
 import com.diagbot.vo.TermVo;
 import com.diagbot.vo.AmendTermVo;
 import io.swagger.annotations.Api;
@@ -34,6 +38,16 @@ public class MedicalController {
     @Autowired
     MedicalFacade medicalFacade;
 
+    @ApiOperation(value = "查询所有医学知识")
+    @PostMapping("getAllMedicalInfo")
+    @SysLogger("getAllMedicalInfo")
+    public RespDTO<IPage<MedicalDTO>> getAllMedicalInfo(@RequestBody ConceptVo conceptVo) {
+        IPage<MedicalDTO> data = medicalFacade.getAllMedical(conceptVo);
+
+        return RespDTO.onSuc(data);
+    }
+
+
     @ApiOperation(value = "术语医学知识查询",
             notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>")
     @PostMapping("/getMedicalInfo")
@@ -56,10 +70,10 @@ public class MedicalController {
 
     @ApiOperation(value = "术语医学知识删除",
             notes = "Term: 术语名称, 必填<br/>Type: 术语类型, 必填<br/>")
-    @PostMapping("/deleteMedicalInfo")
-    @SysLogger("deleteMedicalInfo")
-    public RespDTO<ConceptDTO> deleteMedicalInfo(@Valid @RequestBody TermVo termVo) {
-        Boolean result = medicalFacade.deleteMedicalInfo(termVo);
+    @PostMapping("/removeMedicalInfo")
+    @SysLogger("removeMedicalInfo")
+    public RespDTO<ConceptDTO> removeMedicalInfo(@Valid @RequestBody TermVo termVo) {
+        Boolean result = medicalFacade.removeMedicalInfo(termVo);
 
         return RespDTO.onSuc(result);
     }

+ 6 - 0
knowledgeman-service/src/main/resources/mapper/LibraryDetailMapper.xml

@@ -19,6 +19,12 @@
         <result column="is_reason" property="isReason" />
     </resultMap>
 
+    <select id="getAllKnowledge" resultType="com.diagbot.dto.LibraryDetailDTO">
+        SELECT * FROM library_detail
+        WHERE is_deleted = "N"
+        ORDER BY concept_id
+    </select>
+
     <update id="truncateDetail">
         Truncate Table library_detail
     </update>

+ 7 - 1
knowledgeman-service/src/main/resources/mapper/MedicalMapper.xml

@@ -20,9 +20,15 @@
         <result column="dept" property="dept" />
         <result column="code" property="code" />
         <result column="note" property="note" />
-        <result column="is_deleted" property="is_deleted" />
+        <result column="is_deleted" property="isDeleted" />
     </resultMap>
 
+    <select id="getAllMedicalInfo" resultType="com.diagbot.dto.MedicalDTO">
+        SELECT * FROM medical
+        WHERE is_deleted = "N"
+        ORDER BY concept_id
+    </select>
+
     <select id="getTypeId" parameterType="com.diagbot.vo.TypeVo" resultType="com.diagbot.dto.TypeDTO">
         SELECT id, name
         FROM lexicon