package com.qmth.distributed.print.business.templete.service;

import java.io.IOException;
import java.util.Map;

/**
 * @Description: 任务处理逻辑
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2021/3/29
 */
public interface TaskLogicService {

    /**
     * 创建pdf前置条件
     *
     * @param map
     * @return
     */
    public Map<String, Object> createPdfPrepose(Map<String, Object> map);

    /**
     * 创建pdf逻辑
     *
     * @param map
     * @return
     */
    public Map<String, Object> executeCreatePdfLogic(Map<String, Object> map) throws IOException;

    /**
     * 处理考务数据逻辑
     *
     * @param map 参数
     * @return 要导出的考务数据
     */
    public Map<String, Object> executeExaminationLogic(Map<String, Object> map) throws Exception;

    public Map<String, Object> executeImportExaminationLogic(Map<String, Object> map) throws Exception;

    /**
     * 下载pdf
     *
     * @param map
     * @return
     * @throws IOException
     */
    public Map<String, Object> executeDownloadPdfLogic(Map<String, Object> map) throws Exception;

    /**
     * 处理导出命题任务审核文件
     *
     * @param map
     * @return
     */
    public Map<String, Object> executeExportSampleLogic(Map<String, Object> map) throws Exception;

    /**
     * 导出试卷、题卡pdf
     *
     * @param map
     * @return
     */
    Map<String, Object> executeExportPaperAndCardLogic(Map<String, Object> map) throws Exception;

    /**
     * 处理导入考生数据
     *
     * @param map 数据源
     * @return 结果
     * @throws Exception 异常
     */
    Map<String, Object> executeImportBasicStudentLogic(Map<String, Object> map) throws Exception;

    /**
     * 处理导入课程数据
     *
     * @param map 数据源
     * @return 结果
     * @throws Exception 异常
     */
    Map<String, Object> executeImportBasicCourseLogic(Map<String, Object> map) throws Exception;

    /**
     * 处理导入用户数据
     *
     * @param map 数据源
     * @return 结果
     * @throws Exception 异常
     */
    Map<String, Object> executeImportSysUserLogic(Map<String, Object> map) throws Exception;

    /**
     * 处理导入基础班级数据
     *
     * @param map 数据源
     * @return 结果
     * @throws Exception 异常
     */
    Map<String, Object> executeImportBasicClazzLogic(Map<String, Object> map) throws Exception;

    /**
     * 处理命题统计导入数据
     *
     * @param map 数据源
     * @return 结果
     * @throws Exception 异常
     */
    Map<String, Object> executeImportStatisticsLogic(Map<String, Object> map) throws Exception;

    /**
     * 成绩导出
     *
     * @param map
     * @return
     */
    Map<String, Object> executeExportScoreLogic(Map<String, Object> map) throws Exception;

    /**
     * 成绩轨迹下载
     *
     * @param map
     * @return
     */
    Map<String, Object> executeDownloadScoreLogic(Map<String, Object> map) throws Exception;

    Map<String,Object> executeDownloadPaperFileBatch(Map<String, Object> map) throws Exception;
}
