package org.dromara.ygpassport.domain.vo;

import java.math.BigDecimal;

import com.alibaba.excel.annotation.ExcelIgnore;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.ygpassport.domain.ScoreList;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;


/**
 * 学生成绩信息列视图对象 ep_score_list
 *
 * @author Lion Li
 * @date 2023-10-30
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ScoreList.class)
public class ScoreListVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @ExcelProperty(value = "编号")
    private Long id;

    /**
     * 学生学号
     */
    @ExcelProperty(value = "学生学号")
    private String stuNo;

    /**
     * 专业
     */
    @ExcelProperty(value = "专业", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "stu_major")
    private Integer major;

    /**
     * 学期
     */
    @ExcelProperty(value = "学期", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "semester")
    private Integer semester;

    /**
     * 课程类型
     */
    @ExcelProperty(value = "课程类型")
    private Integer courseType;

    /**
     * 课程代码
     */
    @ExcelProperty(value = "课程代码")
    private Long courseCode;

    /**
     * 课程名称
     */
    @ExcelProperty(value = "课程名称")
    private String courseName;

    /**
     * 学分值
     */
    @ExcelProperty(value = "学分值")
    private BigDecimal hourCredit;

    /**
     * 分数值
     */
    @ExcelProperty(value = "分数值")
    private BigDecimal score;

    /**
     * 绩点
     */
    @ExcelProperty(value = "绩点")
    private Integer gradePoints;

    /**
     * 预留备注字段
     */
    @ExcelIgnore
    private String remark;

    /**
     * 是否删除
     */
    @ExcelIgnore
    private Integer deleted;


}
