package com.ym.mec.education.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 学生考勤表
 * </p>
 *
 * @author lemeng
 * @since 2019-09-25
 */
@TableName("student_attendance")
public class StudentAttendance extends Model<StudentAttendance> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id_", type = IdType.AUTO)
    private Long id;
    /**
     * 乐团
     */
    @TableField("music_group_id_")
    private Integer musicGroupId;
    /**
     * 班级
     */
    @TableField("class_group_id_")
    private Integer classGroupId;
    /**
     * 课程计划
     */
    @TableField("course_schedule_id_")
    private Long courseScheduleId;
    @TableField("user_id_")
    private Integer userId;
    /**
     * 点名的教师
     */
    @TableField("teacher_id_")
    private Integer teacherId;
    /**
     * 状态（正常、旷课、请假、休学）
     */
    @TableField("status_")
    private String status;
    @TableField("create_time_")
    private Date createTime;
    /**
     * 如果是请假状态，此字段就指请假原因
     */
    @TableField("remark_")
    private String remark;

    @TableField("current_class_times_")
    private Integer currentClassTimes;

    public Integer getCurrentClassTimes() {
        return currentClassTimes;
    }

    public void setCurrentClassTimes(Integer currentClassTimes) {
        this.currentClassTimes = currentClassTimes;
    }

    public Long getId() {
        return id;
    }

    public StudentAttendance setId(Long id) {
        this.id = id;
        return this;
    }

    public Integer getMusicGroupId() {
        return musicGroupId;
    }

    public StudentAttendance setMusicGroupId(Integer musicGroupId) {
        this.musicGroupId = musicGroupId;
        return this;
    }

    public Integer getClassGroupId() {
        return classGroupId;
    }

    public StudentAttendance setClassGroupId(Integer classGroupId) {
        this.classGroupId = classGroupId;
        return this;
    }

    public Long getCourseScheduleId() {
        return courseScheduleId;
    }

    public StudentAttendance setCourseScheduleId(Long courseScheduleId) {
        this.courseScheduleId = courseScheduleId;
        return this;
    }

    public Integer getUserId() {
        return userId;
    }

    public StudentAttendance setUserId(Integer userId) {
        this.userId = userId;
        return this;
    }

    public Integer getTeacherId() {
        return teacherId;
    }

    public StudentAttendance setTeacherId(Integer teacherId) {
        this.teacherId = teacherId;
        return this;
    }

    public String getStatus() {
        return status;
    }

    public StudentAttendance setStatus(String status) {
        this.status = status;
        return this;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public StudentAttendance setCreateTime(Date createTime) {
        this.createTime = createTime;
        return this;
    }

    public String getRemark() {
        return remark;
    }

    public StudentAttendance setRemark(String remark) {
        this.remark = remark;
        return this;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "StudentAttendance{" +
        ", id=" + id +
        ", musicGroupId=" + musicGroupId +
        ", classGroupId=" + classGroupId +
        ", courseScheduleId=" + courseScheduleId +
        ", userId=" + userId +
        ", teacherId=" + teacherId +
        ", status=" + status +
        ", createTime=" + createTime +
        ", remark=" + remark +
        "}";
    }
}
