package com.qmth.qrzk.repository.pager.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.qmth.qrzk.repository.user.model.Book;
import com.qmth.qrzk.repository.user.model.Course;
import com.qmth.qrzk.repository.user.model.QuestionType;
import com.qmth.qrzk.repository.utils.Consts;

/**
 * 细目表
 * @author shixb
 *
 */
public class PaperSkeleton {
	
	private Integer id;				//编号
	
	private Integer taskId;			//试卷任务Id
	
	private String name;		//细目表名称
	
	private Integer courseId;		//课程ID
	
	private Course course;		//对应的课程对象
	
	private Integer bookId;		//教材ID
	
	private Book book;			//对应的教材对象
	
	private Integer chapterSize;		//教材章数
	
	private String keyChapters;		//重点章组成的字符串，用逗号“,”隔开，例如：2,3,7
	
	private String quesTypeScores;	//各题型分值组成的字符串，题型与分值用冒号“:”隔开，各个题型分值字符串再用逗号“,”隔开，例如：1:1,2:1,5:10
	
	private String remark;
	
	private Integer status;			//状态   0草稿  1待审批   2审批通过 3启用 4审批拒绝
	
	private Date createdTime;		//创建日期
	
	private Integer createdBy; //创建人
	
	private String createdUser;
	
	private Date updatedTime;		//最近更新时间
	
	private Integer updatedBy; //最近更新人
	
	private List<PaperSkeletonDetail> skeletonDetailArr = new ArrayList<PaperSkeletonDetail>();
	
	private List<QuestionType> quesTypeArr = new ArrayList<QuestionType>();
	
	private Map<String,Integer> skeletonDetailMap = null;
	
	private String guid;
	
	public String getGuid() {
		return guid;
	}
	public void setGuid(String guid) {
		this.guid = guid;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Integer getTaskId() {
		return taskId;
	}

	public void setTaskId(Integer taskId) {
		this.taskId = taskId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getCourseId() {
		return courseId;
	}

	public void setCourseId(Integer courseId) {
		this.courseId = courseId;
	}

	public Course getCourse() {
		return course;
	}

	public void setCourse(Course course) {
		this.course = course;
	}

	public Integer getBookId() {
		return bookId;
	}

	public void setBookId(Integer bookId) {
		this.bookId = bookId;
	}

	public Book getBook() {
		return book;
	}

	public void setBook(Book book) {
		this.book = book;
	}

	public Integer getChapterSize() {
		return chapterSize;
	}

	public void setChapterSize(Integer chapterSize) {
		this.chapterSize = chapterSize;
	}

	public String getKeyChapters() {
		return keyChapters;
	}

	public void setKeyChapters(String keyChapters) {
		this.keyChapters = keyChapters;
	}

	public String getQuesTypeScores() {
		return quesTypeScores;
	}

	public void setQuesTypeScores(String quesTypeScores) {
		this.quesTypeScores = quesTypeScores;
	}

	public Integer getStatus() {
		return status;
	}
	
	public String getStatusName(){
		return Consts.SkeletonStatus.dicMap.get(status);
	}
	
	public void setStatus(Integer status) {
		this.status = status;
	}

	public Date getCreatedTime() {
		return createdTime;
	}

	public void setCreatedTime(Date createdTime) {
		this.createdTime = createdTime;
	}

	public Integer getCreatedBy() {
		return createdBy;
	}

	public void setCreatedBy(Integer createdBy) {
		this.createdBy = createdBy;
	}

	public String getCreatedUser() {
		return createdUser;
	}

	public void setCreatedUser(String createdUser) {
		this.createdUser = createdUser;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public List<PaperSkeletonDetail> getSkeletonDetailArr() {
		return skeletonDetailArr;
	}

	public void setSkeletonDetailArr(List<PaperSkeletonDetail> skeletonDetailArr) {
		this.skeletonDetailArr = skeletonDetailArr;
	}

	public List<QuestionType> getQuesTypeArr() {
		return quesTypeArr;
	}

	public void setQuesTypeArr(List<QuestionType> quesTypeArr) {
		this.quesTypeArr = quesTypeArr;
	}

	public Date getUpdatedTime() {
		return updatedTime;
	}

	public void setUpdatedTime(Date updatedTime) {
		this.updatedTime = updatedTime;
	}

	public Integer getUpdatedBy() {
		return updatedBy;
	}

	public void setUpdatedBy(Integer updatedBy) {
		this.updatedBy = updatedBy;
	}
	
	public Map<String, Integer> getSkeletonDetailMap() {
		return skeletonDetailMap;
	}
	
	public void setSkeletonDetailMap(Map<String, Integer> skeletonDetailMap) {
		this.skeletonDetailMap = skeletonDetailMap;
	}
	
}
