package tech.easyflow.approval.entity.base;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;

/**
 * 审批任务基础字段。
 */
public class ApprovalTaskBase implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id(keyType = KeyType.Generator, value = "snowFlakeId", comment = "主键")
    private BigInteger id;

    @Column(comment = "审批实例ID")
    private BigInteger instanceId;

    @Column(comment = "步骤序号")
    private Integer stepNo;

    @Column(comment = "任务状态")
    private String status;

    @Column(comment = "指派角色编码")
    private String assigneeRoleCode;

    @Column(comment = "审批对象类型")
    private String assigneeType;

    @Column(comment = "审批对象ID")
    private BigInteger assigneeTargetId;

    @Column(comment = "审批对象编码")
    private String assigneeTargetCode;

    @Column(comment = "审批对象名称")
    private String assigneeTargetName;

    @Column(comment = "处理人ID")
    private BigInteger actedBy;

    @Column(comment = "处理时间")
    private Date actedAt;

    @Column(comment = "处理意见")
    private String comment;

    @Column(comment = "创建时间")
    private Date created;

    @Column(comment = "创建者")
    private BigInteger createdBy;

    @Column(comment = "修改时间")
    private Date modified;

    @Column(comment = "修改者")
    private BigInteger modifiedBy;

    public BigInteger getId() {
        return id;
    }

    public void setId(BigInteger id) {
        this.id = id;
    }

    public BigInteger getInstanceId() {
        return instanceId;
    }

    public void setInstanceId(BigInteger instanceId) {
        this.instanceId = instanceId;
    }

    public Integer getStepNo() {
        return stepNo;
    }

    public void setStepNo(Integer stepNo) {
        this.stepNo = stepNo;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getAssigneeRoleCode() {
        return assigneeRoleCode;
    }

    public void setAssigneeRoleCode(String assigneeRoleCode) {
        this.assigneeRoleCode = assigneeRoleCode;
    }

    public String getAssigneeType() {
        return assigneeType;
    }

    public void setAssigneeType(String assigneeType) {
        this.assigneeType = assigneeType;
    }

    public BigInteger getAssigneeTargetId() {
        return assigneeTargetId;
    }

    public void setAssigneeTargetId(BigInteger assigneeTargetId) {
        this.assigneeTargetId = assigneeTargetId;
    }

    public String getAssigneeTargetCode() {
        return assigneeTargetCode;
    }

    public void setAssigneeTargetCode(String assigneeTargetCode) {
        this.assigneeTargetCode = assigneeTargetCode;
    }

    public String getAssigneeTargetName() {
        return assigneeTargetName;
    }

    public void setAssigneeTargetName(String assigneeTargetName) {
        this.assigneeTargetName = assigneeTargetName;
    }

    public BigInteger getActedBy() {
        return actedBy;
    }

    public void setActedBy(BigInteger actedBy) {
        this.actedBy = actedBy;
    }

    public Date getActedAt() {
        return actedAt;
    }

    public void setActedAt(Date actedAt) {
        this.actedAt = actedAt;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public Date getCreated() {
        return created;
    }

    public void setCreated(Date created) {
        this.created = created;
    }

    public BigInteger getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(BigInteger createdBy) {
        this.createdBy = createdBy;
    }

    public Date getModified() {
        return modified;
    }

    public void setModified(Date modified) {
        this.modified = modified;
    }

    public BigInteger getModifiedBy() {
        return modifiedBy;
    }

    public void setModifiedBy(BigInteger modifiedBy) {
        this.modifiedBy = modifiedBy;
    }
}
