package com.xjrsoft.module.student.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.banding.vo.IdManyCountVo;
import com.xjrsoft.module.outint.vo.IdCountVo;
import com.xjrsoft.module.student.dto.BaseNewStudentPageDto;
import com.xjrsoft.module.student.entity.BaseNewStudent;
import com.xjrsoft.module.student.vo.BaseNewStudentPageVo;
import com.xjrsoft.module.student.vo.EnrollmentPlanGradeVo;
import com.xjrsoft.module.student.vo.EnrollmentPlanTreeVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @title: 新生维护信息
* @Author dzx
* @Date: 2024-06-27
* @Version 1.0
*/
@Mapper
public interface BaseNewStudentMapper extends MPJBaseMapper<BaseNewStudent> {

    Page<BaseNewStudentPageVo> getPage(Page<BaseNewStudentPageVo> page, BaseNewStudentPageDto dto);

    Page<BaseNewStudentPageVo> getReportPage(Page<BaseNewStudentPageVo> page, BaseNewStudentPageDto dto);

    List<BaseNewStudentPageVo> getReportList(@Param("dto") BaseNewStudentPageDto dto);
    List<EnrollmentPlanTreeVo> getEnrollmentPlanList();

    List<EnrollmentPlanGradeVo> getGradeList();

    List<IdCountVo> getFirstAmbitionStudentCount(@Param("gradeId") Long gradeId, @Param("enrollType") String enrollType);

    List<IdCountVo> getSecondAmbitionStudentCount(@Param("gradeId") Long gradeId, @Param("enrollType") String enrollType);

    List<IdManyCountVo> getMajorStudentCount(@Param("id") Long bandingTaskId);
}
