package com.qmth.teachcloud.mark.mapper;
import java.util.List;
import com.qmth.teachcloud.common.entity.BasicTeachClazz;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
import com.qmth.teachcloud.mark.bean.archivescore.*;
import com.qmth.teachcloud.mark.bean.scananswer.AnswerQueryDomain;
import com.qmth.teachcloud.mark.bean.scananswer.AnswerQueryVo;
import com.qmth.teachcloud.mark.bean.student.StudentQuery;
import com.qmth.teachcloud.mark.bean.student.StudentVo;
import com.qmth.teachcloud.mark.dto.UnexistStudentDto;
import com.qmth.teachcloud.mark.dto.mark.score.StudentScoreDetailDto;
import com.qmth.teachcloud.mark.entity.MarkStudent;
/**
*
* 考试考生库 Mapper 接口
*
*
* @author xf
* @since 2023-09-22
*/
public interface MarkStudentMapper extends BaseMapper {
IPage pageStudentScore(@Param("page") Page page,
@Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("college") String college, @Param("majorName") String majorName,
@Param("className") String className, @Param("teacher") String teacher, @Param("filter") Integer filter,
@Param("status") String status, @Param("breach") Boolean breach, @Param("startScore") Double startScore,
@Param("endScore") Double endScore, @Param("subScore") Double subScore,
@Param("objectiveScoreLt") Double objectiveScoreLt, @Param("studentName") String studentName,
@Param("studentCode") String studentCode, @Param("orderType") String orderType, @Param("orderField") String orderField);
List listAbsentOrBreachMarkTaskStudent(@Param("examId") Long examId,
@Param("paperNumber") String paperNumber);
IPage listUnMarkTaskStudent(@Param("page") Page page, @Param("examId") Long examId,
@Param("paperNumber") String paperNumber, @Param("groupNumber") Integer groupNumber);
StudentVo findOne(@Param("query") StudentQuery query);
IPage queryPage(Page page, @Param("query") AnswerQueryDomain query, @Param("dpr") DataPermissionRule dpr);
List querySummary(@Param("query") AnswerQueryDomain query, @Param("dpr") DataPermissionRule dpr);
List findIdByExamIdAndPaperNumber(@Param("examId") Long examId, @Param("paperNumber") String paperNumber);
List studentList(@Param("req") ArchiveStudentQuery query);
OverViewVo overview(@Param("req") ArchiveStudentQuery query);
int getCountByScoreRange(@Param("examId") Long examId, @Param("paperNumber") String paperNumber,
@Param("start") Double start, @Param("end") Double end);
List college(@Param("req") ArchiveStudentQuery query);
List classData(@Param("req") ArchiveStudentQuery query);
List teacher(@Param("req") ArchiveStudentQuery query);
List listUnexistStudentByExamIdAndCoursePaperId(@Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("coursePaperId") String coursePaperId, @Param("status") String status, @Param("dpr") DataPermissionRule dpr);
IPage studentList(@Param("page") Page page, @Param("req") ArchiveStudentQuery query);
List teacherClass(@Param("req") ArchiveStudentQuery query);
int selectCountByQuery(@Param("markStudent") MarkStudent markStudent, @Param("dpr") DataPermissionRule dpr);
int countAssigned(@Param("markStudent") MarkStudent markStudent, @Param("dpr") DataPermissionRule dpr);
List listScanCollegeByExamIdAndCourseCodeAndCoursePaperId(@Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("coursePaperId") String coursePaperId, @Param("status") String status, @Param("dpr") DataPermissionRule dpr);
BasicTeachClazz getBasicTeachClazzById(Long clazzId);
}