package com.vctgo.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
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-26
 */
@Data
@TableName("sys_platform_teach_staff")
public class SysPlatformTeachStaff extends TenantEntity {
    private static final long serialVersionUID = 1L;

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

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

    /**
     * 幼儿园类型  1 独立园 2 集团园 3 集团
     */
    private String kindergartenType;

    /**
     * 幼儿园名称
     */
    @TableField(exist = false)
    private String kindergartenName;

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

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

    /**
     * 用户性别（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;

    /**
     * 1
     */
    @Excel(name = "1")
    private String politicalStatus;

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

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

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

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

    /**
     * 职称等级
     */
    @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 actualTeachingAge;

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

    /**
     * 信息来源
     */
    @Excel(name = "信息来源 1  平台录入   2   育研建评小程序  3   同步（saas） 4 评选小程序")
    private String informationSource;

    /**
     * saas账号数量
     */
    @TableField(exist = false)
    private String saasAccountNumber;

    /**
     * 租户内部用户状态  1 -- 2 未开通 3 启用 4 禁用
     */
    @TableField(exist = false)
    private String accountStatus;

    /**
     * 删除标志（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;

    @TableField(exist = false)
    private String staffInfo;

    /**
     * 省级编码
     */
    @TableField(exist = false)
    @Excel(name = "省级编码")
    private String provinceId;

    /**
     * 市级编码
     */
    @TableField(exist = false)
    @Excel(name = "市级编码")
    private String cityId;

    /**
     * 区县编码
     */
    @TableField(exist = false)
    @Excel(name = "区县编码")
    private String districtId;

    /**
     * 所属区域
     */
    @TableField(exist = false)
    @Excel(name = "所属区域")
    private String belongRegion;
    /**
     *验证状态  0 待验证 1 通过 2 驳回
     */
    private Integer verifyStatus;
}
