package com.iailab.module.data.job.task; import com.iailab.module.data.common.enums.CommonConstant; import com.iailab.module.data.common.enums.DataQualityEnum; import com.iailab.module.data.common.enums.IsEnableEnum; import com.iailab.module.data.point.dto.DaPointBadHistoryDTO; import com.iailab.module.data.point.dto.DaPointDTO; import com.iailab.module.data.point.service.DaPointBadHistoryService; import com.iailab.module.data.point.service.DaPointService; import com.iailab.module.data.point.vo.DaPointPageReqVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.Calendar; import java.util.List; /** * Point采集器1min * 0 0/1 * * * ? * * @author Jay * @Description 测点异常历史 */ @Component("pointBadHistoryGenerateTask") public class PointBadHistoryGenerateTask implements ITask { private final Logger logger = LoggerFactory.getLogger(getClass()); @Resource private DaPointService daPointService; @Resource private DaPointBadHistoryService daPointBadHistoryService; @Override public void run(String params) { // 0 0/1 * * * ? logger.info("PointBadHistoryGenerateTask定时任务正在执行,参数为:{}", params); try { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); DaPointPageReqVO reqVO = new DaPointPageReqVO(); reqVO.setIsEnable(IsEnableEnum.ENABLE.getCode()); reqVO.setCollectQuality(DataQualityEnum.BAD.getCode()); List badPoints = daPointService.getList(reqVO); badPoints.forEach(point -> { DaPointBadHistoryDTO daPointBadHistoryDTO = new DaPointBadHistoryDTO(); daPointBadHistoryDTO.setPointId(point.getId()); daPointBadHistoryDTO.setPointNo(point.getPointNo()); daPointBadHistoryDTO.setPointName(point.getPointName()); daPointBadHistoryDTO.setTagNo(point.getTagNo()); daPointBadHistoryDTO.setBadValue(CommonConstant.BAD_VALUE); daPointBadHistoryDTO.setBadValueType("通讯异常"); daPointBadHistoryDTO.setCollectTime(point.getCollectTime()); daPointBadHistoryService.create(daPointBadHistoryDTO); }); logger.info("PointBadHistoryGenerateTask定时任务完成时间:" + LocalDateTime.now()); } catch (Exception ex) { ex.printStackTrace(); logger.error("PointBadHistoryGenerateTask定时任务失败时间:" + LocalDateTime.now()); } } }