package com.srs.routine.domain.dto;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.srs.common.annotation.Excel;
import lombok.Data;


import java.util.Date;


// 入伍申请导出专用DTO，只包含需要导出的字段
@Data
public class RtEnlistmentReserveExportDto {

    /**
     * 申请编号（规则：RY+年份+6位序号，如RY2024000001）
     */
    @Excel(name = "申请编号")
    private String applyNo;

    /**
     * 姓名
     */
    @Excel(name = "学生姓名")
    private String studentName;

    /**
     * 学号
     */
    @Excel(name = "学号")
    private String studentNo;

    /**
     * 性别（0-男
     */
    @Excel(name = "性别")
    private String gender;

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

    /**
     * 年级
     */
    @Excel(name = "年级")
    private String grade;

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

    /**
     * 专业名称
     */
    @Excel(name = "专业名称")
    private String major;

    /**
     * 辅导员姓名
     */
    @Excel(name = "辅导员姓名")
    private String teacherName;

    /**
     * 家庭地址
     */
    @Excel(name = "家庭地址")
    private String familyAddress;

    /**
     * 家长联系电话
     */
    @Excel(name = "家长联系电话")
    private String parentPhone;

    /**
     * 申请理由（含入伍时间、服役期限）
     */
    @Excel(name = "申请理由")
    private String applyReason;

    /**
     * 申请状态（0-草稿，1=待辅导员审批，2=待学务审批，3=待二级学院审批，4=待学籍管理科审批，5=待教务处主管领导审批，6=审批通过，7=驳回）
     */
    @Excel(name = "申请状态")
    private String applyStatus;

    /**
     * 保留学籍编号（审批通过后生成）
     */
    @Excel(name = "保留学籍编号")
    private String reserveNo;

    /**
     * 保留学籍开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保留学籍开始日期" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date reserveStartDate;

    /**
     * 保留学籍结束日期（入伍时间+服役期限）
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保留学籍结束日期" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date reserveEndDate;

//    /**
//     * 批文号
//     */
//    @Excel(name = "批文号")
//    private String approvalNo;

//    @JsonFormat(pattern = "yyyy-MM-dd")
//    private Date  createTime;
//
//    @JsonFormat(pattern = "yyyy-MM-dd")
//    private Date  updateTime;



}

