项目地址:activiti-workflow,欢迎star。
在流程审批中,在某一个节点需要抄送某人,被抄送人看查看流程,不需要审批。这里是通过对activit扩展,自定义BPMN标签,追加了抄送属性。
对普通用户节点设置抄送属性,继承UserTask
/**
* @description: 自定义用户节点
* @author lhj
* @param
* @return
* @date 2020-6-11 10:50
*/
public class CustomUserTask extends UserTask {
//抄送用户
protected List<String> candidateNotifyUsers = new ArrayList();
public List<String> getCandidateNotifyUsers() {
return candidateNotifyUsers;
}
public void setCandidateNotifyUsers(List<String> candidateNotifyUsers) {
this.candidateNotifyUsers = candidateNotifyUsers;
}
public CustomUserTask clone() {
CustomUserTask clone = new CustomUserTask();
clone.setValues(this);
return clone;
}
public void setValues(CustomUserTask otherElement) {
super.setValues(otherElement);
this.setCandidateNotifyUsers(otherElement.getCandidateNotifyUsers());
}
}
解析BPMN的xml和json是设置该属性
if (StringUtils.isNotEmpty(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_TASK_USER_CANDIDATE_NOTIFY_USERS)))