package com.qxueyou.scc.exam.model; import java.io.Serializable; 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.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.OneToOne; import javax.persistence.OrderBy; import javax.persistence.Table; import javax.persistence.Transient; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Where; import org.springframework.format.annotation.DateTimeFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.qxueyou.scc.base.model.ITrace; import com.qxueyou.scc.exercise.model.ExerciseItemSet; import com.qxueyou.scc.teach.subject.model.Subject; /** * The persistent class for the exam_info database table. 考试表 */ @Entity @Table(name = "exam_info") @NamedQuery(name = "ExamInfo.findAll", query = "SELECT e FROM ExamInfo e") @JsonIgnoreProperties(value={"hibernateLazyInitializer","handler"}) public class ExamInfo implements Serializable,ITrace { /** * */ private static final long serialVersionUID = -6364452839157071345L; /* * 草稿 :0 已发布:1 */ public static final short STATUS_DRAFT = 0; public static final short STATUS_PUBLISH = 1; /** * 试卷类型:1:统一卷,2:AB卷,3:ABC卷,4:随机组卷,5:随机组卷2 */ public static final short EXAM_TYPE_A =1; public static final short EXAM_TYPE_AB =2; public static final short EXAM_TYPE_ABC =3; public static final short EXAM_TYPE_RANDOM =4; public static final short EXAM_TYPE_RANDOM_BY_GROUP =5; @Id @GeneratedValue(generator = "hibernate-uuid") @GenericGenerator(name = "hibernate-uuid", strategy = "uuid") @Column(name = "EXAM_ID", unique = true, nullable = false, length = 32) private String examId; @Column(name = "DURATION_MIN") private short durationMin; @Column(name = "EXAM_NAME") private String examName; @Column(name = "EXAM_STATUS") private short examStatus; @Column(name = "MAX_LATE_MIN") private short maxLateMin; @Column(name = "ORG_ID") private String orgId; @Column(name="SUBJECT_ID") private String subjectId; @Column(name = "PASSING_SCORE") private float passingScore; @Column(name = "SHOW_ANALYSE") private short showAnalyse; @Column(name = "SHOW_CORRECT_ANSWER") private short showCorrectAnswer; @Column(name = "SHOW_SCORE") private short showScore; @Column(name = "SHOW_SCORE_TIME") private int showScoreTime; @Column(name = "SHOW_TYPE") private short showType; @Column(name = "TOTAL_SCORE") private float totalScore; @Column(name = "EXAM_TYPE") private short examType; @Column(name = "CREATE_ID", length = 32) private String createId; @Column(name = "CREATOR", nullable = false, length = 100) private String creator; @Column(name = "CREATE_TIME", nullable = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** 修改人ID */ @Column(name = "UPDATE_ID", length = 32) private String updateId; /** 修改时间 */ @Column(name = "UPDATE_TIME", nullable = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; /** 修改人 */ @Column(name = "UPDATOR", length = 100) private String updator; /** 删除标志 */ @Column(name = "DELETE_FLAG", nullable = false) @JsonIgnore private boolean deleteFlag; // //考试试卷关联 // @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) // @JoinTable(name = "EXAM_RE_EXAM_PAPER", joinColumns = { // @JoinColumn(name = "EXAM_ID") }, // inverseJoinColumns = { @JoinColumn(name = "EXAM_PAPER_ID") }) // @GeneratedValue(generator = "hibernate-uuid") // @GenericGenerator(name = "hibernate-uuid", strategy = "uuid") // @CollectionId( // columns = @Column(name="RELATION_ID"), // type=@Type(type="string"), // generator = "hibernate-uuid" // ) // @Where(clause="DELETE_FLAG=0") // @JsonIgnore // private List papers; @OneToMany(fetch = FetchType.LAZY, mappedBy = "examInfo") @OrderBy(value= "startTime asc") // @JsonIgnore @Where(clause="DELETE_FLAG=0") private List examBatchInfos; @OneToMany(fetch = FetchType.LAZY, mappedBy = "examInfo") @Where(clause="DELETE_FLAG=0") private List reExamPapers; @OneToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY) @JoinColumn(name = "SUBJECT_ID",referencedColumnName="SUBJECT_ID",updatable=false,insertable=false) @JsonIgnore private Subject subject; @OneToMany(cascade=CascadeType.ALL ,fetch = FetchType.LAZY) @JoinColumn(name = "EXERCISE_INFO_ID",referencedColumnName="EXAM_ID",updatable=false,insertable=false) @Where(clause="DELETE_FLAG=0") private List exerciseItemSets; @Transient private String[] paperNames; @Transient String subjectName; @Transient Date examStartTime; @Transient Date examEndTime; @Transient private String sourceGroupIds; @Transient private String sourceGroupNames; public ExamInfo() { } public Subject getSubject() { return subject; } public void setSubject(Subject subject) { this.subject = subject; } public List getExamBatchInfos() { return examBatchInfos; } public void setExamBatchInfos(List examBatchInfos) { this.examBatchInfos = examBatchInfos; } public List getReExamPapers() { return reExamPapers; } public void setReExamPapers(List reExamPapers) { this.reExamPapers = reExamPapers; } public Date getExamStartTime() { return examStartTime; } public void setExamStartTime(Date examStartTime) { this.examStartTime = examStartTime; } public Date getExamEndTime() { return examEndTime; } public void setExamEndTime(Date examEndTime) { this.examEndTime = examEndTime; } public void setPaperNames(String[] paperNames) { this.paperNames = paperNames; } public String[] getPaperNames() { return paperNames; } public String getSubjectName() { return subjectName; } public void setSubjectName(String subjectName) { this.subjectName = subjectName; } public String getExamId() { return this.examId; } public void setExamId(String examId) { this.examId = examId; } public short getDurationMin() { return this.durationMin; } public void setDurationMin(short durationMin) { this.durationMin = durationMin; } public String getExamName() { return this.examName; } public void setExamName(String examName) { this.examName = examName; } public short getMaxLateMin() { return this.maxLateMin; } public void setMaxLateMin(short maxLateMin) { this.maxLateMin = maxLateMin; } public String getOrgId() { return this.orgId; } public void setOrgId(String orgId) { this.orgId = orgId; } public short getShowAnalyse() { return this.showAnalyse; } public void setShowAnalyse(short showAnalyse) { this.showAnalyse = showAnalyse; } public short getShowCorrectAnswer() { return this.showCorrectAnswer; } public void setShowCorrectAnswer(short showCorrectAnswer) { this.showCorrectAnswer = showCorrectAnswer; } public short getShowScore() { return this.showScore; } public void setShowScore(short showScore) { this.showScore = showScore; } public int getShowScoreTime() { return showScoreTime; } public void setShowScoreTime(int showScoreTime) { this.showScoreTime = showScoreTime; } public short getShowType() { return this.showType; } public void setShowType(short showType) { this.showType = showType; } public short getExamType() { return examType; } public void setExamType(short examType) { this.examType = examType; } public String getCreateId() { return createId; } public void setCreateId(String createId) { this.createId = createId; } public String getCreator() { return creator; } public void setCreator(String creator) { this.creator = creator; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getUpdateId() { return updateId; } public void setUpdateId(String updateId) { this.updateId = updateId; } public Date getUpdateTime() { return updateTime; } public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; } public String getUpdator() { return updator; } public void setUpdator(String updator) { this.updator = updator; } public boolean getDeleteFlag() { return deleteFlag; } public void setDeleteFlag(boolean deleteFlag) { this.deleteFlag = deleteFlag; } public short getExamStatus() { return examStatus; } public void setExamStatus(short examStatus) { this.examStatus = examStatus; } public String getSubjectId() { return subjectId; } public void setSubjectId(String subjectId) { this.subjectId = subjectId; } public float getPassingScore() { return passingScore; } public void setPassingScore(float passingScore) { this.passingScore = passingScore; } public float getTotalScore() { return totalScore; } public void setTotalScore(float totalScore) { this.totalScore = totalScore; } public List getExerciseItemSets() { return exerciseItemSets; } public void setExerciseItemSets(List exerciseItemSets) { this.exerciseItemSets = exerciseItemSets; } public String getSourceGroupIds() { return sourceGroupIds; } public void setSourceGroupIds(String sourceGroupIds) { this.sourceGroupIds = sourceGroupIds; } public String getSourceGroupNames() { return sourceGroupNames; } public void setSourceGroupNames(String sourceGroupNames) { this.sourceGroupNames = sourceGroupNames; } }