package com.sundot.airport.common.core.domain.entity;

import java.util.Date;
import java.util.List;
import javax.validation.constraints.*;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sundot.airport.common.annotation.Excel;
import com.sundot.airport.common.annotation.Excel.ColumnType;
import com.sundot.airport.common.annotation.Excel.Type;
import com.sundot.airport.common.annotation.Excels;
import com.sundot.airport.common.core.domain.BaseEntity;
import com.sundot.airport.common.xss.Xss;

/**
 * 用户对象 sys_user
 *
 * @author ruoyi
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class SysUser extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @Excel(name = "用户序号", type = Type.EXPORT, cellType = ColumnType.NUMERIC, prompt = "用户编号")
    private Long userId;

    /**
     * 部门ID
     */
    @Excel(name = "部门编号", type = Type.IMPORT)
    private Long deptId;

    /**
     * 用户账号
     */
    @Excel(name = "登录名称")
    private String userName;

    /**
     * 用户昵称
     */
    @Excel(name = "用户名称")
    private String nickName;

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

    /**
     * 手机号码
     */
    @Excel(name = "手机号码", cellType = ColumnType.TEXT)
    private String phonenumber;

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

    /**
     * 用户头像
     */
    private String avatar;

    /**
     * 密码
     */
    private String password;

    /**
     * 账号状态（0正常 1停用）
     */
    @Excel(name = "账号状态", readConverterExp = "0=正常,1=停用", combo = "正常,停用")
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 最后登录IP
     */
    private String loginIp;

    /**
     * 最后登录时间
     */
    private Date loginDate;

    /**
     * 密码最后更新时间
     */
    private Date pwdUpdateDate;

    /**
     * 部门对象
     */
    @Excels({
            @Excel(name = "部门编号", targetAttr = "deptId", type = Type.EXPORT),
            @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT)
    })
    private SysDept dept;

    /**
     * 角色对象
     */
    private List<SysRole> roles;

    /**
     * 角色组
     */
    private Long[] roleIds;

    /**
     * 岗位组
     */
    private Long[] postIds;

    /**
     * 角色ID
     */
    private Long roleId;

    /**
     * 角色名称（模糊查询）
     */
    private String roleName;

    /**
     * 身份证号
     */
    @Excel(name = "身份证号", cellType = ColumnType.TEXT)
    private String cardNumber;

    /**
     * 政治面貌
     */
    @Excel(name = "政治面貌", readConverterExp = "COMMUNIST_PARTY_MEMBER=中共党员," +
            "PROBATIONARY_COMMUNIST_PARTY_MEMBER=中共预备党员," +
            "COMMUNIST_YOUTH_LEAGUE_MEMBER=共青团员," +
            "MASS_PUBLIC=群众," +
            "REVOLUTIONARY_COMMITTEE_OF_THE_CHINESE_KUOMINTANG=中国国民党革命委员会," +
            "CHINA_DEMOCRATIC_LEAGUE=中国民主同盟," +
            "CHINA_DEMOCRATIC_NATIONAL_CONSTRUCTION_ASSOCIATION=中国民主建国会," +
            "CHINA_ASSOCIATION_FOR_PROMOTING_DEMOCRACY=中国民主促进会," +
            "CHINESE_PEASANTS_AND_WORKERS_DEMOCRATIC_PARTY=中国农工民主党," +
            "CHINA_ZHI_GONG_PARTY=中国致公党," +
            "JIU_SAN_SOCIETY=九三学社," +
            "TAIWAN_DEMOCRATIC_SELF_GOVERNMENT_LEAGUE=台湾民主自治同盟",
            combo = "中共党员,中共预备党员,共青团员,群众,中国国民党革命委员会,中国民主同盟,中国民主建国会,中国民主促进会,中国农工民主党,中国致公党,九三学社,台湾民主自治同盟")
    private String politicalStatus;

    /**
     * 培训合规状态
     */
    @Excel(name = "培训合规状态", readConverterExp = "0=合规,1=不合规", combo = "合规,不合规")
    private String trainingComplianceStatus;

    /**
     * 资质等级
     */
    @Excel(name = "资质等级", readConverterExp = "LEVEL_ONE=一级,LEVEL_TWO=二级,LEVEL_THREE=三级,LEVEL_FOUR=四级,LEVEL_FIVE=五级", combo = "一级,二级,三级,四级,五级")
    private String qualificationLevel;

    /**
     * 行政情况（含处罚记录）
     */
    @Excel(name = "行政情况（含处罚记录）")
    private String administrativeStatus;

    /**
     * 身体健康情况
     */
    @Excel(name = "身体健康情况")
    private String physicalHealthStatus;

    /**
     * 紧急联系人姓名
     */
    @Excel(name = "紧急联系人姓名")
    private String emergencyContactName;

    /**
     * 紧急联系人电话
     */
    @Excel(name = "紧急联系人电话", cellType = ColumnType.TEXT)
    private String emergencyContactPhone;

    /**
     * 紧急联系人关系
     */
    @Excel(name = "紧急联系人关系", readConverterExp = "PARENT=父母,SPOUSE=配偶,CHILD=子女,OTHER=其他", combo = "父母,配偶,子女,其他")
    private String emergencyContactRelationship;
    /**
     * 学历（硕士、本科、专科、技校）
     */
    private String schooling;
    /**
     * 政治审核情况
     */
    private String politicalReviewSituation;
    /**
     * 开始工作时间
     */
    private Date startWorkingDate;
    /**
     * 安检开始时间
     */
    private Date securityCheckStartDate;

    /**
     * 入职时间
     */
    @Excel(name = "入职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date entryDate;

    /**
     * X射线操作员开始时间
     */
    @Excel(name = "X射线操作员开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date xrayOperatorStarttime;

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

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

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

    /**
     * 安检工作岗位
     */
    private String securityInspectionPosition;

    /**
     * 工作奖励次数
     */
    private Integer workRewardsNumber;

    /**
     * 工作处罚次数
     */
    private Integer workPenaltiesNumber;

    /**
     * 生肖
     */
    @Excel(name = "生肖", readConverterExp = "RAT=鼠,OX=牛,TIGER=虎,RABBIT=兔,DRAGON=龙,SNAKE=蛇,HORSE=马,GOAT=羊,MONKEY=猴,ROOSTER=鸡,DOG=狗,PIG=猪", combo = "鼠,牛,虎,兔,龙,蛇,马,羊,猴,鸡,狗,猪")
    private String zodiac;

    /**
     * 星座
     */
    @Excel(name = "星座", readConverterExp = "ARIES=白羊座,TAURUS=金牛座,GEMINI=双子座,CANCER=巨蟹座,LEO=狮子座,VIRGO=处女座,LIBRA=天秤座,SCORPIO=天蝎座,SAGITTARIUS=射手座,CAPRICORN=摩羯座,AQUARIUS=水瓶座,PISCES=双鱼座", combo = "白羊座,金牛座,双子座,巨蟹座,狮子座,处女座,天秤座,天蝎座,射手座,摩羯座,水瓶座,双鱼座")
    private String constellation;

    /**
     * 血型
     */
    @Excel(name = "血型", readConverterExp = "A=A型,B=B型,O=O型,AB=AB型", combo = "A型,B型,O型,AB型")
    private String blooGroup;

    /**
     * 性格特征
     */
    @Excel(name = "性格特征", readConverterExp = "ISTJ=ISTJ（检查员型）,ISFJ=ISFJ（守护者型）,INFJ=INFJ（咨询师型）,INTJ=INTJ（战略家型）,ISTP=ISTP（手艺人型）,ISFP=ISFP（艺术家型）,INFP=INFP（调停者型）,INTP=INTP（逻辑学家型）,ESTP=ESTP（企业家型）,ESFP=ESFP（表演者型）,ENFP=ENFP（活动家型）,ENTP=ENTP（辩论家型）,ESTJ=ESTJ（总经理型）,ESFJ=ESFJ（执政官型）,ENFJ=ENFJ（教育家型）,ENTJ=ENTJ（指挥官型）", combo = "ISTJ（检查员型）,ISFJ（守护者型）,INFJ（咨询师型）,INTJ（战略家型）,ISTP（手艺人型）,ISFP（艺术家型）,INFP（调停者型）,INTP（逻辑学家型）,ESTP（企业家型）,ESFP（表演者型）,ENFP（活动家型）,ENTP（辩论家型）,ESTJ（总经理型）,ESFJ（执政官型）,ENFJ（教育家型）,ENTJ（指挥官型）")
    private String characterCharacteristics;

    /**
     * 工作风格
     */
    @Excel(name = "工作风格", readConverterExp = "D=D型（支配型）,I=I型（影响型）,S=S型（稳健型）,C=C型（尽责型）", combo = "D型（支配型）,I型（影响型）,S型（稳健型）,C型（尽责型）")
    private String workingStyle;

    /**
     * 团队配合
     */
    @Excel(name = "团队配合")
    private String teamCooperation;

    /**
     * 自我评价-性格特质
     */
    @Excel(name = "自我评价-性格特质", readConverterExp = "TARGET_ORIENTED=目标导向,PASSIONATE_AND_INSPIRING=热情感染力,STEADY_AND_RELIABLE=稳健可靠,RIGOROUS_AND_RATIONAL=严谨理性,UNDERSTANDING_AND_CONSIDERATE=善解人意", combo = "目标导向,热情感染力,稳健可靠,严谨理性,善解人意")
    private String selfAssessmentPersonalityTrait;

    /**
     * 自我评价-能力表现
     */
    @Excel(name = "自我评价-能力表现", readConverterExp = "TALENTED_AND_BRILLIANT=才华横溢,QUICK_WITTED=思维敏捷,STRONG_EXECUTION=执行力强,HIGHLY_RESPONSIBLE=责任心重,FAST_LEARNER=学习力强", combo = "才华横溢,思维敏捷,执行力强,责任心重,学习力强")
    private String selfAssessmentCapabilityPerformance;

    /**
     * 自我评价-人际互动
     */
    @Excel(name = "自我评价-人际互动", readConverterExp = "HUMOROUS_AND_WITTY=幽默风趣,MODEST_AND_TOLERANT=谦和包容,SINCERE_AND_STRAIGHTFORWARD=真诚坦率,HELPFUL=乐于助人,STRONG_LEADERSHIP=领导力佳", combo = "幽默风趣,谦和包容,真诚坦率,乐于助人,领导力佳")
    private String selfAssessmentInterpersonalInteraction;

    /**
     * 自我评价-成长潜力
     */
    @Excel(name = "自我评价-成长潜力", readConverterExp = "PERSEVERING=坚韧不拔,INNOVATIVE_THINKING=创新思维,HIGHLY_ADAPTABLE=适应力强,SELF_DRIVEN=自我驱动,BIG_PICTURE_THINKING=大局观", combo = "坚韧不拔,创新思维,适应力强,自我驱动,大局观")
    private String selfAssessmentGrowthPotential;

    /**
     * 同事评价-性格特质
     */
    @Excel(name = "同事评价-性格特质", readConverterExp = "TARGET_ORIENTED=目标导向,PASSIONATE_AND_INSPIRING=热情感染力,STEADY_AND_RELIABLE=稳健可靠,RIGOROUS_AND_RATIONAL=严谨理性,UNDERSTANDING_AND_CONSIDERATE=善解人意", combo = "目标导向,热情感染力,稳健可靠,严谨理性,善解人意")
    private String colleagueCommentsPersonalityTrait;

    /**
     * 同事评价-能力表现
     */
    @Excel(name = "同事评价-能力表现", readConverterExp = "TALENTED_AND_BRILLIANT=才华横溢,QUICK_WITTED=思维敏捷,STRONG_EXECUTION=执行力强,HIGHLY_RESPONSIBLE=责任心重,FAST_LEARNER=学习力强", combo = "才华横溢,思维敏捷,执行力强,责任心重,学习力强")
    private String colleagueCommentsCapabilityPerformance;

    /**
     * 同事评价-人际互动
     */
    @Excel(name = "同事评价-人际互动", readConverterExp = "HUMOROUS_AND_WITTY=幽默风趣,MODEST_AND_TOLERANT=谦和包容,SINCERE_AND_STRAIGHTFORWARD=真诚坦率,HELPFUL=乐于助人,STRONG_LEADERSHIP=领导力佳", combo = "幽默风趣,谦和包容,真诚坦率,乐于助人,领导力佳")
    private String colleagueCommentsInterpersonalInteraction;

    /**
     * 同事评价-成长潜力
     */
    @Excel(name = "同事评价-成长潜力", readConverterExp = "PERSEVERING=坚韧不拔,INNOVATIVE_THINKING=创新思维,HIGHLY_ADAPTABLE=适应力强,SELF_DRIVEN=自我驱动,BIG_PICTURE_THINKING=大局观", combo = "坚韧不拔,创新思维,适应力强,自我驱动,大局观")
    private String colleagueCommentsGrowthPotential;

    /**
     * 上级评价-性格特质
     */
    @Excel(name = "上级评价-性格特质", readConverterExp = "TARGET_ORIENTED=目标导向,PASSIONATE_AND_INSPIRING=热情感染力,STEADY_AND_RELIABLE=稳健可靠,RIGOROUS_AND_RATIONAL=严谨理性,UNDERSTANDING_AND_CONSIDERATE=善解人意", combo = "目标导向,热情感染力,稳健可靠,严谨理性,善解人意")
    private String superiorEvaluationPersonalityTrait;

    /**
     * 上级评价-能力表现
     */
    @Excel(name = "上级评价-能力表现", readConverterExp = "TALENTED_AND_BRILLIANT=才华横溢,QUICK_WITTED=思维敏捷,STRONG_EXECUTION=执行力强,HIGHLY_RESPONSIBLE=责任心重,FAST_LEARNER=学习力强", combo = "才华横溢,思维敏捷,执行力强,责任心重,学习力强")
    private String superiorEvaluationCapabilityPerformance;

    /**
     * 上级评价-人际互动
     */
    @Excel(name = "上级评价-人际互动", readConverterExp = "HUMOROUS_AND_WITTY=幽默风趣,MODEST_AND_TOLERANT=谦和包容,SINCERE_AND_STRAIGHTFORWARD=真诚坦率,HELPFUL=乐于助人,STRONG_LEADERSHIP=领导力佳", combo = "幽默风趣,谦和包容,真诚坦率,乐于助人,领导力佳")
    private String superiorEvaluationInterpersonalInteraction;

    /**
     * 上级评价-成长潜力
     */
    @Excel(name = "上级评价-成长潜力", readConverterExp = "PERSEVERING=坚韧不拔,INNOVATIVE_THINKING=创新思维,HIGHLY_ADAPTABLE=适应力强,SELF_DRIVEN=自我驱动,BIG_PICTURE_THINKING=大局观", combo = "坚韧不拔,创新思维,适应力强,自我驱动,大局观")
    private String superiorEvaluationGrowthPotential;

    /**
     * 下级评价-性格特质
     */
    @Excel(name = "下级评价-性格特质", readConverterExp = "TARGET_ORIENTED=目标导向,PASSIONATE_AND_INSPIRING=热情感染力,STEADY_AND_RELIABLE=稳健可靠,RIGOROUS_AND_RATIONAL=严谨理性,UNDERSTANDING_AND_CONSIDERATE=善解人意", combo = "目标导向,热情感染力,稳健可靠,严谨理性,善解人意")
    private String subordinateEvaluationPersonalityTrait;

    /**
     * 下级评价-能力表现
     */
    @Excel(name = "下级评价-能力表现", readConverterExp = "TALENTED_AND_BRILLIANT=才华横溢,QUICK_WITTED=思维敏捷,STRONG_EXECUTION=执行力强,HIGHLY_RESPONSIBLE=责任心重,FAST_LEARNER=学习力强", combo = "才华横溢,思维敏捷,执行力强,责任心重,学习力强")
    private String subordinateEvaluationCapabilityPerformance;

    /**
     * 下级评价-人际互动
     */
    @Excel(name = "下级评价-人际互动", readConverterExp = "HUMOROUS_AND_WITTY=幽默风趣,MODEST_AND_TOLERANT=谦和包容,SINCERE_AND_STRAIGHTFORWARD=真诚坦率,HELPFUL=乐于助人,STRONG_LEADERSHIP=领导力佳", combo = "幽默风趣,谦和包容,真诚坦率,乐于助人,领导力佳")
    private String subordinateEvaluationInterpersonalInteraction;

    /**
     * 下级评价-成长潜力
     */
    @Excel(name = "下级评价-成长潜力", readConverterExp = "PERSEVERING=坚韧不拔,INNOVATIVE_THINKING=创新思维,HIGHLY_ADAPTABLE=适应力强,SELF_DRIVEN=自我驱动,BIG_PICTURE_THINKING=大局观", combo = "坚韧不拔,创新思维,适应力强,自我驱动,大局观")
    private String subordinateEvaluationGrowthPotential;

    /**
     * 团队配合人员列表
     */
    private List<SysUser> teamCooperationList;

    public SysUser() {

    }

    public SysUser(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public boolean isAdmin() {
        return isAdmin(this.userId);
    }

    public static boolean isAdmin(Long userId) {
        return userId != null && 1L == userId;
    }

    public Long getDeptId() {
        return deptId;
    }

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

    @Xss(message = "用户昵称不能包含脚本字符")
    @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符")
    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    @Xss(message = "用户账号不能包含脚本字符")
    @NotBlank(message = "用户账号不能为空")
    @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符")
    public String getUserName() {
        return userName;
    }

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

    @Email(message = "邮箱格式不正确")
    @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
    public String getEmail() {
        return email;
    }

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

    @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符")
    public String getPhonenumber() {
        return phonenumber;
    }

    public void setPhonenumber(String phonenumber) {
        this.phonenumber = phonenumber;
    }

    public String getSex() {
        return sex;
    }

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

    public String getAvatar() {
        return avatar;
    }

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

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getStatus() {
        return status;
    }

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

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getLoginIp() {
        return loginIp;
    }

    public void setLoginIp(String loginIp) {
        this.loginIp = loginIp;
    }

    public Date getLoginDate() {
        return loginDate;
    }

    public void setLoginDate(Date loginDate) {
        this.loginDate = loginDate;
    }

    public Date getPwdUpdateDate() {
        return pwdUpdateDate;
    }

    public void setPwdUpdateDate(Date pwdUpdateDate) {
        this.pwdUpdateDate = pwdUpdateDate;
    }

    public SysDept getDept() {
        return dept;
    }

    public void setDept(SysDept dept) {
        this.dept = dept;
    }

    public List<SysRole> getRoles() {
        return roles;
    }

    public void setRoles(List<SysRole> roles) {
        this.roles = roles;
    }

    public Long[] getRoleIds() {
        return roleIds;
    }

    public void setRoleIds(Long[] roleIds) {
        this.roleIds = roleIds;
    }

    public Long[] getPostIds() {
        return postIds;
    }

    public void setPostIds(Long[] postIds) {
        this.postIds = postIds;
    }

    public Long getRoleId() {
        return roleId;
    }

    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public String getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(String cardNumber) {
        this.cardNumber = cardNumber;
    }

    public String getPoliticalStatus() {
        return politicalStatus;
    }

    public void setPoliticalStatus(String politicalStatus) {
        this.politicalStatus = politicalStatus;
    }

    public String getTrainingComplianceStatus() {
        return trainingComplianceStatus;
    }

    public void setTrainingComplianceStatus(String trainingComplianceStatus) {
        this.trainingComplianceStatus = trainingComplianceStatus;
    }

    public String getQualificationLevel() {
        return qualificationLevel;
    }

    public void setQualificationLevel(String qualificationLevel) {
        this.qualificationLevel = qualificationLevel;
    }

    public String getAdministrativeStatus() {
        return administrativeStatus;
    }

    public void setAdministrativeStatus(String administrativeStatus) {
        this.administrativeStatus = administrativeStatus;
    }

    public String getPhysicalHealthStatus() {
        return physicalHealthStatus;
    }

    public void setPhysicalHealthStatus(String physicalHealthStatus) {
        this.physicalHealthStatus = physicalHealthStatus;
    }

    public String getEmergencyContactName() {
        return emergencyContactName;
    }

    public void setEmergencyContactName(String emergencyContactName) {
        this.emergencyContactName = emergencyContactName;
    }

    public String getEmergencyContactPhone() {
        return emergencyContactPhone;
    }

    public void setEmergencyContactPhone(String emergencyContactPhone) {
        this.emergencyContactPhone = emergencyContactPhone;
    }

    public String getEmergencyContactRelationship() {
        return emergencyContactRelationship;
    }

    public void setEmergencyContactRelationship(String emergencyContactRelationship) {
        this.emergencyContactRelationship = emergencyContactRelationship;
    }

    public String getSelfAssessmentPersonalityTrait() {
        return selfAssessmentPersonalityTrait;
    }

    public void setSelfAssessmentPersonalityTrait(String selfAssessmentPersonalityTrait) {
        this.selfAssessmentPersonalityTrait = selfAssessmentPersonalityTrait;
    }

    public String getZodiac() {
        return zodiac;
    }

    public void setZodiac(String zodiac) {
        this.zodiac = zodiac;
    }

    public String getConstellation() {
        return constellation;
    }

    public void setConstellation(String constellation) {
        this.constellation = constellation;
    }

    public String getBlooGroup() {
        return blooGroup;
    }

    public void setBlooGroup(String blooGroup) {
        this.blooGroup = blooGroup;
    }

    public String getCharacterCharacteristics() {
        return characterCharacteristics;
    }

    public void setCharacterCharacteristics(String characterCharacteristics) {
        this.characterCharacteristics = characterCharacteristics;
    }

    public String getWorkingStyle() {
        return workingStyle;
    }

    public void setWorkingStyle(String workingStyle) {
        this.workingStyle = workingStyle;
    }

    public String getTeamCooperation() {
        return teamCooperation;
    }

    public void setTeamCooperation(String teamCooperation) {
        this.teamCooperation = teamCooperation;
    }

    public String getSelfAssessmentCapabilityPerformance() {
        return selfAssessmentCapabilityPerformance;
    }

    public void setSelfAssessmentCapabilityPerformance(String selfAssessmentCapabilityPerformance) {
        this.selfAssessmentCapabilityPerformance = selfAssessmentCapabilityPerformance;
    }

    public String getSelfAssessmentInterpersonalInteraction() {
        return selfAssessmentInterpersonalInteraction;
    }

    public void setSelfAssessmentInterpersonalInteraction(String selfAssessmentInterpersonalInteraction) {
        this.selfAssessmentInterpersonalInteraction = selfAssessmentInterpersonalInteraction;
    }

    public String getSelfAssessmentGrowthPotential() {
        return selfAssessmentGrowthPotential;
    }

    public void setSelfAssessmentGrowthPotential(String selfAssessmentGrowthPotential) {
        this.selfAssessmentGrowthPotential = selfAssessmentGrowthPotential;
    }

    public String getColleagueCommentsPersonalityTrait() {
        return colleagueCommentsPersonalityTrait;
    }

    public void setColleagueCommentsPersonalityTrait(String colleagueCommentsPersonalityTrait) {
        this.colleagueCommentsPersonalityTrait = colleagueCommentsPersonalityTrait;
    }

    public String getColleagueCommentsCapabilityPerformance() {
        return colleagueCommentsCapabilityPerformance;
    }

    public void setColleagueCommentsCapabilityPerformance(String colleagueCommentsCapabilityPerformance) {
        this.colleagueCommentsCapabilityPerformance = colleagueCommentsCapabilityPerformance;
    }

    public String getColleagueCommentsInterpersonalInteraction() {
        return colleagueCommentsInterpersonalInteraction;
    }

    public void setColleagueCommentsInterpersonalInteraction(String colleagueCommentsInterpersonalInteraction) {
        this.colleagueCommentsInterpersonalInteraction = colleagueCommentsInterpersonalInteraction;
    }

    public String getColleagueCommentsGrowthPotential() {
        return colleagueCommentsGrowthPotential;
    }

    public void setColleagueCommentsGrowthPotential(String colleagueCommentsGrowthPotential) {
        this.colleagueCommentsGrowthPotential = colleagueCommentsGrowthPotential;
    }

    public String getSuperiorEvaluationPersonalityTrait() {
        return superiorEvaluationPersonalityTrait;
    }

    public void setSuperiorEvaluationPersonalityTrait(String superiorEvaluationPersonalityTrait) {
        this.superiorEvaluationPersonalityTrait = superiorEvaluationPersonalityTrait;
    }

    public String getSuperiorEvaluationCapabilityPerformance() {
        return superiorEvaluationCapabilityPerformance;
    }

    public void setSuperiorEvaluationCapabilityPerformance(String superiorEvaluationCapabilityPerformance) {
        this.superiorEvaluationCapabilityPerformance = superiorEvaluationCapabilityPerformance;
    }

    public String getSuperiorEvaluationInterpersonalInteraction() {
        return superiorEvaluationInterpersonalInteraction;
    }

    public void setSuperiorEvaluationInterpersonalInteraction(String superiorEvaluationInterpersonalInteraction) {
        this.superiorEvaluationInterpersonalInteraction = superiorEvaluationInterpersonalInteraction;
    }

    public String getSuperiorEvaluationGrowthPotential() {
        return superiorEvaluationGrowthPotential;
    }

    public void setSuperiorEvaluationGrowthPotential(String superiorEvaluationGrowthPotential) {
        this.superiorEvaluationGrowthPotential = superiorEvaluationGrowthPotential;
    }

    public String getSubordinateEvaluationPersonalityTrait() {
        return subordinateEvaluationPersonalityTrait;
    }

    public void setSubordinateEvaluationPersonalityTrait(String subordinateEvaluationPersonalityTrait) {
        this.subordinateEvaluationPersonalityTrait = subordinateEvaluationPersonalityTrait;
    }

    public String getSubordinateEvaluationCapabilityPerformance() {
        return subordinateEvaluationCapabilityPerformance;
    }

    public void setSubordinateEvaluationCapabilityPerformance(String subordinateEvaluationCapabilityPerformance) {
        this.subordinateEvaluationCapabilityPerformance = subordinateEvaluationCapabilityPerformance;
    }

    public String getSubordinateEvaluationInterpersonalInteraction() {
        return subordinateEvaluationInterpersonalInteraction;
    }

    public void setSubordinateEvaluationInterpersonalInteraction(String subordinateEvaluationInterpersonalInteraction) {
        this.subordinateEvaluationInterpersonalInteraction = subordinateEvaluationInterpersonalInteraction;
    }

    public String getSubordinateEvaluationGrowthPotential() {
        return subordinateEvaluationGrowthPotential;
    }

    public void setSubordinateEvaluationGrowthPotential(String subordinateEvaluationGrowthPotential) {
        this.subordinateEvaluationGrowthPotential = subordinateEvaluationGrowthPotential;
    }

    public String getSchooling() {
        return schooling;
    }

    public void setSchooling(String schooling) {
        this.schooling = schooling;
    }

    public String getPoliticalReviewSituation() {
        return politicalReviewSituation;
    }

    public void setPoliticalReviewSituation(String politicalReviewSituation) {
        this.politicalReviewSituation = politicalReviewSituation;
    }

    public Date getStartWorkingDate() {
        return startWorkingDate;
    }

    public void setStartWorkingDate(Date startWorkingDate) {
        this.startWorkingDate = startWorkingDate;
    }

    public Date getSecurityCheckStartDate() {
        return securityCheckStartDate;
    }

    public void setSecurityCheckStartDate(Date securityCheckStartDate) {
        this.securityCheckStartDate = securityCheckStartDate;
    }

    public Date getEntryDate() {
        return entryDate;
    }

    public void setEntryDate(Date entryDate) {
        this.entryDate = entryDate;
    }

    public Date getXrayOperatorStarttime() {
        return xrayOperatorStarttime;
    }

    public void setXrayOperatorStarttime(Date xrayOperatorStarttime) {
        this.xrayOperatorStarttime = xrayOperatorStarttime;
    }

    public String getProfessional() {
        return professional;
    }

    public void setProfessional(String professional) {
        this.professional = professional;
    }

    public String getNativePlace() {
        return nativePlace;
    }

    public void setNativePlace(String nativePlace) {
        this.nativePlace = nativePlace;
    }

    public String getNation() {
        return nation;
    }

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

    public String getSecurityInspectionPosition() {
        return securityInspectionPosition;
    }

    public void setSecurityInspectionPosition(String securityInspectionPosition) {
        this.securityInspectionPosition = securityInspectionPosition;
    }

    public Integer getWorkRewardsNumber() {
        return workRewardsNumber;
    }

    public void setWorkRewardsNumber(Integer workRewardsNumber) {
        this.workRewardsNumber = workRewardsNumber;
    }

    public Integer getWorkPenaltiesNumber() {
        return workPenaltiesNumber;
    }

    public void setWorkPenaltiesNumber(Integer workPenaltiesNumber) {
        this.workPenaltiesNumber = workPenaltiesNumber;
    }

    public List<SysUser> getTeamCooperationList() {
        return teamCooperationList;
    }

    public void setTeamCooperationList(List<SysUser> teamCooperationList) {
        this.teamCooperationList = teamCooperationList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("userId", getUserId())
                .append("deptId", getDeptId())
                .append("userName", getUserName())
                .append("nickName", getNickName())
                .append("email", getEmail())
                .append("phonenumber", getPhonenumber())
                .append("sex", getSex())
                .append("avatar", getAvatar())
                .append("password", getPassword())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("loginIp", getLoginIp())
                .append("loginDate", getLoginDate())
                .append("pwdUpdateDate", getPwdUpdateDate())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("dept", getDept())
                .append("cardNumber", getCardNumber())
                .append("politicalStatus", getPoliticalStatus())
                .append("trainingComplianceStatus", getTrainingComplianceStatus())
                .append("qualificationLevel", getQualificationLevel())
                .append("administrativeStatus", getAdministrativeStatus())
                .append("physicalHealthStatus", getPhysicalHealthStatus())
                .append("emergencyContactName", getEmergencyContactName())
                .append("emergencyContactPhone", getEmergencyContactPhone())
                .append("emergencyContactRelationship", getEmergencyContactRelationship())
                .append("zodiac", getZodiac())
                .append("constellation", getConstellation())
                .append("blooGroup", getBlooGroup())
                .append("characterCharacteristics", getCharacterCharacteristics())
                .append("workingStyle", getWorkingStyle())
                .append("teamCooperation", getTeamCooperation())
                .append("selfAssessmentPersonalityTrait", getSelfAssessmentPersonalityTrait())
                .append("selfAssessmentCapabilityPerformance", getSelfAssessmentCapabilityPerformance())
                .append("selfAssessmentInterpersonalInteraction", getSelfAssessmentInterpersonalInteraction())
                .append("selfAssessmentGrowthPotential", getSelfAssessmentGrowthPotential())
                .append("colleagueCommentsPersonalityTrait", getColleagueCommentsPersonalityTrait())
                .append("colleagueCommentsCapabilityPerformance", getColleagueCommentsCapabilityPerformance())
                .append("colleagueCommentsInterpersonalInteraction", getColleagueCommentsInterpersonalInteraction())
                .append("colleagueCommentsGrowthPotential", getColleagueCommentsGrowthPotential())
                .append("superiorEvaluationPersonalityTrait", getSuperiorEvaluationPersonalityTrait())
                .append("superiorEvaluationCapabilityPerformance", getSuperiorEvaluationCapabilityPerformance())
                .append("superiorEvaluationInterpersonalInteraction", getSuperiorEvaluationInterpersonalInteraction())
                .append("superiorEvaluationGrowthPotential", getSuperiorEvaluationGrowthPotential())
                .append("subordinateEvaluationPersonalityTrait", getSubordinateEvaluationPersonalityTrait())
                .append("subordinateEvaluationCapabilityPerformance", getSubordinateEvaluationCapabilityPerformance())
                .append("subordinateEvaluationInterpersonalInteraction", getSubordinateEvaluationInterpersonalInteraction())
                .append("subordinateEvaluationGrowthPotential", getSubordinateEvaluationGrowthPotential())
                .append("schooling", getSchooling())
                .append("politicalReviewSituation", getPoliticalReviewSituation())
                .append("startWorkingDate", getStartWorkingDate())
                .append("securityCheckStartDate", getSecurityCheckStartDate())
                .append("entryDate", getEntryDate())
                .append("xrayOperatorStarttime", getXrayOperatorStarttime())
                .append("professional", getProfessional())
                .append("nativePlace", getNativePlace())
                .append("nation", getNation())
                .append("securityInspectionPosition", getSecurityInspectionPosition())
                .append("workRewardsNumber", getWorkRewardsNumber())
                .append("workPenaltiesNumber", getWorkPenaltiesNumber())
                .append("teamCooperationList", getTeamCooperationList())
                .toString();
    }
}
