caixiaofeng преди 6 месеца
родител
ревизия
36d76c7a7f

+ 8 - 6
flow-workflow/flow-workflow-entity/src/main/java/com/flow/entity/node/ApprovalNode.java

@@ -76,12 +76,14 @@ public class ApprovalNode extends AssigneeNode {
         nobodyElement.setNamespacePrefix("flowable");
         nobodyElement.setElementText(this.nobody.getNobody());
         userTask.addExtensionElement(nobodyElement);
-        ExtensionElement sameElement = new ExtensionElement();
-        sameElement.setName("same");
-        sameElement.setNamespace("https://flowable.org/model");
-        sameElement.setNamespacePrefix("flowable");
-        sameElement.setElementText(this.same.getSame());
-        userTask.addExtensionElement(sameElement);
+        if (Objects.nonNull(this.same)) {
+            ExtensionElement sameElement = new ExtensionElement();
+            sameElement.setName("same");
+            sameElement.setNamespace("https://flowable.org/model");
+            sameElement.setNamespacePrefix("flowable");
+            sameElement.setElementText(this.same.getSame());
+            userTask.addExtensionElement(sameElement);
+        }
         ExtensionElement nobodyUsersElement = new ExtensionElement();
         nobodyUsersElement.setName("nobodyUsers");
         nobodyUsersElement.setNamespace("https://flowable.org/model");

+ 30 - 0
flow-workflow/flow-workflow-entity/src/main/java/com/flow/entity/node/TimerStartNode.java

@@ -0,0 +1,30 @@
+package com.flow.entity.node;
+
+import com.google.common.collect.Lists;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.flowable.bpmn.model.FlowElement;
+import org.flowable.bpmn.model.StartEvent;
+import org.flowable.bpmn.model.TimerEventDefinition;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class TimerStartNode extends Node {
+
+    @Override
+    public List<FlowElement> convert() {
+        ArrayList<FlowElement> elements = Lists.newArrayList();
+        // 开始节点
+        StartEvent startEvent = new StartEvent();
+        String startId = "node_start";
+        startEvent.setId(startId);
+        startEvent.setName("开始");
+        startEvent.setExecutionListeners(this.buidEventListener());
+        TimerEventDefinition timerEventDefinition = new TimerEventDefinition();
+        startEvent.setEventDefinitions(Lists.newArrayList(timerEventDefinition));
+        return elements;
+    }
+}