package com.dcsoft.system.domain;

import java.util.Date;

import com.dcsoft.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.dcsoft.common.core.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 离职管理对象 sys_people_leave
 *
 * @author nichun
 * @date 2023-09-09
 */
public class SysPeopleLeave extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 人员Id */
    private Long id;

    /** 工号 */
    @Excel(name = "工号")
    private String gh;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 用户性别（0男 1女 2保密） */
    @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=保密")
    private String sex;

    /** 所在部门 */
    @Excel(name = "所在部门")
    private String branchId;

    /** 身份证号码 */
    private String idcard;

    /** 离职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "离职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaveTime;

    /** 关联人员 */
    private Long peopleId;

    /** 离职原因 */
    @Excel(name = "离职原因")
    private String leaveReason;

    private String branchName;

    private String type;

    @Excel(name = "离职状态", readConverterExp = "0=未离职,1=已离职")
    private String status;

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

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

    public Long getId()
    {
        return id;
    }
    public void setGh(String gh)
    {
        this.gh = gh;
    }

    public String getGh()
    {
        return gh;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setSex(String sex)
    {
        this.sex = sex;
    }

    public String getSex()
    {
        return sex;
    }

    public String getBranchId() {
        return branchId;
    }

    public void setBranchId(String branchId) {
        this.branchId = branchId;
    }

    public void setIdcard(String idcard)
    {
        this.idcard = idcard;
    }

    public String getIdcard()
    {
        return idcard;
    }
    public void setLeaveTime(Date leaveTime)
    {
        this.leaveTime = leaveTime;
    }

    public Date getLeaveTime()
    {
        return leaveTime;
    }
    public void setPeopleId(Long peopleId)
    {
        this.peopleId = peopleId;
    }

    public Long getPeopleId()
    {
        return peopleId;
    }
    public void setLeaveReason(String leaveReason)
    {
        this.leaveReason = leaveReason;
    }

    public String getLeaveReason()
    {
        return leaveReason;
    }

    public String getBranchName() {
        return branchName;
    }

    public void setBranchName(String branchName) {
        this.branchName = branchName;
    }

    public String getStatus() {
        return status;
    }

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

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("gh", getGh())
            .append("name", getName())
            .append("sex", getSex())
            .append("branchId", getBranchId())
            .append("idcard", getIdcard())
            .append("leaveTime", getLeaveTime())
            .append("peopleId", getPeopleId())
            .append("leaveReason", getLeaveReason())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
