package com.ruoyi.course.domain.vo;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * 排课结果视图对象（用于前端展示）
 */
@Data
public class ScheduleDetailVO {
    private Long id;
    private Long taskId;
    private Integer weekNum;
    private Integer weekDay;           // 1-7
    private String weekDayStr;         // 周一、周二...
    private Integer slotNumber;        // 第几节
    private LocalTime startTime;       // 开始时间
    private LocalTime endTime;         // 结束时间
    private Long classId;              // 行政班级ID（必修课）
    private String className;          // 班级名称
    private Long electiveClassId;      // 走班班级ID（选修课）
    private String electiveClassName;  // 走班班级名称
    private Long teacherId;
    private String teacherName;
    private String teacherNo;          // 教师工号
    private Long courseId;
    private String courseName;
    private String courseType;         // 必修/选修/兴趣
    private Long classroomId;
    private String roomName;
    private String roomNo;             // 教室编号
    private Integer scheduleType;      // 1=必修课,2=选修课,3=兴趣课
    private String scheduleTypeStr;    // 必修课/选修课/兴趣课
    private Integer isCrossClass;      // 是否走班：1=是,0=否
    private Integer isConflict;        // 是否冲突
    private String conflictType;       // 冲突类型
    private BigDecimal score;          // 评分
    private String arrangeMethod;      // 安排方式：系统自动/手动调整
    private LocalDateTime createTime;
    
    // 辅助字段
    private String timeRange;          // 时间范围字符串
    private String status;             // 状态：正常/冲突
    private String color;              // 前端显示颜色
}