package cn.com.lzt.userattendancetotal.timeTask; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import org.jeecgframework.core.util.ApplicationContextUtil; import org.jeecgframework.core.util.DataUtils; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.stereotype.Service; import cn.com.lzt.userattendancetotal.service.UserAttendanceTotalServiceI; @Service("userAttendanceTotalCurrMonthTask") public class UserAttendanceTotalCurrMonthTask implements Job{ public void insertUserAttendance(){ long start = System.currentTimeMillis(); org.jeecgframework.core.util.LogUtil.info("===================员工的考勤合计任务开始==================="); try { System.out.println("===================考勤上报(核算)定时任务开始"+new Date()); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH, -1); String yearmonth = DataUtils.date2Str(calendar.getTime(), new SimpleDateFormat("yyyy-MM")); UserAttendanceTotalServiceI userAttendanceTotalService = ApplicationContextUtil .getContext().getBean(UserAttendanceTotalServiceI.class); userAttendanceTotalService.insertUserAttendanceTotalByyearmonth(yearmonth); System.out.println("===================考勤上报(核算)定时任务结束"+new Date()); } catch (Exception e) { e.printStackTrace(); } org.jeecgframework.core.util.LogUtil.info("===================员工的考勤合计任务结束==================="); long end = System.currentTimeMillis(); long times = end - start; org.jeecgframework.core.util.LogUtil.info("总耗时"+times+"毫秒"); } /** * 员工的考勤合计任务 * insertUserAttendance * @author zbw * 2018-1-8 */ public void insertUserAttendance_currMonth(){ long start = System.currentTimeMillis(); org.jeecgframework.core.util.LogUtil.info("===================员工的考勤合计任务开始==================="); try { System.out.println("===================考勤上报当月(核算)定时任务开始"+new Date()); Calendar calendar = Calendar.getInstance(); String yearmonth = DataUtils.date2Str(calendar.getTime(), new SimpleDateFormat("yyyy-MM")); UserAttendanceTotalServiceI userAttendanceTotalService = ApplicationContextUtil .getContext().getBean(UserAttendanceTotalServiceI.class); //如果当月第一天 要重算上个月的,因为有上个月最后一天夜班的情况 int day = calendar.get(Calendar.DAY_OF_MONTH); if(day==1) { insertUserAttendance(); } userAttendanceTotalService.insertUserAttendanceTotalByyearmonth(yearmonth); System.out.println("===================考勤上报当月(核算)定时任务结束"+new Date()); } catch (Exception e) { e.printStackTrace(); } org.jeecgframework.core.util.LogUtil.info("===================员工的考勤合计任务结束==================="); long end = System.currentTimeMillis(); long times = end - start; org.jeecgframework.core.util.LogUtil.info("总耗时"+times+"毫秒"); } @Override public void execute(JobExecutionContext arg0) throws JobExecutionException { insertUserAttendance_currMonth(); } }