package com.ld.igds.timer; import com.ld.igds.constant.Constant; import com.ld.igds.grain.view.SysGrainManager; import com.ld.igds.models.Depot; import com.ld.igds.models.TimingDepot; import com.ld.igds.timer.service.ITimerService; import com.ld.igds.view.service.HDepotService; import lombok.extern.slf4j.Slf4j; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 粮情定时检测执行 */ @Slf4j @Service(Constant.JOB_BEAN_GRAIN) public class JobGrainService implements Job { @Autowired private ITimerService timerService; @Autowired private HDepotService depotService; @Autowired private SysGrainManager sysGrainManager; @Override public void execute(JobExecutionContext context) throws JobExecutionException { log.info("=======================开始执行定时粮情检测============================="); // 获取JOB的ID String key = context.getTrigger().getKey().getName(); String jobId = key.substring(7); //根据当前JOB获取设备列表 List list = timerService.getDepotByTimerId(jobId); if (null == list || list.isEmpty()) { log.info(context.getJobDetail().getDescription() + "该方案下没有配置需要执行的仓库,定时检测失败……"); return; } // 获取到需要操作的仓库列表 List depots = depotService.getDepotByTimer(list); if (null == depots || depots.isEmpty()) { log.info(context.getJobDetail().getDescription() + "该方案下没有获取到仓库信息,定时检测失败……"); return; } String msg = sysGrainManager.batchCheck(depots); log.info("=======================定时检测结束,结果============================{}",msg); } }