StudentAttendanceService.java 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.ym.mec.biz.service;
  2. import com.ym.mec.biz.dal.dto.CourseScheduleResponse;
  3. import com.ym.mec.biz.dal.dto.StudentAttendanceDto;
  4. import com.ym.mec.biz.dal.dto.StudentPersonalAttendanceDto;
  5. import com.ym.mec.biz.dal.entity.StudentAttendance;
  6. import com.ym.mec.biz.dal.enums.SignStatusEnum;
  7. import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
  8. import com.ym.mec.biz.dal.page.CourseHomeworkQueryInfo;
  9. import com.ym.mec.common.page.PageInfo;
  10. import com.ym.mec.common.page.QueryInfo;
  11. import com.ym.mec.common.service.BaseService;
  12. import java.util.Map;
  13. public interface StudentAttendanceService extends BaseService<Long, StudentAttendance> {
  14. /**
  15. * @Author: Joburgess
  16. * @Date: 2019/9/11
  17. * 批量插入学生上课签到信息
  18. */
  19. void addStudentAttendances(StudentAttendanceDto studentAttendanceInfo);
  20. /**
  21. * @describe 更新学生点名信息
  22. * @author Joburgess
  23. * @date 2020/1/17
  24. * @param studentAttendanceInfo:
  25. * @return void
  26. */
  27. void updateStudentAttendances(StudentAttendanceDto studentAttendanceInfo);
  28. /**
  29. * @describe 获取当前课程的学生
  30. * @author Joburgess
  31. * @date 2019/10/19
  32. * @param queryInfo: 查询参数
  33. * @return java.util.Map<java.lang.String,java.lang.Object>
  34. */
  35. Map<String, Object> getCurrentCourseStudents(QueryInfo queryInfo);
  36. /**
  37. * @Author: Joburgess
  38. * @Date: 2019/9/16
  39. * 获取学生个人签到信息
  40. */
  41. PageInfo<StudentPersonalAttendanceDto> getStudentPersonalAttendances(QueryInfo queryInfo);
  42. /**
  43. * 请假
  44. * @param userId 用户编号
  45. * @param courseScheduleId 课程编号
  46. * @param remark 请假理由
  47. * @return
  48. */
  49. boolean leave(Integer userId, Long courseScheduleId, String remark);
  50. /**
  51. * @describe 历史考勤详情
  52. * @author Joburgess
  53. * @date 2019/10/28
  54. * @param queryInfo: 请求参数
  55. * @return java.lang.Object
  56. */
  57. PageInfo statisticsList(CourseHomeworkQueryInfo queryInfo);
  58. /**
  59. * @describe 历史考勤头部信息
  60. * @author Joburgess
  61. * @date 2019/10/28
  62. * @param classGroupId: 班级编号
  63. * @return com.ym.mec.biz.dal.dto.CourseScheduleResponse
  64. */
  65. CourseScheduleResponse getStatisticsInfo(Integer classGroupId);
  66. /**
  67. * 线上课学生考勤
  68. * @param courseScheduleId
  69. * @param userId
  70. * @param statusEnum
  71. */
  72. void addStudentAttendanceRecord(Integer courseScheduleId, Integer userId, StudentAttendanceStatusEnum statusEnum,SignStatusEnum signStatusEnum);
  73. /**
  74. * 某节课所有学员签到状态
  75. * @param queryInfo
  76. * @return
  77. */
  78. PageInfo<StudentAttendance> findStudentAttendance(QueryInfo queryInfo);
  79. /**
  80. * 修复连堂课学生签到记录
  81. * @param month
  82. */
  83. void repairStudentAttendance(Integer month);
  84. }