|
@@ -15,6 +15,7 @@ import com.aizuda.bpm.engine.entity.FlwInstance;
|
|
|
import com.aizuda.bpm.engine.entity.FlwTaskActor;
|
|
|
import com.aizuda.bpm.engine.model.DynamicAssignee;
|
|
|
import com.aizuda.bpm.engine.model.NodeAssignee;
|
|
|
+import com.aizuda.bpm.engine.model.NodeCandidate;
|
|
|
import com.aizuda.bpm.engine.model.NodeModel;
|
|
|
import com.aizuda.core.api.ApiAssert;
|
|
|
import com.aizuda.service.spring.SpringHelper;
|
|
@@ -63,6 +64,22 @@ public class FlowTaskActorProvider implements TaskActorProvider {
|
|
|
return 2;
|
|
|
}
|
|
|
|
|
|
+ // 发起人自选情况
|
|
|
+ if (NodeSetType.initiatorSelected.eq(nodeModel.getSetType())) {
|
|
|
+ NodeCandidate nodeCandidate = nodeModel.getNodeCandidate();
|
|
|
+ if (null != nodeCandidate) {
|
|
|
+ // 1,角色
|
|
|
+ if (Objects.equals(1, nodeCandidate.getType())) {
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 2,部门
|
|
|
+ if (Objects.equals(2, nodeCandidate.getType())) {
|
|
|
+ return 2;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// 其它类型自定义映射
|
|
|
return 0;
|
|
|
}
|
|
@@ -132,6 +149,22 @@ public class FlowTaskActorProvider implements TaskActorProvider {
|
|
|
// 4,发起人自选
|
|
|
|| NodeSetType.initiatorSelected.eq(nodeModel.getSetType())) {
|
|
|
|
|
|
+ // 自选候选人判断参与者类型
|
|
|
+ NodeCandidate nodeCandidate = nodeModel.getNodeCandidate();
|
|
|
+ if (null != nodeCandidate) {
|
|
|
+ // 1,角色
|
|
|
+ if (Objects.equals(1, nodeCandidate.getType())) {
|
|
|
+ return nodeAssigneeList.stream().map(t -> FlwTaskActor.ofRole(t.getTenantId(),
|
|
|
+ t.getId(), t.getName())).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 2,部门
|
|
|
+ if (Objects.equals(2, nodeCandidate.getType())) {
|
|
|
+ return nodeAssigneeList.stream().map(t -> FlwTaskActor.ofDepartment(t.getTenantId(),
|
|
|
+ t.getId(), t.getName())).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// 读取当前节点配置信息
|
|
|
return nodeAssigneeList.stream().map(FlwTaskActor::ofNodeAssignee).collect(Collectors.toList());
|
|
|
}
|
|
@@ -143,7 +176,7 @@ public class FlowTaskActorProvider implements TaskActorProvider {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- ApiAssert.fail( "请选择设置流程处理人信息");
|
|
|
+ ApiAssert.fail("请选择设置流程处理人信息");
|
|
|
return null;
|
|
|
}
|
|
|
|