package com.qxueyou.scc.exam.service; import java.util.Date; import java.util.List; import java.util.Map; import com.qxueyou.scc.base.model.Result; import com.qxueyou.scc.exam.model.ExamInfo; import com.qxueyou.scc.exam.model.ExamResultV; /** * 考试服务类 * * @author kevin * @createTime 2018-03-11 */ public interface IExamService { /** * 新增考试 * * @param examInfo * * @return 新增考试ID */ String addExam(ExamInfo examInfo); void addRemedy(String examId, Date startTime, Date endTime); /** * 删除考试 * * @param elxamIds * 考试id * @return */ Result deleteExam(String[] examIds); /** * 更新考试信息 * * @param noticeId * 考试id * @return */ Result updateExam(ExamInfo examInfo); /** * 考试id 查询考试 * * @param examId * @return */ ExamInfo queryExamDetail(String examId); ExamInfo queryReExam(); /** * 设置考试试卷 * * @param param * @return */ Result updateExamPaperInfo(ExamInfo param); /** * 开始考试 * * @param examBatchId * @param classId * @return */ Result doStartExam(String examBatchId, String classId,String studentUserId); Result doStartReExam(String examId,String studentUserId); /** * 发布考试 * * @param examIds * 考试的Ids * @return 1表示发布成功,0表示发布失败 */ Result doPublishExam(String[] examIds); /** * 撤回发布的考试 * * @param examIds * 考试的Ids * @return 1表示撤回成功,0表示撤回失败失败 */ Result doRevokeExam(String[] examIds); /** * 首页获取学生考试的总条数 * * @param classId * @param userId * @return */ int getExamCount(String classId, String userId); /** * 首页获取学生逾期未交的考试个数 * * @param classId * @param userId * @return */ int getUnCommitExamCount(String classId, String userId); /** * 首页获取学生待完成的考试个数 * * @param classId * @param userId * @return */ int getToBeCommitExamCount(String classId, String userId); /** * 首页获取学生已经提交的考试个数 * * @param classId * @param userId * @return */ int getCommitExamCount(String classId, String userId); /** * 后台查询考试列表 * @param keyword * @param pageSize * @param pageNum * @return */ List list(String keyword,String classId,String subjectId,Short status,Integer pageSize,Integer pageNum); /** * 后台查询考试数量 * @param keyword * @param creatorId * @return */ int listCount(String keyword,String classId,String subjectId,Short status); /** * 获取考试成绩列表 * @param examId * @param examBatchIds * @param classId * @param keyword * @param pageSize * @param pageNum * @return */ List listResult(String examId,String[] examBatchIds, String classId, String keyword, Integer pageSize, Integer pageNum); /** * 获取考试成绩列表数量 * @param examId * @param examBatchIds * @param classId * @param keyword * @return */ int listResultCount(String examId,String[] examBatchIds, String classId, String keyword); /** * 查询学生考试列表数量 * @param keyword 考试名称过滤 * @param classIds 班级过滤 * @param subjectId * @param status * @return */ int listStudentExamCount(String keyword, String[] classIds,String subjectId,Integer status); /** * 查询学生考试列表 * @param keyword * @param classIds * @param subjectId * @param status * @param pageSize * @param pageNum * @return */ List listStudentExam(String keyword, String[] classIds,String subjectId,Integer status, Integer pageSize,Integer pageNum,String userId); List studentExam( String [] classIds); /** * 查询考试结果状态数量 * @param lstExamIds * @return */ Map queryExamResultStatusCount(List lstExamIds); Result getReExamRecordList(String examId, String userId); }