yxk-20260506-自定义监听class:
SaveCurrentTaskAssigneeLocalListener保存当前节点办理人到子流程的局部变量中去
This commit is contained in:
+44
@@ -0,0 +1,44 @@
|
||||
package org.jeecg.modules.extbpm.listener.task;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.flowable.engine.RuntimeService;
|
||||
import org.flowable.engine.delegate.TaskListener;
|
||||
import org.flowable.task.service.delegate.DelegateTask;
|
||||
import org.jeecg.common.util.SpringContextUtils;
|
||||
|
||||
/**
|
||||
* Save the current task assignee as an execution local variable.
|
||||
*/
|
||||
@Slf4j
|
||||
public class SaveCurrentTaskAssigneeLocalListener implements TaskListener {
|
||||
private static final long serialVersionUID = 1L;
|
||||
private static final String VARIABLE_NAME = "subApproveLeader";
|
||||
|
||||
private static RuntimeService runtimeService;
|
||||
|
||||
static {
|
||||
runtimeService = SpringContextUtils.getBean(RuntimeService.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
if (delegateTask == null) {
|
||||
return;
|
||||
}
|
||||
String assignee = delegateTask.getAssignee();
|
||||
if (StringUtils.isBlank(assignee)) {
|
||||
log.warn("SaveCurrentTaskAssigneeLocalListener skipped, taskId={}, taskDefinitionKey={}, assignee is blank",
|
||||
delegateTask.getId(), delegateTask.getTaskDefinitionKey());
|
||||
return;
|
||||
}
|
||||
if (StringUtils.isBlank(delegateTask.getExecutionId())) {
|
||||
log.warn("SaveCurrentTaskAssigneeLocalListener skipped, taskId={}, taskDefinitionKey={}, executionId is blank",
|
||||
delegateTask.getId(), delegateTask.getTaskDefinitionKey());
|
||||
return;
|
||||
}
|
||||
runtimeService.setVariableLocal(delegateTask.getExecutionId(), VARIABLE_NAME, assignee);
|
||||
log.info("SaveCurrentTaskAssigneeLocalListener success, taskId={}, taskDefinitionKey={}, variableName={}, assignee={}",
|
||||
delegateTask.getId(), delegateTask.getTaskDefinitionKey(), VARIABLE_NAME, assignee);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user