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

import com.ssj.bean.common.framework.core.domain.BaseEntity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


/** 
 * @author  ZhangCaibao 
 * @version 2017年9月26日 下午1:56:31 
 * 类说明  年级课程知识点明细
 */
@Entity
@Table(name = "zyb_know_how_details")
public class ZuoybKnowHowDetails extends BaseEntity {

	/**
	 * 
	 */
	private static final long serialVersionUID = -8666217905684225293L;

	private String  howId;
	
	/**
	 * 创建时间
	 */
	
	private Date  createTime;
	
	
	/**
	 * 图书馆ID
	 */
	private String libId;
	
	/**
	 * 大纲内容
	 */
	private String name;
	/**
	 * 前知识点
	 */
	private String beforeName;
	/**
	 * 后知识点
	 */
	private String afterName;
	/**
	 * 题目类型  1填空题；2选择题；3解答题
	 */
	private String type;

	private Integer  attrType;


	/**
	 * 1热门，重点，0普通
	 */
	private Integer isHot;
	/**
	 * 1专题，0普通（默认0）
	 */
	private Integer isZt;
	
	private Integer memorize; //识记
	
	private Integer understanding;//理解
	
	private Integer apply; //应用
	
	private String duration; //时长
	
	private String howName;
	
	private String howActive;
	
	private Integer num;
	/**
	 * 要点梳理图片(新)
	 */
	private String img;
	
	/**
	 * 模块（新）
	 */
	private String twoModule;
	/**
	 * 模块
	 */
	private String module;
	/**
	 * 教学目标（新）
	 */
    private String jxmb;
    /**
     * 重点标识（新）
     */
    private String zdbx;
    /**
     * 要点梳理（新）
     */
    private String ydsl;
    
    
    /**
	 * 版本选择
	 */
	private String[] version;
	
	/**
	 * 1上学期，2下学期
	 */
	private Integer semester;
	
	/**
	 * 数字年级
	 */
	private Integer gradeNum;
	
	
	private List<ZuoybStudentWorkImg>  imgList = new ArrayList<ZuoybStudentWorkImg>();

	public String getHowId() {
		return howId;
	}

	public void setHowId(String howId) {
		this.howId = howId;
	}
	@Column(updatable =false)
	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getLibId() {
		return libId;
	}

	public void setLibId(String libId) {
		this.libId = libId;
	}


	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
    @Transient
	public String getHowName() {
		return howName;
	}

	public void setHowName(String howName) {
		this.howName = howName;
	}
	@Transient
	public String getHowActive() {
		return howActive;
	}

	public void setHowActive(String howActive) {
		this.howActive = howActive;
	}

	public Integer getMemorize() {
		return memorize;
	}

	public void setMemorize(Integer memorize) {
		this.memorize = memorize;
	}

	public Integer getUnderstanding() {
		return understanding;
	}

	public void setUnderstanding(Integer understanding) {
		this.understanding = understanding;
	}

	public Integer getApply() {
		return apply;
	}

	public void setApply(Integer apply) {
		this.apply = apply;
	}

	public String getDuration() {
		return duration;
	}

	public void setDuration(String duration) {
		this.duration = duration;
	}
    @Transient
	public List<ZuoybStudentWorkImg> getImgList() {
		return imgList;
	}

	public void setImgList(List<ZuoybStudentWorkImg> imgList) {
		this.imgList = imgList;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public Integer getIsHot() {
		return isHot;
	}

	public void setIsHot(Integer isHot) {
		this.isHot = isHot;
	}


	public String getBeforeName() {
		return beforeName;
	}

	public void setBeforeName(String beforeName) {
		this.beforeName = beforeName;
	}

	public String getAfterName() {
		return afterName;
	}

	public void setAfterName(String afterName) {
		this.afterName = afterName;
	}
	 @Column(name = "num") 
	public Integer getNum() {
		return num;
	}

	public void setNum(Integer num) {
		this.num = num;
	}

	public String getTwoModule() {
		return twoModule;
	}

	public void setTwoModule(String twoModule) {
		this.twoModule = twoModule;
	}

	public String getModule() {
		return module;
	}

	public void setModule(String module) {
		this.module = module;
	}
	
 
	 @Transient
	 public String[] getVersion() {
		return version;
	}
	public void setVersion(String[] version) {
		this.version = version;
	}
	 @Transient
	public Integer getSemester() {
		return semester;
	}
	public void setSemester(Integer semester) {
		this.semester = semester;
	}
	 @Transient
	public Integer getGradeNum() {
		return gradeNum;
	}

	public void setGradeNum(Integer gradeNum) {
		this.gradeNum = gradeNum;
	}

	@Override
	 public boolean equals(Object obj) {
	        if(obj==null){
	            return false;
	        }
	        if(this==obj){
	            return true;
	        }
	        if(obj instanceof ZuoybKnowHowDetails){
	        	ZuoybKnowHowDetails details=(ZuoybKnowHowDetails)obj;
	        	if(details.howId ==null){
	        		if(details.module.equals(this.module)&&details.name.equals(this.name)){
	        			return true;
	        		}else{
	        			return false;
	        		}
	        	}else  {
	        		if(details.howId.equals(this.howId)&&details.name.equals(this.name)){
	        			 return true;
	        		}else{
	        			 return false;
	        		}
	        	}
	        }
	        return false;
	  }

	public String getJxmb() {
		return jxmb;
	}

	public void setJxmb(String jxmb) {
		this.jxmb = jxmb;
	}

	public String getZdbx() {
		return zdbx;
	}

	public void setZdbx(String zdbx) {
		this.zdbx = zdbx;
	}

	public String getYdsl() {
		return ydsl;
	}

	public void setYdsl(String ydsl) {
		this.ydsl = ydsl;
	}

	public Integer getIsZt() {
		return isZt;
	}

	public void setIsZt(Integer isZt) {
		this.isZt = isZt;
	}

	public String getImg() {
		return img;
	}

	public void setImg(String img) {
		this.img = img;
	}

	public Integer getAttrType() {
		return attrType;
	}

	public void setAttrType(Integer attrType) {
		this.attrType = attrType;
	}
}
