package com.qxueyou.scc.school.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.ManyToOne; //import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.Transient; import org.hibernate.annotations.GenericGenerator; import org.springframework.format.annotation.DateTimeFormat; import com.qxueyou.scc.base.model.ITrace; import com.qxueyou.scc.exercise.model.ExerciseChapter; import com.qxueyou.scc.org.model.OrgTeacher; import com.qxueyou.scc.teach.subject.model.Subject; import com.fasterxml.jackson.annotation.JsonIgnore; //import com.qxueyou.scc.school.model.SchHandout; /** * °à¼¶¿Î±í ʵÌåÀà * @author ody.yuan * */ @Entity @Table(name="SCH_CLASS_SCHEDULE") //@NamedQuery(name="SchClassSchedule.findAll", query="SELECT s FROM SchClassSchedule s") public class SchClassSchedule implements Serializable,ITrace { private static final long serialVersionUID = 1L; /** ÉÏ¿ÎÀàÐÍ 4:¹«¹²¿Î³Ì*/ public static final short SCHEDULE_TYPE_TO_START = 1; public static final short SCHEDULE_TYPE_ON_GOING = 2; public static final short SCHEDULE_TYPE_IS_COMPLETED= 3; /**¿Î³ÌÀàÐÍ 1£º¹«¹²¿Î³Ì 0£ºÕý³£¿Î³Ì**/ public static final int SCHEDULE_TYPE_DEFAULT= 0; public static final int SCHEDULE_TYPE_PUBLIC= 1; /**ÃæÊÚ*/ public static final String SCH_FACE = "FACE_TO_FACE"; /**ÍøÂç*/ public static final String SCH_NETWORK = "NETWORK"; /** ¿Î³ÌÖ÷¼ü */ @Id @GeneratedValue(generator = "hibernate-uuid") @GenericGenerator(name = "hibernate-uuid", strategy = "uuid") @Column(name="CLASS_SCHEDULE_ID", unique=true, nullable=false, length=32) private String classScheduleId; /** ¿Î³ÌÃû³Æ*/ @Column(name="NAME", length=150) private String name; /** ״̬ */ @Column(name="STATUS") private short status; // public List getHandouts() { // return handouts; // } // // public void setHandouts(List handouts) { // this.handouts = handouts; // } /** µØÖ· */ @Column(name="ADDRESS", length=255) private String address; /** ½áÊøÊ±¼ä */ @Column(name="END_TIME", nullable=false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private Date endTime; /** ¿ªÊ¼Ê±¼ä */ @Column(name="START_TIME", nullable=false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private Date startTime; /** °à¼¶ID */ @Column(name="CLASS_ID", length=32) private String classId; /** ÉÏ¿ÎÄÚÈÝ£¬¼ò½é */ @Column(name="CONTENT") private String content; /** ѧУרҵ */ @Column(name="COLLEGE_COURSE_ID", length=32) private String collegeCourseId; /** ¸ßУ¿Î³ÌID£¬·Ç¸ßУ£¬»ú¹¹¿Î³ÌID */ @Column(name="SUBJECT_ID", length=32) private String subjectId; /** ·Ç¸ßУ£¬°à¼¶¿Î³ÌID */ @Column(name="CLASS_SUBJECT_ID", length=32) private String classSubjectId; /** ͼƬ·¾¶ */ @Column(name="IMG_PATH", length=32) private String imgPath; /** ѧÆÚID */ @Column(name="TERM_ID", length=32) private String termId; /** ÉϿεØÖ·ID */ @Column(name="ADDRESS_ID", length=32) private String addressId; /** ¸ßУ¿Î±íʹÓ㺵ڼ¸½Ú¿Î¿ªÊ¼ID */ @Column(name="DAY_START_ID", length=32) private String dayStartId; /** ¸ßУ¿Î±íʹÓ㺵ڼ¸½Ú¿Î¿ªÊ¼ÐòºÅ */ @Column(name="DAY_START_ORDER") private short dayStartOrder; /** ¸ßУ¿Î±íʹÓ㺵ڼ¸½Ú¿Î½áÊøID */ @Column(name="DAY_END_ID", length=32) private String dayEndId; /** ¸ßУ¿Î±íʹÓ㺵ڼ¸½Ú¿Î½áÊøÐòºÅ */ @Column(name="DAY_END_ORDER") private short dayEndOrder; @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) private String creator; @Column(name="DELETE_FLAG", nullable=false) @JsonIgnore private boolean deleteFlag; /** TYPE ÀàÐÍ */ @Column(name="TYPE") private Integer type; @OneToMany(fetch = FetchType.LAZY, mappedBy = "classSchedules") @JsonIgnore private List chapters; @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY) @JoinColumn(name = "TEACHER_ID",referencedColumnName="ORG_TEACHER_ID",updatable=false,insertable=false) @JsonIgnore private OrgTeacher teacherClassSchedule; @Transient private String handoutCount; @Transient private String teacherImg; /** ¿Î³Ìģʽ£¨ÃæÊÚ/ÍøÂ磩 */ @Column(name="MODE", length=20) private String mode; @Column(name="SUBJECT_EXTEND_ID", length=32) private String subjectExtendId; /* * ״̬:δ¿ªÊ¼ */ public static final short STATUS_NOT_START=0; /* * ״̬:ÉÏ¿ÎÖÐ */ public static final short STATUS_IN_PROGRESS=1; /* * ״̬:½áÊø */ public static final short STATUS_END=2; @Column(name="TEACHER",length=50) private String teacher; @Column(name="TEACHER_ID", length=32) private String teacherId; @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; @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY) @JoinColumn(name = "SUBJECT_ID",referencedColumnName="SUBJECT_ID",updatable=false,insertable=false) @JsonIgnore private Subject subject; public Subject getSubject() { return subject; } public void setSubject(Subject subject) { this.subject = subject; } public String getMode() { return mode; } public void setMode(String mode) { this.mode = mode; } public String getSubjectExtendId() { return subjectExtendId; } public void setSubjectExtendId(String subjectExtendId) { this.subjectExtendId = subjectExtendId; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public Integer getType() { return type; } public void setType(Integer type) { this.type = type; } public Date getEndTime() { return endTime; } public void setEndTime(Date endTime) { this.endTime = endTime; } public Date getStartTime() { return startTime; } public void setStartTime(Date startTime) { this.startTime = startTime; } public String getClassId() { return this.classId; } public void setClassId(String classId) { this.classId = classId; } public String getContent() { return this.content; } public void setContent(String content) { this.content = content; } 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 getName() { return this.name; } public void setName(String name) { this.name = name; } public String getStatusAlias() { switch(this.status){ case STATUS_NOT_START:return "δ¿ªÊ¼"; case STATUS_IN_PROGRESS:return "½øÐÐÖÐ"; case STATUS_END:return "ÒѽáÊø"; default:return "δ¿ªÊ¼"; } } public short getStatus() { return this.status; } public void setStatus(short status) { this.status = status; } public String getTeacher() { return this.teacher; } public void setTeacher(String teacher) { this.teacher = teacher; } public String getTeacherId() { return this.teacherId; } public void setTeacherId(String teacherId) { this.teacherId = teacherId; } 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 List getChapters() { return chapters; } public void setChapters(List chapters) { this.chapters = chapters; } public String getHandoutCount() { return handoutCount; } public void setHandoutCount(String handoutCount) { this.handoutCount = handoutCount; } public String getTeacherImg() { return teacherImg; } public void setTeacherImg(String teacherImg) { this.teacherImg = teacherImg; } public String getCollegeCourseId() { return collegeCourseId; } public void setCollegeCourseId(String collegeCourseId) { this.collegeCourseId = collegeCourseId; } public String getSubjectId() { return subjectId; } public void setSubjectId(String subjectId) { this.subjectId = subjectId; } public String getImgPath() { return imgPath; } public void setImgPath(String imgPath) { this.imgPath = imgPath; } public String getTermId() { return termId; } public void setTermId(String termId) { this.termId = termId; } public String getAddressId() { return addressId; } public void setAddressId(String addressId) { this.addressId = addressId; } public OrgTeacher getTeacherClassSchedule() { return teacherClassSchedule; } public void setTeacherClassSchedule(OrgTeacher teacherClassSchedule) { this.teacherClassSchedule = teacherClassSchedule; } public String getClassScheduleId() { return classScheduleId; } public void setClassScheduleId(String classScheduleId) { this.classScheduleId = classScheduleId; } public String getDayStartId() { return dayStartId; } public void setDayStartId(String dayStartId) { this.dayStartId = dayStartId; } public short getDayStartOrder() { return dayStartOrder; } public void setDayStartOrder(short dayStartOrder) { this.dayStartOrder = dayStartOrder; } public String getDayEndId() { return dayEndId; } public void setDayEndId(String dayEndId) { this.dayEndId = dayEndId; } public short getDayEndOrder() { return dayEndOrder; } public void setDayEndOrder(short dayEndOrder) { this.dayEndOrder = dayEndOrder; } public String getClassSubjectId() { return classSubjectId; } public void setClassSubjectId(String classSubjectId) { this.classSubjectId = classSubjectId; } }