package com.willalp.clockingin.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
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.willalp.common.annotation.Excel;
import com.willalp.common.core.domain.BaseEntity;

/**
 * 请假时间记录对象 hs_pns_vacate_time
 *
 * @author willalp
 * @date 2022-05-10
 */

@TableName("hs_pns_vacate_time")
public class HsPnsVacateTime extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @TableId
    private String vacateId;

    /** 用户名 */
    @Excel(name = "用户名")
    private String userName;

    /** 用户ID */
    private Long userId;

    /** 用户编号 */
    @Excel(name = "用户编号")
    private String userNo;

    /** 机构编号 */
    @Excel(name = "机构编号")
    private String orgNo;

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

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

    /** 请假类型（0：事假，1：病假，2：调休，3：年假，4：婚假，5：丧假，6：产假，7：陪产假） */
    @Excel(name = "请假类型", readConverterExp = "0=：事假，1=：病假，2=：调休，3=：年假，4=：婚假，5=：丧假，6=：产假，7=：陪产假")
    private String vacateType;

    /** 是否删除（0.未删除；1.已删除） */
    @Excel(name = "是否删除", readConverterExp = "0=.未删除；1.已删除")
    @TableLogic
    private Integer isDelete;

    public void setVacateId(String vacateId)
    {
        this.vacateId = vacateId;
    }

    public String getVacateId()
    {
        return vacateId;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setUserNo(String userNo)
    {
        this.userNo = userNo;
    }

    public String getUserNo()
    {
        return userNo;
    }
    public void setOrgNo(String orgNo)
    {
        this.orgNo = orgNo;
    }

    public String getOrgNo()
    {
        return orgNo;
    }
    public void setVacateStartTime(Date vacateStartTime)
    {
        this.vacateStartTime = vacateStartTime;
    }

    public Date getVacateStartTime()
    {
        return vacateStartTime;
    }
    public void setVacateEndTime(Date vacateEndTime)
    {
        this.vacateEndTime = vacateEndTime;
    }

    public Date getVacateEndTime()
    {
        return vacateEndTime;
    }
    public void setVacateType(String vacateType)
    {
        this.vacateType = vacateType;
    }

    public String getVacateType()
    {
        return vacateType;
    }
    public void setIsDelete(Integer isDelete)
    {
        this.isDelete = isDelete;
    }

    public Integer getIsDelete()
    {
        return isDelete;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("vacateId", getVacateId())
            .append("userName", getUserName())
            .append("userId", getUserId())
            .append("userNo", getUserNo())
            .append("orgNo", getOrgNo())
            .append("vacateStartTime", getVacateStartTime())
            .append("vacateEndTime", getVacateEndTime())
            .append("vacateType", getVacateType())
            .append("isDelete", getIsDelete())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
