PmsSchedule4Time.java
package com.mycim.valueobject.ems;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.framework.utils.lang.time.DateUtils;
import com.mycim.valueobject.SystemConstant;
import java.util.Date;
/**
* @Author: yibing.liu
* @Date: 2021/12/10 17:52
*/
public class PmsSchedule4Time extends PmsSchedule {
@Override
public PmsSchedule4Time newInstance() {
return new PmsSchedule4Time();
}
@Override
public void setToleranceStatusBase(int number) {
double tolerance = this.getToleranceTime();
Long nextPmTime = this.getNextPmTime().getTime();
Long currentTime = System.currentTimeMillis();
Long toleranceNum = (long) (tolerance * 60 * 60 * 1000);
this.setPrePMTimee(DateUtils.formatDate(new Date(nextPmTime - toleranceNum)));
this.setDeadLine(DateUtils.formatDate(new Date(nextPmTime + toleranceNum)));
String itemStatus = this.getItemStatus();
if (StringUtils.equalsIgnoreCase(itemStatus, SystemConstant.Str.ON)) {
if (currentTime < nextPmTime && currentTime + toleranceNum > nextPmTime) {
this.setToleranceStatus(-1); //黄色
} else if (currentTime >= nextPmTime && currentTime <= nextPmTime + toleranceNum) {
this.setToleranceStatus(1); //绿色
} else if (currentTime > nextPmTime + toleranceNum) {
this.setToleranceStatus(3); //红色 且定时器会切换状态
}
}
}
}