package com.yida.data.user.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yida.data.common.core.entity.school.EduSchoolStudentInformation;
import com.yida.data.common.core.enums.ReportStatusEnum;
import com.yida.data.user.dto.WelcomeStudentExportDTO;
import com.yida.data.user.vo.EduSchoolStudentInformationVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 学校智慧迎新-学生报到信息dao层
 *
 * @author ZYJ
 * @date 2021/8/20
 */
public interface EduSchoolStudentInformationMapper extends BaseMapper<EduSchoolStudentInformation> {

    /***
     * @Author jianMingWang
     * @Description //分页列表查询学生信息
     * @Date 16:23 2021/8/21
     * @Param [schoolId]
     * @return com.yida.data.common.core.common.ResultBean<java.util.List < com.yida.data.school.vo.EduSchoolStudentInformationVo>>
     **/
    IPage<EduSchoolStudentInformationVo> listStudentInfo(Page page,
                                                         @Param("schoolId") Integer schoolId,
                                                         @Param("campusId") Integer campusId,
                                                         @Param("sectionId") Integer sectionId,
                                                         @Param("gradeId") Integer gradeId,
                                                         @Param("classId") Integer classId,
                                                         @Param("studentName") String studentName,
                                                         @Param("studentIdCard") String studentIdCard,
                                                         @Param("reportStatus") Integer reportStatus)

    ;

    /**
     * 根据查询条件导出迎新学生数据
     *
     * @param schoolId      学校id
     * @param campusId      学区id
     * @param sectionId     学段id
     * @param gradeId       年级id
     * @param classId       班级id
     * @param studentName   学生姓名
     * @param studentIdCard 学生身份证号码
     * @param reportStatus  报到状态 {@link ReportStatusEnum}
     * @return java.util.List<com.yida.data.school.dto.WelcomeStudentExportDTO>
     * @author ZYJ
     * @date 2021/8/24 11:37
     */
    List<WelcomeStudentExportDTO> exportWelcomeStudentData(@Param("schoolId") Integer schoolId,
                                                           @Param("campusId") Integer campusId,
                                                           @Param("sectionId") Integer sectionId,
                                                           @Param("gradeId") Integer gradeId,
                                                           @Param("classId") Integer classId,
                                                           @Param("studentName") String studentName,
                                                           @Param("studentIdCard") String studentIdCard,
                                                           @Param("reportStatus") Integer reportStatus);
}