package com.xhkjedu.sstudy.mapper.paper;

import com.xhkjedu.base.TkMapper;
import com.xhkjedu.sstudy.model.paper.TPaper;
import com.xhkjedu.sstudy.model.question.TQuestionClass;
import com.xhkjedu.sstudy.vo.paper.*;
import com.xhkjedu.sstudy.vo.paperstudent.PaperSearchVo;
import com.xhkjedu.sstudy.vo.paperstudent.PaperStudentQuestionVo;
import org.apache.ibatis.annotations.Param;

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

/**
 * @author ywx
 * @classname PaperTeacherAppMapper
 * @description
 * @date 2020/10/13 8:55
 **/
public interface PaperTeaAppMapper extends TkMapper<TPaper> {
    /**
     * 教师APP端作业列表
     * @Param [paperSearch]
     * @Author ywx
     * @Date 2020/10/12 14:30
     * @return java.util.List<com.xhkjedu.vo.teacherapp.PaperTeacherAppVo>
     **/
    List<PaperTeacherAppVo> listTeacherApp(@Param("paper") PaperSearchVo paperSearch);

    //教师APP端作业列表--我的
    List<PaperTeacherAppVo> listMyTeacherApp(@Param("paper") PaperSearchVo paperSearch);

    /**
     * 作业情况
     * @Param [paperid]
     * @Author ywx
     * @Date 2020/10/15 9:09
     * @return java.util.List<com.xhkjedu.vo.teacherapp.PClassVo>
     **/
    List<PClassVo> getPaperDetail(@Param("paperid") Integer paperid,@Param("classids") String classids
            ,@Param("schoolid") Integer schoolid);

    /**
     * 作业报告
     * @Param [paper]
     * @Author ywx
     * @Date 2020/10/14 9:13
     * @return java.util.List<com.xhkjedu.vo.teacherapp.PaperTeacherReportVo>
     **/
    List<PaperTeacherReportVo> getReport(@Param("paper") TPaper paper);

    /**
     * 未提交学生列表
     * @Param [paperid]
     * @Author ywx
     * @Date 2020/10/14 15:07
     * @return java.util.List<com.xhkjedu.vo.teacherapp.PStudentVo>
     **/
    List<PStudentVo> listWtjStudent(Integer paperid, Integer classid);

    /**
     * 已提交学生列表
     * @Param [paper]
     * @Author ywx
     * @Date 2020/10/14 15:13
     * @return java.util.List<com.xhkjedu.vo.teacherapp.PStudentVo>
     **/
    List<PStudentVo> listYtjStudent(@Param("paper") TPaper paper);

    /**
     * 获取学生答题卡
     * @Param [paper]
     * @Author ywx
     * @Date 2020/10/14 16:05
     * @return com.xhkjedu.vo.teacherapp.PStudentVo
     **/
    Map getStudentScantron(@Param("paper") PStudentVo paper);

    /**
     * 学生答题卡单题详情
     * @Param [paper]
     * @Author ywx
     * @Date 2020/10/14 16:21
     * @return com.xhkjedu.vo.paperstudent.PaperStudentQuestionVo
     **/
    PaperStudentQuestionVo getStudentQuestion(@Param("paper") PaperStudentQuestionVo paper);

    /**
     * 试题详情
     *
     * @return com.xhkjedu.vo.teacherapp.PQuestionVo
     * @Param [question]
     * @Author ywx
     * @Date 2020/10/15 11:11
     **/
    List<PQuestionVo> getQuestionDetail(@Param("question") TQuestionClass question);

    //未布置作业列表
    List<PaperTeacherAppVo> listWbz(@Param("paper") PaperSearchVo paperSearch);

    //作业发布的人数
    Integer getPaperstudentNum(@Param("paperid") Long Integer, @Param("classid") Integer classid);

    //作业学生列表
    List<PStudentVo> listPaperStudent(@Param("paper") TPaper paper);
}
