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

import javax.validation.constraints.NotNull;


/**
 * 每周深入学生宿舍佐证材料对象 sys_teacher_visit_dormitory_materials
 *
 * @author chc
 * @date 2024-06-06
 */
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "SysTeacherVisitDormitoryMaterials对象", description = "每周深入学生宿舍佐证材料表")
@TableName("sys_teacher_visit_dormitory_materials")
public class SysTeacherVisitDormitoryMaterials extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 走访宿舍材料id
     */
    @ApiModelProperty("走访宿舍材料id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 开展时间
     */
    @ApiModelProperty("开展时间")
    @TableField("development_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开展时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date developmentTime;

    /**
     * 走访班级名称
     */
    @ApiModelProperty("走访班级名称")
    @TableField("visit_class_name")
    @Excel(name = "走访班级名称")
    private String visitClassName;

    /**
     * 走访宿舍号
     */
    @ApiModelProperty("走访宿舍号")
    @TableField("visit_dormitory_num")
    @Excel(name = "走访宿舍号")
    private String visitDormitoryNum;

    /**
     * 覆盖学生人数
     */
    @ApiModelProperty("覆盖学生人数")
    @TableField("number_of_students")
    @Excel(name = "覆盖学生人数")
    private Long numberOfStudents;

    /**
     * 学生交流内容/检查内容
     */
    @ApiModelProperty("学生交流内容/检查内容")
    @TableField("main_content")
    @Excel(name = "学生交流内容/检查内容")
    private String mainContent;

    /**
     * 相片
     */
    @ApiModelProperty("相片")
    @TableField("photo")
    @Excel(name = "相片")
    private String photo;

    /**
     * 填报人名称
     */
    @ApiModelProperty(value = "填报人名称", required = true)
    @TableField("fdy_name")
    @Excel(name = "填报人名称")
    private String fdyName;

    /**
     * 填报年份
     */
    @ApiModelProperty(value = "填报年份", required = true)
    @TableField("filling_year")
    @Excel(name = "填报年份")
    private String fillingYear;

    /**
     * 填报月份
     */
    @ApiModelProperty(value = "填报月份", required = true)
    @TableField("filling_month")
    @Excel(name = "填报月份")
    @NotNull(message = "填报月份不能为空")
    private String fillingMonth;


}
