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());
|
log.info("AutoOperatorEventListener#onCreated...{}", delegateTask.getTaskDefinitionKey());
|
||||||
|
|
||||||
if (Objects.equals(NODE_STARTER.getType(), delegateTask.getTaskDefinitionKey())) {
|
if (Objects.equals(NODE_STARTER.getType(), delegateTask.getTaskDefinitionKey())) {
|
||||||
ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration();
|
createAsyncApproveJob(delegateTask);
|
||||||
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);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*BpmnTaskDelegateAssigner initiator = getContext().getInitiator(() -> BpmnTaskDelegateAssigner.toObjectCompatible(delegateTask.getVariable(INTERNAL_INITIATOR)));
|
/*BpmnTaskDelegateAssigner initiator = getContext().getInitiator(() -> BpmnTaskDelegateAssigner.toObjectCompatible(delegateTask.getVariable(INTERNAL_INITIATOR)));
|
||||||
if (Objects.nonNull(initiator)) {
|
if (Objects.nonNull(initiator)) {
|
||||||
delegateTask.setVariable(INTERNAL_TASK_RELATION_ASSIGNEE_INFO + delegateTask.getId(),
|
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());
|
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