|
@@ -3,6 +3,8 @@ package com.aizuda.boot.modules.flw.flow;
|
|
|
import com.aizuda.boot.modules.system.entity.vo.DepartmentHeadVO;
|
|
|
import com.aizuda.boot.modules.system.service.ISysDepartmentService;
|
|
|
import com.aizuda.boot.modules.system.service.ISysUserRoleService;
|
|
|
+import com.aizuda.bpm.engine.FlowConstants;
|
|
|
+import com.aizuda.bpm.engine.FlowDataTransfer;
|
|
|
import com.aizuda.bpm.engine.TaskActorProvider;
|
|
|
import com.aizuda.bpm.engine.assist.ObjectUtils;
|
|
|
import com.aizuda.bpm.engine.core.Execution;
|
|
@@ -10,6 +12,7 @@ import com.aizuda.bpm.engine.core.FlowCreator;
|
|
|
import com.aizuda.bpm.engine.core.enums.NodeSetType;
|
|
|
import com.aizuda.bpm.engine.core.enums.TaskType;
|
|
|
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.NodeModel;
|
|
|
import com.aizuda.core.api.ApiAssert;
|
|
@@ -21,6 +24,7 @@ import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.Objects;
|
|
|
import java.util.function.Supplier;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -70,6 +74,21 @@ public class FlowTaskActorProvider implements TaskActorProvider {
|
|
|
if (NodeSetType.supervisor.eq(nodeModel.getSetType())) {
|
|
|
// 2,主管
|
|
|
return getDepartmentHeadInfo(flowCreator, nodeModel.getExamineLevel(), false, () -> "请设置直接主管信息");
|
|
|
+ } else if (NodeSetType.initiatorSelected.eq(nodeModel.getSetType())) {
|
|
|
+ // 4,发起人自选
|
|
|
+// Map<String, Object> modelData = FlowDataTransfer.get(FlowConstants.processDynamicAssignee);
|
|
|
+// if (ObjectUtils.isNotEmpty(modelData)) {
|
|
|
+// DynamicAssignee dynamicAssignee = (DynamicAssignee) modelData.get(nodeModel.getNodeKey());
|
|
|
+// if (null != dynamicAssignee) {
|
|
|
+// return dynamicAssignee.getAssigneeList().stream().map(t -> {
|
|
|
+// FlwTaskActor flwTaskActor = FlwTaskActor.ofNodeAssignee(t);
|
|
|
+// flwTaskActor.setActorType(dynamicAssignee.getType());
|
|
|
+// return flwTaskActor;
|
|
|
+// }).toList();
|
|
|
+// }
|
|
|
+// }
|
|
|
+ // TODO 暂时默认返回发起人,后续换成前端传入的参数
|
|
|
+ return Collections.singletonList(FlowHelper.getFlwTaskActor());
|
|
|
} else if (NodeSetType.initiatorThemselves.eq(nodeModel.getSetType())) {
|
|
|
// 5,发起人自己
|
|
|
return Collections.singletonList(FlowHelper.getFlwTaskActor());
|