|
@@ -100,20 +100,23 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
|
|
|
public String migrateForSql(InstanceUrlParam context) {
|
|
|
//获取已经采集的数据
|
|
|
String sqls_temp = "\n -- 数据迁移 dt_object ------ \n ";
|
|
|
- //List<String> objTypes = getObjTypes(context);
|
|
|
- List<String> objTypes = Arrays.asList("equipment");
|
|
|
+ List<String> objTypes = getObjTypes(context);
|
|
|
+ //List<String> objTypes = Arrays.asList("equipment");
|
|
|
for(String objType : objTypes){
|
|
|
QueryCriteria queryCriteria = getQueryCriteria(objType);
|
|
|
- queryCriteria.setSize(MigrationConstant.BATCH_SUBMIT_DATA_COUNT*1L);
|
|
|
+ queryCriteria.setSize(1000L);
|
|
|
CommonResult<List<ObjectNode>> result = getAdmDataPage(context,queryCriteria);
|
|
|
+ if(result == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
List<ObjectNode> admData = result.getData();
|
|
|
if(CollUtil.isEmpty(admData)){
|
|
|
continue;
|
|
|
}
|
|
|
sqls_temp += processSqlStr(appendValues(admData).toString());
|
|
|
|
|
|
- if(result.getCount() > MigrationConstant.BATCH_SUBMIT_DATA_COUNT){
|
|
|
- long page = result.getCount() / MigrationConstant.BATCH_SUBMIT_DATA_COUNT + 1;
|
|
|
+ if(result.getCount() > 1000){
|
|
|
+ long page = result.getCount() / 1000 + 1;
|
|
|
for(long i = 2; i<=page; i++){
|
|
|
queryCriteria.setPage(i);
|
|
|
result = getAdmDataPage(context,queryCriteria);
|
|
@@ -135,16 +138,16 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
|
|
|
sql = sql.substring(0, sql.lastIndexOf(","));
|
|
|
sql += ";";
|
|
|
sql = sql.replaceAll("\"","\\\\\"");
|
|
|
- sql = sql.replaceAll("\n","\\n");
|
|
|
- sql = sql.replaceAll("\r","\\r");
|
|
|
+ sql = sql.replaceAll("\\\\r","\\\\\\\\\\r");
|
|
|
StringBuffer sqls = new StringBuffer("\r");
|
|
|
sqls.append(MigrationConstant.DT_OBJECT_SQL_PRE);
|
|
|
sqls.append(sql);
|
|
|
return sqls.toString();
|
|
|
}
|
|
|
private StringBuffer appendValues(List<ObjectNode> admData){
|
|
|
- StringBuffer sqls = new StringBuffer();
|
|
|
+ StringBuffer sqlsAll = new StringBuffer();
|
|
|
admData.forEach(obj -> {
|
|
|
+ StringBuffer sqls = new StringBuffer();
|
|
|
ObjectDigital objectDigital = JsonNodeUtils.toEntity(obj, ObjectDigital.class, "infos");
|
|
|
sqls.append("(");
|
|
|
sqls.append("'").append(objectDigital.getId()).append("',");
|
|
@@ -169,7 +172,11 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
|
|
|
sqls.append("'").append(objectDigital.getObjType()).append("',");
|
|
|
sqls.append("'").append(objectDigital.getClassCode()).append("',");
|
|
|
sqls.append("'").append(objectDigital.getGrouping()).append("',");
|
|
|
- sqls.append("'").append(objectDigital.getInfos()).append("',");
|
|
|
+ if(!objectDigital.getObjType().equals("space") && !objectDigital.getObjType().equals("ispace") && objectDigital.getInfos() != null && objectDigital.getInfos().size() > 0){
|
|
|
+ sqls.append("'").append(objectDigital.getInfos().toString().replaceAll("\\\\\\\\","\\\\\\\\\\\\\\\\")).append("',");
|
|
|
+ }else{
|
|
|
+ sqls.append("'").append(objectDigital.getInfos()).append("',");
|
|
|
+ }
|
|
|
if (objectDigital.getVirtualCodes() == null) {
|
|
|
sqls.append(objectDigital.getVirtualCodes()).append(",");
|
|
|
} else {
|
|
@@ -192,9 +199,10 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
|
|
|
sqls.append("'").append(objectDigital.getModifier()).append("',");
|
|
|
sqls.append("'").append(objectDigital.getModifiedTime()).append("',");
|
|
|
sqls.append(objectDigital.getValid());
|
|
|
- sqls.append(") ,");
|
|
|
+ String sql = sqls.toString().replaceAll("\\\\n","\\\\\\\\n");
|
|
|
+ sqlsAll.append(sql).append(")\n ,");
|
|
|
});
|
|
|
- return sqls;
|
|
|
+ return sqlsAll;
|
|
|
}
|
|
|
private QueryCriteria getQueryCriteria(String typeCode){
|
|
|
QueryCriteria queryCriteria = new QueryCriteria();
|