package com.ruoyi.project.business.domain.flow;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.ruoyi.project.system.domain.SysRole;
import com.ruoyi.project.system.domain.SysUser;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 流程图
 *
 * @author qianhuidong
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class NodeConfig implements Serializable {
    private String nodeId;
    private Integer type;
    private String nodeName;
    private NodeConfig childNode;
    private List<NodeConfig> conditionNodes;
    // 审批节点属性
    private DictData auditorType;
    private List<SysRole> roles;
    private List<SysUser> users;
    private DictData signType;
    // 条件节点属性
    private Integer priorityLevel;
    private String expression;
    // 前后置关系
    private Integer status;
    private DictData nodeType;
    private String prevTasks;
    private String nextTasks;
    private Long companyId;
    // 查询展示
    private List<FlowTask> auditHistory;
    @JsonIgnore
    private NodeConfig parent;
}
