沙钢智慧能源系统后端代码
潘志宝
5 天以前 b1d2bc853052c59eda04d74b9b5ecbddfc2ce326
提交 | 用户 | 时间
94c44e 1 package com.iailab.module.shasteel.job.task;
D 2
b1d2bc 3 import com.iailab.framework.common.util.date.DateUtils;
94c44e 4 import com.iailab.module.model.api.mdk.MdkApi;
D 5 import com.iailab.module.model.api.mdk.dto.MdkPredictReqDTO;
cf56eb 6 import com.iailab.module.shasteel.mq.common.constant.RoutingConstant;
5cc4c8 7 import org.apache.commons.lang3.StringUtils;
94c44e 8 import org.slf4j.Logger;
D 9 import org.slf4j.LoggerFactory;
9788d4 10 import org.springframework.amqp.rabbit.core.RabbitTemplate;
94c44e 11 import org.springframework.beans.factory.annotation.Autowired;
D 12 import org.springframework.stereotype.Component;
13
5cc4c8 14 import java.util.*;
94c44e 15
D 16 /**
17  * 执行模块预测定时任务
d92c31 18  * 1、高炉
19  * 2、焦炉
20  * 3、转炉
21  *     3.1、氧气
22  *     3.2、蒸汽
23  * 4、氮气
94c44e 24  */
D 25 @Component("runPredictModuleTask")
26 public class RunPredictModuleTask implements ITask {
27     private Logger logger = LoggerFactory.getLogger(getClass());
28
29     @Autowired
9788d4 30     private MdkApi mdkApi;
c9ff6a 31
9788d4 32     @Autowired
D 33     private RabbitTemplate rabbitTemplate;
94c44e 34
D 35     @Override
36     public void run(String params) {
c9ff6a 37         logger.info("runPredictModuleTask定时任务正在执行,参数为:{}", params);
94c44e 38         try {
D 39             Calendar calendar = Calendar.getInstance();
c9ff6a 40             calendar.set(Calendar.SECOND, 0);
41             calendar.set(Calendar.MILLISECOND, 0);
5cc4c8 42             Date predictTime = calendar.getTime();
43             if (StringUtils.isEmpty(params)) {
44                 logger.info("参数为空");
45                 return;
46             }
47             List<String> moduleTypeList = Arrays.asList(params.split(","));
48             moduleTypeList.forEach(type -> {
49                 MdkPredictReqDTO dto = new MdkPredictReqDTO();
50                 dto.setPredictTime(predictTime);
51                 dto.setModuleType(type);
52                 mdkApi.predictModule(dto);
53                 logger.info(type + "模块预测完成。");
54                 Map<String, Object> msg = new HashMap<>();
55                 msg.put("moduleType", type);
b1d2bc 56                 msg.put("predictTime", DateUtils.format(predictTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND));
5cc4c8 57                 rabbitTemplate.convertAndSend(RoutingConstant.EXCHANGE, RoutingConstant.Iailab_Model_PredictFinish, msg);
58             });
94c44e 59         } catch (Exception ex) {
D 60             logger.error("runPredictModuleTask运行异常");
61             ex.printStackTrace();
62         }
63         logger.info("runPredictModuleTask运行完成");
64     }
65 }