package cn.com.qmth.stmms.biz.report.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Index;
import javax.persistence.Table;

import cn.com.qmth.stmms.common.annotation.ExcelField;

/**
 * 课程总评机组成绩分析
 *
 * @author xuwenjin
 * @date 2019-04-12
 */
@Entity
@Table(name = "s_basic_subject_teacher_class", indexes = { @Index(columnList = "exam_id,subject_code,teacher_name") })
public class ReportSubjectTeacherClass implements Serializable {

    private static final long serialVersionUID = 711106040799843384L;

    /**
     * 主键
     */
    @Id
    @GeneratedValue
    private Integer id;

    /**
     * 考试id
     */
    @Column(name = "exam_id")
    private Integer examId;

    /**
     * 课程编号
     */
    @ExcelField(title = "课程代码", align = 2, sort = 10)
    @Column(name = "subject_code")
    private String subjectCode;

    /**
     * 课程名称
     */
    @ExcelField(title = "课程名称", align = 2, sort = 20)
    @Column(name = "subject_name")
    private String subjectName;

    /**
     * 教师
     */
    @ExcelField(title = "总评", align = 2, sort = 30)
    @Column(name = "teacher_name")
    private String teacherName;

    /**
     * 机组
     */
    @ExcelField(title = "机组", align = 2, sort = 40)
    @Column(name = "class_name")
    private String className;

    /**
     * 有效人数
     */
    @ExcelField(title = "有效人数", align = 2, sort = 50)
    @Column(name = "reality_count")
    private int realityCount;

    /**
     * 最高分
     */
    @ExcelField(title = "最高分", align = 2, sort = 60)
    @Column(name = "max_score")
    private Double maxScore;

    /**
     * 最低分
     */
    @ExcelField(title = "最低分", align = 2, sort = 70)
    @Column(name = "min_score")
    private Double minScore;

    /**
     * 及格人数
     */
    @ExcelField(title = "及格人数", align = 2, sort = 80)
    @Column(name = "pass_count")
    private int passCount;

    /**
     * 及格率
     */
    @ExcelField(title = "及格率", align = 2, sort = 90)
    @Column(name = "pass_rate")
    private Double passRate;

    /**
     * 优秀数
     */
    @ExcelField(title = "优秀人数", align = 2, sort = 100)
    @Column(name = "excellent_count")
    private int excellentCount;

    /**
     * 优秀率
     */
    @ExcelField(title = "优秀率", align = 2, sort = 110)
    @Column(name = "excellent_rate")
    private Double excellentRate;

    /**
     * 平均分
     */
    @ExcelField(title = "平均分", align = 2, sort = 120)
    @Column(name = "avg_score")
    private Double avgScore;

    /**
     * 平均相对分
     */
    @ExcelField(title = "平均相对分", align = 2, sort = 130)
    @Column(name = "relative_avg_score")
    private Double relativeAvgScore;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getExamId() {
        return examId;
    }

    public void setExamId(Integer examId) {
        this.examId = examId;
    }

    public String getSubjectCode() {
        return subjectCode;
    }

    public void setSubjectCode(String subjectCode) {
        this.subjectCode = subjectCode;
    }

    public String getSubjectName() {
        return subjectName;
    }

    public void setSubjectName(String subjectName) {
        this.subjectName = subjectName;
    }

    public String getTeacherName() {
        return teacherName;
    }

    public void setTeacherName(String teacherName) {
        this.teacherName = teacherName;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public int getRealityCount() {
        return realityCount;
    }

    public void setRealityCount(int realityCount) {
        this.realityCount = realityCount;
    }

    public Double getMaxScore() {
        return maxScore;
    }

    public void setMaxScore(Double maxScore) {
        this.maxScore = maxScore;
    }

    public Double getMinScore() {
        return minScore;
    }

    public void setMinScore(Double minScore) {
        this.minScore = minScore;
    }

    public int getPassCount() {
        return passCount;
    }

    public void setPassCount(int passCount) {
        this.passCount = passCount;
    }

    public Double getPassRate() {
        return passRate;
    }

    public void setPassRate(Double passRate) {
        this.passRate = passRate;
    }

    public int getExcellentCount() {
        return excellentCount;
    }

    public void setExcellentCount(int excellentCount) {
        this.excellentCount = excellentCount;
    }

    public Double getExcellentRate() {
        return excellentRate;
    }

    public void setExcellentRate(Double excellentRate) {
        this.excellentRate = excellentRate;
    }

    public Double getAvgScore() {
        return avgScore;
    }

    public void setAvgScore(Double avgScore) {
        this.avgScore = avgScore;
    }

    public Double getRelativeAvgScore() {
        return relativeAvgScore;
    }

    public void setRelativeAvgScore(Double relativeAvgScore) {
        this.relativeAvgScore = relativeAvgScore;
    }

}