From 82acba50d5f905d54bf2d8636fdeff5321b40bd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=9C=E7=AC=99=E6=AD=8C?= <2277317060@qq.com> Date: Tue, 2 Aug 2022 10:44:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-admin/src/main/resources/static/js/cron.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-admin/src/main/resources/static/js/cron.min.js b/ruoyi-admin/src/main/resources/static/js/cron.min.js index 1dceb5d..2902b80 100644 --- a/ruoyi-admin/src/main/resources/static/js/cron.min.js +++ b/ruoyi-admin/src/main/resources/static/js/cron.min.js @@ -1,2 +1,2 @@ -function setCronTak(callback,cronstr){var bool=initCronTask(callback,cronstr);if(!bool){alert("表达式有误")}}function initCronTask(callback,cronstr){var contabs=cronstr.split(" ");var length=contabs.length;var cronArray=new Array();if(length==7){var secondSelectedArray=getValueArray(contabs[0],"second");if(secondSelectedArray==null||secondSelectedArray.length==0){return false}var minuteSelectedArray=getValueArray(contabs[1],"minute");if(minuteSelectedArray==null||minuteSelectedArray.length==0){return false}var hourSelectedArray=getValueArray(contabs[2],"hour");if(hourSelectedArray==null||hourSelectedArray.length==0){return false}var dayArray=getValueArray(contabs[3],"day");if(dayArray==null||dayArray.length==0){return false}var weekArray=getValueArray(contabs[6],"week");if(weekArray==null||weekArray.length==0){return false}var monthSelectedArray=getValueArray(contabs[4],"month");if(monthSelectedArray==null||monthSelectedArray.length==0){return false}var yearArray=getValueArray(contabs[5],"year");if(yearArray==null||yearArray.length==0){return false}}else{return false}var cronObj={};cronObj.secondSelectedArray=secondSelectedArray;cronObj.minuteSelectedArray=minuteSelectedArray;cronObj.hourSelectedArray=hourSelectedArray;cronObj.dayArray=dayArray;cronObj.weekArray=weekArray;cronObj.monthSelectedArray=monthSelectedArray;cronObj.yearArray=yearArray;var now=new Date();var nextTime=getCronNextTime(now,cronObj);if(nextTime!=null){now=new Date();var subTime=nextTime.getTime()-now.getTime();if(subTime<0){subTime=0}setTimeout(function(){callCronTask(callback,cronObj)},subTime)}return true}function callCronTask(callback,cronObj){setTimeout(callback,0);var now=new Date();var nextTime=getCronNextTime(now,cronObj);if(nextTime!=null){now=new Date();var subTime=nextTime.getTime()-now.getTime();if(subTime<0){subTime=0}setTimeout(function(){callCronTask(callback,cronObj)},subTime)}}function getCronNextTime(now,cronObj){var bool=preHandle(now,cronObj);if(!bool){return null}var nextDateObj={};var nextDate=getNextYear(now,cronObj,false,nextDateObj);if(nextDate!=null){return nextDate}else{return null}}function preHandle(now,cronObj){var nowYear=now.getFullYear();var yearArray=cronObj.yearArray;var hasLeapYear=preHandleYear(nowYear,yearArray);var maxSecMonthDay=28;if(hasLeapYear){maxSecMonthDay=29}var monthSelectedArray=cronObj.monthSelectedArray;var maxDays=getMaxDayInMonths(maxSecMonthDay,monthSelectedArray);var dayArray=cronObj.dayArray;var bool=getVaildDayCheck(maxDays,dayArray);if(bool){return true}else{return false}}function getVaildDayCheck(maxDays,dayArray){for(var i=0;imin?true:false;nextDate.nextYear=i;var dateTmp=getNextMonth(now,cronObj,gtFlag,nextDate);if(dateTmp!=null){return dateTmp}}}return null}function getMaxYear(yearArray){var maxYear=getMinValue("year");for(var i=0;imonth?true:false;var dateTmp=getNextDay(now,cronObj,tmpGtFlag,nextDate);if(dateTmp!=null){return dateTmp}}}}return null}function getNextDay(now,cronObj,gtFlag,nextDate){var dayArray=cronObj.dayArray;var weekArray=cronObj.weekArray;var min=getMinValue("day");if(!gtFlag){day=now.getDate(); +function setCronTak(callback,cronstr){var bool=initCronTask(callback,cronstr);if(!bool){console.log("表达式有误")}}function initCronTask(callback,cronstr){var contabs=cronstr.split(" ");var length=contabs.length;var cronArray=new Array();if(length==7){var secondSelectedArray=getValueArray(contabs[0],"second");if(secondSelectedArray==null||secondSelectedArray.length==0){return false}var minuteSelectedArray=getValueArray(contabs[1],"minute");if(minuteSelectedArray==null||minuteSelectedArray.length==0){return false}var hourSelectedArray=getValueArray(contabs[2],"hour");if(hourSelectedArray==null||hourSelectedArray.length==0){return false}var dayArray=getValueArray(contabs[3],"day");if(dayArray==null||dayArray.length==0){return false}var weekArray=getValueArray(contabs[6],"week");if(weekArray==null||weekArray.length==0){return false}var monthSelectedArray=getValueArray(contabs[4],"month");if(monthSelectedArray==null||monthSelectedArray.length==0){return false}var yearArray=getValueArray(contabs[5],"year");if(yearArray==null||yearArray.length==0){return false}}else{return false}var cronObj={};cronObj.secondSelectedArray=secondSelectedArray;cronObj.minuteSelectedArray=minuteSelectedArray;cronObj.hourSelectedArray=hourSelectedArray;cronObj.dayArray=dayArray;cronObj.weekArray=weekArray;cronObj.monthSelectedArray=monthSelectedArray;cronObj.yearArray=yearArray;var now=new Date();var nextTime=getCronNextTime(now,cronObj);if(nextTime!=null){now=new Date();var subTime=nextTime.getTime()-now.getTime();if(subTime<0){subTime=0}setTimeout(function(){callCronTask(callback,cronObj)},subTime)}return true}function callCronTask(callback,cronObj){setTimeout(callback,0);var now=new Date();var nextTime=getCronNextTime(now,cronObj);if(nextTime!=null){now=new Date();var subTime=nextTime.getTime()-now.getTime();if(subTime<0){subTime=0}setTimeout(function(){callCronTask(callback,cronObj)},subTime)}}function getCronNextTime(now,cronObj){var bool=preHandle(now,cronObj);if(!bool){return null}var nextDateObj={};var nextDate=getNextYear(now,cronObj,false,nextDateObj);if(nextDate!=null){return nextDate}else{return null}}function preHandle(now,cronObj){var nowYear=now.getFullYear();var yearArray=cronObj.yearArray;var hasLeapYear=preHandleYear(nowYear,yearArray);var maxSecMonthDay=28;if(hasLeapYear){maxSecMonthDay=29}var monthSelectedArray=cronObj.monthSelectedArray;var maxDays=getMaxDayInMonths(maxSecMonthDay,monthSelectedArray);var dayArray=cronObj.dayArray;var bool=getVaildDayCheck(maxDays,dayArray);if(bool){return true}else{return false}}function getVaildDayCheck(maxDays,dayArray){for(var i=0;imin?true:false;nextDate.nextYear=i;var dateTmp=getNextMonth(now,cronObj,gtFlag,nextDate);if(dateTmp!=null){return dateTmp}}}return null}function getMaxYear(yearArray){var maxYear=getMinValue("year");for(var i=0;imonth?true:false;var dateTmp=getNextDay(now,cronObj,tmpGtFlag,nextDate);if(dateTmp!=null){return dateTmp}}}}return null}function getNextDay(now,cronObj,gtFlag,nextDate){var dayArray=cronObj.dayArray;var weekArray=cronObj.weekArray;var min=getMinValue("day");if(!gtFlag){day=now.getDate(); if(minmin?true:false;var dateTmp=getNextHour(now,cronObj,tmpGtFlag,nextDate);if(dateTmp!=null){return dateTmp}}}}return null}function getNextHour(now,cronObj,gtFlag,nextDate){var hourSelectedArray=cronObj.hourSelectedArray;var hour=null;if(!gtFlag){hour=now.getHours()}for(var i=0;ihour?true:false;var dateTmp=getNextMinute(now,cronObj,tmpGtFlag,nextDate);if(dateTmp!=null){return dateTmp}}}}return null}function getNextMinute(now,cronObj,gtFlag,nextDate){var minuteSelectedArray=cronObj.minuteSelectedArray;var minute=null;if(!gtFlag){minute=now.getMinutes()}for(var i=0;iminute?true:false;var dateTmp=getNextSencond(now,cronObj,tmpGtFlag,nextDate);if(dateTmp!=null){return dateTmp}}}}return null}function getNextSencond(now,cronObj,gtFlag,nextDate){var secondSelectedArray=cronObj.secondSelectedArray;var second=null;if(!gtFlag){second=now.getSeconds()}for(var i=0;i=3){return null}if(parts.length==1){ucron.divisor=1}else{if(isValidNumber(parts[1])&&parts[1]>0){ucron.divisor=parts[1]}else{return null}}var timeRange=parts[0].split("-");if(timeRange.length==1&&timeRange[0]=="*"){ucron.min=getMinValue(type);ucron.max=getMaxValue(type)}else{if(timeRange.length==1&&timeRange[0]=="?"&&(type=="day"||type=="week")){ucron.min=null;ucron.max=null}else{if(timeRange.length==1&&isValidNumber(timeRange[0])){ucron.min=timeRange[0];ucron.max=timeRange[0]}else{if(timeRange.length==2&&isValidNumber(timeRange[0])&&isValidNumber(timeRange[1])){ucron.min=timeRange[0];ucron.max=timeRange[1]}else{return null}}}}subcronArray[i]=ucron}if(type=="day"||type=="week"||type=="year"){return subcronArray}else{return getSelectedValue(subcronArray,type)}}function getSelectedValue(subcronArray,type){var min=getMinValue(type);var max=getMaxValue(type);var selectedArray=new Array();var j=0;for(var i=min;i<=max;i++){if(isValidValue(subcronArray,i)){selectedArray[j]=i;j++}}return selectedArray}function isValidValue(subcronArray,value){for(var i=0;i=min&&(max==null||value<=max)&&value%divisor==0){return true}}return false}function isIgnore(subcronArray){for(var i=0;i