update - 异步化发起人的任务同意
This commit is contained in:
parent
d47b969e96
commit
47f306a4f3
@ -86,37 +86,7 @@ public class AutoOperatorEvent_101_Listener extends AbstractBpmnEventListener<Ta
|
||||
log.info("AutoOperatorEventListener#onCreated...{}", delegateTask.getTaskDefinitionKey());
|
||||
|
||||
if (Objects.equals(NODE_STARTER.getType(), delegateTask.getTaskDefinitionKey())) {
|
||||
ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration();
|
||||
JobService jobService = processEngineConfiguration.getJobServiceConfiguration().getJobService();
|
||||
|
||||
JobEntity job = jobService.createJob();
|
||||
// 这里的 executionId 可为 null
|
||||
job.setExecutionId(delegateTask.getExecutionId());
|
||||
job.setProcessInstanceId(delegateTask.getProcessInstanceId());
|
||||
job.setProcessDefinitionId(delegateTask.getProcessDefinitionId());
|
||||
job.setElementId(delegateTask.getTaskDefinitionKey());
|
||||
job.setElementName(delegateTask.getName());
|
||||
job.setJobHandlerType(AsyncApproveTaskJobHandler.TYPE);
|
||||
job.setTenantId(delegateTask.getTenantId());
|
||||
|
||||
BpmnTaskAuditDTO dto = new BpmnTaskAuditDTO();
|
||||
dto.setTaskId(delegateTask.getId());
|
||||
|
||||
BpmnTaskDelegateAssigner initiator = getContext().getInitiator(() -> BpmnTaskDelegateAssigner.toObjectCompatible(delegateTask.getVariable(INTERNAL_INITIATOR)));
|
||||
if (Objects.nonNull(initiator)) {
|
||||
delegateTask.setVariable(INTERNAL_TASK_RELATION_ASSIGNEE_INFO + delegateTask.getId(),
|
||||
initiator.toJson());
|
||||
}
|
||||
dto.setApprover(initiator);
|
||||
// 携带自定义的数据
|
||||
job.setCustomValues(JSONUtil.toJsonStr(dto));
|
||||
|
||||
// 创建异步任务并调度
|
||||
jobService.createAsyncJob(job, false);
|
||||
jobService.scheduleAsyncJob(job);
|
||||
|
||||
|
||||
|
||||
createAsyncApproveJob(delegateTask);
|
||||
/*BpmnTaskDelegateAssigner initiator = getContext().getInitiator(() -> BpmnTaskDelegateAssigner.toObjectCompatible(delegateTask.getVariable(INTERNAL_INITIATOR)));
|
||||
if (Objects.nonNull(initiator)) {
|
||||
delegateTask.setVariable(INTERNAL_TASK_RELATION_ASSIGNEE_INFO + delegateTask.getId(),
|
||||
@ -147,6 +117,37 @@ public class AutoOperatorEvent_101_Listener extends AbstractBpmnEventListener<Ta
|
||||
log.info("AutoOperatorEventListener#onCreated...end: {}", delegateTask.getTaskDefinitionKey());
|
||||
}
|
||||
|
||||
private void createAsyncApproveJob(DelegateTask delegateTask) {
|
||||
ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration();
|
||||
JobService jobService = processEngineConfiguration.getJobServiceConfiguration().getJobService();
|
||||
|
||||
JobEntity job = jobService.createJob();
|
||||
// 这里的 executionId 可为 null
|
||||
job.setExecutionId(delegateTask.getExecutionId());
|
||||
job.setProcessInstanceId(delegateTask.getProcessInstanceId());
|
||||
job.setProcessDefinitionId(delegateTask.getProcessDefinitionId());
|
||||
job.setElementId(delegateTask.getTaskDefinitionKey());
|
||||
job.setElementName(delegateTask.getName());
|
||||
job.setJobHandlerType(AsyncApproveTaskJobHandler.TYPE);
|
||||
job.setTenantId(delegateTask.getTenantId());
|
||||
|
||||
BpmnTaskAuditDTO dto = new BpmnTaskAuditDTO();
|
||||
dto.setTaskId(delegateTask.getId());
|
||||
|
||||
BpmnTaskDelegateAssigner initiator = getContext().getInitiator(() -> BpmnTaskDelegateAssigner.toObjectCompatible(delegateTask.getVariable(INTERNAL_INITIATOR)));
|
||||
if (Objects.nonNull(initiator)) {
|
||||
delegateTask.setVariable(INTERNAL_TASK_RELATION_ASSIGNEE_INFO + delegateTask.getId(),
|
||||
initiator.toJson());
|
||||
}
|
||||
dto.setApprover(initiator);
|
||||
// 携带自定义的数据
|
||||
job.setCustomValues(JSONUtil.toJsonStr(dto));
|
||||
|
||||
// 创建异步任务并调度
|
||||
jobService.createAsyncJob(job, false);
|
||||
jobService.scheduleAsyncJob(job);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验当前的审批人是否存在过前一个节点
|
||||
*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user