mirror of
https://github.com/dataease/dataease.git
synced 2026-06-17 13:01:44 +08:00
Merge branch 'main' of github.com:dataease/dataease into main
This commit is contained in:
@@ -136,7 +136,7 @@ public class GridExample {
|
||||
addCriterion(field+" like ", "%"+value+"%", field);
|
||||
break;
|
||||
case "not like":
|
||||
addCriterion(field+" not like ", value, field);
|
||||
addCriterion(field+" not like ", "%"+value+"%", field);
|
||||
break;
|
||||
case "in":
|
||||
List<Object> invalues = (List<Object>)value;
|
||||
|
||||
@@ -2,13 +2,13 @@ package io.dataease.job.sechedule;
|
||||
|
||||
import io.dataease.commons.utils.LogUtil;
|
||||
import org.quartz.*;
|
||||
import org.quartz.impl.triggers.CronTriggerImpl;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.*;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class ScheduleManager {
|
||||
@@ -84,6 +84,8 @@ public class ScheduleManager {
|
||||
} else {
|
||||
triggerBuilder.endAt(endTime);
|
||||
}
|
||||
} else {
|
||||
triggerBuilder.endAt(null);
|
||||
}
|
||||
|
||||
triggerBuilder.withSchedule(CronScheduleBuilder.cronSchedule(cron));
|
||||
@@ -167,6 +169,8 @@ public class ScheduleManager {
|
||||
} else {
|
||||
triggerBuilder.endAt(endTime);
|
||||
}
|
||||
} else {
|
||||
triggerBuilder.endAt(null);
|
||||
}
|
||||
|
||||
triggerBuilder.withSchedule(CronScheduleBuilder.cronSchedule(cron));// 触发器时间设定
|
||||
|
||||
@@ -26,7 +26,13 @@ public class AppStartListener implements ApplicationListener<ApplicationReadyEve
|
||||
List<DatasetTableTask> list = dataSetTableTaskService.list(new DatasetTableTask());
|
||||
for (DatasetTableTask task : list) {
|
||||
try {
|
||||
scheduleService.addSchedule(task);
|
||||
if (task.getEndTime() != null && task.getEndTime() > 0) {
|
||||
if (task.getEndTime() > System.currentTimeMillis()) {
|
||||
scheduleService.addSchedule(task);
|
||||
}
|
||||
} else {
|
||||
scheduleService.addSchedule(task);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@@ -37,6 +37,10 @@ public class ScheduleService {
|
||||
// if (endTime.before(new Date())) {
|
||||
// return;
|
||||
// }
|
||||
if (endTime.before(new Date())) {
|
||||
deleteSchedule(datasetTableTask);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
scheduleManager.addOrUpdateCronJob(new JobKey(datasetTableTask.getId(), datasetTableTask.getTableId()),
|
||||
|
||||
@@ -274,9 +274,8 @@ public class DataSetTableService {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
// datasourceRequest.setQuery(qp.createQueryCountSQL(table));
|
||||
// dataSetPreviewPage.setTotal(Integer.valueOf(datasourceProvider.getData(datasourceRequest).get(0)[0]));
|
||||
dataSetPreviewPage.setTotal(Integer.parseInt(dataSetTableRequest.getRow()));
|
||||
datasourceRequest.setQuery(qp.createQuerySQL(table, fields) + " LIMIT 0," + dataSetTableRequest.getRow());
|
||||
dataSetPreviewPage.setTotal(datasourceProvider.getData(datasourceRequest).size());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -298,9 +297,8 @@ public class DataSetTableService {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
// datasourceRequest.setQuery(qp.createQueryCountSQLAsTmp(sql));
|
||||
// dataSetPreviewPage.setTotal(Integer.valueOf(datasourceProvider.getData(datasourceRequest).get(0)[0]));
|
||||
dataSetPreviewPage.setTotal(Integer.parseInt(dataSetTableRequest.getRow()));
|
||||
datasourceRequest.setQuery(qp.createQuerySQLAsTmp(sql, fields) + " LIMIT 0," + dataSetTableRequest.getRow());
|
||||
dataSetPreviewPage.setTotal(datasourceProvider.getData(datasourceRequest).size());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -483,7 +481,14 @@ public class DataSetTableService {
|
||||
Map<String, String[]> customInfo = new TreeMap<>();
|
||||
dataTableInfoDTO.getList().forEach(ele -> {
|
||||
String table = DorisTableUtils.dorisName(ele.getTableId());
|
||||
DatasetTable datasetTable = datasetTableMapper.selectByPrimaryKey(ele.getTableId());
|
||||
if (ObjectUtils.isEmpty(datasetTable)) {
|
||||
throw new RuntimeException(Translator.get("i18n_custom_ds_delete"));
|
||||
}
|
||||
List<DatasetTableField> fields = dataSetTableFieldsService.getListByIdsEach(ele.getCheckedFields());
|
||||
if (CollectionUtils.isEmpty(fields)) {
|
||||
throw new RuntimeException(Translator.get("i18n_cst_ds_tb_or_field_deleted"));
|
||||
}
|
||||
String[] array = fields.stream().map(f -> table + "." + f.getDataeaseName() + " AS " + DorisTableUtils.dorisFieldName(ele.getTableId() + "_" + f.getDataeaseName())).toArray(String[]::new);
|
||||
customInfo.put(table, array);
|
||||
});
|
||||
@@ -567,7 +572,7 @@ public class DataSetTableService {
|
||||
List<DataTableInfoCustomUnion> list = dataTableInfoDTO.getList();
|
||||
List<DatasetTableField> fieldList = new ArrayList<>();
|
||||
list.forEach(ele -> {
|
||||
List<DatasetTableField> listByIds = dataSetTableFieldsService.getListByIds(ele.getCheckedFields());
|
||||
List<DatasetTableField> listByIds = dataSetTableFieldsService.getListByIdsEach(ele.getCheckedFields());
|
||||
listByIds.forEach(f -> {
|
||||
f.setDataeaseName(DorisTableUtils.dorisFieldName(ele.getTableId() + "_" + f.getDataeaseName()));
|
||||
});
|
||||
@@ -665,7 +670,7 @@ public class DataSetTableService {
|
||||
}
|
||||
|
||||
|
||||
public void saveIncrementalConfig(DatasetTableIncrementalConfig datasetTableIncrementalConfig) throws Exception{
|
||||
public void saveIncrementalConfig(DatasetTableIncrementalConfig datasetTableIncrementalConfig) throws Exception {
|
||||
if (datasetTableIncrementalConfig == null || StringUtils.isEmpty(datasetTableIncrementalConfig.getTableId())) {
|
||||
return;
|
||||
}
|
||||
@@ -700,11 +705,11 @@ public class DataSetTableService {
|
||||
.replace(currentUpdateTime, Long.valueOf(System.currentTimeMillis()).toString());
|
||||
datasourceRequest.setQuery(sql);
|
||||
List<String> sqlFileds = new ArrayList<>();
|
||||
datasourceProvider.fetchResultField(datasourceRequest).stream().map(TableFiled::getFieldName).forEach(filed ->{
|
||||
datasourceProvider.fetchResultField(datasourceRequest).stream().map(TableFiled::getFieldName).forEach(filed -> {
|
||||
sqlFileds.add(filed);
|
||||
});
|
||||
sort(sqlFileds);
|
||||
if(!originNameFileds.equals(sqlFileds)){
|
||||
if (!originNameFileds.equals(sqlFileds)) {
|
||||
throw new Exception(Translator.get("i18n_sql_add_not_matching") + sqlFileds.toString());
|
||||
}
|
||||
}
|
||||
@@ -713,17 +718,17 @@ public class DataSetTableService {
|
||||
.replace(currentUpdateTime, Long.valueOf(System.currentTimeMillis()).toString());
|
||||
datasourceRequest.setQuery(sql);
|
||||
List<String> sqlFileds = new ArrayList<>();
|
||||
datasourceProvider.fetchResultField(datasourceRequest).stream().map(TableFiled::getFieldName).forEach(filed ->{
|
||||
datasourceProvider.fetchResultField(datasourceRequest).stream().map(TableFiled::getFieldName).forEach(filed -> {
|
||||
sqlFileds.add(filed);
|
||||
});
|
||||
sort(sqlFileds);
|
||||
if(!originNameFileds.equals(sqlFileds)){
|
||||
if (!originNameFileds.equals(sqlFileds)) {
|
||||
throw new Exception(Translator.get("i18n_sql_delete_not_matching") + sqlFileds.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void sort(List<String> sqlFileds){
|
||||
private void sort(List<String> sqlFileds) {
|
||||
sqlFileds.sort((o1, o2) -> {
|
||||
if (o1 == null) {
|
||||
return -1;
|
||||
@@ -734,6 +739,7 @@ public class DataSetTableService {
|
||||
return o1.compareTo(o2);
|
||||
});
|
||||
}
|
||||
|
||||
private void checkName(DatasetTable datasetTable) {
|
||||
// if (StringUtils.isEmpty(datasetTable.getId()) && StringUtils.equalsIgnoreCase("db", datasetTable.getType())) {
|
||||
// return;
|
||||
|
||||
Reference in New Issue
Block a user