activiti会签以及动态设置办理人员

版权声明:愿你有人关心,有人疼,有人爱。 https://blog.csdn.net/u014417573/article/details/78293570

会签的基础设置就不说了

写几个需要在流程图里面设置的变量   

1.多实例类型 :三条线表示实例会并行执行。 三条线表示顺序执行。这个根据需要选择就行了

2.集合(多实例):给一个EL表达式占个坑,如${huiqian}

3.任务派遣:EL表达式${huiqianUser}

4.元素变量(多实例):${huiqianUser}


3,4不怎么确定要不要,因为貌似在设置的时候没有设置,知道的可以说下哈哈多谢


最后生成的XML就像下面这样

<userTask id="hq" name="会签" activiti:assignee="${huiqianUser}">
      <multiInstanceLoopCharacteristics isSequential="false" activiti:collection="${huiqian}" activiti:elementVariable="huiqianUser"/>
</userTask>

后台代码

Map<String,Object> variables = new HashMap<String,Object>();
	for(Map<String,Object> map:list){
		String userType = (String) map.get("userType");
		String authUserId = (String) map.get("authUserId");
		if(userType.equals("huiqian")){
			String[] users = authUserId.split(",");
			List<String> userList = Arrays.asList(users);
				variables.put("huiqian", userList);
		}else{
				variables.put(userType, authUserId);
			}
	}
ProcessInstance process = ProcessEngines.getDefaultProcessEngine().getRuntimeService().startProcessInstanceByKey(processDefinitionKey, id, variables);

userType就是在流程图中设置的EL表达式对应的字符串,如上"huiqian",其他的节点可以设置任务派遣(受让人)为${..}然后也可以在这里流程启动之前设置受理人,

当然,如果没有设置受让人,那么在流程转交到那一步时就会报异常,流程无法走下去


我们这个项目的需求就是这样,如果节点没有设置办理人员就需要跳过这个节点到下一个节点,这又是另外一个问题了



展开阅读全文

没有更多推荐了,返回首页