瀏覽代碼

优化处理者供应处理类

hubin 1 年之前
父節點
當前提交
4bc393573a
共有 1 個文件被更改,包括 14 次插入11 次删除
  1. 14 11
      src/main/java/com/aizuda/boot/modules/flw/flow/FlowTaskActorProvider.java

+ 14 - 11
src/main/java/com/aizuda/boot/modules/flw/flow/FlowTaskActorProvider.java

@@ -8,6 +8,7 @@ import com.aizuda.bpm.engine.assist.ObjectUtils;
 import com.aizuda.bpm.engine.core.Execution;
 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.NodeAssignee;
 import com.aizuda.bpm.engine.model.NodeModel;
@@ -15,6 +16,7 @@ import com.aizuda.core.api.ApiAssert;
 import com.aizuda.service.spring.SpringHelper;
 import com.aizuda.service.web.UserSession;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.ibatis.ognl.NodeType;
 import org.springframework.stereotype.Component;
 
 import java.util.Collections;
@@ -31,12 +33,12 @@ public class FlowTaskActorProvider implements TaskActorProvider {
         List<NodeAssignee> nodeAssigneeList = nodeModel.getNodeAssigneeList();
         if (ObjectUtils.isNotEmpty(nodeAssigneeList)) {
             if (NodeSetType.specifyMembers.eq(nodeModel.getSetType())) {
-                // 指定成员类型
+                // 1,指定成员
                 return nodeAssigneeList.stream().anyMatch((t) -> Objects.equals(t.getId(), flowCreator.getCreateId()));
             }
 
             if (NodeSetType.role.eq(nodeModel.getSetType())) {
-                // 角色类型
+                // 3,角色
                 ISysUserRoleService sysUserRoleService = SpringHelper.getBean(ISysUserRoleService.class);
                 List<Long> roleIds = nodeModel.getNodeAssigneeList().stream().map(t -> Long.valueOf(t.getId())).toList();
                 ApiAssert.fail(!sysUserRoleService.existRoles(Long.valueOf(flowCreator.getCreateId()), roleIds), "当前用户无操作权限");
@@ -47,11 +49,11 @@ public class FlowTaskActorProvider implements TaskActorProvider {
 
     @Override
     public List<FlwTaskActor> getTaskActors(NodeModel nodeModel, Execution execution) {
-        if (nodeModel.getType() == 0) {
+        if (TaskType.major.eq(nodeModel.getType())) {
             // 发起人审批,经过 isAllowed 验证合法,直接返回当前执行人
             return Collections.singletonList(FlwTaskActor.ofFlowCreator(execution.getFlowCreator()));
         }
-        if (nodeModel.getType() == 1) {
+        if (TaskType.approval.eq(nodeModel.getType())) {
             /*
              * 审核人类型
              * <p>
@@ -60,29 +62,30 @@ public class FlowTaskActorProvider implements TaskActorProvider {
              * 3,角色
              * 4,发起人自选
              * 5,发起人自己
-             * 7,连续多级主管
+             * 6,连续多级主管
+             * 7,部门
              * </p>
              */
-            if (Objects.equals(nodeModel.getSetType(), 2)) {
+            if (NodeSetType.supervisor.eq(nodeModel.getSetType())) {
                 // 2,主管
                 return getDepartmentHeadInfo(nodeModel.getExamineLevel(), false, () -> "请设置直接主管信息");
-            } else if (Objects.equals(nodeModel.getSetType(), 5)) {
+            } else if (NodeSetType.initiatorThemselves.eq(nodeModel.getSetType())) {
                 // 5,发起人自己
                 return Collections.singletonList(FlowHelper.getFlwTaskActor());
-            } else if (Objects.equals(nodeModel.getSetType(), 7)) {
-                // 7,连续多级主管
+            } else if (NodeSetType.multiLevelSupervisors.eq(nodeModel.getSetType())) {
+                // 6,连续多级主管
                 return getDepartmentHeadInfo(nodeModel.getExamineLevel(), true, () -> "未找到任何主管信息");
             }
         }
         List<NodeAssignee> nodeAssigneeList = nodeModel.getNodeAssigneeList();
         if (ObjectUtils.isNotEmpty(nodeAssigneeList)) {
             if (NodeSetType.specifyMembers.eq(nodeModel.getSetType())) {
-                // 指定成员类型
+                // 1,指定成员
                 return nodeAssigneeList.stream().map(FlwTaskActor::ofNodeAssignee).collect(Collectors.toList());
             }
 
             if (NodeSetType.role.eq(nodeModel.getSetType())) {
-                // 角色类型
+                // 3,角色
                 return nodeAssigneeList.stream().map(t -> FlwTaskActor.ofRole(t.getTenantId(), t.getId(), t.getName()))
                         .collect(Collectors.toList());
             }