package cn.ksource.web.timer; import cn.ksource.config.SysConfigConstants; import cn.ksource.core.util.ConvertUtil; import cn.ksource.core.util.DateUtil; import cn.ksource.web.facade.remind.RemindFacade; import cn.ksource.web.facade.timetask.TimeTaskFacade; import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; /** * 定时任务控制器 * Created by wangzengfei * Date:2017/9/19 0019 * time:下午 2:47 * * * “0 0 10,14,16 * * ?” 每天上午10点,下午2点,4点 “0 0/30 9-17 * * ?” 朝九晚五工作时间内每半小时 “0 0 12 ? * WED” 表示每个星期三中午12点 “0 15 10 L * ?” 每月最后一日的上午10:15触发 “0 15 10 ? * 6L” 每月的最后一个星期五上午10:15触发 “0 15 10 ? * MON-FRI” 周一至周五的上午10:15触发cron = "0 00 23 * * ?" cron="0 0 7 * * ?" //每天早上7点执行 cron="0/5 * * * * ?" //每5秒执行一次 */ @Component @Lazy(value = false) public class TimeTaskTimer { @Resource(name="timeTaskFacade") private TimeTaskFacade timeTaskFacade; @Resource private RemindFacade remindFacade; /** * 定时更新事件工单的响应状态和处理状态 */ @Scheduled(cron="0 00 06 * * ?") public void updateIncidentTime() { boolean result = timeTaskFacade.updateIncidentTime(); if(result) { System.out.println("定时更新事件工单的响应状态和处理状态成功"); } else { System.out.println("定时更新事件工单的响应状态和处理状态失败"); } } /** * 定时生成健康检查工单 */ @Scheduled(cron="0 00 06 * * ?") public void healthOrder(){ boolean result = timeTaskFacade.saveHealthOrder(); if(result) { System.out.println("定时生成健康检查工单成功"); } else { System.out.println("定时生成健康检查工单失败"); } } /** * 定时生成例行维护工单 */ @Scheduled(cron="0 00 06 * * ?") public void remindOrder() { boolean result = remindFacade.saveRemindOrder(); if(result) { System.out.println("定时生成例行维护工单成功"); } else { System.out.println("定时生成例行维护工单失败"); } } /** * 定时更新数据源 type 1:知识 2:工单 */ @Scheduled(cron="0 00 06 * * ?") public void updateDataSource() { String beginTime = ConvertUtil.obj2Str(DateUtil.getDateAdd(DateUtil.getCurrentDate8(), -1, 8)); String endTime = ConvertUtil.obj2Str(DateUtil.getDateAdd(DateUtil.getCurrentDate8(), -1, 8)); boolean result = false; //更新知识数据源 result = timeTaskFacade.updateKnowledgeDataSource("",beginTime,endTime); //更新工单数据 result = timeTaskFacade.updateOrderDataSource(beginTime,endTime); //更新配置信息 result = timeTaskFacade.updateCmdbDataSource(beginTime,endTime); //更新文档信息 result = timeTaskFacade.updateDocumentDataSource(beginTime,endTime); if(result) { System.out.println("定时更新数据源成功"); } else { System.out.println("定时更新数据源失败"); } } /** * 生成月度满意度数据 */ @Scheduled(cron="0 00 06 * * ?") public void makemonthsatis() { boolean result = timeTaskFacade.savemakeSatisData(); if(result) { System.out.println("定时生成月度满意数据成功"); } else { System.out.println("定时生成月度满意数据失败"); } } /** * 成成应急预案工单 * @author gaofazhan * 每天早上1点执行 */ @Scheduled(cron="0 0 1 * * ?") public void savePlanDrill() { timeTaskFacade.savePlanDrill(); } /** * 定时完善通话记录 */ @Scheduled(cron="0 10 * * * ?") public void saveTraffic() { String flag=SysConfigConstants.CALL_XLH; if(flag.equals("1")){ timeTaskFacade.saveTraffic(); } } /** * 北京优音 */ // @Scheduled(cron="0/5 * * * * ?") // public void saveTrafficYy() { // timeTaskFacade.saveTrafficYy(); // } }