fix: 修复excel 替换/追加
This commit is contained in:
parent
ddae50a762
commit
7cc006fe4a
@ -267,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 {
|
||||
@ -281,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;
|
||||
|
||||
@ -323,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());
|
||||
@ -341,28 +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 {
|
||||
if (datasetTableTask.getRate().equalsIgnoreCase(ScheduleType.SIMPLE.toString())) {
|
||||
datasetTableTask.setStatus(TaskStatus.Stopped.name());
|
||||
dataSetTableTaskService.update(datasetTableTask);
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@ -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">
|
||||
@ -96,7 +96,7 @@
|
||||
append-to-body
|
||||
>
|
||||
<el-col>
|
||||
<el-form ref="taskForm" :form="taskForm" :model="taskForm" label-width="100px" size="mini" :rules="taskFormRules">
|
||||
<el-form :form="taskForm" :model="taskForm" label-width="100px" size="mini" ref="taskForm" :rules="taskFormRules">
|
||||
<el-form-item :label="$t('dataset.task_name')" prop="name">
|
||||
<el-input
|
||||
v-model="taskForm.name"
|
||||
@ -143,15 +143,15 @@
|
||||
|
||||
<el-form-item v-if="taskForm.rate === 'SIMPLE_CRON'" label="">
|
||||
<el-form :inline="true">
|
||||
<el-form-item :label="$t('cron.every')">
|
||||
<el-form-item :label="$t('cron.every')" >
|
||||
<el-input v-model="taskForm.extraData.simple_cron_value" size="mini" type="number" min="1" @change="onSimpleCronChange()" />
|
||||
</el-form-item>
|
||||
|
||||
<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-select v-model="taskForm.extraData.simple_cron_type" filterable size="mini" @change="onSimpleCronChange()" >
|
||||
<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')" />
|
||||
@ -534,7 +534,7 @@ export default {
|
||||
}
|
||||
this.incrementalConfig.tableId = this.table.id
|
||||
let startTime = new Date(task.startTime).getTime()
|
||||
if (startTime < new Date().getTime()) {
|
||||
if(startTime < new Date().getTime()){
|
||||
startTime = new Date().getTime()
|
||||
}
|
||||
task.startTime = startTime
|
||||
@ -558,9 +558,10 @@ export default {
|
||||
this.listTask()
|
||||
this.listTaskLog()
|
||||
})
|
||||
} else {
|
||||
}else {
|
||||
return false
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
deleteTask(task) {
|
||||
@ -588,27 +589,27 @@ export default {
|
||||
},
|
||||
onSimpleCronChange() {
|
||||
if (this.taskForm.extraData.simple_cron_type === 'minute') {
|
||||
if (this.taskForm.extraData.simple_cron_value < 1 || this.taskForm.extraData.simple_cron_value > 59) {
|
||||
this.$message({ message: this.$t('cron.minute_limit'), type: 'warning', showClose: true })
|
||||
if(this.taskForm.extraData.simple_cron_value < 1 || this.taskForm.extraData.simple_cron_value > 59){
|
||||
this.$message({message: this.$t('cron.minute_limit'), type: 'warning', showClose: true})
|
||||
this.taskForm.extraData.simple_cron_value = 59
|
||||
}
|
||||
this.taskForm.cron = '0 0/' + this.taskForm.extraData.simple_cron_value + ' * * * ? *'
|
||||
this.taskForm.cron = '0 0/'+ this.taskForm.extraData.simple_cron_value + ' * * * ? *'
|
||||
return
|
||||
}
|
||||
if (this.taskForm.extraData.simple_cron_type === 'hour') {
|
||||
if (this.taskForm.extraData.simple_cron_value < 1 || this.taskForm.extraData.simple_cron_value > 23) {
|
||||
this.$message({ message: this.$t('cron.hour_limit'), type: 'warning', showClose: true })
|
||||
if(this.taskForm.extraData.simple_cron_value < 1 || this.taskForm.extraData.simple_cron_value > 23){
|
||||
this.$message({message: this.$t('cron.hour_limit'), type: 'warning', showClose: true})
|
||||
this.taskForm.extraData.simple_cron_value = 23
|
||||
}
|
||||
this.taskForm.cron = '0 0 0/' + this.taskForm.extraData.simple_cron_value + ' * * ? *'
|
||||
this.taskForm.cron = '0 0 0/'+ this.taskForm.extraData.simple_cron_value + ' * * ? *'
|
||||
return
|
||||
}
|
||||
if (this.taskForm.extraData.simple_cron_type === 'day') {
|
||||
if (this.taskForm.extraData.simple_cron_value < 1 || this.taskForm.extraData.simple_cron_value > 31) {
|
||||
this.$message({ message: this.$t('cron.day_limit'), type: 'warning', showClose: true })
|
||||
if(this.taskForm.extraData.simple_cron_value < 1 || this.taskForm.extraData.simple_cron_value > 31){
|
||||
this.$message({message: this.$t('cron.day_limit'), type: 'warning', showClose: true})
|
||||
this.taskForm.extraData.simple_cron_value = 31
|
||||
}
|
||||
this.taskForm.cron = '0 0 0 1/' + this.taskForm.extraData.simple_cron_value + ' * ? *'
|
||||
this.taskForm.cron = '0 0 0 1/'+ this.taskForm.extraData.simple_cron_value + ' * ? *'
|
||||
return
|
||||
}
|
||||
},
|
||||
@ -618,15 +619,15 @@ export default {
|
||||
this.taskForm.endTime = ''
|
||||
this.taskForm.cron = ''
|
||||
}
|
||||
if (this.taskForm.rate === 'SIMPLE_CRON') {
|
||||
if (this.taskForm.rate === 'SIMPLE_CRON'){
|
||||
this.taskForm.cron = '0 0 0/1 * * ? *'
|
||||
}
|
||||
if (this.taskForm.rate === 'CRON') {
|
||||
if (this.taskForm.rate === 'CRON'){
|
||||
this.taskForm.cron = '00 00 * ? * * *'
|
||||
}
|
||||
},
|
||||
listTaskLog(loading = true) {
|
||||
const params = { 'conditions': [{ 'field': 'dataset_table_task_log.table_id', 'operator': 'eq', 'value': this.table.id }], 'orders': [] }
|
||||
const params = {"conditions":[{"field":"dataset_table_task_log.table_id","operator":"eq","value": this.table.id}],"orders":[]}
|
||||
post('/dataset/taskLog/list/' + this.table.type + '/' + this.page.currentPage + '/' + this.page.pageSize, params, loading).then(response => {
|
||||
this.taskLogData = response.data.listObject
|
||||
this.page.total = response.data.itemCount
|
||||
|
||||
Loading…
Reference in New Issue
Block a user