dengzedong
2025-02-27 6205c22a959fbb3b69735f34af8d3316c4082a5d
提交 | 用户 | 时间
1d02b4 1 package com.iailab.module.data.job.task;
J 2
3 import com.alibaba.nacos.common.utils.StringUtils;
4 import com.iailab.module.data.api.ind.IndItemApi;
5 import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO;
d1ca1d 6 import com.iailab.module.data.common.utils.DateUtils;
1d02b4 7 import com.iailab.module.data.ind.item.service.IndItemService;
J 8 import com.iailab.module.data.ind.item.vo.IndItemPageReqVO;
9 import com.iailab.module.data.ind.item.vo.IndItemRespVO;
10 import com.iailab.module.data.ind.value.service.IndItemValueService;
11 import com.iailab.module.data.ind.value.vo.IndItemValueSaveReqVO;
12 import org.slf4j.Logger;
13 import org.slf4j.LoggerFactory;
14 import org.springframework.beans.factory.annotation.Autowired;
15 import org.springframework.stereotype.Component;
16 import org.springframework.util.CollectionUtils;
17
18 import java.math.BigDecimal;
19 import java.time.LocalDateTime;
20 import java.util.Calendar;
21 import java.util.List;
22
23 /**
24  * @description: Point采集器1h
25  * @author: dzd
26  * @date: 2025/1/18 14:07
27  **/
28 @Component("indCollectTaskNetDay")
29 public class IndCollectTaskNetDay implements ITask {
30     private Logger logger = LoggerFactory.getLogger(getClass());
31
32     @Autowired
33     private IndItemService indItemService;
34
35     @Autowired
36     private IndItemValueService indItemValueService;
37
38     @Autowired
39     private IndItemApi indItemApi;
40     @Override
41     public void run(String params){
42         logger.debug("indCollectTaskNetDay定时任务正在执行,参数为:{}", params);
43         try {
44             Calendar calendar = Calendar.getInstance();
45             calendar.set(Calendar.MILLISECOND, 0);
46             IndItemPageReqVO reqVO = new IndItemPageReqVO();
47             if (StringUtils.isNotBlank(params)){
48                 reqVO.setSolidifyFlag(params);
49             }else {
50                 reqVO.setSolidifyFlag("DAY");
51             }
52             List<IndItemRespVO> indItemList =  indItemService.getList(reqVO);
53             if (!CollectionUtils.isEmpty(indItemList)){
54                 for (IndItemRespVO indItem : indItemList) {
55                     logger.info("开始查询指标数据,指标编号:" + indItem.getItemNo());
56                     List<ApiIndItemValueDTO> indItemValueList = indItemApi.queryIndItemDefaultValue(indItem.getItemNo());
57                     for (ApiIndItemValueDTO indItemValue : indItemValueList) {
58                         logger.info("开始保存指标数据,指标编号:" + indItem.getItemNo() + ", 指标数据:" + indItemValue.getDataValue());
59                         IndItemValueSaveReqVO saveReqVO = new IndItemValueSaveReqVO();
60                         saveReqVO.setItemNo(indItem.getItemNo());
d1ca1d 61                         saveReqVO.setDataTime(DateUtils.format(calendar.getTime(), DateUtils.DATE_TIME_PATTERN));
83f8ad 62                         saveReqVO.setDataValue((BigDecimal) indItemValue.getDataValue());
1d02b4 63                         indItemValueService.create(saveReqVO);
J 64                     }
65                 }
66             }
67             logger.info("indCollectTaskNetDay定时任务完成时间:" + LocalDateTime.now());
68         } catch (Exception ex) {
69             ex.printStackTrace();
70             logger.error("indCollectTaskNetDay定时任务失败时间:" + LocalDateTime.now());
71         }
72
73     }
74 }