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<ExamInfo> 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<ExamResultV> 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<ExamResultV> listStudentExam(String keyword, String[] classIds,String subjectId,Integer status, Integer pageSize,Integer pageNum,String userId);
|
|
List<ExamResultV> studentExam( String [] classIds);
|
|
/**
|
* 查询考试结果状态数量
|
* @param lstExamIds
|
* @return
|
*/
|
Map<String, Integer> queryExamResultStatusCount(List<String> lstExamIds);
|
|
Result getReExamRecordList(String examId, String userId);
|
}
|