Process process = new Process();
BpmnModel model = new BpmnModel();
model.addProcess(process);
process.setId("multiple-process1113");
process.setName("测试流程");
StartEvent startEvent = createStartEvent();
EndEvent endEvent = createEndEvent();
ServiceTask rejectService = createServiceTask("审核不通过");
ServiceTask approveService = createServiceTask("审核通过");
UserTask userTask = createUserTask("中药师审核", "1'");
ExclusiveGateway gateway = createExclusiveGateway();
process.addFlowElement(startEvent);
process.addFlowElement(userTask);
process.addFlowElement(gateway);
process.addFlowElement(rejectService);
process.addFlowElement(approveService);
process.addFlowElement(endEvent);
SequenceFlow flow1 = createSequenceFlow(startEvent.getId(), userTask.getId(), null, null);
startEvent.setOutgoingFlows(Arrays.asList(flow1));
process.addFlowElement(flow1);
SequenceFlow flow2 = createSequenceFlow(userTask.getId(), gateway.getId(), null, null);
userTask.setOutgoingFlows(Arrays.asList(flow2));
process.addFlowElement(flow2);
SequenceFlow flow3 = createSequenceFlow(gateway.getId(), rejectService.getId(), "审核通过", "${agree==true}");
process.addFlowElement(flow3);
SequenceFlow flow4 = createSequenceFlow(gateway.getId(), approveService.getId(), "审核不通过", "${agree==false}");
process.addFlowElement(flow4);
gateway.setOutgoingFlows(Arrays.asList(flow3, flow4));
SequenceFlow flow5 = createSequenceFlow(rejectService.getId(), endEvent.getId(), null, null);
rejectService.setOutgoingFlows(Arrays.asList(flow5));
SequenceFlow flow6 = createSequenceFlow(approveService.getId(), endEvent.getId(), null, null);
approveService.setOutgoingFlows(Arrays.asList(flow6));
process.addFlowElement(flow5);
process.addFlowElement(flow6);
BpmnAutoLayout layout = new BpmnAutoLayout(model);
layout.execute();
// 转换成json
BpmnJsonConverter jsonConverter = new BpmnJsonConverter();
ObjectNode objectNode = jsonConverter.convertToJson(model);
String modelId = modelService.createDefaultModel(null, "test", "test", "test");
repositoryService.addModelEditorSource(modelId,
objectNode.toString().getBytes("utf-8"));
节点需要设置setOutgoingFlows 否则显示json不正确