package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 请假记录信息对象 record_leave
 * 
 * @author ruoyi
 * @date 2023-02-13
 */
public class RecordLeave extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 类型 1：临时请假 2：事假 */
    @Excel(name = "类型 1：临时请假 2：事假")
    private String type;

    /** 请假开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "请假开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 请假结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "请假结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 请假理由 */
    @Excel(name = "请假理由")
    private String reason;

    /** 部门id */
    private Long deptId;

    /** 部门名称 */
    @Excel(name = "部门名称")
    private String deptName;

    /** 请假人id */
    private String absenteeId;

    /** 请假人姓名 */
    @Excel(name = "请假人姓名")
    private String absenteeName;

    /** 审批人员id */
    private Long examinersId;

    /** 审批人员姓名 */
    @Excel(name = "审批人员姓名")
    private String examinersName;

    /** 请假类别 1：病假，2：产假，3：陪产假，4：婚假，5：丧假，6：其他 */
    @Excel(name = "请假类别 1：病假，2：产假，3：陪产假，4：婚假，5：丧假，6：其他")
    private String category;

    /** 是否通过 0：未处理，1：不通过，2：通过 */
    @Excel(name = "是否通过 0：未处理，1：不通过，2：通过")
    private String isPass;

    /** 提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date submitTime;

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

    public Long getId() 
    {
        return id;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setDeptName(String deptName) 
    {
        this.deptName = deptName;
    }

    public String getDeptName() 
    {
        return deptName;
    }
    public void setAbsenteeId(String absenteeId) 
    {
        this.absenteeId = absenteeId;
    }

    public String getAbsenteeId() 
    {
        return absenteeId;
    }
    public void setAbsenteeName(String absenteeName) 
    {
        this.absenteeName = absenteeName;
    }

    public String getAbsenteeName() 
    {
        return absenteeName;
    }
    public void setExaminersId(Long examinersId) 
    {
        this.examinersId = examinersId;
    }

    public Long getExaminersId() 
    {
        return examinersId;
    }
    public void setExaminersName(String examinersName) 
    {
        this.examinersName = examinersName;
    }

    public String getExaminersName() 
    {
        return examinersName;
    }
    public void setCategory(String category) 
    {
        this.category = category;
    }

    public String getCategory() 
    {
        return category;
    }
    public void setIsPass(String isPass) 
    {
        this.isPass = isPass;
    }

    public String getIsPass() 
    {
        return isPass;
    }
    public void setSubmitTime(Date submitTime) 
    {
        this.submitTime = submitTime;
    }

    public Date getSubmitTime() 
    {
        return submitTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("type", getType())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("reason", getReason())
            .append("deptId", getDeptId())
            .append("deptName", getDeptName())
            .append("absenteeId", getAbsenteeId())
            .append("absenteeName", getAbsenteeName())
            .append("examinersId", getExaminersId())
            .append("examinersName", getExaminersName())
            .append("category", getCategory())
            .append("isPass", getIsPass())
            .append("submitTime", getSubmitTime())
            .toString();
    }
}
