package com.oa.jbpm.handler; import java.sql.Date; import javax.annotation.Resource; import org.hibernate.Session; import org.jbpm.graph.def.ActionHandler; import org.jbpm.graph.exe.ExecutionContext; import org.jbpm.graph.node.TaskNode; import org.jbpm.taskmgmt.def.Task; import com.oa.email.send.SendMail; import com.oa.model.Users; import com.oa.service.UserService; public class DealMail extends BeanAutowire implements ActionHandler{ private UserService userService; private SendMail sendMail; /** * */ public void execute(ExecutionContext arg0) throws Exception { // OutputStream out=new FileOutputStream(new File("c:/log.txt")); // OutputStreamWriter writer=new OutputStreamWriter(out); Session session=arg0.getJbpmContext().getSession(); // String NodeName=arg0.getNode().getName(); // writer.write("nodename "+ NodeName); TaskNode taskNode = (TaskNode)arg0.getNode(); String nodename=taskNode.getName(); Task task=taskNode.getTask("actor"); String actorid=task.getActorIdExpression(); String docTitle=(String) arg0.getContextInstance().getVariable("docTitle"); System.out.println(docTitle); Users users=userService.getUsersByAccount(actorid); String subject="有新的公文【"+docTitle+"】正在等待您的审批..."; // String content="公文【"+docTitle+"】正在等待您的审批..."; String content=" 您好,"+actorid+",您有新的公文【"+docTitle+"】已流转到您的手中,请尽快审批,谢谢! 请登录公司网站"; String email=users.getPersonid().getEmail(); sendMail.setTo(email.trim()); sendMail.setSubject(subject); sendMail.setContent(content); while(!sendMail.send()) { // System.out.println("send success"); } // System.out.println(arg0.getTaskInstance().getActorId()); System.out.println("==========--------------------==============="); } @Resource public void setUserService(UserService userService) { this.userService = userService; } @Resource public void setSendMail(SendMail sendMail) { this.sendMail = sendMail; } }