Forráskód Böngészése

Merge remote-tracking branch 'origin/dev/knowledge' into debug

MarkHuang 6 éve
szülő
commit
9930a5ad18

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

@@ -48,7 +48,7 @@ public class ConceptDTO {
     /**
      * 术语基本信息
      */
-    private LibraryInfo libraryInfo;
+    private List<LibraryInfo> libraryInfo;
 
     /**
      * 术语相关医学知识

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

@@ -86,4 +86,9 @@ public class MedicalDTO {
      */
     private String note;
 
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String is_deleted;
+
 }

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

@@ -27,7 +27,7 @@ public class LibraryDetail implements Serializable {
     /**
      * 是否删除,N:未删除,Y:删除
      */
-    private String isDeleted;
+    private char isDeleted;
 
     /**
      * 记录创建时间
@@ -91,11 +91,11 @@ public class LibraryDetail implements Serializable {
     public void setId(Long id) {
         this.id = id;
     }
-    public String getIsDeleted() {
+    public char getIsDeleted() {
         return isDeleted;
     }
 
-    public void setIsDeleted(String isDeleted) {
+    public void setIsDeleted(char isDeleted) {
         this.isDeleted = isDeleted;
     }
     public LocalDateTime getGmtCreate() {

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

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

+ 79 - 8
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -14,6 +14,7 @@ import com.diagbot.service.impl.ConceptServiceImpl;
 import com.diagbot.vo.AmendTermVo;
 //import com.diagbot.vo.MedicalVo;
 import com.diagbot.vo.TermVo;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -55,6 +56,7 @@ public class ConceptFacade extends ConceptServiceImpl {
 
         List<ConceptDTO> conceptDTOs = new ArrayList<>();
         ConceptDTO conceptDTO;
+        List<LibraryInfo> libraryinfos;
 
         // 获取医学术语的基本信息
         QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
@@ -63,11 +65,15 @@ public class ConceptFacade extends ConceptServiceImpl {
         List<LibraryInfo> libraryInfos = libraryinfoFacade.list(query);
 
         for (LibraryInfo libraryInfo:libraryInfos) {
+            libraryinfos = new ArrayList<>();
+
             conceptDTO = new ConceptDTO();
             conceptDTO.setId(libraryInfo.getConceptId());
             conceptDTO.setLibId(libraryInfo.getId().intValue());
             conceptDTO.setName(libraryInfo.getName());
-            conceptDTO.setLibraryInfo(libraryInfo);
+
+            libraryinfos.add(libraryInfo);
+            conceptDTO.setLibraryInfo(libraryinfos);
 
             conceptDTOs.add(conceptDTO);
         }
@@ -209,7 +215,54 @@ public class ConceptFacade extends ConceptServiceImpl {
 
         TermVo termVo = new TermVo();
         termVo.setTerm(amendTermVo.getConcept());
-        termVo.setType(amendTermVo.getType());
+        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);
+            }
+        }
+
+        /*
+        QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
+        query.eq("name", amendTermVo.getConcept());
+        query.eq("type", amendTermVo.getNewtype());
+        libraryInfo = libraryinfoFacade.getOne(query);
+
+        // 如果术语不存在, 或者术语存在,但处于删除状态
+        if (libraryInfo == null) {
+            AmendTermVo amendconcept = new AmendTermVo();
+            amendconcept.setOldterm("");
+            amendconcept.setNewterm(amendTermVo.getConcept());
+            amendconcept.setConcept(amendTermVo.getConcept());
+            amendconcept.setNewtype(amendTermVo.getNewtype());
+            libraryInfo = libraryinfoFacade.upsertLibraryInfo(amendconcept);
+        }
+        *
+
+        // 如果术语已存在
 
         // 如果概念术语不存在,添加新术语,然后添加新的概念
         conceptDTO = getConcept(termVo);
@@ -218,12 +271,12 @@ public class ConceptFacade extends ConceptServiceImpl {
             amendconcept.setOldterm(amendTermVo.getOldterm());
             amendconcept.setNewterm(amendTermVo.getConcept());
             amendconcept.setConcept("");
-            amendconcept.setType(amendTermVo.getType());
+            amendconcept.setNewtype(amendTermVo.getNewtype());
             libraryinfoFacade.upsertLibraryInfo(amendconcept);
 
             Map<String, Object> params = new HashMap<>();
             params.put("name", amendTermVo.getConcept());
-            params.put("type", amendTermVo.getType());
+            params.put("type", amendTermVo.getNewtype());
             int libid = libraryinfoFacade.getLibraryInfor(params).getId().intValue();
 
 
@@ -232,15 +285,32 @@ public class ConceptFacade extends ConceptServiceImpl {
             concept.setGmtCreated(LocalDateTime.now());
             this.saveOrUpdate(concept);
 
-            termVo.setType(amendTermVo.getType());
+            termVo.setType(amendTermVo.getNewtype());
             conceptDTO = getConcept(termVo);
         }
 
+
         amendTermVo.setConcept_id(conceptDTO.getId());
         LibraryInfo libraryInfo = libraryinfoFacade.upsertLibraryInfo(amendTermVo);
         conceptDTO.setLibraryInfo(libraryInfo);
 
-        conceptDTO = updateConceptInfo(amendTermVo, conceptDTO);
+//        conceptDTO = updateConceptInfo(amendTermVo, conceptDTO);
+        */
+
+        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;
     }
@@ -251,10 +321,10 @@ public class ConceptFacade extends ConceptServiceImpl {
      * @param amendTermVo
      * @param conceptDTO
      * @return ConceptDTO
-     */
+     *
     public ConceptDTO updateConceptInfo(AmendTermVo amendTermVo, ConceptDTO conceptDTO) {
 
-        libraryDetailFacade.upsertLibraryInfo(amendTermVo);
+        libraryDetailFacade.upsertConceptKnowledge(amendTermVo);
         conceptDTO.setInformation(amendTermVo.getInformation());
 
         medicalFacade.upsertMedicalInfo(amendTermVo);
@@ -265,6 +335,7 @@ public class ConceptFacade extends ConceptServiceImpl {
 
         return conceptDTO;
     }
+    */
 
 
 

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

@@ -96,41 +96,85 @@ public class LibraryDetailFacade extends LibraryDetailServiceImpl {
      * 更新或添加医学术语静态信息
      *
      * @param amendTermVo
-     * @return
+     * @return ConceptDTO
      */
-    public void upsertLibraryInfo(AmendTermVo amendTermVo) {
+    public ConceptDTO upsertConceptKnowledge(AmendTermVo amendTermVo) {
 
-        if (amendTermVo.getInformation() != null && amendTermVo.getInformation().size() > 0) {
-            for (int i=0; i<amendTermVo.getInformation().size(); i++) {
-                LibraryDetail detail = amendTermVo.getInformation().get(i);
-                int concept_id = detail.getConceptId().intValue();
+        ConceptDTO conceptDTO = new ConceptDTO();
 
-                if (concept_id > 0) {
-                    String title = detail.getTitle();
+        LibraryDetail libraryDetail;
+        List<LibraryDetail> libraryDetails;
 
-//                    TermVo termVo = new TermVo();
-//                    termVo.setConcept_id(concept_id);
+        conceptDTO.setName(amendTermVo.getNewterm());
+        QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
+        query.eq("name", amendTermVo.getNewterm());
+        query.eq("type", amendTermVo.getNewtype());
+        LibraryInfo libraryInfo = libraryInfoFacade.getOne(query);
 
-                    Map<String, Object> map = new HashMap<>();
-                    map.put("concept_id", concept_id);
-                    List<LibraryDetail> details = getLibraryDetails(map);
+        if (amendTermVo.getInformation() != null && libraryInfo != null) {
 
-                    if (details != null && details.size() > 0) {
-                        for (LibraryDetail item : details) {
-                            if (item.getTitle().equals(title)) {
-                                detail.setId(item.getId());
-                                break;
-                            }
-                        }
-                    }
+            conceptDTO.setLibId(libraryInfo.getId().intValue());
+            conceptDTO.setId(libraryInfo.getConceptId());
+            conceptDTO.setMedicalInfo(new ArrayList<>());
 
-                    this.saveOrUpdate(detail);
+            for (int i=0; i<amendTermVo.getInformation().size(); i++) {
+                libraryDetail = amendTermVo.getInformation().get(i);
+
+                QueryWrapper<LibraryDetail> detquery = new QueryWrapper<>();
+                detquery.eq("concept_id", libraryInfo.getConceptId());
+                libraryDetails = list(detquery);
+
+                if (libraryDetails.size() > 0) {
+                    LibraryDetail exist_medical = libraryDetails.get(0);
+                    libraryDetail.setId(exist_medical.getId());
+                }
+                else {
+                    libraryDetail.setConceptId(libraryInfo.getConceptId().longValue());
                 }
+
+                this.saveOrUpdate(libraryDetail);
+
+                conceptDTO.getInformation().add(libraryDetail);
             }
         }
         else {
-            amendTermVo.setInformation(null);
+            conceptDTO.setInformation(null);
+        }
+
+        return conceptDTO;
+    }
+
+    /**
+     * 删除术语医学信息
+     *
+     * @param termVo
+     * @return ConceptDTO
+     */
+    public Boolean deleteConceptKnowledge(TermVo termVo) {
+
+        Boolean isdeleted = false;
+        List<LibraryDetail> libraryDetails;
+
+        QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
+        query.eq("name", termVo.getTerm());
+        query.eq("type", termVo.getType());
+        LibraryInfo libraryInfo = libraryInfoFacade.getOne(query);
+
+        if (libraryInfo != null) {
+            QueryWrapper<LibraryDetail> detquery = new QueryWrapper<>();
+            detquery.eq("concept_id", libraryInfo.getConceptId());
+            libraryDetails = list(detquery);
+
+            if (libraryDetails != null && libraryDetails.size() > 0) {
+                for (LibraryDetail libraryDetail:libraryDetails) {
+                    libraryDetail.setIsDeleted('Y');
+                    saveOrUpdate(libraryDetail);
+                }
+                isdeleted = true;
+            }
         }
+
+        return isdeleted;
     }
 
     /**

+ 52 - 5
knowledgeman-service/src/main/java/com/diagbot/facade/LibraryInfoFacade.java

@@ -56,13 +56,60 @@ public class LibraryInfoFacade extends LibraryInfoServiceImpl {
      */
     public LibraryInfo upsertLibraryInfo(AmendTermVo amendTermVo) {
 
-        String oldterm = amendTermVo.getOldterm();
-        String newterm = amendTermVo.getNewterm();
-        String type = amendTermVo.getType();
-        String concept = amendTermVo.getConcept();
+        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);
+        }
+
+        /*
         Map<String, Object> map = new HashMap<>();
         map.put("name", concept);
         map.put("type", type);
@@ -100,7 +147,7 @@ public class LibraryInfoFacade extends LibraryInfoServiceImpl {
         }
 
         this.saveOrUpdate(libraryInfo);
-
+        */
         return libraryInfo;
     }
 

+ 67 - 23
knowledgeman-service/src/main/java/com/diagbot/facade/MedicalFacade.java

@@ -7,7 +7,6 @@ import com.diagbot.entity.LibraryInfo;
 import com.diagbot.entity.Medical;
 import com.diagbot.service.impl.MedicalServiceImpl;
 import com.diagbot.vo.AmendTermVo;
-import com.diagbot.vo.MedicalVo;
 import com.diagbot.vo.TermVo;
 import com.diagbot.vo.TypeVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -57,7 +56,7 @@ public class MedicalFacade extends MedicalServiceImpl {
      * @param termVo
      * @result ConceptDTO
      */
-    public ConceptDTO getConceptMedicalInfo(@RequestBody TermVo termVo) {
+    public ConceptDTO getMedicalInfo(@RequestBody TermVo termVo) {
         List<LibraryInfo> libraryInfos;
         LibraryInfo libraryInfo;
         List<Medical> medicals;
@@ -91,50 +90,95 @@ public class MedicalFacade extends MedicalServiceImpl {
     }
 
     /**
-     * 更新或添加医学术语信息
+     * 更新或添加术语医学信息
      *
      * @param amendTermVo
-     * @return
+     * @return ConceptDTO
      */
-    public void upsertMedicalInfo(AmendTermVo amendTermVo) {
-        Map<String, Object> map;
+    public ConceptDTO upsertMedicalInfo(AmendTermVo amendTermVo) {
+        ConceptDTO conceptDTO = new ConceptDTO();
+
+//        Map<String, Object> map;
         Medical medical;
         List<Medical> medicals;
 
-        if (amendTermVo.getMedicalInfo() != null /*&& amendTermVo.getMedicalInfo().size() > 0*/) {
+        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);
+//                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 = getMedicalInfo(map).get(0);
-                    /*
-                    // 如果更新数据有效
-                    if (medical.getConceptId() != null) {
-                        medical.setId(exist_medical.getId());
-                    }
-                    else {
-                        medical = exist_medical;
-                        medical.setName(amendTermVo.getNewterm());
-                    }
-                    */
+                    Medical exist_medical = medicals.get(0);
                     medical.setId(exist_medical.getId());
                 }
                 else {
-                    medical.setConceptId(amendTermVo.getConcept_id());
+                    medical.setConceptId(libraryInfo.getConceptId());
                 }
 
 
                 this.saveOrUpdate(medical);
 
 //                amendTermVo.setMedicalInfo(medical);
-                amendTermVo.getMedicalInfo().set(i, medical);
+//                amendTermVo.getMedicalInfo().set(i, medical);
+                conceptDTO.getMedicalInfo().add(medical);
             }
         }
+
+        return conceptDTO;
+    }
+
+
+    /**
+     * 删除术语医学信息
+     *
+     * @param termVo
+     * @return ConceptDTO
+     */
+    public Boolean deleteMedicalInfo(TermVo termVo) {
+
+        Boolean isdeleted = false;
+        List<Medical> medicals;
+
+        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);
+                }
+                isdeleted = true;
+            }
+        }
+
+        return isdeleted;
     }
 
 

+ 4 - 1
knowledgeman-service/src/main/java/com/diagbot/vo/AmendTermVo.java

@@ -22,11 +22,14 @@ public class AmendTermVo {
     @NotNull(message="请输入现有的医学术语")
     private String oldterm;
 
+    @NotNull(message="请输入现有的医学术语类型")
+    private String oldtype;
+
     @NotNull(message="请输入新的医学术语")
     private String newterm;
 
     @NotNull(message="请输入新的医学术语类型")
-    private String type;
+    private String newtype;
 
     @NotNull(message="请输入医学概念名称")
     private String concept;

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

@@ -0,0 +1,28 @@
+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;
+}

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

@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
  */
 @Getter
 @Setter
-public class TermVo extends Page {
+public class TermVo {
     @NotNull(message = "请输入医学术语")
     private String term;
 

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

@@ -7,6 +7,7 @@ import com.diagbot.dto.LibraryInfoDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.ConceptFacade;
 import com.diagbot.vo.AmendTermVo;
+import com.diagbot.vo.ConceptVo;
 import com.diagbot.vo.TermVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -38,8 +39,8 @@ public class ConceptController {
     @ApiOperation(value = "查询所有术语")
     @PostMapping("getAllConcept")
     @SysLogger("getAllConcept")
-    public RespDTO<IPage<LibraryInfoDTO>> getAllConcept(@RequestBody TermVo termVo) {
-        IPage<LibraryInfoDTO> data = conceptFacade.getAllConcepts(termVo);
+    public RespDTO<IPage<LibraryInfoDTO>> getAllConcept(@RequestBody ConceptVo conceptVo) {
+        IPage<LibraryInfoDTO> data = conceptFacade.getAllConcepts(conceptVo);
 
         return RespDTO.onSuc(data);
     }
@@ -87,10 +88,11 @@ public class ConceptController {
 
         return RespDTO.onSuc(data);
     }
+    */
 
-    @ApiOperation(value = "术语修改",
-            notes = "OldTerm: 原来的术语名称, 必填<br/>NewTerm: 新的术语名称, 必填<br/>" +
-                    "Concept: 概念名称,必填<br/>Type: 新的术语类型, 必填<br/>")
+    @ApiOperation(value = "术语基本信息修改",
+            notes = "Concept: 概念名称,必填<br/>NewTerm: 新的术语名称, 必填<br/>" +
+                    "NewType: 新的术语类型, 必填<br/>")
     @PostMapping("/updateConceptInfo")
     @SysLogger("updateConceptInfo")
     public RespDTO<ConceptDTO> updateConceptInfo(@Valid @RequestBody AmendTermVo amendTermVo) {
@@ -98,7 +100,7 @@ public class ConceptController {
 
         return RespDTO.onSuc(data);
     }
-    */
+
 
     @ApiOperation(value = "术语导入", notes = "导入术语信息")
     @PostMapping("/importTermExcel")

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

@@ -6,6 +6,7 @@ import com.diagbot.dto.ConceptDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.TermDTO;
 import com.diagbot.facade.LibraryDetailFacade;
+import com.diagbot.vo.AmendTermVo;
 import com.diagbot.vo.TermVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -30,16 +31,7 @@ import javax.validation.Valid;
 public class LibraryDetailController {
     @Autowired
     private LibraryDetailFacade libraryDetailFacade;
-    /*
-    @ApiOperation(value = "查询所有术语")
-    @PostMapping("getAllConcept")
-    @SysLogger("getAllConcept")
-    public RespDTO<TermDTO> getAllConcept() {
-        List<ConceptDTO> data = conceptFacade.getAllConcept();
 
-        return RespDTO.onSuc(data);
-    }
-    */
 
     @ApiOperation(value = "术语静态知识查询",
             notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>")
@@ -51,17 +43,25 @@ public class LibraryDetailController {
         return RespDTO.onSuc(data);
     }
 
-    /*
-    @ApiOperation(value = "术语修改",
+
+    @ApiOperation(value = "术语静态知识修改",
             notes = "OldTerm: 原来的术语名称, 必填<br/>NewTerm: 新的术语名称, 必填<br/>" +
-                    "Concept: 概念名称,必填<br/>Type: 新的术语类型, 必填<br/>")
-    @PostMapping("/updateConceptInfo")
-    @SysLogger("updateConceptInfo")
-    public RespDTO<ConceptDTO> updateConceptInfo(@Valid @RequestBody AmendTermVo amendTermVo) {
-        ConceptDTO data = conceptFacade.upsertConceptInfo(amendTermVo);
+                    "OldType: 原来的术语类型, 必填<br/>NewType: 新的术语类型, 必填<br/>")
+    @PostMapping("/upsertConceptKnowledge")
+    @SysLogger("upsertConceptKnowledge")
+    public RespDTO<ConceptDTO> upsertConceptKnowledge(@Valid @RequestBody AmendTermVo amendTermVo) {
+        ConceptDTO data = libraryDetailFacade.upsertConceptKnowledge(amendTermVo);
 
         return RespDTO.onSuc(data);
     }
-    */
 
+    @ApiOperation(value = "术语静态知识删除",
+            notes = "Term: 术语名称, 必填<br/>Type: 术语类型, 必填<br/>")
+    @PostMapping("/deleteConceptKnowledge")
+    @SysLogger("deleteConceptKnowledge")
+    public RespDTO<ConceptDTO> deleteConceptKnowledge(@Valid @RequestBody TermVo termVo) {
+        Boolean result = libraryDetailFacade.deleteConceptKnowledge(termVo);
+
+        return RespDTO.onSuc(result);
+    }
 }

+ 24 - 6
knowledgeman-service/src/main/java/com/diagbot/web/MedicalController.java

@@ -4,9 +4,9 @@ package com.diagbot.web;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.ConceptDTO;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.dto.TermDTO;
 import com.diagbot.facade.MedicalFacade;
 import com.diagbot.vo.TermVo;
+import com.diagbot.vo.AmendTermVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,7 +14,6 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
@@ -37,12 +36,31 @@ public class MedicalController {
 
     @ApiOperation(value = "术语医学知识查询",
             notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>")
-    @PostMapping("/getConceptMedicalInfo")
-    @SysLogger("getConceptMedicalInfo")
-    public RespDTO<ConceptDTO> getConceptMedicalInfo(@Valid @RequestBody TermVo termvo) {
-        ConceptDTO data = medicalFacade.getConceptMedicalInfo(termvo);
+    @PostMapping("/getMedicalInfo")
+    @SysLogger("getMedicalInfo")
+    public RespDTO<ConceptDTO> getMedicalInfo(@Valid @RequestBody TermVo termvo) {
+        ConceptDTO data = medicalFacade.getMedicalInfo(termvo);
 
         return RespDTO.onSuc(data);
     }
 
+    @ApiOperation(value = "术语医学知识修改",
+            notes = "NewTerm: 新的术语名称, 必填<br/>NewType: 新的术语类型, 必填<br/>")
+    @PostMapping("/upsertMedicalInfo")
+    @SysLogger("upsertMedicalInfo")
+    public RespDTO<ConceptDTO> upsertMedicalInfo(@Valid @RequestBody AmendTermVo amendTermVo) {
+        ConceptDTO data = medicalFacade.upsertMedicalInfo(amendTermVo);
+
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "术语医学知识删除",
+            notes = "Term: 术语名称, 必填<br/>Type: 术语类型, 必填<br/>")
+    @PostMapping("/deleteMedicalInfo")
+    @SysLogger("deleteMedicalInfo")
+    public RespDTO<ConceptDTO> deleteMedicalInfo(@Valid @RequestBody TermVo termVo) {
+        Boolean result = medicalFacade.deleteMedicalInfo(termVo);
+
+        return RespDTO.onSuc(result);
+    }
 }

+ 4 - 2
knowledgeman-service/src/main/resources/mapper/ConceptMapper.xml

@@ -13,8 +13,10 @@
     <select id="getConcept" parameterType="com.diagbot.vo.TermVo" resultType="com.diagbot.dto.ConceptDTO">
         SELECT
         a.id, a.lib_id, a.gmt_created, a.gmt_modified
-        FROM concept a, library_info b
-        WHERE a.lib_id = b.id and b.name = #{term} and b.type = #{type}
+        FROM concept a WHERE a.id IN (
+            SELECT concept_id FROM library_info
+            WHERE name = #{term} and type = #{type}
+        )
     </select>
 
     <select id="getLimboItems" resultType="com.diagbot.dto.ConceptDTO">

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

@@ -20,6 +20,7 @@
         <result column="dept" property="dept" />
         <result column="code" property="code" />
         <result column="note" property="note" />
+        <result column="is_deleted" property="is_deleted" />
     </resultMap>
 
     <select id="getTypeId" parameterType="com.diagbot.vo.TypeVo" resultType="com.diagbot.dto.TypeDTO">