package com.ruoyi.course.domain.vo;

import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * 学生个人课表视图对象
 */
@Data
public class StudentScheduleVO {
    private Long studentId;
    private String studentNo;
    private String name;
    private Long classId;
    private String className;
    private String grade;
    private Integer isSpecialTalent;   // 是否特长生：0=否,1=是
    
    // 课表数据：key=weekDay, value=该天的课程列表
    private Map<Integer, List<ScheduleDetailVO>> schedule;
    
    // 选课信息
    private List<CourseSelectionVO> courseSelections;
    
    // 统计信息
    private Integer totalLessons;      // 总课时数
    private Integer requiredLessons;   // 必修课时数
    private Integer electiveLessons;   // 选修课时数
    private Integer interestLessons;   // 兴趣课时数
    
    @Data
    public static class CourseSelectionVO {
        private Long courseId;
        private String courseName;
        private String courseType;
        private Long electiveClassId;  // 走班班级ID
        private String electiveClassName; // 走班班级名称
        private String teacherName;    // 任课教师
        private String roomName;       // 上课教室
        private Integer weekDay;       // 上课星期几
        private Integer slotNumber;    // 上课节次
        private String timeRange;      // 上课时间
    }
}