package com.srs.flowable.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.srs.common.annotation.Excel;
import com.srs.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.util.Date;


/**
 * 学生退学申请记录对象 rt_stu_drop_out_school
 *
 * @author LSD
 * @date 2024-06-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "RtStuDropOutSchool对象" , description = "学生退学申请表")
@TableName("rt_stu_drop_out_school")
public class StuDropOutSchool extends BaseEntity{
private static final long serialVersionUID=1L;

    /**
     * 退学申请ID
     */
    @ApiModelProperty("退学申请ID")
    @TableField("drop_out_school_id")
    private Long dropOutSchoolId;

    /**
     * 辅导员user表id
     */
    @ApiModelProperty("辅导员user表id")
    @TableField("applicant_id")
    @Excel(name = "辅导员user表id")
    private Long applicantId;

    /**
     * 辅导员姓名
     */
    @ApiModelProperty("辅导员姓名")
    @TableField("applicant_name")
    @Excel(name = "辅导员姓名")
    private String applicantName;

    /**
     * 学号
     */
    @ApiModelProperty("学号")
    @TableField("stu_no")
    @Excel(name = "学号")
    private String stuNo;

    /**
     * 学生姓名
     */
    @ApiModelProperty("学生姓名")
    @TableField("stu_name")
    @Excel(name = "学生姓名")
    private String stuName;

    /**
     * 学生用户ID,sys_user的id
     */
    @ApiModelProperty("学生用户ID,sys_user的id")
    @TableField("stu_id")
    @Excel(name = "学生用户ID,sys_user的id")
    private Long stuId;

    /**
     * 性别
     */
    @ApiModelProperty("性别")
    @TableField("gender")
    @Excel(name = "性别")
    private String gender;

    /**
     * 部门
     */
    @ApiModelProperty("部门")
    @TableField("department_Name")
    @Excel(name = "部门")
    private String departmentName;

    /**
     * 年级
     */
    @ApiModelProperty("年级")
    @TableField("grade_name")
    @Excel(name = "年级")
    private String gradeName;

    /**
     * 班级
     */
    @ApiModelProperty("班级")
    @TableField("class_name")
    @Excel(name = "班级")
    private String className;

    /**
     * 民族
     */
    @ApiModelProperty("民族")
    @TableField("mz")
    @Excel(name = "民族")
    private String mz;

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

    /**
     * 家长电话
     */
    @ApiModelProperty("家长电话")
    @TableField("parent_phone")
    @Excel(name = "家长电话")
    private String parentPhone;

    /**
     * 家长姓名
     */
    @ApiModelProperty("家长姓名")
    @TableField("parent_name")
    @Excel(name = "家长姓名")
    private String parentName;

    /**
     * 籍贯
     */
    @ApiModelProperty("籍贯")
    @TableField("jg")
    @Excel(name = "籍贯")
    private String jg;

    /**
     * 市/县
     */
    @ApiModelProperty("市/县")
    @TableField("hksz2")
    @Excel(name = "市/县")
    private String hksz2;

    /**
     * 附件上传,多个逗号隔开
     */
    @ApiModelProperty("附件上传,多个逗号隔开")
    @TableField("attachment_upload")
    @Excel(name = "附件上传,多个逗号隔开")
    private String attachmentUpload;

    /**
     * 申请原因
     */
    @ApiModelProperty("申请原因")
    @TableField("reason_applying")
    @Excel(name = "申请原因")
    private String reasonApplying;

    /**
     * 申请人签字
     */
    @ApiModelProperty("申请人签字")
    @TableField("apply_signature")
    @Excel(name = "申请人签字")
    private String applySignature;

    /**
     * 辅导员联系情况
     */
    @ApiModelProperty("辅导员联系情况")
    @TableField("ideological_education")
    @Excel(name = "辅导员联系情况")
    private String ideologicalEducation;

    /**
     * 在校时间说明
     */
    @ApiModelProperty("在校时间说明")
    @TableField("Instruction_school_hours")
    @Excel(name = "在校时间说明")
    private String instructionSchoolHours;

    /**
     * 申请状态（0-退学申请中；1-退学中；2-已复学；）
     */
    @ApiModelProperty("申请状态（0-退学申请中；1-退学中；2-已复学；）")
    @TableField("apply_status")
    @Excel(name = "申请状态" , readConverterExp = "0=-退学申请中；1-退学中；2-已复学；")
    private Long applyStatus;

    /**
     * 提交状态（0-保存；1-提交）
     */
    @ApiModelProperty("提交状态（0-保存；1-提交）")
    @TableField("submission_status")
    @Excel(name = "提交状态" , readConverterExp = "0=-保存；1-提交")
    private Long submissionStatus;

    /**
     * 退学类型：0-非疾病；1-疾病；2-心里疾病
     */
    @ApiModelProperty("退学类型：0-非疾病；1-疾病；2-心里疾病")
    @TableField("drop_out_type")
    @Excel(name = "退学类型：0-非疾病；1-疾病；2-心里疾病")
    private String dropOutType;

    // 退学类别
    @ApiModelProperty("退学类别")
    @TableField("drop_out_category")
    @Excel(name = "退学类别，rt_logout_type")
    private String dropOutCategory;

    /**
     * 流程实例ID
     */
    @ApiModelProperty("流程实例ID")
    @TableField("process_instance_id")
    @Excel(name = "流程实例ID")
    private String processInstanceId;

    /**
     * 流程部署编号
     */
    @ApiModelProperty("流程部署编号")
    @TableField("deploy_id")
    @Excel(name = "流程部署编号")
    private String deployId;

    /**
     *
     */
    @ApiModelProperty("")
    @TableField("quit_startTime")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date quitStarttime;

    /**
     * 退学结束时间
     */
    @ApiModelProperty("退学结束时间")
    @TableField("quit_endTime")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退学结束时间" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date quitEndtime;

    /**
     * 退学年份
     */
    @ApiModelProperty("退学年份")
    @TableField("quit_year")
    @Excel(name = "退学年份")
    private String quitYear;

    /**
     * 退学文号
     */
    @ApiModelProperty("退学文号")
    @TableField("quit_number")
    @Excel(name = "退学文号")
    private String quitNumber;


}
