|  |  | 
 |  |  | package com.zy.asrs.task; | 
 |  |  |  | 
 |  |  | import com.zy.asrs.entity.Task; | 
 |  |  | import com.zy.asrs.entity.WrkMast; | 
 |  |  | import com.zy.asrs.service.TaskService; | 
 |  |  | import com.zy.asrs.service.WrkMastService; | 
 |  |  | import com.zy.asrs.task.core.ReturnT; | 
 |  |  | import com.zy.asrs.task.handler.WorkMastHandler; | 
 |  |  | import org.slf4j.Logger; | 
 |  |  | import org.slf4j.LoggerFactory; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.scheduling.annotation.Scheduled; | 
 |  |  | import org.springframework.stereotype.Component; | 
 |  |  |  | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * Created by vincent on 2020/7/7 | 
 |  |  |  */ | 
 |  |  | //@Component | 
 |  |  | @Component | 
 |  |  | public class WorkMastScheduler { | 
 |  |  |  | 
 |  |  |     private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class); | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private WrkMastService wrkMastService; | 
 |  |  |     @Autowired | 
 |  |  |     private WorkMastHandler workMastHandler; | 
 |  |  |     @Autowired | 
 |  |  |     private TaskService taskService; | 
 |  |  |  | 
 |  |  |     @Scheduled(cron = "0/3 * * * * ? ") | 
 |  |  |     private void execute(){ | 
 |  |  |         workMastHandler.start(); | 
 |  |  |         List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData(); | 
 |  |  |         if (wrkMasts.isEmpty()) { | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         for (WrkMast wrkMast : wrkMasts) { | 
 |  |  |             ReturnT<String> returnT = workMastHandler.start(wrkMast); | 
 |  |  |             if (!returnT.isSuccess()) { | 
 |  |  |                 wrkMast.setUpdMk("X"); | 
 |  |  |                 wrkMast.setErrorMemo(returnT.getMsg()); | 
 |  |  |                 wrkMast.setErrorTime(new Date()); | 
 |  |  |                 if (!wrkMastService.updateById(wrkMast)) { | 
 |  |  |                     log.error("工作档[workNo={}]标记待处理失败", wrkMast.getWrkNo()); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Scheduled(cron = "0/3 * * * * ? ") | 
 |  |  |     private void executeTask(){ | 
 |  |  |         List<Task> wrkMasts = taskService.selectToBeCompleteData(); | 
 |  |  |         if (wrkMasts.isEmpty()) { | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         for (Task wrkMast : wrkMasts) { | 
 |  |  |             ReturnT<String> returnT = workMastHandler.AgvStart(wrkMast); | 
 |  |  |             if (!returnT.isSuccess()) { | 
 |  |  |                 wrkMast.setUpdMk("X"); | 
 |  |  |                 wrkMast.setErrorMemo(returnT.getMsg()); | 
 |  |  |                 wrkMast.setErrorTime(new Date()); | 
 |  |  |                 if (!taskService.updateById(wrkMast)) { | 
 |  |  |                     log.error("工作档[workNo={}]标记待处理失败", wrkMast.getWrkNo()); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |