提交 673f4ea4 authored 作者: taojinlong's avatar taojinlong

feat: 优化任务状态的切换

上级 9d2d51b7
......@@ -57,7 +57,7 @@ public class DataSetTableTaskController {
}
@PostMapping("/updateStatus")
public void updateStatus(@RequestBody DatasetTableTask datasetTableTask) {
public void updateStatus(@RequestBody DatasetTableTask datasetTableTask) throws Exception{
dataSetTableTaskService.updateDatasetTableTaskStatus(datasetTableTask);
}
......
package io.dataease.service.dataset;
import com.google.gson.Gson;
import io.dataease.base.domain.*;
import io.dataease.base.mapper.DatasetTableMapper;
import io.dataease.base.mapper.DatasetTableTaskMapper;
......@@ -53,8 +52,6 @@ public class DataSetTableTaskService {
private ExtDataSetTaskMapper extDataSetTaskMapper;
@Resource
private DatasetTableMapper datasetTableMapper;
@Resource
private UtilMapper utilMapper;
public DatasetTableTask save(DataSetTaskRequest dataSetTaskRequest) throws Exception {
checkName(dataSetTaskRequest);
......@@ -99,9 +96,10 @@ public class DataSetTableTaskService {
// simple
if (datasetTableTask.getRate().equalsIgnoreCase(ScheduleType.SIMPLE.toString())) { // SIMPLE 类型,提前占位
execNow(datasetTableTask);
}else {
checkTaskIsStopped(datasetTableTask);
}
scheduleService.addSchedule(datasetTableTask);
checkTaskIsStopped(datasetTableTask);
return datasetTableTask;
}
......@@ -282,7 +280,13 @@ public class DataSetTableTaskService {
}
}
public void updateDatasetTableTaskStatus(DatasetTableTask datasetTableTask){
public void updateDatasetTableTaskStatus(DatasetTableTask datasetTableTask)throws Exception{
DatasetTableTask dbDatasetTableTask = datasetTableTaskMapper.selectByPrimaryKey(datasetTableTask.getId());
if(dbDatasetTableTask.getStatus().equalsIgnoreCase(TaskStatus.Exec.name()) || dbDatasetTableTask.getStatus().equals(TaskStatus.Stopped.name())){
throw new Exception(Translator.get("i18n_change_task_status_error") + Translator.get("i18n_" + dbDatasetTableTask.getStatus()));
}
DatasetTableTaskExample datasetTableTaskExample = new DatasetTableTaskExample();
DatasetTableTaskExample.Criteria criteria = datasetTableTaskExample.createCriteria();
criteria.andIdEqualTo(datasetTableTask.getId());
......
......@@ -277,4 +277,7 @@ i18n_data_not_sync=Please sync data first
i18n_excel_colume_change=The column name of Excel is inconsistent with the original data set
i18n_timed_task=Timed Task
i18n_datasource_connect_error=Data source connection exception:
i18n_check_sql_error=Check incremental SQL exception,
\ No newline at end of file
i18n_check_sql_error=Check incremental SQL exception,
i18n_change_task_status_error=Suspension is not allowed. The task status is:
i18n_Stopped=END
i18n_Exec=Running
\ No newline at end of file
......@@ -277,3 +277,7 @@ i18n_excel_colume_change=Excel的列名与原数据集不一致
i18n_timed_task=定时任务
i18n_datasource_connect_error=数据源连接异常:
i18n_check_sql_error=校验增量 SQL 异常,
i18n_change_task_status_error=不允许暂停,任务状态为:
i18n_Stopped=执行结束
i18n_Exec=运行中
......@@ -279,4 +279,7 @@ i18n_data_not_sync=請先完成數據同步
i18n_excel_colume_change=Excel的列名與原數據集不一致
i18n_timed_task=定時任務
i18n_datasource_connect_error=數據源連接異常:
i18n_check_sql_error=校驗增量SQL異常,
\ No newline at end of file
i18n_check_sql_error=校驗增量SQL異常,
i18n_change_task_status_error=不允許暫停,任務狀態為:
i18n_Stopped=執行結束
i18n_Exec=運行中
\ No newline at end of file
......@@ -416,15 +416,20 @@ export default {
this.update_task = true
},
changeTaskStatus(task) {
const param = task
param.status = task.status === 'Underway' ? 'Pending' : 'Underway'
let param = JSON.parse(JSON.stringify(task));
post('/dataset/task/updateStatus', task).then(response => {
task.status = param.status
this.$message({
message: this.$t('dataset.task.change_success'),
type: 'success',
showClose: true
})
if(response.success){
task.status = param.status
this.$message({
message: this.$t('dataset.task.change_success'),
type: 'success',
showClose: true
})
}else {
this.search(this.last_condition, false)
}
}).catch(() => {
this.search(this.last_condition, false)
})
},
execTask(task) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论