MarkStudentService.java 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package com.qmth.teachcloud.mark.service;
  2. import java.util.List;
  3. import javax.validation.constraints.NotNull;
  4. import com.baomidou.mybatisplus.core.metadata.IPage;
  5. import com.baomidou.mybatisplus.extension.service.IService;
  6. import com.qmth.teachcloud.common.entity.BasicExam;
  7. import com.qmth.teachcloud.common.entity.SysUser;
  8. import com.qmth.teachcloud.common.enums.mark.SubjectiveStatus;
  9. import com.qmth.teachcloud.mark.bean.UpdateTimeVo;
  10. import com.qmth.teachcloud.mark.bean.omredit.OmrEditDomain;
  11. import com.qmth.teachcloud.mark.bean.scananswer.AnswerQueryDomain;
  12. import com.qmth.teachcloud.mark.bean.scananswer.AnswerQueryVo;
  13. import com.qmth.teachcloud.mark.bean.scanexaminfo.ScanExamCheckInfoVo;
  14. import com.qmth.teachcloud.mark.bean.scanexaminfo.ScanExamInfoVo;
  15. import com.qmth.teachcloud.mark.bean.student.AbsentManualUpdateVo;
  16. import com.qmth.teachcloud.mark.bean.student.StudentQuery;
  17. import com.qmth.teachcloud.mark.bean.student.StudentVo;
  18. import com.qmth.teachcloud.mark.dto.mark.score.SheetUrlDto;
  19. import com.qmth.teachcloud.mark.dto.mark.score.StudentObjectiveDetailDto;
  20. import com.qmth.teachcloud.mark.dto.mark.score.StudentScoreDetailDto;
  21. import com.qmth.teachcloud.mark.entity.MarkStudent;
  22. import com.qmth.teachcloud.mark.entity.ScanStudentPaper;
  23. /**
  24. * <p>
  25. * 考试考生库 服务类
  26. * </p>
  27. *
  28. * @author xf
  29. * @since 2023-09-22
  30. */
  31. public interface MarkStudentService extends IService<MarkStudent> {
  32. List<String> listClassByExamIdAndCourseCode(Long examId, String paperNumber);
  33. void updateSubjectiveStatusAndScore(Long studentId, SubjectiveStatus status, Double score, String scoreList);
  34. void updateSubjectiveStatusAndScore(Long examId, String paperNumber, SubjectiveStatus status, double score, String scoreList);
  35. ScanExamInfoVo getScanExamInfo(BasicExam exam);
  36. IPage<StudentScoreDetailDto> pageStudentScore(Long examId, String paperNumber, String college, String className, String teacher, Integer filter, Boolean absent, Boolean breach, Double startScore, Double endScore, Double subScore, Integer objectiveScoreRateLt, String studentName, String studentCode, Integer pageNumber, Integer pageSize);
  37. List<SheetUrlDto> buildSheetUrls(Long studentId);
  38. ScanExamCheckInfoVo checkInfo(BasicExam exam);
  39. /**
  40. * 根据考生当前绑定的paper刷新考生状态,需要在外部调用处对考生上锁
  41. */
  42. void updateStudentByPaper(@NotNull Long userId, @NotNull Long studentId, @NotNull boolean updateOmrTask);
  43. MarkStudent findByExamIdAndCoursePaperIdAndStudentCode(Long examId, String coursePaperId, String studentCode);
  44. StudentObjectiveDetailDto getCheckObjectiveTask(Long studentId);
  45. Boolean saveCheckObjectiveTask(Long studentId, String answers);
  46. int countUploadedByExamIdAndPaperNumber(Long examId, String paperNumber);
  47. boolean updateScanInfo(MarkStudent student);
  48. List<MarkStudent> listAbsentOrBreachMarkTaskStudent(Long examId, String paperNumber);
  49. List<MarkStudent> listUnMarkTaskStudent(Long examId, String paperNumber, Integer groupNumber, int pageSize);
  50. boolean saveUploadStudent(MarkStudent student);
  51. void updateStudentAndPaper(SysUser user, Long studentId, List<ScanStudentPaper> studentPaperList);
  52. StudentVo findOne(StudentQuery query);
  53. int countByExamIdAndSecretNumber(Long examId, String secretNumber);
  54. List<MarkStudent> listByExamIdAndCoursePaperId(Long examId, String coursePaperId);
  55. IPage<AnswerQueryVo> query(AnswerQueryDomain query);
  56. List<String> summary(AnswerQueryDomain query);
  57. UpdateTimeVo omrEdit(Long userId,OmrEditDomain domain);
  58. MarkStudent findByExamIdAndStudentCode(Long examId, String studentCode);
  59. long countStudentCountByExamIdAndPaperNumber(Long examId, String paperNumber, String paperType);
  60. AbsentManualUpdateVo absentManualUpdate(Long examId, String coursePaperId, String studentCode);
  61. UpdateTimeVo confirm(Long examId, String coursePaperId, String studentCode, Boolean omrAbsent);
  62. List<Long> findIdByExamIdAndPaperNumberAndSubjectiveStatus(Long examId, String paperNumber, SubjectiveStatus unmark, SubjectiveStatus marked);
  63. }