Merge branch 'dev' into pr@dev_memory_component

This commit is contained in:
dataeaseShu 2022-12-08 09:49:50 +08:00
commit 0336ba1164
11 changed files with 123 additions and 57 deletions

View File

@ -20,9 +20,9 @@ public class PanelConstants {
public final static String PANEL_NODE_TYPE_PANEL = "panel";
public final static String OPT_TYPE_INSERT="insert";
public final static String OPT_TYPE_INSERT = "insert";
public final static String OPT_TYPE_UPDATE="update";
public final static String OPT_TYPE_UPDATE = "update";
public final static String PANEL_GATHER_DEFAULT_PANEL = "default_panel";
@ -68,4 +68,16 @@ public class PanelConstants {
}
//应用数据源来源
public static final class APP_DATASOURCE_FROM {
// 新建
public static final String NEW = "new";
// 复用
public static final String HISTORY = "history";
}
}

View File

@ -29,5 +29,9 @@ public class PanelAppTemplateApplyRequest {
private String appTemplateId;
private String datasourceFrom;
private String datasourceHistoryId;
private List<Datasource> datasourceList;
}

View File

@ -16,40 +16,42 @@
</resultMap>
<select id="query" parameterType="io.dataease.service.panel.applog.AppLogQueryParam" resultMap="BaseResultMapDTO">
select
logInfo.*,
get_auths(logInfo.dataset_group_id,'dataset',#{userId}) as `dataset_privileges`,
get_auths(logInfo.panel_id,'panel',#{userId}) as `panel_privileges`,
get_auths(logInfo.datasource_id,'link',#{userId}) as `datasource_privileges`
from
logInfo.*,
get_auths(logInfo.dataset_group_id,'dataset',#{userId}) as `dataset_privileges`,
get_auths(logInfo.panel_id,'panel',#{userId}) as `panel_privileges`,
get_auths(logInfo.datasource_id,'link',#{userId}) as `datasource_privileges`
from
(select * from
(SELECT
panel_app_template_log.id,
panel_app_template_log.app_template_id,
panel_app_template_log.app_template_name,
datasource.id as datasource_id,
panel_app_template_log.source_datasource_name,
dataset_group.id as dataset_group_id,
panel_app_template_log.source_dataset_group_name,
panel_group.id as panel_id,
panel_app_template_log.source_panel_name,
panel_app_template_log.apply_time,
panel_app_template_log.apply_persion,
panel_app_template_log.is_success,
panel_app_template_log.remark,
panel_group.pid as panel_group_pid,
datasource.type as datasource_type,
dataset_group.pid as dataset_group_pid,
IFNULL(panel_app_template.name,CONCAT(panel_app_template_log.app_template_name,'(Deleted)')) as app_name,
IFNULL(panel_group.name,CONCAT(panel_app_template_log.source_panel_name,'(Deleted)')) as panel_name,
IFNULL(dataset_group.name,CONCAT(panel_app_template_log.source_dataset_group_name,'(Deleted)')) as dataset_group_name,
IFNULL(datasource.`name`,CONCAT(panel_app_template_log.source_datasource_name,'(Deleted)')) as datasource_name
FROM
panel_app_template_log
LEFT JOIN panel_group ON panel_app_template_log.panel_id = panel_group.id
left join dataset_group on panel_app_template_log.dataset_group_id = dataset_group.id
left join datasource on panel_app_template_log.datasource_id = datasource.id
left join panel_app_template on panel_app_template_log.app_template_id = panel_app_template.id
) t
(SELECT
panel_app_template_log.id,
panel_app_template_log.app_template_id,
panel_app_template_log.app_template_name,
datasource.id as datasource_id,
panel_app_template_log.source_datasource_name,
panel_app_template_log.datasource_from,
dataset_group.id as dataset_group_id,
panel_app_template_log.source_dataset_group_name,
panel_group.id as panel_id,
panel_app_template_log.source_panel_name,
panel_app_template_log.apply_time,
panel_app_template_log.apply_persion,
panel_app_template_log.is_success,
panel_app_template_log.remark,
panel_group.pid as panel_group_pid,
datasource.type as datasource_type,
dataset_group.pid as dataset_group_pid,
IFNULL(panel_app_template.name,CONCAT(panel_app_template_log.app_template_name,'(Deleted)')) as app_name,
IFNULL(panel_group.name,CONCAT(panel_app_template_log.source_panel_name,'(Deleted)')) as panel_name,
IFNULL(dataset_group.name,CONCAT(panel_app_template_log.source_dataset_group_name,'(Deleted)')) as
dataset_group_name,
IFNULL(datasource.`name`,CONCAT(panel_app_template_log.source_datasource_name,'(Deleted)')) as datasource_name
FROM
panel_app_template_log
LEFT JOIN panel_group ON panel_app_template_log.panel_id = panel_group.id
left join dataset_group on panel_app_template_log.dataset_group_id = dataset_group.id
left join datasource on panel_app_template_log.datasource_id = datasource.id
left join panel_app_template on panel_app_template_log.app_template_id = panel_app_template.id
) t
where 1=1
<if test="extendCondition != null">
and

View File

@ -137,13 +137,18 @@ public class PanelAppTemplateService {
}
@Transactional(rollbackFor = Exception.class)
public Map<String, String> applyDatasource(List<Datasource> oldDatasourceList, List<Datasource> newDatasourceList) throws Exception {
public Map<String, String> applyDatasource(List<Datasource> oldDatasourceList, PanelAppTemplateApplyRequest request) throws Exception {
Map<String, String> datasourceRealMap = new HashMap<>();
for (int i = 0; i < newDatasourceList.size(); i++) {
Datasource datasource = newDatasourceList.get(0);
datasource.setId(null);
Datasource newDatasource = datasourceService.addDatasource(datasource);
datasourceRealMap.put(oldDatasourceList.get(i).getId(), newDatasource.getId());
if (PanelConstants.APP_DATASOURCE_FROM.HISTORY.equals(request.getDatasourceFrom())) {
datasourceRealMap.put(oldDatasourceList.get(0).getId(), request.getDatasourceHistoryId());
} else {
List<Datasource> newDatasourceList = request.getDatasourceList();
for (int i = 0; i < newDatasourceList.size(); i++) {
Datasource datasource = newDatasourceList.get(0);
datasource.setId(null);
Datasource newDatasource = datasourceService.addDatasource(datasource);
datasourceRealMap.put(oldDatasourceList.get(i).getId(), newDatasource.getId());
}
}
return datasourceRealMap;
}
@ -366,18 +371,22 @@ public class PanelAppTemplateService {
datasetGroup.setPid(request.getDatasetGroupPid());
datasetGroup.setName(request.getDatasetGroupName());
dataSetGroupService.checkName(datasetGroup);
request.getDatasourceList().stream().forEach(datasource -> {
datasourceService.checkName(datasource.getName(), datasource.getType(), null);
});
if (PanelConstants.APP_DATASOURCE_FROM.NEW.equals(request.getDatasourceFrom())) {
request.getDatasourceList().stream().forEach(datasource -> {
datasourceService.checkName(datasource.getName(), datasource.getType(), null);
});
}
} else {
DatasetGroup datasetGroup = new DatasetGroup();
datasetGroup.setPid(request.getDatasetGroupPid());
datasetGroup.setName(request.getDatasetGroupName());
datasetGroup.setId(request.getDatasetGroupId());
dataSetGroupService.checkName(datasetGroup);
request.getDatasourceList().stream().forEach(datasource -> {
datasourceService.checkName(datasource.getName(), datasource.getType(), datasource.getId());
});
if (PanelConstants.APP_DATASOURCE_FROM.NEW.equals(request.getDatasourceFrom())) {
request.getDatasourceList().stream().forEach(datasource -> {
datasourceService.checkName(datasource.getName(), datasource.getType(), datasource.getId());
});
}
}
}

View File

@ -898,7 +898,7 @@ public class PanelGroupService {
List<PanelView> panelViewsInfo = gson.fromJson(appInfo.getPanelViewsInfo(), new TypeToken<List<PanelView>>() {
}.getType());
Map<String, String> datasourceRealMap = panelAppTemplateService.applyDatasource(oldDatasourceInfo, request.getDatasourceList());
Map<String, String> datasourceRealMap = panelAppTemplateService.applyDatasource(oldDatasourceInfo, request);
Map<String, String> datasetsRealMap = panelAppTemplateService.applyDataset(datasetTablesInfo, datasourceRealMap, asideDatasetGroupId);
@ -909,7 +909,7 @@ public class PanelGroupService {
Map<String, String> datasetFieldsRealMap = panelAppTemplateService.applyDatasetField(datasetTableFieldsInfo, datasetsRealMap, datasetTypeRealMap, datasetFieldsMd5FormatRealMap);
panelAppTemplateService.createDorisTable(datasetTablesInfo);
panelAppTemplateService.resetCustomAndUnionDataset(datasetTablesInfo, datasetsRealMap, datasetFieldsRealMap);
Map<String, String> chartViewsRealMap = panelAppTemplateService.applyViews(chartViewsInfo, datasetsRealMap, datasetFieldsRealMap, datasetFieldsMd5FormatRealMap, newPanelId);
@ -922,17 +922,19 @@ public class PanelGroupService {
String newDatasourceId = datasourceRealMap.entrySet().stream().findFirst().get().getValue();
String newDatasourceName = request.getDatasourceList().get(0).getName();
PanelAppTemplateLog templateLog = new PanelAppTemplateLog();
templateLog.setPanelId(newPanelId);
templateLog.setSourcePanelName(request.getPanelName());
templateLog.setDatasourceId(newDatasourceId);
templateLog.setSourceDatasourceName(newDatasourceName);
if (PanelConstants.APP_DATASOURCE_FROM.NEW.equals(request.getDatasourceFrom())) {
templateLog.setSourceDatasourceName(request.getDatasourceList().get(0).getName());
}
templateLog.setDatasetGroupId(asideDatasetGroupId);
templateLog.setSourceDatasetGroupName(request.getDatasetGroupName());
templateLog.setAppTemplateId(appInfo.getId());
templateLog.setAppTemplateName(appInfo.getName());
templateLog.setDatasourceFrom(request.getDatasourceFrom());
appTemplateLogService.newAppApplyLog(templateLog);
return newPanelId;
}

View File

@ -0,0 +1,2 @@
ALTER TABLE `panel_app_template_log`
ADD COLUMN `datasource_from` varchar(255) NULL DEFAULT 'new' COMMENT '数据源来源' AFTER `datasource_id`;

View File

@ -2748,6 +2748,9 @@ export default {
'I18N_USER_TEMPLATE_ERROR': 'Template file error',
'i18n_max_user_import_size': 'File size exceeds 10M',
app_template: {
datasource_new: 'New',
datasource_history: 'Multiplexing',
datasource_from: 'Datasource From',
apply_template: 'Apply template',
execution_time: 'Execution time',
app_manager: 'Application management',

View File

@ -2742,6 +2742,9 @@ export default {
'I18N_USER_TEMPLATE_ERROR': '模版錯誤',
'i18n_max_user_import_size': '文件最大不能超過10M',
app_template: {
datasource_new: '新建',
datasource_history: '復用',
datasource_from: '數據來源',
apply_template: '應用模版',
execution_time: '执行时间',
app_manager: '應用管理',

View File

@ -2742,6 +2742,9 @@ export default {
'I18N_USER_TEMPLATE_ERROR': '模版错误',
'i18n_max_user_import_size': '文件最大不能超过10M',
app_template: {
datasource_new: '新建',
datasource_history: '复用',
datasource_from: '数据来源',
apply_template: '应用模板',
execution_time: '执行时间',
app_manager: '应用管理',

View File

@ -36,8 +36,8 @@
icon="iconfont icon-icon-filter"
@click="filterShow"
>{{
$t('user.filter')
}}
$t('user.filter')
}}
<template v-if="filterTexts.length">
({{ cacheCondition.length }})
</template>
@ -50,7 +50,7 @@
>
<span class="sum">{{ paginationConfig.total }}</span>
<span class="title">{{ $t('user.result_one') }}</span>
<el-divider direction="vertical" />
<el-divider direction="vertical"/>
<i
v-if="showScroll"
class="el-icon-arrow-left arrow-filter"
@ -63,9 +63,9 @@
class="text"
>
{{ ele }} <i
class="el-icon-close"
@click="clearOneFilter(index)"
/>
class="el-icon-close"
@click="clearOneFilter(index)"
/>
</p>
</div>
<i
@ -306,6 +306,8 @@ export default {
},
editApply(item) {
const param = {
datasourceFrom: item.datasourceFrom,
datasourceHistoryId: item.datasourceFrom === 'history' ? item.datasourceId : null,
datasourceType: item.datasourceType,
logId: item.id,
panelId: item.panelId,

View File

@ -57,6 +57,30 @@
@setParams="setParams"
/>
</div>
<div
v-if="positionCheck('appMarket') && attachForm.datasourceFrom === 'history'"
class="de-ds-bottom"
>
<div
class="apply"
style="width: 100%"
>
<template v-if="canEdit">
<deBtn
secondary
@click="closeDraw"
>{{ $t('commons.cancel') }}
</deBtn>
<deBtn
v-if="formType === 'add'"
type="primary"
@click="saveAppMarketHistory"
>{{ $t('commons.save') }}
</deBtn>
</template>
</div>
</div>
</div>
</template>