|
@@ -1,6 +1,7 @@
|
|
|
package com.qizhen.healsphere;
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.qizhen.healsphere.repository.mapper.KgEdgesMapper;
|
|
|
import com.qizhen.healsphere.repository.mapper.KgNodesMapper;
|
|
|
import com.qizhen.healsphere.repository.mapper.KgSchemasMapper;
|
|
@@ -47,74 +48,45 @@ public class MergeDataTest {
|
|
|
|
|
|
@Test
|
|
|
public void mergeData() {
|
|
|
- String startLabel = "药品适应症";
|
|
|
- String endLabel = "疾病";
|
|
|
- List<BaseEntity> all = baseNodeRepository.getAll(startLabel);
|
|
|
+ String oldLabel = "分类";
|
|
|
+ String newLabel = "疾病";
|
|
|
+ List<BaseEntity> all = baseNodeRepository.getAll(oldLabel);
|
|
|
for(BaseEntity temp:all){
|
|
|
- BaseEntity baseEntity = baseNodeRepository.byName(endLabel, temp.getName());
|
|
|
+ BaseEntity baseEntity = baseNodeRepository.byName(newLabel, temp.getName());
|
|
|
if(baseEntity!=null){
|
|
|
MergeEntityVO mergeEntity = new MergeEntityVO();
|
|
|
mergeEntity.setFirstId(temp.getId());
|
|
|
- mergeEntity.setFirstLabel(startLabel);
|
|
|
+ mergeEntity.setFirstLabel(oldLabel);
|
|
|
mergeEntity.setSecondId(baseEntity.getId());
|
|
|
- mergeEntity.setSecondLabel(endLabel);
|
|
|
+ mergeEntity.setSecondLabel(newLabel);
|
|
|
mergeEntity.setNewName(baseEntity.getName());
|
|
|
- mergeEntity.setNewLabel(endLabel);
|
|
|
+ mergeEntity.setNewLabel(newLabel);
|
|
|
entityService.mergeEntity(mergeEntity);
|
|
|
}else{
|
|
|
- System.out.println(baseEntity.getId());
|
|
|
+ baseNodeRepository.renameLabel(newLabel, oldLabel, temp.getId());
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
- private void addIfNotExist(String label){
|
|
|
- if("就诊科室".equals(label)) {
|
|
|
- label = "科室";
|
|
|
- }
|
|
|
- HashMap<String, Object> columnMap = new HashMap<>();
|
|
|
- columnMap.put("name", label);
|
|
|
- List<KgSchemas> kgSchemasList = kgSchemasMapper.selectByMap(columnMap);
|
|
|
- if(!CollectionUtil.isEmpty(kgSchemasList)) {
|
|
|
- return;
|
|
|
- }
|
|
|
- KgSchemas kgSchemas = new KgSchemas();
|
|
|
- kgSchemas.setName(label);
|
|
|
- kgSchemas.setCategory(label);
|
|
|
- kgSchemas.setContent("name");
|
|
|
- kgSchemas.setVersion(version);
|
|
|
- kgSchemasMapper.insert(kgSchemas);
|
|
|
- }
|
|
|
-
|
|
|
- private Integer addNode(BaseEntity node) {
|
|
|
- try {
|
|
|
- String category = node.getLabel().get(0);
|
|
|
- if("疾病".equals(category)){
|
|
|
- category = "Disease";
|
|
|
- }else if("就诊科室".equals(category)){
|
|
|
- category = "Department";
|
|
|
- }else if("症状".equals(category)){
|
|
|
- category = "Symptom";
|
|
|
- }
|
|
|
- HashMap<String, Object> columnMap = new HashMap<>();
|
|
|
- columnMap.put("name", node.getName());
|
|
|
- columnMap.put("category", category);
|
|
|
- List<KgNodes> kgNodesList = kgNodesMapper.selectByMap(columnMap);
|
|
|
- if (!CollectionUtil.isEmpty(kgNodesList)) {
|
|
|
- return kgNodesList.get(0).getId();
|
|
|
+ @Test
|
|
|
+ public void mergeData2() {
|
|
|
+ String oldLabel = "鉴别诊断";
|
|
|
+ String newLabel = "疾病";
|
|
|
+ List<BaseEntity> all = baseNodeRepository.getAll(oldLabel);
|
|
|
+ for(BaseEntity temp:all){
|
|
|
+ BaseEntity baseEntity = baseNodeRepository.byName(newLabel, temp.getName());
|
|
|
+ if(baseEntity!=null){
|
|
|
+ MergeEntityVO mergeEntity = new MergeEntityVO();
|
|
|
+ mergeEntity.setFirstId(temp.getId());
|
|
|
+ mergeEntity.setFirstLabel(oldLabel);
|
|
|
+ mergeEntity.setSecondId(baseEntity.getId());
|
|
|
+ mergeEntity.setSecondLabel(newLabel);
|
|
|
+ mergeEntity.setNewName(baseEntity.getName());
|
|
|
+ mergeEntity.setNewLabel(newLabel);
|
|
|
+ entityService.mergeEntity(mergeEntity);
|
|
|
+ }else{
|
|
|
+ baseNodeRepository.renameLabel(newLabel, oldLabel, temp.getId());
|
|
|
}
|
|
|
-
|
|
|
- KgNodes kgNodes = new KgNodes();
|
|
|
- kgNodes.setName(node.getName());
|
|
|
- kgNodes.setCategory(category);
|
|
|
- kgNodes.setVersion(version);
|
|
|
- kgNodesMapper.insert(kgNodes);
|
|
|
- return kgNodes.getId();
|
|
|
- }catch (Exception e){
|
|
|
- e.printStackTrace();
|
|
|
- return -1;
|
|
|
}
|
|
|
}
|
|
|
}
|