一、基本介绍
通常情况下,在使用工作流时都是和具体的业务相关联的,此时一般通过流程实例主键与具体的业务主键的关联实现。
二、关联方式
1)启动流程实例
在启动流程实例时,关联业务主键。
@Override
public ProcessInstance startProcessInstanceByProcDefKey(String procDefKey, String businessId) {
RuntimeService runtimeService = processEngine.getRuntimeService();
ProcessInstance procInst = runtimeService.startProcessInstanceByKey(procDefKey, businessId);
return procInst;
}
此时act_ru_execution和act_hi_procinst表中的BUSINESS_KEY_字段会设置约为主键。
2)查询时关联具体业务
查询时,首先通过任务信息获取对应的业务主键,然后在关联具体业务信息即可。
@Override
public ProcessInstance listProcessInstanceById(String procInstId) {
RuntimeService runtimeService = processEngine.getRuntimeService();
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(procInstId).singleResult();
String businessKey = processInstance.getBusinessKey();
// 关联具体业务信息
// todo
return processInstance;
}