package com.ssj.bean.weixin.zyb.domain;

import com.alibaba.fastjson.annotation.JSONField;
import com.ssj.bean.common.framework.core.domain.BaseEntity;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;

import javax.persistence.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author  ZhangCaibao 
 * @version 2017年11月2日 上午11:04:32 
 * 类说明 
 */
@Entity
@Table(name = "zyb_student_bg")
public class ZuoybStudentBg extends BaseEntity{

	/**
	 * 
	 */
	private static final long serialVersionUID = 8952883127219679613L;
	/**
	 * 会员ID
	 */
	private String vipId;
	
	/**
	 * 创建时间
	 */
	
	private Date  createTime;
	/**
	 * 报表月份
	 */
	private Date createDate;
	/**
	 * 开始时间
	 */
	private Date startDate;
	/**
	 * 结束时间
	 */
	private Date endDate;
	/**
	 * 达标率
	 */
	private Integer num;
	/**
	 * 学习建议
	 */
	private String suggest;
	/**
	 * 第几周（第几月）
	 */
	private String weeks;
	/**
	 * 质量统计图数据
	 */
	private String zltj;
	/**
	 * 报告对应科目的明细
	 */
	private List<ZuoybStudentBgDetails> bgDetailsList =new ArrayList<ZuoybStudentBgDetails>();
	
	
	public String getVipId() {
		return vipId;
	}
	public void setVipId(String vipId) {
		this.vipId = vipId;
	}
	@JSONField(serialize = false)
	public Date getCreateTime() {
		return createTime;
	}
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	@JSONField(serialize = false)
	public Date getCreateDate() {
		return createDate;
	}
	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}
	public Integer getNum() {
		return num;
	}
	public void setNum(Integer num) {
		this.num = num;
	}
	public String getSuggest() {
		return suggest;
	}
	public void setSuggest(String suggest) {
		this.suggest = suggest;
	}
	public String getWeeks() {
		return weeks;
	}
	public void setWeeks(String weeks) {
		this.weeks = weeks;
	}
	@JSONField(serialize = false)
	public Date getStartDate() {
		return startDate;
	}
	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}
	@JSONField(serialize = false)
	public Date getEndDate() {
		return endDate;
	}
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}
	@JSONField(serialize=false)
	public String getZltj() {
		return zltj;
	}
	public void setZltj(String zltj) {
		this.zltj = zltj;
	}
	@OneToMany(cascade = { CascadeType.REFRESH}, fetch=FetchType.EAGER)
	@JoinColumn(name="studentBgId",updatable =false,insertable =false)
	@OrderBy(" num asc")
	@Fetch(FetchMode.SELECT)
	public List<ZuoybStudentBgDetails> getBgDetailsList() {
		return bgDetailsList;
	}
	public void setBgDetailsList(List<ZuoybStudentBgDetails> bgDetailsList) {
		this.bgDetailsList = bgDetailsList;
	}
	
	
	
	

}
