package cn.com.qmth.scancentral.service; import java.io.IOException; import java.io.InputStream; import java.util.Collection; import java.util.List; import org.springframework.web.multipart.MultipartFile; import com.baomidou.mybatisplus.extension.service.IService; import com.qmth.boot.core.collection.PageResult; import cn.com.qmth.scancentral.bean.*; import cn.com.qmth.scancentral.bean.omredit.OmrEditDomain; import cn.com.qmth.scancentral.bean.omredit.OmrFieldEditDomain; import cn.com.qmth.scancentral.bean.refix.AnswerRefixDomain; import cn.com.qmth.scancentral.entity.StudentEntity; import cn.com.qmth.scancentral.entity.StudentPaperEntity; import cn.com.qmth.scancentral.enums.*; import cn.com.qmth.scancentral.vo.*; import cn.com.qmth.scancentral.vo.answerquery.AnswerQueryVo; import cn.com.qmth.scancentral.vo.assginedcheck.AssginedTaskResult; import cn.com.qmth.scancentral.vo.assginedcheck.AssignedCheckExamRoomExport; import cn.com.qmth.scancentral.vo.assginedcheck.AssignedCheckExport; import cn.com.qmth.scancentral.vo.assginedcheck.AssignedTaskSaveVo; import cn.com.qmth.scancentral.vo.examroom.ExamRoomScannedQuery; import cn.com.qmth.scancentral.vo.examroom.ExamRoomScannedVo; import cn.com.qmth.scancentral.vo.student.*; import cn.com.qmth.scancentral.vo.studentimport.StudentCountVo; import cn.com.qmth.scancentral.vo.subject.SubjectScanProgressVo; import cn.com.qmth.scancentral.vo.task.TaskStatusVo; public interface StudentService extends IService { void pictureCopy(StudentUploadVo vo); void updateStudentByPaper(User user, Long id, boolean updateOmrTask); void updateStudentAndPaper(User user, Long id, List studentPaperList); AnswerDeleteVo answerDelete(User user, AnswerDeleteDomain domain); PaperDeleteVo paperDelete(User user, PageDeleteDomain domain); List listCampusByExamId(Long examId); List listSiteByExamId(Long examId); StudentVo findOne(StudentQuery query); int getCountByExam(Long examId); int getCountByExamAndScanStatus(Long examId, ScanStatus status); int getPackageCountByExam(Long examId); List packageList(StudentQuery query); List findByExamAndPackage(Long examId, String packageCode, String subjectCode); int getAssignedCountByExam(Long examId); int getAbsentSuspectCountByExam(Long examId); int getIncompleteCountByExam(Long examId); AbsentInfoVo absentInfo(Long examId, GroupType groupType, String groupName); List absentSummary(AbsentQueryDomain query); PageResult absentQuery(AbsentQueryDomain query); AbsentManualImportVo absentManualImport(Long examId, MultipartFile file); UpdateTimeVo absentManualUpdate(Long examId, String subjectCode, String examNumber); UpdateTimeVo absentSuspectUpdate(Long examId, String subjectCode, String examNumber, boolean enable); ScanAnswerInfoVo scanAnswerInfo(Long examId); PageResult query(AnswerQueryDomain query); List summary(AnswerQueryDomain query); List findToUpload(int pageSize); boolean existUploadData(); List absentExportList(AbsentQueryDomain query); List exportList(AnswerQueryDomain query); void updateDataUploadStatus(Long id, UploadStatus status); void updateUploadStatus(Long id, UploadStatus fileUploadStatus, UploadStatus dataUploadStatus); void updateFileUploadStatus(Long id, UploadStatus status); void updateOmrAbsent(Long id, Boolean omrAbsent); void deletetByExamIdAndUnCreateTime(Long examId, long createTime); int getCountByExamAndCardNumber(Long examId, Integer number); int importStudent(List students); StudentEntity findByExamAndSubjectCodeAndExamNumber(Long examId, String subjectCode, String examNumber); int countByQuery(ImportStudentQueryVo query); List findByQuery(ImportStudentQueryVo query); int getOmrAbsentCountByExam(Long examId); boolean existPictureCopyData(); List findToPictureCopy(int pageSize); Double getUploadProgress(Long examId); void studentClean(Long examId, String subjectCode); AnswerRefixVo answerRefix(User user, AnswerRefixDomain domain); UpdateTimeVo omrEdit(User user, OmrEditDomain domain); Integer importCetAbsent(List students); List exportCetData(ExportCetMarkingQueryVo query); Collection exportListK12(AnswerQueryDomain query); void updateCheckMark(Long studentId, Boolean tag); Integer getStudentAnswerCount(Long examId); void resetExamStatus(Long examId, Integer examNumberFillCount); void updateExamStatus(Long id, ExamStatus examStatus); ImportResult importExamStatus(Long examId, ExamStatusCheckMode mode, InputStream inputStream) throws IOException; int getCountByExamAndAssignedCheckCount(Long examId, int assignedCheckCount, OP op); int countByExamIdAndExamStatus(Long examId, ExamStatus examStatus); void updateAssignedCheckCount(Long id, boolean deleteHistory); List exportAssignedCheckPage(AssignedQueryDomain query); PageResult queryAssignedCheckPage(AssignedQueryDomain query); boolean apply(StudentEntity t, String account); boolean hasAppliedAssignedCheckTask(StudentEntity t, String account); TaskStatusVo getAssignedCheckTaskStatus(Long examId, User user); void releaseAssignedCheckTaskByUser(Long examId, String account); AssignedTaskSaveVo submitAssignedCheckTask(AssginedTaskResult result, User user); List getAssignedCheckTaskHistory(Long id, Long pageSize, User user); AnswerQueryVo getAssignedCheckTask(Long examId, String account); StudentAnswerVo studentAnswer(Long batchId, Long studentId); List scanProgress(Long examId, String subjectCode); int getUnscannedCountByExam(Long examId); PageResult examRoomScannedPage(ExamRoomScannedQuery query); List examRoomScannedList(ExamRoomScannedQuery query); PageResult studentPage(StudentPageQuery query); List studentList(StudentPageQuery query); List studentExportList(AnswerQueryDomain query); List studentExamRoomExportList(AnswerQueryDomain query); UpdateTimeVo omrFieldEdit(User accessUser, OmrFieldEditDomain domain); ImportBreachResult breachImport(Long examId, String subjectCode, MultipartFile file); ImportBreachResult custStatusImport(Long examId, String subjectCode, MultipartFile file); List countStudent(Long examId); List exportAssignedCheck(Long examId, String subjectCode); void resetAssignedCheck(Long examId, String subjectCode); int countCetMarking(ExportCetMarkingQueryVo query); void updateImageCheckStatus(Long id, ImageCheckStatus failed); }