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

import com.qmth.qrzk.repository.utils.Consts;


public class PaperSkeletonDetail {

	private Integer id;				//编号
	
	private Integer skeletonId;		//细目表主表ID
	
	private Integer quesTypeNo;		//题型编号，从1开始，对应细目表里面的题型顺序值
	
	private String quesTypeName;	//题型名称，用于组卷时空题显示
	
	private Double score;			//每题分数，用于组卷时空题显示
	
	private Integer chapterNo;		//章序号值，从1开始
	
	private Integer quesNum;		//题目数量
	
	private Integer estimateDifficulty;		//预计难度：A.易；  B.中等偏易；  C.中等偏难；  D.难，对应数字：1,2,3,4，对应code表里面的：QUESTION_DIFFICULTY-10,20,30,40，这样处理是为了简化细目表管理设计
	
	private Integer ability;		//认知层次：I.识记；  II.理解；  III.简单应用；  IV.综合应用，对应数字：1,2,3,4，对应code表里面的：ABILITY-A,B,C,D，这样处理是为了简化细目表管理设计

	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 getSkeletonId() {
		return skeletonId;
	}

	public void setSkeletonId(Integer skeletonId) {
		this.skeletonId = skeletonId;
	}

	public Integer getQuesTypeNo() {
		return quesTypeNo;
	}

	public void setQuesTypeNo(Integer quesTypeNo) {
		this.quesTypeNo = quesTypeNo;
	}

	public Integer getAbility() {
		return ability;
	}
	
	/**
	 * 返回认知层次code表对应的code值。<br/>
	 * 认知层次，即认知层次：I.识记；  II.理解；  III.简单应用；  IV.综合应用，对应数字：1,2,3,4，对应code表里面的：ABILITY-A,B,C,D，这样处理是为了简化细目表管理设计
	 * @return
	 */
	public String getAbilityCode(){
		switch (ability) {
		case 1:
			return "A";
		case 2:
			return "B";
		case 3:
			return "C";
		default:
			return "D";
		}
	}
	
	/**
	 * 返回认知层次code表对应的显示值。<br/>
	 * 认知层次，即认知层次：I.识记；  II.理解；  III.简单应用；  IV.综合应用，对应数字：1,2,3,4，对应code表里面的：ABILITY-A,B,C,D，这样处理是为了简化细目表管理设计
	 * @return
	 */
	public String getAbilityText(){
		return Consts.CodeTextMap.get("ABILITY-" + getAbilityCode());
	}

	public void setAbility(Integer ability) {
		this.ability = ability;
	}

	public Integer getChapterNo() {
		return chapterNo;
	}

	public void setChapterNo(Integer chapterNo) {
		this.chapterNo = chapterNo;
	}

	public Integer getQuesNum() {
		return quesNum;
	}

	public void setQuesNum(Integer quesNum) {
		this.quesNum = quesNum;
	}

	public Integer getEstimateDifficulty() {
		return estimateDifficulty;
	}
	
	/**
	 * 返回预计难度code表对应的code值。<br/>
	 * 预计难度：A.易；  B.中等偏易；  C.中等偏难；  D.难，对应数字：1,2,3,4，对应code表里面的：QUESTION_DIFFICULTY-10,20,30,40，这样处理是为了简化细目表管理设计
	 * @return
	 */
	public String getEstimateDifficultyCode(){
		switch (estimateDifficulty) {
		case 1:
			return "10";
		case 2:
			return "20";
		case 3:
			return "30";
		default:
			return "40";
		}
	}
	
	/**
	 * 返回预计难度code表对应的显示值。<br/>
	 * 预计难度：A.易；  B.中等偏易；  C.中等偏难；  D.难，对应数字：1,2,3,4，对应code表里面的：QUESTION_DIFFICULTY-10,20,30,40，这样处理是为了简化细目表管理设计
	 * @return
	 */
	public String getEstimateDifficultyText(){
		return Consts.CodeTextMap.get("QUESTION_DIFFICULTY-" + getEstimateDifficultyCode());
	}

	public void setEstimateDifficulty(Integer estimateDifficulty) {
		this.estimateDifficulty = estimateDifficulty;
	}
	
	public String getQuesTypeName() {
		return quesTypeName;
	}
	
	public void setQuesTypeName(String quesTypeName) {
		this.quesTypeName = quesTypeName;
	}
	public Double getScore() {
		return score;
	}
	public void setScore(Double score) {
		this.score = score;
	}
}
