Merge remote-tracking branch 'origin/v1.1' into v1.1
This commit is contained in:
commit
f50fb95b51
@ -1,6 +1,5 @@
|
||||
package io.dataease.base.mapper.ext;
|
||||
|
||||
import io.dataease.base.domain.DatasetTableTaskLog;
|
||||
import io.dataease.base.mapper.ext.query.GridExample;
|
||||
import io.dataease.dto.dataset.DataSetTaskDTO;
|
||||
import io.dataease.dto.dataset.DataSetTaskLogDTO;
|
||||
|
||||
@ -7,7 +7,6 @@ import io.dataease.commons.utils.PageUtils;
|
||||
import io.dataease.commons.utils.Pager;
|
||||
import io.dataease.controller.request.dataset.DataSetTaskRequest;
|
||||
import io.dataease.controller.sys.base.BaseGridRequest;
|
||||
import io.dataease.controller.sys.response.SysUserGridResponse;
|
||||
import io.dataease.dto.dataset.DataSetTaskDTO;
|
||||
import io.dataease.service.dataset.DataSetTableTaskLogService;
|
||||
import io.dataease.service.dataset.DataSetTableTaskService;
|
||||
|
||||
@ -185,7 +185,7 @@ public class DorisQueryProvider extends QueryProvider {
|
||||
// 处理横轴字段
|
||||
xFields.add(getXFields(x, originField, fieldAlias));
|
||||
// 处理横轴过滤
|
||||
xWheres.addAll(getXWheres(x, originField, fieldAlias));
|
||||
// xWheres.addAll(getXWheres(x, originField, fieldAlias));
|
||||
// 处理横轴排序
|
||||
if (StringUtils.isNotEmpty(x.getSort()) && !StringUtils.equalsIgnoreCase(x.getSort(), "none")) {
|
||||
xOrders.add(SQLObj.builder()
|
||||
|
||||
@ -175,7 +175,7 @@ public class MysqlQueryProvider extends QueryProvider {
|
||||
// 处理横轴字段
|
||||
xFields.add(getXFields(x, originField, fieldAlias));
|
||||
// 处理横轴过滤
|
||||
xWheres.addAll(getXWheres(x, originField, fieldAlias));
|
||||
// xWheres.addAll(getXWheres(x, originField, fieldAlias));
|
||||
// 处理横轴排序
|
||||
if (StringUtils.isNotEmpty(x.getSort()) && !StringUtils.equalsIgnoreCase(x.getSort(), "none")) {
|
||||
xOrders.add(SQLObj.builder()
|
||||
|
||||
@ -209,7 +209,7 @@ public class OracleQueryProvider extends QueryProvider {
|
||||
// 处理横轴字段
|
||||
xFields.add(getXFields(x, originField, fieldAlias));
|
||||
// 处理横轴过滤
|
||||
xWheres.addAll(getXWheres(x, originField, fieldAlias));
|
||||
// xWheres.addAll(getXWheres(x, originField, fieldAlias));
|
||||
// 处理横轴排序
|
||||
if (StringUtils.isNotEmpty(x.getSort()) && !StringUtils.equalsIgnoreCase(x.getSort(), "none")) {
|
||||
xOrders.add(SQLObj.builder()
|
||||
|
||||
@ -6,7 +6,6 @@ import io.dataease.base.mapper.DatasetTableMapper;
|
||||
import io.dataease.base.mapper.DatasetTableTaskMapper;
|
||||
import io.dataease.base.mapper.DatasourceMapper;
|
||||
import io.dataease.base.mapper.ext.ExtChartViewMapper;
|
||||
import io.dataease.base.mapper.ext.UtilMapper;
|
||||
import io.dataease.commons.constants.*;
|
||||
import io.dataease.commons.model.AuthURD;
|
||||
import io.dataease.commons.utils.*;
|
||||
@ -90,8 +89,6 @@ public class ExtractDataService {
|
||||
private DatasourceService datasourceService;
|
||||
@Resource
|
||||
private ExtChartViewMapper extChartViewMapper;
|
||||
@Resource
|
||||
private UtilMapper utilMapper;
|
||||
|
||||
private static String lastUpdateTime = "${__last_update_time__}";
|
||||
private static String currentUpdateTime = "${__current_update_time__}";
|
||||
@ -270,6 +267,9 @@ public class ExtractDataService {
|
||||
});
|
||||
String dorisTablColumnSql = createDorisTablColumnSql(datasetTableFields);
|
||||
|
||||
boolean msg = false;
|
||||
JobStatus jobStatus = JobStatus.Completed;
|
||||
Long execTime = null;
|
||||
switch (updateType) {
|
||||
case all_scope: // 全量更新
|
||||
try {
|
||||
@ -284,29 +284,22 @@ public class ExtractDataService {
|
||||
} else {
|
||||
generateJobFile("all_scope", datasetTable, String.join(",", datasetTableFields.stream().map(DatasetTableField::getDataeaseName).collect(Collectors.toList())));
|
||||
}
|
||||
Long execTime = System.currentTimeMillis();
|
||||
execTime = System.currentTimeMillis();
|
||||
extractData(datasetTable, "all_scope");
|
||||
replaceTable(DorisTableUtils.dorisName(datasetTableId));
|
||||
saveSucessLog(datasetTableTaskLog);
|
||||
|
||||
sendWebMsg(datasetTable, datasetTableTask, datasetTableTaskLog, true);
|
||||
|
||||
deleteFile("all_scope", datasetTableId);
|
||||
|
||||
updateTableStatus(datasetTableId, datasetTable, JobStatus.Completed, execTime);
|
||||
|
||||
dataSetTableTaskService.updateTaskStatus(datasetTableTask, JobStatus.Completed);
|
||||
|
||||
msg = true;
|
||||
jobStatus = JobStatus.Completed;
|
||||
} catch (Exception e) {
|
||||
saveErrorLog(datasetTableId, taskId, e);
|
||||
|
||||
dataSetTableTaskService.updateTaskStatus(datasetTableTask, JobStatus.Error);
|
||||
|
||||
sendWebMsg(datasetTable, datasetTableTask, datasetTableTaskLog,false);
|
||||
updateTableStatus(datasetTableId, datasetTable, JobStatus.Error, null);
|
||||
dropDorisTable(DorisTableUtils.dorisTmpName(DorisTableUtils.dorisName(datasetTableId)));
|
||||
deleteFile("all_scope", datasetTableId);
|
||||
msg = false;
|
||||
jobStatus = JobStatus.Error;
|
||||
} finally {
|
||||
try { deleteFile("all_scope", datasetTableId); }catch (Exception ignore){}
|
||||
try { sendWebMsg(datasetTable, datasetTableTask, datasetTableTaskLog, msg); }catch (Exception ignore){}
|
||||
try { dataSetTableTaskService.updateTaskStatus(datasetTableTask, jobStatus); }catch (Exception ignore){}
|
||||
try { updateTableStatus(datasetTableId, datasetTable, jobStatus, execTime); }catch (Exception ignore){}
|
||||
try { dropDorisTable(DorisTableUtils.dorisTmpName(DorisTableUtils.dorisName(datasetTableId))); }catch (Exception ignore){}
|
||||
}
|
||||
break;
|
||||
|
||||
@ -326,7 +319,7 @@ public class ExtractDataService {
|
||||
if (datasetTableTask == null ) {
|
||||
datasetTableTaskLog = writeDatasetTableTaskLog(datasetTableId, taskId);
|
||||
}
|
||||
Long execTime = System.currentTimeMillis();
|
||||
execTime = System.currentTimeMillis();
|
||||
if (StringUtils.isNotEmpty(datasetTableIncrementalConfig.getIncrementalAdd()) && StringUtils.isNotEmpty(datasetTableIncrementalConfig.getIncrementalAdd().replace(" ", ""))) {// 增量添加
|
||||
String sql = datasetTableIncrementalConfig.getIncrementalAdd().replace(lastUpdateTime, datasetTable.getLastUpdateTime().toString())
|
||||
.replace(currentUpdateTime, Long.valueOf(System.currentTimeMillis()).toString());
|
||||
@ -344,24 +337,17 @@ public class ExtractDataService {
|
||||
}
|
||||
saveSucessLog(datasetTableTaskLog);
|
||||
|
||||
sendWebMsg(datasetTable, datasetTableTask, datasetTableTaskLog,true);
|
||||
|
||||
deleteFile("incremental_add", datasetTableId);
|
||||
deleteFile("incremental_delete", datasetTableId);
|
||||
|
||||
updateTableStatus(datasetTableId, datasetTable, JobStatus.Completed, execTime);
|
||||
|
||||
dataSetTableTaskService.updateTaskStatus(datasetTableTask, JobStatus.Completed);
|
||||
msg = true;
|
||||
jobStatus = JobStatus.Completed;
|
||||
} catch (Exception e) {
|
||||
saveErrorLog(datasetTableId, taskId, e);
|
||||
sendWebMsg(datasetTable, datasetTableTask, datasetTableTaskLog,false);
|
||||
updateTableStatus(datasetTableId, datasetTable, JobStatus.Error, null);
|
||||
|
||||
dataSetTableTaskService.updateTaskStatus(datasetTableTask, JobStatus.Error);
|
||||
|
||||
deleteFile("incremental_add", datasetTableId);
|
||||
deleteFile("incremental_delete", datasetTableId);
|
||||
msg = false;
|
||||
jobStatus = JobStatus.Error;
|
||||
} finally {
|
||||
try { deleteFile("incremental_add", datasetTableId); deleteFile("incremental_delete", datasetTableId); }catch (Exception ignore){}
|
||||
try { sendWebMsg(datasetTable, datasetTableTask, datasetTableTaskLog, msg); }catch (Exception ignore){}
|
||||
try { dataSetTableTaskService.updateTaskStatus(datasetTableTask, jobStatus); }catch (Exception ignore){}
|
||||
try { updateTableStatus(datasetTableId, datasetTable, jobStatus, execTime); }catch (Exception ignore){}
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -868,13 +854,18 @@ public class ExtractDataService {
|
||||
textFileOutputMeta.setExtension(extention);
|
||||
|
||||
if (datasource.getType().equalsIgnoreCase(DatasourceTypes.oracle.name())) {
|
||||
TextFileField[] outputFields = new TextFileField[datasetTableFields.size()];
|
||||
TextFileField[] outputFields = new TextFileField[datasetTableFields.size() + 1];
|
||||
for(int i=0;i< datasetTableFields.size();i++){
|
||||
TextFileField textFileField = new TextFileField();
|
||||
textFileField.setName(datasetTableFields.get(i).getOriginName());
|
||||
textFileField.setType("String");
|
||||
outputFields[i] = textFileField;
|
||||
}
|
||||
TextFileField textFileField = new TextFileField();
|
||||
textFileField.setName("dataease_uuid");
|
||||
textFileField.setType("String");
|
||||
outputFields[datasetTableFields.size()] = textFileField;
|
||||
|
||||
textFileOutputMeta.setOutputFields(outputFields);
|
||||
}else {
|
||||
textFileOutputMeta.setOutputFields(new TextFileField[0]);
|
||||
|
||||
@ -274,10 +274,12 @@ public class SysMsgService {
|
||||
@Cacheable(value = SysMsgConstants.SYS_MSG_USER_SUBSCRIBE, key = "#userId")
|
||||
public List<SubscribeNode> subscribes(Long userId) {
|
||||
SysMsgSettingExample example = new SysMsgSettingExample();
|
||||
example.createCriteria().andUserIdEqualTo(userId).andEnableEqualTo(true);
|
||||
/*example.createCriteria().andUserIdEqualTo(userId).andEnableEqualTo(true);*/
|
||||
example.createCriteria().andUserIdEqualTo(userId);
|
||||
List<SysMsgSetting> sysMsgSettings = sysMsgSettingMapper.selectByExample(example);
|
||||
// 添加默认订阅
|
||||
sysMsgSettings = addDefault(sysMsgSettings);
|
||||
sysMsgSettings = sysMsgSettings.stream().filter(SysMsgSetting::getEnable).collect(Collectors.toList());
|
||||
// sysMsgSettings.addAll(defaultSettings());
|
||||
List<SubscribeNode> resultLists = sysMsgSettings.stream().map(item -> {
|
||||
SubscribeNode subscribeNode = new SubscribeNode();
|
||||
|
||||
@ -0,0 +1 @@
|
||||
UPDATE `chart_view` SET `custom_filter` = '[]';
|
||||
@ -138,6 +138,7 @@ export default {
|
||||
|
||||
methods: {
|
||||
close() {
|
||||
this.clearCanvas()
|
||||
this.$emit('close-left-panel')
|
||||
this.$nextTick(() => {
|
||||
bus.$emit('PanelSwitchComponent', { name: 'PanelMain' })
|
||||
|
||||
@ -249,10 +249,8 @@ export default {
|
||||
this.table = {}
|
||||
this.checkedList = []
|
||||
this.unionData = []
|
||||
this.height = 500
|
||||
this.data = []
|
||||
this.fields = []
|
||||
this.customType = ['db', 'sql', 'excel']
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -270,7 +270,7 @@ export default {
|
||||
type: 'excel',
|
||||
mode: parseInt(this.mode),
|
||||
// info: '{"data":"' + this.path + '"}',
|
||||
info: JSON.stringify({ data: this.path }),
|
||||
info: JSON.stringify({ data: this.path, sheets: [this.sheets[0]] }),
|
||||
editType: this.param.editType ? this.param.editType : 0
|
||||
}
|
||||
}
|
||||
|
||||
@ -307,16 +307,12 @@ export default {
|
||||
|
||||
resetComponent() {
|
||||
this.dataSource = ''
|
||||
this.options = []
|
||||
this.name = ''
|
||||
this.sql = ''
|
||||
this.data = []
|
||||
this.fields = []
|
||||
this.mode = '0'
|
||||
this.syncType = 'sync_now'
|
||||
this.height = 500
|
||||
this.kettleRunning = false
|
||||
this.$refs.plxTable.reloadData(this.data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<el-col>
|
||||
<el-row>
|
||||
<el-button v-if="hasDataPermission('manage',param.privileges) || table.type !== 'excel'" icon="el-icon-setting" size="mini" @click="showConfig">
|
||||
<el-button v-if="hasDataPermission('manage',param.privileges) && table.type !== 'excel'" icon="el-icon-setting" size="mini" @click="showConfig">
|
||||
{{ $t('dataset.update_setting') }}
|
||||
</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="refreshLog">
|
||||
@ -149,9 +149,9 @@
|
||||
|
||||
<el-form-item class="form-item">
|
||||
<el-select v-model="taskForm.extraData.simple_cron_type" filterable size="mini" @change="onSimpleCronChange()" >
|
||||
<el-option :label="$t('cron.minute')" value="minute" />
|
||||
<el-option :label="$t('cron.hour')" value="hour" />
|
||||
<el-option :label="$t('cron.day')" value="day" />
|
||||
<el-option :label="$t('cron.minute_default')" value="minute" />
|
||||
<el-option :label="$t('cron.hour_default')" value="hour" />
|
||||
<el-option :label="$t('cron.day_default')" value="day" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item class="form-item" :label="$t('cron.every_exec')">
|
||||
|
||||
@ -93,7 +93,7 @@ export default {
|
||||
rule: {
|
||||
username: [
|
||||
{ required: true, message: this.$t('user.input_id'), trigger: 'blur' },
|
||||
{ min: 1, max: 50, message: this.$t('commons.input_limit', [1, 50]), trigger: 'blur' },
|
||||
{ min: 2, max: 10, message: this.$t('commons.input_limit', [2, 10]), trigger: 'blur' },
|
||||
{
|
||||
required: true,
|
||||
pattern: '^[^\u4e00-\u9fa5]+$',
|
||||
@ -103,7 +103,7 @@ export default {
|
||||
],
|
||||
nickName: [
|
||||
{ required: true, message: this.$t('user.input_name'), trigger: 'blur' },
|
||||
{ min: 2, max: 50, message: this.$t('commons.input_limit', [2, 50]), trigger: 'blur' },
|
||||
{ min: 2, max: 10, message: this.$t('commons.input_limit', [2, 10]), trigger: 'blur' },
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('user.special_characters_are_not_supported'),
|
||||
|
||||
Loading…
Reference in New Issue
Block a user