package cn.com.qmth.examcloud.core.questions.service.bean.randompaper;

import java.util.HashSet;
import java.util.List;
import java.util.Set;

import cn.com.qmth.examcloud.core.questions.base.question.enums.QuesStructType;
import cn.com.qmth.examcloud.core.questions.dao.entity.Course;
import cn.com.qmth.examcloud.core.questions.dao.entity.QuesProperty;
import cn.com.qmth.examcloud.question.commons.core.question.AnswerType;

public class QuestionDto {

	private String id;

	private QuesStructType questionType;// 试题结构类型
	/*
	 * 作答类型
	 */
	private AnswerType answerType;

	private Course course;

	private String orgId; // 机构ID

	private Set<String> quesName;// 来源大题

	private Integer number;

	private List<QuesOptionDto> quesOptions;// 试题选项

	private List<QuestionDto> subQuestions;// 子题目,用于套题
	/**
	 * 试题属性
	 */
	private List<QuesProperty> quesProperties;// 关联多组属性

	private Double difficultyDegree; // 难度系数

	private Boolean publicity; // 公开度

	private String difficulty;// 难度

	private List<String> propertyGroup;// 试题属性组合（蓝图组卷使用）

	public QuesStructType getQuestionType() {
		return questionType;
	}

	public void setQuestionType(QuesStructType questionType) {
		this.questionType = questionType;
	}

	public Course getCourse() {
		return course;
	}

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

	public String getOrgId() {
		return orgId;
	}

	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}


	public Set<String> getQuesName() {
		return quesName;
	}

	public void setQuesName(Set<String> quesName) {
		this.quesName = quesName;
	}
	public void addQuesName(String quesName) {
		if(this.quesName==null) {
			this.quesName=new HashSet<>();
		}
		this.quesName.add(quesName);
	}

	public Integer getNumber() {
		return number;
	}

	public void setNumber(Integer number) {
		this.number = number;
	}

	public List<QuesProperty> getQuesProperties() {
		return quesProperties;
	}

	public void setQuesProperties(List<QuesProperty> quesProperties) {
		this.quesProperties = quesProperties;
	}

	public Double getDifficultyDegree() {
		return difficultyDegree;
	}

	public void setDifficultyDegree(Double difficultyDegree) {
		this.difficultyDegree = difficultyDegree;
	}

	public Boolean getPublicity() {
		return publicity;
	}

	public void setPublicity(Boolean publicity) {
		this.publicity = publicity;
	}

	public String getDifficulty() {
		return difficulty;
	}

	public void setDifficulty(String difficulty) {
		this.difficulty = difficulty;
	}

	public List<String> getPropertyGroup() {
		return propertyGroup;
	}

	public void setPropertyGroup(List<String> propertyGroup) {
		this.propertyGroup = propertyGroup;
	}

	public List<QuestionDto> getSubQuestions() {
		return subQuestions;
	}

	public void setSubQuestions(List<QuestionDto> subQuestions) {
		this.subQuestions = subQuestions;
	}

	public List<QuesOptionDto> getQuesOptions() {
		return quesOptions;
	}

	public void setQuesOptions(List<QuesOptionDto> quesOptions) {
		this.quesOptions = quesOptions;
	}

	public AnswerType getAnswerType() {
		return answerType;
	}

	public void setAnswerType(AnswerType answerType) {
		this.answerType = answerType;
	}

	public String getId() {
		return id;
	}

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

}