package com.srs.routine.domain;

import java.util.Date;

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


/**
 * 学生解除处分申请对象 rt_stu_disciplinary_relieve
 *
 * @author LSD
 * @date 2024-04-29
 */
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "RtStuDisciplinaryRelieve对象", description = "学生解除处分申请表")
@TableName("rt_stu_disciplinary_relieve")
public class RtStuDisciplinaryRelieve extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 申请ID
     */
    @ApiModelProperty("申请ID")
    @TableField("relieve_id")
    private Long relieveId;

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

    /**
     * 处分文号
     */
    @ApiModelProperty("处分文号")
    @TableField("penalty_number")
    @Excel(name = "处分文号")
    private String penaltyNumber;


    /**
     * 解除处分文号
     */
    @ApiModelProperty("解除处分文号")
    @TableField("relieve_number")
    @Excel(name = "解除处分文号")
    private String relieveNumber;

    /**
     * 学号
     */
    @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;

    /**
     * 处分等级：（0-警告；1-严重警告；2-记过；3-留校察看；4-开除学籍）
     */
    @ApiModelProperty("处分等级：（0-警告；1-严重警告；2-记过；3-留校察看；4-开除学籍）")
    @TableField("penalty_type")
    @Excel(name = "处分等级：", readConverterExp = "0=-警告；1-严重警告；2-记过；3-留校察看；4-开除学籍")
    private Long penaltyType;



    /**
     * 解除状态（0-解除申请中；1-解除处分成功；2-解除处分失败）
     */
    @ApiModelProperty("解除状态（0-解除申请中；1-解除处分成功；2-解除处分失败）")
    @TableField("penalty_status")
    @Excel(name = "解除状态", readConverterExp = "0=-解除申请中；1-解除处分成功；2-解除处分失败")
    private Long penaltyStatus;

    /**
     * 违纪日期
     */
    @ApiModelProperty("违纪日期")
    @TableField("violation_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "违纪日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date violationDate;

    /**
     * 违纪事实描述
     */
    @ApiModelProperty("违纪事实描述")
    @TableField("disposition_description")
    @Excel(name = "违纪事实描述")
    private String dispositionDescription;

    /**
     * 解除处分申请
     */
    @ApiModelProperty("解除处分申请")
    @TableField("application_dismissal")
    @Excel(name = "解除处分申请")
    private String applicationDismissal;

    /**
     * 辅导员做思想教育情况
     */
    @ApiModelProperty("辅导员做思想教育情况")
    @TableField("ideological_education")
    @Excel(name = "辅导员做思想教育情况")
    private String ideologicalEducation;

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

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

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

    /**
     * 性别
     */
    @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("jg")
    @Excel(name = "籍贯")
    private String jg;

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

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

    /**
     * 解除处分下文
     */
    @ApiModelProperty("解除处分下文")
    @TableField("relieve_service")
    @Excel(name = "解除处分下文")
    private String relieveService;

    // 部门：查询
    @TableField(exist = false)
    private Long deptId;
}
