/**
* 启动流程
* @param serialno
* @param variables
* @return
*/
public ProcessInstance startWorkflow(Map<String,Object> params, Map<String, Object> variables) {
//业务流水号
String businessKey = (String) params.get("serialno");
String userid = (String) params.get("userid");
//流程定义id
String processDefinitionKey = (String) params.get("TASK_TYPE_FLOW");
ProcessInstance processInstance = null;
try{
// 用来设置启动流程的人员ID,引擎会自动把用户ID保存到activiti:initiator中
identityService.setAuthenticatedUserId(userid);
processInstance = runtimeService.startProcessInstanceByKey(processDefinitionKey, businessKey, variables);
String processInstanceId = processInstance.getId();
logger.debug("start process of {key={}, bkey={}, pid={}, variables={}}", new Object[]{"leave", businessKey, processInstanceId, variables});
}finally {
identityService.setAuthenticatedUserId(null);
}
return processInstance;
}
* 启动流程
* @param serialno
* @param variables
* @return
*/
public ProcessInstance startWorkflow(Map<String,Object> params, Map<String, Object> variables) {
//业务流水号
String businessKey = (String) params.get("serialno");
String userid = (String) params.get("userid");
//流程定义id
String processDefinitionKey = (String) params.get("TASK_TYPE_FLOW");
ProcessInstance processInstance = null;
try{
// 用来设置启动流程的人员ID,引擎会自动把用户ID保存到activiti:initiator中
identityService.setAuthenticatedUserId(userid);
processInstance = runtimeService.startProcessInstanceByKey(processDefinitionKey, businessKey, variables);
String processInstanceId = processInstance.getId();
logger.debug("start process of {key={}, bkey={}, pid={}, variables={}}", new Object[]{"leave", businessKey, processInstanceId, variables});
}finally {
identityService.setAuthenticatedUserId(null);
}
return processInstance;
}