diff --git a/src/main/java/com/nis/persistence/interceptor/ScheduleUpdateInterceptor.java b/src/main/java/com/nis/persistence/interceptor/ScheduleUpdateInterceptor.java index f38ed2839..23e628ecd 100644 --- a/src/main/java/com/nis/persistence/interceptor/ScheduleUpdateInterceptor.java +++ b/src/main/java/com/nis/persistence/interceptor/ScheduleUpdateInterceptor.java @@ -161,10 +161,11 @@ public class ScheduleUpdateInterceptor extends BaseInterceptor{ //整理需要 insert 的 schedule_cfg 的数据 List scheduleList = Lists.newArrayList(); for(BaseCfg baseCfg : cfgList) { - baseCfg.setIsValid(0);//设置默认值 - baseCfg.setIsAudit(0);//设置默认值 ScheduleCfg scList = copyScheduleCfgFromBaseCfg(baseCfg, tableName); if(scList!=null){ + //TODO 定时任务设置默认为isValid=0 isAudit=0,需要考虑允许用户新增isValid=1 isAudit=1的配置下发 + scList.setIsValid(0);//设置默认值 + scList.setIsAudit(0);//设置默认值 scheduleList.add(scList); } } diff --git a/src/main/java/com/nis/quartz/ScheduleCfgJob.java b/src/main/java/com/nis/quartz/ScheduleCfgJob.java index 24daaacd0..bcd20547c 100644 --- a/src/main/java/com/nis/quartz/ScheduleCfgJob.java +++ b/src/main/java/com/nis/quartz/ScheduleCfgJob.java @@ -315,6 +315,34 @@ public class ScheduleCfgJob implements Job { Date invalidTime = DateBuilder.todayAt(invalidList.get(0), invalidList.get(1), invalidList.get(2)); CalendarIntervalScheduleBuilder intervalBuilder = null; if("EVERYDAY".equalsIgnoreCase(dayOrWeek)) { + //开始时间+2分钟 + Calendar validStartCal=Calendar.getInstance(); + validStartCal.setTime(validStartTime); + validStartCal.add(Calendar.MINUTE, 2); + long validStartTimes=validStartCal.getTime().getTime(); + //结束时间+2分钟 + Calendar invalidCal=Calendar.getInstance(); + invalidCal.setTime(invalidTime); + invalidCal.add(Calendar.MINUTE, 2); + long invalidTimes=validStartCal.getTime().getTime(); + long currentTimes=new Date().getTime(); + //开始时间设置为今天已过时,则将开始时间加上周期 + if((currentTimes-validStartTimes) > 0) { + Calendar validStartCalNew=Calendar.getInstance(); + validStartCalNew.setTime(validStartTime); + validStartCalNew.add(Calendar.DAY_OF_MONTH, interval); + validStartTime=validStartCalNew.getTime(); + } + + //结束时间设置为今天已过时,则将开始时间加上周期 + if((currentTimes-invalidTimes) > 0) { + Calendar invalidCalNew=Calendar.getInstance(); + invalidCalNew.setTime(invalidTime); + invalidCalNew.add(Calendar.DAY_OF_MONTH, interval); + invalidTime=invalidCalNew.getTime(); + } + + intervalBuilder = CalendarIntervalScheduleBuilder.calendarIntervalSchedule().withIntervalInDays(interval); //valid JobDataMap dataMap = new JobDataMap(); @@ -329,6 +357,7 @@ public class ScheduleCfgJob implements Job { .startAt(validStartTime) .build(); triList.add(validTri); + //invalid dataMap = new JobDataMap(); dataMap.put("isValid", false); @@ -478,14 +507,25 @@ public class ScheduleCfgJob implements Job { /** - * 查找最近的 星期几 ,包括今天 + * 查找最近的 星期几 ,包括今天(如果今天的时间点已过,从明天开始算) * @param date * @param w 周一开始 1 -7 * @return */ public static Date closestAfterWeek(Date date,int w) { + //设置calC为开始时间+2分钟,判断calC时间是否已过,如果小于当前时间则直接从明天开始算 + Calendar calC = Calendar.getInstance(); + calC.setTime(date); + calC.add(Calendar.MINUTE, 2); + long currentDate=new Date().getTime();//当前时间 + long weekStartDate=calC.getTime().getTime();//周任务开始时间+2分钟 + Calendar cal = Calendar.getInstance(); cal.setTime(date); + //如果开始时间已过期,则从明天开始算 + if((currentDate-weekStartDate) > 0) { + cal.add(Calendar.DAY_OF_MONTH, 1); + } int i = cal.get(Calendar.DAY_OF_WEEK);//周日开始 1-7 i = (i==1)? 7: i-1;//转换为 周一到 周日 1-7 cal.add(Calendar.DAY_OF_MONTH, (i>w)?(7-(i-w)) : (w-i)); diff --git a/src/main/webapp/static/global/scripts/common.js b/src/main/webapp/static/global/scripts/common.js index c0a65619d..6149e49d7 100644 --- a/src/main/webapp/static/global/scripts/common.js +++ b/src/main/webapp/static/global/scripts/common.js @@ -592,6 +592,15 @@ $(function(){ window.history.back(); return false; }); + $("#cancel").on("click",function(){ + window.history.back(); + return false; + }); + $("button[id='audit']").on("click",function(){ + $("input[name='isValid']").val(1); + $("input[name='isAudit']").val(1); + }); + //去掉首尾空格 $("input,textarea").on("blur",function(){ if($(this).attr("type")!="file"){