package com.xhkjedu.sapi.mapper.gradeclass;


import com.xhkjedu.base.TkMapper;
import com.xhkjedu.sapi.model.gradeclass.*;
import com.xhkjedu.sapi.vo.gradeclass.ClassVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ClassMapper extends TkMapper<TClass> {
    //获取班级当前年份
    Integer getYearById(Integer classid);

    //根据班级名称获取班级id
    Integer getClassIdByName(String classname, Integer schoolid, Integer gradeid, Integer year);

    //修改班级状态
    int updateClassState(@Param("classstate") Integer classstate, @Param("classids") String classids);


    //要升级的班级列表
    List<TClass> listClassBySchoolId(@Param("schoolid") Integer schoolid, @Param("year") Integer year);
    //升级时要毕业的班级列表
    List<TClass> listClassBiyeBySchoolId(@Param("schoolid") Integer schoolid,@Param("year") Integer year,@Param("classstate") Integer classstate);

    //获取要升级的学生列表
    List<TClassStudent> listStudentByClassIds(@Param("classIds") String classIds);
    //要升级的教师列表
    List<TClassTeacher> listTeacherByClassIds(@Param("classIds") String classIds);
    //要升级的全体分组列表
    List<TGroup> listGroupByClassIds(@Param("classIds") String classIds);
    //获取要升级的学生列表
    List<TGroupStudent> listStudentByGroupIds(@Param("groupIds") String groupIds);

    //班级学生id列表
    List<Integer> listStudentIdByClassIds(@Param("classIds") String classIds);

    //教师任教行政班和提高班
    String listTeacherClassids(@Param("teacherid") Integer teacherid,@Param("schoolid") Integer schoolid);

    //取教师权限班级(行政班和提高班)
    List<ClassVo> listTeacherClass(@Param("teacherid") Integer teacherid,@Param("schoolid") Integer schoolid);
}
