update - 调整选择人前入参的查询逻辑
This commit is contained in:
parent
a56f2a9514
commit
fe9661fe44
@ -19,7 +19,7 @@ public enum BpmnErrorCode implements IProjectRespCode {
|
||||
|
||||
// ========== convertor 02-001 ==========
|
||||
CONVERTOR_UNKNOW_NODE_TYPE("02001", "节点类型【{}】暂不支持"),
|
||||
CONVERTOR_META_DATA_FORMAT_ERROR("02002", "JSON 数据格式有误"),
|
||||
CONVERTOR_META_DATA_FORMAT_ERROR("02002", "JSON 数据格式有误-{}: {}"),
|
||||
CONVERTOR_COMMON_ERROR("02003", "JSON 转 BPMN 失败, 原因:【{}】"),
|
||||
CONVERTOR_NODE_TYPE_NOT_SUPPORT("02004", "【{}】节点类型, ID:【{}】暂不支持"),
|
||||
|
||||
|
||||
@ -7,6 +7,7 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import org.flowable.bpmn.model.UserTask;
|
||||
import org.flowable.engine.delegate.DelegateExecution;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@ -28,20 +29,27 @@ public class EntWorkspaceProcessor implements ApproverScopeProcessor {
|
||||
public ApproverScopeDTO select(UserTask userTask, DelegateExecution execution) {
|
||||
// 获取组织信息
|
||||
CooperationOrgDTO orgDTO = (CooperationOrgDTO) execution.getVariables().get(BIZ_ORG_RELATION);
|
||||
ApproverScopeDTO build = ApproverScopeDTO.builder().build();
|
||||
if (Objects.isNull(orgDTO)) {
|
||||
return ApproverScopeDTO.builder().build();
|
||||
return build;
|
||||
}
|
||||
List<OrgScope> orgScopes = orgDTO.getOrgScopes().stream()
|
||||
.filter(o -> WorkspaceType.ENT == WorkspaceType.getType(o.getWorkspaceType()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
List<OrgScope> workerTeamScopes = CollUtil.defaultIfEmpty(orgDTO.getWorkerTeamScopes(),
|
||||
Collections.emptyList())
|
||||
.stream()
|
||||
.filter(o -> WorkspaceType.ENT == WorkspaceType.getType(o.getWorkspaceType()))
|
||||
.collect(Collectors.toList());
|
||||
return ApproverScopeDTO.builder().orgScopes(orgScopes)
|
||||
.workerTeamScopes(workerTeamScopes).build();
|
||||
if (!CollectionUtils.isEmpty(orgDTO.getOrgScopes())) {
|
||||
List<OrgScope> orgScopes = orgDTO.getOrgScopes().stream()
|
||||
.filter(o -> WorkspaceType.ENT == WorkspaceType.getType(o.getWorkspaceType()))
|
||||
.collect(Collectors.toList());
|
||||
build.setOrgScopes(orgScopes);
|
||||
}
|
||||
|
||||
if (!CollectionUtils.isEmpty(orgDTO.getWorkerTeamScopes())) {
|
||||
List<OrgScope> workerTeamScopes = CollUtil.defaultIfEmpty(orgDTO.getWorkerTeamScopes(),
|
||||
Collections.emptyList())
|
||||
.stream()
|
||||
.filter(o -> WorkspaceType.ENT == WorkspaceType.getType(o.getWorkspaceType()))
|
||||
.collect(Collectors.toList());
|
||||
build.setWorkerTeamScopes(workerTeamScopes);
|
||||
}
|
||||
return build;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -7,7 +7,6 @@ import cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper;
|
||||
import cn.axzo.workflow.core.deletage.BpmnTaskAssigneeSelector;
|
||||
import cn.axzo.workflow.core.deletage.approverscope.ApproverScopeDTO;
|
||||
import cn.axzo.workflow.core.deletage.approverscope.ApproverScopeProcessor;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.http.HttpStatus;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
@ -48,10 +47,6 @@ public abstract class AbstractBpmnTaskAssigneeSelector implements BpmnTaskAssign
|
||||
applicationContext.getBean(approverScopeEnum.getProcessor(),
|
||||
ApproverScopeProcessor.class);
|
||||
ApproverScopeDTO scopeDto = processor.select(userTask, execution);
|
||||
if (CollUtil.isEmpty(scopeDto.getOrgScopes())) {
|
||||
log.info("roleTaskAssignee no get orgScopes");
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return invokeService(userTask, execution, scopeDto);
|
||||
}
|
||||
}).orElseGet(Collections::emptyList);
|
||||
@ -83,8 +78,7 @@ public abstract class AbstractBpmnTaskAssigneeSelector implements BpmnTaskAssign
|
||||
.collect(Collectors.toList()))
|
||||
.orElse(Collections.emptyList());
|
||||
} catch (Exception e) {
|
||||
e.getStackTrace();
|
||||
throw new WorkflowEngineException(CONVERTOR_META_DATA_FORMAT_ERROR);
|
||||
throw new WorkflowEngineException(CONVERTOR_META_DATA_FORMAT_ERROR, "AbstractBpmnTaskAssigneeSelector#getTypes", e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user