MyTask.java 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package com.js.kbt.task;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Date;
  4. import javax.annotation.Resource;
  5. import org.apache.log4j.Logger;
  6. import org.springframework.stereotype.Service;
  7. import com.js.kbt.mapper.TbMouldMapper;
  8. import com.js.kbt.model.TbMould;
  9. import com.js.kbt.model.TbMouldExample;
  10. @Service
  11. public class MyTask {
  12. @Resource(name = "tbMouldMapper")
  13. private TbMouldMapper tbMouldMapper;
  14. Logger log = Logger.getLogger(MyTask.class);
  15. // @Scheduled(fixedRate = 1*60*1000)标签不能用,会导致Bean定义冲突报错
  16. public void doTask() throws Exception {
  17. Date now = new Date();
  18. log.info("定时任务:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(now));
  19. //规则是, 运动状态下,上次接受,超过2.5个小时,不到6个小时的模具设备,状态设置为5-异常,6小时以上的,状态设置为掉线
  20. now.setHours(now.getHours() -2);
  21. now.setMinutes(now.getMinutes()-30);
  22. TbMouldExample example = new TbMouldExample();
  23. example.createCriteria().andStateEqualTo("1").andLastRecTimeLessThanOrEqualTo(now);
  24. TbMould mould = new TbMould();
  25. mould.setState("5");//超过1小时仍然是运行状态的,要改成异常。
  26. int cnt = tbMouldMapper.updateByExampleSelective(mould, example);
  27. log.info("更新了"+cnt+"条异常");
  28. //超过6小时,仍然是异常状态的,改成掉线
  29. now = new Date();
  30. now.setHours(now.getHours() - 6);
  31. example.clear();
  32. example.createCriteria().andStateEqualTo("5").andLastRecTimeLessThanOrEqualTo(now);
  33. mould.setState("6");
  34. cnt = tbMouldMapper.updateByExampleSelective(mould, example);
  35. log.info("更新了"+cnt+"条掉线");
  36. }
  37. }