浏览代码

迁移逻辑中添加迁移DMP中台有但BDTP中台没有的标准类型定义逻辑

lijie 3 年之前
父节点
当前提交
d58ffa5940

+ 9 - 1
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/migrate/dao/DigitalMigrateMapper.java

@@ -52,5 +52,13 @@ public interface DigitalMigrateMapper {
      * @param projectId
      */
     void migrateRelation(@Param("schema") String schema, @Param("groupCode") String groupCode, @Param("projectId") String projectId);
-
+    /***
+     * Description: 迁移DMP已有但BDTP没有的标准类型定义
+     * @param schema : DMP的库名称
+     * @return : void
+     * @author : lijie
+     * @date :2021/10/25 11:57
+     * Update By lijie 2021/10/25 11:57
+     */
+    void migrateStandardDefineType(String schema);
 }

+ 8 - 1
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/migrate/service/impl/DigitalMigrateServiceImpl.java

@@ -42,7 +42,14 @@ public class DigitalMigrateServiceImpl implements IDigitalMigrateService {
      * @param groupCode 集团编码
      */
     private void doMigrate(String schema, String groupCode) {
-        // 迁移
+        // 1.迁移旧DMP中台与新BDTP中台差异的标准类型定义数据
+        log.info(StrUtil.format("正在处理{}集团:迁移类型定义数据...", groupCode));
+        try {
+            dao.migrateStandardDefineType(schema);
+        } catch (Exception e) {
+            log.error(StrUtil.format("正在处理{}集团:迁移类型定义数据失败:{}", groupCode, e.getMessage()));
+        }
+        // 2.迁移集团自定义的类型定义数据
         log.info(StrUtil.format("正在处理{}集团:迁移类型定义数据...", groupCode));
         try {
             dao.migrateDefineType(schema, groupCode);

+ 21 - 0
dmp-business/dmp-rwd/src/main/resources/mapper/DigitalMigrateMapper.xml

@@ -68,5 +68,26 @@
           '0',date_format(now(), '%Y%m%d%h%i%s'),null,null,`status`
         FROM `${schema}`.`rwd_relation_${groupCode}_${projectId}`
     </insert>
+    <insert id="migrateStandardDefineType">
+        replace into `dt_define_type`(`id`,`code`,`name`,`alias_code`,
+                                      `alias_name`,`obj_type`,`group_code`,`project_id`,`major_code`,
+                                      `system_code`,`equipment_code`,`parent_code`,`version`,`creator`,
+                                      `creation_time`,`modifier`,`modified_time`,`valid`)
+        SELECT `id`,`code`,`name`,`alias_code`,
+               `alias_name`,`obj_type`,`group_code`,`project_id`,`major_code`,
+               `system_code`,`equipment_code`,`parent_code`,null,'0',
+               date_format(now(), '%Y%m%d%h%i%s'),null,null,1
+        FROM (
+         SELECT
+             *
+         FROM
+             `${schema}`.rwd_def_class AS rdc
+         WHERE
+             CONCAT( rdc.CODE, '_', rdc.obj_type ) NOT IN ( SELECT CONCAT( CODE, '_', obj_type ) FROM dt_define_type WHERE group_code = '0' AND project_id = '0' )
+         ORDER BY
+             rdc.obj_type
+         )
+
+    </insert>
 
 </mapper>