ExamRoomStudentRelationDao.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. package com.keao.edu.user.dao;
  2. import com.keao.edu.common.dal.BaseDAO;
  3. import com.keao.edu.user.api.entity.ExamRoomStudentRelation;
  4. import com.keao.edu.user.dto.ExamRoomStudentRelationDto;
  5. import com.keao.edu.user.dto.RoomStudentListDto;
  6. import org.apache.ibatis.annotations.Param;
  7. import java.util.List;
  8. import java.util.Map;
  9. import java.util.Set;
  10. public interface ExamRoomStudentRelationDao extends BaseDAO<Long, ExamRoomStudentRelation> {
  11. int batchInsert(@Param("roomStudents") List<ExamRoomStudentRelation> examRoomStudentRelations);
  12. /**
  13. * 开启/关闭教室
  14. * @param openFlag
  15. * @param examinationBasicId
  16. * @param studentId
  17. */
  18. void switchClassRoom(@Param("openFlag") Integer openFlag, @Param("examinationBasicId") Integer examinationBasicId, @Param("studentId") Integer studentId);
  19. List<ExamRoomStudentRelationDto> findExamRoomStudents(Map<String, Object> params);
  20. int countExamRoomStudents(Map<String, Object> params);
  21. /**
  22. * @describe 获取指定教室的学员
  23. * @author Joburgess
  24. * @date 2020.06.24
  25. * @param examRoomId:
  26. * @return java.util.List<com.keao.edu.user.api.entity.ExamRoomStudentRelation>
  27. */
  28. List<ExamRoomStudentRelation> findStudentsWithExamRoom(@Param("examRoomId") Long examRoomId);
  29. List<ExamRoomStudentRelation> findStudentsWithExamRooms(@Param("examRoomIds") List<Long> examRoomIds);
  30. /**
  31. * @describe 删除指定教室的学员
  32. * @author Joburgess
  33. * @date 2020.06.24
  34. * @param examRoomId:
  35. * @param registIds:
  36. * @return int
  37. */
  38. int deleteStudentsFromExamRoom(@Param("examRoomId") Long examRoomId,
  39. @Param("registIds") List<Long> registIds);
  40. /**
  41. * @describe 根据班级删除记录
  42. * @author Joburgess
  43. * @date 2020.06.24
  44. * @param examRoomIds:
  45. * @return int
  46. */
  47. int deleteWithExamRooms(@Param("examRoomIds") List<Long> examRoomIds);
  48. /**
  49. * @describe 获取考级项目下指定分部未发送考试安排的学员
  50. * @author Joburgess
  51. * @date 2020.07.22
  52. * @param examId:
  53. * @param organIds:
  54. * @return java.util.List<com.keao.edu.user.api.entity.ExamRoomStudentRelation>
  55. */
  56. List<ExamRoomStudentRelation> getNoSendExamPlanRooms(@Param("examId") Long examId,
  57. @Param("organIds") List<Integer> organIds);
  58. /**
  59. * @describe 获取考试时间在指定日期的考场学生记录
  60. * @author Joburgess
  61. * @date 2020.07.22
  62. * @return java.util.List<com.keao.edu.user.api.entity.ExamRoomStudentRelation>
  63. */
  64. List<ExamRoomStudentRelation> getTomorrowExamStudents(@Param("day") String day);
  65. /**
  66. * 获取教室学员关联
  67. * @param basicId
  68. * @param roomId
  69. * @param studentId
  70. * @return
  71. */
  72. List<ExamRoomStudentRelation> getExamRoomStudentRelations(@Param("basicId") Long basicId, @Param("roomId") String roomId, @Param("studentId") Integer studentId);
  73. /**
  74. * @describe 获取报名学员所在教室
  75. * @author Joburgess
  76. * @date 2020.07.08
  77. * @param registId:
  78. * @return com.keao.edu.user.api.entity.ExamRoomStudentRelation
  79. */
  80. ExamRoomStudentRelation getStudentExamRoom(@Param("registId") Long registId);
  81. /**
  82. * 获取教室
  83. * @param roomId
  84. * @param currentUserId
  85. * @return
  86. */
  87. ExamRoomStudentRelation findByStudentIdAndRoomId(@Param("roomId") Long roomId, @Param("currentUserId") Integer currentUserId);
  88. /**
  89. * 清除签到时间
  90. * @param examRegistrationId
  91. */
  92. void cleanSignInTime(Long examRegistrationId);
  93. /**
  94. * 获取房间学员队列
  95. * @param roomId
  96. * @return
  97. */
  98. List<RoomStudentListDto> queryStudentList(Long roomId);
  99. /**
  100. * 获取签到总人数
  101. * @param roomId
  102. * @return
  103. */
  104. Integer querySignTotalNum(Long roomId);
  105. /**
  106. * 获取未签到总人数
  107. * @param roomId
  108. * @return
  109. */
  110. Integer queryNoSignTotalNum(Long roomId);
  111. /**
  112. * 获取未考试学院数
  113. * @param roomId
  114. * @return
  115. */
  116. Integer querySurplusNum(Long roomId);
  117. /**
  118. * 获取当前学员需要等待人数
  119. * @param examRoomId
  120. * @param signInTime
  121. * @return
  122. */
  123. Integer sumWaitNum(@Param("examRoomId") Long examRoomId, @Param("signInTime") String signInTime, @Param("studentId") Integer studentId);
  124. /**
  125. * 获取所有参考学员编号
  126. * @param examRoomId
  127. * @return
  128. */
  129. String getStudentIds(Long examRoomId);
  130. /**
  131. * 获取学员编号注册编号map
  132. * @param examRoomId
  133. * @return
  134. */
  135. List<Map<Integer, String>> getStuRegistrationMap(Long examRoomId);
  136. /**
  137. * 获取房间学员数
  138. * @param roomIds
  139. * @return
  140. */
  141. List<Map<Long,Integer>> getStudentNumMap(@Param("roomIds") Set<Long> roomIds);
  142. /**
  143. * 获取已签到学员数
  144. * @param examRoomId
  145. * @return
  146. */
  147. Integer countSignInNum(Long examRoomId);
  148. /**
  149. * @describe 统计指定教师学员数量
  150. * @author Joburgess
  151. * @date 2020.07.28
  152. * @param examRoomId:
  153. * @return int
  154. */
  155. int countStudentsWithRoom(Long examRoomId);
  156. }