package com.ruoyi.system.mapper.score;

import com.ruoyi.system.domain.score.ScoreData;
import com.ruoyi.system.domain.score.ScoreDataDetails;

import java.util.List;

/**
 * 成绩Mapper接口
 * 
 * @author boman
 * @date 2023-07-20
 */
public interface ScoreDataMapper 
{
    /**
     * 查询成绩
     * 
     * @param scoreId 成绩主键
     * @return 成绩
     */
    public ScoreData selectScoreDataByScoreId(Long scoreId);

    /**
     * 查询成绩排名
     * @param scoreClassId
     * @return
     */
    public List<ScoreDataDetails> selectScoreDataByScoreClassId(String scoreClassId);

    /**
     * 根据班级id查询最新一次考试id
     * @param scoreClassId
     * @return
     */
    public ScoreData selectScoreIdByScoreClassId(String scoreClassId);

    /**
     * 查询成绩列表
     * 
     * @param scoreData 成绩
     * @return 成绩集合
     */
    public List<ScoreData> selectScoreDataList(ScoreData scoreData);
    //查询该次考试总人数
    public int   selectDetailsCountByScoreId(Long scoreId);

    /**
     * 新增成绩
     * 
     * @param scoreData 成绩
     * @return 结果
     */
    public int insertScoreData(ScoreData scoreData);

    /**
     * 修改成绩
     * 
     * @param scoreData 成绩
     * @return 结果
     */
    public int updateScoreData(ScoreData scoreData);

    /**
     * 删除成绩
     * 
     * @param scoreId 成绩主键
     * @return 结果
     */
    public int deleteScoreDataByScoreId(Long scoreId);

    /**
     * 批量删除成绩
     * 
     * @param scoreIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteScoreDataByScoreIds(Long[] scoreIds);

    /**
     * 批量删除成绩_子
     * 
     * @param scoreIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteScoreDataDetailsByScoreIds(Long[] scoreIds);
    
    /**
     * 批量新增成绩_子
     * 
     * @param scoreDataDetailsList 成绩_子列表
     * @return 结果
     */
    public int batchScoreDataDetails(List<ScoreDataDetails> scoreDataDetailsList);
    

    /**
     * 通过成绩主键删除成绩_子信息
     * 
     * @param scoreId 成绩ID
     * @return 结果
     */
    public int deleteScoreDataDetailsByScoreId(Long scoreId);
}
