From 945f7008a1fdb58f8dc851b5aeab7e612f95034e Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Tue, 15 Mar 2022 18:00:19 +0800
Subject: [PATCH 1/7] =?UTF-8?q?feat:=20=E4=BB=8E=E6=A8=A1=E6=9D=BF?=
=?UTF-8?q?=E6=96=B0=E5=BB=BA=E7=9A=84=E4=BB=AA=E8=A1=A8=E6=9D=BF=E6=94=AF?=
=?UTF-8?q?=E6=8C=81=E6=9F=A5=E7=9C=8B=E6=A8=A1=E6=9D=BF=E7=BC=93=E5=AD=98?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../base/mapper/ext/ExtPanelViewMapper.xml | 6 +--
.../commons/constants/CommonConstants.java | 11 +++++
.../io/dataease/dto/chart/ChartViewDTO.java | 2 +
.../service/chart/ChartViewService.java | 37 +++++++++++++---
.../panel/PanelGroupExtendDataService.java | 42 +++++++++++++++++++
.../service/panel/PanelViewService.java | 25 ++++++++++-
frontend/src/views/chart/view/ChartEdit.vue | 1 +
7 files changed, 112 insertions(+), 12 deletions(-)
create mode 100644 backend/src/main/java/io/dataease/service/panel/PanelGroupExtendDataService.java
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 1772e2b8e3..f069ba5423 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
@@ -71,9 +71,9 @@
- INSERT INTO `panel_view` (id,chart_view_id, panel_id) VALUES
+ INSERT INTO `panel_view` (id,chart_view_id, panel_id,data_from) VALUES
- (uuid(),#{panelView.chartViewId},#{panelView.panelId})
+ (uuid(),#{panelView.chartViewId},#{panelView.panelId},#{panelView.dataFrom})
@@ -110,6 +110,4 @@
and chart_view.id is not null
-
-
diff --git a/backend/src/main/java/io/dataease/commons/constants/CommonConstants.java b/backend/src/main/java/io/dataease/commons/constants/CommonConstants.java
index 88c87e6db5..a0ec952d86 100644
--- a/backend/src/main/java/io/dataease/commons/constants/CommonConstants.java
+++ b/backend/src/main/java/io/dataease/commons/constants/CommonConstants.java
@@ -69,4 +69,15 @@ public class CommonConstants {
public static final String CACHE = "cache";
}
+
+ //视图数据读取来源
+ public static final class VIEW_DATA_FROM {
+
+ // 模板数据
+ public static final String TEMPLATE = "template";
+
+ // 视图数据
+ public static final String CHART = "chart";
+
+ }
}
diff --git a/backend/src/main/java/io/dataease/dto/chart/ChartViewDTO.java b/backend/src/main/java/io/dataease/dto/chart/ChartViewDTO.java
index baf32b4497..b2b87efef1 100644
--- a/backend/src/main/java/io/dataease/dto/chart/ChartViewDTO.java
+++ b/backend/src/main/java/io/dataease/dto/chart/ChartViewDTO.java
@@ -30,4 +30,6 @@ public class ChartViewDTO extends ChartViewWithBLOBs {
private boolean drill;
@ApiModelProperty("下钻条件集合")
private List drillFilters;
+ @ApiModelProperty("当前数据来源")
+ private String dataFrom;
}
diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
index 69778f5f6e..a776aaff94 100644
--- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
+++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
@@ -7,6 +7,7 @@ import io.dataease.auth.service.AuthUserService;
import io.dataease.base.domain.*;
import io.dataease.base.mapper.ChartViewCacheMapper;
import io.dataease.base.mapper.ChartViewMapper;
+import io.dataease.base.mapper.PanelViewMapper;
import io.dataease.base.mapper.ext.ExtChartGroupMapper;
import io.dataease.base.mapper.ext.ExtChartViewMapper;
import io.dataease.commons.constants.ColumnPermissionConstants;
@@ -23,6 +24,7 @@ import io.dataease.dto.chart.*;
import io.dataease.dto.dataset.DataSetTableDTO;
import io.dataease.dto.dataset.DataSetTableUnionDTO;
import io.dataease.dto.dataset.DataTableInfoDTO;
+import io.dataease.exception.DataEaseException;
import io.dataease.i18n.Translator;
import io.dataease.listener.util.CacheUtils;
import io.dataease.provider.ProviderFactory;
@@ -34,6 +36,8 @@ import io.dataease.service.dataset.DataSetTableUnionService;
import io.dataease.service.dataset.PermissionService;
import io.dataease.service.datasource.DatasourceService;
import io.dataease.service.engine.EngineService;
+import io.dataease.service.panel.PanelGroupExtendDataService;
+import io.dataease.service.panel.PanelViewService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
@@ -76,6 +80,12 @@ public class ChartViewService {
private EngineService engineService;
@Resource
private ChartViewCacheMapper chartViewCacheMapper;
+ @Resource
+ private PanelViewService panelViewService;
+ @Resource
+ private PanelGroupExtendDataService extendDataService;
+
+
//默认使用非公平
private ReentrantLock lock = new ReentrantLock();
@@ -249,13 +259,28 @@ public class ChartViewService {
}
public ChartViewDTO getData(String id, ChartExtRequest request) throws Exception {
- ChartViewDTO view = this.getOne(id,request.getQueryFrom());
- // 如果是从仪表板获取视图数据,则仪表板的查询模式,查询结果的数量,覆盖视图对应的属性
- if (CommonConstants.VIEW_QUERY_FROM.PANEL.equals(request.getQueryFrom()) && CommonConstants.VIEW_RESULT_MODE.CUSTOM.equals(request.getResultMode())) {
- view.setResultMode(request.getResultMode());
- view.setResultCount(request.getResultCount());
+ try{
+ String dataFrom = panelViewService.findViewDataFrom(id);
+
+ if(CommonConstants.VIEW_DATA_FROM.TEMPLATE.equals(dataFrom)){
+ return extendDataService.getChartInfo(id);
+ }else{// 从视图读取数据
+
+ ChartViewDTO view = this.getOne(id,request.getQueryFrom());
+ view.setDataFrom(dataFrom);
+ // 如果是从仪表板获取视图数据,则仪表板的查询模式,查询结果的数量,覆盖视图对应的属性
+ if (CommonConstants.VIEW_QUERY_FROM.PANEL.equals(request.getQueryFrom()) && CommonConstants.VIEW_RESULT_MODE.CUSTOM.equals(request.getResultMode())) {
+ view.setResultMode(request.getResultMode());
+ view.setResultCount(request.getResultCount());
+ }
+ return calcData(view, request, request.isCache());
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ DataEaseException.throwException(e);
}
- return calcData(view, request, request.isCache());
+ return null;
+
}
// private void checkPermissions(List extends ChartViewFieldBaseDTO> chartViewFieldDTOS, List fields, List desensitizationList, Boolean alowDesensitization) throws Exception {
diff --git a/backend/src/main/java/io/dataease/service/panel/PanelGroupExtendDataService.java b/backend/src/main/java/io/dataease/service/panel/PanelGroupExtendDataService.java
new file mode 100644
index 0000000000..ef7df79585
--- /dev/null
+++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupExtendDataService.java
@@ -0,0 +1,42 @@
+package io.dataease.service.panel;
+
+import com.alibaba.fastjson.JSONObject;
+import io.dataease.base.domain.PanelGroupExtendData;
+import io.dataease.base.domain.PanelGroupExtendDataExample;
+import io.dataease.base.mapper.PanelGroupExtendDataMapper;
+import io.dataease.commons.constants.CommonConstants;
+import io.dataease.dto.chart.ChartViewDTO;
+import io.dataease.exception.DataEaseException;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * Author: wangjiahao
+ * Date: 2022/3/15
+ * Description:
+ */
+@Service
+public class PanelGroupExtendDataService {
+
+ @Resource
+ private PanelGroupExtendDataMapper panelGroupExtendDataMapper;
+
+ public ChartViewDTO getChartInfo(String viewId){
+ PanelGroupExtendDataExample extendDataExample = new PanelGroupExtendDataExample();
+ extendDataExample.createCriteria().andViewIdEqualTo(viewId);
+ List extendDataList = panelGroupExtendDataMapper.selectByExampleWithBLOBs(extendDataExample);
+ if(CollectionUtils.isNotEmpty(extendDataList)){
+ ChartViewDTO chartView = JSONObject.parseObject(extendDataList.get(0).getViewDetails(),ChartViewDTO.class);
+ chartView.setDataFrom(CommonConstants.VIEW_DATA_FROM.TEMPLATE);
+ return chartView;
+ }else{
+ DataEaseException.throwException("模板缓存数据中未获取指定视图数据:"+viewId);
+ }
+ return null;
+ }
+
+
+}
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 e18bc677af..73a90ef673 100644
--- a/backend/src/main/java/io/dataease/service/panel/PanelViewService.java
+++ b/backend/src/main/java/io/dataease/service/panel/PanelViewService.java
@@ -10,6 +10,7 @@ import io.dataease.base.mapper.PanelViewMapper;
import io.dataease.base.mapper.ext.ExtChartViewMapper;
import io.dataease.base.mapper.ext.ExtPanelGroupMapper;
import io.dataease.base.mapper.ext.ExtPanelViewMapper;
+import io.dataease.commons.constants.CommonConstants;
import io.dataease.commons.utils.AuthUtils;
import io.dataease.commons.utils.BeanUtils;
import io.dataease.dto.panel.PanelViewDto;
@@ -130,8 +131,6 @@ public class PanelViewService {
}
}
panelGroup.setMobileLayout(mobileLayout);
- //移除没有用到的仪表板私有视图
- extPanelGroupMapper.removeUselessViews(panelId,viewIds);
return viewIds;
}
@@ -144,4 +143,26 @@ public class PanelViewService {
panelViewExample.createCriteria().andCopyIdEqualTo(copyId);
return panelViewMapper.selectByExample(panelViewExample);
}
+
+ public PanelView findByViewId(String viewId){
+ PanelViewExample panelViewExample = new PanelViewExample();
+ panelViewExample.createCriteria().andChartViewIdEqualTo(viewId);
+ List result = panelViewMapper.selectByExample(panelViewExample);
+ if(CollectionUtils.isNotEmpty(result)){
+ return result.get(0);
+ }else{
+ return null;
+ }
+ }
+
+ public String findViewDataFrom(String viewId){
+ PanelViewExample panelViewExample = new PanelViewExample();
+ panelViewExample.createCriteria().andChartViewIdEqualTo(viewId);
+ List result = panelViewMapper.selectByExample(panelViewExample);
+ if(CollectionUtils.isNotEmpty(result)&& CommonConstants.VIEW_DATA_FROM.TEMPLATE.equals(result.get(0).getDataFrom())){
+ return "template";
+ }else{
+ return "chart";
+ }
+ }
}
diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue
index a853736e20..000ad09c5c 100644
--- a/frontend/src/views/chart/view/ChartEdit.vue
+++ b/frontend/src/views/chart/view/ChartEdit.vue
@@ -1327,6 +1327,7 @@ export default {
}
},
created() {
+ debugger
// this.get(this.$store.state.chart.viewId);
// this.initAreas()
},
From 2feb5138b3e7d810ff06c039b90bc1f3f5b26258 Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Tue, 15 Mar 2022 21:41:28 +0800
Subject: [PATCH 2/7] =?UTF-8?q?feat:=20=E4=BB=8E=E6=A8=A1=E6=9D=BF?=
=?UTF-8?q?=E6=96=B0=E5=BB=BA=E7=9A=84=E4=BB=AA=E8=A1=A8=E6=9D=BF=E6=94=AF?=
=?UTF-8?q?=E6=8C=81=E6=9F=A5=E7=9C=8B=E6=A8=A1=E6=9D=BF=E7=BC=93=E5=AD=98?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/chart/ChartViewController.java | 6 +++++-
.../service/chart/ChartViewService.java | 21 +++++++++++++++----
.../service/panel/PanelGroupService.java | 5 ++++-
frontend/src/views/chart/view/ChartEdit.vue | 3 ++-
4 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java
index f6c2edeeb2..4006daf02e 100644
--- a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java
+++ b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java
@@ -14,6 +14,7 @@ import io.dataease.controller.request.chart.ChartViewRequest;
import io.dataease.controller.response.ChartDetail;
import io.dataease.dto.chart.ChartViewDTO;
import io.dataease.service.chart.ChartViewService;
+import io.dataease.service.panel.PanelViewService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
@@ -33,6 +34,8 @@ import java.util.List;
public class ChartViewController {
@Resource
private ChartViewService chartViewService;
+ @Resource
+ private PanelViewService panelViewService;
@DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE)
@ApiOperation("保存")
@@ -73,7 +76,8 @@ public class ChartViewController {
@ApiOperation("详细信息")
@PostMapping("/get/{id}/{panelId}")
public ChartViewDTO get(@PathVariable String id, @PathVariable String panelId,@RequestBody ChartViewRequest viewRequest) {
- return chartViewService.getOne(id,viewRequest.getQueryFrom());
+ String dataFrom = panelViewService.findViewDataFrom(id);
+ return chartViewService.getOne(id,viewRequest.getQueryFrom(),dataFrom);
}
@ApiIgnore
diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
index 108fa07a17..59d7b3879a 100644
--- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
+++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
@@ -233,18 +233,32 @@ public class ChartViewService {
return extChartViewMapper.searchOneWithPrivileges(userId, id);
}
- @Transactional
+
public ChartViewDTO getOne(String id, String queryFrom) {
+ return getOne(id,queryFrom,CommonConstants.VIEW_DATA_FROM.CHART);
+ }
+
+
+ @Transactional
+ public ChartViewDTO getOne(String id, String queryFrom,String dataFrom) {
ChartViewDTO result;
- //仪表板编辑页面 从缓存表中取数据 缓存表中没有数据则进行插入
- if (CommonConstants.VIEW_QUERY_FROM.PANEL_EDIT.equals(queryFrom)) {
+ //从模板中去数据
+ if(CommonConstants.VIEW_DATA_FROM.TEMPLATE.equals(dataFrom)){
+ result = extendDataService.getChartInfo(id);
+ if(result!=null){
+ result.setData(null);
+ }
+ }else if (CommonConstants.VIEW_QUERY_FROM.PANEL_EDIT.equals(queryFrom)) {
+ //仪表板编辑页面 从缓存表中取数据 缓存表中没有数据则进行插入
result = extChartViewMapper.searchOneFromCache(id);
if (result == null) {
extChartViewMapper.copyToCache(id);
result = extChartViewMapper.searchOneFromCache(id);
}
+ result.setDataFrom(CommonConstants.VIEW_DATA_FROM.CHART);
} else {
result = extChartViewMapper.searchOne(id);
+ result.setDataFrom(CommonConstants.VIEW_DATA_FROM.CHART);
}
return result;
}
@@ -266,7 +280,6 @@ public class ChartViewService {
if(CommonConstants.VIEW_DATA_FROM.TEMPLATE.equals(dataFrom)){
return extendDataService.getChartInfo(id);
}else{// 从视图读取数据
-
ChartViewDTO view = this.getOne(id,request.getQueryFrom());
view.setDataFrom(dataFrom);
// 如果是从仪表板获取视图数据,则仪表板的查询模式,查询结果的数量,覆盖视图对应的属性
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 633747ee1e..14c7877afa 100644
--- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java
+++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java
@@ -1,6 +1,7 @@
package io.dataease.service.panel;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import io.dataease.auth.annotation.DeCleaner;
import io.dataease.base.domain.*;
import io.dataease.base.mapper.*;
@@ -323,10 +324,12 @@ public class PanelGroupService {
Map dynamicDataMap = JSON.parseObject(dynamicData,Map.class);
List panelViews = new ArrayList<>();
List viewsData = new ArrayList<>();
+ List chartViews = new ArrayList<>();
for(Map.Entry entry : dynamicDataMap.entrySet()){
String originViewId = entry.getKey();
String originViewData = entry.getValue();
- String position = JSON.parseObject(originViewData).getString("position");
+ JSONObject chartViewJson = JSON.parseObject(originViewData);
+ String position = chartViewJson.getString("position");
String newViewId = UUIDUtil.getUUIDAsString();
//TODO 数据处理 1.替换viewId 2.加入panelView 数据(数据来源为template) 3.加入模板view data数据
templateData = templateData.replaceAll(originViewId,newViewId);
diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue
index 5da8ba600b..c33d0b4abf 100644
--- a/frontend/src/views/chart/view/ChartEdit.vue
+++ b/frontend/src/views/chart/view/ChartEdit.vue
@@ -1788,7 +1788,7 @@ export default {
getChart(id, queryFrom = 'panel_edit') {
if (id) {
getChartDetails(id, this.panelInfo.id, { queryFrom: queryFrom }).then(response => {
- this.initTableData(response.data.tableId)
+ response.data.dataFrom !== 'template' && this.initTableData(response.data.tableId)
this.view = JSON.parse(JSON.stringify(response.data))
this.view.xaxis = this.view.xaxis ? JSON.parse(this.view.xaxis) : []
this.view.xaxisExt = this.view.xaxisExt ? JSON.parse(this.view.xaxisExt) : []
@@ -2150,6 +2150,7 @@ export default {
// this.save(true, 'chart', false)
this.calcData(true, 'chart', false)
this.initTableData(this.view.tableId)
+ this.closeChangeChart()
},
fieldFilter(val) {
From 2ca5f9bcecf3a3ade42ee46c51089c7f64e757b1 Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Tue, 15 Mar 2022 21:52:28 +0800
Subject: [PATCH 3/7] =?UTF-8?q?refactor:=20=E4=BB=AA=E8=A1=A8=E6=9D=BF?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E5=92=8C=E8=A7=86=E5=9B=BE=E9=80=89=E6=8B=A9?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E6=82=AC=E6=B5=AE=E5=8F=AF=E4=BB=A5=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA=E8=8A=82=E7=82=B9=E5=85=A8=E7=A7=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
frontend/src/views/panel/ViewSelect/index.vue | 2 +-
frontend/src/views/panel/list/PanelList.vue | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/frontend/src/views/panel/ViewSelect/index.vue b/frontend/src/views/panel/ViewSelect/index.vue
index feacb4068a..c28f3e2bc3 100644
--- a/frontend/src/views/panel/ViewSelect/index.vue
+++ b/frontend/src/views/panel/ViewSelect/index.vue
@@ -48,7 +48,7 @@
- {{ data.name }}
+ {{ data.name }}
diff --git a/frontend/src/views/panel/list/PanelList.vue b/frontend/src/views/panel/list/PanelList.vue
index 0f2b4138ea..a2be4a0bfc 100644
--- a/frontend/src/views/panel/list/PanelList.vue
+++ b/frontend/src/views/panel/list/PanelList.vue
@@ -41,7 +41,7 @@
- {{ data.name }}
+ {{ data.name }}
@@ -95,7 +95,7 @@
- {{ data.name }}
+ {{ data.name }}
From ca6ad712c1d7823232f67d0989d5dce3884ac91e Mon Sep 17 00:00:00 2001
From: junjun
Date: Wed, 16 Mar 2022 11:17:31 +0800
Subject: [PATCH 4/7] =?UTF-8?q?refactor:=20=E8=A7=86=E5=9B=BE=E7=BC=96?=
=?UTF-8?q?=E8=BE=91=E5=9D=97=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
frontend/src/views/chart/view/ChartEdit.vue | 2 ++
1 file changed, 2 insertions(+)
diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue
index c33d0b4abf..07dc1aa456 100644
--- a/frontend/src/views/chart/view/ChartEdit.vue
+++ b/frontend/src/views/chart/view/ChartEdit.vue
@@ -1614,6 +1614,8 @@ export default {
ele.filter = []
}
})
+ this.view = JSON.parse(JSON.stringify(view))
+ // stringify json param
view.xaxis = JSON.stringify(view.xaxis)
view.xaxisExt = JSON.stringify(view.xaxisExt)
view.yaxis = JSON.stringify(view.yaxis)
From 343a386955fd3a5ae0ce6d2f9b41c700b0be2d72 Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Wed, 16 Mar 2022 18:09:16 +0800
Subject: [PATCH 5/7] =?UTF-8?q?feat:=20=E6=A8=A1=E6=9D=BF=E6=96=B0?=
=?UTF-8?q?=E5=BB=BA=E4=BB=AA=E8=A1=A8=E6=9D=BF=E5=8F=AF=E4=BB=A5=E6=9B=B4?=
=?UTF-8?q?=E6=8D=A2=E6=95=B0=E6=8D=AE=E9=9B=86=EF=BC=8C=E6=9C=AA=E6=9B=B4?=
=?UTF-8?q?=E6=8D=A2=E6=98=BE=E7=A4=BA=E6=A8=A1=E6=9D=BF=E8=A7=86=E5=9B=BE?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=EF=BC=8C=E5=B9=B6=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../io/dataease/base/domain/ChartView.java | 45 ++-
.../dataease/base/domain/ChartViewCache.java | 2 +
.../base/domain/ChartViewCacheExample.java | 70 ++++
.../base/domain/ChartViewExample.java | 352 +++++++++++-------
.../base/domain/ChartViewWithBLOBs.java | 27 +-
.../io/dataease/base/domain/PanelView.java | 2 -
.../base/domain/PanelViewExample.java | 70 ----
.../base/mapper/ChartViewCacheMapper.xml | 43 ++-
.../dataease/base/mapper/ChartViewMapper.xml | 139 ++++---
.../dataease/base/mapper/PanelViewMapper.xml | 27 +-
.../base/mapper/ext/ExtChartViewMapper.xml | 22 +-
.../base/mapper/ext/ExtPanelViewMapper.xml | 4 +-
.../commons/constants/CommonConstants.java | 4 +-
.../controller/chart/ChartViewController.java | 4 +-
.../io/dataease/dto/chart/ChartViewDTO.java | 4 +-
.../dto/panel/po/PanelViewInsertDTO.java | 7 -
.../service/chart/ChartViewService.java | 71 ++--
.../panel/PanelGroupExtendDataService.java | 9 +-
.../service/panel/PanelGroupService.java | 15 +-
.../service/panel/PanelViewService.java | 11 -
.../main/resources/db/migration/V33__1.9.sql | 7 +-
.../src/main/resources/generatorConfig.xml | 8 +-
frontend/src/lang/en.js | 1 +
frontend/src/lang/tw.js | 1 +
frontend/src/lang/zh.js | 1 +
frontend/src/views/chart/view/ChartEdit.vue | 44 ++-
26 files changed, 555 insertions(+), 435 deletions(-)
diff --git a/backend/src/main/java/io/dataease/base/domain/ChartView.java b/backend/src/main/java/io/dataease/base/domain/ChartView.java
index dd6a16307b..6a6689cfd4 100644
--- a/backend/src/main/java/io/dataease/base/domain/ChartView.java
+++ b/backend/src/main/java/io/dataease/base/domain/ChartView.java
@@ -1,42 +1,41 @@
package io.dataease.base.domain;
import java.io.Serializable;
-
-import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ChartView implements Serializable {
- @ApiModelProperty("ID")
private String id;
- @ApiModelProperty("名称")
+
private String name;
- @ApiModelProperty("数据集ID")
- private String tableId;
- @ApiModelProperty("图表类型")
- private String type;
- @ApiModelProperty("渲染方式")
- private String render;
- @ApiModelProperty("展示结果数量")
- private Integer resultCount;
- @ApiModelProperty("展示结果")
- private String resultMode;
- @ApiModelProperty("标题")
+
private String title;
- @ApiModelProperty("场景ID")
+
private String sceneId;
- @ApiModelProperty("创建人")
+
+ private String tableId;
+
+ private String type;
+
+ private String render;
+
+ private Integer resultCount;
+
+ private String resultMode;
+
private String createBy;
- @ApiModelProperty("创建时间")
+
private Long createTime;
- @ApiModelProperty("更新时间")
+
private Long updateTime;
- @ApiModelProperty("样式优先级")
+
private String stylePriority;
- @ApiModelProperty("public or private")
+
private String chartType;
- @ApiModelProperty("是否插件")
+
private Boolean isPlugin;
+ private String dataFrom;
+
private static final long serialVersionUID = 1L;
-}
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/domain/ChartViewCache.java b/backend/src/main/java/io/dataease/base/domain/ChartViewCache.java
index 1cb34116b3..c093554800 100644
--- a/backend/src/main/java/io/dataease/base/domain/ChartViewCache.java
+++ b/backend/src/main/java/io/dataease/base/domain/ChartViewCache.java
@@ -35,5 +35,7 @@ public class ChartViewCache implements Serializable {
private Boolean isPlugin;
+ private String dataFrom;
+
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/domain/ChartViewCacheExample.java b/backend/src/main/java/io/dataease/base/domain/ChartViewCacheExample.java
index aa5bb02aef..37effd1476 100644
--- a/backend/src/main/java/io/dataease/base/domain/ChartViewCacheExample.java
+++ b/backend/src/main/java/io/dataease/base/domain/ChartViewCacheExample.java
@@ -1113,6 +1113,76 @@ public class ChartViewCacheExample {
addCriterion("is_plugin not between", value1, value2, "isPlugin");
return (Criteria) this;
}
+
+ public Criteria andDataFromIsNull() {
+ addCriterion("data_from is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromIsNotNull() {
+ addCriterion("data_from is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromEqualTo(String value) {
+ addCriterion("data_from =", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromNotEqualTo(String value) {
+ addCriterion("data_from <>", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromGreaterThan(String value) {
+ addCriterion("data_from >", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromGreaterThanOrEqualTo(String value) {
+ addCriterion("data_from >=", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromLessThan(String value) {
+ addCriterion("data_from <", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromLessThanOrEqualTo(String value) {
+ addCriterion("data_from <=", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromLike(String value) {
+ addCriterion("data_from like", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromNotLike(String value) {
+ addCriterion("data_from not like", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromIn(List values) {
+ addCriterion("data_from in", values, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromNotIn(List values) {
+ addCriterion("data_from not in", values, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromBetween(String value1, String value2) {
+ addCriterion("data_from between", value1, value2, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromNotBetween(String value1, String value2) {
+ addCriterion("data_from not between", value1, value2, "dataFrom");
+ return (Criteria) this;
+ }
}
public static class Criteria extends GeneratedCriteria {
diff --git a/backend/src/main/java/io/dataease/base/domain/ChartViewExample.java b/backend/src/main/java/io/dataease/base/domain/ChartViewExample.java
index f4d44ca52a..374dac1772 100644
--- a/backend/src/main/java/io/dataease/base/domain/ChartViewExample.java
+++ b/backend/src/main/java/io/dataease/base/domain/ChartViewExample.java
@@ -244,6 +244,146 @@ public class ChartViewExample {
return (Criteria) this;
}
+ public Criteria andTitleIsNull() {
+ addCriterion("title is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andTitleIsNotNull() {
+ addCriterion("title is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andTitleEqualTo(String value) {
+ addCriterion("title =", value, "title");
+ return (Criteria) this;
+ }
+
+ public Criteria andTitleNotEqualTo(String value) {
+ addCriterion("title <>", value, "title");
+ return (Criteria) this;
+ }
+
+ public Criteria andTitleGreaterThan(String value) {
+ addCriterion("title >", value, "title");
+ return (Criteria) this;
+ }
+
+ public Criteria andTitleGreaterThanOrEqualTo(String value) {
+ addCriterion("title >=", value, "title");
+ return (Criteria) this;
+ }
+
+ public Criteria andTitleLessThan(String value) {
+ addCriterion("title <", value, "title");
+ return (Criteria) this;
+ }
+
+ public Criteria andTitleLessThanOrEqualTo(String value) {
+ addCriterion("title <=", value, "title");
+ return (Criteria) this;
+ }
+
+ public Criteria andTitleLike(String value) {
+ addCriterion("title like", value, "title");
+ return (Criteria) this;
+ }
+
+ public Criteria andTitleNotLike(String value) {
+ addCriterion("title not like", value, "title");
+ return (Criteria) this;
+ }
+
+ public Criteria andTitleIn(List values) {
+ addCriterion("title in", values, "title");
+ return (Criteria) this;
+ }
+
+ public Criteria andTitleNotIn(List values) {
+ addCriterion("title not in", values, "title");
+ return (Criteria) this;
+ }
+
+ public Criteria andTitleBetween(String value1, String value2) {
+ addCriterion("title between", value1, value2, "title");
+ return (Criteria) this;
+ }
+
+ public Criteria andTitleNotBetween(String value1, String value2) {
+ addCriterion("title not between", value1, value2, "title");
+ return (Criteria) this;
+ }
+
+ public Criteria andSceneIdIsNull() {
+ addCriterion("scene_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andSceneIdIsNotNull() {
+ addCriterion("scene_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andSceneIdEqualTo(String value) {
+ addCriterion("scene_id =", value, "sceneId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSceneIdNotEqualTo(String value) {
+ addCriterion("scene_id <>", value, "sceneId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSceneIdGreaterThan(String value) {
+ addCriterion("scene_id >", value, "sceneId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSceneIdGreaterThanOrEqualTo(String value) {
+ addCriterion("scene_id >=", value, "sceneId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSceneIdLessThan(String value) {
+ addCriterion("scene_id <", value, "sceneId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSceneIdLessThanOrEqualTo(String value) {
+ addCriterion("scene_id <=", value, "sceneId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSceneIdLike(String value) {
+ addCriterion("scene_id like", value, "sceneId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSceneIdNotLike(String value) {
+ addCriterion("scene_id not like", value, "sceneId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSceneIdIn(List values) {
+ addCriterion("scene_id in", values, "sceneId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSceneIdNotIn(List values) {
+ addCriterion("scene_id not in", values, "sceneId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSceneIdBetween(String value1, String value2) {
+ addCriterion("scene_id between", value1, value2, "sceneId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSceneIdNotBetween(String value1, String value2) {
+ addCriterion("scene_id not between", value1, value2, "sceneId");
+ return (Criteria) this;
+ }
+
public Criteria andTableIdIsNull() {
addCriterion("table_id is null");
return (Criteria) this;
@@ -584,146 +724,6 @@ public class ChartViewExample {
return (Criteria) this;
}
- public Criteria andTitleIsNull() {
- addCriterion("title is null");
- return (Criteria) this;
- }
-
- public Criteria andTitleIsNotNull() {
- addCriterion("title is not null");
- return (Criteria) this;
- }
-
- public Criteria andTitleEqualTo(String value) {
- addCriterion("title =", value, "title");
- return (Criteria) this;
- }
-
- public Criteria andTitleNotEqualTo(String value) {
- addCriterion("title <>", value, "title");
- return (Criteria) this;
- }
-
- public Criteria andTitleGreaterThan(String value) {
- addCriterion("title >", value, "title");
- return (Criteria) this;
- }
-
- public Criteria andTitleGreaterThanOrEqualTo(String value) {
- addCriterion("title >=", value, "title");
- return (Criteria) this;
- }
-
- public Criteria andTitleLessThan(String value) {
- addCriterion("title <", value, "title");
- return (Criteria) this;
- }
-
- public Criteria andTitleLessThanOrEqualTo(String value) {
- addCriterion("title <=", value, "title");
- return (Criteria) this;
- }
-
- public Criteria andTitleLike(String value) {
- addCriterion("title like", value, "title");
- return (Criteria) this;
- }
-
- public Criteria andTitleNotLike(String value) {
- addCriterion("title not like", value, "title");
- return (Criteria) this;
- }
-
- public Criteria andTitleIn(List values) {
- addCriterion("title in", values, "title");
- return (Criteria) this;
- }
-
- public Criteria andTitleNotIn(List values) {
- addCriterion("title not in", values, "title");
- return (Criteria) this;
- }
-
- public Criteria andTitleBetween(String value1, String value2) {
- addCriterion("title between", value1, value2, "title");
- return (Criteria) this;
- }
-
- public Criteria andTitleNotBetween(String value1, String value2) {
- addCriterion("title not between", value1, value2, "title");
- return (Criteria) this;
- }
-
- public Criteria andSceneIdIsNull() {
- addCriterion("scene_id is null");
- return (Criteria) this;
- }
-
- public Criteria andSceneIdIsNotNull() {
- addCriterion("scene_id is not null");
- return (Criteria) this;
- }
-
- public Criteria andSceneIdEqualTo(String value) {
- addCriterion("scene_id =", value, "sceneId");
- return (Criteria) this;
- }
-
- public Criteria andSceneIdNotEqualTo(String value) {
- addCriterion("scene_id <>", value, "sceneId");
- return (Criteria) this;
- }
-
- public Criteria andSceneIdGreaterThan(String value) {
- addCriterion("scene_id >", value, "sceneId");
- return (Criteria) this;
- }
-
- public Criteria andSceneIdGreaterThanOrEqualTo(String value) {
- addCriterion("scene_id >=", value, "sceneId");
- return (Criteria) this;
- }
-
- public Criteria andSceneIdLessThan(String value) {
- addCriterion("scene_id <", value, "sceneId");
- return (Criteria) this;
- }
-
- public Criteria andSceneIdLessThanOrEqualTo(String value) {
- addCriterion("scene_id <=", value, "sceneId");
- return (Criteria) this;
- }
-
- public Criteria andSceneIdLike(String value) {
- addCriterion("scene_id like", value, "sceneId");
- return (Criteria) this;
- }
-
- public Criteria andSceneIdNotLike(String value) {
- addCriterion("scene_id not like", value, "sceneId");
- return (Criteria) this;
- }
-
- public Criteria andSceneIdIn(List values) {
- addCriterion("scene_id in", values, "sceneId");
- return (Criteria) this;
- }
-
- public Criteria andSceneIdNotIn(List values) {
- addCriterion("scene_id not in", values, "sceneId");
- return (Criteria) this;
- }
-
- public Criteria andSceneIdBetween(String value1, String value2) {
- addCriterion("scene_id between", value1, value2, "sceneId");
- return (Criteria) this;
- }
-
- public Criteria andSceneIdNotBetween(String value1, String value2) {
- addCriterion("scene_id not between", value1, value2, "sceneId");
- return (Criteria) this;
- }
-
public Criteria andCreateByIsNull() {
addCriterion("create_by is null");
return (Criteria) this;
@@ -1113,6 +1113,76 @@ public class ChartViewExample {
addCriterion("is_plugin not between", value1, value2, "isPlugin");
return (Criteria) this;
}
+
+ public Criteria andDataFromIsNull() {
+ addCriterion("data_from is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromIsNotNull() {
+ addCriterion("data_from is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromEqualTo(String value) {
+ addCriterion("data_from =", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromNotEqualTo(String value) {
+ addCriterion("data_from <>", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromGreaterThan(String value) {
+ addCriterion("data_from >", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromGreaterThanOrEqualTo(String value) {
+ addCriterion("data_from >=", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromLessThan(String value) {
+ addCriterion("data_from <", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromLessThanOrEqualTo(String value) {
+ addCriterion("data_from <=", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromLike(String value) {
+ addCriterion("data_from like", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromNotLike(String value) {
+ addCriterion("data_from not like", value, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromIn(List values) {
+ addCriterion("data_from in", values, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromNotIn(List values) {
+ addCriterion("data_from not in", values, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromBetween(String value1, String value2) {
+ addCriterion("data_from between", value1, value2, "dataFrom");
+ return (Criteria) this;
+ }
+
+ public Criteria andDataFromNotBetween(String value1, String value2) {
+ addCriterion("data_from not between", value1, value2, "dataFrom");
+ return (Criteria) this;
+ }
}
public static class Criteria extends GeneratedCriteria {
@@ -1207,4 +1277,4 @@ public class ChartViewExample {
this(condition, value, secondValue, null);
}
}
-}
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/domain/ChartViewWithBLOBs.java b/backend/src/main/java/io/dataease/base/domain/ChartViewWithBLOBs.java
index f0492a42d3..af2c9ee4b5 100644
--- a/backend/src/main/java/io/dataease/base/domain/ChartViewWithBLOBs.java
+++ b/backend/src/main/java/io/dataease/base/domain/ChartViewWithBLOBs.java
@@ -1,8 +1,6 @@
package io.dataease.base.domain;
import java.io.Serializable;
-
-import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@@ -11,30 +9,29 @@ import lombok.ToString;
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ChartViewWithBLOBs extends ChartView implements Serializable {
- @ApiModelProperty("x轴")
private String xAxis;
- @ApiModelProperty("x副轴")
+
private String xAxisExt;
- @ApiModelProperty("y轴")
+
private String yAxis;
- @ApiModelProperty("y副轴")
+
private String yAxisExt;
- @ApiModelProperty("堆叠字段")
+
private String extStack;
- @ApiModelProperty("气泡大小字段")
+
private String extBubble;
- @ApiModelProperty("图形属性")
+
private String customAttr;
- @ApiModelProperty("组件样式")
+
private String customStyle;
- @ApiModelProperty("过滤器字段")
+
private String customFilter;
- @ApiModelProperty("下钻字段")
+
private String drillFields;
- @ApiModelProperty("高级设置")
+
private String senior;
- @ApiModelProperty("视图截图快照")
+
private String snapshot;
private static final long serialVersionUID = 1L;
-}
+}
\ No newline at end of file
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 d9c240f3d8..b04880b4d3 100644
--- a/backend/src/main/java/io/dataease/base/domain/PanelView.java
+++ b/backend/src/main/java/io/dataease/base/domain/PanelView.java
@@ -29,8 +29,6 @@ public class PanelView implements Serializable {
private String copyId;
- private String dataFrom;
-
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 66109efa0a..dbaaff8cec 100644
--- a/backend/src/main/java/io/dataease/base/domain/PanelViewExample.java
+++ b/backend/src/main/java/io/dataease/base/domain/PanelViewExample.java
@@ -923,76 +923,6 @@ public class PanelViewExample {
addCriterion("copy_id not between", value1, value2, "copyId");
return (Criteria) this;
}
-
- public Criteria andDataFromIsNull() {
- addCriterion("data_from is null");
- return (Criteria) this;
- }
-
- public Criteria andDataFromIsNotNull() {
- addCriterion("data_from is not null");
- return (Criteria) this;
- }
-
- public Criteria andDataFromEqualTo(String value) {
- addCriterion("data_from =", value, "dataFrom");
- return (Criteria) this;
- }
-
- public Criteria andDataFromNotEqualTo(String value) {
- addCriterion("data_from <>", value, "dataFrom");
- return (Criteria) this;
- }
-
- public Criteria andDataFromGreaterThan(String value) {
- addCriterion("data_from >", value, "dataFrom");
- return (Criteria) this;
- }
-
- public Criteria andDataFromGreaterThanOrEqualTo(String value) {
- addCriterion("data_from >=", value, "dataFrom");
- return (Criteria) this;
- }
-
- public Criteria andDataFromLessThan(String value) {
- addCriterion("data_from <", value, "dataFrom");
- return (Criteria) this;
- }
-
- public Criteria andDataFromLessThanOrEqualTo(String value) {
- addCriterion("data_from <=", value, "dataFrom");
- return (Criteria) this;
- }
-
- public Criteria andDataFromLike(String value) {
- addCriterion("data_from like", value, "dataFrom");
- return (Criteria) this;
- }
-
- public Criteria andDataFromNotLike(String value) {
- addCriterion("data_from not like", value, "dataFrom");
- return (Criteria) this;
- }
-
- public Criteria andDataFromIn(List values) {
- addCriterion("data_from in", values, "dataFrom");
- return (Criteria) this;
- }
-
- public Criteria andDataFromNotIn(List values) {
- addCriterion("data_from not in", values, "dataFrom");
- return (Criteria) this;
- }
-
- public Criteria andDataFromBetween(String value1, String value2) {
- addCriterion("data_from between", value1, value2, "dataFrom");
- return (Criteria) this;
- }
-
- public Criteria andDataFromNotBetween(String value1, String value2) {
- addCriterion("data_from not between", value1, value2, "dataFrom");
- return (Criteria) this;
- }
}
public static class Criteria extends GeneratedCriteria {
diff --git a/backend/src/main/java/io/dataease/base/mapper/ChartViewCacheMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ChartViewCacheMapper.xml
index caa9ebfbb4..349c5b862a 100644
--- a/backend/src/main/java/io/dataease/base/mapper/ChartViewCacheMapper.xml
+++ b/backend/src/main/java/io/dataease/base/mapper/ChartViewCacheMapper.xml
@@ -17,6 +17,7 @@
+
@@ -92,7 +93,7 @@
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
+ create_by, create_time, update_time, style_priority, chart_type, is_plugin, data_from
x_axis, x_axis_ext, y_axis, y_axis_ext, ext_stack, ext_bubble, custom_attr, custom_style,
@@ -152,21 +153,21 @@
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, senior, snapshot
- )
+ data_from, x_axis, x_axis_ext,
+ y_axis, y_axis_ext, ext_stack,
+ ext_bubble, custom_attr, custom_style,
+ custom_filter, drill_fields, senior,
+ snapshot)
values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{title,jdbcType=VARCHAR},
#{sceneId,jdbcType=VARCHAR}, #{tableId,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR},
#{render,jdbcType=VARCHAR}, #{resultCount,jdbcType=INTEGER}, #{resultMode,jdbcType=VARCHAR},
#{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT},
#{stylePriority,jdbcType=VARCHAR}, #{chartType,jdbcType=VARCHAR}, #{isPlugin,jdbcType=BIT},
- #{xAxis,jdbcType=LONGVARCHAR}, #{xAxisExt,jdbcType=LONGVARCHAR}, #{yAxis,jdbcType=LONGVARCHAR},
- #{yAxisExt,jdbcType=LONGVARCHAR}, #{extStack,jdbcType=LONGVARCHAR}, #{extBubble,jdbcType=LONGVARCHAR},
- #{customAttr,jdbcType=LONGVARCHAR}, #{customStyle,jdbcType=LONGVARCHAR}, #{customFilter,jdbcType=LONGVARCHAR},
- #{drillFields,jdbcType=LONGVARCHAR}, #{senior,jdbcType=LONGVARCHAR}, #{snapshot,jdbcType=LONGVARCHAR}
- )
+ #{dataFrom,jdbcType=VARCHAR}, #{xAxis,jdbcType=LONGVARCHAR}, #{xAxisExt,jdbcType=LONGVARCHAR},
+ #{yAxis,jdbcType=LONGVARCHAR}, #{yAxisExt,jdbcType=LONGVARCHAR}, #{extStack,jdbcType=LONGVARCHAR},
+ #{extBubble,jdbcType=LONGVARCHAR}, #{customAttr,jdbcType=LONGVARCHAR}, #{customStyle,jdbcType=LONGVARCHAR},
+ #{customFilter,jdbcType=LONGVARCHAR}, #{drillFields,jdbcType=LONGVARCHAR}, #{senior,jdbcType=LONGVARCHAR},
+ #{snapshot,jdbcType=LONGVARCHAR})
insert into chart_view_cache
@@ -216,6 +217,9 @@
is_plugin,
+
+ data_from,
+
x_axis,
@@ -299,6 +303,9 @@
#{isPlugin,jdbcType=BIT},
+
+ #{dataFrom,jdbcType=VARCHAR},
+
#{xAxis,jdbcType=LONGVARCHAR},
@@ -391,6 +398,9 @@
is_plugin = #{record.isPlugin,jdbcType=BIT},
+
+ data_from = #{record.dataFrom,jdbcType=VARCHAR},
+
x_axis = #{record.xAxis,jdbcType=LONGVARCHAR},
@@ -449,6 +459,7 @@
style_priority = #{record.stylePriority,jdbcType=VARCHAR},
chart_type = #{record.chartType,jdbcType=VARCHAR},
is_plugin = #{record.isPlugin,jdbcType=BIT},
+ data_from = #{record.dataFrom,jdbcType=VARCHAR},
x_axis = #{record.xAxis,jdbcType=LONGVARCHAR},
x_axis_ext = #{record.xAxisExt,jdbcType=LONGVARCHAR},
y_axis = #{record.yAxis,jdbcType=LONGVARCHAR},
@@ -481,7 +492,8 @@
update_time = #{record.updateTime,jdbcType=BIGINT},
style_priority = #{record.stylePriority,jdbcType=VARCHAR},
chart_type = #{record.chartType,jdbcType=VARCHAR},
- is_plugin = #{record.isPlugin,jdbcType=BIT}
+ is_plugin = #{record.isPlugin,jdbcType=BIT},
+ data_from = #{record.dataFrom,jdbcType=VARCHAR}
@@ -531,6 +543,9 @@
is_plugin = #{isPlugin,jdbcType=BIT},
+
+ data_from = #{dataFrom,jdbcType=VARCHAR},
+
x_axis = #{xAxis,jdbcType=LONGVARCHAR},
@@ -586,6 +601,7 @@
style_priority = #{stylePriority,jdbcType=VARCHAR},
chart_type = #{chartType,jdbcType=VARCHAR},
is_plugin = #{isPlugin,jdbcType=BIT},
+ data_from = #{dataFrom,jdbcType=VARCHAR},
x_axis = #{xAxis,jdbcType=LONGVARCHAR},
x_axis_ext = #{xAxisExt,jdbcType=LONGVARCHAR},
y_axis = #{yAxis,jdbcType=LONGVARCHAR},
@@ -615,7 +631,8 @@
update_time = #{updateTime,jdbcType=BIGINT},
style_priority = #{stylePriority,jdbcType=VARCHAR},
chart_type = #{chartType,jdbcType=VARCHAR},
- is_plugin = #{isPlugin,jdbcType=BIT}
+ is_plugin = #{isPlugin,jdbcType=BIT},
+ data_from = #{dataFrom,jdbcType=VARCHAR}
where id = #{id,jdbcType=VARCHAR}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/mapper/ChartViewMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ChartViewMapper.xml
index c8d1f5c55f..284cedebc4 100644
--- a/backend/src/main/java/io/dataease/base/mapper/ChartViewMapper.xml
+++ b/backend/src/main/java/io/dataease/base/mapper/ChartViewMapper.xml
@@ -4,19 +4,20 @@
+
+
-
-
+
@@ -91,11 +92,11 @@
- id, `name`, table_id, `type`, render, result_count, result_mode, title, scene_id,
- create_by, create_time, update_time, style_priority, chart_type, is_plugin
+ 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, data_from
- x_axis, x_axis_ext, y_axis, y_axis_ext, ext_stack, ext_bubble, custom_attr, custom_style,
+ x_axis, x_axis_ext, y_axis, y_axis_ext, ext_stack, ext_bubble, custom_attr, custom_style,
custom_filter, drill_fields, senior, snapshot
@@ -79,7 +78,7 @@
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, data_from
+ copy_from_panel, copy_from_view, copy_from, copy_id
content
@@ -137,12 +136,12 @@
create_by, create_time, update_by,
update_time, `position`, copy_from_panel,
copy_from_view, copy_from, copy_id,
- data_from, content)
+ 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}, #{copyFromPanel,jdbcType=VARCHAR},
#{copyFromView,jdbcType=VARCHAR}, #{copyFrom,jdbcType=VARCHAR}, #{copyId,jdbcType=VARCHAR},
- #{dataFrom,jdbcType=VARCHAR}, #{content,jdbcType=LONGVARBINARY})
+ #{content,jdbcType=LONGVARBINARY})
insert into panel_view
@@ -183,9 +182,6 @@
copy_id,
-
- data_from,
-
content,
@@ -227,9 +223,6 @@
#{copyId,jdbcType=VARCHAR},
-
- #{dataFrom,jdbcType=VARCHAR},
-
#{content,jdbcType=LONGVARBINARY},
@@ -280,9 +273,6 @@
copy_id = #{record.copyId,jdbcType=VARCHAR},
-
- data_from = #{record.dataFrom,jdbcType=VARCHAR},
-
content = #{record.content,jdbcType=LONGVARBINARY},
@@ -305,7 +295,6 @@
copy_from_view = #{record.copyFromView,jdbcType=VARCHAR},
copy_from = #{record.copyFrom,jdbcType=VARCHAR},
copy_id = #{record.copyId,jdbcType=VARCHAR},
- data_from = #{record.dataFrom,jdbcType=VARCHAR},
content = #{record.content,jdbcType=LONGVARBINARY}
@@ -324,8 +313,7 @@
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},
- data_from = #{record.dataFrom,jdbcType=VARCHAR}
+ copy_id = #{record.copyId,jdbcType=VARCHAR}
@@ -366,9 +354,6 @@
copy_id = #{copyId,jdbcType=VARCHAR},
-
- data_from = #{dataFrom,jdbcType=VARCHAR},
-
content = #{content,jdbcType=LONGVARBINARY},
@@ -388,7 +373,6 @@
copy_from_view = #{copyFromView,jdbcType=VARCHAR},
copy_from = #{copyFrom,jdbcType=VARCHAR},
copy_id = #{copyId,jdbcType=VARCHAR},
- data_from = #{dataFrom,jdbcType=VARCHAR},
content = #{content,jdbcType=LONGVARBINARY}
where id = #{id,jdbcType=VARCHAR}
@@ -404,8 +388,7 @@
copy_from_panel = #{copyFromPanel,jdbcType=VARCHAR},
copy_from_view = #{copyFromView,jdbcType=VARCHAR},
copy_from = #{copyFrom,jdbcType=VARCHAR},
- copy_id = #{copyId,jdbcType=VARCHAR},
- data_from = #{dataFrom,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.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml
index 36dd69100e..3fe88d66c6 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
@@ -54,7 +54,8 @@
custom_filter,
drill_fields,
senior,
- SNAPSHOT
+ SNAPSHOT,
+ data_from
) SELECT
id,
`name`,
@@ -82,7 +83,8 @@
custom_filter,
drill_fields,
senior,
- SNAPSHOT from chart_view
+ SNAPSHOT,
+ data_from from chart_view
WHERE
chart_view.id = #{id}
@@ -181,7 +183,8 @@
`result_count`,
`result_mode`,
`chart_type`,
- `senior`)
+ `senior`,
+ `data_from`)
SELECT #{newChartId},
`name`,
#{panelId},
@@ -207,7 +210,8 @@
`result_count`,
`result_mode`,
'private',
- `senior`
+ `senior`,
+ `data_from`
FROM chart_view_cache
WHERE id = #{oldChartId}
@@ -256,7 +260,8 @@
custom_style,
custom_filter,
drill_fields,
- SNAPSHOT)
+ SNAPSHOT,
+ data_from)
SELECT pv_copy.chart_view_id AS id,
`name`,
title,
@@ -282,7 +287,8 @@
custom_style,
custom_filter,
drill_fields,
- SNAPSHOT
+ SNAPSHOT,
+ data_from
FROM (
SELECT panel_id,
copy_from_view,
@@ -389,7 +395,9 @@
cv.custom_filter = cve.custom_filter,
cv.drill_fields = cve.drill_fields,
cv.senior = cve.senior,
- cv.SNAPSHOT = cve.SNAPSHOT where cve.id = cv.id and cv.id in
+ cv.SNAPSHOT = cve.SNAPSHOT,
+ cv.data_from = cve.data_from
+ where cve.id = cv.id and cv.id in
#{viewId}
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 f069ba5423..50b270a64a 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
@@ -71,9 +71,9 @@
- INSERT INTO `panel_view` (id,chart_view_id, panel_id,data_from) VALUES
+ INSERT INTO `panel_view` (id,chart_view_id, panel_id) VALUES
- (uuid(),#{panelView.chartViewId},#{panelView.panelId},#{panelView.dataFrom})
+ (uuid(),#{panelView.chartViewId},#{panelView.panelId})
diff --git a/backend/src/main/java/io/dataease/commons/constants/CommonConstants.java b/backend/src/main/java/io/dataease/commons/constants/CommonConstants.java
index a0ec952d86..8cb151375a 100644
--- a/backend/src/main/java/io/dataease/commons/constants/CommonConstants.java
+++ b/backend/src/main/java/io/dataease/commons/constants/CommonConstants.java
@@ -76,8 +76,8 @@ public class CommonConstants {
// 模板数据
public static final String TEMPLATE = "template";
- // 视图数据
- public static final String CHART = "chart";
+ //数据集数据
+ public static final String CHART = "dataset";
}
}
diff --git a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java
index 4006daf02e..2f1bd97c90 100644
--- a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java
+++ b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java
@@ -76,8 +76,8 @@ public class ChartViewController {
@ApiOperation("详细信息")
@PostMapping("/get/{id}/{panelId}")
public ChartViewDTO get(@PathVariable String id, @PathVariable String panelId,@RequestBody ChartViewRequest viewRequest) {
- String dataFrom = panelViewService.findViewDataFrom(id);
- return chartViewService.getOne(id,viewRequest.getQueryFrom(),dataFrom);
+ ChartViewDTO result = chartViewService.getOne(id,viewRequest.getQueryFrom());
+ return result;
}
@ApiIgnore
diff --git a/backend/src/main/java/io/dataease/dto/chart/ChartViewDTO.java b/backend/src/main/java/io/dataease/dto/chart/ChartViewDTO.java
index b2b87efef1..a69e5cc32a 100644
--- a/backend/src/main/java/io/dataease/dto/chart/ChartViewDTO.java
+++ b/backend/src/main/java/io/dataease/dto/chart/ChartViewDTO.java
@@ -30,6 +30,6 @@ public class ChartViewDTO extends ChartViewWithBLOBs {
private boolean drill;
@ApiModelProperty("下钻条件集合")
private List drillFilters;
- @ApiModelProperty("当前数据来源")
- private String dataFrom;
+ @ApiModelProperty("视图存放位置")
+ private String position;
}
diff --git a/backend/src/main/java/io/dataease/dto/panel/po/PanelViewInsertDTO.java b/backend/src/main/java/io/dataease/dto/panel/po/PanelViewInsertDTO.java
index 367b7763c9..bb1b8b9636 100644
--- a/backend/src/main/java/io/dataease/dto/panel/po/PanelViewInsertDTO.java
+++ b/backend/src/main/java/io/dataease/dto/panel/po/PanelViewInsertDTO.java
@@ -24,12 +24,5 @@ public class PanelViewInsertDTO extends PanelView {
super.setPanelId(panelGroupId);
super.setPosition(position);
}
- public PanelViewInsertDTO(String chartViewId,String panelGroupId,String position,String dataFrom) {
- super();
- super.setChartViewId(chartViewId);
- super.setPanelId(panelGroupId);
- super.setPosition(position);
- super.setDataFrom(dataFrom);
- }
}
diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
index 59d7b3879a..b766f250b7 100644
--- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
+++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
@@ -87,7 +87,6 @@ public class ChartViewService {
private PanelGroupExtendDataService extendDataService;
-
//默认使用非公平
private ReentrantLock lock = new ReentrantLock();
@@ -234,33 +233,30 @@ public class ChartViewService {
}
- public ChartViewDTO getOne(String id, String queryFrom) {
- return getOne(id,queryFrom,CommonConstants.VIEW_DATA_FROM.CHART);
- }
-
-
@Transactional
- public ChartViewDTO getOne(String id, String queryFrom,String dataFrom) {
- ChartViewDTO result;
- //从模板中去数据
- if(CommonConstants.VIEW_DATA_FROM.TEMPLATE.equals(dataFrom)){
- result = extendDataService.getChartInfo(id);
- if(result!=null){
- result.setData(null);
- }
- }else if (CommonConstants.VIEW_QUERY_FROM.PANEL_EDIT.equals(queryFrom)) {
- //仪表板编辑页面 从缓存表中取数据 缓存表中没有数据则进行插入
- result = extChartViewMapper.searchOneFromCache(id);
- if (result == null) {
- extChartViewMapper.copyToCache(id);
+ public ChartViewDTO getOne(String id, String queryFrom) {
+ try{
+ ChartViewDTO result;
+ if(CommonConstants.VIEW_QUERY_FROM.PANEL_EDIT.equals(queryFrom)) {
+ //仪表板编辑页面 从缓存表中取数据 缓存表中没有数据则进行插入
result = extChartViewMapper.searchOneFromCache(id);
+ if (result == null) {
+ extChartViewMapper.copyToCache(id);
+ result = extChartViewMapper.searchOneFromCache(id);
+ }
+ } else {
+ result = extChartViewMapper.searchOne(id);
}
- result.setDataFrom(CommonConstants.VIEW_DATA_FROM.CHART);
- } else {
- result = extChartViewMapper.searchOne(id);
- result.setDataFrom(CommonConstants.VIEW_DATA_FROM.CHART);
+ if(result==null){
+ DataEaseException.throwException(Translator.get("i18n_chart_delete"));
+ }
+ return result;
+ }catch (Exception e){
+ e.printStackTrace();
+ DataEaseException.throwException(e);
}
- return result;
+ return null;
+
}
public void delete(String id) {
@@ -274,22 +270,21 @@ public class ChartViewService {
}
public ChartViewDTO getData(String id, ChartExtRequest request) throws Exception {
- try{
- String dataFrom = panelViewService.findViewDataFrom(id);
-
- if(CommonConstants.VIEW_DATA_FROM.TEMPLATE.equals(dataFrom)){
- return extendDataService.getChartInfo(id);
- }else{// 从视图读取数据
- ChartViewDTO view = this.getOne(id,request.getQueryFrom());
- view.setDataFrom(dataFrom);
- // 如果是从仪表板获取视图数据,则仪表板的查询模式,查询结果的数量,覆盖视图对应的属性
- if (CommonConstants.VIEW_QUERY_FROM.PANEL.equals(request.getQueryFrom()) && CommonConstants.VIEW_RESULT_MODE.CUSTOM.equals(request.getResultMode())) {
- view.setResultMode(request.getResultMode());
- view.setResultCount(request.getResultCount());
- }
+ try {
+ ChartViewDTO view = this.getOne(id, request.getQueryFrom());
+ // 如果是从仪表板获取视图数据,则仪表板的查询模式,查询结果的数量,覆盖视图对应的属性
+ if (CommonConstants.VIEW_QUERY_FROM.PANEL.equals(request.getQueryFrom()) && CommonConstants.VIEW_RESULT_MODE.CUSTOM.equals(request.getResultMode())) {
+ view.setResultMode(request.getResultMode());
+ view.setResultCount(request.getResultCount());
+ }
+ // 数据来源在模板中直接从模板取数据
+ if (CommonConstants.VIEW_DATA_FROM.TEMPLATE.equals(view.getDataFrom())) {
+ return extendDataService.getChartDataInfo(id, view);
+ } else {
return calcData(view, request, request.isCache());
}
- }catch (Exception e){
+
+ } catch (Exception e) {
e.printStackTrace();
DataEaseException.throwException(e);
}
diff --git a/backend/src/main/java/io/dataease/service/panel/PanelGroupExtendDataService.java b/backend/src/main/java/io/dataease/service/panel/PanelGroupExtendDataService.java
index ef7df79585..192c367c37 100644
--- a/backend/src/main/java/io/dataease/service/panel/PanelGroupExtendDataService.java
+++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupExtendDataService.java
@@ -24,18 +24,17 @@ public class PanelGroupExtendDataService {
@Resource
private PanelGroupExtendDataMapper panelGroupExtendDataMapper;
- public ChartViewDTO getChartInfo(String viewId){
+ public ChartViewDTO getChartDataInfo(String viewId,ChartViewDTO view){
PanelGroupExtendDataExample extendDataExample = new PanelGroupExtendDataExample();
extendDataExample.createCriteria().andViewIdEqualTo(viewId);
List extendDataList = panelGroupExtendDataMapper.selectByExampleWithBLOBs(extendDataExample);
if(CollectionUtils.isNotEmpty(extendDataList)){
- ChartViewDTO chartView = JSONObject.parseObject(extendDataList.get(0).getViewDetails(),ChartViewDTO.class);
- chartView.setDataFrom(CommonConstants.VIEW_DATA_FROM.TEMPLATE);
- return chartView;
+ ChartViewDTO chartViewTemplate = JSONObject.parseObject(extendDataList.get(0).getViewDetails(),ChartViewDTO.class);
+ view.setData(chartViewTemplate.getData());
}else{
DataEaseException.throwException("模板缓存数据中未获取指定视图数据:"+viewId);
}
- return null;
+ return view;
}
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 14c7877afa..1d47c4da11 100644
--- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java
+++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java
@@ -6,6 +6,7 @@ import io.dataease.auth.annotation.DeCleaner;
import io.dataease.base.domain.*;
import io.dataease.base.mapper.*;
import io.dataease.base.mapper.ext.*;
+import io.dataease.commons.constants.CommonConstants;
import io.dataease.commons.constants.DePermissionType;
import io.dataease.commons.constants.PanelConstants;
import io.dataease.commons.utils.AuthUtils;
@@ -324,22 +325,24 @@ public class PanelGroupService {
Map dynamicDataMap = JSON.parseObject(dynamicData,Map.class);
List panelViews = new ArrayList<>();
List viewsData = new ArrayList<>();
- List chartViews = new ArrayList<>();
for(Map.Entry entry : dynamicDataMap.entrySet()){
String originViewId = entry.getKey();
String originViewData = entry.getValue();
- JSONObject chartViewJson = JSON.parseObject(originViewData);
- String position = chartViewJson.getString("position");
+ ChartViewDTO chartView = JSON.parseObject(originViewData,ChartViewDTO.class);
+ String position = chartView.getPosition();
String newViewId = UUIDUtil.getUUIDAsString();
+ chartView.setId(newViewId);
+ chartView.setSceneId(newPanelId);
+ chartView.setDataFrom(CommonConstants.VIEW_DATA_FROM.TEMPLATE);
//TODO 数据处理 1.替换viewId 2.加入panelView 数据(数据来源为template) 3.加入模板view data数据
templateData = templateData.replaceAll(originViewId,newViewId);
- panelViews.add(new PanelViewInsertDTO(newViewId,newPanelId,position,"template"));
+ panelViews.add(new PanelViewInsertDTO(newViewId,newPanelId,position));
viewsData.add(new PanelGroupExtendDataDTO(newPanelId,newViewId,originViewData));
+ chartViewMapper.insertSelective(chartView);
+ extChartViewMapper.copyToCache(newViewId);
}
if(CollectionUtils.isNotEmpty(panelViews)){
extPanelViewMapper.savePanelView(panelViews);
- }
- if(CollectionUtils.isNotEmpty(viewsData)){
extPanelGroupExtendDataMapper.savePanelExtendData(viewsData);
}
request.setPanelData(templateData);
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 73a90ef673..99d438324c 100644
--- a/backend/src/main/java/io/dataease/service/panel/PanelViewService.java
+++ b/backend/src/main/java/io/dataease/service/panel/PanelViewService.java
@@ -154,15 +154,4 @@ public class PanelViewService {
return null;
}
}
-
- public String findViewDataFrom(String viewId){
- PanelViewExample panelViewExample = new PanelViewExample();
- panelViewExample.createCriteria().andChartViewIdEqualTo(viewId);
- List result = panelViewMapper.selectByExample(panelViewExample);
- if(CollectionUtils.isNotEmpty(result)&& CommonConstants.VIEW_DATA_FROM.TEMPLATE.equals(result.get(0).getDataFrom())){
- return "template";
- }else{
- return "chart";
- }
- }
}
diff --git a/backend/src/main/resources/db/migration/V33__1.9.sql b/backend/src/main/resources/db/migration/V33__1.9.sql
index 306221699a..65335dce53 100644
--- a/backend/src/main/resources/db/migration/V33__1.9.sql
+++ b/backend/src/main/resources/db/migration/V33__1.9.sql
@@ -34,8 +34,11 @@ CREATE TABLE `chart_view_cache` (
SET FOREIGN_KEY_CHECKS = 1;
-ALTER TABLE `panel_view`
-ADD COLUMN `data_from` varchar(255) NULL DEFAULT 'chart' COMMENT '当前数据来源 chart 视图 template 模板' AFTER `copy_id`;
+ALTER TABLE `chart_view`
+ADD COLUMN `data_from` varchar(255) NULL DEFAULT 'dataset' COMMENT '数据来源 template 模板数据 dataset 数据集数据' AFTER `is_plugin`;
+
+ALTER TABLE `chart_view_cache`
+ADD COLUMN `data_from` varchar(255) NULL DEFAULT 'dataset' COMMENT '数据来源 template 模板数据 dataset 数据集数据' AFTER `is_plugin`;
SET NAMES utf8mb4;
diff --git a/backend/src/main/resources/generatorConfig.xml b/backend/src/main/resources/generatorConfig.xml
index d5256f1916..9a6f59b4d0 100644
--- a/backend/src/main/resources/generatorConfig.xml
+++ b/backend/src/main/resources/generatorConfig.xml
@@ -60,9 +60,11 @@
-
+
+
+
+
+
diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js
index 7c403d74cd..e13dc44306 100644
--- a/frontend/src/lang/en.js
+++ b/frontend/src/lang/en.js
@@ -1381,6 +1381,7 @@ export default {
sure_bt: 'Confirm'
},
panel: {
+ template_view_tips: "Template's Views. Please Change",
no_auth_role: 'Unshared roles',
auth_role: 'Shared roles',
picture_limit: 'Only pictures can be inserted',
diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js
index 733a11340a..8ec39b0355 100644
--- a/frontend/src/lang/tw.js
+++ b/frontend/src/lang/tw.js
@@ -1382,6 +1382,7 @@ export default {
sure_bt: '確定'
},
panel: {
+ template_view_tips: '当前是模板视图,请点击更换数据集',
no_auth_role: '未分享角色',
auth_role: '已分享角色',
picture_limit: '只能插入圖片',
diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js
index d0cbf18779..67b257077c 100644
--- a/frontend/src/lang/zh.js
+++ b/frontend/src/lang/zh.js
@@ -1390,6 +1390,7 @@ export default {
sure_bt: '确定'
},
panel: {
+ template_view_tips: '当前是模板视图,请点击更换数据集',
no_auth_role: '未分享角色',
auth_role: '已分享角色',
picture_limit: '只能插入图片',
diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue
index 07dc1aa456..6d980231ac 100644
--- a/frontend/src/views/chart/view/ChartEdit.vue
+++ b/frontend/src/views/chart/view/ChartEdit.vue
@@ -41,6 +41,20 @@