package com.xhkjedu.sexam.mapper.paperstudent;

import com.xhkjedu.base.TkMapper;
import com.xhkjedu.sexam.model.paperstudent.EScanbatch;
import com.xhkjedu.sexam.vo.paperscan.ScanSubjectVo;
import io.lettuce.core.dynamic.annotation.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface EScanbatchMapper extends TkMapper<EScanbatch> {

    //获取指定设备试卷批次数量
    Integer getBatchNameLikeNum(@Param("batchname")String batchname);

    //修改批次扫描数量
    void updateScannum(@Param("batchid") Integer batchid);

    //修改批次缺考数量
    void updateQknum(@Param("batchid") Integer batchid);

    //修改批次违规数量
    void updateWgnum(@Param("batchid") Integer batchid);

    //更改扫描和出错数量
    void updateErrornum(@Param("batchid") Integer batchid);

    //更改扫描和出错数量
    void updateScanAndErrorNum(@Param("batchid") Integer batchid);

    //扫描答题卡列表
    List<Map> listScanSubject(@Param("examid") Integer examid);

    //扫描答题卡列表-科目
    List<ScanSubjectVo> listScanExamSubject(@Param("examid") Integer examid);

    //扫描答题卡列表-扫描未处理数量
    List<ScanSubjectVo> listScanExamSubjectWcl(@Param("examid") Integer examid);

    //试卷扫描批次信息
    List<Map> listScanBatchPapers(@Param("epid") Integer epid);

    //获取答题卡扫描结果
    EScanbatch getScanResult(@Param("epid") Integer epid);

    //扫描答题卡详情-学生列表
    List<Map> listScanStu(@Param("epid") Integer epid, @Param("sstate") Integer sstate, @Param("username") String username,
                          @Param("classid") Integer classid);

    //试卷基础信息
    Map listByEpId(@Param("epid") Integer epid);

    //扫描对应学校id
    Map getScanBatchSchool(@Param("batchid") Integer batchid);

    //扫描答题卡详情
    Map getScanDetail(@Param("epid") Integer epid);

    //修改处理后批次数量信息
    void updateBatchErrornum(@Param("list") List<Integer> list);
}
