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); }