|
@@ -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);
|
|
|
}
|
|
@@ -211,6 +217,53 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
termVo.setTerm(amendTermVo.getConcept());
|
|
|
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);
|
|
|
if (conceptDTO == null) {
|
|
@@ -236,11 +289,28 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
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;
|
|
|
}
|
|
|
+ */
|
|
|
|
|
|
|
|
|
|