update - 添加执行过程日志

This commit is contained in:
wangli 2024-01-04 10:22:50 +08:00
parent 3432b15e96
commit 69ea46fb30
7 changed files with 46 additions and 7 deletions

View File

@ -155,7 +155,7 @@ public class EngineExecutionStartListener implements ExecutionListener {
if (!CollectionUtils.isEmpty(assigners)) {
return;
}
log.info("当前节点: id: {}, name: {} 审批人为空", userTask.getId(), userTask.getName());
log.info("当前节点id: [{}], name: [{}] 审批人为空, 将执行审批人为空的兜底配置!", userTask.getId(), userTask.getName());
getApproverEmptyHandleType(userTask).ifPresent(type -> {
switch (type) {
case autoPassed:
@ -218,7 +218,10 @@ public class EngineExecutionStartListener implements ExecutionListener {
} else {
selectors.forEach(select -> {
if (select.support(type)) {
assigners.addAll(select.select(userTask, execution, throwException));
List<BpmnTaskDelegateAssigner> selected = select.select(userTask, execution, throwException);
log.info("审批任务节点 Id:{}, Name: {}, 审批人指定枚举: {} 的审批人集合为: {}", userTask.getId(), userTask.getName(),
type, JSON.toJSONString(selected));
assigners.addAll(selected);
}
});
}

View File

@ -42,6 +42,12 @@ public class AdminTaskAssigneeSelector extends AbstractBpmnTaskAssigneeSelector
return getType().equals(param);
}
@Override
public List<BpmnTaskDelegateAssigner> select(UserTask userTask, DelegateExecution execution,
Boolean throwException) {
return super.select(userTask, execution, throwException);
}
@Override
protected List<BpmnTaskDelegateAssigner> invokeService(UserTask userTask, DelegateExecution execution,
ApproverScopeDTO scopeDto) {
@ -60,7 +66,8 @@ public class AdminTaskAssigneeSelector extends AbstractBpmnTaskAssigneeSelector
}
ListFlowTaskAssignerReq req = builder.build();
List<FlowTaskAssignerResp> flowTaskAssigners =
parseApiResult(() -> flowSupportApi.listTaskAssignerAdmin(req), "通过管理员查询审批人", req);
parseApiResult(() -> flowSupportApi.listTaskAssignerAdmin(req), "审批节点: " + userTask.getId() + ", " +
"通过管理员查询审批人", req);
if (CollUtil.isEmpty(flowTaskAssigners)) {
return Collections.emptyList();

View File

@ -40,6 +40,12 @@ public class IdentityTaskAssigneeSelector extends AbstractBpmnTaskAssigneeSelect
return getType().equals(param);
}
@Override
public List<BpmnTaskDelegateAssigner> select(UserTask userTask, DelegateExecution execution,
Boolean throwException) {
return super.select(userTask, execution, throwException);
}
@Override
protected List<BpmnTaskDelegateAssigner> invokeService(UserTask userTask, DelegateExecution execution,
ApproverScopeDTO scopeDto) {
@ -56,7 +62,8 @@ public class IdentityTaskAssigneeSelector extends AbstractBpmnTaskAssigneeSelect
.build();
List<FlowTaskAssignerResp> flowTaskAssigners =
parseApiResult(() -> flowSupportApi.listTaskAssignerByIdentity(req), "通过身份查询审批人", req);
parseApiResult(() -> flowSupportApi.listTaskAssignerByIdentity(req), "审批节点: " + userTask.getId() + "," +
" 通过身份查询审批人", req);
if (CollUtil.isEmpty(flowTaskAssigners)) {
return super.invokeService(userTask, execution, scopeDto);

View File

@ -44,6 +44,12 @@ public class InitiatorLeaderTaskAssigneeSelector extends AbstractBpmnTaskAssigne
return getType().equals(param);
}
@Override
public List<BpmnTaskDelegateAssigner> select(UserTask userTask, DelegateExecution execution,
Boolean throwException) {
return super.select(userTask, execution, throwException);
}
@Override
protected List<BpmnTaskDelegateAssigner> invokeService(UserTask userTask, DelegateExecution execution,
ApproverScopeDTO scopeDto) {
@ -66,7 +72,8 @@ public class InitiatorLeaderTaskAssigneeSelector extends AbstractBpmnTaskAssigne
.build();
List<FlowTaskAssigner> flowTaskAssigners =
parseApiResult(() -> organizationalNodeUserApi.listFlowTaskAssigner(req), "通过发起人主管查询审批人", req);
parseApiResult(() -> organizationalNodeUserApi.listFlowTaskAssigner(req),
"审批节点: " + userTask.getId() + ", 通过发起人主管查询审批人", req);
if (CollUtil.isEmpty(flowTaskAssigners)) {
return super.invokeService(userTask, execution, scopeDto);

View File

@ -41,6 +41,12 @@ public class PositionTaskAssigneeSelector extends AbstractBpmnTaskAssigneeSelect
return getType().equals(param);
}
@Override
public List<BpmnTaskDelegateAssigner> select(UserTask userTask, DelegateExecution execution,
Boolean throwException) {
return super.select(userTask, execution, throwException);
}
@Override
protected List<BpmnTaskDelegateAssigner> invokeService(UserTask userTask, DelegateExecution execution,
ApproverScopeDTO scopeDto) {
@ -52,7 +58,8 @@ public class PositionTaskAssigneeSelector extends AbstractBpmnTaskAssigneeSelect
.build();
List<FlowTaskAssigner> flowTaskAssigners =
parseApiResult(() -> organizationalNodeUserApi.listFlowTaskAssigner(req), "通过岗位查询审批人", req);
parseApiResult(() -> organizationalNodeUserApi.listFlowTaskAssigner(req),
"审批节点: " + userTask.getId() + ", 通过岗位查询审批人", req);
if (CollUtil.isEmpty(flowTaskAssigners)) {
return Collections.emptyList();

View File

@ -42,6 +42,12 @@ public class RoleTaskAssigneeSelector extends AbstractBpmnTaskAssigneeSelector {
return getType().equals(param);
}
@Override
public List<BpmnTaskDelegateAssigner> select(UserTask userTask, DelegateExecution execution,
Boolean throwException) {
return super.select(userTask, execution, throwException);
}
@Override
protected List<BpmnTaskDelegateAssigner> invokeService(UserTask userTask, DelegateExecution execution,
ApproverScopeDTO scopeDto) {
@ -58,7 +64,7 @@ public class RoleTaskAssigneeSelector extends AbstractBpmnTaskAssigneeSelector {
.collect(Collectors.toList()))
.build();
List<SaasRoleUserDTO> flowTaskAssigners = parseApiResult(() -> tyrSaasRoleUserApi.roleUserList(param),
"通过角色查询审批人", param)
"审批节点: " + userTask.getId() + ", 通过角色查询审批人", param)
.stream().filter(f -> workspaceIdSet.contains(f.getWorkspaceId()))
.collect(Collectors.toList());

View File

@ -111,6 +111,7 @@ public class AutoOperatorEventListener implements BpmnTaskEventListener, Ordered
variables.put(INTERNAL_DELETE_PROCESS_FLAG, INTERNAL_PROCESS_TYPE_REJECT);
runtimeService.setVariables(delegateTask.getProcessInstanceId(), variables);
// FIXME 这里的删除流程实例, 应该利用 DeleteProcessInstanceOperation 实现
List<HistoricTaskInstance> historyTaskList =
historyService.createHistoricTaskInstanceQuery().unfinished().list();
if (!CollectionUtils.isEmpty(historyTaskList)) {
@ -119,6 +120,7 @@ public class AutoOperatorEventListener implements BpmnTaskEventListener, Ordered
}
// 删除流程实例以实现驳回任务时取消整个审批流程
runtimeService.deleteProcessInstance(delegateTask.getProcessInstanceId(), REJECTION_AUTO_COMPLETED.getDesc());
if (log.isDebugEnabled()) {
log.debug("AutoOperatorEventListener#autoReject...end: {}", delegateTask.getTaskDefinitionKey());
}