| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package cn.com.lzt.workflow.task;
- import cn.com.lzt.message.send.service.MMessageSendServiceI;
- import cn.com.lzt.useractiviti.workflow.task.AbstractActivitiTimeTask;
- import cn.com.lzt.userattendancetotal.service.UserAttendanceTotalServiceI;
- import org.activiti.engine.*;
- import org.activiti.engine.history.HistoricTaskInstance;
- import org.activiti.engine.runtime.ProcessInstance;
- import org.activiti.engine.task.Task;
- import org.activiti.engine.task.TaskQuery;
- import org.apache.commons.lang.xwork.StringUtils;
- import org.jeecgframework.core.util.ApplicationContextUtil;
- import org.jeecgframework.core.util.ResourceUtil;
- import org.jeecgframework.web.system.pojo.base.TSUser;
- import org.jeecgframework.web.system.service.UserService;
- 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.ArrayList;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.List;
- @Service("alertNoAssignee")
- public class AlertNoAssignee extends AbstractActivitiTimeTask{
- protected MMessageSendServiceI mMessageSendService;
- protected UserService userService;
- @Override
- protected void doJob(JobExecutionContext jobExecutionContext) {
- Calendar c = Calendar.getInstance();
- c.add(Calendar.MINUTE,-30);
- Date startTime = c.getTime();
- userService = ApplicationContextUtil.getContext().getBean(UserService.class);
- mMessageSendService = ApplicationContextUtil.getContext().getBean(MMessageSendServiceI.class);
- ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
- TaskService taskService = processEngine.getTaskService();
- List<Task> list = taskService.createTaskQuery().taskCreatedAfter(startTime).taskUnassigned().list();
- if(list!=null && !list.isEmpty()) {
- String userName = ResourceUtil.getConfigByName("no_assignee_alert_user");
- TSUser user= userService.getUserByUserName(userName);
- List<String> instanceIdList = new ArrayList<>(list.size());
- for (Task task : list) {
- String instanceId = task.getProcessInstanceId();
- instanceIdList.add(instanceId);
- }
- String ids = StringUtils.join(instanceIdList, ",");
- String title = "审批流数据异常,请及时查看";
- String remark = "有审批任务无处理人,请注意。流程实例ID:"+ids;
- mMessageSendService.msg(user,title,remark);
- }
- }
- }
|