diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/query/GridExample.java b/backend/src/main/java/io/dataease/base/mapper/ext/query/GridExample.java index f241e39e1d..46482b7f48 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/query/GridExample.java +++ b/backend/src/main/java/io/dataease/base/mapper/ext/query/GridExample.java @@ -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 invalues = (List)value; diff --git a/backend/src/main/java/io/dataease/job/sechedule/ScheduleManager.java b/backend/src/main/java/io/dataease/job/sechedule/ScheduleManager.java index e16cfc3aa8..7c29437eca 100644 --- a/backend/src/main/java/io/dataease/job/sechedule/ScheduleManager.java +++ b/backend/src/main/java/io/dataease/job/sechedule/ScheduleManager.java @@ -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));// 触发器时间设定 diff --git a/backend/src/main/java/io/dataease/listener/AppStartListener.java b/backend/src/main/java/io/dataease/listener/AppStartListener.java index a2224eaaea..1aa50873bf 100644 --- a/backend/src/main/java/io/dataease/listener/AppStartListener.java +++ b/backend/src/main/java/io/dataease/listener/AppStartListener.java @@ -26,7 +26,13 @@ public class AppStartListener implements ApplicationListener 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(); } diff --git a/backend/src/main/java/io/dataease/service/ScheduleService.java b/backend/src/main/java/io/dataease/service/ScheduleService.java index 9efef3d772..af00535edf 100644 --- a/backend/src/main/java/io/dataease/service/ScheduleService.java +++ b/backend/src/main/java/io/dataease/service/ScheduleService.java @@ -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()), diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index c0355a9e63..4014d37c96 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -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(); } diff --git a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index 351a7a4870..9a1a083cfd 100644 --- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -112,7 +112,7 @@ public class ExtractDataService { private String passwd; private static String creatTableSql = "CREATE TABLE IF NOT EXISTS `TABLE_NAME`" + "Column_Fields" + - "DUPLICATE KEY(dataease_uuid)\n" + + "UNIQUE KEY(dataease_uuid)\n" + "DISTRIBUTED BY HASH(dataease_uuid) BUCKETS 10\n" + "PROPERTIES(\"replication_num\" = \"1\");";