package com.xhkjedu.sexam.mapper.reportclass;

import com.xhkjedu.sexam.model.reportstu.ERstudentAction;
import com.xhkjedu.sexam.vo.report.ERankParamVo;
import com.xhkjedu.sexam.vo.report.ReportParamsVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface EReportClassMapper {
    //试卷基本信息
    Map getPaperByExamSubjectId(@Param("rank") ERankParamVo rank);

    //试卷概况-题库
    List<Map> listTkSjGk(@Param("rank") ERankParamVo rank);

    //试卷概况-附件
    List<Map> listFjSjGk(@Param("rank") ERankParamVo rank);

    //试卷分析-大题分析
    List<Map> listType(@Param("rank") ERankParamVo rank);

    //试卷分析-小题分析
    List<Map> listQuestion(@Param("rank") ERankParamVo rank);

    //试卷分析-知识点分析
    List<Map> listPoint(@Param("rank") ERankParamVo rank);

    //行为分析-科目
    String getSubjectJson(@Param("rank") ERstudentAction rank);

    //行为分析-学生
    List<Map> listXwXs(@Param("rank") ERstudentAction rank);

    //学生试卷基础信息
    Map getStuPaperInfo(@Param("rank") ERankParamVo rank);

    //题库试题
    List<Map> listTkQuestion(@Param("epid") Integer epid);

    //试卷概况-优秀卷
    List<Map> listSjGkYxj(@Param("rank") ERankParamVo rank);

    //班级报告列表-教师
    List<Map> listEndExamsForClassTeacher(@Param("paramsVo") ReportParamsVo paramsVo);

    //教师考试权限科目
    List<Map> listExamSubject(@Param("examid") Integer examid,@Param("teacherid") Integer teacherid);

    //教师考试权限班级
    List<Map> listExamClass(@Param("examid") Integer examid,@Param("teacherid") Integer teacherid,@Param("schoolid") Integer schoolid);

    //根据考试id班级id获取班级名称
    String getClassNameByExamIdCid(@Param("examid")Integer examid,@Param("classid") Integer classid);

    //班级报告列表-班主任
    List<Map> listEndExamsForClass(@Param("paramsVo") ReportParamsVo paramsVo);

    //获取考试班级名称
    String getClassName(@Param("examid") Integer examid,@Param("classid") Integer classid);

    //获取考试PDF报告基础信息
    Map getPdfInfo(@Param("examid") Integer examid,@Param("classid") Integer classid);

    //单科考试概况
    Map getDkKsGk(@Param("rank") ERankParamVo rank);

    //获取单科考试PDF报告基础信息
    Map getPdfDkInfo(@Param("examid") Integer examid,@Param("classid") Integer classid,@Param("subjectid") String subjectid);

    //单科报告-获取pdf报告状态和地址
    Map getReportDkClass(@Param("examid") Integer examid,@Param("classid") Integer classid,@Param("subjectid") String subjectid);
}
