提交 e4ac5dae authored 作者: taojinlong's avatar taojinlong

fix: 更新任务状态

上级 051ce44e
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
<resultMap id="BaseResult" type="io.dataease.dto.dataset.DataSetTaskLogDTO" <resultMap id="BaseResult" type="io.dataease.dto.dataset.DataSetTaskLogDTO"
extends="io.dataease.base.mapper.DatasetTableTaskLogMapper.BaseResultMap"> extends="io.dataease.base.mapper.DatasetTableTaskLogMapper.BaseResultMap">
<result column="name" jdbcType="VARCHAR" property="name"/> <result column="name" jdbcType="VARCHAR" property="name"/>
<result column="dataset_name" jdbcType="VARCHAR" property="datasetName"/>
</resultMap> </resultMap>
<resultMap id="TaskResult" type="io.dataease.dto.dataset.DataSetTaskDTO" extends="io.dataease.base.mapper.DatasetTableTaskMapper.BaseResultMap"> <resultMap id="TaskResult" type="io.dataease.dto.dataset.DataSetTaskDTO" extends="io.dataease.base.mapper.DatasetTableTaskMapper.BaseResultMap">
...@@ -13,7 +14,7 @@ ...@@ -13,7 +14,7 @@
</resultMap> </resultMap>
<select id="list" resultMap="BaseResult" parameterType="io.dataease.base.domain.DatasetTableTaskLog"> <select id="list" resultMap="BaseResult" parameterType="io.dataease.base.domain.DatasetTableTaskLog">
SELECT dataset_table_task_log.*, dataset_table_task.name SELECT dataset_table_task_log.*, dataset_table_task.name, dataset_table.name as dataset_name
FROM dataset_table_task_log FROM dataset_table_task_log
LEFT JOIN dataset_table_task ON dataset_table_task_log.task_id = dataset_table_task.id LEFT JOIN dataset_table_task ON dataset_table_task_log.task_id = dataset_table_task.id
LEFT JOIN dataset_table ON dataset_table_task_log.table_id = dataset_table.id LEFT JOIN dataset_table ON dataset_table_task_log.table_id = dataset_table.id
......
...@@ -12,4 +12,5 @@ import lombok.Setter; ...@@ -12,4 +12,5 @@ import lombok.Setter;
@Setter @Setter
public class DataSetTaskLogDTO extends DatasetTableTaskLog { public class DataSetTaskLogDTO extends DatasetTableTaskLog {
private String name; private String name;
private String datasetName;
} }
...@@ -51,7 +51,9 @@ public class DataSetTableTaskLogService { ...@@ -51,7 +51,9 @@ public class DataSetTableTaskLogService {
if(!type.equalsIgnoreCase("excel")){ if(!type.equalsIgnoreCase("excel")){
ConditionEntity entity = new ConditionEntity(); ConditionEntity entity = new ConditionEntity();
entity.setField("task_id"); entity.setField("task_id");
entity.setOperator("not null"); entity.setOperator("not in");
List<String>status = new ArrayList<>();status.add("初始导入");status.add("替换");status.add("追加");
entity.setValue(status);
List<ConditionEntity> conditionEntities = request.getConditions(); List<ConditionEntity> conditionEntities = request.getConditions();
if(CollectionUtils.isEmpty(conditionEntities)){ if(CollectionUtils.isEmpty(conditionEntities)){
conditionEntities = new ArrayList<>(); conditionEntities = new ArrayList<>();
......
<template> <template>
<de-container> <de-container>
<de-aside-container> <de-aside-container>
<dataset-group-selector-tree @getTable="getTable" :mode=mode :type=type :showMode=showMode /> <dataset-group-selector-tree @getTable="getTable" :mode=mode :type=type :customType=customType :showMode=showMode />
</de-aside-container> </de-aside-container>
<de-main-container> <de-main-container>
<dataset-table-data :table="table" /> <dataset-table-data :table="table" />
...@@ -39,7 +39,12 @@ export default { ...@@ -39,7 +39,12 @@ export default {
type: String, type: String,
required: false, required: false,
default: null default: null
} },
customType: {
type: Array,
required: false,
default: null
},
}, },
data() { data() {
return { return {
......
...@@ -96,7 +96,7 @@ ...@@ -96,7 +96,7 @@
append-to-body append-to-body
> >
<el-col> <el-col>
<el-form :form="taskForm" label-width="100px" size="mini"> <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-form-item :label="$t('dataset.task_name')" prop="name">
<el-input <el-input
v-model="taskForm.name" v-model="taskForm.name"
...@@ -362,7 +362,8 @@ export default { ...@@ -362,7 +362,8 @@ export default {
taskData: [], taskData: [],
taskFormRules: { taskFormRules: {
name: [ name: [
{ required: true, message: this.$t('dataset.required'), trigger: 'change' } { required: true, message: this.$t('dataset.required'), trigger: 'change' },
{ min: 2, max: 50, message: this.$t('datasource.input_limit_0_50', [2, 50]), trigger: 'blur' }
], ],
type: [ type: [
{ required: true, message: this.$t('dataset.required'), trigger: 'change' } { required: true, message: this.$t('dataset.required'), trigger: 'change' }
...@@ -525,31 +526,43 @@ export default { ...@@ -525,31 +526,43 @@ export default {
}) })
}, },
saveTask(task) { saveTask(task) {
if (this.incrementalUpdateType === 'incrementalAdd') { this.$refs.taskForm.validate(valid => {
this.incrementalConfig.incrementalAdd = this.sql if (valid) {
} else { if (this.incrementalUpdateType === 'incrementalAdd') {
this.incrementalConfig.incrementalDelete = this.sql this.incrementalConfig.incrementalAdd = this.sql
} } else {
this.incrementalConfig.tableId = this.table.id this.incrementalConfig.incrementalDelete = this.sql
task.startTime = new Date(task.startTime).getTime() }
task.endTime = new Date(task.endTime).getTime() this.incrementalConfig.tableId = this.table.id
task.tableId = this.table.id let startTime = new Date(task.startTime).getTime()
const form = JSON.parse(JSON.stringify(task)) if(startTime < new Date().getTime()){
form.extraData = JSON.stringify(form.extraData) startTime = new Date().getTime()
const dataSetTaskRequest = { }
datasetTableTask: form, task.startTime = startTime
datasetTableIncrementalConfig: this.incrementalConfig
} task.endTime = new Date(task.endTime).getTime()
post('/dataset/task/save', dataSetTaskRequest).then(response => { task.tableId = this.table.id
this.$message({ const form = JSON.parse(JSON.stringify(task))
message: this.$t('dataset.save_success'), form.extraData = JSON.stringify(form.extraData)
type: 'success', const dataSetTaskRequest = {
showClose: true datasetTableTask: form,
}) datasetTableIncrementalConfig: this.incrementalConfig
this.update_task = false }
this.resetTaskForm() post('/dataset/task/save', dataSetTaskRequest).then(response => {
this.listTask() this.$message({
this.listTaskLog() message: this.$t('dataset.save_success'),
type: 'success',
showClose: true
})
this.update_task = false
this.resetTaskForm()
this.listTask()
this.listTaskLog()
})
}else {
return false
}
}) })
}, },
deleteTask(task) { deleteTask(task) {
......
...@@ -146,7 +146,7 @@ export default { ...@@ -146,7 +146,7 @@ export default {
], ],
searchConfig: { searchConfig: {
useQuickSearch: true, useQuickSearch: true,
quickPlaceholder: '按名称搜索', quickPlaceholder: this.$t('role.search_by_name'),
components: [ components: [
{ field: 'name', label: this.$t('organization.name'), component: 'FuComplexInput' } { field: 'name', label: this.$t('organization.name'), component: 'FuComplexInput' }
] ]
......
...@@ -71,9 +71,9 @@ export default { ...@@ -71,9 +71,9 @@ export default {
], ],
searchConfig: { searchConfig: {
useQuickSearch: false, useQuickSearch: false,
quickPlaceholder: '按名称搜索', quickPlaceholder: this.$t('role.search_by_name'),
components: [ components: [
{ field: 'name', label: '名称', component: 'FuComplexInput' } { field: 'name', label: this.$t('plugin.name'), component: 'FuComplexInput' }
// { // {
// field: 'u.enabled', // field: 'u.enabled',
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
<el-dialog v-dialogDrag :title="update_task_dialog_title" :visible="update_task" :show-close="false" width="50%" class="dialog-css" append-to-body> <el-dialog v-dialogDrag :title="update_task_dialog_title" :visible="update_task" :show-close="false" width="50%" class="dialog-css" append-to-body>
<el-col> <el-col>
<el-form :form="taskForm" label-width="100px" size="mini"> <el-form :form="taskForm" ref="taskForm" :model="taskForm" label-width="100px" size="mini" :rules="taskFormRules">
<el-form-item :label="$t('dataset.task_name')" prop="name"> <el-form-item :label="$t('dataset.task_name')" prop="name">
<el-input v-model="taskForm.name" size="mini" style="width: 50%" :placeholder="$t('dataset.task_name')" /> <el-input v-model="taskForm.name" size="mini" style="width: 50%" :placeholder="$t('dataset.task_name')" />
</el-form-item> </el-form-item>
...@@ -168,7 +168,7 @@ ...@@ -168,7 +168,7 @@
<!--添加任务-选择数据集--> <!--添加任务-选择数据集-->
<el-dialog v-dialogDrag :title="$t('dataset.task.create')" :visible="selectDatasetFlag" :show-close="false" width="70%" class="dialog-css" :destroy-on-close="true"> <el-dialog v-dialogDrag :title="$t('dataset.task.create')" :visible="selectDatasetFlag" :show-close="false" width="70%" class="dialog-css" :destroy-on-close="true">
<table-selector :mode="1" type="db" show-mode="datasetTask" @getTable="getTable" /> <table-selector @getTable="getTable" :mode="1" :customType=customType showMode="datasetTask"/>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button size="mini" @click="closeCreateTask">{{ $t('chart.cancel') }}</el-button> <el-button size="mini" @click="closeCreateTask">{{ $t('chart.cancel') }}</el-button>
<el-button type="primary" size="mini" :disabled="!table.id" @click="create(undefined)">{{ $t('chart.confirm') }}</el-button> <el-button type="primary" size="mini" :disabled="!table.id" @click="create(undefined)">{{ $t('chart.confirm') }}</el-button>
...@@ -315,7 +315,26 @@ export default { ...@@ -315,7 +315,26 @@ export default {
selectDatasetFlag: false, selectDatasetFlag: false,
table: {}, table: {},
show_error_massage: false, show_error_massage: false,
error_massage: '' error_massage: '',
taskFormRules: {
name: [
{ required: true, message: this.$t('dataset.required'), trigger: 'change' },
{ min: 2, max: 50, message: this.$t('datasource.input_limit_0_50', [2, 50]), trigger: 'blur' }
],
type: [
{ required: true, message: this.$t('dataset.required'), trigger: 'change' }
],
startTime: [
{ required: true, message: this.$t('dataset.required'), trigger: 'change' }
],
rate: [
{ required: true, message: this.$t('dataset.required'), trigger: 'change' }
],
end: [
{ required: true, message: this.$t('dataset.required'), trigger: 'change' }
]
},
customType: ['db', 'sql']
} }
}, },
computed: { computed: {
...@@ -543,7 +562,7 @@ export default { ...@@ -543,7 +562,7 @@ export default {
return task.rate === 'SIMPLE' || task.status === 'Stopped' return task.rate === 'SIMPLE' || task.status === 'Stopped'
}, },
disableExec(task) { disableExec(task) {
return task.status === 'Stopped' || task.status === 'Pending' return task.status === 'Stopped' || task.status === 'Pending' || task.rate === 'SIMPLE'
}, },
deleteTask(task) { deleteTask(task) {
this.$confirm(this.$t('dataset.confirm_delete'), this.$t('dataset.tips'), { this.$confirm(this.$t('dataset.confirm_delete'), this.$t('dataset.tips'), {
...@@ -599,31 +618,42 @@ export default { ...@@ -599,31 +618,42 @@ export default {
this.$emit('jumpTaskRecord', item) this.$emit('jumpTaskRecord', item)
}, },
saveTask(task) { saveTask(task) {
if (task.rate !== 'SIMPLE') { this.$refs.taskForm.validate(valid => {
if (this.incrementalUpdateType === 'incrementalAdd') { if (valid) {
this.incrementalConfig.incrementalAdd = this.sql if (task.rate !== 'SIMPLE') {
} else { if (this.incrementalUpdateType === 'incrementalAdd') {
this.incrementalConfig.incrementalDelete = this.sql this.incrementalConfig.incrementalAdd = this.sql
} else {
this.incrementalConfig.incrementalDelete = this.sql
}
this.incrementalConfig.tableId = task.tableId
}
let startTime = new Date(task.startTime).getTime()
if(startTime < new Date().getTime()){
startTime = new Date().getTime()
}
task.startTime = startTime
task.endTime = new Date(task.endTime).getTime()
const form = JSON.parse(JSON.stringify(task))
form.extraData = JSON.stringify(form.extraData)
const dataSetTaskRequest = {
datasetTableTask: form,
datasetTableIncrementalConfig: task.type === 'add_scope' ? this.incrementalConfig : undefined
}
post('/dataset/task/save', dataSetTaskRequest).then(response => {
this.$message({
message: this.$t('dataset.save_success'),
type: 'success',
showClose: true
})
this.update_task = false
this.resetTaskForm()
this.search(this.last_condition, true)
})
}else {
return false
} }
this.incrementalConfig.tableId = task.tableId
}
task.startTime = new Date(task.startTime).getTime()
task.endTime = new Date(task.endTime).getTime()
const form = JSON.parse(JSON.stringify(task))
form.extraData = JSON.stringify(form.extraData)
const dataSetTaskRequest = {
datasetTableTask: form,
datasetTableIncrementalConfig: task.type === 'add_scope' ? this.incrementalConfig : undefined
}
post('/dataset/task/save', dataSetTaskRequest).then(response => {
this.$message({
message: this.$t('dataset.save_success'),
type: 'success',
showClose: true
})
this.update_task = false
this.resetTaskForm()
this.search(this.last_condition, true)
}) })
}, },
handleClose() { handleClose() {
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="datasetName" :label="$t('dataset.task.dataset')" />
<el-table-column prop="startTime" :label="$t('dataset.start_time')"> <el-table-column prop="startTime" :label="$t('dataset.start_time')">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.startTime | timestampFormatDate }}</span> <span>{{ scope.row.startTime | timestampFormatDate }}</span>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论