Prechádzať zdrojové kódy

adm 数据迁移 excel 增加创建修改时间,关系表增加图类型,边类型解释字段

lvxianyun 3 rokov pred
rodič
commit
66b0ea09fe

+ 2 - 0
adm-business/adm-middleware/src/main/java/com/persagy/proxy/migration/handler/DefineInfoMigration.java

@@ -228,6 +228,8 @@ public class DefineInfoMigration extends MigrationAbstractServiceImpl<ObjectInfo
             excel.setCode(define.getCode());
             excel.setName(define.getName());
             excel.setType(type);
+            excel.setCreateTime(define.getCreationTime().toString());
+            excel.setUpdateTime(define.getModifiedTime().toString());
             dataMigrationExcels.add(excel);
         }
         return dataMigrationExcels;

+ 2 - 0
adm-business/adm-middleware/src/main/java/com/persagy/proxy/migration/handler/DefineTypeMigration.java

@@ -224,6 +224,8 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
             excel.setCode(objectTypeDefine.getCode());
             excel.setName(objectTypeDefine.getName());
             excel.setType(type);
+            excel.setCreateTime(objectTypeDefine.getCreationTime().toString());
+            excel.setUpdateTime(objectTypeDefine.getModifiedTime().toString());
             if(objectTypeDefine.getGroupCode().equals("0") && objectTypeDefine.getProjectId().equals("0")){
                 excel.setMark("标准字典");
             }else{

+ 2 - 0
adm-business/adm-middleware/src/main/java/com/persagy/proxy/migration/handler/ObjectDigitalMigration.java

@@ -351,6 +351,8 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
             excel.setId(digital.getId());
             excel.setName(String.join(StrUtil.DASHED, digital.getLocalId() == null ? "" : digital.getLocalId(), digital.getLocalName() == null ? "" : digital.getLocalName()));
             excel.setType(type);
+            excel.setCreateTime(digital.getCreationTime().toString());
+            excel.setUpdateTime(digital.getModifiedTime().toString());
             dataMigrationExcels.add(excel);
         }
         return dataMigrationExcels;

+ 63 - 0
adm-business/adm-middleware/src/main/java/com/persagy/proxy/migration/handler/ObjectRelationMigration.java

@@ -8,9 +8,14 @@ import com.persagy.dmp.basic.model.QueryCriteria;
 import com.persagy.dmp.basic.utils.JsonNodeUtils;
 import com.persagy.dmp.common.constant.ResponseCode;
 import com.persagy.dmp.common.model.entity.BaseEntity;
+import com.persagy.dmp.define.client.DigitalGraphDefineFacade;
+import com.persagy.dmp.define.client.DigitalRelationDefineFacade;
+import com.persagy.dmp.define.entity.GraphDefine;
+import com.persagy.dmp.define.entity.RelationDefine;
 import com.persagy.dmp.digital.client.DigitalRelationFacade;
 import com.persagy.dmp.digital.entity.ObjectRelation;
 import com.persagy.dmp.rwd.migrate.entity.SyncData;
+import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.migration.constant.MiGrationRelCode;
@@ -230,6 +235,7 @@ public class ObjectRelationMigration extends MigrationAbstractServiceImpl<Object
                 dataMigrationExcels.addAll(processDataForExcel(updateData, MigrationType.UPDATE.getCode()));
             }
         }
+        processExcelDatas(context.getGroupCode(),context.getProjectId(), dataMigrationExcels);
         return dataMigrationExcels;
     }
 
@@ -381,6 +387,8 @@ public class ObjectRelationMigration extends MigrationAbstractServiceImpl<Object
             excel.setObjFrom(objectRelation.getObjFrom());
             excel.setObjTo(objectRelation.getObjTo());
             excel.setType(type);
+            excel.setCreateTime(objectRelation.getCreationTime().toString());
+            excel.setUpdateTime(objectRelation.getModifiedTime().toString());
             dataMigrationExcels.add(excel);
         }
         return dataMigrationExcels;
@@ -417,4 +425,59 @@ public class ObjectRelationMigration extends MigrationAbstractServiceImpl<Object
         }
         return syncDataList;
     }
+
+
+    /***
+     * Description: 查询所有关系类型
+
+     * @return : java.util.Map<java.lang.String,com.persagy.dmp.define.entity.RelationDefine>
+     * @author : lijie
+     * @date :2021/10/15 11:22
+     * Update By lijie 2021/10/15 11:22
+     */
+    private Map<String, RelationDefine> queryAllRelationDefineMap(String groupCode, String projectId) {
+        List<RelationDefine> relationDefines = DigitalRelationDefineFacade.query(groupCode, projectId,
+                AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, new QueryCriteria());
+        if (CollUtil.isEmpty(relationDefines)){
+            return new HashMap<>();
+        }
+        return relationDefines.stream()
+                .collect(Collectors.toMap(relationDefine ->
+                                relationDefine.getGraphCode() + StrUtil.DASHED + relationDefine.getCode(),
+                        relationDefine -> relationDefine, (k1, k2) -> k1));
+    }
+
+    /**
+     * 将excel中的relcode graphCode 翻译成name组合
+     * @param groupCode
+     * @param projectId
+     * @param excelList
+     */
+    private void processExcelDatas(String groupCode, String projectId, List<DataMigrationExcel> excelList){
+        // 1.获取所有的一级,二级图类型定义
+        QueryCriteria parentCriteria = new QueryCriteria();
+        List<GraphDefine> graphDefines = DigitalGraphDefineFacade.query(groupCode, projectId,
+                AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, parentCriteria);
+        if (!CollUtil.isEmpty(graphDefines)){
+            // 2.查询所有的边类型定义
+            Map<String, RelationDefine> relationDefineMap = queryAllRelationDefineMap(groupCode,projectId);
+            Map<String, GraphDefine> graphDefineMap = CollUtil.fieldValueMap(graphDefines, "code");
+            for(DataMigrationExcel excel : excelList){
+                String code = excel.getCode();
+                if(StrUtil.isEmpty(code) || !code.contains(StrUtil.DASHED)){
+                    continue;
+                }
+                //excel.setCode(String.join(StrUtil.DASHED, objectRelation.getGraphCode(), objectRelation.getRelCode()));
+                String tempName = null;
+                String graphName = graphDefineMap.get(code.split(StrUtil.DASHED)[0]).getName();
+                String relName = relationDefineMap.get(code).getName();
+                if(StrUtil.isAllNotEmpty(graphName, relName)){
+                    tempName = String.join(StrUtil.DASHED, graphName, relName);
+                }
+                excel.setName(tempName==null?"":tempName);
+            }
+
+        }
+
+    }
 }

+ 9 - 9
adm-business/adm-middleware/src/main/java/com/persagy/proxy/migration/model/DataMigrationExcel.java

@@ -47,15 +47,15 @@ public class DataMigrationExcel {
     @ExcelProperty(value = "源(云端/现场)", index=6)
     private String directional = "adm-to-project";
 
-    @ColumnWidth(30)
-    @ExcelProperty(value = "from(adm)", index=7)
-    private String source;
-
-    @ColumnWidth(30)
-    @ExcelProperty(value = "to(project)", index=8)
-    private String targetProject;
-
     @ColumnWidth(50)
-    @ExcelProperty(value = "备注", index=9)
+    @ExcelProperty(value = "备注", index=7)
     private String mark;
+
+    @ColumnWidth(25)
+    @ExcelProperty(value = "创建时间", index=8)
+    private String createTime;
+
+    @ColumnWidth(25)
+    @ExcelProperty(value = "更新时间", index=9)
+    private String updateTime;
 }