12-24-2018 02:17 AM
Hello Team,
I am using activiti 6 for designing business process for one of our project. The process is pretty straight forward, it consists of number of "User Taks" or "Service Task" with role based assignments. However our Client wants that an admin user should be able to rerun any of the previous "User Task" or "Service Task" at any point of time.
For example, following is my process :
Start –> Service-Task1 –>User-Task2 –>Service-Task3 –>User-Task4 –>Service-Task5 -> User-Task6 -> Service-Task7 -> User-Task8 ->End
Client want that at any point of time during a process execution, an admin user should be able to change workflow execution from : for example state "User-Task8" to any of Service-Task1 or User-Task2 or Service-Task3 or User-Task4 or Service-Task5 or User-Task6 or Service-Task7.
As per Alfresco Community thread : User Task Rollback
I have created a custom command as
public class RestartInstanceActivitiCommand implements Command<Void> {
private final String executionId;
private final FlowElement flowElement;
public RestartInstanceActivitiCommand(String executionId, FlowElement flowElement) {
this.executionId = executionId;
this.flowElement = flowElement;
}
public Void execute(CommandContext commandContext) {
ExecutionEntity execution = commandContext.getExecutionEntityManager().findById(this.executionId);
execution.setCurrentFlowElement(flowElement);
return null;
}
}
And executed it with :
BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId());
FlowElement flowElement = bpmnModel.getFlowElement("Service-Task1");
commandExecutor.execute(new RestartInstanceActivitiCommand(processInstanceId, flowElement));
runtimeService.trigger(processInstanceId);
With this the current task is set Service-Task1, but it is not getting executed automatically as a normal flow would do usually. Also I can see User-Task8 is also active and assigned to the user which I don't want becasue I want to cancel the current task and rerun it from the desired step.
Appreciate your help with a code sample.
Regards,
Sandip
01-04-2019 04:27 AM
Team,
Could you please reply if this is possible. If yes, way to do it.
Regards,
Sandip
Explore our Alfresco products with the links below. Use labels to filter content by product module.