瀏覽代碼

术语命名导入修改

rgb 6 年之前
父節點
當前提交
723ce43ef5

+ 14 - 41
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -298,33 +298,25 @@ public class ConceptFacade extends ConceptServiceImpl {
     	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());
 			libraryInfoMain.setTypeId(lexicon.getId());
-			libraryInfoMain.setConceptId(addConceptInfoVO.getConceptId());
 			libraryinfoFacade.save(libraryInfoMain);
 			concept.setLibId(libraryInfoMain.getId());
 			concept.setGmtCreated(now);
 			concept.setCreator(currentUser);
-			concept.setGmtModified(now);
-			concept.setModifier(currentUser);
 			concept.setId(addConceptInfoVO.getConceptId());
 			saveOrUpdate(concept);
 			conceptId = concept.getId();
-			libraryInfoMain.setConceptId(conceptId);
     	}else{
+    		int ckConceptId = libraryInfoMain.getConceptId().intValue();
     		//如果标准词之前作为同义词被其他占用的情况
     		if(libraryInfoMain.getIsConcept()==0
-    				&&libraryInfoList.stream().map(i->i.getConceptId()).distinct().count()>1
-    				&&libraryInfoList.stream().filter(i->i.getIsConcept()==1).count()>=1){
+    				&&libraryInfoList.stream().filter(i->i.getConceptId().intValue()==ckConceptId).count()==1){
         		QueryWrapper<LibraryInfo> libraryInfoQe2 = new QueryWrapper<>();
         		libraryInfoQe2.eq("is_concept", 1);
         		libraryInfoQe2.eq("concept_id", libraryInfoMain.getConceptId());
@@ -336,26 +328,16 @@ public class ConceptFacade extends ConceptServiceImpl {
     		
     		conceptId = libraryInfoMain.getConceptId();
     		concept.setId(conceptId);
-
-    		if(libraryInfoMain.getIsConcept()==0
-    				||!(StringUtil.isBlank(libraryInfoMain.getRemark())?"":libraryInfoMain.getRemark()).equals((StringUtil.isBlank(addConceptInfoDetailVOMain.getRemark())?"":addConceptInfoDetailVOMain.getRemark()))){
-        		concept.setLibId(libraryInfoMain.getId());
-        		concept.setGmtModified(now);
-    			concept.setModifier(currentUser);
+        	concept.setLibId(libraryInfoMain.getId());
     			
-    			libraryInfoMain.setIsConcept(1);
-    			libraryInfoMain.setGmtModified(now);
-    			libraryInfoMain.setModifier(currentUser);
-    			libraryInfoMain.setRemark(addConceptInfoDetailVOMain.getRemark());
-    			
-    			isUpdateConcept = true;
-    		}
+    		libraryInfoMain.setIsConcept(1);
+    		libraryInfoMain.setRemark(addConceptInfoDetailVOMain.getRemark());
     	}
     	
+    	//先删除概念下的同义词,后续再插入
     	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();
@@ -368,18 +350,13 @@ public class ConceptFacade extends ConceptServiceImpl {
 				libraryInfo = new LibraryInfo();
 				libraryInfo.setGmtCreated(now);
 				libraryInfo.setCreator(currentUser);
-				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.setGmtModified(now);
+			libraryInfo.setModifier(currentUser);
 			libraryInfo.setName(i.getName());
 			libraryInfo.setIsConcept(0);
 			libraryInfo.setRemark(i.getRemark());
@@ -391,26 +368,22 @@ public class ConceptFacade extends ConceptServiceImpl {
 			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());
 			i.setTypeId(lexicon.getId());
 		}
+		libraryInfoMain.setConceptId(conceptId);
+		libraryInfoMain.setGmtModified(now);
+		libraryInfoMain.setModifier(currentUser);
 		saveOrUpdateLibraryInfoList.add(libraryInfoMain);
 		
 		libraryInfoService.saveOrUpdateBatch(saveOrUpdateLibraryInfoList);
 		
-		if(isUpdateConcept){
-			concept.setGmtModified(now);
-			concept.setModifier(currentUser);
-			updateById(concept);
-		}
+		concept.setGmtModified(now);
+		concept.setModifier(currentUser);
+		updateById(concept);
 		
     	return true;
     }

+ 24 - 11
knowledgeman-service/src/main/java/com/diagbot/facade/RelationFacade.java

@@ -171,7 +171,8 @@ public class RelationFacade extends RelationServiceImpl {
 			throw new CommonException(CommonErrorCode.RPC_ERROR,message.toString());
 		}
 		
-		if(ckMap.get("relation")==null){
+		Relation relation = (Relation)ckMap.get("relation");
+		if(relation.getId()!=null){
 			throw new CommonException(CommonErrorCode.RPC_ERROR,"该数据已存在");
 		}
 		
@@ -181,7 +182,7 @@ public class RelationFacade extends RelationServiceImpl {
 	/**
 	 * 校验即将添加的数据
 	 * @param addRelationInfoVO
-	 * @return 返回map中,包含2个字段:message和relation,message-为空时,表示正常,取relation-relation可能为空,表示已经有了,并且无需更新
+	 * @return 返回map中,包含2个字段:message和relation,message-为空时,表示正常,取relation-relation执行更新或者插入操作
 	 */
 	private Map<String,Object> checkAddRelationInfoVO(AddRelationInfoVO addRelationInfoVO){
 		Map<String,Object> retMap = new HashMap<>();
@@ -193,12 +194,20 @@ public class RelationFacade extends RelationServiceImpl {
 		libraryInfoQe1.eq("type", addRelationInfoVO.getStartType());
 		LibraryInfo startLibraryInfo = libraryInfoFacade.getOne(libraryInfoQe1);
 		if(startLibraryInfo==null){
-			retMap.put("message", "数据库中无该起始术语");
+			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", "数据库中无该起始术语");
+		if(startConcept==null){
+			retMap.put("message", "数据库中无该起始术语!");
+			return retMap;
+		}
+		if(startConcept.getLibId().intValue()!=startLibraryInfo.getId().intValue()){
+			retMap.put("message", "数据库中该起始术语概念绑定数据有问题!");
+			return retMap;
+		}
+		if(startConcept.getIsDeleted().equals("Y")){
+			retMap.put("message", "数据库中该起始术语状态为已删除!");
 			return retMap;
 		}
 
@@ -213,10 +222,18 @@ public class RelationFacade extends RelationServiceImpl {
 			return retMap;
 		}
 		Concept endConcept = conceptFacade.getById(endLibraryInfo.getConceptId());
-		if(endConcept==null||endConcept.getIsDeleted().equals("Y")||endConcept.getLibId().intValue()!=endLibraryInfo.getId().intValue()){
+		if(endConcept==null){
 			retMap.put("message", "数据库中无该终点术语");
 			return retMap;
 		}
+		if(endConcept.getLibId().intValue()!=endLibraryInfo.getId().intValue()){
+			retMap.put("message", "数据库中该终点术语概念绑定数据有问题!");
+			return retMap;
+		}
+		if(endConcept.getIsDeleted().equals("Y")){
+			retMap.put("message", "数据库中该终点术语状态为已删除!");
+			return retMap;
+		}
 		
 		QueryWrapper<LexiconRelationship> lexiconRelationshipQe = new QueryWrapper<>();
 		lexiconRelationshipQe.eq("is_deleted", "N");
@@ -232,9 +249,6 @@ public class RelationFacade extends RelationServiceImpl {
 		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();
@@ -245,9 +259,8 @@ public class RelationFacade extends RelationServiceImpl {
 			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);