Browse Source

添加到扩展元素

caixiaofeng 6 months ago
parent
commit
41f027996a

+ 13 - 0
flow-workflow/flow-workflow-entity/src/main/java/com/flow/entity/node/ApprovalNode.java

@@ -63,6 +63,19 @@ public class ApprovalNode extends AssigneeNode {
         }
         // userTask.setAsynchronous(true);
         // userTask.setFormKey(this.getFormKey());
+        // 扩展元素
+        ExtensionElement nobodyElement = new ExtensionElement();
+        nobodyElement.setName("nobody");
+        nobodyElement.setElementText(this.nobody.getNobody());
+        userTask.addExtensionElement(nobodyElement);
+        ExtensionElement sameElement = new ExtensionElement();
+        sameElement.setName("same");
+        sameElement.setElementText(this.same.getSame());
+        userTask.addExtensionElement(sameElement);
+        ExtensionElement nobodyUsersElement = new ExtensionElement();
+        nobodyUsersElement.setName("nobodyUsers");
+        nobodyUsersElement.setElementText(String.join(",", this.nobodyUsers));
+        userTask.addExtensionElement(nobodyUsersElement);
         // 审批人
         MultiInstanceLoopCharacteristics multiInstanceLoopCharacteristics = new MultiInstanceLoopCharacteristics();
         if (this.getMulti() == ApprovalMultiEnum.SEQUENTIAL) {

+ 10 - 4
flow-workflow/flow-workflow-entity/src/main/java/com/flow/entity/node/NotifyNode.java

@@ -4,10 +4,7 @@ import com.flow.enums.NotifyTypeEnum;
 import com.google.common.collect.Lists;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.flowable.bpmn.model.FlowElement;
-import org.flowable.bpmn.model.ImplementationType;
-import org.flowable.bpmn.model.SequenceFlow;
-import org.flowable.bpmn.model.ServiceTask;
+import org.flowable.bpmn.model.*;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -31,6 +28,15 @@ public class NotifyNode extends AssigneeNode {
         serviceTask.setAsynchronous(true);
         serviceTask.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION);
         serviceTask.setImplementation("${notifyDelegate}");
+        // 扩展属性
+        FieldExtension subjectExtension = new FieldExtension();
+        subjectExtension.setFieldName("subject");
+        subjectExtension.setExpression(this.subject);
+        serviceTask.getFieldExtensions().add(subjectExtension);
+        FieldExtension contentExtension = new FieldExtension();
+        contentExtension.setFieldName("content");
+        contentExtension.setExpression(this.content);
+        serviceTask.getFieldExtensions().add(contentExtension);
         elements.add(serviceTask);
         // 下一个节点的连线
         Node child = this.getChild();