//package org.jeecg.modules.mdc.job;
|
//
|
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
//import lombok.extern.slf4j.Slf4j;
|
//import org.apache.commons.lang.StringUtils;
|
//import org.jeecg.common.constant.CommonConstant;
|
//import org.jeecg.modules.mdc.dto.MdcEquipmentWaitSectionDto;
|
//import org.jeecg.modules.mdc.entity.MdcDowntime;
|
//import org.jeecg.modules.mdc.entity.MdcEquipmentOvertime;
|
//import org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection;
|
//import org.jeecg.modules.mdc.service.IMdcDowntimeService;
|
//import org.jeecg.modules.mdc.service.IMdcEquipmentRunningSectionService;
|
//import org.jeecg.modules.mdc.util.DateUtils;
|
//import org.jeecg.modules.mdc.util.ThrowableUtil;
|
//import org.jeecg.modules.quartz.entity.QuartzJob;
|
//import org.jeecg.modules.quartz.entity.SysQuartzLog;
|
//import org.jeecg.modules.quartz.service.IQuartzJobService;
|
//import org.jeecg.modules.quartz.service.ISysQuartzLogService;
|
//import org.jeecg.modules.system.service.ISysAnnouncementService;
|
//import org.quartz.*;
|
//
|
//import javax.annotation.Resource;
|
//import java.util.Date;
|
//import java.util.List;
|
//import java.util.stream.Collectors;
|
//
|
///**
|
// * @Author: Lius
|
// * @CreateTime: 2025-03-12
|
// * @Description: 扫描停机任务
|
// */
|
//@PersistJobDataAfterExecution
|
//@DisallowConcurrentExecution
|
//@Slf4j
|
//public class ScanDowntimeJob implements Job {
|
//
|
// /**
|
// * 若参数变量名修改 QuartzJobController中也需对应修改 时间: yyyyMMdd 例: 20230414
|
// */
|
// private String parameter;
|
//
|
// public void setParameter(String parameter) {
|
// this.parameter = parameter;
|
// }
|
//
|
// @Resource
|
// private IQuartzJobService quartzJobService;
|
//
|
// @Resource
|
// private ISysAnnouncementService sysAnnouncementService;
|
//
|
// @Resource
|
// private ISysQuartzLogService sysQuartzLogService;
|
//
|
// @Resource
|
// private IMdcEquipmentRunningSectionService mdcEquipmentRunningSectionService;
|
//
|
// @Resource
|
// private IMdcDowntimeService mdcDowntimeService;
|
//
|
// @Override
|
// public void execute(JobExecutionContext context) throws JobExecutionException {
|
// SysQuartzLog quartzLog = new SysQuartzLog();
|
// quartzLog.setCreateTime(new Date());
|
// List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName());
|
// if (byJobClassName != null && !byJobClassName.isEmpty()) {
|
// quartzLog.setJobId(byJobClassName.get(0).getId());
|
// }
|
// quartzLog.setParams(this.parameter);
|
// log.info("定时扫描待机时长超20分钟设备任务 ScanDowntimeJob start! 时间:{}, 参数:{}", DateUtils.getNow(), this.parameter);
|
// long startTime = System.currentTimeMillis();
|
// try {
|
// String date = "";
|
// if (StringUtils.isNotBlank(this.parameter)) {
|
// date = DateUtils.format(DateUtils.toDate(this.parameter, DateUtils.STRDATE), DateUtils.STR_DATE);
|
//
|
// } else {
|
// date = DateUtils.format(DateUtils.getNow(), DateUtils.STR_DATE);
|
// }
|
// mdcDowntimeService.remove(new LambdaQueryWrapper<MdcDowntime>().eq(MdcDowntime::getTheDate, date).eq(MdcDowntime::getStatus, CommonConstant.DOWNTIME_STATUS_0));
|
//
|
// List<MdcEquipmentWaitSectionDto> mdcEquipmentRunningSections = mdcEquipmentRunningSectionService.findWaitList(date);
|
//
|
// if (mdcEquipmentRunningSections != null && !mdcEquipmentRunningSections.isEmpty()) {
|
// String finalDate = date;
|
// List<MdcDowntime> downtimeList = mdcEquipmentRunningSections.stream().map(mdcEquipmentWaitSectionDto -> {
|
// MdcDowntime downtime = new MdcDowntime();
|
// downtime.setEquipmentId(mdcEquipmentWaitSectionDto.getEquipmentId());
|
// downtime.setEquipmentName(mdcEquipmentWaitSectionDto.getEquipmentName());
|
// downtime.setTheDate(finalDate);
|
// downtime.setStartDate(mdcEquipmentWaitSectionDto.getStartTime());
|
// downtime.setEndDate(mdcEquipmentWaitSectionDto.getEndTime());
|
// return downtime;
|
// }).collect(Collectors.toList());
|
// if (!downtimeList.isEmpty()) {
|
// mdcDowntimeService.saveBatch(downtimeList);
|
// }
|
// }
|
// quartzLog.setIsSuccess(0);
|
// } catch (Exception e) {
|
// quartzLog.setIsSuccess(-1);
|
// quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e));
|
// // 发送消息通知
|
// sysAnnouncementService.jobSendMessage("定时扫描待机时长超20分钟设备任务", quartzLog.getExceptionDetail());
|
// }
|
// long endTime = System.currentTimeMillis();
|
// quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime)));
|
// sysQuartzLogService.save(quartzLog);
|
// }
|
//}
|