任务节点通过实现TaskListener动态,然后调用delegate.setAssigenee("assigenee")动态设置审批人:
@Component
@Slf4j
public class ApplyListener implements TaskListener {
private static final long serialVersionUID = -6000293034409953144L;
@Override
public void notify(DelegateTask delegateTask) {
delegateTask.setAssignee("zhangsan");
}
}
数据在ACT_RU_TASK表中也正常,但是在ACT_HI_TASKINS表中的ASSIGENEE_审批人字段是空的,所以查询历史时查不出来,
解决办法
@Component
@Slf4j
public class ApplyListener implements TaskListener, ExecutionListener {
private static final long serialVersionUID = -6000293034409953144L;
@Override
public void notify(DelegateTask delegateTask) {
TaskService taskService = SpringUtil.getObject(TaskService.class);
taskService.setAssignee(delegateTask.getId(),"zhangsan");
}
@Override
public void notify(DelegateExecution delegateExecution) {
}
}