Browse Source

术语静态知识维护修改

rgb 6 years ago
parent
commit
994b3a24be
47 changed files with 634 additions and 2048 deletions
  1. 0 458
      knowledgeman-service/src/main/java/com/diagbot/api/ImportExcel.java
  2. 0 72
      knowledgeman-service/src/main/java/com/diagbot/dto/ConceptDTO.java
  3. 83 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetLibraryDetailDTO.java
  4. 106 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetLibraryDetailListDTO.java
  5. 0 29
      knowledgeman-service/src/main/java/com/diagbot/dto/InforDTO.java
  6. 0 43
      knowledgeman-service/src/main/java/com/diagbot/dto/LibraryDTO.java
  7. 0 100
      knowledgeman-service/src/main/java/com/diagbot/dto/LibraryDetailDTO.java
  8. 0 80
      knowledgeman-service/src/main/java/com/diagbot/dto/LibraryInfoDTO.java
  9. 0 114
      knowledgeman-service/src/main/java/com/diagbot/dto/MedicalDTO.java
  10. 0 64
      knowledgeman-service/src/main/java/com/diagbot/dto/RelationDTO.java
  11. 0 55
      knowledgeman-service/src/main/java/com/diagbot/dto/TermDTO.java
  12. 16 2
      knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java
  13. 111 188
      knowledgeman-service/src/main/java/com/diagbot/facade/LibraryDetailFacade.java
  14. 1 95
      knowledgeman-service/src/main/java/com/diagbot/facade/LibraryInfoFacade.java
  15. 55 27
      knowledgeman-service/src/main/java/com/diagbot/facade/RelationFacade.java
  16. 1 20
      knowledgeman-service/src/main/java/com/diagbot/mapper/ConceptMapper.java
  17. 4 33
      knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryDetailMapper.java
  18. 2 25
      knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryInfoMapper.java
  19. 0 31
      knowledgeman-service/src/main/java/com/diagbot/mapper/MedicalMapper.java
  20. 0 43
      knowledgeman-service/src/main/java/com/diagbot/mapper/RelationMapper.java
  21. 0 8
      knowledgeman-service/src/main/java/com/diagbot/service/ConceptService.java
  22. 2 14
      knowledgeman-service/src/main/java/com/diagbot/service/LibraryDetailService.java
  23. 0 7
      knowledgeman-service/src/main/java/com/diagbot/service/LibraryInfoService.java
  24. 1 13
      knowledgeman-service/src/main/java/com/diagbot/service/MedicalService.java
  25. 1 15
      knowledgeman-service/src/main/java/com/diagbot/service/RelationService.java
  26. 3 16
      knowledgeman-service/src/main/java/com/diagbot/service/impl/ConceptServiceImpl.java
  27. 4 25
      knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryDetailServiceImpl.java
  28. 1 12
      knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryInfoServiceImpl.java
  29. 1 24
      knowledgeman-service/src/main/java/com/diagbot/service/impl/MedicalServiceImpl.java
  30. 3 29
      knowledgeman-service/src/main/java/com/diagbot/service/impl/RelationServiceImpl.java
  31. 86 0
      knowledgeman-service/src/main/java/com/diagbot/vo/AddLibraryDetailVO.java
  32. 0 32
      knowledgeman-service/src/main/java/com/diagbot/vo/AllRelationVo.java
  33. 0 57
      knowledgeman-service/src/main/java/com/diagbot/vo/AmendTermVo.java
  34. 33 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetLibraryDetailListVO.java
  35. 25 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetLibraryDetailVO.java
  36. 0 29
      knowledgeman-service/src/main/java/com/diagbot/vo/KnowledgeVo.java
  37. 0 24
      knowledgeman-service/src/main/java/com/diagbot/vo/MedicalVo.java
  38. 0 33
      knowledgeman-service/src/main/java/com/diagbot/vo/RelationVo.java
  39. 25 0
      knowledgeman-service/src/main/java/com/diagbot/vo/RemoveLibraryDetailVO.java
  40. 0 28
      knowledgeman-service/src/main/java/com/diagbot/vo/TermVo.java
  41. 0 20
      knowledgeman-service/src/main/java/com/diagbot/vo/TypeVo.java
  42. 40 51
      knowledgeman-service/src/main/java/com/diagbot/web/LibraryDetailController.java
  43. 1 15
      knowledgeman-service/src/main/resources/mapper/ConceptMapper.xml
  44. 27 46
      knowledgeman-service/src/main/resources/mapper/LibraryDetailMapper.xml
  45. 0 13
      knowledgeman-service/src/main/resources/mapper/LibraryInfoMapper.xml
  46. 0 20
      knowledgeman-service/src/main/resources/mapper/MedicalMapper.xml
  47. 2 38
      knowledgeman-service/src/main/resources/mapper/RelationMapper.xml

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

@@ -1,458 +0,0 @@
-package com.diagbot.api;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.diagbot.dto.ConceptDTO;
-import com.diagbot.dto.RelationDTO;
-import com.diagbot.entity.LibraryDetail;
-import com.diagbot.entity.LibraryInfo;
-import com.diagbot.entity.Medical;
-import com.diagbot.entity.Relation;
-import com.diagbot.facade.*;
-import com.diagbot.vo.AmendTermVo;
-import com.diagbot.vo.TermVo;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-public class ImportExcel {
-
-//    private static ConceptFacade conceptFacade;
-//
-//    private static LibraryInfoFacade libraryinfoFacade;
-//
-//    private static LibraryDetailFacade libraryDetailFacade;
-//
-//    private static MedicalFacade medicalFacade;
-//
-//    private static RelationFacade relationFacade;
-//
-//    private static String[] catelist = {"症状","查体","化验","辅检","诊断","药品","其他史","治疗方案"};
-//
-//    public static void setConceptFacade(ConceptFacade conceptFacade) {
-//        ImportExcel.conceptFacade = conceptFacade;
-//    }
-//
-//    public static void setLibraryinfoFacade(LibraryInfoFacade libraryinfoFacade) {
-//        ImportExcel.libraryinfoFacade = libraryinfoFacade;
-//    }
-//
-//    public static void setLibraryDetailFacade(LibraryDetailFacade libraryDetailFacade) {
-//        ImportExcel.libraryDetailFacade = libraryDetailFacade;
-//    }
-//
-//    public static void setMedicalFacade(MedicalFacade medicalFacade) {
-//        ImportExcel.medicalFacade = medicalFacade;
-//    }
-//
-//    public static void setRelationFacade(RelationFacade relationFacade) {
-//        ImportExcel.relationFacade = relationFacade;
-//    }
-//
-//
-//    /**
-//     * 从文件批量导入术语信息
-//     *
-//     * @param file
-//     * @return ConceptDTO
-//     */
-//    public static ConceptDTO importBatch(MultipartFile file) {
-//        ConceptDTO conceptDTO = new ConceptDTO();
-//        List<String> messages = new ArrayList<>();
-//
-//        InputStream inputStream = null;
-//        Workbook wb = null;
-//
-//        AmendTermVo amendTermVo;
-//        TermVo termVo;
-//        Medical medical;
-//        List<Medical> medlist;
-//        RelationDTO relationDTO;
-//        List<RelationDTO> rellist;
-//
-//        try {
-//            if (!file.isEmpty()) {
-//                inputStream = file.getInputStream();
-//
-//                if (inputStream.available() > 5120000) {
-//                    messages.add("术语文件最大只支持5MB!");
-//                } else {
-//                    String fileName = file.getOriginalFilename();
-//                    if (fileName.lastIndexOf(".") != -1) {
-//                        String type = fileName.substring(fileName.lastIndexOf("."));
-//                        if (type.equals(".xls")) {
-//                            wb = new HSSFWorkbook(inputStream);
-//                        } else if (type.equals(".xlsx")) {
-//                            wb = new XSSFWorkbook(inputStream);
-//                        }
-//                        if (wb != null) {
-//
-//                            CleanupDB(fileName);
-//
-//                            Sheet sheet = wb.getSheetAt(0);
-//                            int count = 0;
-//                            String group, category, std_name, name, prop, prop1, minagestr, maxagestr;
-//                            int diag_id = 0;
-//                            int treat_id = 0;
-//                            String diag = "";
-//                            String treat = "";
-//                            String diag_type = "";
-//                            String treat_type = "";
-//                            String gender = "";
-//                            String dept = "";
-//                            String note = "";
-//                            int minage = 0;
-//                            int maxage = 0;
-//                            String grp_type = "";
-//                            String cate_type = "";
-//                            String std_type = "";
-//
-//                            if (fileName.indexOf(catelist[7]) == -1) {
-//                                for (Row row : sheet) {
-//                                    count++;
-//
-//                                    if (row != null) {
-//                                        if (count == 1) {
-//                                            grp_type = row.getCell(0).toString();
-//                                            if (medicalFacade.getTypeInfo(grp_type) == null) {
-//                                                System.out.println("术语类型-'" + grp_type + "'不存在!");
-//                                                break;
-//                                            }
-//                                            cate_type = row.getCell(1).toString();
-//                                            if (medicalFacade.getTypeInfo(cate_type) == null) {
-//                                                System.out.println("术语类型-'" + cate_type + "'不存在!");
-//                                                break;
-//                                            }
-//                                            std_type = row.getCell(2).toString().replace("标准名称", "");
-//                                            if (medicalFacade.getTypeInfo(std_type) == null) {
-//                                                System.out.println("术语类型-'" + std_type + "'不存在!");
-//                                                break;
-//                                            }
-//                                        }
-//
-//                                        if (count > 1) {
-//
-//                                            group = (row.getCell(0) == null) ? "" : row.getCell(0).toString().trim();
-//                                            category = (row.getCell(1) == null) ? "" : row.getCell(1).toString().trim();
-//                                            std_name = (row.getCell(2) == null) ? "" : row.getCell(2).toString().trim();
-//                                            name = (row.getCell(3) == null) ? "" : row.getCell(3).toString().trim();
-//                                            prop = (row.getCell(4) == null) ? "" : row.getCell(4).toString().trim();
-//                                            prop1 = (row.getCell(5) == null) ? "" : row.getCell(5).toString().trim();
-//
-//                                            System.out.println(group + "\t" + category + "\t" + std_name + "\t" +
-//                                                    name + "\t" + prop + "\t" + prop1);
-//
-//                                            if (std_type.equals("症状")) {
-//                                                gender = (row.getCell(8) == null) ? "" : row.getCell(8).toString();
-//                                                gender = (gender.indexOf(".") == -1) ? gender : gender.substring(0, gender.indexOf("."));
-//                                                minagestr = (row.getCell(9) == null) ? "0" : row.getCell(9).toString();
-//                                                minage = Integer.valueOf((minagestr.indexOf(".") == -1) ?
-//                                                        minagestr : minagestr.substring(0, minagestr.indexOf(".")));
-//                                                maxagestr = (row.getCell(10) == null) ? "0" : row.getCell(10).toString();
-//                                                maxage = Integer.valueOf((maxagestr.indexOf(".") == -1) ?
-//                                                        maxagestr : maxagestr.substring(0, maxagestr.indexOf(".")));
-//
-////                                            System.out.println(gender + "\t" + minage + "\t" + maxage);
-//                                            } else if (std_type.equals("诊断")) {
-//                                                dept = (row.getCell(7) == null) ? "" : row.getCell(7).toString();
-//                                            } else if (std_type.equals("药品")) {
-//                                                note = (row.getCell(7) == null) ? "" : row.getCell(7).toString();
-//                                            }
-//
-//
-//                                            // 设置实体
-//                                            if (std_name.trim().length() > 0 && name.trim().length() > 0) {
-//                                                amendTermVo = new AmendTermVo();
-//                                                amendTermVo.setConcept(std_name);
-//                                                amendTermVo.setNewterm(name);
-//                                                amendTermVo.setOldterm("");
-//                                                amendTermVo.setNewtype(std_type);
-//
-//                                                medical = new Medical();
-//                                                medical.setName(name);
-//                                                medical.setStdName(std_name);
-//                                                medical.setCateName(category);
-//                                                if (std_type.equals("症状")) {
-//                                                    medical.setBodypart(prop);
-//                                                    medical.setSubBodypart(prop1);
-//                                                    medical.setGender(gender);
-//                                                    medical.setMinAge(minage);
-//                                                    medical.setMaxAge(maxage);
-//                                                    medical.setGrp(group);
-//                                                } else if (std_type.equals("诊断")) {
-//                                                    medical.setDept(dept);
-//                                                } else if (std_type.equals("药品")) {
-//                                                    medical.setNote(note);
-//                                                    String grpname = (group.length() > 0) ? group : "";
-//                                                    String catename = (category.length() > 0) ? ("(" + category + ")") : "";
-//                                                    medical.setFunction(grpname + catename);
-//                                                }
-//                                                medlist = new ArrayList<>();
-//                                                medlist.add(medical);
-//                                                amendTermVo.setMedicalInfo(medlist);
-////                                                amendTermVo.setMedicalInfo(medical);
-//
-//                                                conceptFacade.upsertConceptInfo(amendTermVo);
-//                                                System.out.println(name + ":\t 已入库.");
-//                                            }
-//
-//                                            if (category.length() > 0) {
-//                                                // 设置套餐
-//                                                amendTermVo = new AmendTermVo();
-//                                                amendTermVo.setConcept(category);
-//                                                amendTermVo.setNewterm(category);
-//                                                amendTermVo.setOldterm("");
-//                                                amendTermVo.setNewtype(cate_type);
-//
-//                                                medical = new Medical();
-//                                                medical.setName(category);
-//                                                medical.setStdName(category);
-//                                                medical.setCateName(group);
-//                                                medical.setCode("");
-//                                                medical.setNote("");
-//                                                medlist = new ArrayList<>();
-//                                                medlist.add(medical);
-//                                                amendTermVo.setMedicalInfo(medlist);
-////                                                amendTermVo.setMedicalInfo(medical);
-//
-//                                                conceptFacade.upsertConceptInfo(amendTermVo);
-//
-//                                                if (!std_name.equals(category)) {
-//                                                    relationDTO = new RelationDTO();
-//                                                    relationDTO.setStartId(conceptFacade.getConceptId(std_name, std_type));
-//                                                    relationDTO.setStartName(std_name);
-//                                                    relationDTO.setRelationId(1);
-//                                                    relationDTO.setEndId(conceptFacade.getConceptId(category, cate_type));
-//                                                    relationDTO.setEndName(category);
-//                                                    rellist = new ArrayList<>();
-//                                                    rellist.add(relationDTO);
-//                                                    amendTermVo.setRelations(rellist);
-//
-//                                                    relationFacade.upsertRelationInfo(amendTermVo);
-//                                                }
-//
-//                                                System.out.println(category + ":\t 已入库.");
-//                                            }
-//
-//                                            if (group.length() > 0) {
-//                                                // 设置大类
-//                                                amendTermVo = new AmendTermVo();
-//                                                amendTermVo.setConcept(group);
-//                                                amendTermVo.setNewterm(group);
-//                                                amendTermVo.setOldterm("");
-//                                                amendTermVo.setNewtype(grp_type);
-//
-//                                                medical = new Medical();
-//                                                medical.setName(group);
-//                                                medical.setStdName(group);
-//                                                medical.setCateName("");
-//                                                medical.setCode("");
-//                                                medical.setNote("");
-//                                                medlist = new ArrayList<>();
-//                                                medlist.add(medical);
-//                                                amendTermVo.setMedicalInfo(medlist);
-////                                                amendTermVo.setMedicalInfo(medical);
-//
-//                                                conceptFacade.upsertConceptInfo(amendTermVo);
-//
-//                                                if (!category.equals(group)) {
-//                                                    relationDTO = new RelationDTO();
-//                                                    relationDTO.setStartId(conceptFacade.getConceptId(category, cate_type));
-//                                                    relationDTO.setStartName(category);
-//                                                    relationDTO.setRelationId(1);
-//                                                    relationDTO.setEndId(conceptFacade.getConceptId(group, grp_type));
-//                                                    relationDTO.setEndName(group);
-//                                                    rellist = new ArrayList<>();
-//                                                    rellist.add(relationDTO);
-//                                                    amendTermVo.setRelations(rellist);
-//
-//                                                    relationFacade.upsertRelationInfo(amendTermVo);
-//                                                }
-//
-//                                                System.out.println(group + ":\t 已入库.");
-//                                            }
-//
-////                                        if (count >= 20) break;
-//                                        }
-//                                    }
-//                                    System.out.println(count + " 条记录添加入库.");
-//                                }
-//                            }
-//                            else {
-//                                for (Row row : sheet) {
-//                                    count++;
-//
-//                                    if (row != null) {
-//                                        if (count == 1) {
-//                                            diag = row.getCell(0).toString().trim();
-//                                            treat = row.getCell(3).toString().trim();
-//                                            diag_type = "诊断";
-//                                            treat_type = "药品";
-//                                        }
-//                                        else {
-//                                            diag = row.getCell(0).toString().trim();
-//                                            treat = row.getCell(3).toString().trim();
-//
-//                                            if (diag.length() > 0) {
-//                                                diag_id = conceptFacade.getConceptId(diag, diag_type);
-//                                                treat_id = conceptFacade.getConceptId(treat, treat_type);
-//
-//                                                if (diag_id > 0 && treat_id > 0) {
-//                                                    amendTermVo = new AmendTermVo();
-//
-//                                                    relationDTO = new RelationDTO();
-//                                                    relationDTO.setStartId(diag_id);
-//                                                    relationDTO.setStartName(diag);
-//                                                    relationDTO.setRelationId(11);
-//                                                    relationDTO.setEndId(treat_id);
-//                                                    relationDTO.setEndName(treat);
-//                                                    rellist = new ArrayList<>();
-//                                                    rellist.add(relationDTO);
-//                                                    amendTermVo.setRelations(rellist);
-//
-//                                                    relationFacade.upsertRelationInfo(amendTermVo);
-//
-//                                                    System.out.println(diag + "\t治疗\t" + treat + ":\t 已入库.");
-////                                                    break;
-//                                                }
-//                                            }
-//                                        }
-//                                    }
-//                                }
-//                            }
-//
-//                        } else {
-//                            messages.add("非excel文件无法解析!");
-//                        }
-//                    } else {
-//                        messages.add("未知文件无法解析!");
-//                    }
-//                }
-//            } else {
-//                messages.add("无文件上传!");
-//            }
-//        }
-//        catch (IOException ioe) {
-//            ioe.printStackTrace();
-//        }
-//        catch (Exception ex) {
-//            ex.printStackTrace();
-//        }
-//        finally {
-//            conceptDTO.setMessage(messages);
-//            try {
-//
-//                if (inputStream != null) {
-//                    inputStream.close();
-//                }
-//                if (wb != null) {
-//                    wb.close();
-//                }
-//            }
-//            catch (Exception e) {
-//                e.printStackTrace();
-//            }
-//        }
-//
-//        return conceptDTO;
-//    }
-//
-//    /**
-//     * 批量导入数据前,删除相关表
-//     *
-//     * @param filename
-//     *
-//     */
-//    public static void CleanupDB(String filename) {
-//        String cate = "";
-//        List<Integer> Ids;
-//
-//        try {
-//            for (String item:catelist) {
-//                if (filename.indexOf(item) >= 0) {
-//                    cate = item;
-//                    break;
-//                }
-//            }
-//
-//            if (cate.length() > 0 && !cate.equals(catelist[7])) {
-//                System.out.println(cate);
-//
-//                // 从 LibraryInfo 中找出所有需要删除的Id
-//                QueryWrapper<LibraryInfo> wrapper = new QueryWrapper<>();
-//                wrapper.likeRight("type", cate);
-//                List<LibraryInfo> libinfolist = libraryinfoFacade.list(wrapper);
-//
-//                // 删除术语信息
-//                Ids = new ArrayList<>();
-//                for (int i=0; i<libinfolist.size(); i++) {
-//                    Ids.add(libinfolist.get(i).getId().intValue());
-////                    break;
-//                }
-//
-//                if (Ids.size() > 0) {
-//                    libraryinfoFacade.removeByIds(Ids);
-//                }
-//
-//                // 删除术语详细信息
-//                List<LibraryDetail> limbodetails = libraryDetailFacade.getLimboItems();
-//                Ids = new ArrayList<>();
-//                for (int i=0; i<limbodetails.size(); i++) {
-//                    Ids.add(limbodetails.get(i).getId().intValue());
-////                    break;
-//                }
-//
-//                if (Ids.size() > 0) {
-//                    libraryDetailFacade.removeByIds(Ids);
-//                }
-////            libraryDetailFacade.deleteDetail();
-//
-//                // 删除医学记录
-//                List<Medical> limbomed = medicalFacade.getLimboItems();
-//                Ids = new ArrayList<>();
-//                for (int i=0; i<limbomed.size(); i++) {
-//                    Ids.add(limbomed.get(i).getId().intValue());
-////                    break;
-//                }
-//
-//                if (Ids.size() > 0) {
-//                    medicalFacade.removeByIds(Ids);
-//                }
-//
-//                // 删除概念
-//                // 找出所有需要删除的概念
-//                List<ConceptDTO> limboIds = conceptFacade.getLimboItems();
-//                Ids = new ArrayList<>();
-//                for (int i=0; i<limboIds.size(); i++) {
-//                    Ids.add(limboIds.get(i).getId());
-//                }
-//
-//                if (Ids.size() > 0) {
-//                    conceptFacade.removeByIds(Ids);
-//                }
-//
-//                // 删除关系
-//                List<Relation> limboRelation = relationFacade.getLimboRelation();
-//                Ids = new ArrayList<>();
-//                for (int i=0; i<limboRelation.size(); i++) {
-//                    Ids.add(limboRelation.get(i).getId());
-//                }
-//
-//                if (Ids.size() > 0) {
-//                    relationFacade.removeByIds(Ids);
-//                }
-//            }
-//        }
-//        catch (Exception ex) {
-//            ex.printStackTrace();
-//        }
-//    }
-}

+ 0 - 72
knowledgeman-service/src/main/java/com/diagbot/dto/ConceptDTO.java

@@ -1,72 +0,0 @@
-package com.diagbot.dto;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.diagbot.entity.LibraryDetail;
-import com.diagbot.entity.LibraryInfo;
-import com.diagbot.entity.Medical;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.time.LocalDateTime;
-import java.util.List;
-
-/**
- * @Description:
- * @author: Weixuan Huang
- * @time: 2019/1/14 17:03
- */
-@Getter
-@Setter
-public class ConceptDTO {
-     /**
-     * 概念id
-     */
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-
-    /**
-     * 术语id
-     */
-    private Integer libId;
-
-    /**
-     * 术语名称
-     */
-    private String name;
-
-    /**
-     * 创建时间
-     */
-    private LocalDateTime gmtCreated;
-
-    /**
-     * 修改时间
-     */
-    private LocalDateTime gmtModified;
-
-    /**
-     * 术语基本信息
-     */
-    private List<LibraryInfo> libraryInfo;
-
-    /**
-     * 术语相关医学知识
-     */
-    private List<LibraryDetail> information;
-
-    /**
-     * 医学临床信息
-     */
-    private List<Medical> medicalInfo;
-
-    /**
-     * 术语所有上级信息
-     */
-    private List<RelationDTO> relations;
-
-    /**
-     * 提示信息
-     */
-    private List<String> message;
-}

+ 83 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetLibraryDetailDTO.java

@@ -0,0 +1,83 @@
+package com.diagbot.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2018年12月5日下午5:00:34
+ */
+@Getter
+@Setter
+public class GetLibraryDetailDTO {
+	
+	/**
+     * id
+     */
+	@ApiModelProperty(value="id")
+    private Long id;
+
+    /**
+     * 概念id
+     */
+    @ApiModelProperty(value="概念id")
+    private Long conceptId;
+    
+    /**
+     * 概念名称
+     */
+    @ApiModelProperty(value="概念名称")
+    private String conceptName;
+    
+    /**
+     * 概念类型
+     */
+    @ApiModelProperty(value="概念类型")
+    private String conceptType;
+    
+    /**
+     * 静态知识来源
+     */
+    @ApiModelProperty(value="静态知识来源")
+    private String source;
+
+    /**
+     * 提示明细标题
+     */
+    @ApiModelProperty(value="提示明细标题")
+    private String title;
+
+    /**
+     * 提示明细内容
+     */
+    @ApiModelProperty(value="提示明细内容")
+    private String content;
+
+    /**
+     * 纯文本
+     */
+    @ApiModelProperty(value="纯文本")
+    private String text;
+
+    /**
+     * 提示明细序号
+     */
+    @ApiModelProperty(value="提示明细序号")
+    private Integer orderNo;
+
+    /**
+     * 显示位置(多选):1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书
+     */
+    @ApiModelProperty(value="显示位置(多选):1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书")
+    private String position;
+
+    /**
+     * 是否诊断依据(1-是,0-否)
+     */
+    @ApiModelProperty(value="是否诊断依据(1-是,0-否)")
+    private Integer isReason;
+
+    
+}

+ 106 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetLibraryDetailListDTO.java

@@ -0,0 +1,106 @@
+package com.diagbot.dto;
+
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2018年12月5日下午5:00:34
+ */
+@Getter
+@Setter
+public class GetLibraryDetailListDTO {
+	
+	/**
+     * id
+     */
+	@ApiModelProperty(value="id")
+    private Long id;
+
+    /**
+     * 操作时间
+     */
+    @JsonFormat(timezone="GMT+8",pattern ="yyyy-MM-dd HH:mm")
+    @ApiModelProperty(value="操作时间")
+    private Date gmtModified;
+
+    /**
+     * 操作人
+     */
+    @ApiModelProperty(value="操作人")
+    private String modifier;
+
+    /**
+     * 概念id
+     */
+    @ApiModelProperty(value="概念id")
+    private Long conceptId;
+    
+    /**
+     * 概念名称
+     */
+    @ApiModelProperty(value="概念名称")
+    private String conceptName;
+    
+    /**
+     * 概念类型
+     */
+    @ApiModelProperty(value="概念类型")
+    private String conceptType;
+    
+    /**
+     * 概念名称(概念类型)
+     */
+    @ApiModelProperty(value="概念名称(概念类型)")
+    private String conceptNameAndType;
+
+    /**
+     * 静态知识来源
+     */
+    @ApiModelProperty(value="静态知识来源")
+    private String source;
+
+    /**
+     * 提示明细标题
+     */
+    @ApiModelProperty(value="提示明细标题")
+    private String title;
+
+    /**
+     * 提示明细内容
+     */
+    @ApiModelProperty(value="提示明细内容")
+    private String content;
+
+    /**
+     * 纯文本
+     */
+    @ApiModelProperty(value="纯文本")
+    private String text;
+
+    /**
+     * 提示明细序号
+     */
+    @ApiModelProperty(value="提示明细序号")
+    private Integer orderNo;
+
+    /**
+     * 显示位置(多选):1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书
+     */
+    @ApiModelProperty(value="显示位置(多选):1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书")
+    private String position;
+
+    /**
+     * 是否诊断依据(1-是,0-否)
+     */
+    @ApiModelProperty(value="是否诊断依据(1-是,0-否)")
+    private Integer isReason;
+
+    
+}

+ 0 - 29
knowledgeman-service/src/main/java/com/diagbot/dto/InforDTO.java

@@ -1,29 +0,0 @@
-package com.diagbot.dto;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @Description:
- * @author: Weixuan Huang
- * @time: 2019/1/14 17:03
- */
-@Getter
-@Setter
-public class InforDTO {
-    /**
-     * 主键
-     */
-//    private long id;
-
-    /**
-     * 标题
-     */
-    private String title;
-
-    /**
-     * 内容
-     */
-    private String content;
-
-}

+ 0 - 43
knowledgeman-service/src/main/java/com/diagbot/dto/LibraryDTO.java

@@ -1,43 +0,0 @@
-package com.diagbot.dto;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @Description:
- * @author: Weixuan Huang
- * @time: 2019/1/14 17:03
- */
-@Getter
-@Setter
-public class LibraryDTO {
-    /**
-     * 主键
-     */
-    private long id;
-
-    /**
-     * 名称
-     */
-    private String term;
-
-    /**
-     * 类型
-     */
-//    private String type;
-
-    /**
-     * 同义词
-     */
-    private String synonymous;
-
-    /**
-     * 医学知识
-     */
-//    private Map<String, Information> generalInfo;
-
-    /**
-     * 医学信息
-     */
-//    private Map<String, Medical> medicalInfo;
-}

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

@@ -1,100 +0,0 @@
-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 String gmtCreate;
-
-    /**
-     * 记录修改时间,如果时间是1970年则表示纪录未修改
-     */
-    private String gmtModified;
-
-    /**
-     * 创建人,0表示无创建人值
-     */
-    private String creator;
-
-    /**
-     * 修改人,如果为0则表示纪录未修改
-     */
-    private String modifier;
-
-    /**
-     * 概念名称
-     */
-    private String name;
-
-    /**
-     * 概念类型
-     */
-    private String type;
-
-    /**
-     * 提示概念id
-     */
-    private Long conceptId;
-
-    /**
-     * 静态知识来源
-     */
-    private String source;
-
-    /**
-     * 提示明细标题
-     */
-    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;
-
-}

+ 0 - 80
knowledgeman-service/src/main/java/com/diagbot/dto/LibraryInfoDTO.java

@@ -1,80 +0,0 @@
-package com.diagbot.dto;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.time.LocalDateTime;
-
-/**
- * @author Weixuan Huang
- * @since 2019-01-30
- */
-@Getter
-@Setter
-public class LibraryInfoDTO {
-
-    /**
-     * 主键
-     */
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-
-    /**
-     * 是否删除,N:未删除,Y:删除
-     */
-    private String isDeleted;
-
-    /**
-     * 记录创建时间
-     */
-    private LocalDateTime gmtCreated;
-
-    /**
-     * 记录修改时间,如果时间是1970年则表示纪录未修改
-     */
-    private LocalDateTime gmtModified;
-
-    /**
-     * 创建人,0表示无创建人值
-     */
-    private String creator;
-
-    /**
-     * 修改人,如果为0则表示纪录未修改
-     */
-    private String modifier;
-
-    /**
-     * 名称
-     */
-    private String name;
-
-    /**
-     * 同义词
-     */
-    private String synonymous;
-
-    /**
-     * 类型
-     */
-    private String type;
-
-    /**
-     * 备注
-     */
-    private String remark;
-
-    /**
-     * 概念id
-     */
-    private Integer conceptId;
-
-    /**
-     * 是否标准词,1:是,0:否
-     */
-    private Integer isConcept;
-
-
-}

+ 0 - 114
knowledgeman-service/src/main/java/com/diagbot/dto/MedicalDTO.java

@@ -1,114 +0,0 @@
-package com.diagbot.dto;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @Description:
- * @author: Weixuan Huang
- * @time: 2019/1/14 17:03
- */
-@Getter
-@Setter
-public class MedicalDTO {
-    /**
-     * 主键
-     */
-    private Integer id;
-
-    /**
-     * 术语概念id
-     */
-    private Integer conceptId;
-
-    /**
-     * 名称
-     */
-    private String name;
-
-    /**
-     * 同义词
-     */
-    private String synonymous;
-
-    /**
-     * 术语类型编号,对应类型库
-     */
-//    private Integer typeId;
-
-    /**
-     * 术语类型
-     */
-//    private String type;
-
-    /**
-     * 术语标准名
-     */
-    private String stdName;
-
-    /**
-     * 术语小类名称
-     */
-    private String cateName;
-
-    /**
-     * 术语类组
-     */
-    private String grp;
-
-    /**
-     * 效用名称
-     */
-    private String function;
-
-    /**
-     * 性别:1:男, 2:女, 3:通用
-     */
-    private String gender;
-
-    /**
-     * 症状发生的最小年龄
-     */
-    private Integer minAge;
-
-    /**
-     * 症状发生的最大年龄
-     */
-    private Integer maxAge;
-
-    /**
-     * 一级部位
-     */
-    private String bodypart;
-
-    /**
-     * 二级部位
-     */
-    private String subBodypart;
-
-    /**
-     * 显示顺序
-     */
-    private String displayOrder;
-
-    /**
-     * 科室
-     */
-    private String dept;
-
-    /**
-     * 术语身份编码
-     */
-    private String code;
-
-    /**
-     * 备注
-     */
-    private String note;
-
-    /**
-     * 是否删除,N:未删除,Y:删除
-     */
-    private String isDeleted;
-
-}

+ 0 - 64
knowledgeman-service/src/main/java/com/diagbot/dto/RelationDTO.java

@@ -1,64 +0,0 @@
-package com.diagbot.dto;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @Description:
- * @author: Weixuan Huang
- * @time: 2019/1/31 16:53
- */
-@Getter
-@Setter
-public class RelationDTO {
-    /**
-     * 主键
-     */
-    private Integer id;
-
-    /**
-     * 关系起点术语id
-     */
-    private Integer startId;
-
-    /**
-     * 关系起点术语名称
-     */
-    private String startName;
-
-    /**
-     * 关系起点术语类型
-     */
-    private String startType;
-
-    /**
-     * 关系id
-     */
-    private Integer relationId;
-
-    /**
-     * 关系名称
-     */
-    private String relationName;
-
-    /**
-     * 关系终点术语id
-     */
-    private Integer endId;
-
-    /**
-     * 关系终点术语名称
-     */
-    private String endName;
-
-    /**
-     * 关系终点术语类型
-     */
-    private String endType;
-
-    /**
-     * 其它信息
-     */
-    private String msg;
-
-}

+ 0 - 55
knowledgeman-service/src/main/java/com/diagbot/dto/TermDTO.java

@@ -1,55 +0,0 @@
-package com.diagbot.dto;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.List;
-
-/**
- * @Description:
- * @author: Weixuan Huang
- * @time: 2019/1/14 17:03
- */
-@Getter
-@Setter
-public class TermDTO {
-    /**
-     * 主键
-     *
-    private long id;
-
-    /**
-     * 名称
-     *
-    private String term;
-
-    /**
-     * 类型
-     *
-    private String type;
-
-    /**
-     * 同义词
-     *
-    private String synonymous;
-
-    /**
-     * 术语基本信息
-     */
-    private LibraryDTO library;
-
-    /**
-     * 术语相关医学知识
-     */
-    private List<InforDTO> information;
-
-    /**
-     * 医学临床信息
-     */
-    private List<MedicalDTO> medicalInfo;
-
-    /**
-     * 术语层级关系
-     */
-//    private List<LevelDTO> levelInfo;
-}

+ 16 - 2
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -48,7 +48,6 @@ import com.diagbot.vo.GetAllInformationVO;
 import com.diagbot.vo.GetConceptInfoDetailVO;
 import com.diagbot.vo.RemoveConceptInfoVO;
 
-
 /**
  * @Description: 术语查询业务层
  * @author: Weixuan Huang
@@ -84,7 +83,22 @@ public class ConceptFacade extends ConceptServiceImpl {
     		libraryInfoQe.like("name", getAllConceptVO.getName());
     	}
     	
-    	List<GetAllConceptDTO> getAllConceptDTOList = BeanUtil.listCopyTo(libraryinfoFacade.list(libraryInfoQe), GetAllConceptDTO.class);
+    	List<LibraryInfo> libraryInfoList = libraryinfoFacade.list(libraryInfoQe);
+    	
+    	if(getAllConceptVO.getIsConcept()!=null&&getAllConceptVO.getIsConcept()==1){
+    		QueryWrapper<Concept> conceptQe = new QueryWrapper<>();
+    		conceptQe.eq("is_deleted", "N");
+    		conceptQe.in("id", libraryInfoList.stream().map(i->i.getConceptId()).distinct().collect(Collectors.toList()));
+    		Map<Long,Concept> conceptMap = list(conceptQe).stream().collect(Collectors.toMap(Concept::getId, i->i));
+    		
+    		libraryInfoList.forEach(i->{
+    			if(conceptMap.get(i.getConceptId())==null||conceptMap.get(i.getConceptId()).getLibId()!=i.getId()){
+    				i.setIsDeleted("Y");
+    			}
+    		});
+    	}
+    	
+    	List<GetAllConceptDTO> getAllConceptDTOList = BeanUtil.listCopyTo(libraryInfoList.stream().filter(i->i.getIsDeleted().equals("N")).collect(Collectors.toList()), GetAllConceptDTO.class);
     	getAllConceptDTOList.forEach(i->{
     		i.setNameAndType(i.getName()+"("+i.getType()+")");
     	});

+ 111 - 188
knowledgeman-service/src/main/java/com/diagbot/facade/LibraryDetailFacade.java

@@ -1,25 +1,31 @@
 package com.diagbot.facade;
 
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.diagbot.dto.ConceptDTO;
-import com.diagbot.dto.LibraryDetailDTO;
-import com.diagbot.entity.Concept;
+import com.diagbot.client.UserServiceClient;
+import com.diagbot.dto.GetLibraryDetailDTO;
+import com.diagbot.dto.GetLibraryDetailListDTO;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.LibraryDetail;
 import com.diagbot.entity.LibraryInfo;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.LibraryDetailServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
-import com.diagbot.vo.AmendTermVo;
-import com.diagbot.vo.GetAllInformationVO;
-import com.diagbot.vo.KnowledgeVo;
-import com.diagbot.vo.RemoveConceptKnowledgeVO;
-import com.diagbot.vo.TermVo;
-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.*;
+import com.diagbot.util.UserUtils;
+import com.diagbot.vo.AddLibraryDetailVO;
+import com.diagbot.vo.GetLibraryDetailListVO;
+import com.diagbot.vo.GetLibraryDetailVO;
+import com.diagbot.vo.RemoveLibraryDetailVO;
 
 /**
  * @Description: 术语基本信息查询业务层
@@ -29,193 +35,110 @@ import java.util.*;
 @Component
 public class LibraryDetailFacade extends LibraryDetailServiceImpl {
 
-    @Autowired
-    private ConceptFacade conceptFacade;
-
     @Autowired
     private LibraryInfoFacade libraryInfoFacade;
-
-
-    /**
-     * 获取所有术语静态知识列表
-     *
-     * @param conceptVo
-     * @return IPage<LibraryDetailDTO>
-     */
-    public IPage<LibraryDetailDTO> getAllLibraryDetail(GetAllInformationVO conceptVo) {
-
-        return getAllKnowledge(conceptVo);
-    }
-
-
-
-
+    @Autowired
+    private UserServiceClient userServiceClient;
+    
     /**
-     * 获取医学术语静态信息
-     *
-     * @param knowledgeVo
-     * @return ConceptDTO
+     * 获取医学术语命名列表
+     * @param getMedicalInfoListVO
+     * @return
      */
-    public ConceptDTO getConceptKnowledge(@RequestBody KnowledgeVo knowledgeVo) {
-
-        LibraryInfo libraryInfo;
-        List<LibraryDetail> libraryDetails = new ArrayList<>();
-        TermVo termVo = new TermVo();
-        termVo.setTerm(knowledgeVo.getTerm());
-        termVo.setType(knowledgeVo.getType());
-
-        ConceptDTO conceptDTO = conceptFacade.getConcept(termVo);
-
-        if (conceptDTO != null) {
-            // 获取与医学术语的基本信息
-            QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
-            query.eq("concept_id", conceptDTO.getId());
-            query.eq("is_deleted", "N");
-            query.eq("is_concept", 1);
-            libraryInfo = libraryInfoFacade.getOne(query);
-
-            conceptDTO.setName(libraryInfo.getName());
-
-            // 获取与术语相关的静态知识
-            QueryWrapper<LibraryDetail> querydetail = new QueryWrapper<>();
-            querydetail.eq("concept_id", conceptDTO.getId());
-            querydetail.eq("is_deleted", "N");
-
-            if (knowledgeVo.getSource() != null && knowledgeVo.getSource().trim().length() > 0) {
-                querydetail.eq("source", knowledgeVo.getSource());
-            }
-
-            if (knowledgeVo.getTitle() != null && knowledgeVo.getTitle().trim().length() > 0) {
-                querydetail.eq("title", knowledgeVo.getTitle());
-            }
-
-            libraryDetails = list(querydetail);
-
-            if (libraryDetails != null) {
-                conceptDTO.setInformation(libraryDetails);
-            }
-
+    public IPage<GetLibraryDetailListDTO> getLibraryDetailList(GetLibraryDetailListVO getLibraryDetailListVO) {
+    	IPage<GetLibraryDetailListDTO> ipage = this.baseMapper.getLibraryDetailList(getLibraryDetailListVO);
+    	List<String> ids = ipage.getRecords().stream().map(i->i.getModifier()).distinct().collect(Collectors.toList());
+    	RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(ids);
+    	if (respDTO == null || !CommonErrorCode.OK.getCode().equals(respDTO.code)) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR,
+                    "获取用户信息失败");
         }
-
-        return conceptDTO;
+    	ipage.getRecords().forEach(i->{
+    		i.setModifier(respDTO.data.get(i.getModifier()));
+    	});
+        return ipage;
     }
-
-
+    
     /**
-     * 更新或添加医学术语静态信息
-     *
-     * @param amendTermVo
-     * @return ConceptDTO
+     * 医学术语静态知识删除
+     * @param removeLibraryDetailVO
+     * @return
      */
-    public ConceptDTO upsertConceptKnowledge(AmendTermVo amendTermVo) {
-
-        ConceptDTO conceptDTO = new ConceptDTO();
-
-        LibraryDetail libraryDetail;
-        List<LibraryDetail> libraryDetails;
-
-        conceptDTO.setName(amendTermVo.getNewterm());
-        QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
-        query.eq("name", amendTermVo.getNewterm());
-        query.eq("type", amendTermVo.getNewtype());
-        LibraryInfo libraryInfo = libraryInfoFacade.getOne(query);
-
-        if (amendTermVo.getInformation() != null && libraryInfo != null) {
-
-            conceptDTO.setLibId(libraryInfo.getId().intValue());
-            conceptDTO.setId(libraryInfo.getConceptId());
-            conceptDTO.setMedicalInfo(new ArrayList<>());
-
-            for (int i=0; i<amendTermVo.getInformation().size(); i++) {
-                libraryDetail = amendTermVo.getInformation().get(i);
-
-                if (libraryDetail.getTitle() != null && libraryDetail.getSource() != null) {
-                    QueryWrapper<LibraryDetail> detquery = new QueryWrapper<>();
-                    detquery.eq("concept_id", libraryInfo.getConceptId());
-                    detquery.eq("title", libraryDetail.getTitle());
-                    detquery.eq("source", libraryDetail.getSource());
-                    LibraryDetail exist = getOne(detquery);
-
-                    if (exist != null) {
-                        libraryDetail.setId(exist.getId());
-                    }
-
-                    libraryDetail.setConceptId(libraryInfo.getConceptId().longValue());
-                    libraryDetail.setGmtModified(DateUtil.now());
-                    libraryDetail.setIsDeleted("N");
-
-                    this.saveOrUpdate(libraryDetail);
-
-                    if (conceptDTO.getInformation() == null) {
-                        conceptDTO.setInformation(new ArrayList<LibraryDetail>());
-                    }
-
-                    conceptDTO.getInformation().add(libraryDetail);
-                }
-            }
-        }
-        else {
-            conceptDTO.setMessage(new ArrayList<>());
-            conceptDTO.getMessage().add("术语:\"" + amendTermVo.getNewterm() +
-                    "\" 类型:\"" + amendTermVo.getNewtype() + "\" 不存在! ");
-            conceptDTO.setInformation(null);
-        }
-
-        return conceptDTO;
+    public Boolean removeLibraryDetail(RemoveLibraryDetailVO removeLibraryDetailVO) {
+    	LibraryDetail libraryDetail = this.getById(removeLibraryDetailVO.getId());
+    	if(libraryDetail==null||libraryDetail.getIsDeleted().equals("Y")){
+    		throw new CommonException(CommonErrorCode.NOT_EXISTS);
+    	}
+    	
+    	libraryDetail.setIsDeleted("Y");
+    	libraryDetail.setModifier(UserUtils.getCurrentPrincipleID());
+    	libraryDetail.setGmtModified(DateUtil.now());
+        return updateById(libraryDetail);
     }
-
+    
     /**
-     * 删除术语医学信息
-     *
-     * @param removeConceptKnowledgeVO
-     * @return ConceptDTO
+     * 获取医学术语静态知识详情
+     * @param getLibraryDetailVO
+     * @return
      */
-    public Boolean removeConceptKnowledge(RemoveConceptKnowledgeVO removeConceptKnowledgeVO) {
-
-//        ConceptDTO conceptDTO = new ConceptDTO();
-//        List<String> msg = new ArrayList<>();
-//        String error = "";
-//        LibraryDetail libraryDetail;
-
-        /*
-        QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
-        query.eq("name", knowledgeVo.getTerm());
-        query.eq("type", knowledgeVo.getType());
-        LibraryInfo libraryInfo = libraryInfoFacade.getOne(query);
-
-        if (libraryInfo != null) {
-            QueryWrapper<LibraryDetail> detquery = new QueryWrapper<>();
-            detquery.eq("concept_id", libraryInfo.getConceptId());
-            if (knowledgeVo.getSource() != null) {
-                detquery.eq("source", knowledgeVo.getSource());
-            }
-            detquery.eq("title", knowledgeVo.getTitle());
-            libraryDetail = getOne(detquery);
-
-            if (libraryDetail != null) {
-                libraryDetail.setIsDeleted("Y");
-                saveOrUpdate(libraryDetail);
-//                isdeleted = true;
-            }
-            else {
-                error = "术语 \"" + knowledgeVo.getTerm() + "(" + knowledgeVo.getType() + ")\" " +
-                        "的 " + knowledgeVo.getSource() + "-" + knowledgeVo.getTitle() + " 不存在!";
-            }
-        }
-        else {
-            error = "术语 \"" + knowledgeVo.getTerm() + "(" + knowledgeVo.getType() + ")\" 不存在!";
-        }
-        */
-        removeById(removeConceptKnowledgeVO.getId());
-        
-        return true;
+    public GetLibraryDetailDTO getLibraryDetail(GetLibraryDetailVO getLibraryDetailVO){
+    	LibraryDetail libraryDetail = this.getById(getLibraryDetailVO.getId());
+    	if(libraryDetail==null||libraryDetail.getIsDeleted().equals("Y")){
+    		throw new CommonException(CommonErrorCode.NOT_EXISTS);
+    	}
+    	
+    	QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<>();
+		libraryInfoQe.eq("is_deleted", "N");
+		libraryInfoQe.eq("is_concept", "1");
+		libraryInfoQe.eq("concept_id", libraryDetail.getConceptId());
+		LibraryInfo libraryInfo = libraryInfoFacade.getOne(libraryInfoQe);
+		if(libraryInfo==null){
+			throw new CommonException(CommonErrorCode.RPC_ERROR,"术语医学属性所属概念不存在!");
+		}
+    	
+		GetLibraryDetailDTO getLibraryDetailDTO = new GetLibraryDetailDTO();
+    	BeanUtil.copyProperties(libraryDetail, getLibraryDetailDTO);
+    	getLibraryDetailDTO.setConceptName(libraryInfo.getName());
+    	getLibraryDetailDTO.setConceptType(libraryInfo.getType());
+    	
+    	return getLibraryDetailDTO;
     }
-
+    
     /**
-     * 清空医学术语知识表
-     *
+     * 医学术语静态知识添加或者编辑
+     * @param addLibraryDetailVO
+     * @return
      */
-    public void deleteDetail() {
-        truncateDetail();
+	public Boolean addLibraryDetail(AddLibraryDetailVO addLibraryDetailVO){
+		QueryWrapper<LibraryDetail> libraryDetailQe = new QueryWrapper<>();
+		libraryDetailQe.eq("concept_id", addLibraryDetailVO.getConceptId());
+		libraryDetailQe.eq("source", addLibraryDetailVO.getSource());
+		libraryDetailQe.eq("title", addLibraryDetailVO.getTitle());
+		LibraryDetail libraryDetail = getOne(libraryDetailQe);
+		
+		if(libraryDetail!=null&&libraryDetail.getIsDeleted().equals("N")){
+			if(addLibraryDetailVO.getIsTip()==1){
+				throw new CommonException(CommonErrorCode.RPC_ERROR,"根据(术语、术语来源、标题名称)该静态知识已经建立是否覆盖该内容?是,覆盖内容,否,不覆盖。");
+			}
+		}
+		
+		String currentUser = UserUtils.getCurrentPrincipleID();
+		Date now = DateUtil.now();
+		
+		if(libraryDetail==null){
+			libraryDetail = new LibraryDetail();
+			BeanUtil.copyProperties(addLibraryDetailVO, libraryDetail);
+			libraryDetail.setGmtCreated(now);
+			libraryDetail.setCreator(currentUser);
+		}else{
+			libraryDetail.setIsDeleted("N");
+		}
+		
+		libraryDetail.setGmtModified(now);
+		libraryDetail.setModifier(currentUser);
+		
+		return saveOrUpdate(libraryDetail);
     }
+    
+    
 }

+ 1 - 95
knowledgeman-service/src/main/java/com/diagbot/facade/LibraryInfoFacade.java

@@ -1,16 +1,10 @@
 package com.diagbot.facade;
 
-import java.time.format.DateTimeFormatter;
-import java.util.Map;
-
 import org.springframework.stereotype.Component;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.GetAllInformationDTO;
-import com.diagbot.entity.LibraryInfo;
 import com.diagbot.service.impl.LibraryInfoServiceImpl;
-import com.diagbot.vo.AmendTermVo;
 import com.diagbot.vo.GetAllInformationVO;
 
 /**
@@ -20,10 +14,7 @@ import com.diagbot.vo.GetAllInformationVO;
  */
 @Component
 public class LibraryInfoFacade extends LibraryInfoServiceImpl {
-
-    private DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
-    
-    
+  
     /**
      * 获取医学术语命名列表
      * @param conceptVo
@@ -33,89 +24,4 @@ public class LibraryInfoFacade extends LibraryInfoServiceImpl {
         return baseMapper.getAllInformation(getAllInformationVO);
     }
 
-    /**
-     * 获取医学术语基本信息
-     *
-     * @param params
-     * @result LibraryInfo
-     */
-    public LibraryInfo getLibraryInfor(Map<String, Object> params) {
-        QueryWrapper<LibraryInfo> wrapper = new QueryWrapper();
-        LibraryInfo libraryinfor = null;
-
-        for (String key:params.keySet()) {
-            wrapper.eq(key, params.get(key));
-        }
-
-        libraryinfor = this.getOne(wrapper);
-
-        return libraryinfor;
-    }
-
-
-    /**
-     * 更新或添加医学术语基本信息
-     *
-     * @param amendTermVo
-     * @return LibraryInfo
-     */
-    public LibraryInfo upsertLibraryInfo(AmendTermVo amendTermVo) {
-
-        String oldterm = amendTermVo.getOldterm().trim();
-        String oldtype = amendTermVo.getOldtype().trim();
-        String newterm = amendTermVo.getNewterm().trim();
-        String newtype = amendTermVo.getNewtype().trim();
-        String concept = amendTermVo.getConcept().trim();
-        int concept_id = amendTermVo.getConcept_id();
-
-        QueryWrapper<LibraryInfo> queryWrapper;
-        LibraryInfo libraryInfo = null;
-
-        // 原先的术语名称不为空,则修改原先的术语
-        if (oldterm.length() > 0 && oldtype.length() > 0) {
-            queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("name", oldterm);
-            queryWrapper.eq("type", oldtype);
-
-            libraryInfo = getOne(queryWrapper);
-
-            if (libraryInfo != null) {
-                libraryInfo.setName(newterm);
-                libraryInfo.setType(newtype);
-
-                if (libraryInfo.getIsDeleted() == "Y") {
-                    libraryInfo.setIsDeleted("N");
-                }
-
-                saveOrUpdate(libraryInfo);
-            }
-        }
-        else {
-            queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("name", newterm);
-            queryWrapper.eq("type", newtype);
-
-            libraryInfo = getOne(queryWrapper);
-
-            // 新的术语不存在
-            if (libraryInfo == null) {
-                libraryInfo = new LibraryInfo();
-                libraryInfo.setName(newterm);
-                libraryInfo.setType(newtype);
-
-                saveOrUpdate(libraryInfo);
-            }
-            // 新的术语存在,但处于删除状态
-            else if (libraryInfo.getIsDeleted() == "Y") {
-                libraryInfo.setIsDeleted("N");
-                saveOrUpdate(libraryInfo);
-            }
-
-            libraryInfo = getOne(queryWrapper);
-        }
-
-        return libraryInfo;
-    }
-
-
 }

+ 55 - 27
knowledgeman-service/src/main/java/com/diagbot/facade/RelationFacade.java

@@ -28,6 +28,7 @@ import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.GetRelationInfoDetailDTO;
 import com.diagbot.dto.GetRelationInfoListDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.Concept;
 import com.diagbot.entity.LexiconRelationship;
 import com.diagbot.entity.LibraryInfo;
 import com.diagbot.entity.Relation;
@@ -50,7 +51,9 @@ import com.diagbot.vo.RemoveRelationInfoVO;
  */
 @Component
 public class RelationFacade extends RelationServiceImpl {
-
+	
+	@Autowired
+	private ConceptFacade conceptFacade;
     @Autowired
     private LibraryInfoFacade libraryInfoFacade;
     @Autowired
@@ -75,21 +78,22 @@ public class RelationFacade extends RelationServiceImpl {
                     "获取用户信息失败");
         }
     	
-    	List<Long> libraryInfoIds = new ArrayList<>();
-    	libraryInfoIds.addAll(ipage.getRecords().stream().map(i->i.getStartId()).collect(Collectors.toList()));
-    	libraryInfoIds.addAll(ipage.getRecords().stream().map(i->i.getEndId()).collect(Collectors.toList()));
-    	libraryInfoIds = libraryInfoIds.stream().distinct().collect(Collectors.toList());
+    	List<Long> conceptIds = new ArrayList<>();
+    	conceptIds.addAll(ipage.getRecords().stream().map(i->i.getStartId()).collect(Collectors.toList()));
+    	conceptIds.addAll(ipage.getRecords().stream().map(i->i.getEndId()).collect(Collectors.toList()));
+    	conceptIds = conceptIds.stream().distinct().collect(Collectors.toList());
     	QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<LibraryInfo>();
     	libraryInfoQe.eq("is_deleted", "N");
-    	libraryInfoQe.in("id", libraryInfoIds);
-    	Map<Long,LibraryInfo> libraryInfoMap = libraryInfoFacade.list(libraryInfoQe).stream().collect(Collectors.toMap(LibraryInfo::getId, i->i));
+    	libraryInfoQe.eq("is_concept", 1);
+    	libraryInfoQe.in("concept_id", conceptIds);
+    	Map<Long,LibraryInfo> libraryInfoMap = libraryInfoFacade.list(libraryInfoQe).stream().collect(Collectors.toMap(LibraryInfo::getConceptId, i->i));
     	
     	ipage.getRecords().forEach(i->{
     		i.setOperName(respDTO.data.get(i.getOperName()));
-    		if(i.getStartId()!=null&&libraryInfoMap.get(i.getStartId())!=null){
+    		if(libraryInfoMap.get(i.getStartId())!=null){
     			i.setStartType(libraryInfoMap.get(i.getStartId()).getType());
     		}
-    		if(i.getEndId()!=null&&libraryInfoMap.get(i.getEndId())!=null){
+    		if(libraryInfoMap.get(i.getEndId())!=null){
     			i.setEndType(libraryInfoMap.get(i.getEndId()).getType());
     		}
     	});
@@ -127,25 +131,38 @@ public class RelationFacade extends RelationServiceImpl {
     	GetRelationInfoDetailDTO getRelationInfoDetailDTO = new GetRelationInfoDetailDTO();
     	getRelationInfoDetailDTO.setId(relation.getId());
     	
-    	LibraryInfo startLibraryInfo = libraryInfoFacade.getById(relation.getStartId());
-    	if(startLibraryInfo!=null&&startLibraryInfo.getIsDeleted().equals("N")){
-    		getRelationInfoDetailDTO.setStartId(startLibraryInfo.getId());
-    		getRelationInfoDetailDTO.setStartName(startLibraryInfo.getName());
-    		getRelationInfoDetailDTO.setStartType(startLibraryInfo.getType());
+    	
+    	Concept startConcept = conceptFacade.getById(relation.getStartId());
+    	if(startConcept==null||startConcept.getIsDeleted().equals("Y")){
+    		throw new CommonException(CommonErrorCode.RPC_ERROR, "起始术语不存在");
     	}
+    	LibraryInfo startLibraryInfo = libraryInfoFacade.getById(startConcept.getLibId());
+    	if(startLibraryInfo==null||startLibraryInfo.getIsDeleted().equals("Y")){
+    		throw new CommonException(CommonErrorCode.RPC_ERROR, "起始术语不存在");
+    	}
+    	getRelationInfoDetailDTO.setStartId(startLibraryInfo.getConceptId());
+    	getRelationInfoDetailDTO.setStartName(startLibraryInfo.getName());
+    	getRelationInfoDetailDTO.setStartType(startLibraryInfo.getType());
+    	
     	
-    	LibraryInfo endLibraryInfo = libraryInfoFacade.getById(relation.getEndId());
-    	if(endLibraryInfo!=null&&endLibraryInfo.getIsDeleted().equals("N")){
-    		getRelationInfoDetailDTO.setEndId(endLibraryInfo.getId());
-    		getRelationInfoDetailDTO.setEndName(endLibraryInfo.getName());
-    		getRelationInfoDetailDTO.setEndType(endLibraryInfo.getType());
+    	Concept endConcept = conceptFacade.getById(relation.getEndId());
+    	if(endConcept==null||endConcept.getIsDeleted().equals("Y")){
+    		throw new CommonException(CommonErrorCode.RPC_ERROR, "终点术语不存在");
+    	}
+    	LibraryInfo endLibraryInfo = libraryInfoFacade.getById(endConcept.getLibId());
+    	if(endLibraryInfo==null||endLibraryInfo.getIsDeleted().equals("Y")){
+    		throw new CommonException(CommonErrorCode.RPC_ERROR, "终点术语不存在");
     	}
+    	getRelationInfoDetailDTO.setEndId(endLibraryInfo.getConceptId());
+    	getRelationInfoDetailDTO.setEndName(endLibraryInfo.getName());
+    	getRelationInfoDetailDTO.setEndType(endLibraryInfo.getType());
     	
     	LexiconRelationship lexiconRelationship = lexiconRelationshipFacade.getById(relation.getRelationId());
-    	if(lexiconRelationship!=null&&lexiconRelationship.getIsDeleted().equals("N")){
-    		getRelationInfoDetailDTO.setRelationId(lexiconRelationship.getId());
-    		getRelationInfoDetailDTO.setRelationName(lexiconRelationship.getName());
+    	if(lexiconRelationship==null||lexiconRelationship.getIsDeleted().equals("Y")){
+    		throw new CommonException(CommonErrorCode.RPC_ERROR, "关系类型不存在");
     	}
+    	getRelationInfoDetailDTO.setRelationId(lexiconRelationship.getId());
+		getRelationInfoDetailDTO.setRelationName(lexiconRelationship.getName());
     	
     	return getRelationInfoDetailDTO;
     }
@@ -178,6 +195,7 @@ public class RelationFacade extends RelationServiceImpl {
 		
 		QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<>();
 		libraryInfoQe.eq("is_deleted", "N");
+		libraryInfoQe.eq("is_concept", 1);
 		libraryInfoQe.eq("name", addRelationInfoVO.getStartName());
 		libraryInfoQe.eq("type", addRelationInfoVO.getStartType());
 		LibraryInfo startLibraryInfo = libraryInfoFacade.getOne(libraryInfoQe);
@@ -185,6 +203,11 @@ public class RelationFacade extends RelationServiceImpl {
 			retMap.put("message", "关系起点术语不存在");
 			return retMap;
 		}
+		Concept startConcept = conceptFacade.getById(startLibraryInfo.getConceptId());
+		if(startConcept==null||startConcept.getIsDeleted().equals("Y")||startConcept.getLibId()!=startLibraryInfo.getId()){
+			retMap.put("message", "关系起点术语不存在");
+			return retMap;
+		}
 		
 		libraryInfoQe.eq("name", addRelationInfoVO.getEndName());
 		libraryInfoQe.eq("type", addRelationInfoVO.getEndType());
@@ -193,19 +216,24 @@ public class RelationFacade extends RelationServiceImpl {
 			retMap.put("message", "关系终点术语不存在");
 			return retMap;
 		}
+		Concept endConcept = conceptFacade.getById(endLibraryInfo.getConceptId());
+		if(endConcept==null||endConcept.getIsDeleted().equals("Y")||endConcept.getLibId()!=endLibraryInfo.getId()){
+			retMap.put("message", "关系终点术语不存在");
+			return retMap;
+		}
 		
 		QueryWrapper<LexiconRelationship> lexiconRelationshipQe = new QueryWrapper<>();
 		lexiconRelationshipQe.eq("is_deleted", "N");
 		lexiconRelationshipQe.eq("name", addRelationInfoVO.getRelationName());
 		LexiconRelationship lexiconRelationship = lexiconRelationshipFacade.getOne(lexiconRelationshipQe);
 		if(lexiconRelationship==null){
-			retMap.put("message", "术语关系不存在");
+			retMap.put("message", "术语关系类型不存在");
 			return retMap;
 		}
 		
 		QueryWrapper<Relation> relationQe = new QueryWrapper<>();
-		relationQe.eq("start_id", startLibraryInfo.getId());
-		relationQe.eq("end_id", endLibraryInfo.getId());
+		relationQe.eq("start_id", startConcept.getId());
+		relationQe.eq("end_id", endConcept.getId());
 		relationQe.eq("relation_id", lexiconRelationship.getId());
 		Relation relation = getOne(relationQe);
 		if(relation!=null&&relation.getIsDeleted().equals("N")){
@@ -223,9 +251,9 @@ public class RelationFacade extends RelationServiceImpl {
 			relation.setGmtCreated(now);
 		}else if(relation.getIsDeleted().equals("Y")){
 			relation.setIsDeleted("N");
-			relation.setModifier(currentUser);
-			relation.setGmtModified(now);
 		}
+		relation.setModifier(currentUser);
+		relation.setGmtModified(now);
 		retMap.put("relation", relation);
 		return retMap;
 	}

+ 1 - 20
knowledgeman-service/src/main/java/com/diagbot/mapper/ConceptMapper.java

@@ -1,13 +1,7 @@
 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;
-
-import java.util.List;
 
 /**
  * <p>
@@ -18,19 +12,6 @@ import java.util.List;
  * @since 2019-01-30
  */
 public interface ConceptMapper extends BaseMapper<Concept> {
-    /**
-     * 获取术语概念信息
-     * @param termVo
-     * @return ConceptDTO
-     */
-    public ConceptDTO getConcept(TermVo termVo);
-
 
-    /**
-     * 获取所有没有实体关联的概念
-     *
-     * @result ConceptDTO
-     *
-     */
-    public List<ConceptDTO> getLimboItems();
+	
 }

+ 4 - 33
knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryDetailMapper.java

@@ -2,13 +2,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.dto.GetLibraryDetailListDTO;
 import com.diagbot.entity.LibraryDetail;
-import com.diagbot.vo.GetAllInformationVO;
-import com.diagbot.vo.TermVo;
-
-import java.util.List;
+import com.diagbot.vo.GetLibraryDetailListVO;
 
 /**
  * <p>
@@ -19,33 +15,8 @@ import java.util.List;
  * @since 2019-01-30
  */
 public interface LibraryDetailMapper extends BaseMapper<LibraryDetail> {
-    /**
-     * 获取所有术语静态知识
-     *
-     * @param conceptVo
-     * @return IPage<LibraryDetailDTO>
-     */
-    public IPage<LibraryDetailDTO> getAllKnowledge(GetAllInformationVO conceptVo);
-
-    /**
-     * 获取术语知识
-     *
-     * @param termVo
-     * @return LibraryInfo
-     */
-    public List<LibraryDetail> getLibraryDetail(TermVo termVo);
 
-    /**
-     * 清空医学术语知识表
-     *
-     */
-    public void truncateDetail();
+	IPage<GetLibraryDetailListDTO> getLibraryDetailList(GetLibraryDetailListVO getLibraryDetailListVO);
 
-    /**
-     * 获取所有没有实体关联的静态信息
-     *
-     * @result List<LibraryDetail>
-     *
-     */
-    public List<LibraryDetail> getLimboItems();
+   
 }

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

@@ -1,11 +1,8 @@
 package com.diagbot.mapper;
 
-import java.util.List;
-
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.GetAllInformationDTO;
-import com.diagbot.dto.LibraryInfoDTO;
 import com.diagbot.entity.LibraryInfo;
 import com.diagbot.vo.GetAllInformationVO;
 
@@ -19,26 +16,6 @@ import com.diagbot.vo.GetAllInformationVO;
  */
 public interface LibraryInfoMapper extends BaseMapper<LibraryInfo> {
 
-	/**
-	 * 获取医学术语命名列表
-	 * @param getAllInformationVO
-	 * @return
-	 */
-    public IPage<GetAllInformationDTO> getAllInformation(GetAllInformationVO getAllInformationVO);
-
-    /**
-     * 获取所有术语信息
-     *
-     * @param conceptVo
-     * @return IPage<LibraryInfoDTO>
-     */
-    public IPage<LibraryInfoDTO> getAllConcept(GetAllInformationVO conceptVo);
-
-    /**
-     * 获取所有没有实体关联的静态信息
-     *
-     * @result List<LibraryInfo>
-     *
-     */
-    public List<LibraryInfo> getLimboItems();
+    IPage<GetAllInformationDTO> getAllInformation(GetAllInformationVO getAllInformationVO);
+   
 }

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

@@ -1,13 +1,8 @@
 package com.diagbot.mapper;
 
-import java.util.List;
-
 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.GetMedicalInfoListDTO;
-//import com.diagbot.dto.LibraryDTO;
-import com.diagbot.dto.MedicalDTO;
 import com.diagbot.entity.Medical;
 import com.diagbot.vo.GetMedicalInfoListVO;
 
@@ -24,31 +19,5 @@ public interface MedicalMapper extends BaseMapper<Medical> {
 	
 	IPage<GetMedicalInfoListDTO> getMedicalInfoList(GetMedicalInfoListVO getMedicalInfoListVO);
 	
-	
-	
-    /**
-     * 获取所有术语医学信息
-     *
-     * @param page
-     * @param medicalDTO
-     * @return IPage<MedicalDTO>
-     */
-    public IPage<MedicalDTO> getAllMedicalInfo(Page page, MedicalDTO medicalDTO);
-
-
-    /**
-     * 获取所有没有实体关联的医学信息
-     *
-     * @result List<Medical>
-     *
-     */
-    public List<Medical> getLimboItems();
-
-    /**
-     * 清空医学术语关系表
-     *
-     */
-    public void truncateMedical();
-
 
 }

+ 0 - 43
knowledgeman-service/src/main/java/com/diagbot/mapper/RelationMapper.java

@@ -1,15 +1,10 @@
 package com.diagbot.mapper;
 
-import java.util.List;
-
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.GetRelationInfoListDTO;
-import com.diagbot.dto.RelationDTO;
 import com.diagbot.entity.Relation;
-import com.diagbot.vo.AllRelationVo;
 import com.diagbot.vo.GetRelationInfoListVO;
-import com.diagbot.vo.RelationVo;
 
 /**
  * <p>
@@ -24,42 +19,4 @@ public interface RelationMapper extends BaseMapper<Relation> {
 	
 	IPage<GetRelationInfoListDTO> getRelationInfoList(GetRelationInfoListVO getRelationInfoListVO);
 	
-    /**
-     * 获取所有术语关系
-     *
-     * @param allrelationVo
-     * @return IPage<RelationDTO>
-     */
-    public IPage<RelationDTO> getAllRelation(AllRelationVo allrelationVo);
-
-
-    /**
-     * 获取术语上级信息
-     *
-     * @param relationDTO
-     * @return List<RelationDTO>
-     */
-    public List<RelationDTO> getRelation(RelationDTO relationDTO);
-
-    /**
-     * 按名称获取术语关系
-     *
-     * @param relationVo
-     * @return RelationDTO
-     *
-     */
-    public RelationDTO getRelationbyName(RelationVo relationVo);
-
-    /**
-     * 删除所有术语关系信息
-     *
-     */
-    public void truncateRelation();
-
-    /**
-     * 获取所有没有实体关联的概念的关系
-     *
-     * @result List<Relation>
-     */
-    public List<Relation> getLimboRelation();
 }

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

@@ -1,13 +1,7 @@
 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;
-
-import java.util.List;
 
 /**
  * <p>
@@ -18,7 +12,5 @@ import java.util.List;
  * @since 2019-01-30
  */
 public interface ConceptService extends IService<Concept> {
-    public ConceptDTO getConcept(TermVo termVo);
 
-    public List<ConceptDTO> getLimboItems();
 }

+ 2 - 14
knowledgeman-service/src/main/java/com/diagbot/service/LibraryDetailService.java

@@ -1,14 +1,7 @@
 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.GetAllInformationVO;
-import com.diagbot.vo.TermVo;
-
-import java.util.List;
 
 /**
  * <p>
@@ -19,11 +12,6 @@ import java.util.List;
  * @since 2019-01-30
  */
 public interface LibraryDetailService extends IService<LibraryDetail> {
-    public IPage<LibraryDetailDTO> getAllKnowledge(GetAllInformationVO conceptVo);
-
-    public List<LibraryDetail> getLibraryDetail(TermVo termVo);
-
-    public void truncateDetail();
-
-    public List<LibraryDetail> getLimboItems();
+   
+	
 }

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

@@ -1,12 +1,7 @@
 package com.diagbot.service;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.diagbot.dto.LibraryInfoDTO;
 import com.diagbot.entity.LibraryInfo;
-import com.diagbot.vo.GetAllInformationVO;
 
 /**
  * <p>
@@ -18,6 +13,4 @@ import com.diagbot.vo.GetAllInformationVO;
  */
 public interface LibraryInfoService extends IService<LibraryInfo> {
     
-    public IPage<LibraryInfoDTO> getAllConcept(GetAllInformationVO conceptVo);
-    public List<LibraryInfo> getLimboItems();
 }

+ 1 - 13
knowledgeman-service/src/main/java/com/diagbot/service/MedicalService.java

@@ -1,12 +1,6 @@
 package com.diagbot.service;
 
-import java.util.List;
-
-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.LibraryDTO;
-import com.diagbot.dto.MedicalDTO;
 import com.diagbot.entity.Medical;
 
 /**
@@ -18,12 +12,6 @@ import com.diagbot.entity.Medical;
  * @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<Medical> getLimboItems();
 
-    public void truncateMedical();
+	
 }

+ 1 - 15
knowledgeman-service/src/main/java/com/diagbot/service/RelationService.java

@@ -1,14 +1,7 @@
 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.RelationDTO;
 import com.diagbot.entity.Relation;
-import com.diagbot.vo.AllRelationVo;
-import com.diagbot.vo.RelationVo;
-
-import java.util.List;
 
 /**
  * <p>
@@ -19,13 +12,6 @@ import java.util.List;
  * @since 2019-01-31
  */
 public interface RelationService extends IService<Relation> {
-    public IPage<RelationDTO> getAllRelation(AllRelationVo allrelationVo);
-
-    public List<RelationDTO> getRelation(RelationDTO relationDTO);
-
-    public RelationDTO getRelationbyName(RelationVo relationVo);
-
-    public void truncateRelation();
 
-    public List<Relation> getLimboRelation();
+	
 }

+ 3 - 16
knowledgeman-service/src/main/java/com/diagbot/service/impl/ConceptServiceImpl.java

@@ -1,16 +1,11 @@
 package com.diagbot.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.stereotype.Service;
+
 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;
-import com.diagbot.vo.TermVo;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
 
 /**
  * <p>
@@ -22,13 +17,5 @@ import java.util.List;
  */
 @Service
 public class ConceptServiceImpl extends ServiceImpl<ConceptMapper, Concept> implements ConceptService {
-    @Override
-    public ConceptDTO getConcept(TermVo termVo) {
-        return baseMapper.getConcept(termVo);
-    }
-
-    @Override
-    public List<ConceptDTO> getLimboItems() {
-        return baseMapper.getLimboItems();
-    }
+   
 }

+ 4 - 25
knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryDetailServiceImpl.java

@@ -1,17 +1,11 @@
 package com.diagbot.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.stereotype.Service;
+
 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;
-import com.diagbot.vo.GetAllInformationVO;
-import com.diagbot.vo.TermVo;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
 
 /**
  * <p>
@@ -23,21 +17,6 @@ import java.util.List;
  */
 @Service
 public class LibraryDetailServiceImpl extends ServiceImpl<LibraryDetailMapper, LibraryDetail> implements LibraryDetailService {
-    @Override
-    public IPage<LibraryDetailDTO> getAllKnowledge(GetAllInformationVO conceptVo) {
-        return baseMapper.getAllKnowledge(conceptVo);
-    }
-
-    @Override
-    public List<LibraryDetail> getLibraryDetail(TermVo termVo) {
-        return baseMapper.getLibraryDetail(termVo);
-    }
-
-    @Override
-    public void truncateDetail() {
-        baseMapper.truncateDetail();
-    }
-
-    @Override
-    public List<LibraryDetail> getLimboItems() { return baseMapper.getLimboItems(); }
+   
+	
 }

+ 1 - 12
knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryInfoServiceImpl.java

@@ -1,16 +1,11 @@
 package com.diagbot.service.impl;
 
-import java.util.List;
-
 import org.springframework.stereotype.Service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 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;
-import com.diagbot.vo.GetAllInformationVO;
 
 /**
  * <p>
@@ -23,11 +18,5 @@ import com.diagbot.vo.GetAllInformationVO;
 @Service
 public class LibraryInfoServiceImpl extends ServiceImpl<LibraryInfoMapper, LibraryInfo> implements LibraryInfoService {
 
-    @Override
-    public IPage<LibraryInfoDTO> getAllConcept(GetAllInformationVO conceptVo) {
-        return baseMapper.getAllConcept(conceptVo);
-    }
-
-    @Override
-    public List<LibraryInfo> getLimboItems() { return baseMapper.getLimboItems(); }
+  
 }

+ 1 - 24
knowledgeman-service/src/main/java/com/diagbot/service/impl/MedicalServiceImpl.java

@@ -1,14 +1,8 @@
 package com.diagbot.service.impl;
 
-import java.util.List;
-
 import org.springframework.stereotype.Service;
 
-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.LibraryDTO;
-import com.diagbot.dto.MedicalDTO;
 import com.diagbot.entity.Medical;
 import com.diagbot.mapper.MedicalMapper;
 import com.diagbot.service.MedicalService;
@@ -23,22 +17,5 @@ import com.diagbot.service.MedicalService;
  */
 @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);
-    }
-    */
-
-
-    @Override
-    public List<Medical> getLimboItems() { return baseMapper.getLimboItems(); }
-
-    @Override
-    public void truncateMedical() { baseMapper.truncateMedical(); }
+   
 }

+ 3 - 29
knowledgeman-service/src/main/java/com/diagbot/service/impl/RelationServiceImpl.java

@@ -1,18 +1,11 @@
 package com.diagbot.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.stereotype.Service;
+
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.diagbot.dto.RelationDTO;
 import com.diagbot.entity.Relation;
 import com.diagbot.mapper.RelationMapper;
 import com.diagbot.service.RelationService;
-import com.diagbot.vo.AllRelationVo;
-import com.diagbot.vo.RelationVo;
-import com.diagbot.vo.TermVo;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
 
 /**
  * <p>
@@ -24,24 +17,5 @@ import java.util.List;
  */
 @Service
 public class RelationServiceImpl extends ServiceImpl<RelationMapper, Relation> implements RelationService {
-    @Override
-    public IPage<RelationDTO> getAllRelation(AllRelationVo allrelationVo) {
-        return baseMapper.getAllRelation(allrelationVo);
-    }
-
-    @Override
-    public List<RelationDTO> getRelation(RelationDTO relationDTO) {
-        return baseMapper.getRelation(relationDTO);
-    }
-
-    @Override
-    public RelationDTO getRelationbyName(RelationVo relationVo) {
-        return baseMapper.getRelationbyName(relationVo);
-    }
-
-    @Override
-    public void truncateRelation() { baseMapper.truncateRelation(); }
-
-    @Override
-    public List<Relation> getLimboRelation() { return baseMapper.getLimboRelation(); }
+    
 }

+ 86 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/AddLibraryDetailVO.java

@@ -0,0 +1,86 @@
+package com.diagbot.vo;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+import org.hibernate.validator.constraints.Range;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: Weixuan Huang
+ * @time: 2019/3/14 16:03
+ */
+@Getter
+@Setter
+public class AddLibraryDetailVO {
+	
+	/**
+	 * 是否提示
+	 */
+	@NotNull(message="是否提示必填")
+	@ApiModelProperty(value="是否提示,0-否,1-是",required=true)
+	@Range(max=1,min=0,message="是否提示必须是0或者1")
+	private Integer isTip;
+	
+	/**
+     * 概念id
+     */
+	@NotNull(message="概念id必填")
+	@ApiModelProperty(value="概念id",required=true)
+    private Long conceptId;
+
+    /**
+     * 静态知识来源
+     */
+	@NotBlank(message="静态知识来源必填")
+	@ApiModelProperty(value="静态知识来源",required=true)
+    private String source;
+
+    /**
+     * 提示明细标题
+     */
+	@NotBlank(message="提示明细标题必填")
+	@ApiModelProperty(value="提示明细标题",required=true)
+    private String title;
+
+    /**
+     * 提示明细内容
+     */
+	@ApiModelProperty(value="提示明细内容")
+    private String content;
+
+    /**
+     * 纯文本
+     */
+	@ApiModelProperty(value="纯文本")
+    private String text;
+
+    /**
+     * 提示明细序号
+     */
+	@ApiModelProperty(value="提示明细序号")
+    private Integer orderNo;
+
+    /**
+     * 显示位置(多选):1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书
+     */
+	@NotBlank(message="显示位置必填")
+	@ApiModelProperty(value="显示位置(多选):1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书")
+    private String position;
+
+    /**
+     * 是否诊断依据(1-是,0-否)
+     */
+	@NotNull(message="是否诊断依据必填")
+	@ApiModelProperty(value="是否诊断依据(1-是,0-否)",required=true)
+	@Range(max=1,min=0,message="是否诊断依据必须是0或者1")
+    private Integer isReason;
+	
+	
+	
+
+}

+ 0 - 32
knowledgeman-service/src/main/java/com/diagbot/vo/AllRelationVo.java

@@ -1,32 +0,0 @@
-package com.diagbot.vo;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * @Description:
- * @author: Weixuan Huang
- * @time: 2019/3/15 10:40
- */
-@Getter
-@Setter
-public class AllRelationVo extends Page {
-    @NotNull(message = "请输入起始节点术语名")
-    private String start_term;
-
-    @NotNull(message = "请输入起始节点术语类型")
-    private String start_type;
-
-    private int start_concept_id;
-
-    private String relation_name;
-
-    private String end_term;
-
-    private int end_concept_id;
-
-    private String end_type;
-}

+ 0 - 57
knowledgeman-service/src/main/java/com/diagbot/vo/AmendTermVo.java

@@ -1,57 +0,0 @@
-package com.diagbot.vo;
-
-import com.diagbot.dto.RelationDTO;
-import com.diagbot.entity.LibraryDetail;
-import com.diagbot.entity.LibraryInfo;
-import com.diagbot.entity.Medical;
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-import java.time.LocalDateTime;
-import java.util.List;
-
-/**
- * @Description:
- * @author: Weixuan Huang
- * @time: 2019/1/14 17:03
- */
-@Getter
-@Setter
-public class AmendTermVo {
-    @NotNull(message="请输入现有的医学术语")
-    private String oldterm;
-
-    @NotNull(message="请输入现有的医学术语类型")
-    private String oldtype;
-
-    @NotNull(message="请输入新的医学术语")
-    private String newterm;
-
-    @NotNull(message="请输入新的医学术语类型")
-    private String newtype;
-
-    @NotNull(message="请输入医学概念名称")
-    private String concept;
-
-    private int concept_id;
-    /**
-     * 术语基本信息
-     */
-    private List<LibraryInfo> libraryInfo;
-
-    /**
-     * 术语相关医学知识
-     */
-    private List<LibraryDetail> information;
-
-    /**
-     * 医学临床信息
-     */
-    private List<Medical> medicalInfo;
-
-    /**
-     * 术语关系信息
-     */
-    private List<RelationDTO> relations;
-}

+ 33 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/GetLibraryDetailListVO.java

@@ -0,0 +1,33 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: Weixuan Huang
+ * @time: 2019/3/14 16:03
+ */
+@SuppressWarnings({ "serial", "rawtypes" })
+@Getter
+@Setter
+public class GetLibraryDetailListVO extends Page {
+    
+	/**
+     * 术语名称
+     */
+	@ApiModelProperty(value="术语名称")
+    private String conceptName;
+
+    
+	/**
+     * 术语类型
+     */
+	@ApiModelProperty(value="术语类型")
+    private String conceptType;
+	
+
+}

+ 25 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/GetLibraryDetailVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: Weixuan Huang
+ * @time: 2019/3/14 16:03
+ */
+@Getter
+@Setter
+public class GetLibraryDetailVO {
+    
+    /**
+     * 医学术语静态知识id
+     */
+	@ApiModelProperty(value="医学术语静态知识id",required=true)
+	@NotNull(message="医学术语静态知识id必传")
+    private Long id;
+    
+}

+ 0 - 29
knowledgeman-service/src/main/java/com/diagbot/vo/KnowledgeVo.java

@@ -1,29 +0,0 @@
-package com.diagbot.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * @Description:
- * @author: Weixuan Huang
- * @time: 2019/3/20 15:03
- */
-@Getter
-@Setter
-public class KnowledgeVo {
-    @NotNull(message = "请输入医学术语")
-    private String term;
-
-    @NotNull(message = "请输入术语类型")
-    private String type;
-
-    private int id;
-
-    private int concept_id;
-
-    private String source;
-
-    private String title;
-}

+ 0 - 24
knowledgeman-service/src/main/java/com/diagbot/vo/MedicalVo.java

@@ -1,24 +0,0 @@
-package com.diagbot.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * @Description:
- * @author: Weixuan Huang
- * @time: 2019/2/15 17:21
- */
-@Getter
-@Setter
-public class MedicalVo {
-    @NotNull(message="请输入医学术语")
-    private String name;
-
-//    private int type_id;
-
-    private int concept_id;
-
-//    private String type;
-}

+ 0 - 33
knowledgeman-service/src/main/java/com/diagbot/vo/RelationVo.java

@@ -1,33 +0,0 @@
-package com.diagbot.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * @Description:
- * @author: Weixuan Huang
- * @time: 2019/3/15 10:40
- */
-@Getter
-@Setter
-public class RelationVo {
-    @NotNull(message = "请输入起始节点术语名")
-    private String start_term;
-
-    @NotNull(message = "请输入起始节点术语类型")
-    private String start_type;
-
-    private Long start_concept_id;
-
-    private String relation_name;
-
-    private Long relation_id;
-
-    private String end_term;
-
-    private Long end_concept_id;
-
-    private String end_type;
-}

+ 25 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/RemoveLibraryDetailVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: Weixuan Huang
+ * @time: 2019/3/14 16:03
+ */
+@Getter
+@Setter
+public class RemoveLibraryDetailVO {
+    
+    /**
+     * 医学术语静态知识id
+     */
+	@ApiModelProperty(value="医学术语静态知识id",required=true)
+	@NotNull(message="医学术语静态知识id必传")
+    private Long id;
+    
+}

+ 0 - 28
knowledgeman-service/src/main/java/com/diagbot/vo/TermVo.java

@@ -1,28 +0,0 @@
-package com.diagbot.vo;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * @Description:
- * @author: Weixuan Huang
- * @time: 2019/1/14 17:03
- */
-@Getter
-@Setter
-public class TermVo {
-    @NotNull(message = "请输入医学术语")
-    private String term;
-
-    @NotNull(message = "请输入术语类型")
-    private String type;
-
-    private int id;
-
-    private int concept_id;
-
-    private String conecpt_name;
-}

+ 0 - 20
knowledgeman-service/src/main/java/com/diagbot/vo/TypeVo.java

@@ -1,20 +0,0 @@
-package com.diagbot.vo;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * @Description:
- * @author: Weixuan Huang
- * @time: 2019/2/15 15:41
- */
-@Getter
-@Setter
-public class TypeVo extends Page {
-    private String type;
-
-    private int type_id;
-}

+ 40 - 51
knowledgeman-service/src/main/java/com/diagbot/web/LibraryDetailController.java

@@ -1,9 +1,9 @@
 package com.diagbot.web;
 
-
 import javax.validation.Valid;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -11,75 +11,64 @@ import org.springframework.web.bind.annotation.RestController;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
-import com.diagbot.dto.ConceptDTO;
-import com.diagbot.dto.LibraryDetailDTO;
+import com.diagbot.dto.GetLibraryDetailDTO;
+import com.diagbot.dto.GetLibraryDetailListDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.LibraryDetailFacade;
-import com.diagbot.vo.AmendTermVo;
-import com.diagbot.vo.GetAllInformationVO;
-import com.diagbot.vo.KnowledgeVo;
-import com.diagbot.vo.RemoveConceptKnowledgeVO;
+import com.diagbot.vo.AddLibraryDetailVO;
+import com.diagbot.vo.GetLibraryDetailListVO;
+import com.diagbot.vo.GetLibraryDetailVO;
+import com.diagbot.vo.RemoveLibraryDetailVO;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
-
 /**
  * <p>
  *  前端控制器
  * </p>
  *
  * @author Weixuan Huang
- * @since 2019-01-30
+ * @since 2019-01-16
  */
 @RestController
-@RequestMapping("/Knowledge")
-@Api(value = "标准术语静态知识API", tags = { "标准术语静态知识API" })
-
+@RequestMapping("/libraryDetail")
+@SuppressWarnings("unchecked")
+@Api(value = "医学术语静态知识维护相关API", tags = { "医学术语静态知识维护相关API" })
 public class LibraryDetailController {
+	
     @Autowired
     private LibraryDetailFacade libraryDetailFacade;
-
-    @ApiOperation(value = "查询所有术语静态知识")
-    @PostMapping("getAllKnowledge")
-    @SysLogger("getAllKnowledge")
-    public RespDTO<IPage<LibraryDetailDTO>> getAllKnowledge(@RequestBody GetAllInformationVO conceptVo) {
-        IPage<LibraryDetailDTO> data = libraryDetailFacade.getAllLibraryDetail(conceptVo);
-
-        return RespDTO.onSuc(data);
+    
+    @ApiOperation(value = "获取医学术语静态知识列表[by:rengb]")
+    @PostMapping("/getLibraryDetailList")
+    @SysLogger("getLibraryDetailList")
+    public RespDTO<IPage<GetLibraryDetailListDTO>> getLibraryDetailList(@RequestBody GetLibraryDetailListVO getLibraryDetailListVO) {
+        return RespDTO.onSuc(libraryDetailFacade.getLibraryDetailList(getLibraryDetailListVO));
     }
-
-
-    @ApiOperation(value = "术语静态知识查询",
-            notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>" +
-                    "Source: 知识来源, 选填<br/>NewType: 知识标题, 选填<br/>")
-    @PostMapping("/getConceptKnowledge")
-    @SysLogger("getConceptKnowledge")
-    public RespDTO<ConceptDTO> getConceptKnowledge(@Valid @RequestBody KnowledgeVo knowledgeVo) {
-        ConceptDTO data = libraryDetailFacade.getConceptKnowledge(knowledgeVo);
-
-        return RespDTO.onSuc(data);
+    
+    @ApiOperation(value = "医学术语静态知识删除[by:rengb]")
+    @PostMapping("/removeLibraryDetail")
+    @SysLogger("removeLibraryDetail")
+    @Transactional
+    public RespDTO<Boolean> removeLibraryDetail(@Valid @RequestBody RemoveLibraryDetailVO removeLibraryDetailVO) {
+        return RespDTO.onSuc(libraryDetailFacade.removeLibraryDetail(removeLibraryDetailVO));
     }
-
-
-    @ApiOperation(value = "术语静态知识修改",
-            notes = "NewTerm: 术语名称, 必填<br/>NewType: 术语类型, 必填<br/>" +
-                    "Source: 知识来源, 必填<br/>NewType: 知识标题, 必填<br/>")
-    @PostMapping("/upsertConceptKnowledge")
-    @SysLogger("upsertConceptKnowledge")
-    public RespDTO<ConceptDTO> upsertConceptKnowledge(@Valid @RequestBody AmendTermVo amendTermVo) {
-        ConceptDTO data = libraryDetailFacade.upsertConceptKnowledge(amendTermVo);
-
-        return RespDTO.onSuc(data);
+    
+    @ApiOperation(value = "获取医学术语静态知识详情[by:rengb]")
+    @PostMapping("/getLibraryDetail")
+    @SysLogger("getLibraryDetail")
+    public RespDTO<GetLibraryDetailDTO> getLibraryDetail(@Valid @RequestBody GetLibraryDetailVO getLibraryDetailVO) {
+        return RespDTO.onSuc(libraryDetailFacade.getLibraryDetail(getLibraryDetailVO));
     }
-
-    @ApiOperation(value = "术语静态知识删除",
-            notes = "Term: 术语名称, 必填<br/>Type: 术语类型, 必填<br/>" +
-                    "Source: 知识来源, 必填<br/>NewType: 知识标题, 必填<br/>")
-    @PostMapping("/removeConceptKnowledge")
-    @SysLogger("removeConceptKnowledge")
-    public RespDTO<Boolean> removeConceptKnowledge(@Valid @RequestBody RemoveConceptKnowledgeVO removeConceptKnowledgeVO) {
-        RespDTO<Boolean> resp = new RespDTO<>();
-        return RespDTO.onSuc(libraryDetailFacade.removeConceptKnowledge(removeConceptKnowledgeVO));
+    
+    @ApiOperation(value = "医学术语静态知识添加或者编辑[by:rengb]")
+    @PostMapping("/addLibraryDetail")
+    @SysLogger("addLibraryDetail")
+    @Transactional
+    public RespDTO<Boolean> addLibraryDetail(@Valid @RequestBody AddLibraryDetailVO addLibraryDetailVO) {
+        return RespDTO.onSuc(libraryDetailFacade.addLibraryDetail(addLibraryDetailVO));
     }
+    
+    
 }

+ 1 - 15
knowledgeman-service/src/main/resources/mapper/ConceptMapper.xml

@@ -13,19 +13,5 @@
         <result column="lib_id" property="libId" />
     </resultMap>
 
-    <select id="getConcept" parameterType="com.diagbot.vo.TermVo" resultType="com.diagbot.dto.ConceptDTO">
-        SELECT
-        a.id, a.lib_id, a.gmt_created, a.gmt_modified
-        FROM concept a WHERE a.id IN (
-            SELECT concept_id FROM library_info
-            WHERE name = #{term} and type = #{type}
-        )
-    </select>
-
-    <select id="getLimboItems" resultType="com.diagbot.dto.ConceptDTO">
-        SELECT * FROM concept WHERE lib_id NOT in
-        (
-            SELECT id FROM library_info WHERE is_concept = 1
-        )
-    </select>
+   
 </mapper>

+ 27 - 46
knowledgeman-service/src/main/resources/mapper/LibraryDetailMapper.xml

@@ -20,51 +20,32 @@
         <result column="is_reason" property="isReason" />
     </resultMap>
 
-    <select id="getAllKnowledge" resultType="com.diagbot.dto.LibraryDetailDTO">
-        SELECT
-        id,
-        is_deleted,
-        gmt_create,
-        gmt_modified,
-        creator,
-        modifier,
-        b.name,
-        b.type,
-        a.concept_id,
-        source,
-        title,
-        content,
-        text,
-        order_no,
-        position,
-        is_reason
-        FROM library_detail a,
-        (SELECT concept_id, name, type
-            FROM library_info
-            WHERE is_concept = 1
-            <if test = "term != ''">
-                AND name LIKE concat('%',#{term},'%')
-            </if>
-            <if test = "type != ''">
-                AND type = #{type}
-            </if>
-        ) b
-        WHERE a.is_deleted = "N" AND a.concept_id = b.concept_id
-        ORDER BY a.concept_id
-    </select>
-
-    <update id="truncateDetail">
-        Truncate Table library_detail
-    </update>
-
-    <select id="getLimboItems" resultType="com.diagbot.entity.LibraryDetail">
-        SELECT * FROM library_detail WHERE concept_id in
-        (
-            SELECT id FROM concept WHERE id NOT in
-            (
-                SELECT DISTINCT(concept_id) FROM library_info
-            )
-        )
-    </select>
+   	<select id="getLibraryDetailList" resultType="com.diagbot.dto.GetLibraryDetailListDTO">
+   		SELECT
+		a.id,
+		a.gmt_modified as gmtModified,
+		a.modifier as modifier,
+		b.id as conceptId,
+		c.`name` as conceptName,
+		c.type as conceptType,
+		CONCAT(c.`name`,'(',c.type,')') as conceptNameAndType,
+		a.source,
+		a.title,
+		a.content,
+		a.text,
+		a.order_no as orderNo,
+		a.position,
+		a.is_reason as isReason
+		FROM library_detail a JOIN concept b ON a.concept_id=b.id
+		JOIN library_info c ON b.lib_id=c.id
+		WHERE a.is_deleted='N' AND b.is_deleted='N' AND c.is_deleted='N' AND c.is_concept=1
+		<if test="conceptName!=null and conceptName!=''">
+			and c.`name` like concat('%',#{conceptName},'%')
+		</if>
+		<if test="conceptType!=null and conceptType!=''">
+			and c.type=#{conceptType}
+		</if>
+		order by a.gmt_modified desc
+   	</select>
 
 </mapper>

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

@@ -18,10 +18,6 @@
         <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="getAllInformation" resultType="com.diagbot.dto.GetAllInformationDTO">
     	SELECT
 		*
@@ -46,13 +42,4 @@
 		ORDER BY operTime DESC
     </select>
 
-    <select id="getLimboItems" resultType="com.diagbot.entity.LibraryInfo">
-        SELECT * FROM library_info WHERE concept_id in
-        (
-            SELECT id FROM concept WHERE id NOT in
-            (
-                SELECT DISTINCT(concept_id) FROM medical
-            )
-        )
-    </select>
 </mapper>

+ 0 - 20
knowledgeman-service/src/main/resources/mapper/MedicalMapper.xml

@@ -51,24 +51,4 @@
 		ORDER BY operTime desc
     </select>
 
-
-    <select id="getTypeId" parameterType="com.diagbot.vo.TypeVo" resultType="com.diagbot.dto.TypeDTO">
-        SELECT id, name
-        FROM lexicon
-        WHERE name = #{type}
-    </select>
-
-    <select id="getLimboItems" resultType="com.diagbot.entity.Medical">
-        SELECT * FROM medical WHERE concept_id in
-        (
-            SELECT id FROM concept WHERE lib_id NOT in
-            (
-                SELECT id FROM library_info WHERE is_concept = 1
-            )
-        )
-    </select>
-
-    <update id="truncateMedical">
-        Truncate Table medical
-    </update>
 </mapper>

+ 2 - 38
knowledgeman-service/src/main/resources/mapper/RelationMapper.xml

@@ -20,9 +20,9 @@
 		(SELECT
 		a.id,
 		a.start_id as startId,
-		(SELECT name FROM library_info where id=a.start_id and is_deleted='N') as startName,
+		(SELECT name FROM library_info where concept_id=a.start_id and is_concept=1 and is_deleted='N') as startName,
 		a.end_id as endId,
-		(SELECT name FROM library_info where id=a.end_id and is_deleted='N') as endName,
+		(SELECT name FROM library_info where concept_id=a.end_id and is_concept=1 and is_deleted='N') as endName,
 		a.relation_id as relationId,
 		(SELECT name FROM lexicon_relationship where id=a.relation_id and is_deleted='N') as relationName,
 		a.gmt_modified as operTime,
@@ -41,40 +41,4 @@
 		ORDER BY operTime desc
     </select>
 
-    <select id="getAllRelation" resultType="com.diagbot.dto.RelationDTO">
-        SELECT c.id, c.start_id, c.name as startName, c.type as startType, c.relation_id, d.name as relationName,
-        e.end_id, e.name as endName, e.type as endType FROM
-            (SELECT a.id, a.start_id, b.name, b.type, a.relation_id FROM relation a, library_info b
-                WHERE b.is_concept = 1 and a.start_id = b.concept_id) c,
-            lexicon_relationship d,
-            (SELECT a.id, a.end_id, b.name, b.type FROM relation a, library_info b
-                WHERE b.is_concept = 1 and a.end_id = b.concept_id) e
-        WHERE c.id = e.id and c.relation_id = d.id ORDER BY c.id
-    </select>
-
-    <select id="getRelationbyName" parameterType="com.diagbot.vo.RelationVo" resultType="com.diagbot.dto.RelationDTO">
-        SELECT c.id, c.start_id, c.relation_id, e.end_id FROM
-            (SELECT a.id, a.start_id, a.relation_id FROM relation a, library_info b
-                WHERE a.start_id = b.concept_id and b.name = #{start_term}) c,
-            lexicon_relationship d,
-            (SELECT a.id, a.end_id FROM relation a, library_info b
-                WHERE a.end_id = b.concept_id and b.name = #{end_term}) e
-        WHERE c.id = e.id and c.relation_id = d.id and d.name = #{relation_name}
-    </select>
-
-    <select id="getRelation" parameterType="com.diagbot.dto.RelationDTO" resultType="com.diagbot.dto.RelationDTO">
-        SELECT id, start_id, relation_id, end_id
-        FROM relation
-        WHERE start_id = #{startId} AND end_id = #{endId}
-    </select>
-
-    <update id="truncateRelation">
-        Truncate Table relation
-    </update>
-
-    <select id="getLimboRelation" resultType="com.diagbot.entity.Relation">
-        SELECT id, start_id, relation_id, end_id FROM relation
-        WHERE start_id NOT IN ( SELECT id FROM concept )
-        OR end_id NOT IN ( SELECT id FROM concept )
-    </select>
 </mapper>