diff --git a/docs/components/flow-engine-framework_FlowScriptContext.md b/docs/components/flow-engine-framework_FlowScriptContext.md
index bd905da4..cf784798 100644
--- a/docs/components/flow-engine-framework_FlowScriptContext.md
+++ b/docs/components/flow-engine-framework_FlowScriptContext.md
@@ -22,7 +22,7 @@ description: Groovy 脚本运行时的 $bind 上下文对象,为脚本提供
com.codingapi.flow
flow-engine-framework
- 0.0.34
+ 0.0.35
```
diff --git a/docs/components/flow-engine-framework_GatewayContext.md b/docs/components/flow-engine-framework_GatewayContext.md
index 684629d9..427a1821 100644
--- a/docs/components/flow-engine-framework_GatewayContext.md
+++ b/docs/components/flow-engine-framework_GatewayContext.md
@@ -22,7 +22,7 @@ GatewayContext 是框架内部获取流程操作人(IFlowOperator)数据的
com.codingapi.flow
flow-engine-framework
- 0.0.34
+ 0.0.35
```
diff --git a/docs/components/flow-engine-framework_GroovyScriptBind.md b/docs/components/flow-engine-framework_GroovyScriptBind.md
index 461e0dfc..c38eb58c 100644
--- a/docs/components/flow-engine-framework_GroovyScriptBind.md
+++ b/docs/components/flow-engine-framework_GroovyScriptBind.md
@@ -22,7 +22,7 @@ GroovyScriptBind 是脚本编写者在流程 Groovy 脚本中通过 `$bind` 变
com.codingapi.flow
flow-engine-framework
- 0.0.34
+ 0.0.35
```
diff --git a/docs/components/flow-engine-framework_GroovyScriptRequest.md b/docs/components/flow-engine-framework_GroovyScriptRequest.md
index 658e53c3..1e0d1eb1 100644
--- a/docs/components/flow-engine-framework_GroovyScriptRequest.md
+++ b/docs/components/flow-engine-framework_GroovyScriptRequest.md
@@ -22,7 +22,7 @@ GroovyScriptRequest 是流程 Groovy 脚本中 `request` 参数的实际类型
com.codingapi.flow
flow-engine-framework
- 0.0.34
+ 0.0.35
```
diff --git a/docs/components/flow-engine-framework_GroovyWorkflowRequest.md b/docs/components/flow-engine-framework_GroovyWorkflowRequest.md
index 6976944e..1c0e35ab 100644
--- a/docs/components/flow-engine-framework_GroovyWorkflowRequest.md
+++ b/docs/components/flow-engine-framework_GroovyWorkflowRequest.md
@@ -22,7 +22,7 @@ GroovyWorkflowRequest 用于工作流级别(非会话级别)的脚本场景
com.codingapi.flow
flow-engine-framework
- 0.0.34
+ 0.0.35
```
diff --git a/docs/components/flow-engine-framework_IFlowOperator.md b/docs/components/flow-engine-framework_IFlowOperator.md
index 964ccff7..66aec2ce 100644
--- a/docs/components/flow-engine-framework_IFlowOperator.md
+++ b/docs/components/flow-engine-framework_IFlowOperator.md
@@ -22,7 +22,7 @@ IFlowOperator 是流程引擎中对参与流程的用户(审批人、创建者
com.codingapi.flow
flow-engine-framework
- 0.0.34
+ 0.0.35
```
diff --git a/docs/components/flow-engine-framework_RepositoryHolderContext.md b/docs/components/flow-engine-framework_RepositoryHolderContext.md
index 8af2c91b..c5ef0456 100644
--- a/docs/components/flow-engine-framework_RepositoryHolderContext.md
+++ b/docs/components/flow-engine-framework_RepositoryHolderContext.md
@@ -22,7 +22,7 @@ RepositoryHolderContext 是流程引擎运行时的基础设施注册中心。
com.codingapi.flow
flow-engine-framework
- 0.0.34
+ 0.0.35
```
diff --git a/docs/components/flow-engine-framework_ScriptRegistryContext.md b/docs/components/flow-engine-framework_ScriptRegistryContext.md
index 6387394b..fff05b8b 100644
--- a/docs/components/flow-engine-framework_ScriptRegistryContext.md
+++ b/docs/components/flow-engine-framework_ScriptRegistryContext.md
@@ -22,7 +22,7 @@ ScriptRegistryContext 是流程引擎中所有默认 Groovy 脚本的注册中
com.codingapi.flow
flow-engine-framework
- 0.0.34
+ 0.0.35
```
diff --git a/flow-engine-example/pom.xml b/flow-engine-example/pom.xml
index 195f6d49..5a74d7e9 100644
--- a/flow-engine-example/pom.xml
+++ b/flow-engine-example/pom.xml
@@ -6,7 +6,7 @@
com.codingapi.flow
flow-engine-parent
- 0.0.34
+ 0.0.35
../pom.xml
diff --git a/flow-engine-framework/pom.xml b/flow-engine-framework/pom.xml
index 44d2cba1..4ec1ddc1 100644
--- a/flow-engine-framework/pom.xml
+++ b/flow-engine-framework/pom.xml
@@ -6,7 +6,7 @@
com.codingapi.flow
flow-engine-parent
- 0.0.34
+ 0.0.35
flow-engine-framework
diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/node/nodes/ManualNode.java b/flow-engine-framework/src/main/java/com/codingapi/flow/node/nodes/ManualNode.java
index 827aba9e..a42e4839 100644
--- a/flow-engine-framework/src/main/java/com/codingapi/flow/node/nodes/ManualNode.java
+++ b/flow-engine-framework/src/main/java/com/codingapi/flow/node/nodes/ManualNode.java
@@ -1,10 +1,7 @@
package com.codingapi.flow.node.nodes;
import com.codingapi.flow.builder.BaseNodeBuilder;
-import com.codingapi.flow.node.BaseFlowNode;
-import com.codingapi.flow.node.IBlockNode;
-import com.codingapi.flow.node.IFlowNode;
-import com.codingapi.flow.node.NodeType;
+import com.codingapi.flow.node.*;
import com.codingapi.flow.session.FlowSession;
import com.codingapi.flow.utils.RandomUtils;
@@ -15,7 +12,7 @@
/**
* 人工控制节点
*/
-public class ManualNode extends BaseFlowNode implements IBlockNode {
+public class ManualNode extends BaseFlowNode implements IBlockNode , IDisplayNode {
public static final String NODE_TYPE = NodeType.MANUAL.name();
public static final String DEFAULT_NAME = "人工控制节点";
diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/pojo/response/ProcessNode.java b/flow-engine-framework/src/main/java/com/codingapi/flow/pojo/response/ProcessNode.java
index 970e343c..7aff445f 100644
--- a/flow-engine-framework/src/main/java/com/codingapi/flow/pojo/response/ProcessNode.java
+++ b/flow-engine-framework/src/main/java/com/codingapi/flow/pojo/response/ProcessNode.java
@@ -63,12 +63,7 @@ public boolean isHistory() {
return this.approveState == ApproveState.PASS || this.approveState == ApproveState.ERROR;
}
- public void addFlowRecordOperator(FlowRecord record, IFlowOperator flowOperator) {
- if (this.operators == null) {
- this.operators = new ArrayList<>();
- }
- this.operators.add(new FlowOperatorBody(record, flowOperator));
- }
+
public enum OperatorStrategy {
/**
@@ -83,7 +78,12 @@ public enum OperatorStrategy {
/**
* 审批人设定:当前节点审批时,审批人为下游该节点指定操作人
*/
- APPROVER_SELECT
+ APPROVER_SELECT,
+
+ /**
+ * 无人员设置
+ */
+ NO_OPERATOR
}
public enum ApproveState {
@@ -188,22 +188,24 @@ public static ProcessNode createByNode(IFlowNode flowNode, OperatorSelectType op
processNode.setApproveState(ApproveState.PENDING);
processNode.resetApproveStrategy(flowNode);
+ OperatorStrategy operatorStrategy = OperatorStrategy.NO_OPERATOR;
+
if (operators != null && !operators.isEmpty()) {
List flowOperatorBodyList = new ArrayList<>();
for (IFlowOperator operator : operators) {
flowOperatorBodyList.add(new FlowOperatorBody(operator));
}
processNode.setOperators(flowOperatorBodyList);
- processNode.setOperatorStrategy(OperatorStrategy.OPERATOR_LIST);
+ operatorStrategy = OperatorStrategy.OPERATOR_LIST;
} else {
if (operatorSelectType == OperatorSelectType.APPROVER_SELECT) {
- processNode.setOperatorStrategy(OperatorStrategy.APPROVER_SELECT);
+ operatorStrategy = OperatorStrategy.APPROVER_SELECT;
}
if (operatorSelectType == OperatorSelectType.INITIATOR_SELECT) {
- processNode.setOperatorStrategy(OperatorStrategy.INITIATOR_SELECT);
+ operatorStrategy = OperatorStrategy.INITIATOR_SELECT;
}
}
-
+ processNode.setOperatorStrategy(operatorStrategy);
return processNode;
}
diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/service/impl/FlowProcessNodeService.java b/flow-engine-framework/src/main/java/com/codingapi/flow/service/impl/FlowProcessNodeService.java
index 60ee576e..c4c68724 100644
--- a/flow-engine-framework/src/main/java/com/codingapi/flow/service/impl/FlowProcessNodeService.java
+++ b/flow-engine-framework/src/main/java/com/codingapi/flow/service/impl/FlowProcessNodeService.java
@@ -196,12 +196,16 @@ private void addFlowNode(IFlowNode flowNode, FlowSession flowSession) {
operators.add(this.currentOperator);
this.nodeList.add(ProcessNode.createByNode(flowNode, OperatorSelectType.SCRIPT, operators));
} else {
- OperatorLoadStrategy operatorLoadStrategy = flowNode.strategyManager().getStrategy(OperatorLoadStrategy.class);
- OperatorSelectType operatorSelectType = operatorLoadStrategy.getSelectType();
-
OperatorManager operatorManager = flowNode.strategyManager().loadOperators(flowSession);
List operators = operatorManager.getOperators();
+ OperatorSelectType operatorSelectType = null;
+ // 针对延迟节点、触发节点、子流程节点、路由节点、人工节点都没有设置流程审批人
+ OperatorLoadStrategy operatorLoadStrategy = flowNode.strategyManager().getStrategy(OperatorLoadStrategy.class);
+ if(operatorLoadStrategy!=null) {
+ operatorSelectType = operatorLoadStrategy.getSelectType();
+ }
+
this.nodeList.add(ProcessNode.createByNode(flowNode, operatorSelectType, operators));
}
}
diff --git a/flow-engine-starter-api/pom.xml b/flow-engine-starter-api/pom.xml
index 8bc65e9f..85d4a762 100644
--- a/flow-engine-starter-api/pom.xml
+++ b/flow-engine-starter-api/pom.xml
@@ -6,7 +6,7 @@
com.codingapi.flow
flow-engine-parent
- 0.0.34
+ 0.0.35
flow-engine-starter-api
diff --git a/flow-engine-starter-infra/pom.xml b/flow-engine-starter-infra/pom.xml
index c3136b92..3ce0a3ad 100644
--- a/flow-engine-starter-infra/pom.xml
+++ b/flow-engine-starter-infra/pom.xml
@@ -6,7 +6,7 @@
com.codingapi.flow
flow-engine-parent
- 0.0.34
+ 0.0.35
flow-engine-starter-infra
diff --git a/flow-engine-starter-query/pom.xml b/flow-engine-starter-query/pom.xml
index 093a9634..a768c4ba 100644
--- a/flow-engine-starter-query/pom.xml
+++ b/flow-engine-starter-query/pom.xml
@@ -6,7 +6,7 @@
com.codingapi.flow
flow-engine-parent
- 0.0.34
+ 0.0.35
flow-engine-starter-query
diff --git a/flow-engine-starter/pom.xml b/flow-engine-starter/pom.xml
index ab1f2e92..1274da4e 100644
--- a/flow-engine-starter/pom.xml
+++ b/flow-engine-starter/pom.xml
@@ -6,7 +6,7 @@
com.codingapi.flow
flow-engine-parent
- 0.0.34
+ 0.0.35
flow-engine-starter
diff --git a/flow-frontend b/flow-frontend
index 422f99a3..a80ea8ba 160000
--- a/flow-frontend
+++ b/flow-frontend
@@ -1 +1 @@
-Subproject commit 422f99a3ae1bc0231160642e9e7d40012b78db11
+Subproject commit a80ea8ba81fe0eef43f442028c7eecc9591c9c9b
diff --git a/pom.xml b/pom.xml
index 6dce3fc8..cea1c637 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
com.codingapi.flow
flow-engine-parent
- 0.0.34
+ 0.0.35
pom
https://github.com/codingapi/flow-engine