package com.zcloud.mapper.dsno3.questionnaire;

import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;

import java.util.List;

/**
 * 说明：习题管理
 * 作者：luoxiaobao
 * 时间：2021-07-03
 * 官网：www.zcloudchina.com
 */
public interface QuestionitemMapper {

	/**新增
	 * @param pd
	 * @throws Exception
	 */
	void save(PageData pd);

	/**
	 * 获取选项及选择次数
	 * @param pd
	 * @return
	 */
	List<PageData> listItemAndFrequency(PageData pd);

//	/**新增
//	 * @param pd
//	 * @throws Exception
//	 */
//	void surveysave(PageData pd);

	/**删除
	 * @param pd
	 * @throws Exception
	 */
	void delete(PageData pd);

	/**修改
	 * @param pd
	 * @throws Exception
	 */
	void edit(PageData pd);
	void deleteitem(PageData pd);

	/**列表
	 * @param page
	 * @throws Exception
	 */
	List<PageData> datalistPage(Page page);

	/**列表
	 * @param page
	 * @throws Exception
	 */
	List<PageData> surveydatalistPage(Page page);


	/**列表(全部)
	 * @param pd
	 * @throws Exception
	 */
	List<PageData> listAll(PageData pd);

	/**通过id获取数据
	 * @param pd
	 * @throws Exception
	 */
	PageData findById(PageData pd);

	/**批量删除
	 * @param pd
	 * @throws Exception
	 */
	void deleteAll(PageData pd);

	/**列表(根据所选ID获取数据)
	 * @param pd
	 * @throws Exception
	 */
	List<PageData> findByIds(PageData pd);

	/**批量删除(根据所选课件ids删除习题)
	 * @param pd
	 * @throws Exception
	 */
	void deleteByCoursewareIds(PageData pd);

	/**列表(根据课程所选课件获取习题数据)
	 * @param pd CURRICULUMID	课件ID
	 * @throws Exception
	 */
	List<PageData> listByCourseware(PageData pd);

	/**列表(根据阶段考试所选课件获取习题数据)
	 * @param pd CURRICULUMID	课件ID
	 * @throws Exception
	 */
	List<PageData> findForStageByQuestionNum(PageData pd);

	/**列表(根据课程所选课件获取习题数据)
	 * @param pd CURRICULUMID	课件ID
	 * @throws Exception
	 */
	Integer countByCourseware(PageData pd);

	/**列表(根据阶段考试所选课件范围获取习题数据)
	 * @param pd COURSEWARES	课件ID+课件分类
	 * @throws Exception
	 */
    Integer countByStageExamCourseware(PageData pd);
	/**列表(全部) 根据类型获取习题数据  -- 准备随机选题
	 * @param pd
	 * @throws Exception
	 */
    List<PageData> listAllByType(PageData pd);

	Integer hasQuestionNumber (PageData pd);
	/**
	 * 获取最大题号，导入时候使用
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	Integer maxQuestionNumber (PageData pd);

	/**
	 *获取
	 * 该企业下的
	 * 该培训行业类型
	 * 该岗位培训类型
	 * 下的习题个数
	 * @param pd
	 * @return
	 */
	List<PageData> getCountByQuestionType(PageData pd);

	List<PageData> findByQuestionId(PageData pd);

//	List<PageData> findBySurveyId(PageData pd);

}

