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