
需求:加班,请假,公出等异常超过7天,流程申请人无法提交,并消息提醒。
逻辑:获取本地日期(yyyy-MM-dd)减去流程请假、加班、公出的时间。判断是否大于7天再做控制调整。
package com.customcode.action;
import com.customcode.util.XmActionLog;
import weaver.conn.RecordSet;
import weaver.general.baseBean;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.RequestInfo;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class KQ_PassSeven implements Action {
public String execute(RequestInfo request) {
XmActionLog alog = new XmActionLog();
String actionName="KQ_PassSeven";//日志文件夹名称
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String localDate = sdf.format(date);
alog.info(actionName, "localDate==" + localDate);
Long localtimes = null;
Long oatimes = null;
try {
localtimes = sdf.parse(localDate).getTime();
oatimes = sdf.parse(ksrqdata).getTime();
} catch (ParseException e) {
e.printStackTrace();
alog.info(actionName, "ParseException==" + e.getMessage());
}
alog.info(actionName, "localtimes==" + localtimes);//本地日期
alog.info(actionName, "oatimes==" + oatimes);//流程日期
Long day = (localtimes - oatimes) / (3600 * 24 * 1000);
alog.info(actionName, "day==" + day);
if (day > 7) {
request.getRequestManager().setMessagecontent("不能处理七天之前的异常!如有疑问,可咨询考勤人事!");
request.getRequestManager().setMessageid("1");
return "0";
}
return "1";
}
}