package org.lntu.online.model.entity;
import java.util.List;
public class Grades {
private String studentId;
private AverageCredit averageCredit;
private List<CourseScore> courseScores;
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
public AverageCredit getAverageCredit() {
return averageCredit;
}
public void setAverageCredit(AverageCredit averageCredit) {
this.averageCredit = averageCredit;
}
public List<CourseScore> getCourseScores() {
return courseScores;
}
public void setCourseScores(List<CourseScore> courseScores) {
this.courseScores = courseScores;
}
public static class AverageCredit {
private String studentId;
private float value;
private String summary;
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
public float getValue() {
return value;
}
public void setValue(float value) {
this.value = value;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
}
public enum Level {
GREAT(100),
NORMAL(60),
UNPASS(0);
private int value;
private Level(int value) {
this.value = value;
}
public int value() {
return value;
}
}
public static class CourseScore implements Comparable<CourseScore> {
private String studentId;
private String num; // 课程号
private String name; // 课程名
private int serialNum; // 课序号
private String score; // 分数
private float credit; // 学分
private String testMode; // 考核方式
private String selectType; // 选课类型
private String remarks; // 备注
private String examType; // 考试类型
private int year; // 2014
private String term; // 春\秋
private Level level; // 得分等级
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSerialNum() {
return serialNum;
}
public void setSerialNum(int serialNum) {
this.serialNum = serialNum;
}
public String getScore() {
return score;
}
public void setScore(String score) {
this.score = score;
}
public float getCredit() {
return credit;
}
public void setCredit(float credit) {
this.credit = credit;
}
public String getTestMode() {
return testMode;
}
public void setTestMode(String testMode) {
this.testMode = testMode;
}
public String getSelectType() {
return selectType;
}
public void setSelectType(String selectType) {
this.selectType = selectType;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks;
}
public String getExamType() {
return examType;
}
public void setExamType(String examType) {
this.examType = examType;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public String getTerm() {
return term;
}
public void setTerm(String term) {
this.term = term;
}
public Level getLevel() {
return level;
}
public void setLevel(Level level) {
this.level = level;
}
/**
* 获取转化成绩
*/
public float getScoreValue() {
try {
return Float.parseFloat(getScore());
} catch (NumberFormatException e) {
return getLevel().value();
}
}
@Override
public int compareTo(CourseScore another) {
if (getYear() > another.getYear()) {
return -1;
} else if (getYear() < another.getYear()) {
return 1;
} else { // 年相等
if ("秋".equals(getTerm()) && "春".equals(another.getTerm())) {
return -1;
} else if ("春".equals(getTerm()) && "秋".equals(another.getTerm())) {
return 1;
} else {
return 0;
}
}
}
}
}