package com.mortals.xhx.module.staff.model;

import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.staff.model.vo.StaffAdjustLogVo;
/**
* 员工调岗信息实体对象
*
* @author zxfei
* @date 2023-04-07
*/

public class StaffAdjustLogEntity extends StaffAdjustLogVo {
    private static final long serialVersionUID = 1L;

    /**
    * 员工ID
    */
    private Long staffId;
    /**
    * 员工姓名
    */
    private String fullName;
    /**
    * 性别1男2女
    */
    private Integer gender;
    /**
    * 出生日期
    */
    private Date birthday;
    /**
    * 照片
    */
    private String photoPath;
    /**
    * 联系电话
    */
    private String phoneNumber;
    /**
    * 身份证号码
    */
    private String idCard;
    /**
    * 工号
    */
    private String workNum;
    /**
    * 政治面貌 （1.中共党员，2.中共预备党员，3.共青团员，4.群众，5.其它)
    */
    private Integer politicalstatus;
    /**
    * 所属部门
    */
    private Long deptId;
    /**
    * 所属部门名称
    */
    private String deptName;
    /**
    * 职位ID
    */
    private Long jobId;
    /**
    * 职位名称
    */
    private String jobName;
    /**
    * 员工类型1全职2兼职3实习
    */
    private Integer staffType;
    /**
    * 员工状态1正式2试用3离职
    */
    private Integer status;
    /**
    * 入职时间
    */
    private Date entryDate;
    /**
    * 调岗后所属部门
    */
    private Long newDeptId;
    /**
    * 调岗后所属部门名称
    */
    private String newDeptName;
    /**
    * 调岗后职位ID
    */
    private Long newJobId;
    /**
    * 调岗后职位名称
    */
    private String newJobName;
    /**
    * 审核状态0待审核1通过2拒绝
    */
    private Integer auditStatus;



    public StaffAdjustLogEntity(){}
    /**
    * 获取 员工ID
    * @return Long
    */
    public Long getStaffId(){
        return staffId;
    }
    /**
    * 设置 员工ID
    * @param staffId
    */
    public void setStaffId(Long staffId){
        this.staffId = staffId;
    }
    /**
    * 获取 员工姓名
    * @return String
    */
    public String getFullName(){
        return fullName;
    }
    /**
    * 设置 员工姓名
    * @param fullName
    */
    public void setFullName(String fullName){
        this.fullName = fullName;
    }
    /**
    * 获取 性别1男2女
    * @return Integer
    */
    public Integer getGender(){
        return gender;
    }
    /**
    * 设置 性别1男2女
    * @param gender
    */
    public void setGender(Integer gender){
        this.gender = gender;
    }
    /**
    * 获取 出生日期
    * @return Date
    */
    public Date getBirthday(){
        return birthday;
    }
    /**
    * 设置 出生日期
    * @param birthday
    */
    public void setBirthday(Date birthday){
        this.birthday = birthday;
    }
    /**
    * 获取 照片
    * @return String
    */
    public String getPhotoPath(){
        return photoPath;
    }
    /**
    * 设置 照片
    * @param photoPath
    */
    public void setPhotoPath(String photoPath){
        this.photoPath = photoPath;
    }
    /**
    * 获取 联系电话
    * @return String
    */
    public String getPhoneNumber(){
        return phoneNumber;
    }
    /**
    * 设置 联系电话
    * @param phoneNumber
    */
    public void setPhoneNumber(String phoneNumber){
        this.phoneNumber = phoneNumber;
    }
    /**
    * 获取 身份证号码
    * @return String
    */
    public String getIdCard(){
        return idCard;
    }
    /**
    * 设置 身份证号码
    * @param idCard
    */
    public void setIdCard(String idCard){
        this.idCard = idCard;
    }
    /**
    * 获取 工号
    * @return String
    */
    public String getWorkNum(){
        return workNum;
    }
    /**
    * 设置 工号
    * @param workNum
    */
    public void setWorkNum(String workNum){
        this.workNum = workNum;
    }
    /**
    * 获取 政治面貌 （1.中共党员，2.中共预备党员，3.共青团员，4.群众，5.其它)
    * @return Integer
    */
    public Integer getPoliticalstatus(){
        return politicalstatus;
    }
    /**
    * 设置 政治面貌 （1.中共党员，2.中共预备党员，3.共青团员，4.群众，5.其它)
    * @param politicalstatus
    */
    public void setPoliticalstatus(Integer politicalstatus){
        this.politicalstatus = politicalstatus;
    }
    /**
    * 获取 所属部门
    * @return Long
    */
    public Long getDeptId(){
        return deptId;
    }
    /**
    * 设置 所属部门
    * @param deptId
    */
    public void setDeptId(Long deptId){
        this.deptId = deptId;
    }
    /**
    * 获取 所属部门名称
    * @return String
    */
    public String getDeptName(){
        return deptName;
    }
    /**
    * 设置 所属部门名称
    * @param deptName
    */
    public void setDeptName(String deptName){
        this.deptName = deptName;
    }
    /**
    * 获取 职位ID
    * @return Long
    */
    public Long getJobId(){
        return jobId;
    }
    /**
    * 设置 职位ID
    * @param jobId
    */
    public void setJobId(Long jobId){
        this.jobId = jobId;
    }
    /**
    * 获取 职位名称
    * @return String
    */
    public String getJobName(){
        return jobName;
    }
    /**
    * 设置 职位名称
    * @param jobName
    */
    public void setJobName(String jobName){
        this.jobName = jobName;
    }
    /**
    * 获取 员工类型1全职2兼职3实习
    * @return Integer
    */
    public Integer getStaffType(){
        return staffType;
    }
    /**
    * 设置 员工类型1全职2兼职3实习
    * @param staffType
    */
    public void setStaffType(Integer staffType){
        this.staffType = staffType;
    }
    /**
    * 获取 员工状态1正式2试用3离职
    * @return Integer
    */
    public Integer getStatus(){
        return status;
    }
    /**
    * 设置 员工状态1正式2试用3离职
    * @param status
    */
    public void setStatus(Integer status){
        this.status = status;
    }
    /**
    * 获取 入职时间
    * @return Date
    */
    public Date getEntryDate(){
        return entryDate;
    }
    /**
    * 设置 入职时间
    * @param entryDate
    */
    public void setEntryDate(Date entryDate){
        this.entryDate = entryDate;
    }
    /**
    * 获取 调岗后所属部门
    * @return Long
    */
    public Long getNewDeptId(){
        return newDeptId;
    }
    /**
    * 设置 调岗后所属部门
    * @param newDeptId
    */
    public void setNewDeptId(Long newDeptId){
        this.newDeptId = newDeptId;
    }
    /**
    * 获取 调岗后所属部门名称
    * @return String
    */
    public String getNewDeptName(){
        return newDeptName;
    }
    /**
    * 设置 调岗后所属部门名称
    * @param newDeptName
    */
    public void setNewDeptName(String newDeptName){
        this.newDeptName = newDeptName;
    }
    /**
    * 获取 调岗后职位ID
    * @return Long
    */
    public Long getNewJobId(){
        return newJobId;
    }
    /**
    * 设置 调岗后职位ID
    * @param newJobId
    */
    public void setNewJobId(Long newJobId){
        this.newJobId = newJobId;
    }
    /**
    * 获取 调岗后职位名称
    * @return String
    */
    public String getNewJobName(){
        return newJobName;
    }
    /**
    * 设置 调岗后职位名称
    * @param newJobName
    */
    public void setNewJobName(String newJobName){
        this.newJobName = newJobName;
    }
    /**
    * 获取 审核状态0待审核1通过2拒绝
    * @return Integer
    */
    public Integer getAuditStatus(){
        return auditStatus;
    }
    /**
    * 设置 审核状态0待审核1通过2拒绝
    * @param auditStatus
    */
    public void setAuditStatus(Integer auditStatus){
        this.auditStatus = auditStatus;
    }




    @Override
    public int hashCode() {
         return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof StaffAdjustLogEntity) {
            StaffAdjustLogEntity tmp = (StaffAdjustLogEntity) obj;
            if (this.getId() == tmp.getId()) {
                 return true;
            }
        }
        return false;
    }

    public String toString(){
        StringBuilder sb = new StringBuilder("");
        sb.append(",staffId:").append(getStaffId());
        sb.append(",fullName:").append(getFullName());
        sb.append(",gender:").append(getGender());
        sb.append(",birthday:").append(getBirthday());
        sb.append(",photoPath:").append(getPhotoPath());
        sb.append(",phoneNumber:").append(getPhoneNumber());
        sb.append(",idCard:").append(getIdCard());
        sb.append(",workNum:").append(getWorkNum());
        sb.append(",politicalstatus:").append(getPoliticalstatus());
        sb.append(",deptId:").append(getDeptId());
        sb.append(",deptName:").append(getDeptName());
        sb.append(",jobId:").append(getJobId());
        sb.append(",jobName:").append(getJobName());
        sb.append(",staffType:").append(getStaffType());
        sb.append(",status:").append(getStatus());
        sb.append(",entryDate:").append(getEntryDate());
        sb.append(",newDeptId:").append(getNewDeptId());
        sb.append(",newDeptName:").append(getNewDeptName());
        sb.append(",newJobId:").append(getNewJobId());
        sb.append(",newJobName:").append(getNewJobName());
        sb.append(",auditStatus:").append(getAuditStatus());
        return sb.toString();
    }

    public void initAttrValue(){

            this.staffId = null;

            this.fullName = "";

            this.gender = 1;

            this.birthday = null;

            this.photoPath = "";

            this.phoneNumber = "";

            this.idCard = "";

            this.workNum = "";

            this.politicalstatus = 1;

            this.deptId = null;

            this.deptName = "";

            this.jobId = null;

            this.jobName = "";

            this.staffType = 1;

            this.status = 1;

            this.entryDate = null;

            this.newDeptId = null;

            this.newDeptName = "";

            this.newJobId = null;

            this.newJobName = "";

            this.auditStatus = 0;
    }
}