cy
2022-06-23 b83c40548208609d0d6826be13d742c28a784806
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
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();
//    }
}