动手实现了一下activiti下实现中国特色的逐级审批。
准备工作是写一个人力资源服务类并将它注入到applicationContext;这个服务类就是模拟上下级关系:kermit -> gonzo -> fozzie ->john. 这个类在流程中的作用就是查找用户的直接上级;
public class HumanService {
public String getDirectLeader(String user){
if("kermit".equals(user)){
return "gonzo";
}
else if("gonzo".equals(user)){
return "fozzie";
}
else if("fozzie".equals(user)){
return "john";
}
else{
return null;
}
}
}
新建一个流程,有两个人工任务:员工提交一个休假请求,老板逐级审批。
有一个流程变量叫做currentOperator, 用来存放当前操作人;在流程开始节点的表单上我定义了一个field映射到currentOperator(这样做只是为了图省事,没有其他目的)