package com.qmth.distributed.print.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.distributed.print.business.bean.dto.ExamStudentCourseDto;
import com.qmth.distributed.print.business.bean.dto.ExamStudentPdfInfoDto;
import com.qmth.distributed.print.business.bean.dto.SyncExamStudentDto;
import com.qmth.distributed.print.business.entity.ExamDetailCourse;
import com.qmth.distributed.print.business.entity.ExamStudent;
import com.qmth.teachcloud.common.entity.SysOrg;

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

/**
 * <p>
 * 考生 服务类
 * </p>
 *
 * @author xf
 * @since 2021-03-23
 */
public interface ExamStudentService extends IService<ExamStudent> {

    void updatePaperType(List<Long> examDetailCourseIds, String relatePaperType);

    List<String> listByExamDetailCourseId(String examDetailCourseId);

    Map<String, Object> getStudentDetail(Long id);

    /**
     * 根据科目查询考生
     *
     * @param schoolId
     * @param examDetailCourseIds
     * @return
     */
    List<ExamStudentCourseDto> queryBySchoolIdAndExamDetailCourseIds(Long schoolId, List<Long> examDetailCourseIds);

    List<SyncExamStudentDto> listStudentByPrintPlanIdAndSyncStatus(Long printPlanId);

    void insertBatch(List<ExamStudent> examStudents);

    List<ExamStudent> listExamStudentBySchoolIdAndClazzId(Long schoolId, String classId);

    SysOrg getSysOrgByBelongOrgId(String studentCode, Long schoolId);

    ExamStudentPdfInfoDto getByStudentId(Long id);

    List<Map> listStudentScoreSync(Long schoolId, String studentCode, String examNumber, String subjectCode, Long printPlanId);
}
