任務節點通過實現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) {
}
}