Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/operationreservation/service/OperationReservationManagerImpl.java =================================================================== diff -u -r23469 -r23491 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/operationreservation/service/OperationReservationManagerImpl.java (.../OperationReservationManagerImpl.java) (revision 23469) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/operationreservation/service/OperationReservationManagerImpl.java (.../OperationReservationManagerImpl.java) (revision 23491) @@ -61,7 +61,6 @@ import com.forgon.tools.json.JSONUtil; import com.forgon.tools.string.StringTools; import com.forgon.tools.util.ForgonDateUtils; -import com.forgon.tools.util.IntegerUtils; import com.forgon.tools.util.SqlUtils; /** @@ -580,23 +579,9 @@ startTime.setTime(ForgonDateUtils.safelyParseDate(defatultTime)); endTime.setTime(ForgonDateUtils.safelyParseDate(defatultTime)); //1-2 设定过滤手术预约申请单的:开始申请时间 - // 第一个参数为0则:默认今天 否则为:减去X日 - if("0".equals(startArgumentArray[0])){ - startTime.setTime(ForgonDateUtils.safelyParseDate(defatultTime)); - }else{ - startTime.set(Calendar.DATE,startTime.get(Calendar.DATE) - Integer.parseInt(startArgumentArray[0])); - }; - startTime.set(Calendar.HOUR_OF_DAY, Integer.parseInt(startArgumentArray[1]));//第二个参数为:时 - startTime.set(Calendar.MINUTE, Integer.parseInt(startArgumentArray[2]));//第三个参数为:分 + setTimeByArgumentArray(startTime,startArgumentArray,defatultTime); //1-3 设定过滤手术预约申请单的:结束申请时间 - // 第一个参数为0则:默认今天 否则为:加上X日 - if("0".equals(endArgumentArray[0])){ - endTime.setTime(ForgonDateUtils.safelyParseDate(defatultTime)); - }else{ - endTime.set(Calendar.DATE,endTime.get(Calendar.DATE) + Integer.parseInt(endArgumentArray[0])); - }; - endTime.set(Calendar.HOUR_OF_DAY, Integer.parseInt(endArgumentArray[1]));//第二个参数为:时 - endTime.set(Calendar.MINUTE, Integer.parseInt(endArgumentArray[2]));//第三个参数为:分 + setTimeByArgumentArray(endTime,endArgumentArray,defatultTime); }else{ throw new RuntimeException("Time.xml定时参数不正确!:"+startArgument+"和"+endArgument); } @@ -612,6 +597,9 @@ endTime.set(Calendar.MINUTE, 59); endTime.set(Calendar.SECOND, 59); } + if(startTime.getTime().compareTo(endTime.getTime()) > 0 ){ + throw new RuntimeException("开始过滤时间不能大于结束时间! 同步的过滤时间段为: "+startTime.getTime()+"至"+endTime.getTime()); + } logger.info("开始手术预约申请单定时同步 :同步的过滤时间段为: "+startTime.getTime()+"至"+endTime.getTime()); //2 根据时间过滤获得:同步手术预约申请单VO的集合 List syncOperationReservationList = new ArrayList(); @@ -636,20 +624,20 @@ */ private void checkSyncTimeArgumentArray(String[] timeArgumentArray,String timeArgument){ for (int i = 0; i < timeArgumentArray.length; i++) { - if(IntegerUtils.isNumeric(timeArgumentArray[i])){ - if(i == 0){//检查:日 - if( Integer.parseInt(timeArgumentArray[0]) < 0){ - throw new RuntimeException("timer.xml定时参数不正确!:"+timeArgument+"的参数:"+timeArgumentArray[0]+"为日,不能小于0"); - } - } + if(isNumeric(timeArgumentArray[i])){ +// if(i == 0){//检查:日 +// if( Integer.parseInt(timeArgumentArray[0]) < 0){ +// throw new RuntimeException("timer.xml定时参数不正确!:"+timeArgument+"的参数:"+timeArgumentArray[0]+"为日,不能小于0"); +// } +// } if(i == 1){//检查:时 - if(Integer.parseInt(timeArgumentArray[1]) < 0 || Integer.parseInt(timeArgumentArray[1]) > 24){ - throw new RuntimeException("timer.xml定时参数不正确!:"+timeArgument+"的参数:"+timeArgumentArray[1]+"为时,要大于等于0且小于等于24"); + if(Integer.parseInt(timeArgumentArray[1]) < 0 || Integer.parseInt(timeArgumentArray[1]) > 23){ + throw new RuntimeException("timer.xml定时参数不正确!:"+timeArgument+"的参数:"+timeArgumentArray[1]+"为时,要大于等于0且小于等于23"); } } if(i == 2){//检查:分 - if(Integer.parseInt(timeArgumentArray[2]) < 0 || Integer.parseInt(timeArgumentArray[2])>60){ - throw new RuntimeException("timer.xml定时参数不正确!:"+timeArgument+"的参数:"+timeArgumentArray[2]+"为分,要大于等于0且小于等于60 "); + if(Integer.parseInt(timeArgumentArray[2]) < 0 || Integer.parseInt(timeArgumentArray[2])>59){ + throw new RuntimeException("timer.xml定时参数不正确!:"+timeArgument+"的参数:"+timeArgumentArray[2]+"为分,要大于等于0且小于等于59 "); } } }else{ @@ -659,6 +647,36 @@ } /** + * 判断是否整数 + * @param s + * @return + */ + private boolean isNumeric(String s) { + if (s != null && !"".equals(s.trim())) + return s.matches("^-?\\d+$"); + else + return false; + } + + /** + * 根据定时参数设置过滤时间 + * @param timeArgumentArray + * @param calendarTime + * @param defatultTime + */ + private void setTimeByArgumentArray(Calendar calendarTime,String[] timeArgumentArray,String defatultTime){ + // 第一个参数为0则:默认今天 否则为:加X日(x可以是负数) + if("0".equals(timeArgumentArray[0])){ + calendarTime.setTime(ForgonDateUtils.safelyParseDate(defatultTime)); + }else{ + calendarTime.set(Calendar.DATE,calendarTime.get(Calendar.DATE) + (Integer.parseInt(timeArgumentArray[0]))); + }; + calendarTime.set(Calendar.HOUR_OF_DAY, Integer.parseInt(timeArgumentArray[1]));//第二个参数为:时 + calendarTime.set(Calendar.MINUTE, Integer.parseInt(timeArgumentArray[2]));//第三个参数为:分 + } + + + /** * 同步手术预约单 * @param invoicePlanList 同步申请单vo集合 */ Index: ssts-web/src/main/resources/spring/projects/gzszyy/timer.xml =================================================================== diff -u -r23428 -r23491 --- ssts-web/src/main/resources/spring/projects/gzszyy/timer.xml (.../timer.xml) (revision 23428) +++ ssts-web/src/main/resources/spring/projects/gzszyy/timer.xml (.../timer.xml) (revision 23491) @@ -64,7 +64,7 @@ Index: ssts-web/src/main/resources/spring/projects/ggsrmyy/timer.xml =================================================================== diff -u -r23453 -r23491 --- ssts-web/src/main/resources/spring/projects/ggsrmyy/timer.xml (.../timer.xml) (revision 23453) +++ ssts-web/src/main/resources/spring/projects/ggsrmyy/timer.xml (.../timer.xml) (revision 23491) @@ -64,7 +64,7 @@ @@ -85,8 +85,8 @@ - 0:8:00 - 0:18:00 + 1:0:00 + 1:23:59