Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
njgzx
dataease
Commits
945f7008
提交
945f7008
authored
3月 15, 2022
作者:
wangjiahao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 从模板新建的仪表板支持查看模板缓存数据
上级
5b363b98
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
112 行增加
和
12 行删除
+112
-12
ExtPanelViewMapper.xml
...n/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.xml
+2
-4
CommonConstants.java
...n/java/io/dataease/commons/constants/CommonConstants.java
+11
-0
ChartViewDTO.java
...end/src/main/java/io/dataease/dto/chart/ChartViewDTO.java
+2
-0
ChartViewService.java
...main/java/io/dataease/service/chart/ChartViewService.java
+31
-6
PanelGroupExtendDataService.java
...o/dataease/service/panel/PanelGroupExtendDataService.java
+42
-0
PanelViewService.java
...main/java/io/dataease/service/panel/PanelViewService.java
+23
-2
ChartEdit.vue
frontend/src/views/chart/view/ChartEdit.vue
+1
-0
没有找到文件。
backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.xml
浏览文件 @
945f7008
...
@@ -71,9 +71,9 @@
...
@@ -71,9 +71,9 @@
</delete>
</delete>
<insert
id=
"savePanelView"
>
<insert
id=
"savePanelView"
>
INSERT INTO `panel_view` (id,chart_view_id, panel_id) VALUES
INSERT INTO `panel_view` (id,chart_view_id, panel_id
,data_from
) VALUES
<foreach
collection=
"panelViews"
item=
"panelView"
index=
"index"
separator=
","
>
<foreach
collection=
"panelViews"
item=
"panelView"
index=
"index"
separator=
","
>
(uuid(),#{panelView.chartViewId},#{panelView.panelId})
(uuid(),#{panelView.chartViewId},#{panelView.panelId}
,#{panelView.dataFrom}
)
</foreach>
</foreach>
</insert>
</insert>
...
@@ -110,6 +110,4 @@
...
@@ -110,6 +110,4 @@
and chart_view.id is not null
and chart_view.id is not null
</insert>
</insert>
</mapper>
</mapper>
backend/src/main/java/io/dataease/commons/constants/CommonConstants.java
浏览文件 @
945f7008
...
@@ -69,4 +69,15 @@ public class CommonConstants {
...
@@ -69,4 +69,15 @@ public class CommonConstants {
public
static
final
String
CACHE
=
"cache"
;
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"
;
}
}
}
backend/src/main/java/io/dataease/dto/chart/ChartViewDTO.java
浏览文件 @
945f7008
...
@@ -30,4 +30,6 @@ public class ChartViewDTO extends ChartViewWithBLOBs {
...
@@ -30,4 +30,6 @@ public class ChartViewDTO extends ChartViewWithBLOBs {
private
boolean
drill
;
private
boolean
drill
;
@ApiModelProperty
(
"下钻条件集合"
)
@ApiModelProperty
(
"下钻条件集合"
)
private
List
<
ChartExtFilterRequest
>
drillFilters
;
private
List
<
ChartExtFilterRequest
>
drillFilters
;
@ApiModelProperty
(
"当前数据来源"
)
private
String
dataFrom
;
}
}
backend/src/main/java/io/dataease/service/chart/ChartViewService.java
浏览文件 @
945f7008
...
@@ -7,6 +7,7 @@ import io.dataease.auth.service.AuthUserService;
...
@@ -7,6 +7,7 @@ import io.dataease.auth.service.AuthUserService;
import
io.dataease.base.domain.*
;
import
io.dataease.base.domain.*
;
import
io.dataease.base.mapper.ChartViewCacheMapper
;
import
io.dataease.base.mapper.ChartViewCacheMapper
;
import
io.dataease.base.mapper.ChartViewMapper
;
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.ExtChartGroupMapper
;
import
io.dataease.base.mapper.ext.ExtChartViewMapper
;
import
io.dataease.base.mapper.ext.ExtChartViewMapper
;
import
io.dataease.commons.constants.ColumnPermissionConstants
;
import
io.dataease.commons.constants.ColumnPermissionConstants
;
...
@@ -23,6 +24,7 @@ import io.dataease.dto.chart.*;
...
@@ -23,6 +24,7 @@ import io.dataease.dto.chart.*;
import
io.dataease.dto.dataset.DataSetTableDTO
;
import
io.dataease.dto.dataset.DataSetTableDTO
;
import
io.dataease.dto.dataset.DataSetTableUnionDTO
;
import
io.dataease.dto.dataset.DataSetTableUnionDTO
;
import
io.dataease.dto.dataset.DataTableInfoDTO
;
import
io.dataease.dto.dataset.DataTableInfoDTO
;
import
io.dataease.exception.DataEaseException
;
import
io.dataease.i18n.Translator
;
import
io.dataease.i18n.Translator
;
import
io.dataease.listener.util.CacheUtils
;
import
io.dataease.listener.util.CacheUtils
;
import
io.dataease.provider.ProviderFactory
;
import
io.dataease.provider.ProviderFactory
;
...
@@ -34,6 +36,8 @@ import io.dataease.service.dataset.DataSetTableUnionService;
...
@@ -34,6 +36,8 @@ import io.dataease.service.dataset.DataSetTableUnionService;
import
io.dataease.service.dataset.PermissionService
;
import
io.dataease.service.dataset.PermissionService
;
import
io.dataease.service.datasource.DatasourceService
;
import
io.dataease.service.datasource.DatasourceService
;
import
io.dataease.service.engine.EngineService
;
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.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -76,6 +80,12 @@ public class ChartViewService {
...
@@ -76,6 +80,12 @@ public class ChartViewService {
private
EngineService
engineService
;
private
EngineService
engineService
;
@Resource
@Resource
private
ChartViewCacheMapper
chartViewCacheMapper
;
private
ChartViewCacheMapper
chartViewCacheMapper
;
@Resource
private
PanelViewService
panelViewService
;
@Resource
private
PanelGroupExtendDataService
extendDataService
;
//默认使用非公平
//默认使用非公平
private
ReentrantLock
lock
=
new
ReentrantLock
();
private
ReentrantLock
lock
=
new
ReentrantLock
();
...
@@ -249,13 +259,28 @@ public class ChartViewService {
...
@@ -249,13 +259,28 @@ public class ChartViewService {
}
}
public
ChartViewDTO
getData
(
String
id
,
ChartExtRequest
request
)
throws
Exception
{
public
ChartViewDTO
getData
(
String
id
,
ChartExtRequest
request
)
throws
Exception
{
ChartViewDTO
view
=
this
.
getOne
(
id
,
request
.
getQueryFrom
());
try
{
// 如果是从仪表板获取视图数据,则仪表板的查询模式,查询结果的数量,覆盖视图对应的属性
String
dataFrom
=
panelViewService
.
findViewDataFrom
(
id
);
if
(
CommonConstants
.
VIEW_QUERY_FROM
.
PANEL
.
equals
(
request
.
getQueryFrom
())
&&
CommonConstants
.
VIEW_RESULT_MODE
.
CUSTOM
.
equals
(
request
.
getResultMode
()))
{
view
.
setResultMode
(
request
.
getResultMode
());
if
(
CommonConstants
.
VIEW_DATA_FROM
.
TEMPLATE
.
equals
(
dataFrom
)){
view
.
setResultCount
(
request
.
getResultCount
());
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<DatasetTableField> fields, List<String> desensitizationList, Boolean alowDesensitization) throws Exception {
// private void checkPermissions(List<? extends ChartViewFieldBaseDTO> chartViewFieldDTOS, List<DatasetTableField> fields, List<String> desensitizationList, Boolean alowDesensitization) throws Exception {
...
...
backend/src/main/java/io/dataease/service/panel/PanelGroupExtendDataService.java
0 → 100644
浏览文件 @
945f7008
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
<
PanelGroupExtendData
>
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
;
}
}
backend/src/main/java/io/dataease/service/panel/PanelViewService.java
浏览文件 @
945f7008
...
@@ -10,6 +10,7 @@ import io.dataease.base.mapper.PanelViewMapper;
...
@@ -10,6 +10,7 @@ import io.dataease.base.mapper.PanelViewMapper;
import
io.dataease.base.mapper.ext.ExtChartViewMapper
;
import
io.dataease.base.mapper.ext.ExtChartViewMapper
;
import
io.dataease.base.mapper.ext.ExtPanelGroupMapper
;
import
io.dataease.base.mapper.ext.ExtPanelGroupMapper
;
import
io.dataease.base.mapper.ext.ExtPanelViewMapper
;
import
io.dataease.base.mapper.ext.ExtPanelViewMapper
;
import
io.dataease.commons.constants.CommonConstants
;
import
io.dataease.commons.utils.AuthUtils
;
import
io.dataease.commons.utils.AuthUtils
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.dto.panel.PanelViewDto
;
import
io.dataease.dto.panel.PanelViewDto
;
...
@@ -130,8 +131,6 @@ public class PanelViewService {
...
@@ -130,8 +131,6 @@ public class PanelViewService {
}
}
}
}
panelGroup
.
setMobileLayout
(
mobileLayout
);
panelGroup
.
setMobileLayout
(
mobileLayout
);
//移除没有用到的仪表板私有视图
extPanelGroupMapper
.
removeUselessViews
(
panelId
,
viewIds
);
return
viewIds
;
return
viewIds
;
}
}
...
@@ -144,4 +143,26 @@ public class PanelViewService {
...
@@ -144,4 +143,26 @@ public class PanelViewService {
panelViewExample
.
createCriteria
().
andCopyIdEqualTo
(
copyId
);
panelViewExample
.
createCriteria
().
andCopyIdEqualTo
(
copyId
);
return
panelViewMapper
.
selectByExample
(
panelViewExample
);
return
panelViewMapper
.
selectByExample
(
panelViewExample
);
}
}
public
PanelView
findByViewId
(
String
viewId
){
PanelViewExample
panelViewExample
=
new
PanelViewExample
();
panelViewExample
.
createCriteria
().
andChartViewIdEqualTo
(
viewId
);
List
<
PanelView
>
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
<
PanelView
>
result
=
panelViewMapper
.
selectByExample
(
panelViewExample
);
if
(
CollectionUtils
.
isNotEmpty
(
result
)&&
CommonConstants
.
VIEW_DATA_FROM
.
TEMPLATE
.
equals
(
result
.
get
(
0
).
getDataFrom
())){
return
"template"
;
}
else
{
return
"chart"
;
}
}
}
}
frontend/src/views/chart/view/ChartEdit.vue
浏览文件 @
945f7008
...
@@ -1327,6 +1327,7 @@ export default {
...
@@ -1327,6 +1327,7 @@ export default {
}
}
},
},
created
()
{
created
()
{
debugger
// this.get(this.$store.state.chart.viewId);
// this.get(this.$store.state.chart.viewId);
// this.initAreas()
// this.initAreas()
},
},
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论