|
@@ -6,45 +6,24 @@ import lombok.EqualsAndHashCode;
|
|
import org.flowable.bpmn.model.FlowElement;
|
|
import org.flowable.bpmn.model.FlowElement;
|
|
import org.flowable.bpmn.model.SequenceFlow;
|
|
import org.flowable.bpmn.model.SequenceFlow;
|
|
import org.flowable.bpmn.model.StartEvent;
|
|
import org.flowable.bpmn.model.StartEvent;
|
|
-import org.flowable.bpmn.model.UserTask;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
-import java.util.LinkedHashMap;
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
-import java.util.Map;
|
|
|
|
|
|
|
|
@EqualsAndHashCode(callSuper = true)
|
|
@EqualsAndHashCode(callSuper = true)
|
|
@Data
|
|
@Data
|
|
public class StartNode extends Node {
|
|
public class StartNode extends Node {
|
|
- // 表单属性
|
|
|
|
- private List<FieldProperty> formProperties = new ArrayList<>();
|
|
|
|
- // 操作权限
|
|
|
|
- private Map<String, Boolean> operations = new LinkedHashMap<>();
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<FlowElement> convert() {
|
|
public List<FlowElement> convert() {
|
|
ArrayList<FlowElement> elements = Lists.newArrayList();
|
|
ArrayList<FlowElement> elements = Lists.newArrayList();
|
|
// 开始节点
|
|
// 开始节点
|
|
StartEvent startEvent = new StartEvent();
|
|
StartEvent startEvent = new StartEvent();
|
|
- String startId = "node_start";
|
|
|
|
- startEvent.setId(startId);
|
|
|
|
- startEvent.setName("开始");
|
|
|
|
|
|
+ startEvent.setId(this.getId());
|
|
|
|
+ startEvent.setName(this.getName());
|
|
startEvent.setExecutionListeners(this.buidEventListener());
|
|
startEvent.setExecutionListeners(this.buidEventListener());
|
|
elements.add(startEvent);
|
|
elements.add(startEvent);
|
|
// 下一个节点的连线
|
|
// 下一个节点的连线
|
|
- SequenceFlow sequenceFlow = new SequenceFlow();
|
|
|
|
- sequenceFlow.setId(String.format("%s-%s", startId, this.getId()));
|
|
|
|
- sequenceFlow.setSourceRef(startId);
|
|
|
|
- sequenceFlow.setTargetRef(this.getId());
|
|
|
|
- elements.add(sequenceFlow);
|
|
|
|
- // 发起人用户任务
|
|
|
|
- UserTask userTask = new UserTask();
|
|
|
|
- userTask.setId(this.getId());
|
|
|
|
- userTask.setName(this.getName());
|
|
|
|
- userTask.setAssignee("${initiator}");
|
|
|
|
- userTask.setSkipExpression("${_SKIP_INITIATOR == true}");
|
|
|
|
- elements.add(userTask);
|
|
|
|
- // 下一个节点的连线
|
|
|
|
Node next = this.getNext();
|
|
Node next = this.getNext();
|
|
SequenceFlow sequence = this.buildSequence(next);
|
|
SequenceFlow sequence = this.buildSequence(next);
|
|
elements.add(sequence);
|
|
elements.add(sequence);
|