Browse Source

Merge branch 'dev/knowledge' into dev/icssNCD

# Conflicts:
#	icssman-service/src/main/java/com/diagbot/facade/DeptInfoFacade.java
#	knowledgeman-service/src/test/java/com/diagbot/CodeGeneration.java
gaodm 6 years ago
parent
commit
1fac4d23f3
100 changed files with 4243 additions and 2759 deletions
  1. 1 0
      icssman-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  2. 1 0
      icssman-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  3. 27 0
      icssman-service/src/main/java/com/diagbot/dto/GetAllDeptsDTO.java
  4. 24 0
      icssman-service/src/main/java/com/diagbot/facade/DeptInfoFacade.java
  5. 25 0
      icssman-service/src/main/java/com/diagbot/vo/GetAllDeptsVO.java
  6. 23 8
      icssman-service/src/main/java/com/diagbot/web/DeptInfoController.java
  7. 13 0
      knowledgeman-service/pom.xml
  8. 0 458
      knowledgeman-service/src/main/java/com/diagbot/api/ImportExcel.java
  9. 29 0
      knowledgeman-service/src/main/java/com/diagbot/client/DeptInfoServiceClient.java
  10. 10 7
      knowledgeman-service/src/main/java/com/diagbot/client/UserServiceClient.java
  11. 36 0
      knowledgeman-service/src/main/java/com/diagbot/client/hystrix/DeptInfoServiceHystrix.java
  12. 11 5
      knowledgeman-service/src/main/java/com/diagbot/client/hystrix/UserServiceHystrix.java
  13. 0 72
      knowledgeman-service/src/main/java/com/diagbot/dto/ConceptDTO.java
  14. 63 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetAllBodypartDTO.java
  15. 49 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetAllConceptDTO.java
  16. 27 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetAllDeptsDTO.java
  17. 65 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetAllInformationDTO.java
  18. 23 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetAllLexiconDTO.java
  19. 34 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetAllLexiconRelationshipDTO.java
  20. 25 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetAllLisConceptDTO.java
  21. 42 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetConceptInfoDetailDTO.java
  22. 47 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetLexiconListDTO.java
  23. 83 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetLibraryDetailDTO.java
  24. 106 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetLibraryDetailListDTO.java
  25. 118 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetMedicalInfoDetailDTO.java
  26. 70 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetMedicalInfoListDTO.java
  27. 76 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetRelationInfoDetailDTO.java
  28. 94 0
      knowledgeman-service/src/main/java/com/diagbot/dto/GetRelationInfoListDTO.java
  29. 0 29
      knowledgeman-service/src/main/java/com/diagbot/dto/InforDTO.java
  30. 0 43
      knowledgeman-service/src/main/java/com/diagbot/dto/LibraryDTO.java
  31. 0 100
      knowledgeman-service/src/main/java/com/diagbot/dto/LibraryDetailDTO.java
  32. 0 80
      knowledgeman-service/src/main/java/com/diagbot/dto/LibraryInfoDTO.java
  33. 0 114
      knowledgeman-service/src/main/java/com/diagbot/dto/MedicalDTO.java
  34. 0 64
      knowledgeman-service/src/main/java/com/diagbot/dto/RelationDTO.java
  35. 0 55
      knowledgeman-service/src/main/java/com/diagbot/dto/TermDTO.java
  36. 0 27
      knowledgeman-service/src/main/java/com/diagbot/dto/TypeDTO.java
  37. 82 12
      knowledgeman-service/src/main/java/com/diagbot/entity/Bodypart.java
  38. 63 24
      knowledgeman-service/src/main/java/com/diagbot/entity/Concept.java
  39. 86 6
      knowledgeman-service/src/main/java/com/diagbot/entity/Lexicon.java
  40. 76 7
      knowledgeman-service/src/main/java/com/diagbot/entity/LexiconRelationship.java
  41. 14 14
      knowledgeman-service/src/main/java/com/diagbot/entity/LibraryDetail.java
  42. 28 15
      knowledgeman-service/src/main/java/com/diagbot/entity/LibraryInfo.java
  43. 79 23
      knowledgeman-service/src/main/java/com/diagbot/entity/Medical.java
  44. 81 38
      knowledgeman-service/src/main/java/com/diagbot/entity/Relation.java
  45. 58 0
      knowledgeman-service/src/main/java/com/diagbot/facade/BodypartFacade.java
  46. 499 202
      knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java
  47. 107 0
      knowledgeman-service/src/main/java/com/diagbot/facade/LexiconFacade.java
  48. 41 0
      knowledgeman-service/src/main/java/com/diagbot/facade/LexiconRelationshipFacade.java
  49. 114 199
      knowledgeman-service/src/main/java/com/diagbot/facade/LibraryDetailFacade.java
  50. 10 99
      knowledgeman-service/src/main/java/com/diagbot/facade/LibraryInfoFacade.java
  51. 407 183
      knowledgeman-service/src/main/java/com/diagbot/facade/MedicalFacade.java
  52. 374 258
      knowledgeman-service/src/main/java/com/diagbot/facade/RelationFacade.java
  53. 0 50
      knowledgeman-service/src/main/java/com/diagbot/facade/RelationshipFacade.java
  54. 0 32
      knowledgeman-service/src/main/java/com/diagbot/facade/TypeFacade.java
  55. 12 20
      knowledgeman-service/src/main/java/com/diagbot/mapper/ConceptMapper.java
  56. 6 11
      knowledgeman-service/src/main/java/com/diagbot/mapper/LexiconMapper.java
  57. 1 6
      knowledgeman-service/src/main/java/com/diagbot/mapper/LexiconRelationshipMapper.java
  58. 4 33
      knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryDetailMapper.java
  59. 4 30
      knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryInfoMapper.java
  60. 7 48
      knowledgeman-service/src/main/java/com/diagbot/mapper/MedicalMapper.java
  61. 6 44
      knowledgeman-service/src/main/java/com/diagbot/mapper/RelationMapper.java
  62. 0 8
      knowledgeman-service/src/main/java/com/diagbot/service/ConceptService.java
  63. 1 6
      knowledgeman-service/src/main/java/com/diagbot/service/LexiconRelationshipService.java
  64. 3 6
      knowledgeman-service/src/main/java/com/diagbot/service/LexiconService.java
  65. 2 14
      knowledgeman-service/src/main/java/com/diagbot/service/LibraryDetailService.java
  66. 1 14
      knowledgeman-service/src/main/java/com/diagbot/service/LibraryInfoService.java
  67. 2 17
      knowledgeman-service/src/main/java/com/diagbot/service/MedicalService.java
  68. 1 15
      knowledgeman-service/src/main/java/com/diagbot/service/RelationService.java
  69. 3 16
      knowledgeman-service/src/main/java/com/diagbot/service/impl/ConceptServiceImpl.java
  70. 3 13
      knowledgeman-service/src/main/java/com/diagbot/service/impl/LexiconRelationshipServiceImpl.java
  71. 6 10
      knowledgeman-service/src/main/java/com/diagbot/service/impl/LexiconServiceImpl.java
  72. 4 25
      knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryDetailServiceImpl.java
  73. 3 23
      knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryInfoServiceImpl.java
  74. 4 30
      knowledgeman-service/src/main/java/com/diagbot/service/impl/MedicalServiceImpl.java
  75. 3 29
      knowledgeman-service/src/main/java/com/diagbot/service/impl/RelationServiceImpl.java
  76. 81 0
      knowledgeman-service/src/main/java/com/diagbot/vo/AddConceptInfoDetailVO.java
  77. 42 0
      knowledgeman-service/src/main/java/com/diagbot/vo/AddConceptInfoVO.java
  78. 31 0
      knowledgeman-service/src/main/java/com/diagbot/vo/AddLexiconVO.java
  79. 86 0
      knowledgeman-service/src/main/java/com/diagbot/vo/AddLibraryDetailVO.java
  80. 126 0
      knowledgeman-service/src/main/java/com/diagbot/vo/AddMedicalInfoVO.java
  81. 117 0
      knowledgeman-service/src/main/java/com/diagbot/vo/AddRelationInfoVO.java
  82. 0 32
      knowledgeman-service/src/main/java/com/diagbot/vo/AllRelationVo.java
  83. 0 57
      knowledgeman-service/src/main/java/com/diagbot/vo/AmendTermVo.java
  84. 0 28
      knowledgeman-service/src/main/java/com/diagbot/vo/ConceptVo.java
  85. 40 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetAllBodypartVO.java
  86. 34 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetAllConceptVO.java
  87. 25 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetAllDeptsVO.java
  88. 31 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetAllInformationVO.java
  89. 28 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetAllLexiconRelationshipVO.java
  90. 22 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetAllLexiconVO.java
  91. 31 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetAllLisConceptVO.java
  92. 25 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetConceptInfoDetailVO.java
  93. 25 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetLexiconListVO.java
  94. 39 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetLibraryDetailListVO.java
  95. 25 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetLibraryDetailVO.java
  96. 25 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetMedicalInfoDetailVO.java
  97. 31 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetMedicalInfoListVO.java
  98. 25 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetRelationInfoDetailVO.java
  99. 37 0
      knowledgeman-service/src/main/java/com/diagbot/vo/GetRelationInfoListVO.java
  100. 0 0
      knowledgeman-service/src/main/java/com/diagbot/vo/KnowledgeVo.java

+ 1 - 0
icssman-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -31,6 +31,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/file/uploadImage").permitAll()
                 .antMatchers("/introduceInfo/saveIntroduce").permitAll()
                 .antMatchers("/dictionaryInfo/getList").permitAll()
+                .antMatchers("/deptInfo/getAllDepts").permitAll()
                 .antMatchers("/getIcssEnumsData").permitAll()
                 .antMatchers("/**").authenticated();
         //                .antMatchers("/**").permitAll();

+ 1 - 0
icssman-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -93,6 +93,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/file/uploadImage", request)
                 || matchers("/getIcssEnumsData", request)
                 || matchers("/dictionaryInfo/getList", request)
+                || matchers("/deptInfo/getAllDepts", request)
                 || matchers("/", request)) {
             return true;
         }

+ 27 - 0
icssman-service/src/main/java/com/diagbot/dto/GetAllDeptsDTO.java

@@ -0,0 +1,27 @@
+/**
+ * 
+ */
+package com.diagbot.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2018年12月19日下午2:06:21
+ */
+@ApiModel(value="获取所有科室接口出参")
+@Getter
+@Setter
+public class GetAllDeptsDTO {
+	
+	/**
+	 * 科室名称
+	 */
+	@ApiModelProperty(value="科室名称")
+	private String name;
+
+}

+ 24 - 0
icssman-service/src/main/java/com/diagbot/facade/DeptInfoFacade.java

@@ -1,8 +1,18 @@
 package com.diagbot.facade;
 
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+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.client.UserServiceClient;
+import com.diagbot.dto.DeptInfoDTO;
+import com.diagbot.dto.GetAllDeptsDTO;
 import com.diagbot.dto.GetDeptInfoDTO;
 import com.diagbot.dto.GetDeptNameDTO;
 import com.diagbot.dto.GetQuestionUsualAndTypeDTO;
@@ -19,6 +29,7 @@ import com.diagbot.util.ListUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.AddDeptInfoVO;
 import com.diagbot.vo.DeleteDeptInfoVO;
+import com.diagbot.vo.GetAllDeptsVO;
 import com.diagbot.vo.GetDeptInfoDetialsVO;
 import com.diagbot.vo.GetDeptInfoVO;
 import com.diagbot.vo.GetQuestionUsualAndTypeVO;
@@ -213,4 +224,17 @@ public class DeptInfoFacade extends DeptInfoServiceImpl {
         queryWrapper.eq("id",deptId);
         return this.count(queryWrapper) > 0 ? true:false;
     }
+
+    /**
+     * 获取所有科室
+     * @param getAllDeptsVO
+     * @return
+     */
+    public List<GetAllDeptsDTO> getAllDepts(GetAllDeptsVO getAllDeptsVO){
+    	 QueryWrapper<DeptInfo> deptInfoQe = new QueryWrapper<>();
+    	 deptInfoQe.eq("is_deleted",IsDeleteEnum.N.getKey());
+    	 deptInfoQe.like("name", getAllDeptsVO.getName());
+    	 return BeanUtil.listCopyTo(list(deptInfoQe), GetAllDeptsDTO.class);
+    }
+
 }

+ 25 - 0
icssman-service/src/main/java/com/diagbot/vo/GetAllDeptsVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2018年12月5日下午5:00:52
+ */
+@ApiModel(value="获取所有科室接口传参")
+@Getter
+@Setter
+public class GetAllDeptsVO {
+	
+	/**
+	 * 科室名称
+	 */
+	@ApiModelProperty(value="科室名称")
+	private String name;
+
+
+}

+ 23 - 8
icssman-service/src/main/java/com/diagbot/web/DeptInfoController.java

@@ -1,27 +1,33 @@
 package com.diagbot.web;
 
 
+import java.util.List;
+
+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;
+import org.springframework.web.bind.annotation.RestController;
+
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.GetAllDeptsDTO;
 import com.diagbot.dto.GetDeptInfoDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.DeptInfo;
 import com.diagbot.facade.DeptInfoFacade;
 import com.diagbot.vo.AddDeptInfoVO;
 import com.diagbot.vo.DeleteDeptInfoVO;
+import com.diagbot.vo.GetAllDeptsVO;
 import com.diagbot.vo.GetDeptInfoDetialsVO;
 import com.diagbot.vo.GetDeptInfoVO;
 import com.diagbot.vo.UpdateDeptInfoVO;
+
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-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;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.validation.Valid;
 
 /**
  * <p>
@@ -88,4 +94,13 @@ public class DeptInfoController {
         DeptInfo data = deptInfoFacade.getDeptInfoDetials(getDeptInfoDetialsVO);
         return RespDTO.onSuc(data);
     }
+    
+    @ApiOperation(value = "获取所有科室[by:rengb]")
+    @PostMapping("/getAllDepts")
+    @SysLogger("getAllDepts")
+    public RespDTO<List<GetAllDeptsDTO>> getAllDepts(@Valid @RequestBody GetAllDeptsVO getAllDeptsVO) {
+        return RespDTO.onSuc(deptInfoFacade.getAllDepts(getAllDeptsVO));
+    }
+    
+    
 }

+ 13 - 0
knowledgeman-service/pom.xml

@@ -163,6 +163,19 @@
             <artifactId>jxl</artifactId>
             <version>2.6.10</version>
         </dependency>
+        
+        <!-- 文件上传相关架包 -->
+		<dependency>
+			<groupId>commons-fileupload</groupId>
+			<artifactId>commons-fileupload</artifactId>
+			<version>1.3.1</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-io</groupId>
+			<artifactId>commons-io</artifactId>
+			<version>2.4</version>
+		</dependency>
+		
     </dependencies>
 
     <build>

+ 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();
-        }
-    }
-}

+ 29 - 0
knowledgeman-service/src/main/java/com/diagbot/client/DeptInfoServiceClient.java

@@ -0,0 +1,29 @@
+package com.diagbot.client;
+
+import java.util.List;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import com.diagbot.client.hystrix.DeptInfoServiceHystrix;
+import com.diagbot.dto.GetAllDeptsDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.vo.GetAllDeptsVO;
+
+
+/**
+ * @Description: 调用科室服务
+ * @author: gaodm
+ * @time: 2018/8/6 9:52
+ */
+@FeignClient(value = "icssman-service", fallback = DeptInfoServiceHystrix.class)
+public interface DeptInfoServiceClient {
+	
+	@PostMapping(value = "/deptInfo/getAllDepts")
+	RespDTO<List<GetAllDeptsDTO>> getAllDepts(@RequestBody GetAllDeptsVO getAllDeptsVO);
+    
+}
+
+
+

+ 10 - 7
knowledgeman-service/src/main/java/com/diagbot/client/UserServiceClient.java

@@ -1,12 +1,14 @@
 package com.diagbot.client;
 
-import com.diagbot.client.hystrix.UserServiceHystrix;
-import com.diagbot.dto.RespDTO;
-import com.diagbot.entity.User;
+import java.util.List;
+import java.util.Map;
+
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import com.diagbot.client.hystrix.UserServiceHystrix;
+import com.diagbot.dto.RespDTO;
 
 
 /**
@@ -17,8 +19,9 @@ import org.springframework.web.bind.annotation.RequestHeader;
 @FeignClient(value = "user-service", fallback = UserServiceHystrix.class)
 public interface UserServiceClient {
 
-    @PostMapping(value = "/user/{username}")
-    RespDTO<User> getUser(@RequestHeader(value = "Authorization") String token, @PathVariable("username") String username);
+    @PostMapping(value = "/user/getUserInfoByIds")
+    RespDTO<Map<String, String>> getUserInfoByIds(@RequestBody List<String> ids);
+    
 }
 
 

+ 36 - 0
knowledgeman-service/src/main/java/com/diagbot/client/hystrix/DeptInfoServiceHystrix.java

@@ -0,0 +1,36 @@
+package com.diagbot.client.hystrix;
+
+import java.util.List;
+
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import com.diagbot.client.DeptInfoServiceClient;
+import com.diagbot.dto.GetAllDeptsDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.vo.GetAllDeptsVO;
+
+import lombok.extern.slf4j.Slf4j;
+
+
+/**
+ * @Description: 调用科室服务
+ * @author: gaodm
+ * @time: 2018/8/6 9:52
+ */
+@Component
+@Slf4j
+public class DeptInfoServiceHystrix implements DeptInfoServiceClient {
+	
+	@Override
+	public RespDTO<List<GetAllDeptsDTO>> getAllDepts(@RequestBody GetAllDeptsVO getAllDeptsVO) {
+		log.error("【hystrix】调用{}异常", "getAllDepts");
+        return null;
+	}
+
+	
+	
+	
+	
+	
+}

+ 11 - 5
knowledgeman-service/src/main/java/com/diagbot/client/hystrix/UserServiceHystrix.java

@@ -1,9 +1,15 @@
 package com.diagbot.client.hystrix;
 
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
+
 import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.entity.User;
-import org.springframework.stereotype.Component;
+
+import lombok.extern.slf4j.Slf4j;
 
 
 /**
@@ -12,12 +18,12 @@ import org.springframework.stereotype.Component;
  * @time: 2018/8/6 9:52
  */
 @Component
+@Slf4j
 public class UserServiceHystrix implements UserServiceClient {
 
     @Override
-    public RespDTO<User> getUser(String token, String username) {
-        System.out.println(token);
-        System.out.println(username);
+    public RespDTO<Map<String, String>> getUserInfoByIds(@RequestBody List<String> ids) {
+        log.error("【hystrix】调用{}异常", "getUserInfoByIds");
         return null;
     }
 }

+ 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 Integer 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;
-}

+ 63 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetAllBodypartDTO.java

@@ -0,0 +1,63 @@
+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 GetAllBodypartDTO {
+	
+    /**
+     * 部位名称
+     */
+    @ApiModelProperty(value="部位名称")
+    private String name;
+    
+    /**
+     * 部位排序号
+     */
+    @ApiModelProperty(value="部位排序号")
+    private Integer orderNo;
+    
+
+	@Override
+	public int hashCode() {
+		final int prime = 31;
+		int result = 1;
+		result = prime * result + ((name == null) ? 0 : name.hashCode());
+		result = prime * result + ((orderNo == null) ? 0 : orderNo.hashCode());
+		return result;
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		GetAllBodypartDTO other = (GetAllBodypartDTO) obj;
+		if (name == null) {
+			if (other.name != null)
+				return false;
+		} else if (!name.equals(other.name))
+			return false;
+		if (orderNo == null) {
+			if (other.orderNo != null)
+				return false;
+		} else if (!orderNo.equals(other.orderNo))
+			return false;
+		return true;
+	}
+    
+
+    
+
+}

+ 49 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetAllConceptDTO.java

@@ -0,0 +1,49 @@
+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 GetAllConceptDTO {
+	
+	private Long id;
+	
+	/**
+	 * 名称
+	 */
+	@ApiModelProperty(value="名称")
+	private String name;
+	
+	/**
+	 * 类型
+	 */
+	@ApiModelProperty(value="类型")
+	private String type;
+	
+	/**
+	 * 名称(类型)
+	 */
+	@ApiModelProperty(value="名称(类型)")
+	private String nameAndType;
+	
+	/**
+	 * 概念id
+	 */
+	@ApiModelProperty(value="概念id")
+	private Long conceptId;
+	
+	/**
+	 * 是否标准词,1:是,0:否
+	 */
+	@ApiModelProperty(value="是否标准词,1:是,0:否")
+	private Integer isConcept;
+	
+
+}

+ 27 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetAllDeptsDTO.java

@@ -0,0 +1,27 @@
+/**
+ * 
+ */
+package com.diagbot.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2018年12月19日下午2:06:21
+ */
+@ApiModel(value="获取所有科室接口出参")
+@Getter
+@Setter
+public class GetAllDeptsDTO {
+	
+	/**
+	 * 科室名称
+	 */
+	@ApiModelProperty(value="科室名称")
+	private String name;
+
+}

+ 65 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetAllInformationDTO.java

@@ -0,0 +1,65 @@
+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 GetAllInformationDTO {
+	
+    
+    /**
+     * 概念id
+     */
+	@ApiModelProperty(value="概念id")
+    private Long conceptId;
+    
+    /**
+     * 医学标准术语
+     */
+	@ApiModelProperty(value="医学标准术语")
+    private String libName;
+    
+    /**
+     * 术语类型
+     */
+	@ApiModelProperty(value="术语类型")
+    private String libType;
+    
+    /**
+     * 同义词
+     */
+	@ApiModelProperty(value="同义词")
+    private String otherNames;
+    
+    /**
+     * 操作人
+     */
+	@ApiModelProperty(value="操作人")
+    private String operName;
+    
+    /**
+     * 操作时间
+     */
+	@JsonFormat(timezone="GMT+8",pattern ="yyyy-MM-dd HH:mm")
+	@ApiModelProperty(value="操作时间")
+    private Date operTime;
+    
+    
+    
+    
+    
+    
+    
+
+}

+ 23 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetAllLexiconDTO.java

@@ -0,0 +1,23 @@
+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 GetAllLexiconDTO {
+	
+    /**
+     * 术语类型名称
+     */
+    @ApiModelProperty(value="术语类型名称")
+    private String name;
+
+
+}

+ 34 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetAllLexiconRelationshipDTO.java

@@ -0,0 +1,34 @@
+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 GetAllLexiconRelationshipDTO {
+	
+	/**
+	 * 关系id
+	 */
+	@ApiModelProperty(value="关系id")
+	private Long id;
+	
+    /**
+     * 关系名称
+     */
+    @ApiModelProperty(value="关系名称")
+    private String name;
+
+    /**
+     * 关系代码
+     */
+    @ApiModelProperty(value="关系代码")
+    private String code;
+
+}

+ 25 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetAllLisConceptDTO.java

@@ -0,0 +1,25 @@
+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 GetAllLisConceptDTO {
+	
+	/**
+	 * 名称
+	 */
+	@ApiModelProperty(value="名称")
+	private String conceptName;
+	
+	
+	
+
+}

+ 42 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetConceptInfoDetailDTO.java

@@ -0,0 +1,42 @@
+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 GetConceptInfoDetailDTO {
+    
+    /**
+     * 名称
+     */
+	@ApiModelProperty(value="名称")
+    private String name;
+    
+    /**
+     * 类型
+     */
+	@ApiModelProperty(value="类型")
+    private String type;
+    
+    /**
+     * 说明
+     */
+	@ApiModelProperty(value="说明")
+    private String remark;
+	
+	/**
+     * 是否标准词,1:是,0:否
+     */
+	@ApiModelProperty(value="是否标准词,1:是,0:否")
+    private Integer isConcept;
+    
+    
+
+}

+ 47 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetLexiconListDTO.java

@@ -0,0 +1,47 @@
+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 GetLexiconListDTO {
+	
+    /**
+     * 操作时间
+     */
+	@JsonFormat(timezone="GMT+8",pattern ="yyyy-MM-dd HH:mm")
+	@ApiModelProperty(value="操作时间")
+    private Date gmtModified;
+	
+    /**
+     * 操作人
+     */
+	@ApiModelProperty(value="操作人")
+    private String modifier;
+
+    /**
+     * 类型名称
+     */
+	@ApiModelProperty(value="类型名称")
+    private String name;
+
+    /**
+     * 类型备注
+     */
+	@ApiModelProperty(value="类型备注")
+    private String remark;
+
+    
+
+}

+ 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;
+
+    
+}

+ 118 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetMedicalInfoDetailDTO.java

@@ -0,0 +1,118 @@
+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 GetMedicalInfoDetailDTO {
+	
+	/**
+     * 术语概念id
+     */
+	@ApiModelProperty(value="术语概念id")
+    private Long conceptId;
+	
+	/**
+     * 术语概念名称
+     */
+	@ApiModelProperty(value="术语概念名称")
+    private String conceptName;
+	
+	/**
+     * 术语概念类型
+     */
+	@ApiModelProperty(value="术语概念类型")
+    private String conceptType;
+
+    /**
+     * 术语名称
+     */
+	@ApiModelProperty(value="术语名称")
+    private String name;
+
+    /**
+     * 术语标准名
+     */
+	@ApiModelProperty(value="术语标准名")
+    private String stdName;
+
+    /**
+     * 术语小类名称
+     */
+	@ApiModelProperty(value="术语小类名称")
+    private String cateName;
+
+    /**
+     * 术语类组
+     */
+	@ApiModelProperty(value="术语类组")
+    private String grp;
+	
+    /**
+     * 效用名称
+     */
+	@ApiModelProperty(value="效用名称")
+    private String function;
+
+    /**
+     * 性别:1:男, 2:女, 3:通用
+     */
+	@ApiModelProperty(value="性别:1:男, 2:女, 3:通用")
+    private String gender;
+
+    /**
+     * 症状发生的最小年龄
+     */
+	@ApiModelProperty(value="症状发生的最小年龄")
+    private Integer minAge;
+
+    /**
+     * 症状发生的最大年龄
+     */
+	@ApiModelProperty(value="症状发生的最大年龄")
+    private Integer maxAge;
+
+    /**
+     * 一级部位
+     */
+	@ApiModelProperty(value="一级部位")
+    private String bodypart;
+
+    /**
+     * 二级部位
+     */
+	@ApiModelProperty(value="二级部位")
+    private String subBodypart;
+
+    /**
+     * 显示顺序
+     */
+	@ApiModelProperty(value="显示顺序")
+    private String displayOrder;
+
+    /**
+     * 科室
+     */
+	@ApiModelProperty(value="科室")
+    private String dept;
+
+    /**
+     * 术语身份编码
+     */
+	@ApiModelProperty(value="术语身份编码")
+    private String code;
+
+    /**
+     * 备注
+     */
+	@ApiModelProperty(value="备注")
+    private String note;
+
+}

+ 70 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetMedicalInfoListDTO.java

@@ -0,0 +1,70 @@
+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 GetMedicalInfoListDTO {
+	
+    /**
+     * 术语医学属性id
+     */
+	@ApiModelProperty(value="术语医学属性id")
+    private Long medicalId;
+    
+    /**
+     * 概念id
+     */
+	@ApiModelProperty(value="概念id")
+    private Long conceptId;
+    
+    /**
+     * 医学标准术语
+     */
+	@ApiModelProperty(value="医学标准术语")
+    private String libName;
+    
+    /**
+     * 术语类型
+     */
+	@ApiModelProperty(value="术语类型")
+    private String libType;
+    
+    /**
+     * 同义词
+     */
+	@ApiModelProperty(value="同义词")
+    private String otherNames;
+    
+    /**
+     * 操作人
+     */
+	@ApiModelProperty(value="操作人")
+    private String operName;
+    
+    /**
+     * 操作时间
+     */
+	@JsonFormat(timezone="GMT+8",pattern ="yyyy-MM-dd HH:mm")
+	@ApiModelProperty(value="操作时间")
+    private Date operTime;
+    
+    
+    
+    
+    
+    
+    
+
+}

+ 76 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetRelationInfoDetailDTO.java

@@ -0,0 +1,76 @@
+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 GetRelationInfoDetailDTO {
+	
+    /**
+     * id
+     */
+	@ApiModelProperty(value="id")
+    private Long id;
+    
+    /**
+     * 关系起点术语id
+     */
+	@ApiModelProperty(value="关系起点术语id")
+    private Long startId;
+    
+    /**
+     * 关系起点术语名称
+     */
+	@ApiModelProperty(value="关系起点术语名称")
+    private String startName;
+	
+	/**
+     * 关系起点术语类型
+     */
+	@ApiModelProperty(value="关系起点术语类型")
+    private String startType;
+    
+    /**
+     * 关系终点术语id
+     */
+	@ApiModelProperty(value="关系终点术语id")
+    private Long endId;
+	
+    /**
+     * 关系终点术语名称
+     */
+	@ApiModelProperty(value="关系终点术语名称")
+    private String endName;
+	
+    /**
+     * 关系终点术语类型
+     */
+	@ApiModelProperty(value="关系终点术语类型")
+    private String endType;
+	
+    /**
+     * 关系id
+     */
+	@ApiModelProperty(value="关系id")
+    private Long relationId;
+    
+    /**
+     * 关系名称
+     */
+	@ApiModelProperty(value="关系名称")
+    private String relationName;
+    
+    
+    
+    
+    
+    
+
+}

+ 94 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetRelationInfoListDTO.java

@@ -0,0 +1,94 @@
+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 GetRelationInfoListDTO {
+	
+    /**
+     * id
+     */
+	@ApiModelProperty(value="id")
+    private Long id;
+    
+    /**
+     * 关系起点术语id
+     */
+	@ApiModelProperty(value="关系起点术语id")
+    private Long startId;
+    
+    /**
+     * 关系起点术语名称
+     */
+	@ApiModelProperty(value="关系起点术语名称")
+    private String startName;
+	
+	/**
+     * 关系起点术语类型
+     */
+	@ApiModelProperty(value="关系起点术语类型")
+    private String startType;
+    
+    /**
+     * 关系终点术语id
+     */
+	@ApiModelProperty(value="关系终点术语id")
+    private Long endId;
+	
+    /**
+     * 关系终点术语名称
+     */
+	@ApiModelProperty(value="关系终点术语名称")
+    private String endName;
+	
+    /**
+     * 关系终点术语类型
+     */
+	@ApiModelProperty(value="关系终点术语类型")
+    private String endType;
+	
+    /**
+     * 关系id
+     */
+	@ApiModelProperty(value="关系id")
+    private Long relationId;
+    
+    /**
+     * 关系名称
+     */
+	@ApiModelProperty(value="关系名称")
+    private String relationName;
+    
+    /**
+     * 操作人
+     */
+	@ApiModelProperty(value="操作人")
+    private String operName;
+    
+    /**
+     * 操作时间
+     */
+	@JsonFormat(timezone="GMT+8",pattern ="yyyy-MM-dd HH:mm")
+	@ApiModelProperty(value="操作时间")
+    private Date operTime;
+    
+    
+    
+    
+    
+    
+    
+
+}

+ 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;
-}

+ 0 - 27
knowledgeman-service/src/main/java/com/diagbot/dto/TypeDTO.java

@@ -1,27 +0,0 @@
-package com.diagbot.dto;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.List;
-
-/**
- * @Description:
- * @author: Weixuan Huang
- * @time: 2019/2/15 15:43
- */
-@Getter
-@Setter
-public class TypeDTO {
-
-    /**
-     * 名称
-     */
-    private String name;
-
-    /**
-     * 序列号
-     */
-    private int id;
-
-}

+ 82 - 12
knowledgeman-service/src/main/java/com/diagbot/entity/Bodypart.java

@@ -1,23 +1,53 @@
 package com.diagbot.entity;
 
+import java.io.Serializable;
+import java.util.Date;
+
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
 
 /**
  * <p>
  * 
  * </p>
  *
- * @author Weixuan Huang
- * @since 2019-01-14
+ * @author gaodm
+ * @since 2019-04-01
  */
 public class Bodypart implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 主键
+     */
     @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreated;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
 
     /**
      * 二级部位
@@ -37,15 +67,50 @@ public class Bodypart implements Serializable {
     /**
      * 一级部位排序号
      */
-    private Integer order;
+    private Integer orderNo;
 
-    public Integer getId() {
+    public Long getId() {
         return id;
     }
 
-    public void setId(Integer id) {
+    public void setId(Long id) {
         this.id = id;
     }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreated() {
+        return gmtCreated;
+    }
+
+    public void setGmtCreated(Date gmtCreated) {
+        this.gmtCreated = gmtCreated;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
     public String getSubBodypart() {
         return subBodypart;
     }
@@ -67,22 +132,27 @@ public class Bodypart implements Serializable {
     public void setBodypart(String bodypart) {
         this.bodypart = bodypart;
     }
-    public Integer getOrder() {
-        return order;
+    public Integer getOrderNo() {
+        return orderNo;
     }
 
-    public void setOrder(Integer order) {
-        this.order = order;
+    public void setOrderNo(Integer orderNo) {
+        this.orderNo = orderNo;
     }
 
     @Override
     public String toString() {
         return "Bodypart{" +
         "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreated=" + gmtCreated +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
         ", subBodypart=" + subBodypart +
         ", subOrder=" + subOrder +
         ", bodypart=" + bodypart +
-        ", order=" + order +
+        ", orderNo=" + orderNo +
         "}";
     }
 }

+ 63 - 24
knowledgeman-service/src/main/java/com/diagbot/entity/Concept.java

@@ -1,80 +1,119 @@
 package com.diagbot.entity;
 
+import java.io.Serializable;
+import java.util.Date;
+
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
 /**
  * <p>
  * 
  * </p>
  *
- * @author Weixuan Huang
- * @since 2019-01-30
+ * @author gaodm
+ * @since 2019-03-26
  */
 public class Concept implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
     /**
-     * 概念id
+     * 主键
      */
     @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    private Long id;
 
     /**
-     * 术语id
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
      */
-    private Integer libId;
+    private Date gmtCreated;
 
     /**
-     * 创建时间
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
      */
-    private LocalDateTime gmtCreated;
+    private Date gmtModified;
 
     /**
-     * 修改时间
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 术语id
      */
-    private LocalDateTime gmtModified;
+    private Long libId;
 
-    public Integer getId() {
+    public Long getId() {
         return id;
     }
 
-    public void setId(Integer id) {
+    public void setId(Long id) {
         this.id = id;
     }
-    public Integer getLibId() {
-        return libId;
+    public String getIsDeleted() {
+        return isDeleted;
     }
 
-    public void setLibId(Integer libId) {
-        this.libId = libId;
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
     }
-    public LocalDateTime getGmtCreated() {
+    public Date getGmtCreated() {
         return gmtCreated;
     }
 
-    public void setGmtCreated(LocalDateTime gmtCreated) {
+    public void setGmtCreated(Date gmtCreated) {
         this.gmtCreated = gmtCreated;
     }
-    public LocalDateTime getGmtModified() {
+    public Date getGmtModified() {
         return gmtModified;
     }
 
-    public void setGmtModified(LocalDateTime gmtModified) {
+    public void setGmtModified(Date gmtModified) {
         this.gmtModified = gmtModified;
     }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public Long getLibId() {
+        return libId;
+    }
+
+    public void setLibId(Long libId) {
+        this.libId = libId;
+    }
 
     @Override
     public String toString() {
         return "Concept{" +
         "id=" + id +
-        ", libId=" + libId +
+        ", isDeleted=" + isDeleted +
         ", gmtCreated=" + gmtCreated +
         ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
+        ", libId=" + libId +
         "}";
     }
 }

+ 86 - 6
knowledgeman-service/src/main/java/com/diagbot/entity/Lexicon.java

@@ -1,35 +1,102 @@
 package com.diagbot.entity;
 
+import java.io.Serializable;
+import java.util.Date;
+
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
 
 /**
  * <p>
  * 
  * </p>
  *
- * @author Weixuan Huang
- * @since 2019-01-14
+ * @author gaodm
+ * @since 2019-03-26
  */
 public class Lexicon implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 主键
+     */
     @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreated;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
 
     private String name;
 
     private String remark;
 
-    public Integer getId() {
+    private String classCont;
+
+    public Long getId() {
         return id;
     }
 
-    public void setId(Integer id) {
+    public void setId(Long id) {
         this.id = id;
     }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreated() {
+        return gmtCreated;
+    }
+
+    public void setGmtCreated(Date gmtCreated) {
+        this.gmtCreated = gmtCreated;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
     public String getName() {
         return name;
     }
@@ -44,13 +111,26 @@ public class Lexicon implements Serializable {
     public void setRemark(String remark) {
         this.remark = remark;
     }
+    public String getClassCont() {
+        return classCont;
+    }
+
+    public void setClassCont(String classCont) {
+        this.classCont = classCont;
+    }
 
     @Override
     public String toString() {
         return "Lexicon{" +
         "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreated=" + gmtCreated +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
         ", name=" + name +
         ", remark=" + remark +
+        ", classCont=" + classCont +
         "}";
     }
 }

+ 76 - 7
knowledgeman-service/src/main/java/com/diagbot/entity/LexiconRelationship.java

@@ -1,36 +1,100 @@
 package com.diagbot.entity;
 
+import java.io.Serializable;
+import java.util.Date;
+
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 
-import java.io.Serializable;
-
 /**
  * <p>
  * 
  * </p>
  *
- * @author Weixuan Huang
- * @since 2019-02-01
+ * @author gaodm
+ * @since 2019-03-26
  */
 public class LexiconRelationship implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 主键
+     */
     @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreated;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
 
     private String name;
 
     private String code;
 
-    public Integer getId() {
+    public Long getId() {
         return id;
     }
 
-    public void setId(Integer id) {
+    public void setId(Long id) {
         this.id = id;
     }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreated() {
+        return gmtCreated;
+    }
+
+    public void setGmtCreated(Date gmtCreated) {
+        this.gmtCreated = gmtCreated;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
     public String getName() {
         return name;
     }
@@ -50,6 +114,11 @@ public class LexiconRelationship implements Serializable {
     public String toString() {
         return "LexiconRelationship{" +
         "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreated=" + gmtCreated +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
         ", name=" + name +
         ", code=" + code +
         "}";

+ 14 - 14
knowledgeman-service/src/main/java/com/diagbot/entity/LibraryDetail.java

@@ -1,18 +1,18 @@
 package com.diagbot.entity;
 
+import java.io.Serializable;
+import java.util.Date;
+
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
 /**
  * <p>
  * 提示信息明细
  * </p>
  *
- * @author Weixuan Huang
- * @since 2019-01-30
+ * @author gaodm
+ * @since 2019-03-26
  */
 public class LibraryDetail implements Serializable {
 
@@ -32,12 +32,12 @@ public class LibraryDetail implements Serializable {
     /**
      * 记录创建时间
      */
-    private LocalDateTime gmtCreate;
+    private Date gmtCreated;
 
     /**
      * 记录修改时间,如果时间是1970年则表示纪录未修改
      */
-    private LocalDateTime gmtModified;
+    private Date gmtModified;
 
     /**
      * 创建人,0表示无创建人值
@@ -103,18 +103,18 @@ public class LibraryDetail implements Serializable {
     public void setIsDeleted(String isDeleted) {
         this.isDeleted = isDeleted;
     }
-    public LocalDateTime getGmtCreate() {
-        return gmtCreate;
+    public Date getGmtCreated() {
+        return gmtCreated;
     }
 
-    public void setGmtCreate(LocalDateTime gmtCreate) {
-        this.gmtCreate = gmtCreate;
+    public void setGmtCreated(Date gmtCreated) {
+        this.gmtCreated = gmtCreated;
     }
-    public LocalDateTime getGmtModified() {
+    public Date getGmtModified() {
         return gmtModified;
     }
 
-    public void setGmtModified(LocalDateTime gmtModified) {
+    public void setGmtModified(Date gmtModified) {
         this.gmtModified = gmtModified;
     }
     public String getCreator() {
@@ -193,7 +193,7 @@ public class LibraryDetail implements Serializable {
         return "LibraryDetail{" +
         "id=" + id +
         ", isDeleted=" + isDeleted +
-        ", gmtCreate=" + gmtCreate +
+        ", gmtCreated=" + gmtCreated +
         ", gmtModified=" + gmtModified +
         ", creator=" + creator +
         ", modifier=" + modifier +

+ 28 - 15
knowledgeman-service/src/main/java/com/diagbot/entity/LibraryInfo.java

@@ -1,18 +1,18 @@
 package com.diagbot.entity;
 
+import java.io.Serializable;
+import java.util.Date;
+
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
 /**
  * <p>
  * 提示信息
  * </p>
  *
- * @author Weixuan Huang
- * @since 2019-01-30
+ * @author gaodm
+ * @since 2019-03-26
  */
 public class LibraryInfo implements Serializable {
 
@@ -32,12 +32,12 @@ public class LibraryInfo implements Serializable {
     /**
      * 记录创建时间
      */
-    private LocalDateTime gmtCreated;
+    private Date gmtCreated;
 
     /**
      * 记录修改时间,如果时间是1970年则表示纪录未修改
      */
-    private LocalDateTime gmtModified;
+    private Date gmtModified;
 
     /**
      * 创建人,0表示无创建人值
@@ -67,7 +67,12 @@ public class LibraryInfo implements Serializable {
     /**
      * 概念id
      */
-    private Integer conceptId;
+    private Long conceptId;
+
+    /**
+     * 术语排序
+     */
+    private Integer orderNo;
 
     /**
      * 是否标准词,1:是,0:否
@@ -88,18 +93,18 @@ public class LibraryInfo implements Serializable {
     public void setIsDeleted(String isDeleted) {
         this.isDeleted = isDeleted;
     }
-    public LocalDateTime getGmtCreated() {
+    public Date getGmtCreated() {
         return gmtCreated;
     }
 
-    public void setGmtCreated(LocalDateTime gmtCreated) {
+    public void setGmtCreated(Date gmtCreated) {
         this.gmtCreated = gmtCreated;
     }
-    public LocalDateTime getGmtModified() {
+    public Date getGmtModified() {
         return gmtModified;
     }
 
-    public void setGmtModified(LocalDateTime gmtModified) {
+    public void setGmtModified(Date gmtModified) {
         this.gmtModified = gmtModified;
     }
     public String getCreator() {
@@ -137,13 +142,20 @@ public class LibraryInfo implements Serializable {
     public void setRemark(String remark) {
         this.remark = remark;
     }
-    public Integer getConceptId() {
+    public Long getConceptId() {
         return conceptId;
     }
 
-    public void setConceptId(Integer conceptId) {
+    public void setConceptId(Long conceptId) {
         this.conceptId = conceptId;
     }
+    public Integer getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(Integer orderNo) {
+        this.orderNo = orderNo;
+    }
     public Integer getIsConcept() {
         return isConcept;
     }
@@ -157,7 +169,7 @@ public class LibraryInfo implements Serializable {
         return "LibraryInfo{" +
         "id=" + id +
         ", isDeleted=" + isDeleted +
-        ", gmtCreate=" + gmtCreated +
+        ", gmtCreated=" + gmtCreated +
         ", gmtModified=" + gmtModified +
         ", creator=" + creator +
         ", modifier=" + modifier +
@@ -165,6 +177,7 @@ public class LibraryInfo implements Serializable {
         ", type=" + type +
         ", remark=" + remark +
         ", conceptId=" + conceptId +
+        ", orderNo=" + orderNo +
         ", isConcept=" + isConcept +
         "}";
     }

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

@@ -1,8 +1,10 @@
 package com.diagbot.entity;
 
+import java.io.Serializable;
+import java.util.Date;
+
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
 
 /**
  * <p>
@@ -10,19 +12,47 @@ import java.io.Serializable;
  * </p>
  *
  * @author gaodm
- * @since 2019-03-01
+ * @since 2019-03-26
  */
 public class Medical implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 主键
+     */
     @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreated;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
 
     /**
      * 术语概念id
      */
-    private Integer conceptId;
+    private Long conceptId;
 
     /**
      * 术语名称
@@ -45,7 +75,7 @@ public class Medical implements Serializable {
     private String grp;
 
     /**
-     * 用名称
+     * 用名称
      */
     private String function;
 
@@ -94,23 +124,53 @@ public class Medical implements Serializable {
      */
     private String note;
 
-    /**
-     * 是否删除,N:未删除,Y:删除
-     */
-    private String isDeleted;
-
-    public Integer getId() {
+    public Long getId() {
         return id;
     }
 
-    public void setId(Integer id) {
+    public void setId(Long id) {
         this.id = id;
     }
-    public Integer getConceptId() {
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreated() {
+        return gmtCreated;
+    }
+
+    public void setGmtCreated(Date gmtCreated) {
+        this.gmtCreated = gmtCreated;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public Long getConceptId() {
         return conceptId;
     }
 
-    public void setConceptId(Integer conceptId) {
+    public void setConceptId(Long conceptId) {
         this.conceptId = conceptId;
     }
     public String getName() {
@@ -212,18 +272,15 @@ public class Medical implements Serializable {
         this.note = note;
     }
 
-    public String getIs_deleted() {
-        return isDeleted;
-    }
-
-    public void setIs_deleted(String isDeleted) {
-        this.isDeleted = isDeleted;
-    }
-
     @Override
     public String toString() {
         return "Medical{" +
         "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreated=" + gmtCreated +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
         ", conceptId=" + conceptId +
         ", name=" + name +
         ", stdName=" + stdName +
@@ -239,7 +296,6 @@ public class Medical implements Serializable {
         ", dept=" + dept +
         ", code=" + code +
         ", note=" + note +
-        ", isDeleted=" + isDeleted +
         "}";
     }
 }

+ 81 - 38
knowledgeman-service/src/main/java/com/diagbot/entity/Relation.java

@@ -1,99 +1,142 @@
 package com.diagbot.entity;
 
+import java.io.Serializable;
+import java.util.Date;
+
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 
-import java.io.Serializable;
-
 /**
  * <p>
  * 
  * </p>
  *
- * @author Weixuan Huang
- * @since 2019-01-31
+ * @author gaodm
+ * @since 2019-03-26
  */
 public class Relation implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 主键
+     */
     @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    private Long id;
 
     /**
-     * 关系起点术语id
+     * 是否删除,N:未删除,Y:删除
      */
-    private Integer startId;
+    private String isDeleted;
 
     /**
-     * 关系id
+     * 记录创建时间
      */
-    private Integer relationId;
+    private Date gmtCreated;
 
     /**
-     * 关系终点术语id
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
      */
-    private Integer endId;
+    private String modifier;
 
     /**
-     * 子节点
+     * 关系起点术语id
      */
-//    private Relation nextNode;
+    private Long startId;
 
     /**
-     * 父节点
+     * 关系id
      */
-//    private Relation prevNode;
+    private Long relationId;
 
+    /**
+     * 关系终点术语id
+     */
+    private Long endId;
 
-    public Integer getId() {
+    public Long getId() {
         return id;
     }
 
-    public void setId(Integer id) {
+    public void setId(Long id) {
         this.id = id;
     }
-    public Integer getStartId() {
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreated() {
+        return gmtCreated;
+    }
+
+    public void setGmtCreated(Date gmtCreated) {
+        this.gmtCreated = gmtCreated;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public Long getStartId() {
         return startId;
     }
 
-    public void setStartId(Integer startId) {
+    public void setStartId(Long startId) {
         this.startId = startId;
     }
-    public Integer getRelationId() {
+    public Long getRelationId() {
         return relationId;
     }
 
-    public void setRelationId(Integer relationId) {
+    public void setRelationId(Long relationId) {
         this.relationId = relationId;
     }
-    public Integer getEndId() {
+    public Long getEndId() {
         return endId;
     }
 
-    public void setEndId(Integer endId) {
+    public void setEndId(Long endId) {
         this.endId = endId;
     }
-    /*
-    public Relation next() {
-        return nextNode;
-    }
-    public void setNext(Relation node) {
-        nextNode = node;
-    }
-
-    public Relation prev() {
-        return prevNode;
-    }
-    public void setPrev(Relation node) {
-        prevNode = node;
-    }
-    */
 
     @Override
     public String toString() {
         return "Relation{" +
         "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreated=" + gmtCreated +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
         ", startId=" + startId +
         ", relationId=" + relationId +
         ", endId=" + endId +

+ 58 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/BodypartFacade.java

@@ -0,0 +1,58 @@
+package com.diagbot.facade;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import org.springframework.stereotype.Component;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.GetAllBodypartDTO;
+import com.diagbot.entity.Bodypart;
+import com.diagbot.service.impl.BodypartServiceImpl;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.GetAllBodypartVO;
+
+/**
+ * @Description: 部位业务层
+ * @author: Weixuan Huang
+ * @time: 2019/1/16 14:17
+ */
+@Component
+public class BodypartFacade extends BodypartServiceImpl {
+
+	/**
+     * 获取所有部位
+     * @param getAllBodypartVO
+     * @return
+     */
+    public List<GetAllBodypartDTO> getAllBodypart(GetAllBodypartVO getAllBodypartVO){
+    	QueryWrapper<Bodypart> bodypartQe = new QueryWrapper<>();
+    	bodypartQe.eq("is_deleted", "N");
+    	if(StringUtil.isNotBlank(getAllBodypartVO.getBodypart())){
+    		bodypartQe.like("bodypart", getAllBodypartVO.getBodypart());
+    	}
+    	if(StringUtil.isNotBlank(getAllBodypartVO.getSubBodypart())){
+    		bodypartQe.like("sub_bodypart", getAllBodypartVO.getSubBodypart());
+    	}
+    	
+    	List<GetAllBodypartDTO> getAllBodypartDTOList = new ArrayList<>();
+    	list(bodypartQe).forEach(i->{
+    		GetAllBodypartDTO getAllBodypartDTO = new GetAllBodypartDTO();
+    		if(getAllBodypartVO.getLevel()==1){
+    			getAllBodypartDTO.setName(i.getBodypart());
+    			getAllBodypartDTO.setOrderNo(i.getOrderNo());
+    		}else{
+    			getAllBodypartDTO.setName(i.getSubBodypart());
+    			getAllBodypartDTO.setOrderNo(i.getSubOrder());
+    		}
+    		getAllBodypartDTOList.add(getAllBodypartDTO);
+    	});
+    	
+    	return getAllBodypartDTOList.stream().distinct().sorted((a,b)->{
+    		return a.getOrderNo()-b.getOrderNo();
+    	}).collect(Collectors.toList());
+    }
+    
+
+}

+ 499 - 202
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -1,27 +1,55 @@
 package com.diagbot.facade;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.*;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.diagbot.api.ImportExcel;
-import com.diagbot.dto.ConceptDTO;
-import com.diagbot.dto.LibraryInfoDTO;
-import com.diagbot.entity.*;
-import com.diagbot.service.impl.ConceptServiceImpl;
-import com.diagbot.vo.AmendTermVo;
-import com.diagbot.vo.ConceptVo;
-import com.diagbot.vo.KnowledgeVo;
-import com.diagbot.vo.TermVo;
-import org.springframework.beans.BeanUtils;
+import java.io.InputStream;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang.time.DateFormatUtils;
+import org.apache.poi.hssf.usermodel.HSSFDateUtil;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
+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.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.multipart.MultipartFile;
 
-
-import java.util.ArrayList;
-import java.util.List;
-
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.client.UserServiceClient;
+import com.diagbot.dto.GetAllConceptDTO;
+import com.diagbot.dto.GetAllInformationDTO;
+import com.diagbot.dto.GetAllLisConceptDTO;
+import com.diagbot.dto.GetConceptInfoDetailDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.Concept;
+import com.diagbot.entity.LibraryDetail;
+import com.diagbot.entity.LibraryInfo;
+import com.diagbot.entity.Medical;
+import com.diagbot.entity.Relation;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.LibraryInfoService;
+import com.diagbot.service.impl.ConceptServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.util.UserUtils;
+import com.diagbot.vo.AddConceptInfoDetailVO;
+import com.diagbot.vo.AddConceptInfoVO;
+import com.diagbot.vo.GetAllConceptVO;
+import com.diagbot.vo.GetAllInformationVO;
+import com.diagbot.vo.GetAllLisConceptVO;
+import com.diagbot.vo.GetConceptInfoDetailVO;
+import com.diagbot.vo.RemoveConceptInfoVO;
 
 /**
  * @Description: 术语查询业务层
@@ -39,214 +67,483 @@ public class ConceptFacade extends ConceptServiceImpl {
     private MedicalFacade medicalFacade;
     @Autowired
     private RelationFacade relationFacade;
-
-
+    @Autowired
+    @Qualifier("libraryInfoServiceImpl")
+    private LibraryInfoService libraryInfoService;
+    @Autowired
+    private UserServiceClient userServiceClient;
+    
     /**
-     * 获取医学术语基本信息
-     *
-     * @param termvo
-     * @return ConceptDTO
+     * 获取所有化验公表项
+     * @param getAllLisConceptVO
+     * @return
      */
-    public ConceptDTO getConceptInfo(@RequestBody TermVo termvo) {
-
-//        List<ConceptDTO> conceptDTOs = new ArrayList<>();
-        ConceptDTO conceptDTO = null;
-        List<LibraryInfo> libraryinfos;
-
-        // 获取医学术语的基本信息
-        QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
-        query.eq("name", termvo.getTerm());
-        query.eq("type", termvo.getType());
-        query.eq("is_concept", 1);
-        LibraryInfo libraryInfo = libraryinfoFacade.getOne(query);
-
-        if ( libraryInfo != null ) {
-
-            conceptDTO = new ConceptDTO();
-
-            conceptDTO.setId(libraryInfo.getConceptId());
-            conceptDTO.setLibId(libraryInfo.getId().intValue());
-            conceptDTO.setName(libraryInfo.getName());
-
-            query = new QueryWrapper<>();
-            query.eq("concept_id", libraryInfo.getConceptId());
-            query.isNull("is_concept");
-
-            libraryinfos = libraryinfoFacade.list(query);
-            conceptDTO.setLibraryInfo(libraryinfos);
-
-        }
-
-        return conceptDTO;
+    public List<GetAllLisConceptDTO> getAllLisConcept(GetAllLisConceptVO getAllLisConceptVO){
+    	return this.baseMapper.getAllLisConcept(getAllLisConceptVO);
     }
-
-
+    
     /**
-     * 获取标准术语名称列表
-     *
-     * @param conceptVo
-     * @return IPage<LibraryDTO>
+     * 获取所有医学术语命名
+     * @param getAllConceptVO
+     * @return
      */
-    public IPage<LibraryInfoDTO> getAllConcepts(ConceptVo conceptVo) {
-
-        return libraryinfoFacade.getAllConcept(conceptVo);
+    public List<GetAllConceptDTO> getAllConcept(GetAllConceptVO getAllConceptVO){
+    	QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<LibraryInfo>();
+    	libraryInfoQe.eq("is_deleted", "N");
+    	if(getAllConceptVO.getIsConcept()!=null){
+    		libraryInfoQe.eq("is_concept", getAllConceptVO.getIsConcept());
+    	}
+    	if(StringUtil.isNotBlank(getAllConceptVO.getName())){
+    		libraryInfoQe.like("name", getAllConceptVO.getName());
+    	}
+    	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().intValue()!=i.getId().intValue()){
+    				i.setIsDeleted("Y");
+    			}
+    		});
+    		libraryInfoList = libraryInfoList.stream().filter(i->i.getIsDeleted().equals("N")).collect(Collectors.toList());
+    	}
+    	
+    	//添加过术语医学属性的过滤掉
+    	if(getAllConceptVO.getIsMedical()!=null&&getAllConceptVO.getIsMedical()==1){
+    		QueryWrapper<Medical> medicalQe = new QueryWrapper<>();
+    		medicalQe.eq("is_deleted", "N");
+    		medicalQe.in("concept_id", libraryInfoList.stream().map(i->i.getConceptId()).collect(Collectors.toList()));
+    		Map<Long,Medical> medicalMap =medicalFacade.list(medicalQe).stream().collect(Collectors.toMap(Medical::getConceptId, i->i));
+    		libraryInfoList = libraryInfoList.stream().filter(i->{
+    			if(medicalMap.get(i.getConceptId())==null){
+    				return true;
+    			}else{
+    				return false;
+    			}
+    		}).collect(Collectors.toList());
+    	}
+    	
+    	List<GetAllConceptDTO> getAllConceptDTOList = BeanUtil.listCopyTo(libraryInfoList, GetAllConceptDTO.class);
+    	getAllConceptDTOList.forEach(i->{
+    		i.setNameAndType(i.getName()+"("+i.getType()+")");
+    	});
+    	
+    	return getAllConceptDTOList;
     }
-
+    
     /**
-     * 获取标准术语信息列表
-     *
-     * @param conceptVo
-     * @return IPage<LibraryDTO>
+     * 获取医学术语命名列表
+     * @param getAllInformationVO
+     * @return
      */
-    public IPage<LibraryInfoDTO> getAllInformation(ConceptVo conceptVo) {
-
-        return libraryinfoFacade.getAllInfor(conceptVo);
+    public IPage<GetAllInformationDTO> getAllInformation(GetAllInformationVO getAllInformationVO) {
+    	IPage<GetAllInformationDTO> ipage = libraryinfoFacade.getAllInformation(getAllInformationVO);
+    	if(ipage.getRecords().size()>0){
+    		List<String> ids = ipage.getRecords().stream().map(i->i.getOperName()).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,
+                        "获取用户信息失败");
+            }
+        	ipage.getRecords().forEach(i->{
+        		i.setOperName(respDTO.data.get(i.getOperName()));
+        	});
+    	}
+        return ipage;
     }
-
-
+    
     /**
-     * 更新医学术语信息
-     *
-     * @param amendTermVo
-     * @return ConceptDTO
+     * 医学术语命名删除
+     * @param removeConceptInfoVO
+     * @return
      */
-    public ConceptDTO upsertConceptInfo(@RequestBody AmendTermVo amendTermVo) {
-        ConceptDTO conceptDTO = new ConceptDTO();
-
-        TermVo termVo = new TermVo();
-        termVo.setTerm(amendTermVo.getNewterm());
-        termVo.setType(amendTermVo.getNewtype());
-
-        LibraryInfo libraryInfo = libraryinfoFacade.upsertLibraryInfo(amendTermVo);
-
-        QueryWrapper<Concept> query = new QueryWrapper<>();
-        query.eq("lib_id", libraryInfo.getId());
-        Concept concept = getOne(query);
-
-        if (concept == null) {
-            concept = new Concept();
-            concept.setLibId(libraryInfo.getId().intValue());
-            saveOrUpdate(concept);
-
-            concept = getOne(query);
-        }
-
-        libraryInfo.setConceptId(concept.getId());
-        libraryInfo.setIsConcept(1);
-        libraryinfoFacade.saveOrUpdate(libraryInfo);
-
-        if (amendTermVo.getLibraryInfo() != null && amendTermVo.getLibraryInfo().size() > 0) {
-            List<LibraryInfo> libraryInfos = amendTermVo.getLibraryInfo();
-            for (LibraryInfo libraryinfo:libraryInfos) {
-                libraryinfo.setConceptId(concept.getId());
-                libraryinfo.setIsConcept(0);
-                libraryinfo.setIsDeleted("N");
-                libraryinfoFacade.saveOrUpdate(libraryinfo);
-            }
-        }
-
-
-        query = new QueryWrapper<>();
-        query.eq("name", amendTermVo.getNewterm());
-        query.eq("type", amendTermVo.getNewtype());
-        concept = getOne(query);
-
-        BeanUtils.copyProperties(concept, conceptDTO);
-
-        QueryWrapper<LibraryInfo> conceptquery = new QueryWrapper<>();
-        conceptquery = new QueryWrapper<>();
-        conceptquery.eq("concept_id", concept.getId());
-        conceptquery.isNull("is_concept");
-        List<LibraryInfo> libraryInfos = libraryinfoFacade.list(conceptquery);
-
-        conceptDTO.setLibraryInfo(libraryInfos);
-
-        return conceptDTO;
+    public Boolean removeConceptInfo(RemoveConceptInfoVO removeConceptInfoVO) {
+    	StringBuffer sbf = new StringBuffer();
+    	
+    	QueryWrapper<Medical> medicalQe = new QueryWrapper<Medical>();
+    	medicalQe.eq("is_deleted", "N");
+    	medicalQe.eq("concept_id", removeConceptInfoVO.getConceptId());
+    	if(medicalFacade.list(medicalQe).size()>0){
+    		sbf.append("请先解除医学属性关联 ");
+    	}
+    	
+    	QueryWrapper<Relation> relationQe = new QueryWrapper<Relation>();
+    	relationQe.eq("is_deleted", "N");
+    	relationQe.and(i->i.eq("start_id", removeConceptInfoVO.getConceptId()).or().eq("end_id", removeConceptInfoVO.getConceptId()));
+    	if(relationFacade.list(relationQe).size()>0){
+    		sbf.append("请先解除术语关系关联 ");
+    	}
+    	
+    	QueryWrapper<LibraryDetail> libraryDetailQe = new QueryWrapper<LibraryDetail>();
+    	libraryDetailQe.eq("is_deleted", "N");
+    	libraryDetailQe.eq("concept_id", removeConceptInfoVO.getConceptId());
+    	if(libraryDetailFacade.list(libraryDetailQe).size()>0){
+    		sbf.append("请先解除医学静态知识关联 ");
+    	}
+    	
+    	if(sbf.length()>0){
+    		throw new CommonException(CommonErrorCode.RPC_ERROR,sbf.toString());
+    	}
+    	
+    	String currentUser = UserUtils.getCurrentPrincipleID();
+    	Date now = DateUtil.now(); 
+    	
+    	QueryWrapper<LibraryInfo> libraryInfoQe1 = new QueryWrapper<>();
+    	libraryInfoQe1.eq("concept_id", removeConceptInfoVO.getConceptId());
+    	libraryInfoQe1.eq("is_concept", 0);
+    	libraryinfoFacade.remove(libraryInfoQe1);
+    	
+    	QueryWrapper<LibraryInfo> libraryInfoQe2 = new QueryWrapper<>();
+    	libraryInfoQe2.eq("concept_id", removeConceptInfoVO.getConceptId());
+    	LibraryInfo libraryInfo = new LibraryInfo();
+    	libraryInfo.setIsDeleted("Y");
+    	libraryInfo.setGmtModified(now);
+    	libraryInfo.setModifier(currentUser);
+    	libraryinfoFacade.update(libraryInfo, libraryInfoQe2);
+    	
+    	Concept concept = new Concept();
+    	concept.setId(removeConceptInfoVO.getConceptId());
+    	concept.setIsDeleted("Y");
+    	concept.setModifier(currentUser);
+    	concept.setGmtModified(now);
+    	this.updateById(concept);
+    	
+        return true;
     }
-
+    
     /**
-     * 删除医学术语信息
-     *
-     * @param termVo
-     * @return ConceptDTO
-     *
+     * 获取医学术语命名详情
+     * @param getConceptInfoDetailVO
+     * @return libName-标准术语,otherNames-同义词
      */
-    public ConceptDTO removeConceptInfo(TermVo termVo) {
-
-        ConceptDTO conceptDTO = getConcept(termVo);
-        KnowledgeVo knowledgeVo = new KnowledgeVo();
-
-        if (conceptDTO == null) {
-            conceptDTO = new ConceptDTO();
-            String msg = "概念\"" + termVo.getTerm() + "\"不存在!";
-            conceptDTO.setMessage(new ArrayList<String>());
-            conceptDTO.getMessage().add(msg);
-
-            return conceptDTO;
-        }
-        else {
-            knowledgeVo.setTerm(termVo.getTerm());
-            knowledgeVo.setType(termVo.getType());
-            conceptDTO = libraryDetailFacade.getConceptKnowledge(knowledgeVo);
-            if (conceptDTO.getInformation() != null && conceptDTO.getInformation().size() > 0) {
-                String msg = "概念\"" + termVo.getTerm() + "\"的静态知识还存在!";
-                conceptDTO.setMessage(new ArrayList<String>());
-                conceptDTO.getMessage().add(msg);
-
-                return conceptDTO;
-            }
-
-        }
-
-        return conceptDTO;
+    public Map<String,List<GetConceptInfoDetailDTO>> getConceptInfoDetail(GetConceptInfoDetailVO getConceptInfoDetailVO){
+    	QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<LibraryInfo>();
+    	libraryInfoQe.eq("concept_id", getConceptInfoDetailVO.getConceptId());
+    	libraryInfoQe.eq("is_deleted", "N");
+    	libraryInfoQe.orderByAsc("order_no");
+    	List<LibraryInfo> libraryInfoList = libraryinfoFacade.list(libraryInfoQe);
+    	
+    	Map<String,List<GetConceptInfoDetailDTO>> retMap = new HashMap<>();
+    	retMap.put("otherNames", BeanUtil.listCopyTo(libraryInfoList.stream().filter(i->i.getIsConcept()==null||i.getIsConcept()==0).collect(Collectors.toList()), GetConceptInfoDetailDTO.class));
+    	retMap.put("libName", BeanUtil.listCopyTo(libraryInfoList.stream().filter(i->i.getIsConcept()!=null&&i.getIsConcept()==1).collect(Collectors.toList()), GetConceptInfoDetailDTO.class));
+    	
+    	return retMap;
     }
-
-
-
-
+    
     /**
-     * 获取概念Id
-     *
-     * @param term
-     * @return Integer
+     * 医学术语命名添加或者编辑
+     * 说明:1、不允许单个非标准术语添加
+     * 
+     * @param addConceptInfoVO
+     * @return
      */
-    public int getConceptId(String term, String type) {
-        int id = 0;
-        TermVo termVo = new TermVo();
+	public Boolean addConceptInfo(AddConceptInfoVO addConceptInfoVO){
+		if(addConceptInfoVO.getDetailList().stream().distinct().count()!=addConceptInfoVO.getDetailList().size()){
+			throw new CommonException(CommonErrorCode.RPC_ERROR,"存在重复数据("+addConceptInfoVO.getName()+")");
+		}
+		
+    	List<AddConceptInfoDetailVO> addConceptInfoDetailVOMainList = addConceptInfoVO.getDetailList().stream().filter(i->i.getIsConcept()==1).collect(Collectors.toList());
+    	if(addConceptInfoDetailVOMainList.size()==0){
+    		throw new CommonException(CommonErrorCode.RPC_ERROR,"无标准术语("+addConceptInfoVO.getName()+")");
+    	}
+    	if(addConceptInfoDetailVOMainList.size()>1){
+    		throw new CommonException(CommonErrorCode.RPC_ERROR,"标准术语只能有一个("+addConceptInfoVO.getName()+")");
+    	}
+    	
+    	List<LibraryInfo> saveOrUpdateLibraryInfoList = new ArrayList<>();
+    	
+    	AddConceptInfoDetailVO addConceptInfoDetailVOMain = addConceptInfoDetailVOMainList.get(0);//提交过来的标准术语
+    	
+    	//查询当前添加的术语是否已经在数据库中
+    	QueryWrapper<LibraryInfo> libraryInfoQe1 = new QueryWrapper<>();
+    	libraryInfoQe1.eq("type", addConceptInfoVO.getType());
+    	libraryInfoQe1.in("name", addConceptInfoVO.getDetailList().stream().map(i->i.getName()).collect(Collectors.toList()));
+    	List<LibraryInfo> libraryInfoList = libraryinfoFacade.list(libraryInfoQe1);
+    	
+    	String currentUser = UserUtils.getCurrentPrincipleID();
+    	Date now = DateUtil.now(); 
+    	
+    	Map<String,LibraryInfo> libraryInfoMap = libraryInfoList.stream().collect(Collectors.toMap(LibraryInfo::getName, i->i));
+    	LibraryInfo libraryInfoMain = libraryInfoMap.get(addConceptInfoDetailVOMain.getName());
+    	Concept concept = new Concept();
+    	Long conceptId = null;
+    	int oldlibraryInfoCount = 0;
+    	boolean isUpdateConcept = false;
+    	if(libraryInfoMain==null){
+    		libraryInfoMain = new LibraryInfo();
+			BeanUtil.copyProperties(addConceptInfoDetailVOMain, libraryInfoMain);
+			libraryInfoMain.setGmtCreated(now);
+			libraryInfoMain.setCreator(currentUser);
+			libraryInfoMain.setGmtModified(now);
+			libraryInfoMain.setModifier(currentUser);
+			libraryInfoMain.setType(addConceptInfoVO.getType());
+			libraryinfoFacade.save(libraryInfoMain);
+			concept.setLibId(libraryInfoMain.getId());
+			concept.setGmtCreated(now);
+			concept.setCreator(currentUser);
+			concept.setGmtModified(now);
+			concept.setModifier(currentUser);
+			save(concept);
+			conceptId = concept.getId();
+			libraryInfoMain.setConceptId(conceptId);
+    	}else{
+    		if(libraryInfoMain.getIsDeleted().equals("N")&&libraryInfoMain.getIsConcept()==0
+    				&&(libraryInfoList.stream().filter(i->i.getIsDeleted().equals("N")).count()==1||libraryInfoList.stream().filter(i->i.getIsDeleted().equals("N")).map(i->i.getConceptId()).distinct().count()>1)){
+        		QueryWrapper<LibraryInfo> libraryInfoQe2 = new QueryWrapper<>();
+        		libraryInfoQe2.eq("is_deleted", "N");
+        		libraryInfoQe2.eq("is_concept", 1);
+        		libraryInfoQe2.eq("concept_id", libraryInfoMain.getConceptId());
+        		LibraryInfo libraryInfo = libraryinfoFacade.getOne(libraryInfoQe2);
+        		if(libraryInfo!=null){
+        			throw new CommonException(CommonErrorCode.RPC_ERROR,"标准术语已作为同义词被概念"+libraryInfo.getName()+"-"+libraryInfo.getType()+"占用");
+        		}
+        	}
+    		
+    		conceptId = libraryInfoMain.getConceptId();
+    		concept.setId(conceptId);
+
+    		if(libraryInfoMain.getIsDeleted().equals("Y")
+    				||(libraryInfoMain.getIsDeleted().equals("N")&&libraryInfoMain.getIsConcept()==0)
+    				||!(StringUtil.isBlank(libraryInfoMain.getRemark())?"":libraryInfoMain.getRemark()).equals((StringUtil.isBlank(addConceptInfoDetailVOMain.getRemark())?"":addConceptInfoDetailVOMain.getRemark()))){
+        		concept.setLibId(libraryInfoMain.getId());
+        		concept.setIsDeleted("N");
+        		concept.setGmtModified(now);
+    			concept.setModifier(currentUser);
+    			
+    			libraryInfoMain.setIsDeleted("N");
+    			libraryInfoMain.setIsConcept(1);
+    			libraryInfoMain.setGmtModified(now);
+    			libraryInfoMain.setModifier(currentUser);
+    			libraryInfoMain.setRemark(addConceptInfoDetailVOMain.getRemark());
+    			
+    			isUpdateConcept = true;
+    		}
+    		
+    		QueryWrapper<LibraryInfo> libraryInfoQe2 = new QueryWrapper<>();
+    		libraryInfoQe2.eq("concept_id", conceptId);
+    		libraryInfoQe2.ne("id", libraryInfoMain.getId());
+    		oldlibraryInfoCount = libraryinfoFacade.count(libraryInfoQe2);
+    		libraryinfoFacade.remove(libraryInfoQe2);
+    	}
+    	
+    	StringBuffer sbf = new StringBuffer();
+		for(AddConceptInfoDetailVO i:addConceptInfoVO.getDetailList()){
+			if(i.getIsConcept()==1){
+				continue;
+			}
+			LibraryInfo libraryInfo = libraryInfoMap.get(i.getName());
+			if(libraryInfo==null){
+				libraryInfo = new LibraryInfo();
+				libraryInfo.setGmtCreated(now);
+				libraryInfo.setCreator(currentUser);
+				libraryInfo.setGmtModified(now);
+				libraryInfo.setModifier(currentUser);
+				isUpdateConcept = true;
+			}else if(libraryInfo.getIsDeleted().equals("Y")){
+				libraryInfo.setGmtModified(now);
+				libraryInfo.setModifier(currentUser);
+				isUpdateConcept = true;	
+			}else if(libraryInfo.getConceptId().intValue()!=conceptId.intValue()){
+				sbf.append(i.getName()).append(" ");
+				continue;
+			}else if(!(StringUtil.isBlank(i.getRemark())?"":i.getRemark()).equals((StringUtil.isBlank(libraryInfo.getRemark())?"":libraryInfo.getRemark()))){
+				libraryInfo.setGmtModified(now);
+				libraryInfo.setModifier(currentUser);
+				isUpdateConcept = true;
+			}
+			
+			libraryInfo.setName(i.getName());
+			libraryInfo.setIsConcept(0);
+			libraryInfo.setIsDeleted("N");
+			libraryInfo.setRemark(i.getRemark());
+			saveOrUpdateLibraryInfoList.add(libraryInfo);
+		}
+		
+		if(sbf.length()>0){
+			sbf.append("已被占用");
+			throw new CommonException(CommonErrorCode.RPC_ERROR,sbf.toString());
+		}
+		
+		//更新前后同义词个数不一样,修改更新时间
+		if(oldlibraryInfoCount!=saveOrUpdateLibraryInfoList.size()){
+			isUpdateConcept = true;
+		}
+		
+		for(LibraryInfo i : saveOrUpdateLibraryInfoList){
+			i.setId(null);
+			i.setConceptId(conceptId);
+			i.setType(addConceptInfoVO.getType());
+		}
+		saveOrUpdateLibraryInfoList.add(libraryInfoMain);
+		
+		libraryInfoService.saveOrUpdateBatch(saveOrUpdateLibraryInfoList);
+		
+		if(isUpdateConcept){
+			concept.setGmtModified(now);
+			concept.setModifier(currentUser);
+			updateById(concept);
+		}
+		
+    	return true;
+    }
 
+    /**
+     * 医学术语命名excel文件导入
+     * @param file
+     * @return
+     */
+	public Boolean conceptInfoExcelIm(MultipartFile file) {
+        List<AddConceptInfoVO> addConceptInfoVOList = new ArrayList<>();
+        StringBuffer sbf = new StringBuffer();
+        InputStream inputStream = null;
+        Workbook wb = null;
         try {
-            termVo.setTerm(term);
-            termVo.setType(type);
-            ConceptDTO conceptDTO = getConcept(termVo);
-            if (conceptDTO != null) {
-                id = conceptDTO.getId();
+            if (!file.isEmpty()) {
+                inputStream = file.getInputStream();
+                if (inputStream.available() > 512000) {
+                    sbf.append("文件最大支持500KB!").append("<br/>");
+                } 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) {
+                            
+                            Sheet sheet = wb.getSheetAt(0);
+                            int count = 0;
+                            String libName, libType, otherNames, remark;
+                            for (Row row : sheet) {
+                                count++;
+                                if (count == 1 || row == null) {
+                                    continue;
+                                }
+                                libName = getValue(row.getCell(0)).trim().replace(" ", "");
+                                libType = getValue(row.getCell(1)).trim().replace(" ", "");
+                                otherNames = getValue(row.getCell(2)).trim().replace(" ", "");
+                                remark = getValue(row.getCell(3)).trim().replace(" ", "");
+                                if(StringUtil.isEmpty(libName) && StringUtil.isEmpty(libType)
+                                        && StringUtil.isEmpty(otherNames) && StringUtil.isEmpty(remark)){
+                                	continue;
+                                }
+                                if (StringUtil.isEmpty(libName) || StringUtil.isEmpty(libType) || StringUtil.isEmpty(otherNames)) {
+                                    sbf.append("第" + count + "行数据不完整;").append("<br/>");
+                                    continue;
+                                }
+                                
+                                AddConceptInfoVO addConceptInfoVO = new AddConceptInfoVO();
+                                addConceptInfoVO.setName(libName);
+                                addConceptInfoVO.setType(libType);
+                                List<AddConceptInfoDetailVO> detailList = new ArrayList<>();
+                                for(String nm:otherNames.split(",")){
+                                	if(StringUtil.isBlank(nm)){
+                                		continue;
+                                	}
+                                	AddConceptInfoDetailVO addConceptInfoDetailVO = new AddConceptInfoDetailVO();
+                                	addConceptInfoDetailVO.setName(nm);
+                                	addConceptInfoDetailVO.setType(libType);
+                                	if(libName.equals(nm)){
+                                		addConceptInfoDetailVO.setIsConcept(1);
+                                		addConceptInfoDetailVO.setRemark(remark);
+                                	}else{
+                                		addConceptInfoDetailVO.setIsConcept(0);
+                                	}
+                                	detailList.add(addConceptInfoDetailVO);
+                                }
+                                addConceptInfoVO.setDetailList(detailList);
+                                addConceptInfoVOList.add(addConceptInfoVO);
+                            }
+                        } else {
+                            sbf.append("非excel文件无法解析!").append("<br/>");
+                        }
+                    } else {
+                        sbf.append("未知文件无法解析!").append("<br/>");
+                    }
+                }
+            } else {
+                sbf.append("无文件上传!").append("<br/>");
+            }
+        } catch (Exception e) {
+            sbf.append("解析失败!").append("<br/>");
+        } finally {
+            try {
+                if (wb != null) {
+                    wb.close();
+                }
+                if (inputStream != null) {
+                    inputStream.close();
+                }
+            } catch (Exception e) {
             }
         }
-        catch (Exception ex) {
-            ex.printStackTrace();
+        
+        /*****************excel文件本身问题提醒************************/
+        if(sbf.length()>0){
+        	throw new CommonException(CommonErrorCode.RPC_ERROR,sbf.toString());
         }
-        finally {
-            return id;
+        
+        /****************excel文件中所有术语存在重复提示---名字和类型一样即重复***********************/
+        List<AddConceptInfoDetailVO> addConceptInfoDetailVOList = new ArrayList<>();
+        addConceptInfoVOList.forEach(i->{
+        	addConceptInfoDetailVOList.addAll(i.getDetailList());
+        });
+        Map<String,List<AddConceptInfoDetailVO>> addConceptInfoDetailVOListMap = addConceptInfoDetailVOList.stream().collect(Collectors.groupingBy(AddConceptInfoDetailVO::getName));
+        for(String key : addConceptInfoDetailVOListMap.keySet()){
+        	if(addConceptInfoDetailVOListMap.get(key).size()>1&&addConceptInfoDetailVOListMap.get(key).stream().map(i->i.getType()).distinct().count()==1){
+        		sbf.append(key).append(" ");
+        	}
+        }
+        if(sbf.length()>0){
+        	sbf.append("(术语存在重复)");
+        	throw new CommonException(CommonErrorCode.RPC_ERROR,sbf.toString());
         }
-    }
-
-    /**
-     * 从文件批量导入术语信息
-     *
-     * @param file
-     * @return ConceptDTO
-     */
-    public ConceptDTO importBatch(MultipartFile file) {
-        ImportExcel.setConceptFacade(this);
-        ImportExcel.setLibraryinfoFacade(libraryinfoFacade);
-        ImportExcel.setLibraryDetailFacade(libraryDetailFacade);
-        ImportExcel.setMedicalFacade(medicalFacade);
-        ImportExcel.setRelationFacade(relationFacade);
-
-        ConceptDTO conceptDTO = ImportExcel.importBatch(file);
 
-        return conceptDTO;
+        addConceptInfoVOList.forEach(i->{
+        	addConceptInfo(i);
+        });
+        
+        return true;
+    }
+    
+    @SuppressWarnings("deprecation")
+    private String getValue(Cell cell) {
+        try {
+            Object obj = null;
+            switch (cell.getCellTypeEnum()) {
+                case BOOLEAN:
+                    obj = cell.getBooleanCellValue();
+                    break;
+                case ERROR:
+                    obj = cell.getErrorCellValue();
+                    break;
+                case NUMERIC:
+                    if (HSSFDateUtil.isCellDateFormatted(cell)) {
+                        Date date = cell.getDateCellValue();
+                        obj = DateFormatUtils.format(date, "yyyy-MM-dd");
+                    } else {
+                        obj = cell.getNumericCellValue();
+                        DecimalFormat df = new DecimalFormat("0");
+                        obj = df.format(obj);
+                    }
+
+                    break;
+                case STRING:
+                    obj = cell.getStringCellValue();
+                    break;
+                default:
+                    break;
+            }
+            return obj.toString();
+        } catch (Exception e) {
+            return "";
+        }
     }
-
 
 }

+ 107 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/LexiconFacade.java

@@ -0,0 +1,107 @@
+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.client.UserServiceClient;
+import com.diagbot.dto.GetAllLexiconDTO;
+import com.diagbot.dto.GetLexiconListDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.Lexicon;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.impl.LexiconServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.util.UserUtils;
+import com.diagbot.vo.AddLexiconVO;
+import com.diagbot.vo.GetAllLexiconVO;
+import com.diagbot.vo.GetLexiconListVO;
+
+/**
+ * @Description: 术语类型业务层
+ * @author: Weixuan Huang
+ * @time: 2019/1/16 14:17
+ */
+@Component
+public class LexiconFacade extends LexiconServiceImpl {
+	
+    @Autowired
+    private UserServiceClient userServiceClient;
+	
+	 /**
+     * 获取所有术语类型
+     * @param getAllLexiconVO
+     * @return
+     */
+    public List<GetAllLexiconDTO> getAllLexicon(GetAllLexiconVO getAllLexiconVO){
+    	QueryWrapper<Lexicon> lexiconQe = new QueryWrapper<>();
+    	lexiconQe.eq("is_deleted", "N");
+    	if(StringUtil.isNotBlank(getAllLexiconVO.getName())){
+    		lexiconQe.like("name", getAllLexiconVO.getName());
+    	}
+    	
+    	return BeanUtil.listCopyTo(list(lexiconQe), GetAllLexiconDTO.class);
+    }
+    
+    /**
+     * 获取术语类型列表
+     * @param getLexiconListVO
+     * @return
+     */
+    public IPage<GetLexiconListDTO> getLexiconList(GetLexiconListVO getLexiconListVO) {
+    	IPage<GetLexiconListDTO> ipage = this.baseMapper.getLexiconList(getLexiconListVO);
+    	if(ipage.getRecords().size()>0){
+    		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,
+                        "获取用户信息失败");
+            }
+        	ipage.getRecords().forEach(i->{
+        		i.setModifier(respDTO.data.get(i.getModifier()));
+        	});	
+    	}
+        return ipage;
+    }
+    
+    /**
+     * 术语类型添加
+     * @param addLexiconVO
+     * @return
+     */
+	public Boolean addLexicon(AddLexiconVO addLexiconVO){
+		String currentUser = UserUtils.getCurrentPrincipleID();
+		Date now = DateUtil.now();
+		
+		QueryWrapper<Lexicon> lexiconQe = new QueryWrapper<>();
+		lexiconQe.eq("name", addLexiconVO.getName());
+		Lexicon lexicon = getOne(lexiconQe);
+		if(lexicon==null){
+			lexicon = new Lexicon();
+			lexicon.setName(addLexiconVO.getName());
+			lexicon.setRemark(addLexiconVO.getRemark());
+			lexicon.setCreator(currentUser);
+			lexicon.setGmtCreated(now);
+		}else if(lexicon.getIsDeleted().equals("Y")){
+			lexicon.setIsDeleted("N");
+		}else{
+			throw new CommonException(CommonErrorCode.IS_EXISTS);
+		}
+		
+		lexicon.setGmtModified(now);
+		lexicon.setModifier(currentUser);
+
+		return saveOrUpdate(lexicon);
+    }
+
+
+}

+ 41 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/LexiconRelationshipFacade.java

@@ -0,0 +1,41 @@
+package com.diagbot.facade;
+
+import java.util.List;
+
+import org.springframework.stereotype.Component;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.GetAllLexiconRelationshipDTO;
+import com.diagbot.entity.LexiconRelationship;
+import com.diagbot.service.impl.LexiconRelationshipServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.GetAllLexiconRelationshipVO;
+
+/**
+ * @Description: 术语关系类型业务层
+ * @author: Weixuan Huang
+ * @time: 2019/1/16 14:17
+ */
+@Component
+public class LexiconRelationshipFacade extends LexiconRelationshipServiceImpl {
+	
+	 /**
+     * 获取所有关系类型
+     * @param getAllLexiconRelationshipVO
+     * @return
+     */
+    public List<GetAllLexiconRelationshipDTO> getAllLexiconRelationship(GetAllLexiconRelationshipVO getAllLexiconRelationshipVO){
+    	QueryWrapper<LexiconRelationship> lexiconRelationshipQe = new QueryWrapper<>();
+    	lexiconRelationshipQe.eq("is_deleted", "N");
+    	if(StringUtil.isNotBlank(getAllLexiconRelationshipVO.getName())){
+    		lexiconRelationshipQe.like("name", getAllLexiconRelationshipVO.getName());
+    	}
+    	if(StringUtil.isNotBlank(getAllLexiconRelationshipVO.getCode())){
+    		lexiconRelationshipQe.eq("code", getAllLexiconRelationshipVO.getCode());
+    	}
+    	return BeanUtil.listCopyTo(list(lexiconRelationshipQe), GetAllLexiconRelationshipDTO.class);
+    }
+
+
+}

+ 114 - 199
knowledgeman-service/src/main/java/com/diagbot/facade/LibraryDetailFacade.java

@@ -1,23 +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.vo.AmendTermVo;
-import com.diagbot.vo.ConceptVo;
-import com.diagbot.vo.KnowledgeVo;
-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.BeanUtil;
+import com.diagbot.util.DateUtil;
+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: 术语基本信息查询业务层
@@ -27,205 +35,112 @@ 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(ConceptVo 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());
+    	if(ids.size()>0){
+    		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(LocalDateTime.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 knowledgeVo
-     * @return ConceptDTO
+     * 获取医学术语静态知识详情
+     * @param getLibraryDetailVO
+     * @return
      */
-    public ConceptDTO removeConceptKnowledge(KnowledgeVo knowledgeVo) {
-
-        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() + ")\" 不存在!";
-        }
-        */
-        QueryWrapper<LibraryDetail> query = new QueryWrapper<>();
-        query.eq("id", knowledgeVo.getId());
-        libraryDetail = getOne(query);
-
-        if (libraryDetail != null) {
-            remove(query);
-        }
-        else {
-            error = "术语 \"" + knowledgeVo.getTerm() + "(" + knowledgeVo.getType() + ")\" 不存在!";
-        }
-
-
-        msg.add(error);
-        conceptDTO.setMessage(msg);
-        return conceptDTO;
+    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();
+			libraryDetail.setGmtCreated(now);
+			libraryDetail.setCreator(currentUser);
+		}else{
+			libraryDetail.setIsDeleted("N");
+		}
+		
+		libraryDetail.setGmtModified(now);
+		libraryDetail.setModifier(currentUser);
+		BeanUtil.copyProperties(addLibraryDetailVO, libraryDetail);
+		
+		return saveOrUpdate(libraryDetail);
     }
+    
+    
 }

+ 10 - 99
knowledgeman-service/src/main/java/com/diagbot/facade/LibraryInfoFacade.java

@@ -1,21 +1,11 @@
 package com.diagbot.facade;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.diagbot.dto.ConceptDTO;
-import com.diagbot.entity.LibraryInfo;
-import com.diagbot.entity.Medical;
-import com.diagbot.service.impl.LibraryInfoServiceImpl;
-import com.diagbot.vo.AmendTermVo;
-import com.diagbot.vo.TermVo;
-import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Component;
 
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.GetAllInformationDTO;
+import com.diagbot.service.impl.LibraryInfoServiceImpl;
+import com.diagbot.vo.GetAllInformationVO;
 
 /**
  * @Description: 术语基本信息查询业务层
@@ -24,93 +14,14 @@ import java.util.Map;
  */
 @Component
 public class LibraryInfoFacade extends LibraryInfoServiceImpl {
-
-    private DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
-
-
-    /**
-     * 获取医学术语基本信息
-     *
-     * @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
+     * 获取医学术语命名列表
+     * @param conceptVo
+     * @return
      */
-    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;
+    public IPage<GetAllInformationDTO> getAllInformation(GetAllInformationVO getAllInformationVO) {
+        return baseMapper.getAllInformation(getAllInformationVO);
     }
 
-
 }

+ 407 - 183
knowledgeman-service/src/main/java/com/diagbot/facade/MedicalFacade.java

@@ -1,27 +1,52 @@
 package com.diagbot.facade;
 
+import java.io.InputStream;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang.time.DateFormatUtils;
+import org.apache.poi.hssf.usermodel.HSSFDateUtil;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
+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.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.diagbot.dto.ConceptDTO;
-import com.diagbot.dto.MedicalDTO;
-import com.diagbot.dto.TypeDTO;
+import com.diagbot.client.DeptInfoServiceClient;
+import com.diagbot.client.UserServiceClient;
+import com.diagbot.dto.GetAllDeptsDTO;
+import com.diagbot.dto.GetMedicalInfoDetailDTO;
+import com.diagbot.dto.GetMedicalInfoListDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.Bodypart;
 import com.diagbot.entity.Concept;
 import com.diagbot.entity.LibraryInfo;
 import com.diagbot.entity.Medical;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.MedicalService;
 import com.diagbot.service.impl.MedicalServiceImpl;
-import com.diagbot.vo.AmendTermVo;
-import com.diagbot.vo.ConceptVo;
-import com.diagbot.vo.TermVo;
-import com.diagbot.vo.TypeVo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestBody;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.util.UserUtils;
+import com.diagbot.vo.AddMedicalInfoVO;
+import com.diagbot.vo.GetAllDeptsVO;
+import com.diagbot.vo.GetMedicalInfoDetailVO;
+import com.diagbot.vo.GetMedicalInfoListVO;
+import com.diagbot.vo.RemoveMedicalInfoVO;
 
 /**
  * @Description: 术语临床信息查询业务层
@@ -32,194 +57,393 @@ import java.util.Map;
 public class MedicalFacade extends MedicalServiceImpl {
 
     @Autowired
-    ConceptFacade conceptFacade;
+    private ConceptFacade conceptFacade;
     @Autowired
-    LibraryInfoFacade libraryInfoFacade;
-
-
+    private LibraryInfoFacade libraryInfoFacade;
+    @Autowired
+    @Qualifier("medicalServiceImpl")
+    private MedicalService medicalService;
+    @Autowired
+    private UserServiceClient userServiceClient;
+    @Autowired
+    private DeptInfoServiceClient deptInfoServiceClient;
+    @Autowired
+    private BodypartFacade bodypartFacade;
+    
     /**
-     * 获取术语医学知识
-     *
-     * @param termVo
-     * @result ConceptDTO
+     * 获取医学术语命名列表
+     * @param getMedicalInfoListVO
+     * @return
      */
-    public ConceptDTO getMedicalInfo(@RequestBody TermVo termVo) {
-        List<LibraryInfo> libraryInfos;
-        LibraryInfo libraryInfo;
-        List<Medical> medicals;
-
-        ConceptDTO conceptDTO = conceptFacade.getConcept(termVo);
-
-        if (conceptDTO != null) {
-            // 获取与医学术语的基本信息
-            QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
-            query.eq("concept_id", conceptDTO.getId());
-            query.eq("is_concept", 1);
-            libraryInfos = libraryInfoFacade.list(query);
-
-            if (libraryInfos != null) {
-                libraryInfo = libraryInfos.get(0);
-                conceptDTO.setName(libraryInfo.getName());
-
-                // 获取与术语相关的医学知识
-                QueryWrapper<Medical> querymed = new QueryWrapper<>();
-                querymed.eq("concept_id", conceptDTO.getId());
-
-                medicals = list(querymed);
-
-                if (medicals != null) {
-                    conceptDTO.setMedicalInfo(medicals);
-                }
-            }
+    public IPage<GetMedicalInfoListDTO> getMedicalInfoList(GetMedicalInfoListVO getMedicalInfoListVO) {
+    	IPage<GetMedicalInfoListDTO> ipage = this.baseMapper.getMedicalInfoList(getMedicalInfoListVO);
+    	if(ipage.getRecords().size()==0){
+    		return ipage;
+    	}
+    	List<String> ids = ipage.getRecords().stream().map(i->i.getOperName()).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.setOperName(respDTO.data.get(i.getOperName()));
+    	});
+        return ipage;
     }
-
-
+    
     /**
-     * 更新或添加术语医学信息
-     *
-     * @param amendTermVo
-     * @return ConceptDTO
+     * 医学术语命名删除
+     * @param removeMedicalInfoVO
+     * @return
      */
-    public ConceptDTO upsertMedicalInfo(AmendTermVo amendTermVo) {
-        ConceptDTO conceptDTO = new ConceptDTO();
-
-//        Map<String, Object> map;
-        Medical medical;
-        List<Medical> medicals;
-
-        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.getMedicalInfo() != null && libraryInfo != null) {
-
-            conceptDTO.setLibId(libraryInfo.getId().intValue());
-            conceptDTO.setId(libraryInfo.getConceptId());
-            conceptDTO.setMedicalInfo(new ArrayList<>());
-
-            for (int i=0; i<amendTermVo.getMedicalInfo().size(); i++) {
-                medical = amendTermVo.getMedicalInfo().get(i);
-//                medical = amendTermVo.getMedicalInfo();
-
-//                map = new HashMap<>();
-//                map.put("name", amendTermVo.getNewterm());
-//                medicals = getMedicalInfo(map);
-
-                QueryWrapper<Medical> medquery = new QueryWrapper<>();
-                medquery.eq("name", amendTermVo.getNewterm());
-                medicals = list(medquery);
-
-                if (medicals.size() > 0) {
-                    Medical exist_medical = medicals.get(0);
-                    medical.setId(exist_medical.getId());
-                }
-                else {
-                    medical.setConceptId(libraryInfo.getConceptId());
-                }
-
-
-                this.saveOrUpdate(medical);
-
-//                amendTermVo.setMedicalInfo(medical);
-//                amendTermVo.getMedicalInfo().set(i, medical);
-                conceptDTO.getMedicalInfo().add(medical);
-            }
-        }
-
-        return conceptDTO;
+    public Boolean removeMedicalInfo(RemoveMedicalInfoVO removeMedicalInfoVO) {
+    	Medical medical = this.getById(removeMedicalInfoVO.getMedicalId());
+    	if(medical==null||medical.getIsDeleted().equals("Y")){
+    		throw new CommonException(CommonErrorCode.NOT_EXISTS);
+    	}
+    	
+    	medical.setIsDeleted("Y");
+    	medical.setModifier(UserUtils.getCurrentPrincipleID());
+    	medical.setGmtModified(DateUtil.now());
+        return updateById(medical);
     }
-
-
+    
     /**
-     * 删除术语医学信息
-     *
-     * @param termVo
-     * @return ConceptDTO
+     * 获取术语医学属性详情
+     * @param getMedicalInfoDetailVO
+     * @return
      */
-    public ConceptDTO removeMedicalInfo(TermVo termVo) {
-
-//        Boolean isdeleted = false;
-        ConceptDTO conceptDTO = new ConceptDTO();
-        Medical medical;
-        List<String> msg = new ArrayList<>();
-        String error = "";
-
-        /*
-        QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
-        query.eq("name", termVo.getTerm());
-        query.eq("type", termVo.getType());
-        LibraryInfo libraryInfo = libraryInfoFacade.getOne(query);
-
-        if (libraryInfo != null) {
-            QueryWrapper<Medical> medquery = new QueryWrapper<>();
-            medquery.eq("name", termVo.getTerm());
-            medquery.eq("concept_id", libraryInfo.getConceptId());
-            medicals = list(medquery);
-
-            if (medicals != null && medicals.size() > 0) {
-                for (Medical medical:medicals) {
-                    medical.setIs_deleted("Y");
-                    saveOrUpdate(medical);
+    public GetMedicalInfoDetailDTO getMedicalInfoDetail(GetMedicalInfoDetailVO getMedicalInfoDetailVO){
+    	Medical medical = this.getById(getMedicalInfoDetailVO.getMedicalId());
+    	if(medical==null||medical.getIsDeleted().equals("Y")){
+    		throw new CommonException(CommonErrorCode.NOT_EXISTS);
+    	}
+    	
+    	QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<LibraryInfo>();
+		libraryInfoQe.eq("is_deleted", "N");
+		libraryInfoQe.eq("is_concept", "1");
+		libraryInfoQe.eq("concept_id", medical.getConceptId());
+		LibraryInfo libraryInfo = libraryInfoFacade.getOne(libraryInfoQe);
+		if(libraryInfo==null){
+			throw new CommonException(CommonErrorCode.RPC_ERROR,"术语医学属性所属概念不存在!");
+		}
+    	
+    	GetMedicalInfoDetailDTO getMedicalInfoDetailDTO = new GetMedicalInfoDetailDTO();
+    	BeanUtil.copyProperties(medical, getMedicalInfoDetailDTO);
+    	getMedicalInfoDetailDTO.setConceptName(libraryInfo.getName());
+    	getMedicalInfoDetailDTO.setConceptType(libraryInfo.getType());
+    	
+    	return getMedicalInfoDetailDTO;
+    }
+    
+    /**
+     * 术语医学属性添加或者编辑
+     * @param addMedicalInfoVO
+     * @return
+     */
+	public Boolean addMedicalInfo(AddMedicalInfoVO addMedicalInfoVO){
+		Map<String,Object> ckMap = checkAddMedicalInfoVO(addMedicalInfoVO);
+		Object message = ckMap.get("message");
+		if(message!=null){
+			throw new CommonException(CommonErrorCode.RPC_ERROR,message.toString());
+		}
+		return saveOrUpdate((Medical)(ckMap.get("medical")));
+    }
+	
+	/**
+	 * 校验即将添加的数据
+	 * @param addMedicalInfoVO
+	 * @return 返回map中,包含2个字段:message和medical,message-为空时,表示正常,取medical
+	 */
+	private Map<String,Object> checkAddMedicalInfoVO(AddMedicalInfoVO addMedicalInfoVO){
+		Map<String,Object> retMap = new HashMap<>();
+		
+		QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<LibraryInfo>();
+		libraryInfoQe.eq("is_deleted", "N");
+		libraryInfoQe.eq("is_concept", "1");
+		libraryInfoQe.eq("name", addMedicalInfoVO.getConceptName());
+		libraryInfoQe.eq("type", addMedicalInfoVO.getConceptType());
+		
+		LibraryInfo libraryInfo = libraryInfoFacade.getOne(libraryInfoQe);
+		if(libraryInfo==null){
+			retMap.put("message", "术语概念名称不存在");
+			return retMap;
+		}
+		
+		Concept concept = conceptFacade.getById(libraryInfo.getConceptId());
+		if(concept==null||concept.getIsDeleted().equals("Y")){
+			retMap.put("message", "术语概念名称不存在");
+			return retMap;
+		}
+		
+		List<String> infoNames = new ArrayList<>();
+		infoNames.add(addMedicalInfoVO.getName());
+		infoNames.add(addMedicalInfoVO.getStdName());
+		infoNames.add(addMedicalInfoVO.getCateName());
+		infoNames.add(addMedicalInfoVO.getGrp());
+		QueryWrapper<LibraryInfo> libraryInfoQe1 = new QueryWrapper<LibraryInfo>();
+		libraryInfoQe1.in("name", infoNames);
+		libraryInfoQe1.eq("is_concept", "1");
+		libraryInfoQe1.eq("is_deleted", "N");
+		Map<String,List<LibraryInfo>> libraryInfoListMap = libraryInfoFacade.list(libraryInfoQe1).stream().collect(Collectors.groupingBy(LibraryInfo::getName));
+		if(libraryInfoListMap.get(addMedicalInfoVO.getName()).size()==0){
+			retMap.put("message", "术语名称不存在");
+			return retMap;
+		}
+		if(libraryInfoListMap.get(addMedicalInfoVO.getStdName()).size()==0){
+			retMap.put("message", "术语标准名不存在");
+			return retMap;
+		}
+		if(libraryInfoListMap.get(addMedicalInfoVO.getCateName()).size()==0){
+			retMap.put("message", "术语小类名称不存在");
+			return retMap;
+		}
+		if(libraryInfoListMap.get(addMedicalInfoVO.getGrp()).size()==0){
+			retMap.put("message", "术语类组不存在");
+			return retMap;
+		}
+		
+		QueryWrapper<Bodypart> bodypartQe = new QueryWrapper<>();
+		bodypartQe.eq("is_deleted", "N");
+		bodypartQe.eq("bodypart", addMedicalInfoVO.getBodypart());
+		if(bodypartFacade.list(bodypartQe).size()==0){
+			retMap.put("message", "一级部位不存在");
+			return retMap;
+		}
+		bodypartQe.eq("sub_bodypart", addMedicalInfoVO.getSubBodypart());
+		if(bodypartFacade.list(bodypartQe).size()==0){
+			retMap.put("message", "二级部位不存在");
+			return retMap;
+		}
+		
+		String currentUser = UserUtils.getCurrentPrincipleID();
+		Date now = DateUtil.now();
+		QueryWrapper<Medical> medicalQe = new QueryWrapper<>();
+		medicalQe.eq("concept_id", libraryInfo.getConceptId());
+		Medical medical = this.getOne(medicalQe);
+		if(medical==null){
+			medical = new Medical();
+			medical.setCreator(currentUser);
+			medical.setGmtCreated(now);
+		}
+		medical.setIsDeleted("N");
+		medical.setModifier(currentUser);
+		medical.setGmtModified(now);
+		medical.setConceptId(libraryInfo.getConceptId());
+		BeanUtil.copyProperties(addMedicalInfoVO, medical);
+		
+		retMap.put("medical", medical);
+		
+		return retMap;
+	}
+    
+	/**
+     * 术语医学属性excel文件导入
+     * @param file
+     * @return
+     */
+	public Boolean medicalInfoExcelIm(MultipartFile file) {
+        List<AddMedicalInfoVO> addMedicalInfoVOList = new ArrayList<>();
+        StringBuffer sbf = new StringBuffer();
+        InputStream inputStream = null;
+        Workbook wb = null;
+        try {
+            if (!file.isEmpty()) {
+                inputStream = file.getInputStream();
+                if (inputStream.available() > 512000) {
+                    sbf.append("文件最大支持500KB!").append("<br/>");
+                } 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) {
+                            
+                            Sheet sheet = wb.getSheetAt(0);
+                            int count = 0;
+                            String conceptName, conceptType, name, stdName, cateName, grp, gender, minAge, maxAge, bodypart, subBodypart, displayOrder, dept, code, note;
+                            Integer minAge_, maxAge_;
+                            for (Row row : sheet) {
+                                count++;
+                                if (count == 1 || row == null) {
+                                    continue;
+                                }
+                                conceptName = getValue(row.getCell(0)).trim().replace(" ", "");
+                                conceptType = getValue(row.getCell(1)).trim().replace(" ", "");
+                                name = getValue(row.getCell(2)).trim().replace(" ", "");
+                                stdName = getValue(row.getCell(3)).trim().replace(" ", "");
+                                cateName = getValue(row.getCell(4)).trim().replace(" ", "");
+                                grp = getValue(row.getCell(5)).trim().replace(" ", "");
+                                gender = getValue(row.getCell(6)).trim().replace(" ", "");
+                                minAge = getValue(row.getCell(7)).trim().replace(" ", "");
+                                maxAge = getValue(row.getCell(8)).trim().replace(" ", "");
+                                bodypart = getValue(row.getCell(9)).trim().replace(" ", "");
+                                subBodypart = getValue(row.getCell(10)).trim().replace(" ", "");
+                                displayOrder = getValue(row.getCell(11)).trim().replace(" ", "");
+                                dept = getValue(row.getCell(12)).trim().replace(" ", "");
+                                code = getValue(row.getCell(13)).trim().replace(" ", "");
+                                note = getValue(row.getCell(14)).trim().replace(" ", "");
+                                if(StringUtil.isEmpty(conceptName) && StringUtil.isEmpty(name)
+                                        && StringUtil.isEmpty(stdName) && StringUtil.isEmpty(cateName)
+                                        && StringUtil.isEmpty(grp) && StringUtil.isEmpty(gender)
+                                        && StringUtil.isEmpty(minAge) && StringUtil.isEmpty(maxAge)
+                                        && StringUtil.isEmpty(bodypart) && StringUtil.isEmpty(subBodypart)
+                                        && StringUtil.isEmpty(displayOrder)&& StringUtil.isEmpty(dept) 
+                                        && StringUtil.isEmpty(code)&& StringUtil.isEmpty(note) 
+                                        && StringUtil.isEmpty(conceptType)){
+                                	continue;
+                                }
+                                if (StringUtil.isEmpty(conceptName) || StringUtil.isEmpty(name)
+                                        || StringUtil.isEmpty(stdName) || StringUtil.isEmpty(cateName)
+                                        || StringUtil.isEmpty(grp) || StringUtil.isEmpty(gender)
+                                        || StringUtil.isEmpty(minAge) || StringUtil.isEmpty(maxAge)
+                                        || StringUtil.isEmpty(bodypart) || StringUtil.isEmpty(subBodypart)
+                                        || StringUtil.isEmpty(dept) || StringUtil.isEmpty(conceptType)) {
+                                    sbf.append("第" + count + "行数据不完整;").append("<br/>");
+                                    continue;
+                                }
+                                
+                                if(!gender.equals("1")&&!gender.equals("2")&&!gender.equals("3")){
+                                	sbf.append("第" + count + "行数据中性别非1、2、3;").append("<br/>");
+                                	continue;
+                                }
+                                
+                                AddMedicalInfoVO addMedicalInfoVO = new AddMedicalInfoVO();
+                                addMedicalInfoVO.setConceptName(conceptName);
+                                addMedicalInfoVO.setConceptType(conceptType);
+                                addMedicalInfoVO.setName(name);
+                                addMedicalInfoVO.setStdName(stdName);
+                                addMedicalInfoVO.setCateName(cateName);
+                                addMedicalInfoVO.setGrp(grp);
+                                addMedicalInfoVO.setGender(gender);
+                                addMedicalInfoVO.setBodypart(bodypart);
+                                addMedicalInfoVO.setSubBodypart(subBodypart);
+                                addMedicalInfoVO.setDisplayOrder(displayOrder);
+                                addMedicalInfoVO.setDept(dept);
+                                addMedicalInfoVO.setCode(code);
+                                addMedicalInfoVO.setNote(note);
+                                try{
+                                	minAge_ = Integer.parseInt(minAge);
+                                	maxAge_ = Integer.parseInt(maxAge);
+                                }catch(Exception e){
+                                	minAge_ = null;
+                                	maxAge_ = null;
+                                }
+                                if(minAge_==null||maxAge_==null){
+                                	sbf.append("第" + count + "行数据中年龄非整数;").append("<br/>");
+                                	continue;
+                                }
+                                addMedicalInfoVO.setMinAge(minAge_);
+                            	addMedicalInfoVO.setMaxAge(maxAge_);
+                                addMedicalInfoVOList.add(addMedicalInfoVO);
+                            }
+                        } else {
+                            sbf.append("非excel文件无法解析!").append("<br/>");
+                        }
+                    } else {
+                        sbf.append("未知文件无法解析!").append("<br/>");
+                    }
                 }
-                isdeleted = true;
+            } else {
+                sbf.append("无文件上传!").append("<br/>");
+            }
+        } catch (Exception e) {
+            sbf.append("解析失败!").append("<br/>");
+        } finally {
+            try {
+                if (wb != null) {
+                    wb.close();
+                }
+                if (inputStream != null) {
+                    inputStream.close();
+                }
+            } catch (Exception e) {
             }
         }
-        */
-        QueryWrapper<Medical> query = new QueryWrapper<>();
-        query.eq("id", termVo.getId());
-        medical = getOne(query);
-
-        if (medical != null) {
-            remove(query);
+        
+        /*****************excel文件本身问题提醒************************/
+        if(sbf.length()>0){
+        	throw new CommonException(CommonErrorCode.RPC_ERROR,sbf.toString());
         }
-        else {
-            error = "术语 \"" + termVo.getTerm() + "(" + termVo.getType() + ")\" 不存在!";
+        
+        /****************excel文件中所有术语概念存在重复提示---术语概念名称和类型一样即重复***********************/
+        Map<String,List<AddMedicalInfoVO>> addMedicalInfoVOListMap = addMedicalInfoVOList.stream().collect(Collectors.groupingBy(AddMedicalInfoVO::getConceptName));
+        for(String key : addMedicalInfoVOListMap.keySet()){
+        	if(addMedicalInfoVOListMap.get(key).size()>1&&addMedicalInfoVOListMap.get(key).stream().map(i->i.getConceptType()).distinct().count()==1){
+        		sbf.append(key).append(" ");
+        	}
         }
-
-
-        msg.add(error);
-        conceptDTO.setMessage(msg);
-
-        return conceptDTO;
+        if(sbf.length()>0){
+        	sbf.append("(术语概念名称存在重复)");
+        	throw new CommonException(CommonErrorCode.RPC_ERROR,sbf.toString());
+        }
+        
+        /**************校验每一组数据,同时组装*************************/
+        List<Medical> saveOrUpdateMedicalList = new ArrayList<>();
+        Map<String,Object> ckMap = null;
+    	Object message = null;
+    	for(AddMedicalInfoVO i : addMedicalInfoVOList){
+    		ckMap = checkAddMedicalInfoVO(i); 
+    		message = ckMap.get("message");
+    		if(message!=null){
+    			sbf.append(message.toString()).append("(").append(i.getConceptName()).append(")").append("<br/>");
+    		}else{
+    			saveOrUpdateMedicalList.add((Medical)(ckMap.get("medical")));
+    		}
+    	}
+        if(sbf.length()>0){
+        	throw new CommonException(CommonErrorCode.RPC_ERROR,sbf.toString());
+        }
+        
+        return medicalService.saveOrUpdateBatch(saveOrUpdateMedicalList);
     }
-
-
-    /**
-     * 获取术语类型信息
-     *
-     * @param type
-     * @return TypeDTO
-     */
-    public TypeDTO getTypeInfo(String type) {
-        TypeDTO typeDTO = null;
-        TypeVo typeVo = new TypeVo();
-
+    
+    @SuppressWarnings("deprecation")
+    private String getValue(Cell cell) {
         try {
-            typeVo.setType(type);
-            List<TypeDTO> typelist = getTypeId(typeVo);
-
-            if (typelist.size() > 0) {
-                typeDTO = getTypeId(typeVo).get(0);
+            Object obj = null;
+            switch (cell.getCellTypeEnum()) {
+                case BOOLEAN:
+                    obj = cell.getBooleanCellValue();
+                    break;
+                case ERROR:
+                    obj = cell.getErrorCellValue();
+                    break;
+                case NUMERIC:
+                    if (HSSFDateUtil.isCellDateFormatted(cell)) {
+                        Date date = cell.getDateCellValue();
+                        obj = DateFormatUtils.format(date, "yyyy-MM-dd");
+                    } else {
+                        obj = cell.getNumericCellValue();
+                        DecimalFormat df = new DecimalFormat("0");
+                        obj = df.format(obj);
+                    }
+
+                    break;
+                case STRING:
+                    obj = cell.getStringCellValue();
+                    break;
+                default:
+                    break;
             }
-        }
-        catch (Exception ex) {
-            ex.printStackTrace();
-        }
-        finally {
-            return typeDTO;
+            return obj.toString();
+        } catch (Exception e) {
+            return "";
         }
     }
-
+    
     /**
-     * 清空医学术语信息表
-     *
+     * 获取术语医学属性所需全部科室
+     * @param getAllDeptsVO
+     * @return
      */
-    public void deleteMedical() {
-        truncateMedical();
+    public List<GetAllDeptsDTO> getAllDepts(GetAllDeptsVO getAllDeptsVO){
+    	 return deptInfoServiceClient.getAllDepts(getAllDeptsVO).data;
     }
+    
 }

+ 374 - 258
knowledgeman-service/src/main/java/com/diagbot/facade/RelationFacade.java

@@ -1,28 +1,48 @@
 package com.diagbot.facade;
 
-import com.alibaba.fastjson.JSON;
+import java.io.InputStream;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang.time.DateFormatUtils;
+import org.apache.poi.hssf.usermodel.HSSFDateUtil;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
+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.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.diagbot.dto.ConceptDTO;
-import com.diagbot.dto.RelationDTO;
+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;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.RelationService;
 import com.diagbot.service.impl.RelationServiceImpl;
-import com.diagbot.vo.AllRelationVo;
-import com.diagbot.vo.AmendTermVo;
-import com.diagbot.vo.RelationVo;
-import com.diagbot.vo.TermVo;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.util.UserUtils;
+import com.diagbot.vo.AddRelationInfoVO;
+import com.diagbot.vo.GetRelationInfoDetailVO;
+import com.diagbot.vo.GetRelationInfoListVO;
+import com.diagbot.vo.RemoveRelationInfoVO;
 
 /**
  * @Description: 术语知识查询业务层
@@ -31,276 +51,372 @@ import java.util.Map;
  */
 @Component
 public class RelationFacade extends RelationServiceImpl {
-
-    @Autowired
-    private ConceptFacade conceptFacade;
+	
+	@Autowired
+	private ConceptFacade conceptFacade;
     @Autowired
     private LibraryInfoFacade libraryInfoFacade;
     @Autowired
-    private RelationshipFacade relationshipFacade;
-
-
-    /**
-     *
-     * 获取所有医学术语的关系
-     *
-     * @param allrelationVo
-     * @result IPage<RelationDTO>
-     */
-    public IPage<RelationDTO> getAllRelations(AllRelationVo allrelationVo) {
-
-        return getAllRelation(allrelationVo);
-    }
-
-
+    private UserServiceClient userServiceClient;
+    @Autowired
+    private LexiconRelationshipFacade lexiconRelationshipFacade;
+    @Autowired
+    @Qualifier("relationServiceImpl")
+    private RelationService relationService;
+    
     /**
-     * 获取指定医学术语的关联关系
-     *
-     * @param relation
-     *
-     * @return List<RelationDTO>
+     * 获取医学术语关系列表
+     * @param getRelationInfoListVO
+     * @return
      */
-    public List<RelationDTO> getRelationInfo(RelationDTO relation) {
-        List<RelationDTO> rellist = new ArrayList<>();
-
-        rellist = getRelation(relation);
-
-        return rellist;
+    public IPage<GetRelationInfoListDTO> getRelationInfoList(GetRelationInfoListVO getRelationInfoListVO) {
+    	IPage<GetRelationInfoListDTO> ipage = this.baseMapper.getRelationInfoList(getRelationInfoListVO);
+    	List<String> ids = ipage.getRecords().stream().map(i->i.getOperName()).distinct().collect(Collectors.toList());
+    	if(ids.size()>0){
+    		RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(ids);
+        	if (respDTO == null || !CommonErrorCode.OK.getCode().equals(respDTO.code)) {
+                throw new CommonException(CommonErrorCode.RPC_ERROR,
+                        "获取用户信息失败");
+            }
+        	ipage.getRecords().forEach(i->{
+        		i.setOperName(respDTO.data.get(i.getOperName()));
+        	});
+    	}
+    	
+    	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.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->{
+    		if(libraryInfoMap.get(i.getStartId())!=null){
+    			i.setStartType(libraryInfoMap.get(i.getStartId()).getType());
+    		}
+    		if(libraryInfoMap.get(i.getEndId())!=null){
+    			i.setEndType(libraryInfoMap.get(i.getEndId()).getType());
+    		}
+    	});
+    	return ipage;
     }
-
+    
     /**
-     *
-     *
-     * 获取指定医学术语的所有上级关系
-     *
-     * @param relationVo
-     * @result List<Relation>
+     * 医学术语关系删除
+     * @param removeRelationInfoVO
+     * @return
      */
-    public List<RelationDTO> getRelations(RelationVo relationVo) {
-        List<RelationDTO> relationDTOs = new ArrayList<>();
-        RelationDTO relationDTO = new RelationDTO();
-        int concept_id = 0;
-
-        if (relationVo.getStart_term().length() > 0 && relationVo.getEnd_term().length() > 0) {
-            QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
-            query.eq("name", relationVo.getStart_term());
-            query.eq("type", relationVo.getStart_type());
-
-            LibraryInfo libraryInfo = libraryInfoFacade.getOne(query);
-
-            if (libraryInfo == null) {
-                relationDTO.setMsg("术语 \"" + relationVo.getStart_term() + "\" 不存在!");
-                relationDTOs.add(relationDTO);
-
-                return relationDTOs;
-            }
-            concept_id = (libraryInfo == null) ? 0 : libraryInfo.getConceptId();
-        }
-        else if (relationVo.getStart_concept_id() > 0) {
-            concept_id = relationVo.getStart_concept_id();
-        }
-
-        if (concept_id > 0) {
-            List<Relation> relations = new ArrayList<>();
-            relations = getList(relations, concept_id, -1);
-            relationDTOs.addAll(ConvertListtoDTO(relations));
-        }
-
-        return relationDTOs;
-    }
-
-
-
-    public List<RelationDTO> ConvertListtoDTO (List<Relation> src) {
-        List<RelationDTO> dest = new ArrayList<>();
-        RelationDTO relationDTO;
-
-        for (Relation relation:src) {
-            relationDTO = new RelationDTO();
-            BeanUtils.copyProperties(relation, relationDTO);
-
-            Map<String, Object> map = new HashMap<>();
-            map.put("concept_id", relationDTO.getStartId());
-            LibraryInfo libraryInfo = libraryInfoFacade.getLibraryInfor(map);
-
-            relationDTO.setStartName(libraryInfo.getName());
-
-            map.put("concept_id", relationDTO.getEndId());
-            libraryInfo = libraryInfoFacade.getLibraryInfor(map);
-
-            relationDTO.setEndName(libraryInfo.getName());
-
-            LexiconRelationship lexiconRelationship = relationshipFacade.getLexiconRelationship(relationDTO);
-            relationDTO.setRelationName(lexiconRelationship.getName());
-
-            dest.add(relationDTO);
-        }
-
-        return dest;
+    public Boolean removeRelationInfo(RemoveRelationInfoVO removeRelationInfoVO) {
+    	Relation relation = this.getById(removeRelationInfoVO.getId());
+    	if(relation==null||relation.getIsDeleted().equals("Y")){
+    		throw new CommonException(CommonErrorCode.NOT_EXISTS);
+    	}
+    	
+    	relation.setIsDeleted("Y");
+    	relation.setModifier(UserUtils.getCurrentPrincipleID());
+    	relation.setGmtModified(DateUtil.now());
+        return updateById(relation);
     }
-
+    
     /**
-     * 获取关系列表
-     * @param relations 关系列表
-     * @param con_id 起始术语id
-     * @param direct -1:向上, 1:向下
-     * @result List<Relation>
+     * 获取医学术语关系详情
+     * @param getRelationInfoDetailVO
+     * @return
      */
-    public List<Relation> getList(List<Relation> relations, Object con_id, int direct) {
-        List<Relation> rel_list = new ArrayList<>();
-
-
-        if (con_id != null && con_id instanceof Integer) {
-            QueryWrapper<Relation> wrapper = new QueryWrapper<>();
-
-            if (direct == -1) {
-                wrapper.eq("start_id", con_id);
-                rel_list = this.list(wrapper);
-            } else if (direct == 1) {
-                wrapper.eq("end_id", con_id);
-                rel_list = this.list(wrapper);
-            }
-
-            for (Relation item:rel_list) {
-                if (!isExist(relations, item))
-                    relations.add(item);
-                else {
-                    System.out.println("Conflicted items:\t" + JSON.toJSONString(item));
-                    return relations;
-                }
-            }
-
-            if (rel_list.size() > 0) {
-                for (Relation rel : rel_list) {
-                    getList(relations, rel.getEndId(), direct);
-                }
-            }
-        }
-
-        return relations;
+    public GetRelationInfoDetailDTO getRelationInfoDetail(GetRelationInfoDetailVO getRelationInfoDetailVO){
+    	Relation relation = this.getById(getRelationInfoDetailVO.getId());
+    	if(relation==null||relation.getIsDeleted().equals("Y")){
+    		throw new CommonException(CommonErrorCode.NOT_EXISTS);
+    	}
+    	
+    	GetRelationInfoDetailDTO getRelationInfoDetailDTO = new GetRelationInfoDetailDTO();
+    	getRelationInfoDetailDTO.setId(relation.getId());
+    	
+    	
+    	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());
+    	
+    	
+    	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("Y")){
+    		throw new CommonException(CommonErrorCode.RPC_ERROR, "关系类型不存在");
+    	}
+    	getRelationInfoDetailDTO.setRelationId(lexiconRelationship.getId());
+		getRelationInfoDetailDTO.setRelationName(lexiconRelationship.getName());
+    	
+    	return getRelationInfoDetailDTO;
     }
-
-
+    
     /**
-     * 查询关系是否有循环,即新加关系的起点和终点与原有关系的终点和起点相等
-     *
-     * @param
+     * 医学术语关系添加或者编辑
+     * @param addRelationInfoVO
+     * @return
      */
-    public Boolean isExist(List<Relation> relations, Relation relation) {
-        Boolean Exist = false;
-
-        for (Relation item:relations) {
-
-            if (item.getEndId().intValue() == relation.getStartId().intValue()
-                    && item.getStartId().intValue() == relation.getEndId().intValue()
-                    && item.getRelationId().intValue() == relation.getRelationId().intValue()) {
-                Exist = true;
-            }
-        }
-
-        return Exist;
+	public Boolean addRelationInfo(AddRelationInfoVO addRelationInfoVO){
+		Map<String,Object> ckMap = checkAddRelationInfoVO(addRelationInfoVO);
+		Object message = ckMap.get("message");
+		if(message!=null){
+			throw new CommonException(CommonErrorCode.RPC_ERROR,message.toString());
+		}
+		
+		if(ckMap.get("relation")!=null){
+			return saveOrUpdate((Relation)(ckMap.get("relation")));
+		}
+		return true;
     }
-
-    /**
-     * 更新或添加医学术语关系信息
-     *
-     * @param amendTermVo
+	
+	/**
+	 * 校验即将添加的数据
+	 * @param addRelationInfoVO
+	 * @return 返回map中,包含2个字段:message和relation,message-为空时,表示正常,取relation-relation可能为空,表示已经有了,并且无需更新
+	 */
+	private Map<String,Object> checkAddRelationInfoVO(AddRelationInfoVO addRelationInfoVO){
+		Map<String,Object> retMap = new HashMap<>();
+		
+		QueryWrapper<LibraryInfo> libraryInfoQe1 = new QueryWrapper<>();
+		libraryInfoQe1.eq("is_deleted", "N");
+		libraryInfoQe1.eq("is_concept", 1);
+		libraryInfoQe1.eq("name", addRelationInfoVO.getStartName());
+		libraryInfoQe1.eq("type", addRelationInfoVO.getStartType());
+		LibraryInfo startLibraryInfo = libraryInfoFacade.getOne(libraryInfoQe1);
+		if(startLibraryInfo==null){
+			retMap.put("message", "关系起点术语不存在");
+			return retMap;
+		}
+		Concept startConcept = conceptFacade.getById(startLibraryInfo.getConceptId());
+		if(startConcept==null||startConcept.getIsDeleted().equals("Y")||startConcept.getLibId().intValue()!=startLibraryInfo.getId().intValue()){
+			retMap.put("message", "关系起点术语不存在");
+			return retMap;
+		}
+
+		QueryWrapper<LibraryInfo> libraryInfoQe2 = new QueryWrapper<>();
+		libraryInfoQe2.eq("is_deleted", "N");
+		libraryInfoQe2.eq("is_concept", 1);
+		libraryInfoQe2.eq("name", addRelationInfoVO.getEndName());
+		libraryInfoQe2.eq("type", addRelationInfoVO.getEndType());
+		LibraryInfo endLibraryInfo = libraryInfoFacade.getOne(libraryInfoQe2);
+		if(endLibraryInfo==null){
+			retMap.put("message", "关系终点术语不存在");
+			return retMap;
+		}
+		Concept endConcept = conceptFacade.getById(endLibraryInfo.getConceptId());
+		if(endConcept==null||endConcept.getIsDeleted().equals("Y")||endConcept.getLibId().intValue()!=endLibraryInfo.getId().intValue()){
+			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", "术语关系类型不存在");
+			return retMap;
+		}
+		
+		QueryWrapper<Relation> relationQe = new QueryWrapper<>();
+		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")){
+			return retMap;
+		}
+		
+		String currentUser = UserUtils.getCurrentPrincipleID();
+		Date now = DateUtil.now();
+		if(relation==null){
+			relation = new Relation();
+			relation.setStartId(startConcept.getId());
+			relation.setEndId(endConcept.getId());
+			relation.setRelationId(lexiconRelationship.getId());
+			relation.setCreator(currentUser);
+			relation.setGmtCreated(now);
+		}else if(relation.getIsDeleted().equals("Y")){
+			relation.setIsDeleted("N");
+		}
+		relation.setModifier(currentUser);
+		relation.setGmtModified(now);
+		retMap.put("relation", relation);
+		return retMap;
+	}
+    
+	/**
+     * 医学术语关系excel文件导入
+     * @param file
      * @return
      */
-    public void upsertRelationInfo(AmendTermVo amendTermVo) {
-        Relation relation = new Relation();
-        RelationDTO relnodeDTO;
-        RelationDTO relationDTO;
-        List<RelationDTO> rellist;
-        boolean updated = false;
-        int rel_id = 0;
-
-        if (amendTermVo.getRelations() != null && amendTermVo.getRelations().size() > 0) {
-            for (int i=0; i<amendTermVo.getRelations().size(); i++) {
-                updated = false;
-                relnodeDTO = amendTermVo.getRelations().get(i);
-                if (relnodeDTO.getStartId() > 0 && relnodeDTO.getEndId() > 0
-                        && relnodeDTO.getStartId() != relnodeDTO.getEndId()) {
-                    relationDTO = amendTermVo.getRelations().get(i);
-                    rel_id = relationDTO.getRelationId();
-
-                    rellist = getRelationInfo(relationDTO);
-
-                    if (rellist.size() > 0) {
-                        for (RelationDTO reldto:rellist) {
-                            if (reldto.getRelationId() == rel_id) {
-                                updated = true;
-
-                                break;
+	public Boolean relationInfoExcelIm(MultipartFile file) {
+        List<AddRelationInfoVO> addRelationInfoVOList = new ArrayList<>();
+        StringBuffer sbf = new StringBuffer();
+        InputStream inputStream = null;
+        Workbook wb = null;
+        try {
+            if (!file.isEmpty()) {
+                inputStream = file.getInputStream();
+                if (inputStream.available() > 512000) {
+                    sbf.append("文件最大支持500KB!").append("<br/>");
+                } 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) {
+                            
+                            Sheet sheet = wb.getSheetAt(0);
+                            int count = 0;
+                            String startName, startType, endName, endType, relationName;
+                            for (Row row : sheet) {
+                                count++;
+                                if (count == 1 || row == null) {
+                                    continue;
+                                }
+                                startName = getValue(row.getCell(0)).trim().replace(" ", "");
+                                startType = getValue(row.getCell(1)).trim().replace(" ", "");
+                                endName = getValue(row.getCell(2)).trim().replace(" ", "");
+                                endType = getValue(row.getCell(3)).trim().replace(" ", "");
+                                relationName = getValue(row.getCell(4)).trim().replace(" ", "");
+                                if(StringUtil.isEmpty(startName) && StringUtil.isEmpty(startType)
+                                        && StringUtil.isEmpty(endName) && StringUtil.isEmpty(endType)
+                                        && StringUtil.isEmpty(relationName)){
+                                	continue;
+                                }
+                                if (StringUtil.isEmpty(startName) || StringUtil.isEmpty(startType)
+                                        || StringUtil.isEmpty(endName) || StringUtil.isEmpty(endType)
+                                        || StringUtil.isEmpty(relationName)) {
+                                    sbf.append("第" + count + "行数据不完整;").append("<br/>");
+                                    continue;
+                                }
+                                
+                                addRelationInfoVOList.add(new AddRelationInfoVO(startName,startType,endName,endType,relationName));
                             }
+                        } else {
+                            sbf.append("非excel文件无法解析!").append("<br/>");
                         }
-                    }
-
-                    if (!updated) {
-                        BeanUtils.copyProperties(relationDTO, relation);
-                        this.saveOrUpdate(relation);
+                    } else {
+                        sbf.append("未知文件无法解析!").append("<br/>");
                     }
                 }
+            } else {
+                sbf.append("无文件上传!").append("<br/>");
+            }
+        } catch (Exception e) {
+            sbf.append("解析失败!").append("<br/>");
+        } finally {
+            try {
+                if (wb != null) {
+                    wb.close();
+                }
+                if (inputStream != null) {
+                    inputStream.close();
+                }
+            } catch (Exception e) {
             }
         }
-    }
-
-
-    /**
-     *
-     * 删除指定医学术语的关系
-     *
-     * @param relationVo
-     * @result RelationDTO
-     */
-    public RelationDTO removeRelations(RelationVo relationVo) {
-        RelationDTO relationDTO = new RelationDTO();
-        QueryWrapper<Relation> query;
-
-        int startid = relationVo.getStart_concept_id();
-        int relationid = relationVo.getRelation_id();
-        int endid = relationVo.getEnd_concept_id();
-        String startname = relationVo.getStart_term().trim();
-        String relationname = relationVo.getRelation_name().trim();
-        String endname = relationVo.getEnd_term().trim();
-
-        if (startid > 0 && relationid > 0 && endid > 0) {
-            query = new QueryWrapper<>();
-            query.eq("start_id", startid);
-            query.eq("relation_id", relationid);
-            query.eq("end_id", endid);
-
-            relationDTO.setMsg(String.valueOf(remove(query)));
+        
+        /*****************excel文件本身问题提醒************************/
+        if(sbf.length()>0){
+        	throw new CommonException(CommonErrorCode.RPC_ERROR,sbf.toString());
         }
-        else if (startname.length() > 0 && endname.length() > 0 && relationname.length() > 0) {
-            relationDTO = getRelationbyName(relationVo);
-
-            if (relationDTO != null) {
-                int id = relationDTO.getId();
-                query = new QueryWrapper<>();
-                query.eq("id", id);
-
-                relationDTO.setMsg(String.valueOf(remove(query)));
-            }
-            else {
-                relationDTO.setMsg("此关系不存在!");
-            }
+        
+        /****************excel文件中数据存在重复提示---数据一模一样即重复***********************/
+        Map<String,List<AddRelationInfoVO>> addRelationInfoVOListMap = addRelationInfoVOList.stream().collect(Collectors.groupingBy(i->{
+        	AddRelationInfoVO addRelationInfoVO = (AddRelationInfoVO)i;
+    		return addRelationInfoVO.getStartName()+"-"+addRelationInfoVO.getStartType()+"-"+addRelationInfoVO.getEndName()+"-"+addRelationInfoVO.getEndType()+"-"+addRelationInfoVO.getRelationName();
+        }));
+        for(String key : addRelationInfoVOListMap.keySet()){
+        	if(addRelationInfoVOListMap.get(key).size()>1){
+        		sbf.append(key).append(" ");
+        	}
         }
-        else {
-            relationDTO.setMsg("此关系不存在!");
+        if(sbf.length()>0){
+        	sbf.append("(存在重复)");
+        	throw new CommonException(CommonErrorCode.RPC_ERROR,sbf.toString());
         }
-
-        return relationDTO;
+        
+        /**************校验每一组数据,同时组装*************************/
+        List<Relation> saveOrUpdateRelationList = new ArrayList<>();
+        Map<String,Object> ckMap = null;
+    	Object message = null;
+    	int count = 0;
+    	for(AddRelationInfoVO i : addRelationInfoVOList){
+    		count++;
+    		ckMap = checkAddRelationInfoVO(i);
+    		message = ckMap.get("message");
+    		if(message!=null){
+    			sbf.append(message.toString()).append("(第").append(count).append("行)").append("<br/>");
+    		}else if(ckMap.get("relation")!=null){
+    			saveOrUpdateRelationList.add((Relation)(ckMap.get("relation")));
+    		}
+    	}
+        if(sbf.length()>0){
+        	throw new CommonException(CommonErrorCode.RPC_ERROR,sbf.toString());
+        }
+        
+        return relationService.saveOrUpdateBatch(saveOrUpdateRelationList);
     }
+    
+    @SuppressWarnings("deprecation")
+    private String getValue(Cell cell) {
+        try {
+            Object obj = null;
+            switch (cell.getCellTypeEnum()) {
+                case BOOLEAN:
+                    obj = cell.getBooleanCellValue();
+                    break;
+                case ERROR:
+                    obj = cell.getErrorCellValue();
+                    break;
+                case NUMERIC:
+                    if (HSSFDateUtil.isCellDateFormatted(cell)) {
+                        Date date = cell.getDateCellValue();
+                        obj = DateFormatUtils.format(date, "yyyy-MM-dd");
+                    } else {
+                        obj = cell.getNumericCellValue();
+                        DecimalFormat df = new DecimalFormat("0");
+                        obj = df.format(obj);
+                    }
 
-
-    /**
-     * 清空医学术语关系表
-     *
-     */
-    public void deleteRelation() {
-        truncateRelation();
+                    break;
+                case STRING:
+                    obj = cell.getStringCellValue();
+                    break;
+                default:
+                    break;
+            }
+            return obj.toString();
+        } catch (Exception e) {
+            return "";
+        }
     }
-
+    
 
 }

+ 0 - 50
knowledgeman-service/src/main/java/com/diagbot/facade/RelationshipFacade.java

@@ -1,50 +0,0 @@
-package com.diagbot.facade;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.diagbot.dto.RelationDTO;
-import com.diagbot.entity.LexiconRelationship;
-import com.diagbot.service.impl.LexiconRelationshipServiceImpl;
-import com.diagbot.vo.AllRelationVo;
-import org.springframework.stereotype.Component;
-
-/**
- * @Description: 实体间关系信息查询业务层
- * @author: Weixuan Huang
- * @time: 2019/2/1 16:07
- */
-@Component
-public class RelationshipFacade extends LexiconRelationshipServiceImpl {
-
-    /**
-     * 获取术语间关系名称
-     *
-     * @param relationDTO
-     * @result LexiconRelationship
-     */
-    public LexiconRelationship getLexiconRelationship(RelationDTO relationDTO) {
-
-        QueryWrapper<LexiconRelationship> wrapper = new QueryWrapper<>();
-        LexiconRelationship lexiconRelationship = null;
-
-        if (relationDTO.getRelationId() != 0) {
-            wrapper.eq("id", relationDTO.getRelationId());
-        }
-
-        lexiconRelationship = this.getOne(wrapper);
-
-        return lexiconRelationship;
-    }
-    /**
-     *
-     * 获取所有关系名称
-     *
-     * @param allrelationVo
-     * @result IPage<LexiconRelationship>
-     */
-    public IPage<LexiconRelationship> getRelationName(AllRelationVo allrelationVo) {
-
-        return getAllRelationName(allrelationVo);
-    }
-
-}

+ 0 - 32
knowledgeman-service/src/main/java/com/diagbot/facade/TypeFacade.java

@@ -1,32 +0,0 @@
-package com.diagbot.facade;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.diagbot.dto.TypeDTO;
-import com.diagbot.service.impl.LexiconServiceImpl;
-import com.diagbot.vo.TypeVo;
-import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestBody;
-
-
-
-/**
- * @Description: 术语查询业务层
- * @author: Weixuan Huang
- * @time: 2019/3/18 17:30
- */
-@Component
-public class TypeFacade extends LexiconServiceImpl {
-
-    /**
-     * 获取术语类型信息
-     *
-     * @param typeVo
-     * @return IPage<TypeDTO>
-     */
-    public IPage<TypeDTO> getTypes(@RequestBody TypeVo typeVo) {
-
-        return getAllTypes(typeVo);
-    }
-
-}

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

@@ -1,13 +1,11 @@
 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.ConceptDTO;
-import com.diagbot.dto.LibraryInfoDTO;
+import com.diagbot.dto.GetAllLisConceptDTO;
 import com.diagbot.entity.Concept;
-import com.diagbot.vo.TermVo;
-
-import java.util.List;
+import com.diagbot.vo.GetAllLisConceptVO;
 
 /**
  * <p>
@@ -18,19 +16,13 @@ import java.util.List;
  * @since 2019-01-30
  */
 public interface ConceptMapper extends BaseMapper<Concept> {
-    /**
-     * 获取术语概念信息
-     * @param termVo
-     * @return ConceptDTO
-     */
-    public ConceptDTO getConcept(TermVo termVo);
-
+	
+	/**
+	 * 获取所有化验公表项
+	 * @param getAllLisConceptVO
+	 * @return
+	 */
+	List<GetAllLisConceptDTO> getAllLisConcept(GetAllLisConceptVO getAllLisConceptVO);
 
-    /**
-     * 获取所有没有实体关联的概念
-     *
-     * @result ConceptDTO
-     *
-     */
-    public List<ConceptDTO> getLimboItems();
+	
 }

+ 6 - 11
knowledgeman-service/src/main/java/com/diagbot/mapper/LexiconMapper.java

@@ -1,11 +1,10 @@
 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.TypeDTO;
+import com.diagbot.dto.GetLexiconListDTO;
 import com.diagbot.entity.Lexicon;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.diagbot.vo.TypeVo;
+import com.diagbot.vo.GetLexiconListVO;
 
 /**
  * <p>
@@ -16,11 +15,7 @@ import com.diagbot.vo.TypeVo;
  * @since 2019-03-18
  */
 public interface LexiconMapper extends BaseMapper<Lexicon> {
-    /**
-     * 获取所有术语信息
-     *
-     * @param typeVo
-     * @return IPage<TypeDTO>
-     */
-    public IPage<TypeDTO> getAllTypes(TypeVo typeVo);
+
+	IPage<GetLexiconListDTO> getLexiconList(GetLexiconListVO getLexiconListVO);
+	
 }

+ 1 - 6
knowledgeman-service/src/main/java/com/diagbot/mapper/LexiconRelationshipMapper.java

@@ -1,11 +1,7 @@
 package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.diagbot.dto.RelationDTO;
 import com.diagbot.entity.LexiconRelationship;
-import com.diagbot.facade.LibraryInfoFacade;
-import com.diagbot.vo.AllRelationVo;
 
 /**
  * <p>
@@ -16,7 +12,6 @@ import com.diagbot.vo.AllRelationVo;
  * @since 2019-02-01
  */
 public interface LexiconRelationshipMapper extends BaseMapper<LexiconRelationship> {
-    public LexiconRelationship getLexiconRelationship(RelationDTO relationDTO, LibraryInfoFacade libraryInfoFacade);
 
-    public IPage<LexiconRelationship> getAllRelationName(AllRelationVo allrelationVo);
+
 }

+ 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.ConceptVo;
-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(ConceptVo 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();
+   
 }

+ 4 - 30
knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryInfoMapper.java

@@ -1,16 +1,10 @@
 package com.diagbot.mapper;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.diagbot.dto.LibraryInfoDTO;
-import com.diagbot.entity.Concept;
+import com.diagbot.dto.GetAllInformationDTO;
 import com.diagbot.entity.LibraryInfo;
-import com.diagbot.vo.ConceptVo;
-import com.diagbot.vo.TermVo;
-
-import java.util.List;
+import com.diagbot.vo.GetAllInformationVO;
 
 /**
  * <p>
@@ -21,27 +15,7 @@ import java.util.List;
  * @since 2019-01-30
  */
 public interface LibraryInfoMapper extends BaseMapper<LibraryInfo> {
-    /**
-     * 获取所有术语基本信息
-     *
-     * @param conceptVo
-     * @return IPage<LibraryInfoDTO>
-     */
-    public IPage<LibraryInfoDTO> getAllInfor(ConceptVo conceptVo);
-
-    /**
-     * 获取所有术语信息
-     *
-     * @param conceptVo
-     * @return IPage<LibraryInfoDTO>
-     */
-    public IPage<LibraryInfoDTO> getAllConcept(ConceptVo conceptVo);
 
-    /**
-     * 获取所有没有实体关联的静态信息
-     *
-     * @result List<LibraryInfo>
-     *
-     */
-    public List<LibraryInfo> getLimboItems();
+    IPage<GetAllInformationDTO> getAllInformation(GetAllInformationVO getAllInformationVO);
+   
 }

+ 7 - 48
knowledgeman-service/src/main/java/com/diagbot/mapper/MedicalMapper.java

@@ -1,15 +1,10 @@
 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.LibraryDTO;
-import com.diagbot.dto.MedicalDTO;
-import com.diagbot.dto.TypeDTO;
+import com.diagbot.dto.GetMedicalInfoListDTO;
 import com.diagbot.entity.Medical;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.diagbot.vo.TypeVo;
-
-import java.util.List;
+import com.diagbot.vo.GetMedicalInfoListVO;
 
 /**
  * <p>
@@ -20,45 +15,9 @@ import java.util.List;
  * @since 2019-01-16
  */
 public interface MedicalMapper extends BaseMapper<Medical> {
-    /**
-     * 获取所有术语医学信息
-     *
-     * @param page
-     * @param medicalDTO
-     * @return IPage<MedicalDTO>
-     */
-    public IPage<MedicalDTO> getAllMedicalInfo(Page page, MedicalDTO medicalDTO);
-
-
-    /**
-     * 获取术语临床医学信息
-     *
-     * @param libraryDTO
-     * @result MedicalDTO
-     */
-//    public List<Medical> getMedicalInfo(LibraryDTO libraryDTO);
-
-    /**
-     * 获取实体类型Id
-     *
-     * @param typeVo
-     * @result TypeDTO
-     */
-    public List<TypeDTO> getTypeId(TypeVo typeVo);
-
-    /**
-     * 获取所有没有实体关联的医学信息
-     *
-     * @result List<Medical>
-     *
-     */
-    public List<Medical> getLimboItems();
-
-    /**
-     * 清空医学术语关系表
-     *
-     */
-    public void truncateMedical();
-
+	
+	
+	IPage<GetMedicalInfoListDTO> getMedicalInfoList(GetMedicalInfoListVO getMedicalInfoListVO);
+	
 
 }

+ 6 - 44
knowledgeman-service/src/main/java/com/diagbot/mapper/RelationMapper.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.RelationDTO;
+import com.diagbot.dto.GetRelationInfoListDTO;
 import com.diagbot.entity.Relation;
-import com.diagbot.vo.AllRelationVo;
-import com.diagbot.vo.RelationVo;
-
-import java.util.List;
+import com.diagbot.vo.GetRelationInfoListVO;
 
 /**
  * <p>
@@ -19,42 +15,8 @@ import java.util.List;
  * @since 2019-01-31
  */
 public interface RelationMapper extends BaseMapper<Relation> {
-    /**
-     * 获取所有术语关系
-     *
-     * @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();
+	
+	
+	IPage<GetRelationInfoListDTO> getRelationInfoList(GetRelationInfoListVO getRelationInfoListVO);
+	
 }

+ 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();
 }

+ 1 - 6
knowledgeman-service/src/main/java/com/diagbot/service/LexiconRelationshipService.java

@@ -1,11 +1,7 @@
 package com.diagbot.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.diagbot.dto.RelationDTO;
 import com.diagbot.entity.LexiconRelationship;
-import com.diagbot.facade.LibraryInfoFacade;
-import com.diagbot.vo.AllRelationVo;
 
 /**
  * <p>
@@ -16,7 +12,6 @@ import com.diagbot.vo.AllRelationVo;
  * @since 2019-02-01
  */
 public interface LexiconRelationshipService extends IService<LexiconRelationship> {
-    public LexiconRelationship getLexiconRelationship(RelationDTO relationDTO, LibraryInfoFacade libraryInfoFacade);
 
-    public IPage<LexiconRelationship> getAllRelationName(AllRelationVo allrelationVo);
+
 }

+ 3 - 6
knowledgeman-service/src/main/java/com/diagbot/service/LexiconService.java

@@ -1,11 +1,7 @@
 package com.diagbot.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.diagbot.dto.TypeDTO;
-import com.diagbot.entity.Lexicon;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.diagbot.vo.TypeVo;
+import com.diagbot.entity.Lexicon;
 
 /**
  * <p>
@@ -16,5 +12,6 @@ import com.diagbot.vo.TypeVo;
  * @since 2019-01-14
  */
 public interface LexiconService extends IService<Lexicon> {
-    public IPage<TypeDTO> getAllTypes(TypeVo typeVo);
+  
+	
 }

+ 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.ConceptVo;
-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(ConceptVo conceptVo);
-
-    public List<LibraryDetail> getLibraryDetail(TermVo termVo);
-
-    public void truncateDetail();
-
-    public List<LibraryDetail> getLimboItems();
+   
+	
 }

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

@@ -1,17 +1,7 @@
 package com.diagbot.service;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.diagbot.dto.LibraryInfoDTO;
-import com.diagbot.entity.Concept;
 import com.diagbot.entity.LibraryInfo;
-import com.diagbot.vo.ConceptVo;
-import com.diagbot.vo.TermVo;
-import org.springframework.security.core.parameters.P;
-
-import java.util.List;
 
 /**
  * <p>
@@ -22,8 +12,5 @@ import java.util.List;
  * @since 2019-01-30
  */
 public interface LibraryInfoService extends IService<LibraryInfo> {
-    public IPage<LibraryInfoDTO> getAllInfor(ConceptVo conceptVo);
-
-    public IPage<LibraryInfoDTO> getAllConcept(ConceptVo conceptVo);
-    public List<LibraryInfo> getLimboItems();
+    
 }

+ 2 - 17
knowledgeman-service/src/main/java/com/diagbot/service/MedicalService.java

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

+ 3 - 13
knowledgeman-service/src/main/java/com/diagbot/service/impl/LexiconRelationshipServiceImpl.java

@@ -1,14 +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.RelationDTO;
 import com.diagbot.entity.LexiconRelationship;
-import com.diagbot.facade.LibraryInfoFacade;
 import com.diagbot.mapper.LexiconRelationshipMapper;
 import com.diagbot.service.LexiconRelationshipService;
-import com.diagbot.vo.AllRelationVo;
-import org.springframework.stereotype.Service;
 
 /**
  * <p>
@@ -20,13 +17,6 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class LexiconRelationshipServiceImpl extends ServiceImpl<LexiconRelationshipMapper, LexiconRelationship> implements LexiconRelationshipService {
-    @Override
-    public LexiconRelationship getLexiconRelationship(RelationDTO relationDTO, LibraryInfoFacade libraryInfoFacade) {
-        return baseMapper.getLexiconRelationship(relationDTO, libraryInfoFacade);
-    }
 
-    @Override
-    public IPage<LexiconRelationship> getAllRelationName(AllRelationVo allrelationVo) {
-        return baseMapper.getAllRelationName(allrelationVo);
-    }
+
 }

+ 6 - 10
knowledgeman-service/src/main/java/com/diagbot/service/impl/LexiconServiceImpl.java

@@ -1,14 +1,11 @@
 package com.diagbot.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.diagbot.dto.TypeDTO;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.entity.Lexicon;
 import com.diagbot.mapper.LexiconMapper;
 import com.diagbot.service.LexiconService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.diagbot.vo.TypeVo;
-import org.springframework.stereotype.Service;
 
 /**
  * <p>
@@ -20,8 +17,7 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class LexiconServiceImpl extends ServiceImpl<LexiconMapper, Lexicon> implements LexiconService {
-    @Override
-    public IPage<TypeDTO> getAllTypes(TypeVo typeVo) {
-        return baseMapper.getAllTypes(typeVo);
-    }
+
+	
+	
 }

+ 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.ConceptVo;
-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(ConceptVo 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(); }
+   
+	
 }

+ 3 - 23
knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryInfoServiceImpl.java

@@ -1,21 +1,11 @@
 package com.diagbot.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.stereotype.Service;
+
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.diagbot.dto.LibraryInfoDTO;
-import com.diagbot.entity.Concept;
 import com.diagbot.entity.LibraryInfo;
 import com.diagbot.mapper.LibraryInfoMapper;
 import com.diagbot.service.LibraryInfoService;
-import com.diagbot.vo.ConceptVo;
-import com.diagbot.vo.TermVo;
-import org.omg.PortableServer.LIFESPAN_POLICY_ID;
-import org.springframework.security.core.parameters.P;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
 
 /**
  * <p>
@@ -27,16 +17,6 @@ import java.util.List;
  */
 @Service
 public class LibraryInfoServiceImpl extends ServiceImpl<LibraryInfoMapper, LibraryInfo> implements LibraryInfoService {
-    @Override
-    public IPage<LibraryInfoDTO> getAllInfor(ConceptVo conceptVo) {
-        return baseMapper.getAllInfor(conceptVo);
-    }
-
-    @Override
-    public IPage<LibraryInfoDTO> getAllConcept(ConceptVo conceptVo) {
-        return baseMapper.getAllConcept(conceptVo);
-    }
 
-    @Override
-    public List<LibraryInfo> getLimboItems() { return baseMapper.getLimboItems(); }
+  
 }

+ 4 - 30
knowledgeman-service/src/main/java/com/diagbot/service/impl/MedicalServiceImpl.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 com.diagbot.dto.LibraryDTO;
-import com.diagbot.dto.MedicalDTO;
-import com.diagbot.dto.TypeDTO;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.entity.Medical;
 import com.diagbot.mapper.MedicalMapper;
 import com.diagbot.service.MedicalService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.diagbot.vo.TypeVo;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
 
 /**
  * <p>
@@ -24,24 +17,5 @@ import java.util.List;
  */
 @Service
 public class MedicalServiceImpl extends ServiceImpl<MedicalMapper, Medical> implements MedicalService {
-    @Override
-    public IPage<MedicalDTO> getAllMedicalInfo(Page page, MedicalDTO medicalDTO) {
-        return baseMapper.getAllMedicalInfo(page, medicalDTO);
-    }
-
-    /*
-    @Override
-    public List<Medical> getMedicalInfo(LibraryDTO libraryDTO) {
-        return baseMapper.getMedicalInfo(libraryDTO);
-    }
-    */
-
-    @Override
-    public List<TypeDTO> getTypeId(TypeVo typeVo) { return baseMapper.getTypeId(typeVo); }
-
-    @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(); }
+    
 }

+ 81 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/AddConceptInfoDetailVO.java

@@ -0,0 +1,81 @@
+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 rgb
+ * @time 2019-03
+ */
+@Getter
+@Setter
+public class AddConceptInfoDetailVO {
+	
+	/**
+     * 术语名称
+     */
+	@ApiModelProperty(value="术语名称",required=true)
+	@NotBlank(message="术语名称必传")
+    private String name;
+
+	
+    /**
+     * 是否标准词,1:是,0:否
+     */
+	@ApiModelProperty(value="是否标准词",required=true)
+	@NotNull(message="是否标准词必传")
+	@Range(max=1,min=0,message="是否标准词必须是0或1")
+    private Integer isConcept;
+	
+    /**
+     * 术语说明
+     */
+	@ApiModelProperty(value="术语说明")
+    private String remark;
+	
+    /**
+     * 术语类型
+     */
+    private String type;
+
+	@Override
+	public int hashCode() {
+		final int prime = 31;
+		int result = 1;
+		result = prime * result + ((name == null) ? 0 : name.hashCode());
+		result = prime * result + ((type == null) ? 0 : type.hashCode());
+		return result;
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		AddConceptInfoDetailVO other = (AddConceptInfoDetailVO) obj;
+		if (name == null) {
+			if (other.name != null)
+				return false;
+		} else if (!name.equals(other.name))
+			return false;
+		if (type == null) {
+			if (other.type != null)
+				return false;
+		} else if (!type.equals(other.type))
+			return false;
+		return true;
+	}
+    
+    
+
+}

+ 42 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/AddConceptInfoVO.java

@@ -0,0 +1,42 @@
+package com.diagbot.vo;
+
+import java.util.List;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2019-03
+ */
+@Getter
+@Setter
+public class AddConceptInfoVO {
+	
+	/**
+     * 标准术语名称 提示使用
+     */
+	@ApiModelProperty(value="标准术语名称",required=true)
+	@NotBlank(message="标准术语名称必传")
+    private String name;
+    
+    /**
+     * 术语类型
+     */
+	@ApiModelProperty(value="术语类型",required=true)
+	@NotBlank(message="术语类型必传")
+    private String type;
+
+	/**
+     * 术语明细
+     */
+	@ApiModelProperty(value="术语明细",required=true)
+	@NotEmpty(message="术语明细不能为空")
+	private List<AddConceptInfoDetailVO> detailList;
+
+}

+ 31 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/AddLexiconVO.java

@@ -0,0 +1,31 @@
+package com.diagbot.vo;
+
+import javax.validation.constraints.NotBlank;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2019-03
+ */
+@Getter
+@Setter
+public class AddLexiconVO {
+	
+    /**
+     * 类型名称
+     */
+	@NotBlank(message="类型名称必填")
+	@ApiModelProperty(value="类型名称",required=true)
+    private String name;
+
+    /**
+     * 类型备注
+     */
+	@ApiModelProperty(value="类型备注")
+    private String remark;
+
+}

+ 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;
+	
+	
+	
+
+}

+ 126 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/AddMedicalInfoVO.java

@@ -0,0 +1,126 @@
+package com.diagbot.vo;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2019-03
+ */
+@Getter
+@Setter
+public class AddMedicalInfoVO {
+	
+	/**
+     * 术语概念名称
+     */
+    @NotBlank(message="术语概念名称必填")
+	@ApiModelProperty(value="术语概念名称",required=true)
+    private String conceptName;
+	
+	/**
+     * 术语概念类型
+     */
+    @NotBlank(message="术语概念类型必填")
+	@ApiModelProperty(value="术语概念类型",required=true)
+    private String conceptType;
+	
+    /**
+     * 术语名称
+     */
+	@NotBlank(message="术语名称必填")
+	@ApiModelProperty(value="术语名称",required=true)
+    private String name;
+
+    /**
+     * 术语标准名
+     */
+	@NotBlank(message="术语标准名必填")
+	@ApiModelProperty(value="术语标准名",required=true)
+    private String stdName;
+
+    /**
+     * 术语小类名称
+     */
+	@NotBlank(message="术语小类名称必填")
+	@ApiModelProperty(value="术语小类名称",required=true)
+    private String cateName;
+
+    /**
+     * 术语类组
+     */
+	@NotBlank(message="术语类组必填")
+	@ApiModelProperty(value="术语类组",required=true)
+    private String grp;
+
+    /**
+     * 效用名称
+     */
+    private String function;
+	
+    /**
+     * 性别:1:男, 2:女, 3:通用
+     */
+	@NotBlank(message="性别必填")
+	@ApiModelProperty(value="性别:1:男, 2:女, 3:通用",required=true)
+    private String gender;
+
+    /**
+     * 症状发生的最小年龄
+     */
+	@NotNull(message="症状发生的最小年龄必填")
+	@ApiModelProperty(value="症状发生的最小年龄",required=true)
+    private Integer minAge;
+
+    /**
+     * 症状发生的最大年龄
+     */
+	@NotNull(message="症状发生的最大年龄必填")
+	@ApiModelProperty(value="症状发生的最大年龄",required=true)
+    private Integer maxAge;
+
+    /**
+     * 一级部位
+     */
+	@NotBlank(message="一级部位必填")
+	@ApiModelProperty(value="一级部位",required=true)
+    private String bodypart;
+
+    /**
+     * 二级部位
+     */
+	@NotBlank(message="二级部位必填")
+	@ApiModelProperty(value="二级部位",required=true)
+    private String subBodypart;
+
+    /**
+     * 显示顺序
+     */
+	@ApiModelProperty(value="显示顺序")
+    private String displayOrder;
+
+    /**
+     * 科室
+     */
+	@NotBlank(message="科室必填")
+	@ApiModelProperty(value="科室",required=true)
+    private String dept;
+
+    /**
+     * 术语身份编码
+     */
+	@ApiModelProperty(value="术语身份编码")
+    private String code;
+
+    /**
+     * 备注
+     */
+	@ApiModelProperty(value="备注")
+    private String note;
+	
+}

+ 117 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/AddRelationInfoVO.java

@@ -0,0 +1,117 @@
+package com.diagbot.vo;
+
+import javax.validation.constraints.NotBlank;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2019-03
+ */
+@Getter
+@Setter
+public class AddRelationInfoVO {
+
+	/**
+	 * 关系起点术语名称
+	 */
+	@NotBlank(message = "关系起点术语名称必填")
+	@ApiModelProperty(value = "关系起点术语名称", required = true)
+	private String startName;
+
+	/**
+	 * 关系起点术语类型
+	 */
+	@NotBlank(message = "关系起点术语类型必填")
+	@ApiModelProperty(value = "关系起点术语类型", required = true)
+	private String startType;
+
+	/**
+	 * 关系终点术语名称
+	 */
+	@NotBlank(message = "关系终点术语名称必填")
+	@ApiModelProperty(value = "关系终点术语名称", required = true)
+	private String endName;
+
+	/**
+	 * 关系终点术语类型
+	 */
+	@NotBlank(message = "关系终点术语类型必填")
+	@ApiModelProperty(value = "关系终点术语类型", required = true)
+	private String endType;
+
+	/**
+	 * 关系名称
+	 */
+	@NotBlank(message = "关系名称必填")
+	@ApiModelProperty(value = "关系名称", required = true)
+	private String relationName;
+	
+	public AddRelationInfoVO() {
+		super();
+	}
+	
+	public AddRelationInfoVO(@NotBlank(message = "关系起点术语名称必填") String startName,
+			@NotBlank(message = "关系起点术语类型必填") String startType, @NotBlank(message = "关系终点术语名称必填") String endName,
+			@NotBlank(message = "关系终点术语类型必填") String endType, @NotBlank(message = "关系名称必填") String relationName) {
+		super();
+		this.startName = startName;
+		this.startType = startType;
+		this.endName = endName;
+		this.endType = endType;
+		this.relationName = relationName;
+	}
+
+	@Override
+	public int hashCode() {
+		final int prime = 31;
+		int result = 1;
+		result = prime * result + ((endName == null) ? 0 : endName.hashCode());
+		result = prime * result + ((endType == null) ? 0 : endType.hashCode());
+		result = prime * result + ((relationName == null) ? 0 : relationName.hashCode());
+		result = prime * result + ((startName == null) ? 0 : startName.hashCode());
+		result = prime * result + ((startType == null) ? 0 : startType.hashCode());
+		return result;
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		AddRelationInfoVO other = (AddRelationInfoVO) obj;
+		if (endName == null) {
+			if (other.endName != null)
+				return false;
+		} else if (!endName.equals(other.endName))
+			return false;
+		if (endType == null) {
+			if (other.endType != null)
+				return false;
+		} else if (!endType.equals(other.endType))
+			return false;
+		if (relationName == null) {
+			if (other.relationName != null)
+				return false;
+		} else if (!relationName.equals(other.relationName))
+			return false;
+		if (startName == null) {
+			if (other.startName != null)
+				return false;
+		} else if (!startName.equals(other.startName))
+			return false;
+		if (startType == null) {
+			if (other.startType != null)
+				return false;
+		} else if (!startType.equals(other.startType))
+			return false;
+		return true;
+	}
+
+}

+ 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;
-}

+ 0 - 28
knowledgeman-service/src/main/java/com/diagbot/vo/ConceptVo.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/3/14 16:03
- */
-@Getter
-@Setter
-public class ConceptVo extends Page {
-    @NotNull(message = "请输入医学术语")
-    private String term;
-
-    @NotNull(message = "请输入术语类型")
-    private String type;
-
-    private int id;
-
-    private int concept_id;
-
-    private String conecpt_name;
-}

+ 40 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/GetAllBodypartVO.java

@@ -0,0 +1,40 @@
+package com.diagbot.vo;
+
+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 GetAllBodypartVO {
+    
+    /**
+     * 一级部位名称
+     */
+	@ApiModelProperty(value="一级部位名称")
+    private String bodypart;
+	
+    /**
+     * 二级部位名称
+     */
+	@ApiModelProperty(value="二级部位名称")
+    private String subBodypart;
+  
+    /**
+     * 部位级别,1-一级、2-二级
+     */
+    @NotNull(message="部位级别必传")
+    @ApiModelProperty(value="部位级别,1-一级、2-二级",required=true)
+    @Range(min=1,max=2,message="部位级别必须是1或2")
+    private Integer level;
+    
+}

+ 34 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/GetAllConceptVO.java

@@ -0,0 +1,34 @@
+package com.diagbot.vo;
+
+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 GetAllConceptVO {
+    
+    /**
+     * 名称
+     */
+    @ApiModelProperty(value="名称")
+    private String name;
+    
+    /**
+     * 是否标准词,1:是,0:否
+     */
+    @ApiModelProperty(value="是否标准词,1:是,0:否")
+    private Integer isConcept;
+    
+    /**
+     * 是否过滤添加过术语属性的概念,1:是,0:否
+     */
+    @ApiModelProperty(value="是否过滤添加过术语属性的概念,1:是,0:否")
+    private Integer isMedical;
+    
+}

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

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2018年12月5日下午5:00:52
+ */
+@ApiModel(value="获取所有科室接口传参")
+@Getter
+@Setter
+public class GetAllDeptsVO {
+	
+	/**
+	 * 科室名称
+	 */
+	@ApiModelProperty(value="科室名称")
+	private String name;
+
+
+}

+ 31 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/GetAllInformationVO.java

@@ -0,0 +1,31 @@
+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 GetAllInformationVO extends Page {
+    
+    /**
+     * 术语名称
+     */
+    @ApiModelProperty(value="术语名称")
+    private String name;
+
+    /**
+     * 术语类型
+     */
+    @ApiModelProperty(value="术语类型")
+    private String type;
+    
+}

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

@@ -0,0 +1,28 @@
+package com.diagbot.vo;
+
+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 GetAllLexiconRelationshipVO {
+    
+    /**
+     * 关系名称
+     */
+    @ApiModelProperty(value="关系名称")
+    private String name;
+
+    /**
+     * 关系代码
+     */
+    @ApiModelProperty(value="关系代码")
+    private String code;
+    
+}

+ 22 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/GetAllLexiconVO.java

@@ -0,0 +1,22 @@
+package com.diagbot.vo;
+
+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 GetAllLexiconVO {
+    
+    /**
+     * 术语类型名称
+     */
+    @ApiModelProperty(value="术语类型名称")
+    private String name;
+    
+}

+ 31 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/GetAllLisConceptVO.java

@@ -0,0 +1,31 @@
+package com.diagbot.vo;
+
+import java.util.List;
+
+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 GetAllLisConceptVO {
+    
+    /**
+     * 名称
+     */
+    @ApiModelProperty(value="名称")
+    private String conceptName;
+    
+    /**
+     * 排除的名称
+     */
+    @ApiModelProperty(value="排除的名称")
+    private List<String> excludedConceptNames;
+   
+    
+}

+ 25 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/GetConceptInfoDetailVO.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 GetConceptInfoDetailVO {
+    
+    /**
+     * 概念id
+     */
+	@ApiModelProperty(value="概念id",required=true)
+	@NotNull(message="概念id必传")
+    private Long conceptId;
+    
+}

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

@@ -0,0 +1,25 @@
+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 GetLexiconListVO extends Page {
+    
+    /**
+     * 类型名称
+     */
+    @ApiModelProperty(value="类型名称")
+    private String name;
+
+}

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

@@ -0,0 +1,39 @@
+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;
+	
+	/**
+     * 标题
+     */
+	@ApiModelProperty(value="标题")
+    private String title;
+	
+
+}

+ 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;
+    
+}

+ 25 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/GetMedicalInfoDetailVO.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 GetMedicalInfoDetailVO {
+    
+    /**
+     * 术语医学属性id
+     */
+	@ApiModelProperty(value="术语医学属性id",required=true)
+	@NotNull(message="术语医学属性id必传")
+    private Long medicalId;
+    
+}

+ 31 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/GetMedicalInfoListVO.java

@@ -0,0 +1,31 @@
+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 GetMedicalInfoListVO extends Page {
+    
+    /**
+     * 术语名称
+     */
+    @ApiModelProperty(value="术语名称")
+    private String name;
+
+    /**
+     * 术语类型
+     */
+    @ApiModelProperty(value="术语类型")
+    private String type;
+    
+}

+ 25 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/GetRelationInfoDetailVO.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 GetRelationInfoDetailVO {
+    
+    /**
+     * 医学术语关系id
+     */
+	@ApiModelProperty(value="医学术语关系id",required=true)
+	@NotNull(message="医学术语关系id必传")
+    private Long id;
+    
+}

+ 37 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/GetRelationInfoListVO.java

@@ -0,0 +1,37 @@
+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 GetRelationInfoListVO extends Page {
+    
+    /**
+     * 关系id
+     */
+	@ApiModelProperty(value="关系id")
+    private Long relationId;
+    
+    /**
+     * 关系起点术语名称
+     */
+	@ApiModelProperty(value="关系起点术语名称")
+    private String startName;
+    
+    /**
+     * 关系终点术语名称
+     */
+	@ApiModelProperty(value="关系终点术语名称")
+    private String endName;
+    
+}

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


Some files were not shown because too many files changed in this diff