java代码制作activiti会签_activiti设计器会签人员配置
使用activiti設(shè)計器進行流程圖繪制,并且配置會簽和或簽人員,我也是在學(xué)習(xí)中,通過不斷查閱資料,總結(jié)了三種方式配置會簽人員
在配置人員之前,我們先說一下多實例類型 并行和串行
并行:并行代表同時進行,任務(wù)如果分配給兩個人,那么在這個節(jié)點的時候,兩個人同時都會收到任務(wù),各自處理
串行:串行是指任務(wù)由一個人完成后,才會流轉(zhuǎn)到第二個人手上
第一種方式通過設(shè)置變量
通過在設(shè)計器設(shè)置會簽人員集合,在流程啟動之前,將變量值設(shè)置進去
頁面配置:
代碼設(shè)置:
List assigneeList = new ArrayList<>();
assigneeList.add("張三");
assigneeList.add("李四");
vars.put("assigneeList",assigneeList);
ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinition.getId(), businessKey, vars);
然后流程在走到會簽這一步的時候,會自動將任務(wù)分配給張三和李四
第二種方式通過任務(wù)監(jiān)聽器配置
代碼設(shè)置:
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.Arrays;
public class TaskListenter implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
String[] empLoyees = {"張三","李四"};
// 會簽設(shè)置審核人/
delegateTask.addCandidateUsers(Arrays.asList(empLoyees));
}
}
然后流程在走到會簽這一步的時候,會自動將任務(wù)分配給張三和李四
第三種方式想在頁面將人員寫死
集合(多實例): ${testUser.resolveUsersForTask(execution,“張三,李四”)}
代碼:
@Component
public class TestUser {
/**
* 會簽時,動態(tài)獲取審批人
* @param execution
* @return
*/
public List resolveUsersForTask(DelegateExecution execution, String value) {
System.out.println(value);
String[] user = value.split(",");
String instanceId = execution.getProcessInstanceId();
System.out.println("實例id:"+instanceId);
List users = Arrays.asList(user);
return users;
}
}
以上三種方式 是我自己總結(jié)的設(shè)置會簽人員的方法
最后附上多實例完成條件:
nrOfInstances:實例總數(shù)
nrOfActiveInstances:當(dāng)前活動的,比如還沒完成的,實例數(shù)量。對于順序執(zhí)行的多實例,值一直為1。
nrOfCompletedInstances:已經(jīng)完成實例的數(shù)目
舉例:
${nrOfCompletedInstances>0} 表示只要有人完成任務(wù)就通過該節(jié)點
${nrOfCompletedInstances/nrOfInstances==1} 全部完成才能通過該節(jié)點
本文地址:https://blog.csdn.net/u010796208/article/details/107690399
希望與廣大網(wǎng)友互動??
點此進行留言吧!
總結(jié)
以上是生活随笔為你收集整理的java代码制作activiti会签_activiti设计器会签人员配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈spring之jdk动态代理
- 下一篇: 我有一个计算机梦想作文500,我有一个梦