作個簡單記錄,之後寫文章詳解markdown
// 獲取當前節點的activityId,即xml中每一個標籤的ID String currentActivityId = execution.getCurrentActivityId(); List<Task> list1 = taskService.createTaskQuery().processInstanceId(processInstance.getProcessInstanceId()).list(); // taskService.addComment(currentTask.getId(), execution.getProcessInstanceId(), body.get("msg").toString()); BpmnModel bpmnModel = repositoryService.getBpmnModel(execution.getProcessDefinitionId()); FlowNode flowNode = (FlowNode)bpmnModel.getFlowElement(currentActivityId); SequenceFlow sequenceFlow = flowNode.getIncomingFlows().get(0); // 獲取上一個節點的activityId String sourceRef = sequenceFlow.getSourceRef(); // 流程回退到上一個節點,審批人繼續審批 runtimeService.createChangeActivityStateBuilder().processInstanceId(processInstance.getProcessInstanceId()) .moveActivityIdTo(currentActivityId,sourceRef).changeState();