From 7dcba90339329e516ceb8c8b469ab3ff7bbf168e 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 13:16:08 +0800 Subject: [PATCH] 'commit' --- .../base/DataEase/Util/CopyBigScreen.java | 31 +++++-- .../base/DataEase/Util/TestInsert.java | 89 +++++++++++++++++++ 2 files changed, 115 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/dsideal/base/DataEase/Util/TestInsert.java 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 50285c45..9bf5020a 100644 --- a/src/main/java/com/dsideal/base/DataEase/Util/CopyBigScreen.java +++ b/src/main/java/com/dsideal/base/DataEase/Util/CopyBigScreen.java @@ -10,8 +10,7 @@ import com.jfinal.kit.PathKit; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Record; -import java.util.List; -import java.util.UUID; +import java.util.*; import static com.dsideal.base.DataEase.Model.DataEaseModel.DB_NAME; @@ -72,8 +71,8 @@ public class CopyBigScreen { sql = "select params_id from visualization_outer_params where visualization_id=?"; String paramsId = Db.use(DB_NAME).queryStr(sql, id); - sql="select params_info_id from visualization_outer_params_info where params_id=?"; - String params_info_id=Db.use(DB_NAME).queryStr(sql, paramsId); + sql = "select params_info_id from visualization_outer_params_info where params_id=?"; + String params_info_id = Db.use(DB_NAME).queryStr(sql, paramsId); sql = "delete from visualization_outer_params_target_view_info where params_info_id=?"; Db.use(DB_NAME).update(sql, params_info_id); @@ -144,6 +143,11 @@ public class CopyBigScreen { Db.use(DataEaseModel.DB_NAME).save("xpack_share", "id", shareRecord); } + public static List getAllViewList(long screenId) { + String sql = "select * from core_chart_view where scene_id=?"; + return Db.use(DB_NAME).find(sql, screenId); + } + /** * 拷贝城市大屏 * @@ -168,6 +172,12 @@ public class CopyBigScreen { //外部参数关联关系表 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"); + + //母屏的visualization_outer_params_target_view_info + sql = "select * from visualization_outer_params_target_view_info where params_info_id=? order by id"; + List targetViewInfoList = Db.use(DB_NAME).find(sql, params_info_id); + //按16个市州进行生成 List list = dm.getCityNameList(); @@ -202,7 +212,18 @@ public class CopyBigScreen { 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); - //这里缺少visualization_outer_params_target_view_info + + List childChartViewMap = getAllViewList(childId); + List writeList = new ArrayList<>(); + for (int j = 0; j < targetViewInfoList.size(); j++) { + Record record = targetViewInfoList.get(j); + //母屏的target_view_id + record.set("target_view_id", childChartViewMap.get(j).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); + } + Db.use(DB_NAME).batchSave("visualization_outer_params_target_view_info", writeList, 100); //发布共享链接 publishShare(motherShareRecord, childId); diff --git a/src/main/java/com/dsideal/base/DataEase/Util/TestInsert.java b/src/main/java/com/dsideal/base/DataEase/Util/TestInsert.java new file mode 100644 index 00000000..e5dae48c --- /dev/null +++ b/src/main/java/com/dsideal/base/DataEase/Util/TestInsert.java @@ -0,0 +1,89 @@ +package com.dsideal.base.DataEase.Util; + +import com.dsideal.base.Tools.Util.LocalMysqlConnectUtil; +import com.jfinal.plugin.activerecord.Db; +import com.jfinal.plugin.activerecord.Record; + +import java.util.List; + +import static com.dsideal.base.DataEase.Model.DataEaseModel.DB_NAME; + +public class TestInsert { + + public static void clearOuterParams(long screenId) { + //1、outer_params表 + String sql = "select * from visualization_outer_params where visualization_id=?"; + Record rOuterParams = Db.use(DB_NAME).findFirst(sql, screenId); + + //2、outer_params_info表 + String params_id = rOuterParams.getStr("params_id"); + sql = "select * from visualization_outer_params_info where params_id=?"; + Record rInfo = Db.use(DB_NAME).findFirst(sql, params_id); + + //3、outer_params_target_view_info表 + String params_info_id = rInfo.getStr("params_info_id"); + sql = "delete from visualization_outer_params_target_view_info where params_info_id=?"; + Db.use(DB_NAME).update(sql, params_info_id); + + sql = "delete from visualization_outer_params_info where params_id=?"; + Db.use(DB_NAME).update(sql, params_id); + + sql = "delete from visualization_outer_params where visualization_id=?"; + Db.use(DB_NAME).update(sql, screenId); + } + + public static void queryOuterParams(long screenId) { + //1、outer_params表 + String sql = "select * from visualization_outer_params where visualization_id=?"; + Record rOuterParams = Db.use(DB_NAME).findFirst(sql, screenId); + System.out.println(rOuterParams); + + //2、outer_params_info表 + String params_id = rOuterParams.getStr("params_id"); + sql = "select * from visualization_outer_params_info where params_id=?"; + Record rInfo = Db.use(DB_NAME).findFirst(sql, params_id); + System.out.println(rInfo); + + //3、outer_params_target_view_info表 + String params_info_id = rInfo.getStr("params_info_id"); + sql = "select * from visualization_outer_params_target_view_info where params_info_id=?"; + List targetViewInfoList = Db.use(DB_NAME).find(sql, params_info_id); + for (Record r : targetViewInfoList) { + System.out.println(r); + } + } + + public static List getAllViewList(long screenId) { + String sql = "select * from core_chart_view where scene_id=?"; + return Db.use(DB_NAME).find(sql, screenId); + } + + + public static void main(String[] args) { + LocalMysqlConnectUtil.Init(); + + String screenName = "云南省教育决策支持系统【市州】文山州"; + Record record = CopyBigScreen.getVisualizationByName(screenName); + // 大屏ID + long screenId = record.getLong("id"); + + //删除 + clearOuterParams(screenId); + //查询 + queryOuterParams(screenId); + + for (Record rView : getAllViewList(screenId)) { + long viewId = rView.getLong("id"); + } + /* + 42ed55f8-f798-48e5-a236-6471c28824a1 88aad56b-7960-4ba1-8347-8779940835b5 7262080230283422147 1728883020168 1043192888340647936 + bac36414-a053-429e-80be-e66881f93d23 88aad56b-7960-4ba1-8347-8779940835b5 7262080230283422148 1728883020168 1043192888340647936 + d775e633-f742-44c6-a1fa-a3455dc4efb8 88aad56b-7960-4ba1-8347-8779940835b5 7262080230283422146 1728883020168 1043192888340647936 + 1、target_id 主键 uuid生成 + 2、params_info_id 市州大屏只有一个参数,用上面的第二条SQL获取到 + 3、target_view_id ---> foreach viewId + 4、target_field_id 应与母屏一致 + 5、target_ds_id 应与母屏一致 + */ + } +}