forked from github/dataease
feat(仪表板、大屏): 支持应用导出
This commit is contained in:
parent
e0be96c899
commit
3117662b06
@ -2,6 +2,7 @@ package io.dataease.template.dao.ext;
|
||||
|
||||
import io.dataease.api.template.dto.TemplateManageDTO;
|
||||
import io.dataease.api.template.request.TemplateManageRequest;
|
||||
import io.dataease.api.visualization.vo.*;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@ -28,6 +29,29 @@ public interface ExtVisualizationTemplateMapper{
|
||||
Long checkCategoryTemplateBatchNames(@Param("templateNames") List<String> templateNames,@Param("categories") List<String> categories,@Param("templateArray") List<String> templateArray);
|
||||
|
||||
List<String> findTemplateCategories(@Param("templateId") String templateId);
|
||||
|
||||
List<String> findTemplateArrayCategories(@Param("templateArray") List<String> templateArray);
|
||||
|
||||
List<AppCoreChartViewVO> findAppViewInfo(@Param("viewIds") List<Long> viewIds);
|
||||
|
||||
List<AppCoreDatasetGroupVO> findAppDatasetGroupInfo(@Param("dsIds") List<Long> dsIds);
|
||||
|
||||
List<AppCoreDatasetTableVO> findAppDatasetTableInfo(@Param("dsIds") List<Long> dsIds);
|
||||
|
||||
List<AppCoreDatasetTableFieldVO> findAppDatasetTableFieldInfo(@Param("dsIds") List<Long> dsIds);
|
||||
|
||||
List<AppCoreDatasourceVO> findAppDatasourceInfo(@Param("dsIds") List<Long> dsIds);
|
||||
|
||||
List<AppCoreDatasourceTaskVO> findAppDatasourceTaskInfo(@Param("dsIds") List<Long> dsIds);
|
||||
|
||||
List<VisualizationLinkageVO> findAppLinkageInfo(@Param("dvId") Long dvId);
|
||||
|
||||
List<VisualizationLinkageFieldVO> findAppLinkageFieldInfo(@Param("dvId") Long dvId);
|
||||
|
||||
List<VisualizationLinkJumpVO> findAppLinkJumpInfo(@Param("dvId") Long dvId);
|
||||
|
||||
List<VisualizationLinkJumpInfoVO> findAppLinkJumpInfoInfo(@Param("dvId") Long dvId);
|
||||
|
||||
List<VisualizationLinkJumpTargetViewInfoVO> findAppJumpTargetViewInfo(@Param("dvId") Long dvId);
|
||||
|
||||
}
|
||||
|
@ -2,13 +2,12 @@ package io.dataease.visualization.server;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.dataease.api.visualization.request.VisualizationAppExportRequest;
|
||||
import io.dataease.api.visualization.vo.*;
|
||||
import io.dataease.dataset.manage.DatasetDataManage;
|
||||
import io.dataease.dataset.manage.DatasetGroupManage;
|
||||
import io.dataease.dataset.manage.DatasetTableManage;
|
||||
import io.dataease.extensions.datasource.dto.DatasetTableDTO;
|
||||
import io.dataease.extensions.datasource.dto.DatasetTableFieldDTO;
|
||||
import io.dataease.extensions.datasource.dto.DatasourceDTO;
|
||||
import io.dataease.extensions.view.dto.ChartViewDTO;
|
||||
import io.dataease.api.template.dto.TemplateManageFileDTO;
|
||||
import io.dataease.api.template.dto.VisualizationTemplateExtendDataDTO;
|
||||
@ -35,6 +34,7 @@ import io.dataease.template.dao.auto.entity.VisualizationTemplate;
|
||||
import io.dataease.template.dao.auto.entity.VisualizationTemplateExtendData;
|
||||
import io.dataease.template.dao.auto.mapper.VisualizationTemplateExtendDataMapper;
|
||||
import io.dataease.template.dao.auto.mapper.VisualizationTemplateMapper;
|
||||
import io.dataease.template.dao.ext.ExtVisualizationTemplateMapper;
|
||||
import io.dataease.template.manage.TemplateCenterManage;
|
||||
import io.dataease.utils.*;
|
||||
import io.dataease.visualization.dao.auto.entity.DataVisualizationInfo;
|
||||
@ -45,7 +45,6 @@ import io.dataease.visualization.dao.ext.mapper.ExtDataVisualizationMapper;
|
||||
import io.dataease.visualization.manage.CoreVisualizationManage;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@ -102,6 +101,9 @@ public class DataVisualizationServer implements DataVisualizationApi {
|
||||
@Resource
|
||||
private DatasetDataManage datasetDataManage;
|
||||
|
||||
@Resource
|
||||
private ExtVisualizationTemplateMapper appTemplateMapper;
|
||||
|
||||
@Override
|
||||
public DataVisualizationVO findCopyResource(Long dvId, String busiFlag) {
|
||||
DataVisualizationVO result = findById(new DataVisualizationBaseRequest(dvId, busiFlag));
|
||||
@ -131,11 +133,11 @@ public class DataVisualizationServer implements DataVisualizationApi {
|
||||
BeanUtils.copyBean(watermarkVO, watermark);
|
||||
result.setWatermarkInfo(watermarkVO);
|
||||
|
||||
if(DataVisualizationConstants.QUERY_SOURCE.REPORT.equals(request.getSource()) && request.getTaskId() != null){
|
||||
if (DataVisualizationConstants.QUERY_SOURCE.REPORT.equals(request.getSource()) && request.getTaskId() != null) {
|
||||
//获取定时报告过自定义过滤组件信息
|
||||
List<VisualizationReportFilterVO> filterVOS = extDataVisualizationMapper.queryReportFilter(dvId,request.getTaskId());
|
||||
List<VisualizationReportFilterVO> filterVOS = extDataVisualizationMapper.queryReportFilter(dvId, request.getTaskId());
|
||||
if (!CollectionUtils.isEmpty(filterVOS)) {
|
||||
Map<Long, VisualizationReportFilterVO> reportFilterInfo = filterVOS.stream().collect(Collectors.toMap(VisualizationReportFilterVO::getFilterId, filterVo ->filterVo));
|
||||
Map<Long, VisualizationReportFilterVO> reportFilterInfo = filterVOS.stream().collect(Collectors.toMap(VisualizationReportFilterVO::getFilterId, filterVo -> filterVo));
|
||||
result.setReportFilterInfo(reportFilterInfo);
|
||||
}
|
||||
}
|
||||
@ -350,13 +352,13 @@ public class DataVisualizationServer implements DataVisualizationApi {
|
||||
for (Map.Entry<String, String> entry : dynamicDataMap.entrySet()) {
|
||||
String originViewId = entry.getKey();
|
||||
Object viewInfo = entry.getValue();
|
||||
try{
|
||||
try {
|
||||
// 旧模板图表过滤器适配
|
||||
if(viewInfo instanceof Map && ((Map)viewInfo).get("customFilter") instanceof ArrayList){
|
||||
((Map)viewInfo).put("customFilter",new HashMap<>());
|
||||
if (viewInfo instanceof Map && ((Map) viewInfo).get("customFilter") instanceof ArrayList) {
|
||||
((Map) viewInfo).put("customFilter", new HashMap<>());
|
||||
}
|
||||
}catch(Exception e){
|
||||
LogUtil.error("History Adaptor Error",e);
|
||||
} catch (Exception e) {
|
||||
LogUtil.error("History Adaptor Error", e);
|
||||
}
|
||||
String originViewData = JsonUtil.toJSONString(entry.getValue()).toString();
|
||||
ChartViewDTO chartView = JsonUtil.parseObject(originViewData, ChartViewDTO.class);
|
||||
@ -381,7 +383,7 @@ public class DataVisualizationServer implements DataVisualizationApi {
|
||||
request.setCanvasStyleData(templateStyle);
|
||||
//Store static resource into the server
|
||||
staticResourceServer.saveFilesToServe(staticResource);
|
||||
return new DataVisualizationVO(newDvId, name, dvType,version, templateStyle, templateData, canvasViewInfo, null);
|
||||
return new DataVisualizationVO(newDvId, name, dvType, version, templateStyle, templateData, canvasViewInfo, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -393,47 +395,46 @@ public class DataVisualizationServer implements DataVisualizationApi {
|
||||
public List<VisualizationViewTableDTO> detailList(Long dvId) {
|
||||
List<VisualizationViewTableDTO> result = extDataVisualizationMapper.getVisualizationViewDetails(dvId);
|
||||
DataVisualizationInfo dvInfo = visualizationInfoMapper.selectById(dvId);
|
||||
if(dvInfo != null && !CollectionUtils.isEmpty(result)){
|
||||
if (dvInfo != null && !CollectionUtils.isEmpty(result)) {
|
||||
String componentData = dvInfo.getComponentData();
|
||||
return result.stream().filter(item ->componentData.indexOf(String.valueOf(item.getId()))>0).toList();
|
||||
}else{
|
||||
return result.stream().filter(item -> componentData.indexOf(String.valueOf(item.getId())) > 0).toList();
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public VisualizationExport2AppVO export2AppCheck(Long dvId) {
|
||||
//1.获取所有视图信息
|
||||
List<ChartViewDTO> chartViewsInfo = chartViewManege.listBySceneId(dvId);
|
||||
//2.获取视图扩展字段信息 获取所有数据集信息
|
||||
List<Long> allTableIds = chartViewsInfo.stream().map(ChartViewDTO::getTableId).collect(Collectors.toList());
|
||||
List<DatasetTableDTO> datasetTablesInfo = datasetGroupManage.getDetail(allTableIds);
|
||||
// dataset check
|
||||
if (CollectionUtils.isEmpty(datasetTablesInfo)) {
|
||||
return new VisualizationExport2AppVO(Translator.get("I18N_APP_NO_DATASET_ERROR"));
|
||||
public VisualizationExport2AppVO export2AppCheck(VisualizationAppExportRequest appExportRequest) {
|
||||
List<Long> viewIds = appExportRequest.getViewIds();
|
||||
List<Long> dsIds = appExportRequest.getDsIds();
|
||||
Long dvId = appExportRequest.getDvId();
|
||||
List<AppCoreChartViewVO> chartViewVOInfo = null;
|
||||
List<AppCoreDatasetGroupVO> datasetGroupVOInfo = null;
|
||||
List<AppCoreDatasetTableVO> datasetTableVOInfo = null;
|
||||
List<AppCoreDatasetTableFieldVO> datasetTableFieldVOInfo = null;
|
||||
List<AppCoreDatasourceVO> datasourceVOInfo = null;
|
||||
List<AppCoreDatasourceTaskVO> datasourceTaskVOInfo = null;
|
||||
//TODO 获取所有视图信息
|
||||
if (CollectionUtils.isEmpty(viewIds)) {
|
||||
chartViewVOInfo = appTemplateMapper.findAppViewInfo(viewIds);
|
||||
}
|
||||
if (CollectionUtils.isEmpty(dsIds)) {
|
||||
datasetGroupVOInfo = appTemplateMapper.findAppDatasetGroupInfo(dsIds);
|
||||
datasetTableVOInfo = appTemplateMapper.findAppDatasetTableInfo(dsIds);
|
||||
datasetTableFieldVOInfo = appTemplateMapper.findAppDatasetTableFieldInfo(dsIds);
|
||||
datasourceVOInfo = appTemplateMapper.findAppDatasourceInfo(dsIds);
|
||||
datasourceTaskVOInfo = appTemplateMapper.findAppDatasourceTaskInfo(dsIds);
|
||||
}
|
||||
//4.获取所有数据集字段信息
|
||||
List<DatasetTableFieldDTO> datasetTableFieldsInfo = new ArrayList<>();
|
||||
datasetTablesInfo.stream().forEach(datasetTable ->{
|
||||
try {
|
||||
List<DatasetTableFieldDTO> result = datasetDataManage.getTableFields(datasetTable);
|
||||
if(!CollectionUtils.isEmpty(result)){
|
||||
datasetTableFieldsInfo.addAll(result);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
|
||||
//校验标准 1.存在视图且所有视图的数据来源必须是dataset 2.存在数据集且没有excel数据集 3.存在数据源且是单数据源
|
||||
//1.view check
|
||||
if (CollectionUtils.isEmpty(chartViewsInfo)) {
|
||||
return new VisualizationExport2AppVO(Translator.get("I18N_APP_NO_VIEW_ERROR"));
|
||||
} else if (chartViewsInfo.stream().filter(chartView -> chartView.getDataFrom().equals("template")).collect(Collectors.toList()).size() > 0) {
|
||||
return new VisualizationExport2AppVO(Translator.get("I18N_APP_TEMPLATE_VIEW_ERROR"));
|
||||
}
|
||||
return new VisualizationExport2AppVO(chartViewsInfo, null, datasetTablesInfo, datasetTableFieldsInfo,
|
||||
null, null, null, null, null);
|
||||
List<VisualizationLinkageVO> linkageVOInfo = appTemplateMapper.findAppLinkageInfo(dvId);
|
||||
List<VisualizationLinkageFieldVO> linkageFieldVOInfo = appTemplateMapper.findAppLinkageFieldInfo(dvId);
|
||||
List<VisualizationLinkJumpVO> linkJumpVOInfo = appTemplateMapper.findAppLinkJumpInfo(dvId);
|
||||
List<VisualizationLinkJumpInfoVO> linkJumpInfoVOInfo = appTemplateMapper.findAppLinkJumpInfoInfo(dvId);
|
||||
List<VisualizationLinkJumpTargetViewInfoVO> listJumpTargetViewInfoVO = appTemplateMapper.findAppJumpTargetViewInfo(dvId);
|
||||
|
||||
return new VisualizationExport2AppVO(chartViewVOInfo, datasetGroupVOInfo, datasetTableVOInfo,
|
||||
datasetTableFieldVOInfo, datasourceVOInfo, datasourceTaskVOInfo,
|
||||
linkJumpVOInfo, linkJumpInfoVOInfo, listJumpTargetViewInfoVO, linkageVOInfo, linkageFieldVOInfo);
|
||||
}
|
||||
|
||||
|
||||
@ -466,7 +467,7 @@ public class DataVisualizationServer implements DataVisualizationApi {
|
||||
}
|
||||
}
|
||||
|
||||
public String getAbsPath(String id) {
|
||||
public String getAbsPath(String id) {
|
||||
CoreChartView coreChartView = coreChartViewMapper.selectById(id);
|
||||
if (coreChartView == null) {
|
||||
return null;
|
||||
|
@ -172,4 +172,120 @@
|
||||
GROUP BY
|
||||
vtcm.template_id
|
||||
</select>
|
||||
<select id="findAppViewInfo" resultType="io.dataease.api.visualization.vo.AppCoreChartViewVO">
|
||||
SELECT
|
||||
core_chart_view.*
|
||||
FROM
|
||||
core_chart_view
|
||||
WHERE
|
||||
core_chart_view.id in
|
||||
<foreach collection="viewIds" item="viewId" index="index" open="(" close=")" separator=",">
|
||||
#{viewId}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="findAppDatasetGroupInfo" resultType="io.dataease.api.visualization.vo.AppCoreDatasetGroupVO">
|
||||
SELECT
|
||||
DISTINCT core_dataset_group.*
|
||||
FROM
|
||||
core_dataset_group
|
||||
WHERE
|
||||
core_dataset_group.id in
|
||||
<foreach collection="dsIds" item="dsId" index="index" open="(" close=")" separator=",">
|
||||
#{dsId}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="findAppDatasetTableInfo" resultType="io.dataease.api.visualization.vo.AppCoreDatasetTableVO">
|
||||
SELECT
|
||||
DISTINCT core_dataset_table.*
|
||||
FROM
|
||||
core_dataset_table
|
||||
WHERE
|
||||
core_dataset_table.dataset_group_id in
|
||||
<foreach collection="dsIds" item="dsId" index="index" open="(" close=")" separator=",">
|
||||
#{dsId}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="findAppDatasetTableFieldInfo" resultType="io.dataease.api.visualization.vo.AppCoreDatasetTableFieldVO">
|
||||
SELECT DISTINCT
|
||||
core_dataset_table_field.*
|
||||
FROM
|
||||
core_dataset_table_field
|
||||
INNER JOIN core_dataset_table ON core_dataset_table_field.dataset_table_id = core_dataset_table.id
|
||||
WHERE
|
||||
core_dataset_table.dataset_group_id in
|
||||
<foreach collection="dsIds" item="dsId" index="index" open="(" close=")" separator=",">
|
||||
#{dsId}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="findAppDatasourceInfo" resultType="io.dataease.api.visualization.vo.AppCoreDatasourceVO">
|
||||
SELECT
|
||||
DISTINCT core_datasource.*
|
||||
FROM core_datasource inner join
|
||||
core_dataset_table on core_dataset_table.datasource_id = core_datasource.id
|
||||
WHERE
|
||||
core_dataset_table.dataset_group_id in
|
||||
<foreach collection="dsIds" item="dsId" index="index" open="(" close=")" separator=",">
|
||||
#{dsId}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="findAppDatasourceTaskInfo" resultType="io.dataease.api.visualization.vo.AppCoreDatasourceTaskVO">
|
||||
SELECT
|
||||
core_datasource_task.*
|
||||
FROM
|
||||
core_datasource_task
|
||||
INNER JOIN core_datasource ON core_datasource_task.ds_id = core_datasource.id
|
||||
INNER JOIN core_dataset_table ON core_dataset_table.datasource_id = core_datasource.id
|
||||
WHERE
|
||||
core_dataset_table.dataset_group_id in
|
||||
<foreach collection="dsIds" item="dsId" index="index" open="(" close=")" separator=",">
|
||||
#{dsId}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="findAppLinkageInfo" resultType="io.dataease.api.visualization.vo.VisualizationLinkageVO">
|
||||
SELECT
|
||||
visualization_linkage.*
|
||||
FROM
|
||||
visualization_linkage
|
||||
WHERE
|
||||
visualization_linkage.dv_id = #{dvId}
|
||||
</select>
|
||||
<select id="findAppLinkageFieldInfo" resultType="io.dataease.api.visualization.vo.VisualizationLinkageFieldVO">
|
||||
SELECT
|
||||
visualization_linkage_field.*
|
||||
FROM
|
||||
visualization_linkage_field
|
||||
INNER JOIN visualization_linkage ON visualization_linkage.id = visualization_linkage_field.linkage_id
|
||||
WHERE
|
||||
visualization_linkage.dv_id = #{dvId}
|
||||
</select>
|
||||
|
||||
<select id="findAppLinkJumpInfo" resultType="io.dataease.api.visualization.vo.VisualizationLinkJumpVO">
|
||||
SELECT
|
||||
visualization_link_jump.*
|
||||
FROM
|
||||
visualization_link_jump
|
||||
WHERE
|
||||
visualization_link_jump.source_dv_id = #{dvId}
|
||||
</select>
|
||||
|
||||
<select id="findAppLinkJumpInfoInfo" resultType="io.dataease.api.visualization.vo.VisualizationLinkJumpInfoVO">
|
||||
SELECT
|
||||
visualization_link_jump_info.*
|
||||
FROM
|
||||
visualization_link_jump_info
|
||||
INNER JOIN visualization_link_jump ON visualization_link_jump.id = visualization_link_jump_info.link_jump_id
|
||||
WHERE
|
||||
visualization_link_jump.source_dv_id = #{dvId}
|
||||
</select>
|
||||
<select id="findAppLinkJumpTargetViewInfoInfo" resultType="io.dataease.api.visualization.vo.VisualizationLinkJumpTargetViewInfoVO">
|
||||
SELECT
|
||||
visualization_link_jump_target_view_info.*
|
||||
FROM
|
||||
visualization_link_jump_target_view_info
|
||||
INNER JOIN visualization_link_jump_info ON visualization_link_jump_target_view_info.link_jump_info_id = visualization_link_jump_info.id
|
||||
INNER JOIN visualization_link_jump ON visualization_link_jump.id = visualization_link_jump_info.link_jump_id
|
||||
WHERE
|
||||
visualization_link_jump.source_dv_id = #{dvId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -59,6 +59,8 @@ export function download2AppTemplate(downloadType, canvasDom, name, callBack?) {
|
||||
const blob = new Blob([JSON.stringify(templateInfo)], { type: '' })
|
||||
if (downloadType === 'template') {
|
||||
FileSaver.saveAs(blob, name + '-TEMPLATE.DET2')
|
||||
} else if (downloadType === 'app') {
|
||||
FileSaver.saveAs(blob, name + '-APP.DET2APP')
|
||||
}
|
||||
}
|
||||
if (callBack) {
|
||||
|
@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
||||
import io.dataease.api.visualization.dto.VisualizationViewTableDTO;
|
||||
import io.dataease.api.visualization.request.DataVisualizationBaseRequest;
|
||||
import io.dataease.api.visualization.request.VisualizationAppExportRequest;
|
||||
import io.dataease.api.visualization.request.VisualizationWorkbranchQueryRequest;
|
||||
import io.dataease.api.visualization.vo.DataVisualizationVO;
|
||||
import io.dataease.api.visualization.vo.VisualizationExport2AppVO;
|
||||
@ -112,7 +113,7 @@ public interface DataVisualizationApi {
|
||||
@Operation(summary = "仪表板视图明细数据")
|
||||
List<VisualizationViewTableDTO> detailList(@PathVariable("dvId") Long dvId);
|
||||
|
||||
@GetMapping("/export2AppCheck/{dvId}")
|
||||
@GetMapping("/export2AppCheck")
|
||||
@Operation(summary = "仪表板视图明细数据")
|
||||
VisualizationExport2AppVO export2AppCheck(@PathVariable("dvId") Long dvId);
|
||||
VisualizationExport2AppVO export2AppCheck(@RequestBody VisualizationAppExportRequest appExportRequest);
|
||||
}
|
||||
|
@ -0,0 +1,19 @@
|
||||
package io.dataease.api.visualization.request;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class VisualizationAppExportRequest {
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long dvId;
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private List<Long> viewIds;
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private List<Long> dsIds;
|
||||
}
|
@ -0,0 +1,201 @@
|
||||
package io.dataease.api.visualization.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class AppCoreChartViewVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 场景ID chart_type为private的时候 是仪表板id
|
||||
*/
|
||||
private Long sceneId;
|
||||
|
||||
/**
|
||||
* 数据集表ID
|
||||
*/
|
||||
private Long tableId;
|
||||
|
||||
/**
|
||||
* 图表类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 图表渲染方式
|
||||
*/
|
||||
private String render;
|
||||
|
||||
/**
|
||||
* 展示结果
|
||||
*/
|
||||
private Integer resultCount;
|
||||
|
||||
/**
|
||||
* 展示模式
|
||||
*/
|
||||
private String resultMode;
|
||||
|
||||
/**
|
||||
* 横轴field
|
||||
*/
|
||||
private String xAxis;
|
||||
|
||||
/**
|
||||
* table-row
|
||||
*/
|
||||
private String xAxisExt;
|
||||
|
||||
/**
|
||||
* 纵轴field
|
||||
*/
|
||||
private String yAxis;
|
||||
|
||||
/**
|
||||
* 副轴
|
||||
*/
|
||||
private String yAxisExt;
|
||||
|
||||
/**
|
||||
* 堆叠项
|
||||
*/
|
||||
private String extStack;
|
||||
|
||||
/**
|
||||
* 气泡大小
|
||||
*/
|
||||
private String extBubble;
|
||||
|
||||
/**
|
||||
* 动态标签
|
||||
*/
|
||||
private String extLabel;
|
||||
|
||||
/**
|
||||
* 动态提示
|
||||
*/
|
||||
private String extTooltip;
|
||||
|
||||
/**
|
||||
* 图形属性
|
||||
*/
|
||||
private String customAttr;
|
||||
|
||||
/**
|
||||
* 组件样式
|
||||
*/
|
||||
private String customStyle;
|
||||
|
||||
/**
|
||||
* 结果过滤
|
||||
*/
|
||||
private String customFilter;
|
||||
|
||||
/**
|
||||
* 钻取字段
|
||||
*/
|
||||
private String drillFields;
|
||||
|
||||
/**
|
||||
* 高级
|
||||
*/
|
||||
private String senior;
|
||||
|
||||
/**
|
||||
* 创建人ID
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Long createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Long updateTime;
|
||||
|
||||
/**
|
||||
* 缩略图
|
||||
*/
|
||||
private String snapshot;
|
||||
|
||||
/**
|
||||
* 样式优先级 panel 仪表板 view 图表
|
||||
*/
|
||||
private String stylePriority;
|
||||
|
||||
/**
|
||||
* 图表类型 public 公共 历史可复用的图表,private 私有 专属某个仪表板
|
||||
*/
|
||||
private String chartType;
|
||||
|
||||
/**
|
||||
* 是否插件
|
||||
*/
|
||||
private Boolean isPlugin;
|
||||
|
||||
/**
|
||||
* 数据来源 template 模板数据 dataset 数据集数据
|
||||
*/
|
||||
private String dataFrom;
|
||||
|
||||
/**
|
||||
* 图表字段集合
|
||||
*/
|
||||
private String viewFields;
|
||||
|
||||
/**
|
||||
* 是否开启刷新
|
||||
*/
|
||||
private Boolean refreshViewEnable;
|
||||
|
||||
/**
|
||||
* 刷新时间单位
|
||||
*/
|
||||
private String refreshUnit;
|
||||
|
||||
/**
|
||||
* 刷新时间
|
||||
*/
|
||||
private Integer refreshTime;
|
||||
|
||||
/**
|
||||
* 是否开启联动
|
||||
*/
|
||||
private Boolean linkageActive;
|
||||
|
||||
/**
|
||||
* 是否开启跳转
|
||||
*/
|
||||
private Boolean jumpActive;
|
||||
|
||||
/**
|
||||
* 复制来源
|
||||
*/
|
||||
private Long copyFrom;
|
||||
|
||||
/**
|
||||
* 复制ID
|
||||
*/
|
||||
private Long copyId;
|
||||
|
||||
/**
|
||||
* 区间条形图开启时间纬度开启聚合
|
||||
*/
|
||||
private Boolean aggregate;
|
||||
}
|
@ -0,0 +1,83 @@
|
||||
package io.dataease.api.visualization.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class AppCoreDatasetGroupVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 父级ID
|
||||
*/
|
||||
private Long pid;
|
||||
|
||||
/**
|
||||
* 当前分组处于第几级
|
||||
*/
|
||||
private Integer level;
|
||||
|
||||
/**
|
||||
* node类型:folder or dataset
|
||||
*/
|
||||
private String nodeType;
|
||||
|
||||
/**
|
||||
* sql,union
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 连接模式:0-直连,1-同步(包括excel、api等数据存在de中的表)
|
||||
*/
|
||||
private Integer mode;
|
||||
|
||||
/**
|
||||
* 关联关系树
|
||||
*/
|
||||
private String info;
|
||||
|
||||
/**
|
||||
* 创建人ID
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Long createTime;
|
||||
|
||||
private String qrtzInstance;
|
||||
|
||||
/**
|
||||
* 同步状态
|
||||
*/
|
||||
private String syncStatus;
|
||||
|
||||
/**
|
||||
* 更新人ID
|
||||
*/
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 最后同步时间
|
||||
*/
|
||||
private Long lastUpdateTime;
|
||||
|
||||
/**
|
||||
* 关联sql
|
||||
*/
|
||||
private String unionSql;
|
||||
}
|
@ -0,0 +1,114 @@
|
||||
package io.dataease.api.visualization.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class AppCoreDatasetTableFieldVO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 数据源ID
|
||||
*/
|
||||
private Long datasourceId;
|
||||
|
||||
/**
|
||||
* 数据表ID
|
||||
*/
|
||||
private Long datasetTableId;
|
||||
|
||||
/**
|
||||
* 数据集ID
|
||||
*/
|
||||
private Long datasetGroupId;
|
||||
|
||||
/**
|
||||
* 图表ID
|
||||
*/
|
||||
private Long chartId;
|
||||
|
||||
/**
|
||||
* 原始字段名
|
||||
*/
|
||||
private String originName;
|
||||
|
||||
/**
|
||||
* 字段名用于展示
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* de字段名用作唯一标识
|
||||
*/
|
||||
private String dataeaseName;
|
||||
|
||||
/**
|
||||
* de字段别名
|
||||
*/
|
||||
private String fieldShortName;
|
||||
|
||||
/**
|
||||
* 维度/指标标识 d:维度,q:指标
|
||||
*/
|
||||
private String groupType;
|
||||
|
||||
/**
|
||||
* 原始字段类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
private Integer size;
|
||||
|
||||
/**
|
||||
* dataease字段类型:0-文本,1-时间,2-整型数值,3-浮点数值,4-布尔,5-地理位置,6-二进制
|
||||
*/
|
||||
private Integer deType;
|
||||
|
||||
/**
|
||||
* de记录的原始类型
|
||||
*/
|
||||
private Integer deExtractType;
|
||||
|
||||
/**
|
||||
* 是否扩展字段 0原始 1复制 2计算字段...
|
||||
*/
|
||||
private Integer extField;
|
||||
|
||||
/**
|
||||
* 是否选中
|
||||
*/
|
||||
private Boolean checked;
|
||||
|
||||
/**
|
||||
* 列位置
|
||||
*/
|
||||
private Integer columnIndex;
|
||||
|
||||
/**
|
||||
* 同步时间
|
||||
*/
|
||||
private Long lastSyncTime;
|
||||
|
||||
/**
|
||||
* 精度
|
||||
*/
|
||||
private Integer accuracy;
|
||||
|
||||
private String dateFormat;
|
||||
|
||||
/**
|
||||
* 时间格式类型
|
||||
*/
|
||||
private String dateFormatType;
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
package io.dataease.api.visualization.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class AppCoreDatasetTableVO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 物理表名
|
||||
*/
|
||||
private String tableName;
|
||||
|
||||
/**
|
||||
* 数据源ID
|
||||
*/
|
||||
private Long datasourceId;
|
||||
|
||||
/**
|
||||
* 数据集ID
|
||||
*/
|
||||
private Long datasetGroupId;
|
||||
|
||||
/**
|
||||
* db,sql,union,excel,api
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 表原始信息,表名,sql等
|
||||
*/
|
||||
private String info;
|
||||
|
||||
/**
|
||||
* SQL参数
|
||||
*/
|
||||
private String sqlVariableDetails;
|
||||
}
|
@ -0,0 +1,90 @@
|
||||
package io.dataease.api.visualization.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class AppCoreDatasourceTaskVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 数据源ID
|
||||
*/
|
||||
private Long dsId;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 更新方式
|
||||
*/
|
||||
private String updateType;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
private Long startTime;
|
||||
|
||||
/**
|
||||
* 执行频率:0 一次性 1 cron
|
||||
*/
|
||||
private String syncRate;
|
||||
|
||||
/**
|
||||
* cron表达式
|
||||
*/
|
||||
private String cron;
|
||||
|
||||
/**
|
||||
* 简单重复间隔
|
||||
*/
|
||||
private Long simpleCronValue;
|
||||
|
||||
/**
|
||||
* 简单重复类型:分、时、天
|
||||
*/
|
||||
private String simpleCronType;
|
||||
|
||||
/**
|
||||
* 结束限制 0 无限制 1 设定结束时间
|
||||
*/
|
||||
private String endLimit;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
private Long endTime;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Long createTime;
|
||||
|
||||
/**
|
||||
* 上次执行时间
|
||||
*/
|
||||
private Long lastExecTime;
|
||||
|
||||
/**
|
||||
* 上次执行结果
|
||||
*/
|
||||
private String lastExecStatus;
|
||||
|
||||
private String extraData;
|
||||
|
||||
/**
|
||||
* 任务状态
|
||||
*/
|
||||
private String taskStatus;
|
||||
}
|
@ -0,0 +1,82 @@
|
||||
package io.dataease.api.visualization.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class AppCoreDatasourceVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 父级ID
|
||||
*/
|
||||
private Long pid;
|
||||
|
||||
/**
|
||||
* 更新方式:0:替换;1:追加
|
||||
*/
|
||||
private String editType;
|
||||
|
||||
/**
|
||||
* 详细信息
|
||||
*/
|
||||
private String configuration;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Long createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Long updateTime;
|
||||
|
||||
/**
|
||||
* 变更人
|
||||
*/
|
||||
private Long updateBy;
|
||||
|
||||
/**
|
||||
* 创建人ID
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String qrtzInstance;
|
||||
|
||||
/**
|
||||
* 任务状态
|
||||
*/
|
||||
private String taskStatus;
|
||||
|
||||
}
|
@ -1,11 +1,6 @@
|
||||
package io.dataease.api.visualization.vo;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import io.dataease.extensions.datasource.dto.DatasetTableDTO;
|
||||
import io.dataease.extensions.datasource.dto.DatasetTableFieldDTO;
|
||||
import io.dataease.extensions.datasource.dto.DatasourceDTO;
|
||||
import io.dataease.extensions.view.dto.ChartViewDTO;
|
||||
import io.dataease.extensions.view.dto.ChartViewFieldDTO;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -24,20 +19,22 @@ public class VisualizationExport2AppVO {
|
||||
|
||||
private String chartViewsInfo;
|
||||
|
||||
private String chartViewFieldsInfo;
|
||||
private String datasetGroupsInfo;
|
||||
|
||||
private String datasetTablesInfo;
|
||||
|
||||
private String datasetTableFieldsInfo;
|
||||
|
||||
private String datasetTasksInfo;
|
||||
|
||||
private String datasourceInfo;
|
||||
|
||||
private String datasourceTaskInfo;
|
||||
|
||||
private String linkJumps;
|
||||
|
||||
private String linkJumpInfos;
|
||||
|
||||
private String linkJumpTargetInfos;
|
||||
|
||||
private String linkages;
|
||||
|
||||
private String linkageFields;
|
||||
@ -50,23 +47,31 @@ public class VisualizationExport2AppVO {
|
||||
this.checkMes = checkMes;
|
||||
}
|
||||
|
||||
public VisualizationExport2AppVO(List<ChartViewDTO> chartViewsInfo, List<ChartViewFieldDTO> chartViewFieldsInfo,
|
||||
List<DatasetTableDTO> datasetTablesInfo, List<DatasetTableFieldDTO> datasetTableFieldsInfo, List<DatasourceDTO> datasourceInfo, List<VisualizationLinkJumpVO> linkJumps, List<VisualizationLinkJumpInfoVO> linkJumpInfos,
|
||||
List<VisualizationLinkageVO> linkages, List<VisualizationLinkageFieldVO> linkageFields) {
|
||||
List empty = new ArrayList();
|
||||
public VisualizationExport2AppVO(List<AppCoreChartViewVO> chartViewVOInfo,
|
||||
List<AppCoreDatasetGroupVO> datasetGroupVOInfo,
|
||||
List<AppCoreDatasetTableVO> datasetTableVOInfo,
|
||||
List<AppCoreDatasetTableFieldVO> datasetTableFieldVOInfo,
|
||||
List<AppCoreDatasourceVO> datasourceVOInfo,
|
||||
List<AppCoreDatasourceTaskVO> datasourceTaskVOInfo,
|
||||
List<VisualizationLinkJumpVO> linkJumpVOInfo,
|
||||
List<VisualizationLinkJumpInfoVO> linkJumpInfoVOInfo,
|
||||
List<VisualizationLinkJumpTargetViewInfoVO> linkJumpTargetViewVOInfo,
|
||||
List<VisualizationLinkageVO> linkagesVOInfo,
|
||||
List<VisualizationLinkageFieldVO> linkageFieldVOInfo) {
|
||||
List<Object> empty = new ArrayList<>();
|
||||
Gson gson = new Gson();
|
||||
this.checkStatus = true;
|
||||
this.checkMes = "success";
|
||||
this.chartViewsInfo = gson.toJson(chartViewsInfo != null ? chartViewsInfo : empty);
|
||||
this.chartViewFieldsInfo = gson.toJson(chartViewFieldsInfo != null ? chartViewFieldsInfo : empty);
|
||||
this.datasetTablesInfo = gson.toJson(datasetTablesInfo != null ? datasetTablesInfo : empty);
|
||||
this.datasetTableFieldsInfo = gson.toJson(datasetTableFieldsInfo != null ? datasetTableFieldsInfo : empty);
|
||||
this.datasetTasksInfo = gson.toJson(datasetTasksInfo != null ? datasetTasksInfo : empty);
|
||||
this.datasourceInfo = gson.toJson(datasourceInfo != null ? datasourceInfo : empty);
|
||||
this.visualizationViewsInfo = gson.toJson(visualizationViewsInfo != null ? visualizationViewsInfo : empty);
|
||||
this.linkJumps = gson.toJson(linkJumps != null ? linkJumps : empty);
|
||||
this.linkJumpInfos = gson.toJson(linkJumpInfos != null ? linkJumpInfos : empty);
|
||||
this.linkages = gson.toJson(linkages != null ? linkages : empty);
|
||||
this.linkageFields = gson.toJson(linkJumpInfos != null ? linkageFields : empty);
|
||||
this.chartViewsInfo = gson.toJson(chartViewVOInfo != null ? chartViewVOInfo : empty);
|
||||
this.datasetGroupsInfo = gson.toJson(datasetGroupVOInfo != null ? datasetGroupVOInfo : empty);
|
||||
this.datasetTablesInfo = gson.toJson(datasetTableVOInfo != null ? datasetTableVOInfo : empty);
|
||||
this.datasetTableFieldsInfo = gson.toJson(datasetTableFieldVOInfo != null ? datasetTableFieldVOInfo : empty);
|
||||
this.datasourceTaskInfo = gson.toJson(datasourceTaskVOInfo != null ? datasourceTaskVOInfo : empty);
|
||||
this.datasourceInfo = gson.toJson(datasourceVOInfo != null ? datasourceVOInfo : empty);
|
||||
this.linkJumps = gson.toJson(linkJumpVOInfo != null ? linkJumpVOInfo : empty);
|
||||
this.linkJumpInfos = gson.toJson(linkJumpInfoVOInfo != null ? linkJumpInfoVOInfo : empty);
|
||||
this.linkJumpTargetInfos = gson.toJson(linkJumpTargetViewVOInfo != null ? linkJumpTargetViewVOInfo : empty);
|
||||
this.linkages = gson.toJson(linkagesVOInfo != null ? linkagesVOInfo : empty);
|
||||
this.linkageFields = gson.toJson(linkageFieldVOInfo != null ? linkageFieldVOInfo : empty);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user