package com.zy.asrs.task.newWay; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.WrkMastService; import com.zy.asrs.task.WorkMastScheduler; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.task.newWay.handler.AssignTasksToRCSHandler; 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; @Component public class AssignTasksToRCSScheduler { private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class); @Autowired private WrkMastService wrkMastService; @Autowired private AssignTasksToRCSHandler assignTasksToRCSHandler; /** * 下发任务给RCS */ @Scheduled(cron = "0/3 * * * * ? ") private void execute(){ List wrkMasts = wrkMastService.selectList(new EntityWrapper().eq("wrk_sts",30)); if (wrkMasts.isEmpty()) { return; } for (WrkMast wrkMast : wrkMasts) { if(Cools.isEmpty(wrkMast.getMemo())){ continue; } ReturnT returnT = assignTasksToRCSHandler.start(wrkMast); if (!returnT.isSuccess()) { wrkMast.setUpdMk("X"); wrkMast.setErrorTime(new Date()); if (!wrkMastService.updateById(wrkMast)) { log.error("工作档[workNo={}]标记待处理失败", wrkMast.getWrkNo()); } } } } }