package com.qmth.teachcloud.mark.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
import com.qmth.teachcloud.common.entity.SysUser;
import com.qmth.teachcloud.mark.bean.papermigrate.PaperMigrateDomain;
import com.qmth.teachcloud.mark.bean.papermigrate.PaperMigrateVo;
import com.qmth.teachcloud.mark.bean.scananswer.StudentPaperVo;
import com.qmth.teachcloud.mark.bean.scanpaper.PaperVo;
import com.qmth.teachcloud.mark.dto.mark.score.StudentPaperDetailDto;
import com.qmth.teachcloud.mark.entity.ScanPaper;
import com.qmth.teachcloud.mark.entity.ScanPaperPage;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author xf
 * @since 2023-09-22
 */
public interface ScanPaperService extends IService<ScanPaper> {

	void savePaperAndPages(ScanPaper paper, List<ScanPaperPage> pages);

    List<StudentPaperDetailDto> listStudentPaperDetail(Long studentId);

	int getCountByExamAndCardNumber(Long examId, Integer number);

	List<PaperVo> findStudentPaper(Long studentId);

	List<StudentPaperVo> listByStudentIds(List<Long> paramList);

	PaperMigrateVo paperMigrate(SysUser user, PaperMigrateDomain domain);

	boolean updateMismatch(Long id, boolean mismatch);

    boolean isScanByExamIdAndPaperNumber(Long examId, String paperNumber);
}
