package com.srs.routine.domain;

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;

import java.util.List;


/**
 * 保留学籍申请附件（入伍通知书等）对象 rt_enlistment_reserve_attach
 *
 * @author srs
 * @date 2025-11-14
 */
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "RtEnlistmentReserveAttach对象", description = "保留学籍申请附件（入伍通知书等）")
@TableName("rt_enlistment_reserve_attach")
public class RtEnlistmentReserveAttach extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 申请表ID
     */
    @ApiModelProperty("申请表ID")
    @TableField("apply_id")
    @Excel(name = "申请表ID")
    private Long applyId;

    /**
     * 文件名
     */
    @ApiModelProperty("文件名")
    @TableField("file_name")
    @Excel(name = "文件名")
    private String fileName;

    /**
     * 文件路径（关联sys_file表）
     */
    @ApiModelProperty("文件路径（关联sys_file表）")
    @TableField("file_path")
    @Excel(name = "文件路径", readConverterExp = "关=联sys_file表")
    private String filePath;

    /**
     * 文件大小（字节）
     */
    @ApiModelProperty("文件大小（字节）")
    @TableField("file_size")
    @Excel(name = "文件大小", readConverterExp = "字=节")
    private Long fileSize;

    /**
     * 文件类型（如pdf、jpg）
     */
    @ApiModelProperty("文件类型（如pdf、jpg）")
    @TableField("file_type")
    @Excel(name = "文件类型", readConverterExp = "如=pdf、jpg")
    private String fileType;

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

    /**
     * 姓名
     */
    @ApiModelProperty("姓名")
    @TableField("student_name")
    @Excel(name = "姓名")
    private String studentName;

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

    /**
     * 入伍保留学籍申请表
     */
    @ApiModelProperty(value = "入伍保留学籍申请表", hidden = true)
    @Excel(name = "入伍保留学籍申请表")
    private List<RtEnlistmentReserve> rtEnlistmentReserves;
}
