package cn.estsh.i3plus.pojo.model.platform;

import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.bean.BaseConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysDictionary;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.Data;

import javax.persistence.Column;

/**
 * @author ns
 * @create 2021/7/21 0021 上午 10:20
 */
@Data
@ApiModel(value = "userImportTemplate")
public class UserInfoImportModel {
    private static final long serialVersionUID = -6597413958814715617L;

    @ApiModelProperty(value = "姓名", access = "名称")
    @AnnoOutputColumn()
    private String infoName;

    @ApiModelProperty(value = "工号")
    @AnnoOutputColumn()
    private String infoEmpNo;

    @ApiModelProperty(value = "员工类型", access = "实习、试用期、正式")
    @AnnoOutputColumn(required = false, name = "员工类型", refClass = SysDictionary.class, value = "name", refForeignKey = BaseConstWords.DICTIONARY_EMPLOYEE_TYPE)
    private Integer infoEmployeeType;

    @ApiModelProperty(value = "员工等级")
    @AnnoOutputColumn(required = false, name = "员工等级", refClass = SysDictionary.class, value = "name", refForeignKey = BaseConstWords.DICTIONARY_EMPLOYEE_GRADE)
    private Integer infoGrade;

    @ApiModelProperty(value = "性别", example = "1", access = "性别（1.男，2.女）")
    @AnnoOutputColumn(required = false,name = "性别", refClass = SysDictionary.class, value = "name", refForeignKey = BaseConstWords.DICTIONARY_SEX)
    private Integer infoSex;

    @ApiModelProperty(value = "婚姻", example = "1", access = "性别（1.未知，2.已婚,3未婚）")
    @AnnoOutputColumn(required = false, name = "婚姻",refClass = SysDictionary.class, value = "name", refForeignKey = BaseConstWords.DICTIONARY_MARRIAGE)
    private Integer infoMarriage;

    @ApiModelProperty(value = "证件类型")
    @AnnoOutputColumn(required = false, name = "证件类型", refClass = SysDictionary.class, value = "name", refForeignKey = BaseConstWords.DICTIONARY_CERTIFICATE_TYPE)
    private Integer infoCardType;

    @ApiModelProperty(value = "证件编号")
    private String infoCardNumber;

    @ApiModelProperty(value = "毕业专业")
    private String infoSchoolProfession;

    @ApiModelProperty(value = "毕业院校")
    private String infoSchool;

    @ApiModelProperty(value = "学历")
    @AnnoOutputColumn(required = false,name = "学历", refClass = SysDictionary.class, value = "name", refForeignKey = BaseConstWords.DICTIONARY_EDUCATION)
    private Integer infoSchoolEducation;

    @ApiModelProperty(value = "毕业时间")
    private String infoSchoolLeaveDate;

    @ApiModelProperty(value = "籍贯")
    private String infoBirthplace;

    @ApiModelProperty(value = "种族")
    @AnnoOutputColumn(required = false,name = "种族",  refClass = SysDictionary.class, value = "name", refForeignKey = BaseConstWords.DICTIONARY_NATIONALITY)
    private Integer infoRace;


//    @ApiModelProperty(value = "紧急联系人")
//    private String userEmergencyContact;
//
//    @ApiModelProperty(value = "紧急联系人-电话")
//    private String userEmergencyPhone;


    @ApiModelProperty(value = "紧急联系人")
    private String infoEmergencyContact;

    @ApiModelProperty(value = "紧急联系人-电话")
    private String infoEmergencyPhone;

    @ApiModelProperty(value = "入职日期")
    private String infoJoinDate;

    @ApiModelProperty(value = "离职日期")
    private String infoResignationDate;

    @ApiModelProperty(value = "政治面貌")
    @AnnoOutputColumn(required = false, name = "政治面貌", refClass = SysDictionary.class, value = "name", refForeignKey = BaseConstWords.DICTIONARY_POLITICAL_STATUS)
    private Integer infoPoliticalStatus;

    @ApiModelProperty(value = "出生日期")
    private String infoBornDate;

    @ApiModelProperty(value = "部门", access = "部门")
    @AnnoOutputColumn
    private String infoDepartmentNameRdds;

    @ApiModelProperty(value = "主部门", access = "主部门")
    @AnnoOutputColumn
    private String infoDepartmentNameRdd;

    @ApiModelProperty(value = "岗位", access = "岗位")
    @AnnoOutputColumn
    private String positionNameRdds;

    @ApiModelProperty(value = "主岗位", access = "主岗位")
    @AnnoOutputColumn
    private String positionNameRdd;

    @ApiModelProperty(value = "家庭地址")
    private String infoFamilyAddress;

    @ApiModelProperty(value = "兴趣爱好")
    private String infoHobby;

    /********************************** 账号相关 ********************************/

    @ApiModelProperty(value = "登陆名称", access = "登陆名称")
    @AnnoOutputColumn
    private String userLoginName;

    @ApiModelProperty(value = "用户语言")
    private String languageCode;

//    @ApiParam(value = "登陆密码")
//    @AnnoOutputColumn
//    private String userLoginPassword;


    @ApiModelProperty(value = "角色名称", access = "角色名称")
    @AnnoOutputColumn
    private String roleNameRdds;

    @ApiModelProperty(value = "手机号", access = "手机号")
    private String userPhone;

    @ApiModelProperty(value = "操作部门", access = "操作部门部门")
    @AnnoOutputColumn
    private String userDepartmentNameRdds;

    @ApiModelProperty(value = "主操作部门", access = "主操作部门")
    @AnnoOutputColumn
    private String userDepartmentNameRdd;

    @ApiModelProperty(value = "邮箱", access = "邮箱")
    private String userEmail;

    @ApiModelProperty(value = "微信号")
    private String userWeChatNo;


}
