fix: 执行记录状态修改;执行记录显示错误;简单执行增加描述

This commit is contained in:
taojinlong 2021-07-13 18:34:17 +08:00
parent eaea27ea3d
commit e42b8b73ab
8 changed files with 48 additions and 17 deletions

View File

@ -103,6 +103,10 @@ public class GridExample {
criteria.add(new Criterion(condition)); criteria.add(new Criterion(condition));
} }
protected void addNotNullCriterion(String condition) {
criteria.add(new Criterion(condition, null));
}
protected void addCriterion(String condition, Object value, String property) { protected void addCriterion(String condition, Object value, String property) {
if (value == null) { if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null"); throw new RuntimeException("Value for " + property + " cannot be null");
@ -164,6 +168,9 @@ public class GridExample {
case "le": case "le":
addCriterion(field+" <= ", value, field); addCriterion(field+" <= ", value, field);
break; break;
case "not null":
addNotNullCriterion(field + " is not null ");
break;
} }
return (Criteria) this; return (Criteria) this;
} }
@ -242,7 +249,9 @@ public class GridExample {
this.condition = condition; this.condition = condition;
this.value = value; this.value = value;
this.typeHandler = typeHandler; this.typeHandler = typeHandler;
if (value instanceof List<?>) { if(value == null){
this.noValue = true;
}else if (value instanceof List<?>) {
this.listValue = true; this.listValue = true;
} else { } else {
this.singleValue = true; this.singleValue = true;

View File

@ -1,5 +1,6 @@
package io.dataease.service.dataset; package io.dataease.service.dataset;
import com.google.gson.Gson;
import io.dataease.base.domain.DatasetTableTask; import io.dataease.base.domain.DatasetTableTask;
import io.dataease.base.domain.DatasetTableTaskLog; import io.dataease.base.domain.DatasetTableTaskLog;
import io.dataease.base.domain.DatasetTableTaskLogExample; import io.dataease.base.domain.DatasetTableTaskLogExample;
@ -8,6 +9,7 @@ import io.dataease.base.mapper.DatasetTableTaskMapper;
import io.dataease.base.mapper.ext.ExtDataSetTaskMapper; import io.dataease.base.mapper.ext.ExtDataSetTaskMapper;
import io.dataease.base.mapper.ext.query.GridExample; import io.dataease.base.mapper.ext.query.GridExample;
import io.dataease.controller.sys.base.BaseGridRequest; import io.dataease.controller.sys.base.BaseGridRequest;
import io.dataease.controller.sys.base.ConditionEntity;
import io.dataease.dto.dataset.DataSetTaskDTO; import io.dataease.dto.dataset.DataSetTaskDTO;
import io.dataease.dto.dataset.DataSetTaskLogDTO; import io.dataease.dto.dataset.DataSetTaskLogDTO;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
@ -15,6 +17,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
@ -45,6 +48,15 @@ public class DataSetTableTaskLogService {
} }
public List<DataSetTaskLogDTO> list(BaseGridRequest request) { public List<DataSetTaskLogDTO> list(BaseGridRequest request) {
ConditionEntity entity = new ConditionEntity();
entity.setField("task_id");
entity.setOperator("not null");
List<ConditionEntity> conditionEntities = request.getConditions();
if(CollectionUtils.isEmpty(conditionEntities)){
conditionEntities = new ArrayList<>();
}
conditionEntities.add(entity);
request.setConditions(conditionEntities);
GridExample gridExample = request.convertExample(); GridExample gridExample = request.convertExample();
return extDataSetTaskMapper.list(gridExample); return extDataSetTaskMapper.list(gridExample);
} }
@ -78,7 +90,7 @@ public class DataSetTableTaskLogService {
if(StringUtils.isNotEmpty(dataSetTaskDTO.getId())){ if(StringUtils.isNotEmpty(dataSetTaskDTO.getId())){
criteria.andTaskIdEqualTo(dataSetTaskDTO.getId()); criteria.andTaskIdEqualTo(dataSetTaskDTO.getId());
} }
example.setOrderByClause("create_time desc limit 1"); example.setOrderByClause("create_time desc");
List<DatasetTableTaskLog> datasetTableTaskLogs = datasetTableTaskLogMapper.selectByExampleWithBLOBs(example); List<DatasetTableTaskLog> datasetTableTaskLogs = datasetTableTaskLogMapper.selectByExampleWithBLOBs(example);
if(CollectionUtils.isNotEmpty(datasetTableTaskLogs)){ if(CollectionUtils.isNotEmpty(datasetTableTaskLogs)){
dataSetTaskDTO.setLastExecStatus(datasetTableTaskLogs.get(0).getStatus()); dataSetTaskDTO.setLastExecStatus(datasetTableTaskLogs.get(0).getStatus());

View File

@ -136,12 +136,12 @@ export function taskList(spage, size, data) {
}) })
} }
export function datasetTaskList(page, size, data) { export function datasetTaskList(page, size, data, loading) {
return request({ return request({
url: '/dataset/task/pageList/' + page + '/' + size, url: '/dataset/task/pageList/' + page + '/' + size,
method: 'post', method: 'post',
data, data,
loading: true loading: loading
}) })
} }

View File

@ -1200,6 +1200,9 @@ export default {
minute: 'Minute', minute: 'Minute',
hour: 'Hour', hour: 'Hour',
day: 'Day', day: 'Day',
minute_default: 'Minutes (execution time: 0 seconds)',
hour_default: 'Hours (execution time: 0 minutes 0 seconds)',
day_default: 'Day (execution time: 0:00:00)',
month: 'Month', month: 'Month',
week: 'Week', week: 'Week',
year: 'Year', year: 'Year',

View File

@ -856,8 +856,8 @@ export default {
start_time: '開始時間', start_time: '開始時間',
end_time: '結束時間', end_time: '結束時間',
status: '狀態', status: '狀態',
error: '錯誤', error: '失敗',
completed: '成', completed: '',
underway: '執行中', underway: '執行中',
task_update: '更新設置', task_update: '更新設置',
update_type: '更新方式', update_type: '更新方式',
@ -1200,6 +1200,9 @@ export default {
minute: '分', minute: '分',
hour: '時', hour: '時',
day: '日', day: '日',
minute_default: '分 (執行時間0秒)',
hour_default: '時 (執行時間0分0秒)',
day_default: '日 (執行時間0時0分0秒)',
month: '月', month: '月',
week: '周', week: '周',
year: '年', year: '年',

View File

@ -856,8 +856,8 @@ export default {
start_time: '开始时间', start_time: '开始时间',
end_time: '结束时间', end_time: '结束时间',
status: '状态', status: '状态',
error: '错误', error: '失败',
completed: '成', completed: '',
underway: '执行中', underway: '执行中',
task_update: '更新设置', task_update: '更新设置',
update_type: '更新方式', update_type: '更新方式',
@ -1202,6 +1202,9 @@ export default {
minute: '分', minute: '分',
hour: '时', hour: '时',
day: '日', day: '日',
minute_default: '分 (执行时间0秒)',
hour_default: '时 (执行时间0分0秒)',
day_default: '日 (执行时间0时0分0秒)',
month: '月', month: '月',
week: '周', week: '周',
year: '年', year: '年',

View File

@ -99,12 +99,13 @@
<el-form-item class="form-item"> <el-form-item class="form-item">
<el-select v-model="taskForm.extraData.simple_cron_type" filterable size="mini" @change="onSimpleCronChange()" > <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.minute_default')" value="minute" />
<el-option :label="$t('cron.hour')" value="hour" /> <el-option :label="$t('cron.hour_default')" value="hour" />
<el-option :label="$t('cron.day')" value="day" /> <el-option :label="$t('cron.day_default')" value="day" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item class="form-item" :label="$t('cron.every_exec')">
<el-form-item class="form-item" :label="$t('cron.every_exec')">
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-form-item> </el-form-item>
@ -289,7 +290,7 @@ export default {
created() { created() {
this.search() this.search()
this.timer = setInterval(() => { this.timer = setInterval(() => {
this.search() this.search(this.last_condition, false)
}, 5000) }, 5000)
}, },
beforeDestroy() { beforeDestroy() {
@ -314,14 +315,14 @@ export default {
}, },
select(selection) { select(selection) {
}, },
search(condition) { search(condition, showLoading = true) {
this.last_condition = condition this.last_condition = condition
condition = formatQuickCondition(condition, 'dataset_table_task.name') condition = formatQuickCondition(condition, 'dataset_table_task.name')
const temp = formatCondition(condition) const temp = formatCondition(condition)
const param = temp || {} const param = temp || {}
param['orders'] = formatOrders(this.orderConditions) param['orders'] = formatOrders(this.orderConditions)
const { currentPage, pageSize } = this.paginationConfig const { currentPage, pageSize } = this.paginationConfig
datasetTaskList(currentPage, pageSize, param).then(response => { datasetTaskList(currentPage, pageSize, param, showLoading).then(response => {
this.data = response.data.listObject this.data = response.data.listObject
this.data.forEach(item => { this.data.forEach(item => {
this.taskStatus(item) this.taskStatus(item)
@ -330,7 +331,7 @@ export default {
}) })
}, },
taskStatus(item) { taskStatus(item) {
post('/dataset/task/lastExecStatus', item).then(response => { post('/dataset/task/lastExecStatus', item, false).then(response => {
if(!item.lastExecStatus) { if(!item.lastExecStatus) {
item.lastExecStatus = response.data.lastExecStatus item.lastExecStatus = response.data.lastExecStatus
} }

View File

@ -106,7 +106,7 @@ export default {
created() { created() {
this.search() this.search()
this.timer = setInterval(() => { this.timer = setInterval(() => {
this.search() this.search(this.last_condition, false)
}, 5000) }, 5000)
}, },
computed: { computed: {