package com.muzhi.dingtalk.test.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "Employee员工花名册对象", description = "员工花名册")
public class Employee {

    @ApiModelProperty(value = "员工ID")
    private String id;

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

    @ApiModelProperty(value = "邮箱")
    private String sys00Email;

    @ApiModelProperty(value = "部门id")
    private String sys00DeptIds;

    @ApiModelProperty(value = "部门")
    private String sys00Dept;

    @ApiModelProperty(value = "主部门id")
    private String sys00MainDeptId;

    @ApiModelProperty(value = "主部门")
    private String sys00MainDept;

    @ApiModelProperty(value = "职位")
    private String sys00Position;

    @ApiModelProperty(value = "手机号")
    private String sys00Mobile;

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

    @ApiModelProperty(value = "分机号")
    private String sys00Tel;

    @ApiModelProperty(value = "办公地点")
    private String sys00WorkPlace;

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

    @ApiModelProperty(value = "入职时间")
    private Date sys00ConfirmJoinTime;

    @ApiModelProperty(value = "员工类型")
    private Integer sys01EmployeeType;

    @ApiModelProperty(value = "员工状态")
    private Integer sys01EmployeeStatus;

    @ApiModelProperty(value = "试用期")
    private String sys01ProbationPeriodType;

    @ApiModelProperty(value = "转正日期")
    private Date sys01RegularTime;

    @ApiModelProperty(value = "岗位职级")
    private String sys01PositionLevel;

    @ApiModelProperty(value = "身份证姓名")
    private String sys02RealName;

    @ApiModelProperty(value = "证件号码")
    private String sys02CertNo;

    @ApiModelProperty(value = "出生日期")
    private Date sys02BirthTime;

    @ApiModelProperty(value = "性别（0：男；1：女）")
    private Integer sys02SexType;

    @ApiModelProperty(value = "民族")
    private String sys02NationType;

    @ApiModelProperty(value = "身份证地址")
    private String sys02CertAddress;

    @ApiModelProperty(value = "证件有效期")
    private Date sys02CertEndTime;

    @ApiModelProperty(value = "婚姻状况")
    private String sys02Marriage;

    @ApiModelProperty(value = "首次参加工作时间")
    private Date sys02JoinWorkingTime;

    @ApiModelProperty(value = "户籍类型")
    private Integer sys02ResidenceType;

    @ApiModelProperty(value = "住址")
    private String sys02Address;

    @ApiModelProperty(value = "政治面貌")
    private Integer sys02PoliticalStatus;

    @ApiModelProperty(value = "个人社保账号")
    private String sys09PersonalSi;

    @ApiModelProperty(value = "个人公积金账号")
    private String sys09PersonalHf;

    @ApiModelProperty(value = "最高学历")
    private String sys03HighestEdu;

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

    @ApiModelProperty(value = "毕业时间")
    private Date sys03GraduationTime;

    @ApiModelProperty(value = "所学专业")
    private String sys03Major;

    @ApiModelProperty(value = "银行卡号")
    private String sys04BankAccountNo;

    @ApiModelProperty(value = "开户行")
    private String sys04AccountBank;

    @ApiModelProperty(value = "合同公司")
    private String sys05ContractCompanyName;

    @ApiModelProperty(value = "合同类型")
    private Integer sys05ContractType;

    @ApiModelProperty(value = "首次合同起始日")
    private Date sys05FirstContractStartTime;

    @ApiModelProperty(value = "首次合同到期日")
    private Date sys05FirstContractEndTime;

    @ApiModelProperty(value = "现合同起始日")
    private Date sys05NowContractStartTime;

    @ApiModelProperty(value = "现合同到期日")
    private Date sys05NowContractEndTime;

    @ApiModelProperty(value = "合同期限")
    private String sys05ContractPeriodType;

    @ApiModelProperty(value = "续签次数")
    private Integer sys05ContractRenewCount;

    @ApiModelProperty(value = "紧急联系人姓名")
    private String sys06UrgentContactsName;

    @ApiModelProperty(value = "联系人关系")
    private String sys06UrgentContactsRelation;

    @ApiModelProperty(value = "联系人电话")
    private String sys06UrgentContactsPhone;

    @ApiModelProperty(value = "有无子女")
    private String sys07HaveChild;

    @ApiModelProperty(value = "子女姓名")
    private String sys07ChildName;

    @ApiModelProperty(value = "子女性别")
    private Integer sys07ChildSex;

    @ApiModelProperty(value = "子女出生日期")
    private Date sys07ChildBirthDate;

    @ApiModelProperty(value = "自定义字段")
    private String customField;
}
