mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 20:28:44 +08:00 
			
		
		
		
	【功能新增】工作流:BpmTaskCandidateAssignEmptyStrategy 读取流程管理员
This commit is contained in:
		@@ -1,11 +1,16 @@
 | 
				
			|||||||
package cn.iocoder.yudao.module.bpm.framework.flowable.core.candidate.strategy;
 | 
					package cn.iocoder.yudao.module.bpm.framework.flowable.core.candidate.strategy;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import cn.hutool.core.lang.Assert;
 | 
				
			||||||
 | 
					import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionInfoDO;
 | 
				
			||||||
import cn.iocoder.yudao.module.bpm.enums.definition.BpmUserTaskAssignEmptyHandlerTypeEnum;
 | 
					import cn.iocoder.yudao.module.bpm.enums.definition.BpmUserTaskAssignEmptyHandlerTypeEnum;
 | 
				
			||||||
import cn.iocoder.yudao.module.bpm.framework.flowable.core.candidate.BpmTaskCandidateStrategy;
 | 
					import cn.iocoder.yudao.module.bpm.framework.flowable.core.candidate.BpmTaskCandidateStrategy;
 | 
				
			||||||
import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmTaskCandidateStrategyEnum;
 | 
					import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmTaskCandidateStrategyEnum;
 | 
				
			||||||
import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.BpmnModelUtils;
 | 
					import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.BpmnModelUtils;
 | 
				
			||||||
 | 
					import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessDefinitionService;
 | 
				
			||||||
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 | 
					import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 | 
				
			||||||
 | 
					import jakarta.annotation.Resource;
 | 
				
			||||||
import org.flowable.engine.delegate.DelegateExecution;
 | 
					import org.flowable.engine.delegate.DelegateExecution;
 | 
				
			||||||
 | 
					import org.springframework.context.annotation.Lazy;
 | 
				
			||||||
import org.springframework.stereotype.Component;
 | 
					import org.springframework.stereotype.Component;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.HashSet;
 | 
					import java.util.HashSet;
 | 
				
			||||||
@@ -20,6 +25,10 @@ import java.util.Set;
 | 
				
			|||||||
@Component
 | 
					@Component
 | 
				
			||||||
public class BpmTaskCandidateAssignEmptyStrategy extends BpmTaskCandidateAbstractStrategy {
 | 
					public class BpmTaskCandidateAssignEmptyStrategy extends BpmTaskCandidateAbstractStrategy {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Resource
 | 
				
			||||||
 | 
					    @Lazy // 延迟加载,避免循环依赖
 | 
				
			||||||
 | 
					    private BpmProcessDefinitionService processDefinitionService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public BpmTaskCandidateAssignEmptyStrategy(AdminUserApi adminUserApi) {
 | 
					    public BpmTaskCandidateAssignEmptyStrategy(AdminUserApi adminUserApi) {
 | 
				
			||||||
        super(adminUserApi);
 | 
					        super(adminUserApi);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -45,8 +54,9 @@ public class BpmTaskCandidateAssignEmptyStrategy extends BpmTaskCandidateAbstrac
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        // 情况二:流程管理员
 | 
					        // 情况二:流程管理员
 | 
				
			||||||
        if (Objects.equals(assignEmptyHandlerType, BpmUserTaskAssignEmptyHandlerTypeEnum.ASSIGN_ADMIN.getType())) {
 | 
					        if (Objects.equals(assignEmptyHandlerType, BpmUserTaskAssignEmptyHandlerTypeEnum.ASSIGN_ADMIN.getType())) {
 | 
				
			||||||
            // TODO 芋艿:需要等待流程实例的管理员支持
 | 
					            BpmProcessDefinitionInfoDO processDefinition = processDefinitionService.getProcessDefinitionInfo(execution.getProcessDefinitionId());
 | 
				
			||||||
            throw new UnsupportedOperationException("暂时实现!!!");
 | 
					            Assert.notNull(processDefinition, "流程定义({})不存在", execution.getProcessDefinitionId());
 | 
				
			||||||
 | 
					            return new HashSet<>(processDefinition.getManagerUserIds());
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // 都不满足,还是返回空
 | 
					        // 都不满足,还是返回空
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user