package org.dromara.system.domain.vo;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.system.domain.TeacherInfo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 老师档案信息视图对象 teacher_info
 *
 * @author boman
 * @date 2023-08-16
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TeacherInfo.class)
public class TeacherInfoVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ExcelProperty(value = "ID")
    private Long id;

    /**
     * 老师id(user表id)）
     */
    @ExcelProperty(value = "老师id(user表id)）")
    private Long teacherId;

    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名")
    private String name;

    /**
     * 性别(1：男，2：女)
     */
    @ExcelProperty(value = "性别(1：男，2：女)")
    private String sex;

    /**
     * 年龄
     */
    @ExcelProperty(value = "年龄")
    private String age;

    /**
     * 联系方式
     */
    @ExcelProperty(value = "联系方式")
    private String phone;

    /**
     * 职称
     */
    @ExcelProperty(value = "职称")
    private String professional;

    /**
     * 身份证号
     */
    @ExcelProperty(value = "身份证号")
    private String idCard;

    /**
     * 身高
     */
    @ExcelProperty(value = "身高")
    private String height;

    /**
     * 体重
     */
    @ExcelProperty(value = "体重")
    private String weight;

    /**
     * 血型
     */
    @ExcelProperty(value = "血型")
    private String bloodType;

    /**
     * 政治面貌
     */
    @ExcelProperty(value = "政治面貌")
    private String politicalStatus;

    /**
     * 毕业证明照(地址)
     */
    @ExcelProperty(value = "毕业证明照(地址)")
    private String graduationPhoto;

    /**
     * 毕业证书照(地址)
     */
    @ExcelProperty(value = "毕业证书照(地址)")
    private String degreePhoto;

    /**
     * 教资证明照(地址)
     */
    @ExcelProperty(value = "教资证明照(地址)")
    private String teachingPhoto;

    /**
     * 职称证明照(地址)
     */
    @ExcelProperty(value = "职称证明照(地址)")
    private String professionalPhoto;

    /**
     * 证件照(地址)
     */
    @ExcelProperty(value = "证件照(地址)")
    private String identificationPhoto;

    /**
     * 门禁照(地址)
     */
    @ExcelProperty(value = "门禁照(地址)")
    private String entrancePermit;

    /**
     * 居住地址
     */
    @ExcelProperty(value = "居住地址")
    private String address;

    /**
     * 入职时间
     */
    @ExcelProperty(value = "入职时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date onBoardTime;

    /**
     * 参加工作时间
     */
    @ExcelProperty(value = "参加工作时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date jobTime;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 创建者
     */
    private Long createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新者
     */
    private Long updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

    @TableField(exist = false)
    private Long schoolId;
}
