package com.ym.mec.biz.dal.dto;

import com.ym.mec.biz.dal.entity.ClassGroup;
import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
import com.ym.mec.biz.dal.entity.CourseSchedule;
import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

public class ClassGroup4MixDto implements Cloneable{

    @ApiModelProperty(value = "班级id", required = true)
    private Integer classGroupId;

    @ApiModelProperty(value = "乐团id", required = true)
    private String musicGroupId;

    @ApiModelProperty(value = "合奏班id", required = true)
    private Integer mixClassGroupId;

    @ApiModelProperty(value = "班级名称", required = true)
    private String classGroupName;

    @ApiModelProperty(value = "学生ids", required = true)
    private List<Integer> students;

    @ApiModelProperty(value = "老师设置", required = true)
    private List<ClassGroupTeacherMapper> classGroupTeacherMapperList;

    @ApiModelProperty(value = "是否跳过节假日 true-跳过 false-不跳过", required = true)
    private Boolean isHoliday;

    @ApiModelProperty(value = "开始时间", required = true)
    private String startDate;

    @ApiModelProperty(value = "排课次数", required = true)
    private Integer courseTimes;

    @ApiModelProperty(value = "课程类型", required = true)
    private CourseSchedule.CourseScheduleType courseType;

    @ApiModelProperty(value = "排课循环方式", required = true)
    private List<CourseTimeDto> courseTimeDtoList;

    @ApiModelProperty(value = "班级类型", required = true)
    private ClassGroupTypeEnum type;

    @ApiModelProperty(value = "排课方式(new -新增 renew-重排)", required = true)
    private String courseAddType;

    @ApiModelProperty(value = "预计学生人数", required = true)
    private Integer expectStudentNum;

    @ApiModelProperty(value = "声部id", required = true)
    private Integer subjectId;

    @ApiModelProperty(value = "班级剩余时长，用于自动排课", required = true)
    private String classCourseMinute;

    @ApiModelProperty(value = "申请编号，用于自动排课", required = true)
    private Integer musicGroupStudentClassAdjustId;

    @ApiModelProperty(value = "班级", required = true)
    private ClassGroup classGroup;

    public ClassGroup getClassGroup() {
        return classGroup;
    }

    public void setClassGroup(ClassGroup classGroup) {
        this.classGroup = classGroup;
    }

    public Integer getMusicGroupStudentClassAdjustId() {
        return musicGroupStudentClassAdjustId;
    }

    public void setMusicGroupStudentClassAdjustId(Integer musicGroupStudentClassAdjustId) {
        this.musicGroupStudentClassAdjustId = musicGroupStudentClassAdjustId;
    }

    public String getClassCourseMinute() {
        return classCourseMinute;
    }

    public void setClassCourseMinute(String classCourseMinute) {
        this.classCourseMinute = classCourseMinute;
    }

    public String getMusicGroupId() {
        return musicGroupId;
    }

    public void setMusicGroupId(String musicGroupId) {
        this.musicGroupId = musicGroupId;
    }

    public Integer getClassGroupId() {
        return classGroupId;
    }

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

    public String getClassGroupName() {
        return classGroupName;
    }

    public void setClassGroupName(String classGroupName) {
        this.classGroupName = classGroupName;
    }

    public List<Integer> getStudents() {
        return students;
    }

    public void setStudents(List<Integer> students) {
        this.students = students;
    }

    public List<ClassGroupTeacherMapper> getClassGroupTeacherMapperList() {
        return classGroupTeacherMapperList;
    }

    public void setClassGroupTeacherMapperList(List<ClassGroupTeacherMapper> classGroupTeacherMapperList) {
        this.classGroupTeacherMapperList = classGroupTeacherMapperList;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public Integer getCourseTimes() {
        return courseTimes;
    }

    public void setCourseTimes(Integer courseTimes) {
        this.courseTimes = courseTimes;
    }

    public Integer getMixClassGroupId() {
        return mixClassGroupId;
    }

    public void setMixClassGroupId(Integer mixClassGroupId) {
        this.mixClassGroupId = mixClassGroupId;
    }

    public Boolean getHoliday() {
        return isHoliday;
    }

    public void setHoliday(Boolean holiday) {
        isHoliday = holiday;
    }

    public List<CourseTimeDto> getCourseTimeDtoList() {
        return courseTimeDtoList;
    }

    public void setCourseTimeDtoList(List<CourseTimeDto> courseTimeDtoList) {
        this.courseTimeDtoList = courseTimeDtoList;
    }

    public CourseSchedule.CourseScheduleType getCourseType() {
        return courseType;
    }

    public void setCourseType(CourseSchedule.CourseScheduleType courseType) {
        this.courseType = courseType;
    }

    public ClassGroupTypeEnum getType() {
        return type;
    }

    public void setType(ClassGroupTypeEnum type) {
        this.type = type;
    }

    public String getCourseAddType() {
        return courseAddType;
    }

    public void setCourseAddType(String courseAddType) {
        this.courseAddType = courseAddType;
    }

    public Integer getExpectStudentNum() {
        return expectStudentNum;
    }

    public void setExpectStudentNum(Integer expectStudentNum) {
        this.expectStudentNum = expectStudentNum;
    }

    public Integer getSubjectId() {
        return subjectId;
    }

    public void setSubjectId(Integer subjectId) {
        this.subjectId = subjectId;
    }

}
