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.PbVXsxxsfytbExcelDto;
import com.xjrsoft.module.student.dto.PbVXsxxsfytbPageDto;
import com.xjrsoft.module.student.dto.PbVXsxxsfytbStatDto;
import com.xjrsoft.module.student.dto.PersonalPortraitFeeInformationDto;
import com.xjrsoft.module.student.entity.PbVXsxxsfytb;
import com.xjrsoft.module.student.vo.BaseClassQfCountVo;
import com.xjrsoft.module.student.vo.ClassQfPageVo;
import com.xjrsoft.module.student.vo.FeeDetailListVo;
import com.xjrsoft.module.student.vo.PbFeeitemStatVo;
import com.xjrsoft.module.student.vo.PbStduyStatusVo;
import com.xjrsoft.module.student.vo.PbStudentCategoryVo;
import com.xjrsoft.module.student.vo.PbVXsxxsfytbExcelVo;
import com.xjrsoft.module.student.vo.PbVXsxxsfytbFeeitemVo;
import com.xjrsoft.module.student.vo.PbVXsxxsfytbPageVo;
import com.xjrsoft.module.student.vo.PersonalPortraitFeeInformationVo;

import java.util.List;

/**
* @title: 
* @Author dzx
* @Date: 2024-03-13
* @Version 1.0
*/

public interface IPbVXsxxsfytbService extends MPJBaseService<PbVXsxxsfytb> {
    PersonalPortraitFeeInformationVo listCostInformation(PersonalPortraitFeeInformationDto dto);

    IPage<PbVXsxxsfytbPageVo> getPage(PbVXsxxsfytbPageDto dto);

    List<PbVXsxxsfytbExcelVo> getList(PbVXsxxsfytbExcelDto dto);

    List<BaseClassQfCountVo> getClassQfCount();


    PbVXsxxsfytbFeeitemVo getStudentFeeInfo(String credentialNumber);

    List<FeeDetailListVo> getFeeDetail(String studentcode, String beltcode);

    /**
     * 查询学生是否有欠费信息
     * @param credentialNumber 学生身份证号
     * @return 1：是，0：否
     */
    Long getIsArrears(String credentialNumber);

    PbStudentCategoryVo studentCategoryStat(PbVXsxxsfytbStatDto dto);

    PbStduyStatusVo stduyStatusStat(PbVXsxxsfytbStatDto dto);

    Page<ClassQfPageVo> getClassQfPage(Page<ClassQfPageVo> page, PbVXsxxsfytbStatDto dto);

    PbFeeitemStatVo feeitemStat(PbVXsxxsfytbStatDto dto);
}
