houzhongjian
2024-07-23 a6de490948278991e47952e90671ddba4555e9a2
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
package com.iailab.module.job.task;
 
import com.iailab.module.mcs.dto.StModelDTO;
import com.iailab.module.mcs.service.StModelService;
import com.iailab.module.model.handler.ModelHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
 
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
 
/**
 * 控制系统可靠性评价
 *
 * @author PanZhibao
 * @Description
 * @createTime 2024年06月15日
 */
@Component("modelControlReliabilityTask")
public class ModelControlReliabilityTask implements ITask {
    private Logger logger = LoggerFactory.getLogger(getClass());
 
    @Resource
    private StModelService stModelService;
 
    @Resource
    private ModelHandler modelHandler;
 
    private final List<String> MODEL_CODE_LIST = new ArrayList<>();
 
    ModelControlReliabilityTask() {
        MODEL_CODE_LIST.add("control_reliability_mm");
        MODEL_CODE_LIST.add("control_reliability_km");
        MODEL_CODE_LIST.add("control_reliability_blow1");
        MODEL_CODE_LIST.add("control_reliability_blow2");
 
        MODEL_CODE_LIST.add("control_reliability_dl401");
        MODEL_CODE_LIST.add("control_reliability_dl402");
        MODEL_CODE_LIST.add("control_reliability_dl501");
        MODEL_CODE_LIST.add("control_reliability_hm");
    }
 
    @Override
    public void run(String params) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.MILLISECOND, 0);
        calendar.set(Calendar.SECOND, 0);
        logger.info("ModelControlReliabilityTask定时任务正在执行,参数为:{}", params);
 
        try {
            for (int i = 0; i < MODEL_CODE_LIST.size(); i++) {
                StModelDTO stModel = stModelService.getByCode(MODEL_CODE_LIST.get(i));
                if (stModel == null) {
                    logger.info("model为空!");
                    return;
                }
                logger.info("运行模型:" + stModel.getModelCode());
                modelHandler.run(stModel.getModelCode(), calendar.getTime());
            }
 
        } catch (Exception ex) {
            logger.error("ModelControlReliabilityTask运行异常");
            ex.printStackTrace();
        }
        logger.info("ModelControlReliabilityTask运行完成");
    }
}