package com.bonus.material.approval.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * 审批流程配置实体
 * 
 * @author bonus
 * @date 2024-11-18
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("审批流程配置")
public class ApprovalProcess implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键ID")
    private Long id;

    @ApiModelProperty("流程名称")
    private String processName;

    @ApiModelProperty("业务类型")
    private String businessType;

    @ApiModelProperty("组织机构ID")
    private Long orgId;

    @ApiModelProperty("组织机构名称")
    private String orgName;

    @ApiModelProperty("流程描述")
    private String description;

    @ApiModelProperty("状态（0停用 1启用）")
    private String status;

    @ApiModelProperty("创建者")
    private String createBy;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty("更新者")
    private String updateBy;

    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @ApiModelProperty("备注")
    private String remark;
    private Long deptId;
    /**
     * 审批节点列表（非数据库字段）
     */
    @ApiModelProperty("审批节点列表")
    private List<ApprovalNode> nodeList;
}

