package com.qmth.sop.business.bean.result;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.sop.common.enums.EducationEnum;
import com.qmth.sop.common.enums.GenderEnum;
import com.qmth.sop.common.enums.UserArchivesStatusEnum;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

/**
 * @Description: 人员档案查询结果
 * @Author: CaoZixuan
 * @Date: 2023-08-14
 */
public class UserArchivesResult {
    @ApiModelProperty(value = "档案id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long userArchivesId;

    @ApiModelProperty(value = "编号")
    private String code;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "省")
    private String province;

    @ApiModelProperty(value = "市")
    private String city;

    @ApiModelProperty(value = "县")
    private String area;

    @ApiModelProperty(value = "性别")
    private GenderEnum gender;

    @ApiModelProperty("年龄")
    private Integer age;

    @ApiModelProperty(value = "身份证号")
    private String identity;

    @ApiModelProperty(value = "学历")
    private EducationEnum education;

    @ApiModelProperty(value = "电话")
    private String mobileNumber;

    @ApiModelProperty(value = "电子邮箱")
    private String email;

    @ApiModelProperty(value = "底照保存地址")
    private String basePhotoPath;

    @ApiModelProperty(value = "底照预览地址")
    private String basePhotoPreviewPath;

    @ApiModelProperty(value = "供应商id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long supplierId;

    @ApiModelProperty(value = "供应商名称")
    private String supplierName;

    @ApiModelProperty(value = "入档时间")
    private Long archivesTime;

    @ApiModelProperty(value = "认证角色集合")
    private List<RoleResult> roleInfoList;

    @ApiModelProperty(value = "认证时间")
    private Long authenticationTime;

    @ApiModelProperty(value = "认证成绩")
    private Double authenticationScore;

    @ApiModelProperty(value = "认证有效时间")
    private Long authenticationValidTime;

    @ApiModelProperty(value = "认证状态")
    private Boolean authenticationStatus;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "用户id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long userId;

    @ApiModelProperty(value = "人力资源状态")
    private UserArchivesStatusEnum status;

    @ApiModelProperty(value = "是否启用（1启用，0作废）")
    private Boolean enable;

    @ApiModelProperty(value = "被占用信息")
    private String occupiedInfo;

    public Boolean getEnable() {
        return enable;
    }

    public void setEnable(Boolean enable) {
        this.enable = enable;
    }

    public Long getUserArchivesId() {
        return userArchivesId;
    }

    public void setUserArchivesId(Long userArchivesId) {
        this.userArchivesId = userArchivesId;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

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

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public GenderEnum getGender() {
        return gender;
    }

    public void setGender(GenderEnum gender) {
        this.gender = gender;
    }

    public Integer getAge() {
        return age;
    }

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

    public String getIdentity() {
        return identity;
    }

    public void setIdentity(String identity) {
        this.identity = identity;
    }

    public EducationEnum getEducation() {
        return education;
    }

    public void setEducation(EducationEnum education) {
        this.education = education;
    }

    public String getMobileNumber() {
        return mobileNumber;
    }

    public void setMobileNumber(String mobileNumber) {
        this.mobileNumber = mobileNumber;
    }

    public String getEmail() {
        return email;
    }

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

    public String getBasePhotoPath() {
        return basePhotoPath;
    }

    public void setBasePhotoPath(String basePhotoPath) {
        this.basePhotoPath = basePhotoPath;
    }

    public String getBasePhotoPreviewPath() {
        return basePhotoPreviewPath;
    }

    public void setBasePhotoPreviewPath(String basePhotoPreviewPath) {
        this.basePhotoPreviewPath = basePhotoPreviewPath;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public Long getArchivesTime() {
        return archivesTime;
    }

    public void setArchivesTime(Long archivesTime) {
        this.archivesTime = archivesTime;
    }

    public List<RoleResult> getRoleInfoList() {
        return roleInfoList;
    }

    public void setRoleInfoList(List<RoleResult> roleInfoList) {
        this.roleInfoList = roleInfoList;
    }

    public Long getAuthenticationTime() {
        return authenticationTime;
    }

    public void setAuthenticationTime(Long authenticationTime) {
        this.authenticationTime = authenticationTime;
    }

    public Double getAuthenticationScore() {
        return authenticationScore;
    }

    public void setAuthenticationScore(Double authenticationScore) {
        this.authenticationScore = authenticationScore;
    }

    public Long getAuthenticationValidTime() {
        return authenticationValidTime;
    }

    public void setAuthenticationValidTime(Long authenticationValidTime) {
        this.authenticationValidTime = authenticationValidTime;
    }

    public Boolean getAuthenticationStatus() {
        return authenticationStatus;
    }

    public void setAuthenticationStatus(Boolean authenticationStatus) {
        this.authenticationStatus = authenticationStatus;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Long getUserId() {
        return userId;
    }

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

    public UserArchivesStatusEnum getStatus() {
        return status;
    }

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

    public String getOccupiedInfo() {
        return occupiedInfo;
    }

    public void setOccupiedInfo(String occupiedInfo) {
        this.occupiedInfo = occupiedInfo;
    }
}
