update - 调整转交任务时,给转交的人发对应待办
This commit is contained in:
parent
d6be63d5b5
commit
14b5e5d755
@ -705,6 +705,18 @@ public class BpmnProcessTaskServiceImpl implements BpmnProcessTaskService {
|
||||
|
||||
taskService.addComment(task.getId(), task.getProcessInstanceId(), COMMENT_TYPE_OPERATION_TRANSFER,
|
||||
"转交给 " + dto.getTargetAssigner().getAssignerName());
|
||||
List<BpmnTaskDelegateAssigner> originAssingeeList = runtimeService.getVariable(task.getProcessInstanceId(),
|
||||
INTERNAL_TASK_RELATION_ASSIGNEE_LIST_INFO_SNAPSHOT + task.getTaskDefinitionKey(), List.class);
|
||||
for (BpmnTaskDelegateAssigner assigner : originAssingeeList) {
|
||||
if (Objects.equals(assigner.buildAssigneeId(), dto.getOriginAssigner().buildAssigneeId())) {
|
||||
originAssingeeList.remove(assigner);
|
||||
break;
|
||||
}
|
||||
}
|
||||
originAssingeeList.add(dto.getTargetAssigner());
|
||||
runtimeService.setVariable(task.getProcessInstanceId(),
|
||||
INTERNAL_TASK_RELATION_ASSIGNEE_LIST_INFO_SNAPSHOT + task.getTaskDefinitionKey(), originAssingeeList);
|
||||
|
||||
this.createSubTask((TaskEntity) task, task.getId(), dto.getTargetAssigner());
|
||||
|
||||
saveAttachment(dto.getAttachmentList(), task.getProcessInstanceId(), task.getId());
|
||||
|
||||
@ -27,6 +27,7 @@ import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_TASK_RELATION_ASSIGNEE_LIST_INFO_SNAPSHOT;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.TASK_ASSIGNEE_SKIP_FLAT;
|
||||
|
||||
/**
|
||||
* UserTask 节点被设置审批人时,推送待办消息
|
||||
@ -50,6 +51,9 @@ public class PushPendingTaskEventListener implements BpmnTaskEventListener, Orde
|
||||
|
||||
@Override
|
||||
public void onAssigned(DelegateTask delegateTask) {
|
||||
if (Objects.equals(TASK_ASSIGNEE_SKIP_FLAT, delegateTask.getAssignee())) {
|
||||
return;
|
||||
}
|
||||
pushPending(delegateTask);
|
||||
}
|
||||
|
||||
|
||||
@ -125,7 +125,7 @@ public class RocketMqBpmnTaskEventListener implements BpmnTaskEventListener, Ord
|
||||
.setStartTime(delegateTask.getCreateTime())
|
||||
.setTenantId(delegateTask.getTenantId());
|
||||
BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf);
|
||||
BpmnProcessInstanceResultEnum resultEnum = runtimeService.getVariable(delegateTask.getExecutionId(),
|
||||
BpmnProcessInstanceResultEnum resultEnum = runtimeService.getVariable(delegateTask.getProcessInstanceId(),
|
||||
TASK_COMPLETE_OPERATION_TYPE + delegateTask.getId(), BpmnProcessInstanceResultEnum.class);
|
||||
dto.setTaskResult(Objects.nonNull(resultEnum) ? resultEnum : APPROVED);
|
||||
return dto;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user