package com.zy.asrs.task; import com.core.exception.CoolException; import com.zy.asrs.entity.TaskWrk; import com.zy.asrs.entity.TaskWrkLog; import com.zy.asrs.entity.TaskWrkReport; import com.zy.asrs.service.TaskWrkReportService; import com.zy.asrs.service.TaskWrkService; import com.zy.asrs.service.impl.TaskWrkLogServiceImpl; import com.zy.common.utils.Synchro; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.io.IOException; /** * 定时将任务(完成、取消)转成日志 */ @Slf4j @Component public class TaskLogScheduler { @Autowired private TaskWrkService taskWrkService; @Autowired private TaskWrkLogServiceImpl wrkLogService; @Autowired private TaskWrkReportService taskWrkReportService; @Scheduled(cron = "0/3 * * * * ? ") public void execute() throws IOException { for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) { switch (taskWrk.getStatus()) { case 4: break; case 5: break; } TaskWrkReport taskWrkReport = new TaskWrkReport(); TaskWrkLog taskWrkLog = new TaskWrkLog(); Synchro.Copy(taskWrk, taskWrkReport); Synchro.Copy(taskWrk, taskWrkLog); if (!taskWrkReportService.insert(taskWrkReport)) { throw new CoolException("转移至上报表" + taskWrk); } if (!wrkLogService.insert(taskWrkLog)) { throw new CoolException("转历史档失败" + taskWrk); } if (!taskWrkService.deleteById(taskWrk)) { throw new CoolException("任务档删除失败" + taskWrk); } } } }