package com.vctgo.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.vctgo.common.core.annotation.Excel;
import com.vctgo.common.core.web.domain.TenantEntity;
import lombok.Data;

/**
 * 幼儿园教职工信息对象 sys_teach_staff
 *
 * @author caesar
 * @date 2024-03-27
 */
@Data
@TableName("sys_teach_staff")
public class SysTeachStaff extends TenantEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @TableId
    private Long id;

    /**
     * 用户Id
     */
    @JsonSerialize(using= ToStringSerializer.class)
    private Long userId;

    /**
     * 部门Id
     */
    @TableField(exist = false)
    @JsonSerialize(using= ToStringSerializer.class)
    private Long deptId;

    /**
     * 幼儿园类型
     */
    @Excel(name = "幼儿园类型")
    private String kindergartenType;

    /**
     * 幼儿园id
     */
    @Excel(name = "幼儿园id")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long kindergartenId;

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String userName;

    /**
     * 手机号
     */
    @Excel(name = "手机号")
    private String phonenumber;

    /**
     * 用户性别（0男
     */
    @Excel(name = "用户性别", readConverterExp = "用户性别（0男")
    private String sex;

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

    /**
     * 1寸照片
     */
    @Excel(name = "1寸照片")
    private String inchPhotoOne;

    /**
     * 2寸照片
     */
    @Excel(name = "2寸照片")
    private String inchPhotoTwo;

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

    /**
     * 主要岗位
     */
    @Excel(name = "主要岗位")
    private String mainPost;

    /**
     * 其他岗位
     */
    @Excel(name = "其他岗位")
    private String otherPost;

    /**
     * 教师教育id
     */
    @Excel(name = "教师教育id")
    private String teacherEducationId;

    /**
     * 在职状态
     */
    @Excel(name = "在职状态")
    private String userStatus;

    /**
     * 职称等级
     */
    @Excel(name = "职称等级")
    private String professionalTitleGrade;

    /**
     * 是否为骨干
     */
    @Excel(name = "是否为骨干")
    private String isBackbone;

    /**
     * 骨干开始年限
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "骨干开始年限", width = 30, dateFormat = "yyyy-MM-dd")
    private String backboneStartTime;

    /**
     * 骨干结束年限
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "骨干结束年限", width = 30, dateFormat = "yyyy-MM-dd")
    private String backboneEndTime;

    /**
     * 骨干类型
     */
    @Excel(name = "骨干类型")
    private String backboneType;

    /**
     * 是否学科带头人
     */
    @Excel(name = "是否学科带头人")
    private String isDisciplineLeader;

    /**
     * 学科
     */
    @Excel(name = "学科")
    private String discipline;

    /**
     * 入职时教龄
     */
    @Excel(name = "入职时教龄")
    private String entryTeachingAge;

    /**
     * 实际教学年龄
     */
    @Excel(name = "实际教学年龄")
    private String actualTeachingAge;

    /**
     * 信息来源
     */
    @Excel(name = "信息来源")
    private String informationSource;

    /**
     * 删除标志（0代表存在
     */
    @Excel(name = "删除标志", readConverterExp = "删除标志（0代表存在")
    private String isDeleted;

    /**
     * 创建人ID
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @Excel(name = "创建人ID")
    private Long createById;

    /**
     * 更新人ID
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @Excel(name = "更新人ID")
    private Long updateById;

    /**
     * 身份证号
     */
    @Excel(name = "身份证号")
    private String identificationCard;

    /**
     * 出生日期
     */
    @Excel(name = "出生日期")
    private String birthDate;

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

    /**
     * 血型
     */
    @Excel(name = "血型")
    private String bloodType;

    /**
     * 工号
     */
    @Excel(name = "工号")
    private String jobNumber;

    /**
     * 合同类型
     */
    @Excel(name = "合同类型")
    private String contractType;

    /**
     * 入职时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private String hiredate;

    /**
     * 离职时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "离职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private String resignationTime;

    /**
     * 婚姻状况
     */
    @Excel(name = "婚姻状况")
    private String maritalStatus;

    /**
     * 户口类别
     */
    @Excel(name = "户口类别")
    private String accountType;

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

    /**
     * 联系人电话
     */
    @Excel(name = "联系人电话")
    private String contactPhone;

    /**
     * 现住址省级编码
     */
    @Excel(name = "现住址省级编码")
    private String currentProvinceId;

    /**
     * 现住址市级编码
     */
    @Excel(name = "现住址市级编码")
    private String currentCityId;

    /**
     * 现住址区县编码
     */
    @Excel(name = "现住址区县编码")
    private String currentDistrictId;

    /**
     * 现住址所属区域
     */
    @Excel(name = "现住址所属区域")
    private String currentBelongRegion;

    /**
     * 现详细地址
     */
    @Excel(name = "现详细地址")
    private String currentAddressDetail;

    /**
     * 户籍所在地省级编码
     */
    @Excel(name = "户籍所在地省级编码")
    private String birthProvinceId;

    /**
     * 户籍所在地市级编码
     */
    @Excel(name = "户籍所在地市级编码")
    private String birthCityId;

    /**
     * 户籍所在地区县编码
     */
    @Excel(name = "户籍所在地区县编码")
    private String birthDistrictId;

    /**
     * 户籍所在地所属区域
     */
    @Excel(name = "户籍所在地所属区域")
    private String birthBelongRegion;

    /**
     * 户籍所在地详细地址
     */
    @Excel(name = "户籍所在地详细地址")
    private String birthAddressDetail;

    /**
     * 证书信息
     */
    private String qualifyCertificate;

    /**
     * 工作经历
     */
    private String workExperience;

    /**
     * 荣誉成果
     */
    private String honoraryAchievement;

    /**
     * 课题成果
     */
    private String projectAchievement;

    /**
     * 其它成果
     */
    private String otherAchievement;

    /**
     * 学历
     */
    private String education;

}
