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

import java.io.IOException;
import java.util.List;

import javax.servlet.http.HttpServletResponse;

import cn.com.qmth.examcloud.api.commons.security.bean.User;
import cn.com.qmth.examcloud.core.questions.base.enums.PaperSeqMode;
import cn.com.qmth.examcloud.core.questions.dao.entity.Course;

public interface ExportPaperService {

    /**
     * 导出单个试卷，答案，机考数据包
     */
    public void exportPaperFile(String paperId,String exportContentList,
            HttpServletResponse response, PaperSeqMode seqMode, String examType, String psw, User user);

    /**
     * 批量导出试卷，答案，机考数据包
     */
    public void exportPaperFiles(List<String> paperList,String exportContentList,
            HttpServletResponse response, PaperSeqMode seqMode, String examType, User user) throws Exception;

    /**
     * 导出课程下的试题分布Excel(按课程)
     */
    public void downQuestionDistribute(String courseNo, HttpServletResponse response) throws IOException;

    /**
     * 导出课程下的试题分布Excel(按课程)
     */
    void downQuestionDistributes(List<Course> courses) throws IOException;

    /**
     * 导出课程下的试题分布Excel(按试卷)
     */
    public void downQuestionDistributeByPapers(String paperIds, HttpServletResponse response) throws IOException;

    /**
     * 导出原始的导入试卷
     */
    public void downOriginalPaper(String paperId, String loginName, HttpServletResponse response) throws Exception;

    public void downOriginalPaperPlus(String paperId, Long rootOrgId, HttpServletResponse response) throws IOException;

}