package com.qxueyou.scc.exercise.model; import java.io.Serializable; import java.math.BigDecimal; import java.math.BigInteger; import java.util.Date; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.Transient; import org.hibernate.annotations.Formula; import org.hibernate.annotations.GenericGenerator; import org.springframework.format.annotation.DateTimeFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.qxueyou.scc.base.model.ITrace; /** * The persistent class for the exercise_record database table. * */ @Entity @Table(name="exercise_record") @NamedQuery(name="ExerciseRecord.findAll", query="SELECT e FROM ExerciseRecord e") public class ExerciseRecord implements Serializable,ITrace { private static final long serialVersionUID = 1L; @Id @GeneratedValue(generator = "hibernate-uuid") @GenericGenerator(name = "hibernate-uuid", strategy = "uuid") @Column(name="RECORD_ID", unique=true, nullable=false, length=32) private String recordId; @Column(name="ACCURACY", precision=10, scale=2) private BigDecimal accuracy; @Column(name="COMPLETION_RATE", precision=10, scale=2) private BigDecimal completionRate; @Column(name="CREATE_ID", nullable=false, length=32) @JsonIgnore private String createId; @Column(name="CREATE_TIME", nullable=false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; @Column(name="CREATOR", nullable=false, length=100) private String creator; @Column(name="DELETE_FLAG", nullable=false) @JsonIgnore private boolean deleteFlag; @Column(name="EXERCISE_GROUP_ID", length=32) private String exerciseGroupId; @Column(name="NAME", length=255) private String name; @Column(name="UPDATE_ID", length=32) @JsonIgnore private String updateId; @Column(name="UPDATE_TIME", nullable=false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonIgnore private Date updateTime; @Column(name="UPDATOR", length=100) @JsonIgnore private String updator; @Column(name="USER_ID", length=32) private String userId; @Column(name="EXAM_BATCH_ID", length=32) private String examBatchId; @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY) @JoinColumn(name = "EXERCISE_GROUP_ID",referencedColumnName="GROUP_ID",updatable=false,insertable=false) private ExerciseGroup group; @Column(name="STATUS") private String status; /** 0:未交卷 1:已经交卷 */ public final static String STATUS_NOT_SUBMIT = "0"; public final static String STATUS_SUBMIT = "1"; public final static String STATUS_CHECK = "3"; /** 当前做题最大题号 */ @Column(name="TITLE_MAX_NUMBER", length=32) private String titleMaxNumber; @Column(name="CORRECT_COUNT") private BigInteger correctCount; @Column(name="DO_COUNT") private BigInteger doCount; @Column(name="SUBJECT_ID", length=32) private String subjectId; @Column(name="CLASS_ID", length=32) private String classId; @Column(name="COLLEGE_COURSE_ID", length=32) private String collegeCourseId; @Column(name="ORG_ID", length=32) private String orgId; @Column(name="SCORE",precision=10, scale=2) private BigDecimal score; @Column(name = "REMAINING_SECONDS") private int remainingSeconds; @Column(name = "SUBMIT_TIME", nullable = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date submitTime; @Column(name="TOTAL_SCORE",precision=10, scale=2) private BigDecimal totalScore; @Column(name="PASSING_SCORE",precision=10, scale=2) private BigDecimal passingScore; @Column(name="OBJ_TOTAL_SCORE",precision=10, scale=2) private BigDecimal objTotalScore; @Column(name="SUB_TOTAL_SCORE",precision=10, scale=2) private BigDecimal subTotalScore; @Column(name="OBJ_SCORE",precision=10, scale=2) private BigDecimal objScore; @Column(name="SUB_SCORE",precision=10, scale=2) private BigDecimal subScore; @Column(name = "OBJ_ITEM_COUNT") private int objItemCount; @Column(name = "SUB_ITEM_COUNT") private int subItemCount; @OneToMany(fetch = FetchType.LAZY,mappedBy = "exerciseRecord") private List exerciseItemAnswerU; //班级名称 @Transient private String className; //答题用户 @Formula("(select u.name from user u WHERE u.USER_ID=USER_ID and u.DELETE_FLAG = 0)") private String userName; public List getExerciseItemAnswerU() { return exerciseItemAnswerU; } public void setExerciseItemAnswerU(List exerciseItemAnswerU) { this.exerciseItemAnswerU = exerciseItemAnswerU; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } public String getRecordId() { return this.recordId; } public void setRecordId(String recordId) { this.recordId = recordId; } public BigDecimal getAccuracy() { return this.accuracy; } public void setAccuracy(BigDecimal accuracy) { this.accuracy = accuracy; } public BigDecimal getCompletionRate() { return this.completionRate; } public void setCompletionRate(BigDecimal completionRate) { this.completionRate = completionRate; } public String getCreateId() { return this.createId; } public void setCreateId(String createId) { this.createId = createId; } public Date getCreateTime() { return this.createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getCreator() { return this.creator; } public void setCreator(String creator) { this.creator = creator; } public boolean getDeleteFlag() { return this.deleteFlag; } public void setDeleteFlag(boolean deleteFlag) { this.deleteFlag = deleteFlag; } public String getExerciseGroupId() { return this.exerciseGroupId; } public void setExerciseGroupId(String exerciseGroupId) { this.exerciseGroupId = exerciseGroupId; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public String getUpdateId() { return this.updateId; } public void setUpdateId(String updateId) { this.updateId = updateId; } public Date getUpdateTime() { return this.updateTime; } public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; } public String getUpdator() { return this.updator; } public void setUpdator(String updator) { this.updator = updator; } public String getUserId() { return this.userId; } public void setUserId(String userId) { this.userId = userId; } public String getTitleMaxNumber() { return titleMaxNumber; } public void setTitleMaxNumber(String titleMaxNumber) { this.titleMaxNumber = titleMaxNumber; } public ExerciseGroup getGroup() { return group; } public void setGroup(ExerciseGroup group) { this.group = group; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public BigInteger getCorrectCount() { return correctCount; } public void setCorrectCount(BigInteger correctCount) { this.correctCount = correctCount; } public BigInteger getDoCount() { return doCount; } public void setDoCount(BigInteger doCount) { this.doCount = doCount; } public String getSubjectId() { return subjectId; } public void setSubjectId(String subjectId) { this.subjectId = subjectId; } public String getClassId() { return classId; } public void setClassId(String classId) { this.classId = classId; } public String getCollegeCourseId() { return collegeCourseId; } public void setCollegeCourseId(String collegeCourseId) { this.collegeCourseId = collegeCourseId; } public String getOrgId() { return orgId; } public void setOrgId(String orgId) { this.orgId = orgId; } public BigDecimal getScore() { return score; } public void setScore(BigDecimal score) { this.score = score; } public String getExamBatchId() { return examBatchId; } public void setExamBatchId(String examBatchId) { this.examBatchId = examBatchId; } public int getRemainingSeconds() { return remainingSeconds; } public void setRemainingSeconds(int remainingSeconds) { this.remainingSeconds = remainingSeconds; } public Date getSubmitTime() { return submitTime; } public void setSubmitTime(Date submitTime) { this.submitTime = submitTime; } public BigDecimal getTotalScore() { return totalScore; } public void setTotalScore(BigDecimal totalScore) { this.totalScore = totalScore; } public BigDecimal getPassingScore() { return passingScore; } public void setPassingScore(BigDecimal passingScore) { this.passingScore = passingScore; } public BigDecimal getObjTotalScore() { return objTotalScore; } public void setObjTotalScore(BigDecimal objTotalScore) { this.objTotalScore = objTotalScore; } public BigDecimal getSubTotalScore() { return subTotalScore; } public void setSubTotalScore(BigDecimal subTotalScore) { this.subTotalScore = subTotalScore; } public BigDecimal getObjScore() { return objScore; } public void setObjScore(BigDecimal objScore) { this.objScore = objScore; } public BigDecimal getSubScore() { return subScore; } public void setSubScore(BigDecimal subScore) { this.subScore = subScore; } public int getObjItemCount() { return objItemCount; } public void setObjItemCount(int objItemCount) { this.objItemCount = objItemCount; } public int getSubItemCount() { return subItemCount; } public void setSubItemCount(int subItemCount) { this.subItemCount = subItemCount; } }