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