package com.xhkjedu.sexam.mapper.exam;

import com.xhkjedu.base.TkMapper;
import com.xhkjedu.sexam.model.exam.EClass;
import com.xhkjedu.sexam.vo.exam.CTeacherVo;
import org.apache.ibatis.annotations.Param;

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

public interface EClassMapper extends TkMapper<EClass> {
    //获取班级基本信息列表
    List<EClass> listByClassIds(@Param("classids") List<Integer> classids);

    //考试班级
    List<Map> listByExamId(@Param("examid") Integer examid);

    //更新考试班级人数
    void updateClassNumByCsId(@Param("examid") Integer examid, @Param("classid") Integer classid);

    //获取班级教师
    List<CTeacherVo> listTeacherByClassIds(@Param("classids") String classids);

    //获取教师科目
    List<CTeacherVo> listSubjectByTeacherIds(@Param("teacherids") String teacherids);

    //获取科目列表
    List<CTeacherVo> listSubjectBySubjectIds(@Param("subjectids") String subjectids);

    //获取学校所有教师
    List<CTeacherVo> listTeacherBySchoolId(@Param("schoolid") Integer schoolid);

    //学校教师查找
    List<Map> listSearchTeacher(@Param("usernames") String[] usernames, @Param("examid") Integer examid);

    //按班设置教师列表
    List<Map> listClassTeacher(@Param("classids") String classids, @Param("subjectid") String subjectid);

    //参加考试的班级和学生
    List<Map> listExamClassAndStu(@Param("examid") Integer examid);

    //教师权限下参加考试班级和学生
    List<Map> listExamClassAndStuForTeacher(@Param("examid") Integer examid,@Param("teacherid") Integer teacherid,@Param("schoolid") Integer schoolid);

    //班级选择列表
    List<Map> listBj(@Param("schoolid") Integer schoolid, @Param("teacherid") Integer teacherid);

    //批量更新班级pdf报告地址
    void updateBatchReportpath(@Param("list")List<EClass> list);

    //获取考试关联的学校信息
    List<Map> listSchoolsByExamid(@Param("schoolid") Integer schoolid, @Param("examid") Integer examid);

    //获取考试关联的学校班级信息
    List<Map> listSchoolClassByExamid(@Param("schoolid") Integer schoolid, @Param("examid") Integer examid);

    //获取考试选择班级关联学校id
    List<Integer> listSchoolidByClassids(@Param("classids") String classids);
}