From 0b8ff95779a3302aa6fb8dacc5ed043d9809fd0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Mon, 16 Dec 2024 15:34:17 +0800 Subject: [PATCH] 'commit' --- .../base/DataEase/Util/CopyBigScreen.java | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/dsideal/base/DataEase/Util/CopyBigScreen.java b/src/main/java/com/dsideal/base/DataEase/Util/CopyBigScreen.java index a8729517..e587c881 100644 --- a/src/main/java/com/dsideal/base/DataEase/Util/CopyBigScreen.java +++ b/src/main/java/com/dsideal/base/DataEase/Util/CopyBigScreen.java @@ -143,7 +143,7 @@ public class CopyBigScreen { Db.use(DataEaseModel.DB_NAME).save("xpack_share", "id", shareRecord); } - public static List getAllViewList(long screenId) { + public static List 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 targetViewInfoList = Db.use(DB_NAME).find(sql, params_info_id); + List motherTargetViewInfoList = Db.use(DB_NAME).find(sql, params_info_id); + Map motherMap = new HashMap<>(); + List listView = getViewList(motherId); + for (int i = 0; i < listView.size(); i++) { + motherMap.put(listView.get(i).getLong("id"), i); + } //按16个市州进行生成 List 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 childChartViewMap = getAllViewList(childId); + List childChartViewMap = getViewList(childId); List 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);