Cuando el proceso se detiene en una determinada tarea, ¿cómo obtienen las actividades las tareas anteriores y siguientes, o cómo aprender de la tarea actual?
2. Obtenga la siguiente tarea. Si se ha generado la siguiente tarea de la tarea actual, consulte 1. De lo contrario, debe analizar bpm para obtener el código del nodo. se ha generado. Consulte 1. De lo contrario, debe analizar bpm para obtener el código del nodo de la siguiente manera:
public FlowNodegt; Instancia de tarea histórica myTask = ProcessEngine.getHistoryService().createHistoricTaskInstanceQuery().taskId(taskid).singleResult();
String ProcessDefinitionId = myTask.getProcessDefinitionId()
BpmnModel bpmnModel =; repositoryService.getBpmnModel(processDefinitionId);
String myActivityId = myTask.getTaskDefinitionKid();
String myActivityId = myTask.getTaskDefinitionKid(); .getTaskDefinitionKid();
String myActivityId = myTask.getTaskDefinitionKid()getTaskDefinitionKey();
if (ValidateUtil.isEmpty(myActivityId)) {
devolver listas .newArrayList();
}
Listlt; flowNodeList = Lists.newArrayList();
FlowNode flowNode = (FlowNode) bpmnModel.getFlowElement(myActivityId) );
Listlt; FlowNodegt; flowNodes = Lists.newArrayList();
flowNodes.add(flowNode);
addNextNode(flowNodes, flowNodeList); p>
}
p
rivate void addNextNode(Listlt; FlowNodegt; list, List lt; FlowNodegt; flowNodeList) {
if (ValidateUtil.isEmpty(list)) {
return;
}
Listlt; FlowNodegt; flowNodeList1 = Lists.newArrayList();
for (FlowNode flowNode: lista) {
SequenceFlowgt; .getOutgoingFlows()getOutgoingFlows();
for (SequenceFlow secuenciaFlow : secuenciaFlows) {
FlowNode flowNode1 = (FlowNode) secuenciaFlow. getTargetFlowElement();
if (flowNode1 == null) {
continuar;
}
if (flowNode1 instancia de UserTask) {
if (flowNode1.getName() == null) {
flowNode1.setName(" ";
}
flowNodeList"; .add(flowNode1);
} else if (flowNode1 instancia de EndEvent) {
flowNode1.setName("End")setName("End");
flowNodeList.add(flowNode1);
} else if (flowNode1 instancia de StartEvent) {
flowNode1.setName("Begin"); (flowNode1);
} más {
flowNodeList1.add(flowNode1);
}
}
}
}
addNextNode( flowNodeList1, flowNodeList
}
;