package com.ruoyi.oa.domain;

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;

import java.util.Date;

/**
 * cmc用户历史对象 cmc_user_history
 *
 * @author cmc
 * @date 2024-02-28
 */
public class CmcUserHistory extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 历史id */
    private Integer historyId;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptId;

    /** 技术职称（0正高、1副高、2中级、3助工） */
    @Excel(name = "技术职称", readConverterExp = "0=正高、1=副高、2=中级、3=助工")
    private String titles;

    /** 执业证书（0注测、1注规、2注岩、3注安、4注会） */
    @Excel(name = "执业证书", readConverterExp = "0=注测、1=注规、2=注岩、3=注安、4=注会")
    private String certificates;

    /** 项目经理级别（0一、1二、2三） */
    @Excel(name = "项目经理级别", readConverterExp = "0=一、1=二、2=三")
    private String pmLevel;

    /** 工程师岗级（0一、1二、2三、3四、4五、5六） */
    @Excel(name = "工程师岗级", readConverterExp = "0=一、1=二、2=三、3=四、4=五、5=六")
    private String engineerLevel;

    /** 岗级（0一、1二、2三、3四、4五、5六、6七、7八） */
    @Excel(name = "岗级", readConverterExp = "0=一、1=二、2=三、3=四、4=五、5=六、6=七、7=八")
    private String postLevel;

    /** 薪档（0一、1二、2三、3四、4五、5六、6七、7八） */
    @Excel(name = "薪档", readConverterExp = "0=一、1=二、2=三、3=四、4=五、5=六、6=七、7=八")
    private String salaryLevel;

    /** 技工等级（0一级、1二级、2三级） */
    @Excel(name = "技工等级", readConverterExp = "0=一级、1二级、2三级")
    private String operatorLevel;

    /** 更新原因（0误录修改、1正常调整） */
    @Excel(name = "更新原因", readConverterExp = "0=误录修改、1=正常调整")
    private String updateReason;

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

    /** 毕业院校 */
    @Excel(name = "毕业院校")
    private String graduateSchool;

    /** 专业 */
    @Excel(name = "专业")
    private String major;

    /** 学历 */
    @Excel(name = "学历")
    private String degree;

    /** 合同签订 */
    @Excel(name = "合同签订", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractSign;

    /** 合同期满 */
    @Excel(name = "合同期满", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractExpire;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 角色组 */
    private String roleIds;

    /** 岗位组 */
    private String postIds;

    public void setHistoryId(Integer historyId)
    {
        this.historyId = historyId;
    }

    public Integer getHistoryId()
    {
        return historyId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setTitles(String titles)
    {
        this.titles = titles;
    }

    public String getTitles()
    {
        return titles;
    }
    public void setCertificates(String certificates)
    {
        this.certificates = certificates;
    }

    public String getCertificates()
    {
        return certificates;
    }
    public void setPmLevel(String pmLevel)
    {
        this.pmLevel = pmLevel;
    }

    public String getPmLevel()
    {
        return pmLevel;
    }
    public void setEngineerLevel(String engineerLevel)
    {
        this.engineerLevel = engineerLevel;
    }

    public String getEngineerLevel()
    {
        return engineerLevel;
    }
    public void setPostLevel(String postLevel) { this.postLevel = postLevel; }

    public String getPostLevel()
    {
        return postLevel;
    }
    public void setSalaryLevel(String salaryLevel)
    {
        this.salaryLevel = salaryLevel;
    }

    public String getSalaryLevel()
    {
        return salaryLevel;
    }
    public void setOperatorLevel(String operatorLevel)
    {
        this.operatorLevel = operatorLevel;
    }

    public String getOperatorLevel()
    {
        return operatorLevel;
    }
    public void setUpdateReason(String updateReason)
    {
        this.updateReason = updateReason;
    }

    public String getUpdateReason()
    {
        return updateReason;
    }
    public void setPoliticalAffiliation(String politicalAffiliation)
    {
        this.politicalAffiliation = politicalAffiliation;
    }

    public String getPoliticalAffiliation()
    {
        return politicalAffiliation;
    }
    public void setGraduateSchool(String graduateSchool)
    {
        this.graduateSchool = graduateSchool;
    }

    public String getGraduateSchool()
    {
        return graduateSchool;
    }
    public void setMajor(String major)
    {
        this.major = major;
    }

    public String getMajor()
    {
        return major;
    }
    public void setDegree(String degree)
    {
        this.degree = degree;
    }

    public String getDegree()
    {
        return degree;
    }
    public void setContractSign(Date contractSign)
    {
        this.contractSign = contractSign;
    }

    public Date getContractSign()
    {
        return contractSign;
    }
    public void setContractExpire(Date contractExpire)
    {
        this.contractExpire = contractExpire;
    }

    public Date getContractExpire()
    {
        return contractExpire;
    }
    public String getRoleIds()
    {
        return roleIds;
    }

    public void setRoleIds(String roleIds)
    {
        this.roleIds = roleIds;
    }

    public String getPostIds()
    {
        return postIds;
    }

    public void setPostIds(String postIds)
    {
        this.postIds = postIds;
    }
    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("historyId", getHistoryId())
                .append("userId", getUserId())
                .append("titles", getTitles())
                .append("certificates", getCertificates())
                .append("pmLevel", getPmLevel())
                .append("engineerLevel", getEngineerLevel())
                .append("postLevel", getPostLevel())
                .append("salaryLevel", getSalaryLevel())
                .append("updateTime", getUpdateTime())
                .append("updateReason", getUpdateReason())
                .toString();
    }
}
