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<TimingDepot> list = timerService.getDepotByTimerId(jobId);
|
if (null == list || list.isEmpty()) {
|
log.info(context.getJobDetail().getDescription() + "该方案下没有配置需要执行的仓库,定时检测失败……");
|
return;
|
}
|
|
// 获取到需要操作的仓库列表
|
List<Depot> depots = depotService.getDepotByTimer(list);
|
if (null == depots || depots.isEmpty()) {
|
log.info(context.getJobDetail().getDescription() + "该方案下没有获取到仓库信息,定时检测失败……");
|
return;
|
}
|
|
String msg = sysGrainManager.batchCheck(depots);
|
|
log.info("=======================定时检测结束,结果============================{}",msg);
|
}
|
|
}
|