main
黄海 7 months ago
parent 359651f238
commit 0b8ff95779

@ -143,7 +143,7 @@ public class CopyBigScreen {
Db.use(DataEaseModel.DB_NAME).save("xpack_share", "id", shareRecord);
}
public static List<Record> getAllViewList(long screenId) {
public static List<Record> getViewList(long screenId) {
String sql = "select * from core_chart_view where scene_id=?";
return Db.use(DB_NAME).find(sql, screenId);
}
@ -171,13 +171,18 @@ public class CopyBigScreen {
String motherParamsId = motherOuterParamsRecord.getStr("params_id");
//外部参数关联关系表
sql = "select * from visualization_outer_params_info where params_id=?";
Record paramsInfoRecord = Db.use(DB_NAME).findFirst(sql, motherParamsId);
String params_info_id = paramsInfoRecord.getStr("params_info_id");
Record motherParamsInfoRecord = Db.use(DB_NAME).findFirst(sql, motherParamsId);
String params_info_id = motherParamsInfoRecord.getStr("params_info_id");
//母屏的visualization_outer_params_target_view_info
sql = "select * from visualization_outer_params_target_view_info where params_info_id=?";
List<Record> targetViewInfoList = Db.use(DB_NAME).find(sql, params_info_id);
List<Record> motherTargetViewInfoList = Db.use(DB_NAME).find(sql, params_info_id);
Map<Long, Integer> motherMap = new HashMap<>();
List<Record> listView = getViewList(motherId);
for (int i = 0; i < listView.size(); i++) {
motherMap.put(listView.get(i).getLong("id"), i);
}
//按16个市州进行生成
List<String> list = dm.getCityNameList();
@ -207,17 +212,21 @@ public class CopyBigScreen {
cityOuterParamsRecord.set("params_id", UUID.randomUUID().toString());
cityOuterParamsRecord.set("visualization_id", childId);
Db.use(DB_NAME).save("visualization_outer_params", "params_id", cityOuterParamsRecord);
//复制外部参数关联关系表
Record cityParamsInfoRecord = new Record().setColumns(paramsInfoRecord);
Record cityParamsInfoRecord = new Record().setColumns(motherParamsInfoRecord);
cityParamsInfoRecord.set("params_id", cityOuterParamsRecord.getStr("params_id"));
cityParamsInfoRecord.set("params_info_id", UUID.randomUUID().toString());
Db.use(DB_NAME).save("visualization_outer_params_info", "params_info_id", cityParamsInfoRecord);
List<Record> childChartViewMap = getAllViewList(childId);
List<Record> childChartViewMap = getViewList(childId);
List<Record> writeList = new ArrayList<>();
for (int j = 0; j < targetViewInfoList.size(); j++) {
Record record = targetViewInfoList.get(j);
record.set("target_view_id", childChartViewMap.get(j).getStr("id"));
for (int j = 0; j < motherTargetViewInfoList.size(); j++) {
Record record = motherTargetViewInfoList.get(j);
long target_view_id = record.getLong("target_view_id");
//这个target_view_id是母屏在core_chart_view表中的id是第几个?
int k = motherMap.get(target_view_id);
record.set("target_view_id", childChartViewMap.get(k).getStr("id"));
record.set("target_id", UUID.randomUUID().toString());//主键,全新生成
record.set("params_info_id", cityParamsInfoRecord.getStr("params_info_id"));//附本的params_info_id
writeList.add(record);

Loading…
Cancel
Save