package com.willalp.files.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.willalp.common.annotation.Excel;
import com.willalp.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 机构人员档案对象 hs_org_personnel_files
 *
 * @author willalp
 * @date 2022-08-01
 */

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

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

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

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

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String userName;
    /**
     * 头像
     */
    @Excel(name = "头像")
    private String avatar;

    /**
     * 性别(0=未知，1=男，2=女)
     */
    @Excel(name = "性别", readConverterExp = "0=未知,1=男,2=女")
    private String sex;

    /**
     * 年龄
     */
    @Excel(name = "年龄 ")
    private Integer age;

    /**
     * 民族
     */
    @Excel(name = "民族")
    private String nation;

    /**
     * 用户类型
     */
    @TableField(exist = false)
    private String userType;
    /**
     * 机构编号
     */
    @TableField(exist = false)
    private String orgCode;


    /**
     * 籍贯
     */
    @Excel(name = "籍贯")
    private String origo;

    /**
     * 政治面貌
     */
    @Excel(name = "政治面貌")
    private String politicsStatus;

    /**
     * 文化程度
     */
    @Excel(name = "文化程度")
    private String educationalLevel;

    /**
     * 生日
     */
    @Excel(name = "生日（需要文本格式）")
    private String birthday;

    /**
     * 居住地
     */
    @Excel(name = "居住地")
    private String residence;

    /**
     * 联系电话
     */
    @Excel(name = "联系电话")
    private String phone;

    /**
     * 邮箱
     */
    @Excel(name = "邮箱")
    private String email;

    /**
     * 座机号
     */
    @Excel(name = "座机号")
    private String seatNo;
    /**
     * 岗位名称
     */
    @Excel(name = "岗位名称")
    private String post;

    /**
     * 取得职称
     */
    @Excel(name = "取得职称")
    private String jobTitle;

    /**
     * 所属部门
     */
    private String department;

    /**
     * 入职时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "入职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date hiredate;

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

    /**
     * 当前状态
     */
    @Excel(name = "当前状态")
    private String nowStatus;


    /**
     * 是否删除（0.未删除；1.已删除）
     */
    @TableLogic
    private Integer isDelete;

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

    public String getId() {
        return id;
    }

    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }

    public String getUserCode() {
        return userCode;
    }

    public void setJobNo(String jobNo) {
        this.jobNo = jobNo;
    }

    public String getJobNo() {
        return jobNo;
    }

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

    public String getUserName() {
        return userName;
    }

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

    public String getSex() {
        return sex;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getAge() {
        return age;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    public String getNation() {
        return nation;
    }

    public void setOrigo(String origo) {
        this.origo = origo;
    }

    public String getOrigo() {
        return origo;
    }

    public void setPoliticsStatus(String politicsStatus) {
        this.politicsStatus = politicsStatus;
    }

    public String getPoliticsStatus() {
        return politicsStatus;
    }

    public void setEducationalLevel(String educationalLevel) {
        this.educationalLevel = educationalLevel;
    }

    public String getEducationalLevel() {
        return educationalLevel;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setResidence(String residence) {
        this.residence = residence;
    }

    public String getResidence() {
        return residence;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPhone() {
        return phone;
    }

    public void setEmail(String eMail) {
        this.email = eMail;
    }

    public String getEmail() {
        return email;
    }

    public void setSeatNo(String seatNo) {
        this.seatNo = seatNo;
    }

    public String getSeatNo() {
        return seatNo;
    }

    public void setJobTitle(String jobTitle) {
        this.jobTitle = jobTitle;
    }

    public String getJobTitle() {
        return jobTitle;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    public String getDepartment() {
        return department;
    }

    public void setHiredate(Date hiredate) {
        this.hiredate = hiredate;
    }

    public Date getHiredate() {
        return hiredate;
    }

    public void setResignationTime(Date resignationTime) {
        this.resignationTime = resignationTime;
    }

    public Date getResignationTime() {
        return resignationTime;
    }

    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("id", getId())
                .append("userCode", getUserCode())
                .append("jobNo", getJobNo())
                .append("userName", getUserName())
                .append("sex", getSex())
                .append("age", getAge())
                .append("nation", getNation())
                .append("origo", getOrigo())
                .append("politicsStatus", getPoliticsStatus())
                .append("educationalLevel", getEducationalLevel())
                .append("birthday", getBirthday())
                .append("residence", getResidence())
                .append("phone", getPhone())
                .append("email", getEmail())
                .append("seatNo", getSeatNo())
                .append("jobTitle", getJobTitle())
                .append("department", getDepartment())
                .append("hiredate", getHiredate())
                .append("resignationTime", getResignationTime())
                .append("isDelete", getIsDelete())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }

    public String getUserType() {
        return userType;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }

    public String getOrgCode() {
        return orgCode;
    }

    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }

    public String getPost() {
        return post;
    }

    public void setPost(String post) {
        this.post = post;
    }

    public String getNowStatus() {
        return nowStatus;
    }

    public void setNowStatus(String nowStatus) {
        this.nowStatus = nowStatus;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }
}
