package com.srs.dormitory.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;



/**
 * 外宿申请对象 dms_accommodations
 *
 * @author srs
 * @date 2025-11-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "DmsAccommodations对象" , description = "外宿申请表")
@TableName("dms_accommodations")
public class DmsAccommodations extends BaseEntity{
private static final long serialVersionUID=1L;

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

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

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

    /**
     * 出生日期
     */
    @ApiModelProperty("出生日期")
    @TableField("birthday")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

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

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

    /**
     * 联系电话
     */
    @ApiModelProperty("联系电话")
    @TableField("stu_phone")
    @Excel(name = "联系电话")
    private String stuPhone;

    /**
     * 身份证号
     */
    @ApiModelProperty("身份证号")
    @TableField("sfzh")
    @Excel(name = "身份证号")
    private String sfzh;

    /**
     * 学院
     */
    @ApiModelProperty("学院")
    @TableField("dept_name")
    @Excel(name = "学院")
    private String deptName;

    /**
     * 专业
     */
    @ApiModelProperty("专业")
    @TableField("major_name")
    @Excel(name = "专业")
    private String majorName;

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

    /**
     * 房间号
     */
    @ApiModelProperty("房间号")
    @TableField("room_no")
    @Excel(name = "房间号")
    private String roomNo;

    /**
     * 宿舍缴费情况
     */
    @ApiModelProperty("宿舍缴费情况")
    @TableField("isCharge")
    @Excel(name = "宿舍缴费情况")
    private Long isCharge;

    /**
     * 外宿原因
     */
    @ApiModelProperty("外宿原因")
    @TableField("sleep_out_remark")
    @Excel(name = "外宿原因")
    private String sleepOutRemark;

    /**
     * 外宿地址
     */
    @ApiModelProperty("外宿地址")
    @TableField("address")
    @Excel(name = "外宿地址")
    private String address;

    /**
     * 紧急联系人
     */
    @ApiModelProperty("紧急联系人")
    @TableField("emergency_contact")
    @Excel(name = "紧急联系人")
    private String emergencyContact;

    /**
     * 家长意见
     */
    @ApiModelProperty("家长意见")
    @TableField("parent_comment")
    @Excel(name = "家长意见")
    private String parentComment;

    /**
     * 家长联系电话
     */
    @ApiModelProperty("家长联系电话")
    @TableField("parent_tel")
    @Excel(name = "家长联系电话")
    private String parentTel;

    /**
     * 家长联系地址
     */
    @ApiModelProperty("家长联系地址")
    @TableField("parent_address")
    @Excel(name = "家长联系地址")
    private String parentAddress;

    /**
     * 状态（0：保存；1：待审核；2：已审核)
     */
    @ApiModelProperty("状态（0：保存；1：待审核；2：已审核)")
    @TableField("reviewer_status")
    @Excel(name = "状态" , readConverterExp = "状态（0：保存；1：待审核；2：已审核)")
    private Long reviewerStatus;

    /**
     * 申请人签名
     */
    @ApiModelProperty("申请人签名")
    @TableField("apply_sign")
    @Excel(name = "申请人签名")
    private String applySign;

    /**
     * 申请日期
     */
    @ApiModelProperty("申请日期")
    @TableField("apply_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请日期" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyDate;

    /**
     * 申请人签名
     */
    @ApiModelProperty("申请人签名")
    @TableField("apply_sign")
    @Excel(name = "申请人签名")
    private String applySign2;

    /**
     * 申请日期
     */
    @ApiModelProperty("申请日期")
    @TableField("apply_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请日期" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyDate2;

    /**
     * 辅导员意见
     */
    @ApiModelProperty("辅导员意见")
    @TableField("fdy_cmt")
    @Excel(name = "辅导员意见")
    private String fdyCmt;

    /**
     * 辅导员签名
     */
    @ApiModelProperty("辅导员签名")
    @TableField("fdy_sign")
    @Excel(name = "辅导员签名")
    private String fdySign;

    /**
     * 辅导员审核日期
     */
    @ApiModelProperty("辅导员审核日期")
    @TableField("fdy_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "辅导员审核日期" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date fdyDate;

    /**
     * 辅导员工号
     */
    @ApiModelProperty("辅导员工号")
    @TableField("fdy_no")
    @Excel(name = "辅导员工号")
    private String fdyNo;

    /**
     * 二级学院审核意见
     */
    @ApiModelProperty("二级学院审核意见")
    @TableField("dept_cmt")
    @Excel(name = "二级学院审核意见")
    private String deptCmt;

    /**
     * 二级学院签名（公章）
     */
    @ApiModelProperty("二级学院签名（公章）")
    @TableField("dept_sign")
    @Excel(name = "二级学院签名" , readConverterExp = "公=章")
    private String deptSign;

    /**
     * 二级学院审核日期
     */
    @ApiModelProperty("二级学院审核日期")
    @TableField("dept_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "二级学院审核日期" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date deptDate;

    /**
     * 二级学院审核工号
     */
    @ApiModelProperty("二级学院审核工号")
    @TableField("dept_no")
    @Excel(name = "二级学院审核工号")
    private String deptNo;

    /**
     * 学工意见
     */
    @ApiModelProperty("学工意见")
    @TableField("xg_cmt")
    @Excel(name = "学工意见")
    private String xgCmt;

    /**
     * 学工签名
     */
    @ApiModelProperty("学工签名")
    @TableField("xg_sign")
    @Excel(name = "学工签名")
    private String xgSign;

    /**
     * 学工审核日期
     */
    @ApiModelProperty("学工审核日期")
    @TableField("xg_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "学工审核日期" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date xgDate;

    /**
     * 学工审核工号
     */
    @ApiModelProperty("学工审核工号")
    @TableField("xg_no")
    @Excel(name = "学工审核工号")
    private String xgNo;

    /**
     * 校领导意见
     */
    @ApiModelProperty("校领导意见")
    @TableField("leader_cmt")
    @Excel(name = "校领导意见")
    private String leaderCmt;

    /**
     * 校领导
     */
    @ApiModelProperty("校领导")
    @TableField("leader_sign")
    @Excel(name = "校领导")
    private String leaderSign;

    /**
     * 校领导审核日期
     */
    @ApiModelProperty("校领导审核日期")
    @TableField("leader_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "校领导审核日期" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaderDate;

    /**
     * 校领导审核工号
     */
    @ApiModelProperty("校领导审核工号")
    @TableField("leader_no")
    @Excel(name = "校领导审核工号")
    private String leaderNo;

    @ApiModelProperty("园区")
    @TableField(exist = false)
    private  String Name;

    @ApiModelProperty("签名")
    @TableField(exist = false)
    private  String signature;

    @ApiModelProperty("学年")
    @TableField("stu_year_name")
    @Excel(name = "学年")
    private  String stuYearName;
}
