Bladeren bron

添加发起人角色/部门/领导条件

caixiaofeng 6 maanden geleden
bovenliggende
commit
862a7ee5b3

+ 8 - 4
flow-workflow/flow-workflow-biz/src/main/java/com/flow/service/impl/FlowDefineServiceImpl.java

@@ -1,6 +1,7 @@
 package com.flow.service.impl;
 
 import com.flow.common.core.exception.BaseException;
+import com.flow.common.core.model.OauthUserDetails;
 import com.flow.common.core.util.SecurityContextUtil;
 import com.flow.common.core.util.StrUtil;
 import com.flow.common.mybatis.service.impl.BaseServiceImpl;
@@ -28,10 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
-import java.util.Calendar;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.concurrent.TimeUnit;
 
 @Service
@@ -59,6 +57,12 @@ public class FlowDefineServiceImpl extends BaseServiceImpl<FlowDefineDao, FlowDe
             throw new BaseException(String.format("流程(%s)已挂起,无法发起流程!", flowDefine.getName()));
         }
         Map<String, Object> values = startProcess.getValues();
+        OauthUserDetails userDetails = SecurityContextUtil.getUserInfo();
+        if (Objects.nonNull(userDetails)) {
+            values.put("_DEPT_ID", userDetails.getDeptId());
+            values.put("_LEADER", userDetails.getLeader());
+            values.put("_ROLE_IDS", userDetails.getRoleIds());
+        }
         values.put("initiator", SecurityContextUtil.getUserId());
         values.put("_FLOWABLE_SKIP_EXPRESSION_ENABLED", true);
         values.put("_SKIP_INITIATOR", true);