java中获取flowable流程图配置中的完成条件表达式的方法
如获取以下完成条件表达式
话不多说 直接上代码
public String getCompletionCondition(Task task) {
// 1.获取流程模型信息
BpmnModel bpmnModel = bpmModelService.getBpmnModelByDefinitionId(task.getProcessDefinitionId());
// 2.获取当前任务节点元素
UserTask userTask = (UserTask)getFlowElementById(bpmnModel, task.getTaskDefinitionKey());
// 3.获取多实例完成条件的表达式字符串
MultiInstanceLoopCharacteristics loopCharacteristics = userTask.getLoopCharacteristics();
if (Objects.nonNull(loopCharacteristics)){
//获取表达式 如或签 ${ nrOfCompletedInstances== 1 }
String completionCondition = loopCharacteristics.getCompletionCondition();
return completionCondition;
}
return null;
}
/**
* 获取流程元素信息
*
* @param model bpmnModel 对象
* @param flowElementId 元素 ID
* @return 元素信息
*/
public FlowElement getFlowElementById(BpmnModel model, String flowElementId) {
Process process = model.getMainProcess();
return process.getFlowElement(flowElementId);
}