From c4dfd975f1a92bec982264d11d518de4c506dc5b Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Thu, 24 Feb 2022 17:40:51 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BB=AA=E8=A1=A8=E6=9D=BF?= =?UTF-8?q?=E5=A4=8D=E5=88=B6=E6=94=AF=E6=8C=81=E8=A7=86=E5=9B=BE=E3=80=81?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC=E4=BF=A1=E6=81=AF=E3=80=81=E8=81=94=E5=8A=A8?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=90=8C=E6=AD=A5=E5=A4=8D=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/base/domain/PanelLinkJump.java | 4 + .../base/domain/PanelLinkJumpExample.java | 140 +++++++++ .../base/domain/PanelLinkJumpInfo.java | 4 + .../base/domain/PanelLinkJumpInfoExample.java | 140 +++++++++ .../domain/PanelLinkJumpTargetViewInfo.java | 4 + .../PanelLinkJumpTargetViewInfoExample.java | 140 +++++++++ .../io/dataease/base/domain/PanelView.java | 8 + .../base/domain/PanelViewExample.java | 280 ++++++++++++++++++ .../base/domain/PanelViewLinkage.java | 21 +- .../base/domain/PanelViewLinkageExample.java | 140 +++++++++ .../base/domain/PanelViewLinkageField.java | 15 +- .../domain/PanelViewLinkageFieldExample.java | 140 +++++++++ .../base/mapper/PanelLinkJumpInfoMapper.xml | 42 ++- .../base/mapper/PanelLinkJumpMapper.xml | 42 ++- .../PanelLinkJumpTargetViewInfoMapper.xml | 42 ++- .../mapper/PanelViewLinkageFieldMapper.xml | 42 ++- .../base/mapper/PanelViewLinkageMapper.xml | 43 ++- .../dataease/base/mapper/PanelViewMapper.xml | 85 +++++- .../base/mapper/ext/ExtChartViewMapper.java | 2 + .../base/mapper/ext/ExtChartViewMapper.xml | 69 +++++ .../mapper/ext/ExtPanelLinkJumpMapper.java | 6 + .../mapper/ext/ExtPanelLinkJumpMapper.xml | 89 ++++++ .../mapper/ext/ExtPanelViewLinkageMapper.java | 3 + .../mapper/ext/ExtPanelViewLinkageMapper.xml | 85 ++++++ .../base/mapper/ext/ExtPanelViewMapper.java | 2 + .../base/mapper/ext/ExtPanelViewMapper.xml | 31 ++ .../panel/PanelGroupController.java | 1 + .../linkJump/PanelLinkJumpBaseRequest.java | 15 + .../service/panel/PanelGroupService.java | 70 +++-- .../service/panel/PanelViewService.java | 13 + .../main/resources/db/migration/V32__1.8.sql | 26 ++ .../src/main/resources/generatorConfig.xml | 6 + 32 files changed, 1683 insertions(+), 67 deletions(-) diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkJump.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkJump.java index 3f4f5d1a81..e016038184 100644 --- a/backend/src/main/java/io/dataease/base/domain/PanelLinkJump.java +++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkJump.java @@ -15,5 +15,9 @@ public class PanelLinkJump implements Serializable { private Boolean checked; + private String copyFrom; + + private String copyId; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpExample.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpExample.java index 5997faedfd..1897658b66 100644 --- a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpExample.java +++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpExample.java @@ -443,6 +443,146 @@ public class PanelLinkJumpExample { addCriterion("`checked` not between", value1, value2, "checked"); return (Criteria) this; } + + public Criteria andCopyFromIsNull() { + addCriterion("copy_from is null"); + return (Criteria) this; + } + + public Criteria andCopyFromIsNotNull() { + addCriterion("copy_from is not null"); + return (Criteria) this; + } + + public Criteria andCopyFromEqualTo(String value) { + addCriterion("copy_from =", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotEqualTo(String value) { + addCriterion("copy_from <>", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromGreaterThan(String value) { + addCriterion("copy_from >", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromGreaterThanOrEqualTo(String value) { + addCriterion("copy_from >=", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLessThan(String value) { + addCriterion("copy_from <", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLessThanOrEqualTo(String value) { + addCriterion("copy_from <=", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLike(String value) { + addCriterion("copy_from like", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotLike(String value) { + addCriterion("copy_from not like", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromIn(List values) { + addCriterion("copy_from in", values, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotIn(List values) { + addCriterion("copy_from not in", values, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromBetween(String value1, String value2) { + addCriterion("copy_from between", value1, value2, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotBetween(String value1, String value2) { + addCriterion("copy_from not between", value1, value2, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyIdIsNull() { + addCriterion("copy_id is null"); + return (Criteria) this; + } + + public Criteria andCopyIdIsNotNull() { + addCriterion("copy_id is not null"); + return (Criteria) this; + } + + public Criteria andCopyIdEqualTo(String value) { + addCriterion("copy_id =", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotEqualTo(String value) { + addCriterion("copy_id <>", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdGreaterThan(String value) { + addCriterion("copy_id >", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdGreaterThanOrEqualTo(String value) { + addCriterion("copy_id >=", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLessThan(String value) { + addCriterion("copy_id <", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLessThanOrEqualTo(String value) { + addCriterion("copy_id <=", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLike(String value) { + addCriterion("copy_id like", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotLike(String value) { + addCriterion("copy_id not like", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdIn(List values) { + addCriterion("copy_id in", values, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotIn(List values) { + addCriterion("copy_id not in", values, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdBetween(String value1, String value2) { + addCriterion("copy_id between", value1, value2, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotBetween(String value1, String value2) { + addCriterion("copy_id not between", value1, value2, "copyId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpInfo.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpInfo.java index 1db904bf41..4d4f24e479 100644 --- a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpInfo.java +++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpInfo.java @@ -21,5 +21,9 @@ public class PanelLinkJumpInfo implements Serializable { private Boolean checked; + private String copyFrom; + + private String copyId; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpInfoExample.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpInfoExample.java index 3687170a43..b4408603f1 100644 --- a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpInfoExample.java +++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpInfoExample.java @@ -653,6 +653,146 @@ public class PanelLinkJumpInfoExample { addCriterion("`checked` not between", value1, value2, "checked"); return (Criteria) this; } + + public Criteria andCopyFromIsNull() { + addCriterion("copy_from is null"); + return (Criteria) this; + } + + public Criteria andCopyFromIsNotNull() { + addCriterion("copy_from is not null"); + return (Criteria) this; + } + + public Criteria andCopyFromEqualTo(String value) { + addCriterion("copy_from =", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotEqualTo(String value) { + addCriterion("copy_from <>", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromGreaterThan(String value) { + addCriterion("copy_from >", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromGreaterThanOrEqualTo(String value) { + addCriterion("copy_from >=", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLessThan(String value) { + addCriterion("copy_from <", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLessThanOrEqualTo(String value) { + addCriterion("copy_from <=", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLike(String value) { + addCriterion("copy_from like", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotLike(String value) { + addCriterion("copy_from not like", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromIn(List values) { + addCriterion("copy_from in", values, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotIn(List values) { + addCriterion("copy_from not in", values, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromBetween(String value1, String value2) { + addCriterion("copy_from between", value1, value2, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotBetween(String value1, String value2) { + addCriterion("copy_from not between", value1, value2, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyIdIsNull() { + addCriterion("copy_id is null"); + return (Criteria) this; + } + + public Criteria andCopyIdIsNotNull() { + addCriterion("copy_id is not null"); + return (Criteria) this; + } + + public Criteria andCopyIdEqualTo(String value) { + addCriterion("copy_id =", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotEqualTo(String value) { + addCriterion("copy_id <>", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdGreaterThan(String value) { + addCriterion("copy_id >", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdGreaterThanOrEqualTo(String value) { + addCriterion("copy_id >=", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLessThan(String value) { + addCriterion("copy_id <", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLessThanOrEqualTo(String value) { + addCriterion("copy_id <=", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLike(String value) { + addCriterion("copy_id like", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotLike(String value) { + addCriterion("copy_id not like", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdIn(List values) { + addCriterion("copy_id in", values, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotIn(List values) { + addCriterion("copy_id not in", values, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdBetween(String value1, String value2) { + addCriterion("copy_id between", value1, value2, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotBetween(String value1, String value2) { + addCriterion("copy_id not between", value1, value2, "copyId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpTargetViewInfo.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpTargetViewInfo.java index 81c7a1cef3..32e7634c55 100644 --- a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpTargetViewInfo.java +++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpTargetViewInfo.java @@ -13,5 +13,9 @@ public class PanelLinkJumpTargetViewInfo implements Serializable { private String targetFieldId; + private String copyFrom; + + private String copyId; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpTargetViewInfoExample.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpTargetViewInfoExample.java index 7f0ea708d7..acd7104493 100644 --- a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpTargetViewInfoExample.java +++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpTargetViewInfoExample.java @@ -383,6 +383,146 @@ public class PanelLinkJumpTargetViewInfoExample { addCriterion("target_field_id not between", value1, value2, "targetFieldId"); return (Criteria) this; } + + public Criteria andCopyFromIsNull() { + addCriterion("copy_from is null"); + return (Criteria) this; + } + + public Criteria andCopyFromIsNotNull() { + addCriterion("copy_from is not null"); + return (Criteria) this; + } + + public Criteria andCopyFromEqualTo(String value) { + addCriterion("copy_from =", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotEqualTo(String value) { + addCriterion("copy_from <>", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromGreaterThan(String value) { + addCriterion("copy_from >", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromGreaterThanOrEqualTo(String value) { + addCriterion("copy_from >=", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLessThan(String value) { + addCriterion("copy_from <", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLessThanOrEqualTo(String value) { + addCriterion("copy_from <=", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLike(String value) { + addCriterion("copy_from like", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotLike(String value) { + addCriterion("copy_from not like", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromIn(List values) { + addCriterion("copy_from in", values, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotIn(List values) { + addCriterion("copy_from not in", values, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromBetween(String value1, String value2) { + addCriterion("copy_from between", value1, value2, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotBetween(String value1, String value2) { + addCriterion("copy_from not between", value1, value2, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyIdIsNull() { + addCriterion("copy_id is null"); + return (Criteria) this; + } + + public Criteria andCopyIdIsNotNull() { + addCriterion("copy_id is not null"); + return (Criteria) this; + } + + public Criteria andCopyIdEqualTo(String value) { + addCriterion("copy_id =", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotEqualTo(String value) { + addCriterion("copy_id <>", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdGreaterThan(String value) { + addCriterion("copy_id >", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdGreaterThanOrEqualTo(String value) { + addCriterion("copy_id >=", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLessThan(String value) { + addCriterion("copy_id <", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLessThanOrEqualTo(String value) { + addCriterion("copy_id <=", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLike(String value) { + addCriterion("copy_id like", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotLike(String value) { + addCriterion("copy_id not like", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdIn(List values) { + addCriterion("copy_id in", values, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotIn(List values) { + addCriterion("copy_id not in", values, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdBetween(String value1, String value2) { + addCriterion("copy_id between", value1, value2, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotBetween(String value1, String value2) { + addCriterion("copy_id not between", value1, value2, "copyId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/backend/src/main/java/io/dataease/base/domain/PanelView.java b/backend/src/main/java/io/dataease/base/domain/PanelView.java index e2f43549e2..b04880b4d3 100644 --- a/backend/src/main/java/io/dataease/base/domain/PanelView.java +++ b/backend/src/main/java/io/dataease/base/domain/PanelView.java @@ -21,6 +21,14 @@ public class PanelView implements Serializable { private String position; + private String copyFromPanel; + + private String copyFromView; + + private String copyFrom; + + private String copyId; + private byte[] content; private static final long serialVersionUID = 1L; diff --git a/backend/src/main/java/io/dataease/base/domain/PanelViewExample.java b/backend/src/main/java/io/dataease/base/domain/PanelViewExample.java index 67cb9a9e08..dbaaff8cec 100644 --- a/backend/src/main/java/io/dataease/base/domain/PanelViewExample.java +++ b/backend/src/main/java/io/dataease/base/domain/PanelViewExample.java @@ -643,6 +643,286 @@ public class PanelViewExample { addCriterion("`position` not between", value1, value2, "position"); return (Criteria) this; } + + public Criteria andCopyFromPanelIsNull() { + addCriterion("copy_from_panel is null"); + return (Criteria) this; + } + + public Criteria andCopyFromPanelIsNotNull() { + addCriterion("copy_from_panel is not null"); + return (Criteria) this; + } + + public Criteria andCopyFromPanelEqualTo(String value) { + addCriterion("copy_from_panel =", value, "copyFromPanel"); + return (Criteria) this; + } + + public Criteria andCopyFromPanelNotEqualTo(String value) { + addCriterion("copy_from_panel <>", value, "copyFromPanel"); + return (Criteria) this; + } + + public Criteria andCopyFromPanelGreaterThan(String value) { + addCriterion("copy_from_panel >", value, "copyFromPanel"); + return (Criteria) this; + } + + public Criteria andCopyFromPanelGreaterThanOrEqualTo(String value) { + addCriterion("copy_from_panel >=", value, "copyFromPanel"); + return (Criteria) this; + } + + public Criteria andCopyFromPanelLessThan(String value) { + addCriterion("copy_from_panel <", value, "copyFromPanel"); + return (Criteria) this; + } + + public Criteria andCopyFromPanelLessThanOrEqualTo(String value) { + addCriterion("copy_from_panel <=", value, "copyFromPanel"); + return (Criteria) this; + } + + public Criteria andCopyFromPanelLike(String value) { + addCriterion("copy_from_panel like", value, "copyFromPanel"); + return (Criteria) this; + } + + public Criteria andCopyFromPanelNotLike(String value) { + addCriterion("copy_from_panel not like", value, "copyFromPanel"); + return (Criteria) this; + } + + public Criteria andCopyFromPanelIn(List values) { + addCriterion("copy_from_panel in", values, "copyFromPanel"); + return (Criteria) this; + } + + public Criteria andCopyFromPanelNotIn(List values) { + addCriterion("copy_from_panel not in", values, "copyFromPanel"); + return (Criteria) this; + } + + public Criteria andCopyFromPanelBetween(String value1, String value2) { + addCriterion("copy_from_panel between", value1, value2, "copyFromPanel"); + return (Criteria) this; + } + + public Criteria andCopyFromPanelNotBetween(String value1, String value2) { + addCriterion("copy_from_panel not between", value1, value2, "copyFromPanel"); + return (Criteria) this; + } + + public Criteria andCopyFromViewIsNull() { + addCriterion("copy_from_view is null"); + return (Criteria) this; + } + + public Criteria andCopyFromViewIsNotNull() { + addCriterion("copy_from_view is not null"); + return (Criteria) this; + } + + public Criteria andCopyFromViewEqualTo(String value) { + addCriterion("copy_from_view =", value, "copyFromView"); + return (Criteria) this; + } + + public Criteria andCopyFromViewNotEqualTo(String value) { + addCriterion("copy_from_view <>", value, "copyFromView"); + return (Criteria) this; + } + + public Criteria andCopyFromViewGreaterThan(String value) { + addCriterion("copy_from_view >", value, "copyFromView"); + return (Criteria) this; + } + + public Criteria andCopyFromViewGreaterThanOrEqualTo(String value) { + addCriterion("copy_from_view >=", value, "copyFromView"); + return (Criteria) this; + } + + public Criteria andCopyFromViewLessThan(String value) { + addCriterion("copy_from_view <", value, "copyFromView"); + return (Criteria) this; + } + + public Criteria andCopyFromViewLessThanOrEqualTo(String value) { + addCriterion("copy_from_view <=", value, "copyFromView"); + return (Criteria) this; + } + + public Criteria andCopyFromViewLike(String value) { + addCriterion("copy_from_view like", value, "copyFromView"); + return (Criteria) this; + } + + public Criteria andCopyFromViewNotLike(String value) { + addCriterion("copy_from_view not like", value, "copyFromView"); + return (Criteria) this; + } + + public Criteria andCopyFromViewIn(List values) { + addCriterion("copy_from_view in", values, "copyFromView"); + return (Criteria) this; + } + + public Criteria andCopyFromViewNotIn(List values) { + addCriterion("copy_from_view not in", values, "copyFromView"); + return (Criteria) this; + } + + public Criteria andCopyFromViewBetween(String value1, String value2) { + addCriterion("copy_from_view between", value1, value2, "copyFromView"); + return (Criteria) this; + } + + public Criteria andCopyFromViewNotBetween(String value1, String value2) { + addCriterion("copy_from_view not between", value1, value2, "copyFromView"); + return (Criteria) this; + } + + public Criteria andCopyFromIsNull() { + addCriterion("copy_from is null"); + return (Criteria) this; + } + + public Criteria andCopyFromIsNotNull() { + addCriterion("copy_from is not null"); + return (Criteria) this; + } + + public Criteria andCopyFromEqualTo(String value) { + addCriterion("copy_from =", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotEqualTo(String value) { + addCriterion("copy_from <>", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromGreaterThan(String value) { + addCriterion("copy_from >", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromGreaterThanOrEqualTo(String value) { + addCriterion("copy_from >=", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLessThan(String value) { + addCriterion("copy_from <", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLessThanOrEqualTo(String value) { + addCriterion("copy_from <=", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLike(String value) { + addCriterion("copy_from like", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotLike(String value) { + addCriterion("copy_from not like", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromIn(List values) { + addCriterion("copy_from in", values, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotIn(List values) { + addCriterion("copy_from not in", values, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromBetween(String value1, String value2) { + addCriterion("copy_from between", value1, value2, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotBetween(String value1, String value2) { + addCriterion("copy_from not between", value1, value2, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyIdIsNull() { + addCriterion("copy_id is null"); + return (Criteria) this; + } + + public Criteria andCopyIdIsNotNull() { + addCriterion("copy_id is not null"); + return (Criteria) this; + } + + public Criteria andCopyIdEqualTo(String value) { + addCriterion("copy_id =", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotEqualTo(String value) { + addCriterion("copy_id <>", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdGreaterThan(String value) { + addCriterion("copy_id >", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdGreaterThanOrEqualTo(String value) { + addCriterion("copy_id >=", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLessThan(String value) { + addCriterion("copy_id <", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLessThanOrEqualTo(String value) { + addCriterion("copy_id <=", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLike(String value) { + addCriterion("copy_id like", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotLike(String value) { + addCriterion("copy_id not like", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdIn(List values) { + addCriterion("copy_id in", values, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotIn(List values) { + addCriterion("copy_id not in", values, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdBetween(String value1, String value2) { + addCriterion("copy_id between", value1, value2, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotBetween(String value1, String value2) { + addCriterion("copy_id not between", value1, value2, "copyId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/backend/src/main/java/io/dataease/base/domain/PanelViewLinkage.java b/backend/src/main/java/io/dataease/base/domain/PanelViewLinkage.java index 903863b7ee..c7d9f0108a 100644 --- a/backend/src/main/java/io/dataease/base/domain/PanelViewLinkage.java +++ b/backend/src/main/java/io/dataease/base/domain/PanelViewLinkage.java @@ -1,28 +1,29 @@ package io.dataease.base.domain; import java.io.Serializable; - -import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class PanelViewLinkage implements Serializable { - @ApiModelProperty("ID") private String id; - @ApiModelProperty("仪表板ID") + private String panelId; - @ApiModelProperty("源视图ID") + private String sourceViewId; - @ApiModelProperty("目标视图ID") + private String targetViewId; - @ApiModelProperty("更新时间") + private Long updateTime; - @ApiModelProperty("更新者") + private String updatePeople; - @ApiModelProperty("额外1") + private String ext1; - @ApiModelProperty("额外2") + private String ext2; + private String copyFrom; + + private String copyId; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/domain/PanelViewLinkageExample.java b/backend/src/main/java/io/dataease/base/domain/PanelViewLinkageExample.java index b9ab61a8d9..4602e21344 100644 --- a/backend/src/main/java/io/dataease/base/domain/PanelViewLinkageExample.java +++ b/backend/src/main/java/io/dataease/base/domain/PanelViewLinkageExample.java @@ -653,6 +653,146 @@ public class PanelViewLinkageExample { addCriterion("ext2 not between", value1, value2, "ext2"); return (Criteria) this; } + + public Criteria andCopyFromIsNull() { + addCriterion("copy_from is null"); + return (Criteria) this; + } + + public Criteria andCopyFromIsNotNull() { + addCriterion("copy_from is not null"); + return (Criteria) this; + } + + public Criteria andCopyFromEqualTo(String value) { + addCriterion("copy_from =", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotEqualTo(String value) { + addCriterion("copy_from <>", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromGreaterThan(String value) { + addCriterion("copy_from >", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromGreaterThanOrEqualTo(String value) { + addCriterion("copy_from >=", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLessThan(String value) { + addCriterion("copy_from <", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLessThanOrEqualTo(String value) { + addCriterion("copy_from <=", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLike(String value) { + addCriterion("copy_from like", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotLike(String value) { + addCriterion("copy_from not like", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromIn(List values) { + addCriterion("copy_from in", values, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotIn(List values) { + addCriterion("copy_from not in", values, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromBetween(String value1, String value2) { + addCriterion("copy_from between", value1, value2, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotBetween(String value1, String value2) { + addCriterion("copy_from not between", value1, value2, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyIdIsNull() { + addCriterion("copy_id is null"); + return (Criteria) this; + } + + public Criteria andCopyIdIsNotNull() { + addCriterion("copy_id is not null"); + return (Criteria) this; + } + + public Criteria andCopyIdEqualTo(String value) { + addCriterion("copy_id =", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotEqualTo(String value) { + addCriterion("copy_id <>", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdGreaterThan(String value) { + addCriterion("copy_id >", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdGreaterThanOrEqualTo(String value) { + addCriterion("copy_id >=", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLessThan(String value) { + addCriterion("copy_id <", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLessThanOrEqualTo(String value) { + addCriterion("copy_id <=", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLike(String value) { + addCriterion("copy_id like", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotLike(String value) { + addCriterion("copy_id not like", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdIn(List values) { + addCriterion("copy_id in", values, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotIn(List values) { + addCriterion("copy_id not in", values, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdBetween(String value1, String value2) { + addCriterion("copy_id between", value1, value2, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotBetween(String value1, String value2) { + addCriterion("copy_id not between", value1, value2, "copyId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/backend/src/main/java/io/dataease/base/domain/PanelViewLinkageField.java b/backend/src/main/java/io/dataease/base/domain/PanelViewLinkageField.java index 112d699427..683bd2c5b1 100644 --- a/backend/src/main/java/io/dataease/base/domain/PanelViewLinkageField.java +++ b/backend/src/main/java/io/dataease/base/domain/PanelViewLinkageField.java @@ -1,22 +1,23 @@ package io.dataease.base.domain; import java.io.Serializable; - -import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class PanelViewLinkageField implements Serializable { - @ApiModelProperty("ID") private String id; - @ApiModelProperty("联动ID") + private String linkageId; - @ApiModelProperty("源字段") + private String sourceField; - @ApiModelProperty("目标字段") + private String targetField; - @ApiModelProperty("更新时间") + private Long updateTime; + private String copyFrom; + + private String copyId; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/domain/PanelViewLinkageFieldExample.java b/backend/src/main/java/io/dataease/base/domain/PanelViewLinkageFieldExample.java index 5fda7906ed..e4c5a7ae05 100644 --- a/backend/src/main/java/io/dataease/base/domain/PanelViewLinkageFieldExample.java +++ b/backend/src/main/java/io/dataease/base/domain/PanelViewLinkageFieldExample.java @@ -443,6 +443,146 @@ public class PanelViewLinkageFieldExample { addCriterion("update_time not between", value1, value2, "updateTime"); return (Criteria) this; } + + public Criteria andCopyFromIsNull() { + addCriterion("copy_from is null"); + return (Criteria) this; + } + + public Criteria andCopyFromIsNotNull() { + addCriterion("copy_from is not null"); + return (Criteria) this; + } + + public Criteria andCopyFromEqualTo(String value) { + addCriterion("copy_from =", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotEqualTo(String value) { + addCriterion("copy_from <>", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromGreaterThan(String value) { + addCriterion("copy_from >", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromGreaterThanOrEqualTo(String value) { + addCriterion("copy_from >=", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLessThan(String value) { + addCriterion("copy_from <", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLessThanOrEqualTo(String value) { + addCriterion("copy_from <=", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromLike(String value) { + addCriterion("copy_from like", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotLike(String value) { + addCriterion("copy_from not like", value, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromIn(List values) { + addCriterion("copy_from in", values, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotIn(List values) { + addCriterion("copy_from not in", values, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromBetween(String value1, String value2) { + addCriterion("copy_from between", value1, value2, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyFromNotBetween(String value1, String value2) { + addCriterion("copy_from not between", value1, value2, "copyFrom"); + return (Criteria) this; + } + + public Criteria andCopyIdIsNull() { + addCriterion("copy_id is null"); + return (Criteria) this; + } + + public Criteria andCopyIdIsNotNull() { + addCriterion("copy_id is not null"); + return (Criteria) this; + } + + public Criteria andCopyIdEqualTo(String value) { + addCriterion("copy_id =", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotEqualTo(String value) { + addCriterion("copy_id <>", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdGreaterThan(String value) { + addCriterion("copy_id >", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdGreaterThanOrEqualTo(String value) { + addCriterion("copy_id >=", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLessThan(String value) { + addCriterion("copy_id <", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLessThanOrEqualTo(String value) { + addCriterion("copy_id <=", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdLike(String value) { + addCriterion("copy_id like", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotLike(String value) { + addCriterion("copy_id not like", value, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdIn(List values) { + addCriterion("copy_id in", values, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotIn(List values) { + addCriterion("copy_id not in", values, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdBetween(String value1, String value2) { + addCriterion("copy_id between", value1, value2, "copyId"); + return (Criteria) this; + } + + public Criteria andCopyIdNotBetween(String value1, String value2) { + addCriterion("copy_id not between", value1, value2, "copyId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpInfoMapper.xml b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpInfoMapper.xml index 349f76cd7c..b889d702be 100644 --- a/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpInfoMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpInfoMapper.xml @@ -10,6 +10,8 @@ + + @@ -71,7 +73,7 @@ id, link_jump_id, link_type, jump_type, target_panel_id, source_field_id, content, - `checked` + `checked`, copy_from, copy_id @@ -199,6 +215,12 @@ `checked` = #{record.checked,jdbcType=BIT}, + + copy_from = #{record.copyFrom,jdbcType=VARCHAR}, + + + copy_id = #{record.copyId,jdbcType=VARCHAR}, + @@ -213,7 +235,9 @@ target_panel_id = #{record.targetPanelId,jdbcType=VARCHAR}, source_field_id = #{record.sourceFieldId,jdbcType=VARCHAR}, content = #{record.content,jdbcType=VARCHAR}, - `checked` = #{record.checked,jdbcType=BIT} + `checked` = #{record.checked,jdbcType=BIT}, + copy_from = #{record.copyFrom,jdbcType=VARCHAR}, + copy_id = #{record.copyId,jdbcType=VARCHAR} @@ -242,6 +266,12 @@ `checked` = #{checked,jdbcType=BIT}, + + copy_from = #{copyFrom,jdbcType=VARCHAR}, + + + copy_id = #{copyId,jdbcType=VARCHAR}, + where id = #{id,jdbcType=VARCHAR} @@ -253,7 +283,9 @@ target_panel_id = #{targetPanelId,jdbcType=VARCHAR}, source_field_id = #{sourceFieldId,jdbcType=VARCHAR}, content = #{content,jdbcType=VARCHAR}, - `checked` = #{checked,jdbcType=BIT} + `checked` = #{checked,jdbcType=BIT}, + copy_from = #{copyFrom,jdbcType=VARCHAR}, + copy_id = #{copyId,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR} \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpMapper.xml b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpMapper.xml index 8f26c736a1..76c888ba2b 100644 --- a/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpMapper.xml @@ -7,6 +7,8 @@ + + @@ -67,7 +69,7 @@ - id, source_panel_id, source_view_id, link_jump_info, `checked` + id, source_panel_id, source_view_id, link_jump_info, `checked`, copy_from, copy_id @@ -166,6 +182,12 @@ `checked` = #{record.checked,jdbcType=BIT}, + + copy_from = #{record.copyFrom,jdbcType=VARCHAR}, + + + copy_id = #{record.copyId,jdbcType=VARCHAR}, + @@ -177,7 +199,9 @@ source_panel_id = #{record.sourcePanelId,jdbcType=VARCHAR}, source_view_id = #{record.sourceViewId,jdbcType=VARCHAR}, link_jump_info = #{record.linkJumpInfo,jdbcType=VARCHAR}, - `checked` = #{record.checked,jdbcType=BIT} + `checked` = #{record.checked,jdbcType=BIT}, + copy_from = #{record.copyFrom,jdbcType=VARCHAR}, + copy_id = #{record.copyId,jdbcType=VARCHAR} @@ -197,6 +221,12 @@ `checked` = #{checked,jdbcType=BIT}, + + copy_from = #{copyFrom,jdbcType=VARCHAR}, + + + copy_id = #{copyId,jdbcType=VARCHAR}, + where id = #{id,jdbcType=VARCHAR} @@ -205,7 +235,9 @@ set source_panel_id = #{sourcePanelId,jdbcType=VARCHAR}, source_view_id = #{sourceViewId,jdbcType=VARCHAR}, link_jump_info = #{linkJumpInfo,jdbcType=VARCHAR}, - `checked` = #{checked,jdbcType=BIT} + `checked` = #{checked,jdbcType=BIT}, + copy_from = #{copyFrom,jdbcType=VARCHAR}, + copy_id = #{copyId,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR} \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpTargetViewInfoMapper.xml b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpTargetViewInfoMapper.xml index 76270c5357..82a6b2d55a 100644 --- a/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpTargetViewInfoMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpTargetViewInfoMapper.xml @@ -6,6 +6,8 @@ + + @@ -66,7 +68,7 @@ - target_id, link_jump_info_id, target_view_id, target_field_id + target_id, link_jump_info_id, target_view_id, target_field_id, copy_from, copy_id @@ -156,6 +172,12 @@ target_field_id = #{record.targetFieldId,jdbcType=VARCHAR}, + + copy_from = #{record.copyFrom,jdbcType=VARCHAR}, + + + copy_id = #{record.copyId,jdbcType=VARCHAR}, + @@ -166,7 +188,9 @@ set target_id = #{record.targetId,jdbcType=VARCHAR}, link_jump_info_id = #{record.linkJumpInfoId,jdbcType=VARCHAR}, target_view_id = #{record.targetViewId,jdbcType=VARCHAR}, - target_field_id = #{record.targetFieldId,jdbcType=VARCHAR} + target_field_id = #{record.targetFieldId,jdbcType=VARCHAR}, + copy_from = #{record.copyFrom,jdbcType=VARCHAR}, + copy_id = #{record.copyId,jdbcType=VARCHAR} @@ -183,6 +207,12 @@ target_field_id = #{targetFieldId,jdbcType=VARCHAR}, + + copy_from = #{copyFrom,jdbcType=VARCHAR}, + + + copy_id = #{copyId,jdbcType=VARCHAR}, + where target_id = #{targetId,jdbcType=VARCHAR} @@ -190,7 +220,9 @@ update panel_link_jump_target_view_info set link_jump_info_id = #{linkJumpInfoId,jdbcType=VARCHAR}, target_view_id = #{targetViewId,jdbcType=VARCHAR}, - target_field_id = #{targetFieldId,jdbcType=VARCHAR} + target_field_id = #{targetFieldId,jdbcType=VARCHAR}, + copy_from = #{copyFrom,jdbcType=VARCHAR}, + copy_id = #{copyId,jdbcType=VARCHAR} where target_id = #{targetId,jdbcType=VARCHAR} \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelViewLinkageFieldMapper.xml b/backend/src/main/java/io/dataease/base/mapper/PanelViewLinkageFieldMapper.xml index eddb4c83f9..d6929ba807 100644 --- a/backend/src/main/java/io/dataease/base/mapper/PanelViewLinkageFieldMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/PanelViewLinkageFieldMapper.xml @@ -7,6 +7,8 @@ + + @@ -67,7 +69,7 @@ - id, linkage_id, source_field, target_field, update_time + id, linkage_id, source_field, target_field, update_time, copy_from, copy_id @@ -166,6 +182,12 @@ update_time = #{record.updateTime,jdbcType=BIGINT}, + + copy_from = #{record.copyFrom,jdbcType=VARCHAR}, + + + copy_id = #{record.copyId,jdbcType=VARCHAR}, + @@ -177,7 +199,9 @@ linkage_id = #{record.linkageId,jdbcType=VARCHAR}, source_field = #{record.sourceField,jdbcType=VARCHAR}, target_field = #{record.targetField,jdbcType=VARCHAR}, - update_time = #{record.updateTime,jdbcType=BIGINT} + update_time = #{record.updateTime,jdbcType=BIGINT}, + copy_from = #{record.copyFrom,jdbcType=VARCHAR}, + copy_id = #{record.copyId,jdbcType=VARCHAR} @@ -197,6 +221,12 @@ update_time = #{updateTime,jdbcType=BIGINT}, + + copy_from = #{copyFrom,jdbcType=VARCHAR}, + + + copy_id = #{copyId,jdbcType=VARCHAR}, + where id = #{id,jdbcType=VARCHAR} @@ -205,7 +235,9 @@ set linkage_id = #{linkageId,jdbcType=VARCHAR}, source_field = #{sourceField,jdbcType=VARCHAR}, target_field = #{targetField,jdbcType=VARCHAR}, - update_time = #{updateTime,jdbcType=BIGINT} + update_time = #{updateTime,jdbcType=BIGINT}, + copy_from = #{copyFrom,jdbcType=VARCHAR}, + copy_id = #{copyId,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR} \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelViewLinkageMapper.xml b/backend/src/main/java/io/dataease/base/mapper/PanelViewLinkageMapper.xml index ee6595bb67..7d500f4950 100644 --- a/backend/src/main/java/io/dataease/base/mapper/PanelViewLinkageMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/PanelViewLinkageMapper.xml @@ -10,6 +10,8 @@ + + @@ -70,7 +72,8 @@ - id, panel_id, source_view_id, target_view_id, update_time, update_people, ext1, ext2 + id, panel_id, source_view_id, target_view_id, update_time, update_people, ext1, ext2, + copy_from, copy_id @@ -198,6 +215,12 @@ ext2 = #{record.ext2,jdbcType=VARCHAR}, + + copy_from = #{record.copyFrom,jdbcType=VARCHAR}, + + + copy_id = #{record.copyId,jdbcType=VARCHAR}, + @@ -212,7 +235,9 @@ update_time = #{record.updateTime,jdbcType=BIGINT}, update_people = #{record.updatePeople,jdbcType=VARCHAR}, ext1 = #{record.ext1,jdbcType=VARCHAR}, - ext2 = #{record.ext2,jdbcType=VARCHAR} + ext2 = #{record.ext2,jdbcType=VARCHAR}, + copy_from = #{record.copyFrom,jdbcType=VARCHAR}, + copy_id = #{record.copyId,jdbcType=VARCHAR} @@ -241,6 +266,12 @@ ext2 = #{ext2,jdbcType=VARCHAR}, + + copy_from = #{copyFrom,jdbcType=VARCHAR}, + + + copy_id = #{copyId,jdbcType=VARCHAR}, + where id = #{id,jdbcType=VARCHAR} @@ -252,7 +283,9 @@ update_time = #{updateTime,jdbcType=BIGINT}, update_people = #{updatePeople,jdbcType=VARCHAR}, ext1 = #{ext1,jdbcType=VARCHAR}, - ext2 = #{ext2,jdbcType=VARCHAR} + ext2 = #{ext2,jdbcType=VARCHAR}, + copy_from = #{copyFrom,jdbcType=VARCHAR}, + copy_id = #{copyId,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR} \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelViewMapper.xml b/backend/src/main/java/io/dataease/base/mapper/PanelViewMapper.xml index 9e7209dfb9..fa2ef55907 100644 --- a/backend/src/main/java/io/dataease/base/mapper/PanelViewMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/PanelViewMapper.xml @@ -10,6 +10,10 @@ + + + + @@ -73,7 +77,8 @@ - id, panel_id, chart_view_id, create_by, create_time, update_by, update_time, `position` + id, panel_id, chart_view_id, create_by, create_time, update_by, update_time, `position`, + copy_from_panel, copy_from_view, copy_from, copy_id content @@ -129,12 +134,14 @@ insert into panel_view (id, panel_id, chart_view_id, create_by, create_time, update_by, - update_time, `position`, content - ) + update_time, `position`, copy_from_panel, + copy_from_view, copy_from, copy_id, + content) values (#{id,jdbcType=VARCHAR}, #{panelId,jdbcType=VARCHAR}, #{chartViewId,jdbcType=VARCHAR}, #{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, #{updateBy,jdbcType=VARCHAR}, - #{updateTime,jdbcType=BIGINT}, #{position,jdbcType=VARCHAR}, #{content,jdbcType=LONGVARBINARY} - ) + #{updateTime,jdbcType=BIGINT}, #{position,jdbcType=VARCHAR}, #{copyFromPanel,jdbcType=VARCHAR}, + #{copyFromView,jdbcType=VARCHAR}, #{copyFrom,jdbcType=VARCHAR}, #{copyId,jdbcType=VARCHAR}, + #{content,jdbcType=LONGVARBINARY}) insert into panel_view @@ -163,6 +170,18 @@ `position`, + + copy_from_panel, + + + copy_from_view, + + + copy_from, + + + copy_id, + content, @@ -192,6 +211,18 @@ #{position,jdbcType=VARCHAR}, + + #{copyFromPanel,jdbcType=VARCHAR}, + + + #{copyFromView,jdbcType=VARCHAR}, + + + #{copyFrom,jdbcType=VARCHAR}, + + + #{copyId,jdbcType=VARCHAR}, + #{content,jdbcType=LONGVARBINARY}, @@ -230,6 +261,18 @@ `position` = #{record.position,jdbcType=VARCHAR}, + + copy_from_panel = #{record.copyFromPanel,jdbcType=VARCHAR}, + + + copy_from_view = #{record.copyFromView,jdbcType=VARCHAR}, + + + copy_from = #{record.copyFrom,jdbcType=VARCHAR}, + + + copy_id = #{record.copyId,jdbcType=VARCHAR}, + content = #{record.content,jdbcType=LONGVARBINARY}, @@ -248,6 +291,10 @@ update_by = #{record.updateBy,jdbcType=VARCHAR}, update_time = #{record.updateTime,jdbcType=BIGINT}, `position` = #{record.position,jdbcType=VARCHAR}, + copy_from_panel = #{record.copyFromPanel,jdbcType=VARCHAR}, + copy_from_view = #{record.copyFromView,jdbcType=VARCHAR}, + copy_from = #{record.copyFrom,jdbcType=VARCHAR}, + copy_id = #{record.copyId,jdbcType=VARCHAR}, content = #{record.content,jdbcType=LONGVARBINARY} @@ -262,7 +309,11 @@ create_time = #{record.createTime,jdbcType=BIGINT}, update_by = #{record.updateBy,jdbcType=VARCHAR}, update_time = #{record.updateTime,jdbcType=BIGINT}, - `position` = #{record.position,jdbcType=VARCHAR} + `position` = #{record.position,jdbcType=VARCHAR}, + copy_from_panel = #{record.copyFromPanel,jdbcType=VARCHAR}, + copy_from_view = #{record.copyFromView,jdbcType=VARCHAR}, + copy_from = #{record.copyFrom,jdbcType=VARCHAR}, + copy_id = #{record.copyId,jdbcType=VARCHAR} @@ -291,6 +342,18 @@ `position` = #{position,jdbcType=VARCHAR}, + + copy_from_panel = #{copyFromPanel,jdbcType=VARCHAR}, + + + copy_from_view = #{copyFromView,jdbcType=VARCHAR}, + + + copy_from = #{copyFrom,jdbcType=VARCHAR}, + + + copy_id = #{copyId,jdbcType=VARCHAR}, + content = #{content,jdbcType=LONGVARBINARY}, @@ -306,6 +369,10 @@ update_by = #{updateBy,jdbcType=VARCHAR}, update_time = #{updateTime,jdbcType=BIGINT}, `position` = #{position,jdbcType=VARCHAR}, + copy_from_panel = #{copyFromPanel,jdbcType=VARCHAR}, + copy_from_view = #{copyFromView,jdbcType=VARCHAR}, + copy_from = #{copyFrom,jdbcType=VARCHAR}, + copy_id = #{copyId,jdbcType=VARCHAR}, content = #{content,jdbcType=LONGVARBINARY} where id = #{id,jdbcType=VARCHAR} @@ -317,7 +384,11 @@ create_time = #{createTime,jdbcType=BIGINT}, update_by = #{updateBy,jdbcType=VARCHAR}, update_time = #{updateTime,jdbcType=BIGINT}, - `position` = #{position,jdbcType=VARCHAR} + `position` = #{position,jdbcType=VARCHAR}, + copy_from_panel = #{copyFromPanel,jdbcType=VARCHAR}, + copy_from_view = #{copyFromView,jdbcType=VARCHAR}, + copy_from = #{copyFrom,jdbcType=VARCHAR}, + copy_id = #{copyId,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR} \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.java b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.java index e2f7104248..357f159a17 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.java +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.java @@ -24,4 +24,6 @@ public interface ExtChartViewMapper { int checkSameDataSet(@Param("viewIdSource") String viewIdSource,@Param("viewIdTarget") String viewIdTarget); ChartViewDTO searchOneWithPrivileges(@Param("userId") String userId,@Param("id") String id ); + + void chartCopyWithPanel(@Param("copyId") String copyId); } diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml index adfa90eb8b..836ce186be 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml @@ -159,4 +159,73 @@ + + + INSERT INTO chart_view ( + id, + `name`, + title, + scene_id, + table_id, + `type`, + render, + result_count, + result_mode, + create_by, + create_time, + update_time, + style_priority, + chart_type, + is_plugin, + x_axis, + x_axis_ext, + y_axis, + y_axis_ext, + ext_stack, + ext_bubble, + custom_attr, + custom_style, + custom_filter, + drill_fields, + SNAPSHOT + ) SELECT + pv_copy.chart_view_id AS id, + `name`, + title, + pv_copy.panel_id AS scene_id, + table_id, + `type`, + render, + result_count, + result_mode, + create_by, + create_time, + update_time, + style_priority, + chart_type, + is_plugin, + x_axis, + x_axis_ext, + y_axis, + y_axis_ext, + ext_stack, + ext_bubble, + custom_attr, + custom_style, + custom_filter, + drill_fields, + SNAPSHOT + FROM + ( + SELECT + panel_id, + copy_from_view, + chart_view_id + FROM + panel_view + WHERE + copy_id = #{copyId} + ) pv_copy + LEFT JOIN chart_view ON chart_view.id = pv_copy.copy_from_view + diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.java b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.java index 5c3f5a05c6..b1b4c099d9 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.java +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.java @@ -24,4 +24,10 @@ public interface ExtPanelLinkJumpMapper { void deleteJumpWithPanel(@Param("panelId") String panelId); List getTargetPanelJumpInfo(@Param("request")PanelLinkJumpBaseRequest request); + + void copyLinkJump(@Param("copyId")String copyId); + + void copyLinkJumpInfo(@Param("copyId")String copyId); + + void copyLinkJumpTarget(@Param("copyId")String copyId); } diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.xml index 28c55e4479..66daeec193 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.xml @@ -163,4 +163,93 @@ AND lji.target_panel_id = #{request.targetPanelId} AND lji.source_field_id = #{request.sourceFieldId} + + + insert into panel_link_jump (id, source_panel_id, source_view_id, link_jump_info, `checked`, copy_from, copy_id) + select + UUID() as id, + panel_view_copy.t_panel_id as source_panel_id, + panel_view_copy.t_chart_view_id as source_view_id, + panel_link_jump.link_jump_info, + panel_link_jump.checked, + panel_link_jump.id as copy_from, + #{copyId} as copy_id + from panel_link_jump left join + (SELECT + pvs.panel_id as s_panel_id, + pvs.chart_view_id as s_chart_view_id, + pvt.panel_id as t_panel_id, + pvt.chart_view_id as t_chart_view_id + FROM + panel_view pvt + LEFT JOIN panel_view pvs ON pvt.copy_from = pvs.id + WHERE + pvt.copy_id = #{copyId}) panel_view_copy on panel_link_jump.source_panel_id = panel_view_copy.s_panel_id + and panel_link_jump.source_view_id = panel_view_copy.s_chart_view_id + + + + INSERT INTO panel_link_jump_info ( + id, + link_jump_id, + link_type, + jump_type, + target_panel_id, + source_field_id, + content, + `checked`, + copy_from, + copy_id + ) SELECT + uuid() AS id, + plj_copy.t_id, + link_type, + jump_type, + target_panel_id, + source_field_id, + content, + `checked`, + id AS copy_from, + #{copyId} + FROM + panel_link_jump_info + LEFT JOIN ( + SELECT + id AS t_id, + copy_from AS s_id + FROM + panel_link_jump + WHERE + copy_id = #{copyId} + ) plj_copy ON panel_link_jump_info.link_jump_id = plj_copy.s_id + + + + INSERT INTO panel_link_jump_target_view_info ( + target_id, + link_jump_info_id, + target_view_id, + target_field_id, + copy_from, + copy_id + ) SELECT + uuid() AS id, + plji_copy.t_id AS link_jump_info_id, + target_view_id, + target_field_id, + copy_from, + #{copyId} AS copy_id + FROM + panel_link_jump_target_view_info + LEFT JOIN ( + SELECT + id AS t_id, + copy_from AS s_id + FROM + panel_link_jump_info + WHERE + copy_id = #{copyId} + ) plji_copy ON panel_link_jump_target_view_info.link_jump_info_id = plji_copy.s_id + + diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewLinkageMapper.java b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewLinkageMapper.java index 9982538fda..b055f8e416 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewLinkageMapper.java +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewLinkageMapper.java @@ -22,4 +22,7 @@ public interface ExtPanelViewLinkageMapper { void deleteViewLinkageField(@Param("panelId") String panelId,@Param("sourceViewId") String sourceViewId); + void copyViewLinkage(@Param("copyId") String copyId); + + void copyViewLinkageField(@Param("copyId") String copyId); } diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewLinkageMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewLinkageMapper.xml index d53d29140a..509d0ee55e 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewLinkageMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewLinkageMapper.xml @@ -110,4 +110,89 @@ WHERE panel_view_linkage.panel_id = #{panelId} + + + INSERT INTO panel_view_linkage ( + id, + panel_id, + source_view_id, + target_view_id, + update_time, + update_people, + ext1, + ext2, + copy_from, + copy_id + ) SELECT + UUID() AS id, + pv_source_copy.t_panel_id AS panel_id, + pv_source_copy.t_chart_view_id AS source_view_id, + pv_target_copy.t_chart_view_id target_view_id, + update_time, + update_people, + ext1, + ext2, + id as copy_from, + #{copyId} as copy_id + FROM + panel_view_linkage + INNER JOIN ( + SELECT + pvs.panel_id AS s_panel_id, + pvs.chart_view_id AS s_chart_view_id, + pvt.panel_id AS t_panel_id, + pvt.chart_view_id AS t_chart_view_id + FROM + panel_view pvt + LEFT JOIN panel_view pvs ON pvt.copy_from = pvs.id + WHERE + pvt.copy_id = #{copyId} + ) pv_source_copy ON panel_view_linkage.panel_id = pv_source_copy.s_panel_id + AND panel_view_linkage.source_view_id = pv_source_copy.s_chart_view_id + INNER JOIN ( + SELECT + pvs.panel_id AS s_panel_id, + pvs.chart_view_id AS s_chart_view_id, + pvt.panel_id AS t_panel_id, + pvt.chart_view_id AS t_chart_view_id + FROM + panel_view pvt + LEFT JOIN panel_view pvs ON pvt.copy_from = pvs.id + WHERE + pvt.copy_id = #{copyId} + ) pv_target_copy ON panel_view_linkage.panel_id = pv_target_copy.s_panel_id + AND panel_view_linkage.target_view_id = pv_target_copy.s_chart_view_id + + + + + INSERT INTO panel_view_linkage_field ( + id, + linkage_id, + source_field, + target_field, + update_time, + copy_from, + copy_id + ) SELECT + uuid() AS id, + pvlf_copy.t_id, + source_field, + target_field, + update_time, + id AS copy_from, + #{copyId} AS copy_id + FROM + panel_view_linkage_field + INNER JOIN ( + SELECT + id AS t_id, + copy_from AS s_id + FROM + panel_view_linkage + WHERE + copy_id = #{copyId} + ) pvlf_copy ON panel_view_linkage_field.linkage_id = pvlf_copy.s_id + + diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.java b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.java index 72c6169423..1988d5d128 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.java +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.java @@ -19,4 +19,6 @@ public interface ExtPanelViewMapper { void deleteWithPanelId(String panelId); void savePanelView(@Param("panelViews") List panelViews); + + void copyFromPanel(@Param("newPanelId") String newPanelId,@Param("sourcePanelId") String sourcePanelId,@Param("copyId") String copyId); } diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.xml index 800b23bc7a..00c0fb301c 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.xml @@ -77,6 +77,37 @@ + + INSERT INTO panel_view (id, + panel_id, + chart_view_id, + create_by, + create_time, + update_by, + update_time, + `position`, + copy_from_panel, + copy_from_view, + copy_from, + copy_id) + SELECT + uuid() AS id, + #{newPanelId}, + uuid() AS chart_view_id, + create_by, + create_time, + update_by, + update_time, + `position`, + panel_id as copy_from_panel, + chart_view_id as copy_from_view, + id AS copy_from, + #{copyId} as copyId + FROM + panel_view + WHERE + panel_id = #{sourcePanelId} + diff --git a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java index e059975190..1a5df80425 100644 --- a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java +++ b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java @@ -15,6 +15,7 @@ import io.dataease.service.panel.PanelGroupService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.Logical; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; diff --git a/backend/src/main/java/io/dataease/dto/panel/linkJump/PanelLinkJumpBaseRequest.java b/backend/src/main/java/io/dataease/dto/panel/linkJump/PanelLinkJumpBaseRequest.java index 1c5b58efbc..4979451f53 100644 --- a/backend/src/main/java/io/dataease/dto/panel/linkJump/PanelLinkJumpBaseRequest.java +++ b/backend/src/main/java/io/dataease/dto/panel/linkJump/PanelLinkJumpBaseRequest.java @@ -18,4 +18,19 @@ public class PanelLinkJumpBaseRequest { private String targetPanelId; + private String targetViewId; + + private String linkJumpId; + + public PanelLinkJumpBaseRequest() { + } + + public PanelLinkJumpBaseRequest(String sourcePanelId, String sourceViewId, String targetPanelId, String targetViewId, String linkJumpId) { + this.sourcePanelId = sourcePanelId; + this.sourceViewId = sourceViewId; + this.targetPanelId = targetPanelId; + this.targetViewId = targetViewId; + this.linkJumpId = linkJumpId; + } } + diff --git a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java index bba789b07a..9ca4e432fc 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -4,10 +4,9 @@ import io.dataease.auth.annotation.DeCleaner; import io.dataease.base.domain.*; import io.dataease.base.mapper.ChartViewMapper; import io.dataease.base.mapper.PanelGroupMapper; +import io.dataease.base.mapper.PanelViewMapper; import io.dataease.base.mapper.VAuthModelMapper; -import io.dataease.base.mapper.ext.ExtPanelGroupMapper; -import io.dataease.base.mapper.ext.ExtPanelLinkJumpMapper; -import io.dataease.base.mapper.ext.ExtVAuthModelMapper; +import io.dataease.base.mapper.ext.*; import io.dataease.commons.constants.DePermissionType; import io.dataease.commons.constants.PanelConstants; import io.dataease.commons.utils.AuthUtils; @@ -17,12 +16,14 @@ import io.dataease.controller.request.panel.PanelGroupRequest; import io.dataease.dto.authModel.VAuthModelDTO; import io.dataease.dto.chart.ChartViewDTO; import io.dataease.dto.panel.PanelGroupDTO; +import io.dataease.dto.panel.linkJump.PanelLinkJumpBaseRequest; import io.dataease.exception.DataEaseException; import io.dataease.i18n.Translator; import io.dataease.service.chart.ChartViewService; import io.dataease.service.sys.SysAuthService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.pentaho.di.core.util.UUIDUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -70,6 +71,14 @@ public class PanelGroupService { private ExtVAuthModelMapper extVAuthModelMapper; @Resource private VAuthModelMapper vAuthModelMapper; + @Resource + private PanelViewMapper panelViewMapper; + @Resource + private ExtPanelViewMapper extPanelViewMapper; + @Resource + private ExtPanelViewLinkageMapper extPanelViewLinkageMapper; + @Resource + private ExtChartViewMapper extChartViewMapper; public List tree(PanelGroupRequest panelGroupRequest) { String userId = String.valueOf(AuthUtils.getUser().getUserId()); @@ -86,7 +95,7 @@ public class PanelGroupService { } @DeCleaner(DePermissionType.PANEL) - @Transactional +// @Transactional public PanelGroup saveOrUpdate(PanelGroupRequest request) { try { Boolean mobileLayout = panelViewService.syncPanelViews(request); @@ -119,20 +128,8 @@ public class PanelGroupService { checkPanelName(newDefaultPanel.getName(), newDefaultPanel.getPid(), PanelConstants.OPT_TYPE_INSERT, newDefaultPanel.getId(),newDefaultPanel.getNodeType()); panelGroupMapper.insertSelective(newDefaultPanel); } else if ("copy".equals(request.getOptType())) { - panelId = UUID.randomUUID().toString(); - // 复制模板 - PanelGroupWithBLOBs newPanel = panelGroupMapper.selectByPrimaryKey(request.getId()); - // 插入校验 - if (StringUtils.isNotEmpty(request.getName())) { - checkPanelName(request.getName(), newPanel.getPid(), PanelConstants.OPT_TYPE_INSERT, request.getId(),newPanel.getNodeType()); - } - newPanel.setName(request.getName()); - newPanel.setId(panelId); - newPanel.setCreateBy(AuthUtils.getUser().getUsername()); - panelGroupMapper.insertSelective(newPanel); - try { - panelViewService.syncPanelViews(newPanel); + this.panelGroupCopy(request); } catch (Exception e) { e.printStackTrace(); LOGGER.error("更新panelView出错panelId:{}", request.getId()); @@ -251,8 +248,45 @@ public class PanelGroupService { result.addAll(TreeUtils.mergeTree(viewOriginal,"public_chart")); } } - return result; } + public String panelGroupCopy(PanelGroupRequest request){ + String sourcePanelId = request.getId(); //源仪表板ID + String newPanelId = UUIDUtil.getUUIDAsString(); //目标仪表板ID + String copyId = UUIDUtil.getUUIDAsString(); // 本次复制执行ID + // 复制仪表板 + PanelGroupWithBLOBs newPanel = panelGroupMapper.selectByPrimaryKey(sourcePanelId); + if (StringUtils.isNotEmpty(request.getName())) { + // 插入校验 + checkPanelName(request.getName(), newPanel.getPid(), PanelConstants.OPT_TYPE_INSERT, request.getId(),newPanel.getNodeType()); + } + newPanel.setName(request.getName()); + newPanel.setId(newPanelId); + newPanel.setCreateBy(AuthUtils.getUser().getUsername()); + //TODO copy panelView + extPanelViewMapper.copyFromPanel(newPanelId,sourcePanelId,copyId); + //TODO 复制视图 chart_view + extChartViewMapper.chartCopyWithPanel(copyId); + //TODO 替换panel_data viewId 数据 + List panelViewList = panelViewService.findPanelViews(newPanelId); + if(CollectionUtils.isNotEmpty(panelViewList)){ + String panelData = newPanel.getPanelData(); + //TODO 替换panel_data viewId 数据 并保存 + for(PanelView panelView:panelViewList){ + panelData = panelData.replaceAll(panelView.getCopyFromView(),panelView.getChartViewId()); + } + newPanel.setPanelData(panelData); + panelGroupMapper.insertSelective(newPanel); + //TODO 复制跳转信息 copy panel_link_jump panel_link_jump_info panel_link_jump_target_view_info + extPanelLinkJumpMapper.copyLinkJump(copyId); + extPanelLinkJumpMapper.copyLinkJumpInfo(copyId); + extPanelLinkJumpMapper.copyLinkJumpTarget(copyId); + //TODO 复制联动信息 copy panel_view_linkage_field panel_view_linkage + extPanelViewLinkageMapper.copyViewLinkage(copyId); + extPanelViewLinkageMapper.copyViewLinkageField(copyId); + } + return newPanelId; + } + } diff --git a/backend/src/main/java/io/dataease/service/panel/PanelViewService.java b/backend/src/main/java/io/dataease/service/panel/PanelViewService.java index 1a9b052279..5fb48dfcb9 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelViewService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelViewService.java @@ -4,6 +4,9 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import io.dataease.base.domain.PanelGroupWithBLOBs; +import io.dataease.base.domain.PanelView; +import io.dataease.base.domain.PanelViewExample; +import io.dataease.base.mapper.PanelViewMapper; import io.dataease.base.mapper.ext.ExtPanelViewMapper; import io.dataease.commons.utils.AuthUtils; import io.dataease.commons.utils.BeanUtils; @@ -20,6 +23,7 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -32,6 +36,9 @@ public class PanelViewService { @Autowired(required = false) private ExtPanelViewMapper extPanelViewMapper; + @Resource + private PanelViewMapper panelViewMapper; + private final static String SCENE_TYPE = "scene"; public List groups() { @@ -116,4 +123,10 @@ public class PanelViewService { public List detailList(String panelId) { return extPanelViewMapper.getPanelViewDetails(panelId); } + + public List findPanelViews(String panelId){ + PanelViewExample panelViewExample = new PanelViewExample(); + panelViewExample.createCriteria().andPanelIdEqualTo(panelId); + return panelViewMapper.selectByExample(panelViewExample); + } } diff --git a/backend/src/main/resources/db/migration/V32__1.8.sql b/backend/src/main/resources/db/migration/V32__1.8.sql index 13335f6742..2579aa97f2 100644 --- a/backend/src/main/resources/db/migration/V32__1.8.sql +++ b/backend/src/main/resources/db/migration/V32__1.8.sql @@ -353,3 +353,29 @@ SET FOREIGN_KEY_CHECKS = 1; ALTER TABLE `panel_view` ADD COLUMN `position` varchar(255) NULL DEFAULT 'panel' COMMENT '视图位置 panel 仪表板中,tab Tab页中' AFTER `update_time`; + +ALTER TABLE `panel_view` +ADD COLUMN `copy_from_panel` varchar(255) NULL AFTER `position`, +ADD COLUMN `copy_from_view` varchar(255) NULL AFTER `copy_from_panel`, +ADD COLUMN `copy_from` varchar(255) NOT NULL COMMENT '如果有复制 最近一次的复制来源id' AFTER `copy_from_view`, +ADD COLUMN `copy_id` varchar(255) NULL COMMENT '本次复制的执行ID' AFTER `copy_from`; + +ALTER TABLE `panel_view_linkage` +ADD COLUMN `copy_from` varchar(255) NULL AFTER `ext2`, +ADD COLUMN `copy_id` varchar(0) NULL AFTER `copy_from`; + +ALTER TABLE `panel_view_linkage_field` +ADD COLUMN `copy_from` varchar(255) NULL AFTER `update_time`, +ADD COLUMN `copy_id` varchar(255) NULL AFTER `copy_from`; + +ALTER TABLE `panel_link_jump` +ADD COLUMN `copy_from` varchar(255) NULL AFTER `checked`, +ADD COLUMN `copy_id` varchar(255) NULL AFTER `copy_from`; + +ALTER TABLE `panel_link_jump_info` +ADD COLUMN `copy_from` varchar(255) NULL AFTER `checked`, +ADD COLUMN `copy_id` varchar(255) NULL AFTER `copy_from`; + +ALTER TABLE `panel_link_jump_target_view_info` +ADD COLUMN `copy_from` varchar(255) NULL AFTER `target_field_id`, +ADD COLUMN `copy_id` varchar(255) NULL AFTER `copy_from`; diff --git a/backend/src/main/resources/generatorConfig.xml b/backend/src/main/resources/generatorConfig.xml index a22bc71ba1..0335e27acf 100644 --- a/backend/src/main/resources/generatorConfig.xml +++ b/backend/src/main/resources/generatorConfig.xml @@ -60,6 +60,12 @@ +
+
+
+
+
+