hotfix 转交管理员查询老接口,参数添加流程实例id

This commit is contained in:
yangqicheng 2025-01-20 10:31:51 +08:00
parent ec713161e5
commit e8ebb27a1e

View File

@ -19,13 +19,11 @@ import org.apache.commons.collections4.ListUtils;
import org.flowable.bpmn.model.FlowElement;
import org.flowable.bpmn.model.UserTask;
import org.flowable.engine.delegate.DelegateExecution;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@ -70,7 +68,7 @@ public class TransferToAdminTaskAssigneeSelector extends AbstractBpmnTaskAssigne
protected List<BpmnTaskDelegateAssigner> invokeService(FlowElement flowElement, DelegateExecution execution,
ApproverScopeDTO scopeDto) {
if(Boolean.TRUE.equals(supportRefreshProperties.getUseNewToAdminApi())) {
if (Boolean.TRUE.equals(supportRefreshProperties.getUseNewToAdminApi())) {
return invokeNewQuery(flowElement, execution, scopeDto);
} else {
return invokeOldQuery(flowElement, execution, scopeDto);
@ -90,7 +88,10 @@ public class TransferToAdminTaskAssigneeSelector extends AbstractBpmnTaskAssigne
.map(w -> BeanUtil.copyProperties(w, ListFlowTaskAssignerReq.OrgScope.class))
.collect(Collectors.toList()));
}
ListFlowTaskAssignerReq req = builder.workspaceAdmin(false).build();
ListFlowTaskAssignerReq req = builder
.procInstId(execution.getProcessInstanceId())
.workspaceAdmin(false)
.build();
BpmnMetaParserHelper.getApproverScope((UserTask) flowElement)
.ifPresent(i -> {
if (Objects.equals(i, ApproverScopeEnum.projectWorkspace)) {
@ -133,13 +134,14 @@ public class TransferToAdminTaskAssigneeSelector extends AbstractBpmnTaskAssigne
}
ListFlowTaskAssignerReq req = builder.workspaceAdmin(false).build();
req.setProcInstId(execution.getProcessInstanceId());
if(Objects.equals(ApproverScopeEnum.entWorkspace, approverScope.get()) && Objects.equals(ApproverSpecifyEnum.fixedPerson,optSpecify.get())) {
req.setCooperateTypes(Sets.newHashSet(1,2,3,4,5,6,7,8,9,11,30));
if (approverScope.isPresent() && Objects.equals(ApproverScopeEnum.entWorkspace, approverScope.get()) &&
optSpecify.isPresent() && Objects.equals(ApproverSpecifyEnum.fixedPerson, optSpecify.get())) {
req.setCooperateTypes(Sets.newHashSet(1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 30));
} else {
req.setCooperateTypes(getCooperationTypes(flowElement));
}
// 发起人主管找其超管时需要将发起人的数据包装进 orgScope
if (Objects.equals(ApproverSpecifyEnum.initiatorLeader, optSpecify.get())) {
if (optSpecify.isPresent() && Objects.equals(ApproverSpecifyEnum.initiatorLeader, optSpecify.get())) {
BpmnTaskDelegateAssigner initiator = BpmnTaskDelegateAssigner.toObjectCompatible(execution.getVariable(INTERNAL_INITIATOR, String.class));
Integer workspaceType = execution.getVariable(INTERNAL_PROCESS_WORKSPACE_TYPE, Integer.class);
req.setOrgScopes(Lists.newArrayList(new ListFlowTaskAssignerReq.OrgScope(workspaceType, Long.parseLong(initiator.getTenantId()), Long.parseLong(initiator.getOuId()), null)));