package processmanager.handler;
import org.jbpm.api.jpdl.DecisionHandler;
import org.jbpm.api.model.OpenExecution;
import org.jbpm.pvm.internal.env.EnvironmentImpl;
import processmanager.service.IProcessManagerService;
import processmanager.serviceimpl.ProcessManagerServiceImpl;
/**
* 判断申请人的角色是不是经理
* @author heweina
* processmanager.handler.IsManagerHandler.java
* 2011-4-8 下午02:45:37
*/
public class IsManagerHandler implements DecisionHandler{
/**
*
*/
private static final long serialVersionUID = 1L;
//spring 管理的bean
private IProcessManagerService processManagerService;
public IProcessManagerService getProcessManagerService() {
return processManagerService;
}
public void setProcessManagerService(
IProcessManagerService processManagerService) {
this.processManagerService = processManagerService;
}
public String decide(OpenExecution execution) {
//获取spring管理的bean,注意:通过get、set方法直接获取为空
processManagerService = EnvironmentImpl.getFromCurrent(ProcessManagerServiceImpl.class);
//获取请假申请人ID
String userId = (String)execution.getVariable("leaver");
//获取请假人的权限
String authority = processManagerService.getUserPowerByUserId(userId);
//获取经理的Id
String managerId = processManagerService.getManagerId();
//是否是经理
String isManager = "";
if(authority.equals(managerId)){
isManager = "是";
}else{
isManager = "否";
}
return isManager;
}
}