mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 18:28:43 +08:00 
			
		
		
		
	工作流 Flowable 分配leader 审批脚本 数据权限问题
This commit is contained in:
		| @@ -26,6 +26,10 @@ | ||||
|             <groupId>cn.iocoder.boot</groupId> | ||||
|             <artifactId>yudao-spring-boot-starter-flowable</artifactId> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>cn.iocoder.boot</groupId> | ||||
|             <artifactId>yudao-spring-boot-starter-biz-data-permission</artifactId> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.flowable</groupId> | ||||
|             <artifactId>flowable-spring-boot-starter-actuator</artifactId> | ||||
|   | ||||
| @@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollUtil; | ||||
| import cn.hutool.core.util.RandomUtil; | ||||
| import cn.hutool.core.util.StrUtil; | ||||
| import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | ||||
| import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; | ||||
| import cn.iocoder.yudao.framework.datapermission.core.dept.rule.DeptDataPermissionRule; | ||||
| import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO; | ||||
| import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmUserGroupDO; | ||||
| import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskAssignRuleTypeEnum; | ||||
| @@ -183,6 +185,7 @@ public class BpmUserTaskActivityBehavior extends UserTaskActivityBehavior { | ||||
|         if (CollUtil.isEmpty(assigneeUserIds)) { | ||||
|             return; | ||||
|         } | ||||
|         //TODO 芋艿 这里有数据权限的问题。默认会加上数据权限 dept_id IN (deptId). 导致查询不到数据 | ||||
|         Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(assigneeUserIds); | ||||
|         assigneeUserIds.removeIf(id -> { | ||||
|             AdminUserRespDTO user = userMap.get(id); | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| package cn.iocoder.yudao.module.bpm.framework.flowable.core.behavior.script.impl; | ||||
|  | ||||
| import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; | ||||
| import cn.iocoder.yudao.framework.datapermission.core.dept.rule.DeptDataPermissionRule; | ||||
| import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskRuleScriptEnum; | ||||
| import org.flowable.task.service.impl.persistence.entity.TaskEntity; | ||||
| import org.springframework.stereotype.Component; | ||||
| @@ -15,6 +17,7 @@ import java.util.Set; | ||||
| public class BpmTaskAssignLeaderX1Script extends BpmTaskAssignLeaderAbstractScript { | ||||
|  | ||||
|     @Override | ||||
|     @DataPermission(excludeRules = DeptDataPermissionRule.class) | ||||
|     public Set<Long> calculateTaskCandidateUsers(TaskEntity task) { | ||||
|         return calculateTaskCandidateUsers(task, 1); | ||||
|     } | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| package cn.iocoder.yudao.module.bpm.framework.flowable.core.behavior.script.impl; | ||||
|  | ||||
| import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; | ||||
| import cn.iocoder.yudao.framework.datapermission.core.dept.rule.DeptDataPermissionRule; | ||||
| import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskRuleScriptEnum; | ||||
| import org.flowable.task.service.impl.persistence.entity.TaskEntity; | ||||
| import org.springframework.stereotype.Component; | ||||
| @@ -14,7 +16,10 @@ import java.util.Set; | ||||
| @Component | ||||
| public class BpmTaskAssignLeaderX2Script extends BpmTaskAssignLeaderAbstractScript { | ||||
|  | ||||
|  | ||||
|     @Override | ||||
|     //不需要处理数据权限, 不然会有问题,查询不到数据 | ||||
|     @DataPermission(excludeRules = DeptDataPermissionRule.class) | ||||
|     public Set<Long> calculateTaskCandidateUsers(TaskEntity task) { | ||||
|         return calculateTaskCandidateUsers(task, 2); | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 jason
					jason