package com.qxueyou.scc.exercise.model;
|
|
import java.io.Serializable;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
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.GenericGenerator;
|
import org.hibernate.annotations.OrderBy;
|
import org.hibernate.annotations.Where;
|
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.util.CollectionUtils;
|
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.qxueyou.scc.base.model.ITrace;
|
|
|
/**
|
* The persistent class for the exercise_item database table.
|
*
|
*/
|
@Entity
|
@Table(name="exercise_item")
|
@NamedQuery(name="ExerciseItem.findAll", query="SELECT e FROM ExerciseItem e")
|
public class ExerciseItem implements Serializable,ITrace {
|
|
private static final long serialVersionUID = 1L;
|
|
@Id
|
@GeneratedValue(generator = "hibernate-uuid")
|
@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
|
@Column(name="EXERCISE_ID", unique=true, nullable=false, length=32)
|
private String exerciseId;
|
|
@Column(name="CHAPTER_ID", length=32)
|
private String chapterId;
|
|
/** À´Ô´Á·Ï°id **/
|
@Column(name="ORGI_EXERCISE_ID", length=32)
|
private String orgiExerciseId;
|
|
@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")
|
@JsonIgnore
|
private Date createTime;
|
|
@Column(name="CREATOR", nullable=false, length=100)
|
@JsonIgnore
|
private String creator;
|
|
@Column(name="DELETE_FLAG", nullable=false)
|
@JsonIgnore
|
private boolean deleteFlag;
|
|
/** °à¼¶¿Î±íID */
|
@Column(name="CLASS_SCHEDULE_ID", length=32)
|
private String classScheduleId;
|
|
@Column(name="TITLE", length=2000)
|
private String title;
|
|
@Column(name="TYPE")
|
private short type;
|
|
/*
|
* µ¥Ñ¡
|
*/
|
public static short TYPE_SINGLE_SELECT = 1;
|
|
/*
|
* ¶àÑ¡
|
*/
|
public static short TYPE_MULTI_SELECT = 2;
|
|
/*
|
* ÅжÏÌâ
|
*/
|
public static short TYPE_TRUE_OR_FALSE = 3;
|
|
/*
|
* ÎÊ´ðÌâ
|
*/
|
public static short TYPE_ESSAY_QUESTION = 4;
|
|
/*
|
* ·ÖÖµÌâ
|
*/
|
public static short TYPE_SCORE = 5;
|
|
/*
|
* Á¿ÖµÌâ
|
*/
|
public static short TYPE_MEASUREMENT = 6;
|
|
/*
|
* ¸½¼þÌâ
|
*/
|
public static short TYPE_ATTACHMENT = 7;
|
|
/*
|
* Ìî¿ÕÌâ
|
*/
|
public static short TYPE_FILL_BLANKS = 8;
|
|
@Column(name="UPDATE_ID", length=32)
|
@JsonIgnore
|
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)
|
@JsonIgnore
|
private String updator;
|
|
/** ÕýÈ·´ð°¸ */
|
@Column(name="ANSWER")
|
private String answer;
|
|
// @ManyToMany(fetch = FetchType.LAZY, mappedBy = "items")
|
// @JsonIgnore
|
// private List<ExerciseGroup> groups;
|
|
@OneToMany(fetch = FetchType.LAZY, mappedBy = "exerciseItem")
|
@Where(clause="DELETE_FLAG=0")
|
@OrderBy(clause="OPTION_ORDER ASC")
|
private List<ExerciseItemOption> options;
|
|
@OneToMany(fetch = FetchType.LAZY, mappedBy = "exerciseItem")
|
@Where(clause="DELETE_FLAG=0")
|
@OrderBy(clause="EXERCISE_ITEM_ANSWER ASC")
|
private List<ExerciseItemScore> scores;
|
|
@ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY)
|
@JoinColumn(name = "CHAPTER_ID",referencedColumnName="CHAPTER_ID",updatable=false,insertable=false)
|
@JsonIgnore
|
private ExerciseChapter chapter;
|
|
/** Óû§´ðÌâ¼Ç¼**/
|
@Transient
|
private List<ExerciseItemAnswerU> exerciseItemAnswerU;
|
|
/** ÊÇ·ñ±Ø´ð **/
|
@Column(name="MUST_ANSWER", nullable=true)
|
private boolean mustAnswer;
|
|
/** ×éId */
|
@Transient
|
private String exerciseGroupId;
|
|
/** ¼Ç¼Id ´íÌâ¡¢ÊÕ²ØÎªbookId */
|
@Transient
|
private String exerciseRecordId;
|
|
/** ´íÌâ¡¢ÊÕ²ØÎªÖ÷¼üId */
|
@Transient
|
private String exerciseExtendId;
|
|
/** ϰÌâ±àºÅ */
|
@Transient
|
private Integer itemNo;
|
|
/** ϰÌâ״̬ 1£ºÎ´Ìá½» 1£ºÌá½» */
|
@Transient
|
private String status;
|
|
/** ϰÌâ·ÖÎö½á¹û */
|
@Transient
|
private ExerciseAnalisisResult analisisResult;
|
|
@Transient
|
private List<ExerciseItemAnalisi> analysises;
|
|
@Transient
|
private List<ExerciseObjectImg> imgs;
|
|
/** ÎĵµÖеÄÐòºÅ£¬Êý¾Ý¿âÖд洢µÄÐòºÅ£¨µ¼È룩 **/
|
@Transient
|
private Integer docNo;
|
|
/** ¹ØÁª±íID **/
|
@Transient
|
private String reId;
|
|
/** ÿÌâ×î´ó·ÖÊý **/
|
@Transient
|
private double maxScore;
|
|
/** ÿÌâÆ½¾ù·ÖÊý **/
|
@Transient
|
private double averageScore;
|
|
/** ÌâĿѡÏîͳ¼ÆÇé¿ö **/
|
@Transient
|
private Map<String, Integer> optionsDetail;
|
|
/** ÌâĿѡÏîͳ¼ÆÇé¿ö **/
|
@Transient
|
private List<Map<String, Object>> optionsOrderDetail;
|
|
public List<Map<String, Object>> getOptionsOrderDetail() {
|
return optionsOrderDetail;
|
}
|
|
public void setOptionsOrderDetail(List<Map<String, Object>> optionsOrderDetail) {
|
this.optionsOrderDetail = optionsOrderDetail;
|
}
|
|
public String getOrgiExerciseId() {
|
return orgiExerciseId;
|
}
|
|
public void setOrgiExerciseId(String orgiExerciseId) {
|
this.orgiExerciseId = orgiExerciseId;
|
}
|
|
public Map<String, Integer> getOptionsDetail() {
|
return optionsDetail;
|
}
|
|
public void setOptionsDetail(Map<String, Integer> optionsDetail) {
|
this.optionsDetail = optionsDetail;
|
}
|
|
public double getAverageScore() {
|
return averageScore;
|
}
|
|
public void setAverageScore(double averageScore) {
|
this.averageScore = averageScore;
|
}
|
|
public double getMaxScore() {
|
return maxScore;
|
}
|
|
public void setMaxScore(double maxScore) {
|
this.maxScore = maxScore;
|
}
|
|
public List<ExerciseItemAnswerU> getExerciseItemAnswerU() {
|
return exerciseItemAnswerU;
|
}
|
|
public void setExerciseItemAnswerU(List<ExerciseItemAnswerU> exerciseItemAnswerU) {
|
this.exerciseItemAnswerU = exerciseItemAnswerU;
|
}
|
|
public boolean getMustAnswer() {
|
return mustAnswer;
|
}
|
|
public void setMustAnswer(boolean mustAnswer) {
|
this.mustAnswer = mustAnswer;
|
}
|
|
public List<ExerciseItemAnalisi> getAnalysises() {
|
return analysises;
|
}
|
|
public void setAnalysises(List<ExerciseItemAnalisi> analysises) {
|
this.analysises = analysises;
|
}
|
|
// public List<ExerciseGroup> getGroups() {
|
// return groups;
|
// }
|
//
|
//
|
// public void setGroups(List<ExerciseGroup> groups) {
|
// this.groups = groups;
|
// }
|
|
|
public List<ExerciseItemOption> getOptions() {
|
return options;
|
}
|
|
|
public void setOptions(List<ExerciseItemOption> options) {
|
this.options = options;
|
}
|
|
public ExerciseChapter getChapter() {
|
return chapter;
|
}
|
|
public void setChapter(ExerciseChapter chapter) {
|
this.chapter = chapter;
|
}
|
|
public String getExerciseId() {
|
return this.exerciseId;
|
}
|
|
public void setExerciseId(String exerciseId) {
|
this.exerciseId = exerciseId;
|
}
|
|
public String getChapterId() {
|
return this.chapterId;
|
}
|
|
public void setChapterId(String chapterId) {
|
this.chapterId = chapterId;
|
}
|
|
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 getTitle() {
|
return this.title;
|
}
|
|
public void setTitle(String title) {
|
this.title = title;
|
}
|
|
public short getType() {
|
return this.type;
|
}
|
|
public void setType(short type) {
|
this.type = type;
|
}
|
|
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 getExerciseGroupId() {
|
return exerciseGroupId;
|
}
|
|
public void setExerciseGroupId(String exerciseGroupId) {
|
this.exerciseGroupId = exerciseGroupId;
|
}
|
|
public ExerciseAnalisisResult getAnalisisResult() {
|
return analisisResult;
|
}
|
|
public void setAnalisisResult(ExerciseAnalisisResult analisisResult) {
|
this.analisisResult = analisisResult;
|
}
|
|
public ExerciseItemAnalisi getAnalisis() {
|
return CollectionUtils.isEmpty(getAnalysises())?null:getAnalysises().get(0);
|
}
|
|
public void setAnalisis(ExerciseItemAnalisi analisis) {
|
setAnalysises(new ArrayList<ExerciseItemAnalisi>(1));
|
getAnalysises().add(analisis);
|
}
|
|
public String getExerciseRecordId() {
|
return exerciseRecordId;
|
}
|
|
public void setExerciseRecordId(String exerciseRecordId) {
|
this.exerciseRecordId = exerciseRecordId;
|
}
|
|
public String getExerciseExtendId() {
|
return exerciseExtendId;
|
}
|
|
public void setExerciseExtendId(String exerciseExtendId) {
|
this.exerciseExtendId = exerciseExtendId;
|
}
|
|
public List<ExerciseItemScore> getScores() {
|
return scores;
|
}
|
|
public void setScores(List<ExerciseItemScore> scores) {
|
this.scores = scores;
|
}
|
|
public Integer getItemNo() {
|
return itemNo;
|
}
|
|
public void setItemNo(Integer itemNo) {
|
this.itemNo = itemNo;
|
}
|
|
public Integer getDocNo() {
|
return docNo;
|
}
|
|
public void setDocNo(Integer docNo) {
|
this.docNo = docNo;
|
}
|
|
public List<ExerciseObjectImg> getImgs() {
|
return imgs;
|
}
|
|
public void setImgs(List<ExerciseObjectImg> imgs) {
|
this.imgs = imgs;
|
}
|
|
public String getReId() {
|
return reId;
|
}
|
|
public void setReId(String reId) {
|
this.reId = reId;
|
}
|
|
public String getAnswer() {
|
return answer;
|
}
|
|
public void setAnswer(String answer) {
|
this.answer = answer;
|
}
|
|
public String getClassScheduleId() {
|
return classScheduleId;
|
}
|
|
public void setClassScheduleId(String classScheduleId) {
|
this.classScheduleId = classScheduleId;
|
}
|
|
public String getStatus() {
|
return status;
|
}
|
|
public void setStatus(String status) {
|
this.status = status;
|
}
|
|
@Override
|
public int hashCode() {
|
final int prime = 31;
|
int result = 1;
|
result = prime * result + ((title == null) ? 0 : title.hashCode());
|
result = prime * result + type;
|
return result;
|
}
|
|
@Override
|
public boolean equals(Object obj) {
|
if (this == obj)
|
return true;
|
if (obj == null)
|
return false;
|
if (getClass() != obj.getClass())
|
return false;
|
ExerciseItem other = (ExerciseItem) obj;
|
if (title == null) {
|
if (other.title != null)
|
return false;
|
} else if (!title.equals(other.title))
|
return false;
|
if (type != other.type)
|
return false;
|
return true;
|
}
|
|
|
}
|