package com.xjrsoft.module.student.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.base.MPJBaseService;
import com.xjrsoft.module.student.dto.BaseStudentAssessmentInspectionMobilePageDto;
import com.xjrsoft.module.student.dto.BaseStudentAssessmentInspectionPageDto;
import com.xjrsoft.module.student.dto.CalssQuantitativeAssessmentPageDto;
import com.xjrsoft.module.student.dto.QuantitativeAssessmentExcelDto;
import com.xjrsoft.module.student.entity.BaseStudentAssessmentInspection;
import com.xjrsoft.module.student.vo.BaseStudentAssessmentInspectionMobilePageVo;
import com.xjrsoft.module.student.vo.BaseStudentAssessmentInspectionMobileVo;
import com.xjrsoft.module.student.vo.BaseStudentAssessmentInspectionPageVo;
import com.xjrsoft.module.student.vo.BaseStudentAssessmentInspectionVo;
import com.xjrsoft.module.student.vo.CalssQuantitativeAssessmentPageVo;
import org.springframework.http.ResponseEntity;

/**
* @title: 学生班级巡查考核
* @Author dzx
* @Date: 2023-11-16
* @Version 1.0
*/

public interface IBaseStudentAssessmentInspectionService extends MPJBaseService<BaseStudentAssessmentInspection> {
    /**
     * 分页查询
     * @param dto
     * @return
     */
    Page<BaseStudentAssessmentInspectionPageVo> getPage(Page<BaseStudentAssessmentInspectionPageDto> page,BaseStudentAssessmentInspectionPageDto dto);

    /**
     * 数据详情
     * @return
     */
    BaseStudentAssessmentInspectionVo getInfo(Long id);

    /**
     * app分页查询
     * @param page
     * @param dto
     * @return
     */
    Page<BaseStudentAssessmentInspectionMobilePageVo> getMobilePage(Page<BaseStudentAssessmentInspectionMobilePageDto> page, BaseStudentAssessmentInspectionMobilePageDto dto);

    /**
     * app数据详情
     * @return
     */
    BaseStudentAssessmentInspectionMobileVo getMobileInfo(Long id);


    ResponseEntity<byte[]> getQuantitativeAssessmentExcelByte(QuantitativeAssessmentExcelDto dto);

    /**
     * 分页查询
     * @param dto
     * @return
     */
    IPage<CalssQuantitativeAssessmentPageVo> getCalssQuantitativeAssessmentPage(Page<CalssQuantitativeAssessmentPageDto> page, CalssQuantitativeAssessmentPageDto dto);

    Boolean dataHandle(Long id);
}
