|
@@ -1,447 +1,456 @@
|
|
|
package com.ym.mec.biz.dal.dao;
|
|
|
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+import org.apache.ibatis.annotations.Param;
|
|
|
+
|
|
|
import com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto;
|
|
|
import com.ym.mec.biz.dal.dto.CourseScheduleDto;
|
|
|
+import com.ym.mec.biz.dal.dto.Mapper;
|
|
|
import com.ym.mec.biz.dal.dto.TeacherAttendanceDto;
|
|
|
import com.ym.mec.biz.dal.dto.TeacherClassCourseSchudeleDto;
|
|
|
-import com.ym.mec.biz.dal.entity.*;
|
|
|
+import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
|
|
|
+import com.ym.mec.biz.dal.entity.CourseSchedule;
|
|
|
import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
|
|
|
+import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
|
|
|
+import com.ym.mec.biz.dal.entity.StudentCourseScheduleRecordDto;
|
|
|
import com.ym.mec.biz.dal.enums.CourseStatusEnum;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
|
-import org.apache.ibatis.annotations.Param;
|
|
|
-
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
|
|
|
public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
|
|
|
|
|
|
- /**
|
|
|
- * 根据教师ID获取当前课程信息
|
|
|
- *
|
|
|
- * @param courseID
|
|
|
- * @return
|
|
|
- */
|
|
|
- TeacherAttendanceDto getCurrentCourseDetail(@Param("courseID") Long courseID);
|
|
|
-
|
|
|
- /**
|
|
|
- * @param startTime:
|
|
|
- * @param endTime:
|
|
|
- * @param teacherId:
|
|
|
- * @return com.ym.mec.biz.dal.dto.TeacherAttendanceDto
|
|
|
- * @describe 根据时间区间获取教师上课的课程
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/18
|
|
|
- */
|
|
|
- TeacherAttendanceDto getTeacherCourseByDateSpeed(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("teacherId") Long teacherId);
|
|
|
-
|
|
|
- int batchAddCourseSchedules(List<CourseSchedule> courseSchedules);
|
|
|
-
|
|
|
- /**
|
|
|
- * @describe 批量删除课程计划
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/31
|
|
|
- * @param courseScheduleIds: 课程编号列表
|
|
|
- * @return int
|
|
|
- */
|
|
|
- int batchDeleteCourseSchedules(@Param("courseScheduleIds") List<Long> courseScheduleIds);
|
|
|
-
|
|
|
- /**
|
|
|
- * @describe 统计教师再指定时间区段内存在冲突的课程数量
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/28
|
|
|
- * @param teacherId: 教师编号
|
|
|
- * @param classDate: 上课日期
|
|
|
- * @param startTime: 开始时间
|
|
|
- * @param endTime: 结束时间
|
|
|
- * @return int
|
|
|
- */
|
|
|
- int countExistRepeatInDateZone(@Param("teacherId") Integer teacherId,
|
|
|
- @Param("classDate") Date classDate,
|
|
|
- @Param("startTime") Date startTime,
|
|
|
- @Param("endTime") Date endTime);
|
|
|
-
|
|
|
- /**
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/9/17
|
|
|
- * 统计学生所属班级数量
|
|
|
- */
|
|
|
- Integer[] countStudentInClass(List<Integer> classGroupIDs);
|
|
|
-
|
|
|
- /**
|
|
|
- * @describe 根据课程编号列表获取课程列表
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/22
|
|
|
- * @param courseScheduleIds: 课程编号列表
|
|
|
- * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
|
|
|
- */
|
|
|
- List<CourseSchedule> findByCourseScheduleIds(@Param("courseScheduleIds") List<Long> courseScheduleIds);
|
|
|
-
|
|
|
- /**
|
|
|
- * @describe 根据课程编号列表获取助教列表
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/23
|
|
|
- * @param courseScheduleIds: 课程编号列表
|
|
|
- * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.Integer>>
|
|
|
- */
|
|
|
- List<CourseScheduleTeacherSalary> findTeachingTeachers(@Param("courseScheduleIds") List<Long> courseScheduleIds);
|
|
|
-
|
|
|
- /**
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/9/17
|
|
|
- * 根据日期获取当日排课信息
|
|
|
- */
|
|
|
- List<CourseScheduleDto> getCourseSchedulesWithDate(@Param("classDate") Date classDate);
|
|
|
-
|
|
|
- /**
|
|
|
- * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/10/14
|
|
|
- * @params [classDates, classGroupId]
|
|
|
- * @describe 根据班级和上课日期获取课程计划
|
|
|
- */
|
|
|
- List<CourseSchedule> findByClassGroupAndDate(@Param("classDates") List<Date> classDates, @Param("classGroupId") Long classGroupId);
|
|
|
-
|
|
|
- /**
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/9/17
|
|
|
- * 根据日期获取学生当日排课信息
|
|
|
- */
|
|
|
- List<CourseScheduleDto> getStudentCourseSchedulesWithDate(@Param("classDate") Date classDate, @Param("studentId") Long studentId);
|
|
|
-
|
|
|
- /**
|
|
|
- * @return java.util.List<java.lang.String>
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/10/11
|
|
|
- * @params [courseScheduleId]
|
|
|
- * @describe 获取课程签到学生姓名
|
|
|
- */
|
|
|
- List<String> findStudentNamesByCourseSchedule(Long courseScheduleId);
|
|
|
-
|
|
|
- /**
|
|
|
- * @param classDate: 上课日期
|
|
|
- * @param teacherId: 教师编号
|
|
|
- * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleDto>
|
|
|
- * @describe 根据日期获取老师当日排课信息
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/18
|
|
|
- */
|
|
|
- List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(@Param("classDate") Date classDate,
|
|
|
- @Param("teacherId") Long teacherId,
|
|
|
- @Param("type") String type);
|
|
|
-
|
|
|
- /**
|
|
|
- * @param params:
|
|
|
- * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleDto>
|
|
|
- * @describe 根据日期获取排课
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/18
|
|
|
- */
|
|
|
- List<CourseScheduleDto> getCourseSchedulesWithDate(Map<String, Object> params);
|
|
|
-
|
|
|
- int countCourseSchedulesWithDate(Map<String, Object> params);
|
|
|
-
|
|
|
- /**
|
|
|
- * @param musicGroupID: 乐团编号
|
|
|
- * @return int
|
|
|
- * @describe 根据乐团ID删除排课
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/18
|
|
|
- */
|
|
|
- int deleteCourseSchedulesByMusicGroupID(@Param("musicGroupID") Long musicGroupID);
|
|
|
-
|
|
|
- /**
|
|
|
- * @param musicGroupID: 乐团编号
|
|
|
- * @param month: 月份
|
|
|
- * @return java.util.List<java.util.Date>
|
|
|
- * @describe 根据月份获取乐团在该月有课的日期
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/18
|
|
|
- */
|
|
|
- List<Date> getCourseScheduleDateByMonth(@Param("musicGroupID") Long musicGroupID, @Param("month") Date month);
|
|
|
-
|
|
|
- /**
|
|
|
- * @param studentId:
|
|
|
- * @param month:
|
|
|
- * @param isAttend:
|
|
|
- * @return java.util.List<java.util.Date>
|
|
|
- * @describe 获取学生有课日期
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/18
|
|
|
- */
|
|
|
- List<Date> getStudentCourseScheduleDate(@Param("studentId") Long studentId, @Param("month") Date month, @Param("isAttend") Integer isAttend);
|
|
|
-
|
|
|
- /**
|
|
|
- * @param teacherId:
|
|
|
- * @param month:
|
|
|
- * @return java.util.List<java.util.Date>
|
|
|
- * @describe 获取教师有课日期
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/18
|
|
|
- */
|
|
|
- List<Date> getTeacherCourseScheduleDate(@Param("teacherId") Long teacherId,
|
|
|
- @Param("month") Date month,
|
|
|
- @Param("type") String type);
|
|
|
-
|
|
|
- /**
|
|
|
- * @param month:
|
|
|
- * @param organId:
|
|
|
- * @return java.util.List<java.util.Date>
|
|
|
- * @describe 获取当月有课的日期
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/18
|
|
|
- */
|
|
|
- List<Date> getCourseScheduleDate(@Param("month") Date month, @Param("organId") Long organId);
|
|
|
-
|
|
|
- /**
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/9/23
|
|
|
- * 统计教师在一天内有时间重复的课数
|
|
|
- */
|
|
|
- int countTeacherCourseInOnDayRepeats(CourseSchedule courseSchedule);
|
|
|
-
|
|
|
- /**
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/9/24
|
|
|
- * 根据日期获取对应老师的课程
|
|
|
- */
|
|
|
- List<CourseSchedule> findTeacherCoursesInDates(@Param("dates") List<Date> dates, @Param("teacherId") Long teacherId);
|
|
|
-
|
|
|
- /**
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/9/24
|
|
|
- * 根据日期获取课程
|
|
|
- */
|
|
|
- List<CourseSchedule> findCoursesByDates(@Param("dates") List<Date> dates);
|
|
|
-
|
|
|
- /**
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/9/24
|
|
|
- * 获取在指定时间段内存在重复的课程
|
|
|
- */
|
|
|
- List<CourseSchedule> findOverLapCoursesInDay(@Param("dates") List<Date> dates,
|
|
|
- @Param("startClassTime") Date startClassTime,
|
|
|
- @Param("endClassTime") Date endClassTime);
|
|
|
-
|
|
|
- /**
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/9/29
|
|
|
- * 获取班级的声部
|
|
|
- */
|
|
|
- String[] findClassSubjects(List<Integer> ids);
|
|
|
-
|
|
|
- /**
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/9/24
|
|
|
- * 根据id批量获取课程
|
|
|
- */
|
|
|
- List<CourseSchedule> findCourseSchedulesByIds(@Param("ids") Long[] ids);
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取班级未开始的课程计划
|
|
|
- *
|
|
|
- * @param classGroupTeacherMapperList
|
|
|
- * @return
|
|
|
- */
|
|
|
- List<CourseSchedule> findClassGroupNoStartCourseSchedules(@Param("classGroupTeacherMapperList") List<ClassGroupTeacherMapper> classGroupTeacherMapperList);
|
|
|
-
|
|
|
- /**
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/9/30
|
|
|
- * 获取学生上课记录
|
|
|
- */
|
|
|
- List<StudentCourseScheduleRecordDto> findStudentCourseScheduleRecords(Map<String, Object> params);
|
|
|
-
|
|
|
- /**
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/9/30
|
|
|
- * 统计学生上课记录
|
|
|
- */
|
|
|
- int countStudentCourseScheduleRecords(Map<String, Object> params);
|
|
|
-
|
|
|
- /**
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/9/30
|
|
|
- * 获取学生未上课记录
|
|
|
- */
|
|
|
- List<StudentCourseScheduleRecordDto> findStudentCourseScheduleNotStartRecords(@Param("userId") Long userId, @Param("date") Date date);
|
|
|
-
|
|
|
- /**
|
|
|
- * @return int
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/10/8
|
|
|
- * @params [classGroupId]
|
|
|
- * @describe 统计已上课次
|
|
|
- */
|
|
|
- int countClassTimes(@Param("classGroupId") Long classGroupId,
|
|
|
- @Param("startClassTime") Date startClassTime);
|
|
|
-
|
|
|
- /**
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/9/17
|
|
|
- * 获取课程信息
|
|
|
- */
|
|
|
- CourseScheduleDto getCourseSchedules(@Param("courseScheduleId") Long courseScheduleId);
|
|
|
-
|
|
|
- /**
|
|
|
- * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/10/14
|
|
|
- * @params [vipGroupId]
|
|
|
- * @describe 获取vip课排课计划
|
|
|
- */
|
|
|
- List<CourseSchedule> findVipGroupCourseSchedules(@Param("vipGroupId") Long vipGroupId);
|
|
|
-
|
|
|
- /**
|
|
|
- * @return java.lang.String
|
|
|
- * @Author: Joburgess
|
|
|
- * @Date: 2019/10/16
|
|
|
- * @params [courseScheduleId]
|
|
|
- * @describe 获取课程关联班级类型
|
|
|
- */
|
|
|
- String findClassTypeByCourse(@Param("courseScheduleId") Long courseScheduleId);
|
|
|
-
|
|
|
- /**
|
|
|
- * 根据课程状态查询老师指定月份的VIP课程记录数
|
|
|
- *
|
|
|
- * @param monthDate 指定月份
|
|
|
- * @param status 课程状态
|
|
|
- * @return
|
|
|
- */
|
|
|
- List<Map<Integer, Integer>> queryVipGroupTeachereClassTimesByMonth(@Param("monthDate") Date monthDate, @Param("status") CourseStatusEnum status);
|
|
|
-
|
|
|
- /**
|
|
|
- * 查询已完成未更新状态的课程列表
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- List<CourseSchedule> queryFinishedWithNoUpdateStatus();
|
|
|
-
|
|
|
- int batchUpdate(List<CourseSchedule> courseScheduleList);
|
|
|
-
|
|
|
- /**
|
|
|
- * 查询提前指定分钟数还未签到的用户
|
|
|
- *
|
|
|
- * @param minutes 分钟数
|
|
|
- * @return
|
|
|
- */
|
|
|
- List<CourseSchedule> queryNoSignInListByBeforeMinutes(Integer minutes);
|
|
|
-
|
|
|
- /**
|
|
|
- * @param params: 参数
|
|
|
- * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassCourseSchudeleDto>
|
|
|
- * @describe 查询老师指定班级的排课信息
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/18
|
|
|
- */
|
|
|
- List<TeacherClassCourseSchudeleDto> queryTeacherClassCourseSchedule(Map<String, Object> params);
|
|
|
-
|
|
|
- /**
|
|
|
- * @param params:
|
|
|
- * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassCourseSchudeleDto>
|
|
|
- * @describe 查询老师指定班级历史排课信息
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/19
|
|
|
- */
|
|
|
- List<TeacherClassCourseSchudeleDto> queryTeacherHistoryClassCourseSchedule(Map<String, Object> params);
|
|
|
-
|
|
|
- /**
|
|
|
- * @param params: 参数
|
|
|
- * @return int
|
|
|
- * @describe 统计老师指定班级的排课数量
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/18
|
|
|
- */
|
|
|
- int countTeacherClassCourseSchedule(Map<String, Object> params);
|
|
|
-
|
|
|
- /**
|
|
|
- * @param params:
|
|
|
- * @return int
|
|
|
- * @describe 统计历史老师指定班级的排课数量
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/19
|
|
|
- */
|
|
|
- int countTeacherHistoryClassCourseSchedule(Map<String, Object> params);
|
|
|
-
|
|
|
- /**
|
|
|
- * @param musicGroupId: 乐团编号
|
|
|
- * @return java.util.List<java.util.Map < java.lang.Long, java.lang.Integer>>
|
|
|
- * @describe 统计乐团下班级的排课数
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/18
|
|
|
- */
|
|
|
- List<Map<Integer, Long>> countClassCourseNumByMusicGroup(String musicGroupId);
|
|
|
-
|
|
|
- /**
|
|
|
- * @param courseSchedules: 课程计划编号列表
|
|
|
- * @return java.util.List<java.util.Map < java.lang.Integer, java.lang.Integer>>
|
|
|
- * @describe 根据课程计划获取对应课次
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/20
|
|
|
- */
|
|
|
- List<Map<Integer, Integer>> findCourseScheduleCurrentTimes(List<Integer> courseSchedules);
|
|
|
-
|
|
|
- /**
|
|
|
- * 根据乐团编号修改课程教学点
|
|
|
- *
|
|
|
- * @param musicGroupId
|
|
|
- * @param schoolId
|
|
|
- */
|
|
|
- void updateByMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("schoolId") Integer schoolId);
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取班级某时间后相应节数的课程
|
|
|
- *
|
|
|
- * @param classGroupId
|
|
|
- * @param startDate
|
|
|
- * @param times
|
|
|
- * @return
|
|
|
- */
|
|
|
- List<CourseSchedule> findCourseScheduleByClassGroupIdAndDate(@Param("classGroupId") Integer classGroupId, @Param("startDate") String startDate, @Param("times") int times);
|
|
|
-
|
|
|
- /**
|
|
|
- * 根据时间范围查询老师指定类型的课程列表
|
|
|
- * @param teacherId 老师编号
|
|
|
- * @param type 课程类型 (如果为null,查询所有类型)
|
|
|
- * @param startTime 开始时间
|
|
|
- * @param endTime 结束时间
|
|
|
- * @return
|
|
|
- */
|
|
|
- List<CourseSchedule> queryTeacherCourseScheduleListByTimeRangeAndType(@Param("teacherId") Integer teacherId, @Param("type") CourseScheduleType type,
|
|
|
- @Param("startTime") Date startTime, @Param("endTime") Date endTime);
|
|
|
-
|
|
|
- /**
|
|
|
- * 查询班级未开始的课程
|
|
|
- *
|
|
|
- * @param classGroupId
|
|
|
- * @return
|
|
|
- */
|
|
|
- List<CourseSchedule> findNoStartCoursesByClassGroupId(@Param("classGroupId") Integer classGroupId);
|
|
|
-
|
|
|
- /**
|
|
|
- * @describe 获取点名详情头部信息
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/24
|
|
|
- * @param courseScheduleId: 课程编号
|
|
|
- * @return com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto
|
|
|
- */
|
|
|
- CourseAttendanceDetailHeadInfoDto findByCourse(Long courseScheduleId);
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取学员购买的所有乐团和vip编号分页列表
|
|
|
- * @param params
|
|
|
- * @return
|
|
|
- */
|
|
|
- List<String> queryMusicGroupIds(Map<String, Object> params);
|
|
|
-
|
|
|
- /**
|
|
|
- * @describe 获取时间段内的课程
|
|
|
- * @author Joburgess
|
|
|
- * @date 2019/10/31
|
|
|
- * @param startTime: 开始时间
|
|
|
- * @param endTime: 结束时间
|
|
|
- * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
|
|
|
- */
|
|
|
- List<CourseSchedule> findByDateZone(@Param("startTime") Date startTime,
|
|
|
- @Param("endTime") Date endTime);
|
|
|
+ /**
|
|
|
+ * 根据教师ID获取当前课程信息
|
|
|
+ *
|
|
|
+ * @param courseID
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ TeacherAttendanceDto getCurrentCourseDetail(@Param("courseID") Long courseID);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param startTime:
|
|
|
+ * @param endTime:
|
|
|
+ * @param teacherId:
|
|
|
+ * @return com.ym.mec.biz.dal.dto.TeacherAttendanceDto
|
|
|
+ * @describe 根据时间区间获取教师上课的课程
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/18
|
|
|
+ */
|
|
|
+ TeacherAttendanceDto getTeacherCourseByDateSpeed(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("teacherId") Long teacherId);
|
|
|
+
|
|
|
+ int batchAddCourseSchedules(List<CourseSchedule> courseSchedules);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @describe 批量删除课程计划
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/31
|
|
|
+ * @param courseScheduleIds: 课程编号列表
|
|
|
+ * @return int
|
|
|
+ */
|
|
|
+ int batchDeleteCourseSchedules(@Param("courseScheduleIds") List<Long> courseScheduleIds);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @describe 统计教师再指定时间区段内存在冲突的课程数量
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/28
|
|
|
+ * @param teacherId: 教师编号
|
|
|
+ * @param classDate: 上课日期
|
|
|
+ * @param startTime: 开始时间
|
|
|
+ * @param endTime: 结束时间
|
|
|
+ * @return int
|
|
|
+ */
|
|
|
+ int countExistRepeatInDateZone(@Param("teacherId") Integer teacherId, @Param("classDate") Date classDate, @Param("startTime") Date startTime,
|
|
|
+ @Param("endTime") Date endTime);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/9/17
|
|
|
+ * 统计学生所属班级数量
|
|
|
+ */
|
|
|
+ Integer[] countStudentInClass(List<Integer> classGroupIDs);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @describe 根据课程编号列表获取课程列表
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/22
|
|
|
+ * @param courseScheduleIds: 课程编号列表
|
|
|
+ * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
|
|
|
+ */
|
|
|
+ List<CourseSchedule> findByCourseScheduleIds(@Param("courseScheduleIds") List<Long> courseScheduleIds);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @describe 根据课程编号列表获取助教列表
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/23
|
|
|
+ * @param courseScheduleIds: 课程编号列表
|
|
|
+ * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.Integer>>
|
|
|
+ */
|
|
|
+ List<CourseScheduleTeacherSalary> findTeachingTeachers(@Param("courseScheduleIds") List<Long> courseScheduleIds);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/9/17
|
|
|
+ * 根据日期获取当日排课信息
|
|
|
+ */
|
|
|
+ List<CourseScheduleDto> getCourseSchedulesWithDate(@Param("classDate") Date classDate);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/10/14
|
|
|
+ * @params [classDates, classGroupId]
|
|
|
+ * @describe 根据班级和上课日期获取课程计划
|
|
|
+ */
|
|
|
+ List<CourseSchedule> findByClassGroupAndDate(@Param("classDates") List<Date> classDates, @Param("classGroupId") Long classGroupId);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/9/17
|
|
|
+ * 根据日期获取学生当日排课信息
|
|
|
+ */
|
|
|
+ List<CourseScheduleDto> getStudentCourseSchedulesWithDate(@Param("classDate") Date classDate, @Param("studentId") Long studentId);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @return java.util.List<java.lang.String>
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/10/11
|
|
|
+ * @params [courseScheduleId]
|
|
|
+ * @describe 获取课程签到学生姓名
|
|
|
+ */
|
|
|
+ List<String> findStudentNamesByCourseSchedule(Long courseScheduleId);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param classDate: 上课日期
|
|
|
+ * @param teacherId: 教师编号
|
|
|
+ * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleDto>
|
|
|
+ * @describe 根据日期获取老师当日排课信息
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/18
|
|
|
+ */
|
|
|
+ List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(@Param("classDate") Date classDate, @Param("teacherId") Long teacherId, @Param("type") String type);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param params:
|
|
|
+ * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleDto>
|
|
|
+ * @describe 根据日期获取排课
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/18
|
|
|
+ */
|
|
|
+ List<CourseScheduleDto> getCourseSchedulesWithDate(Map<String, Object> params);
|
|
|
+
|
|
|
+ int countCourseSchedulesWithDate(Map<String, Object> params);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param musicGroupID: 乐团编号
|
|
|
+ * @return int
|
|
|
+ * @describe 根据乐团ID删除排课
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/18
|
|
|
+ */
|
|
|
+ int deleteCourseSchedulesByMusicGroupID(@Param("musicGroupID") Long musicGroupID);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param musicGroupID: 乐团编号
|
|
|
+ * @param month: 月份
|
|
|
+ * @return java.util.List<java.util.Date>
|
|
|
+ * @describe 根据月份获取乐团在该月有课的日期
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/18
|
|
|
+ */
|
|
|
+ List<Date> getCourseScheduleDateByMonth(@Param("musicGroupID") Long musicGroupID, @Param("month") Date month);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param studentId:
|
|
|
+ * @param month:
|
|
|
+ * @param isAttend:
|
|
|
+ * @return java.util.List<java.util.Date>
|
|
|
+ * @describe 获取学生有课日期
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/18
|
|
|
+ */
|
|
|
+ List<Date> getStudentCourseScheduleDate(@Param("studentId") Long studentId, @Param("month") Date month, @Param("isAttend") Integer isAttend);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param teacherId:
|
|
|
+ * @param month:
|
|
|
+ * @return java.util.List<java.util.Date>
|
|
|
+ * @describe 获取教师有课日期
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/18
|
|
|
+ */
|
|
|
+ List<Date> getTeacherCourseScheduleDate(@Param("teacherId") Long teacherId, @Param("month") Date month, @Param("type") String type);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param month:
|
|
|
+ * @param organId:
|
|
|
+ * @return java.util.List<java.util.Date>
|
|
|
+ * @describe 获取当月有课的日期
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/18
|
|
|
+ */
|
|
|
+ List<Date> getCourseScheduleDate(@Param("month") Date month, @Param("organId") Long organId);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/9/23
|
|
|
+ * 统计教师在一天内有时间重复的课数
|
|
|
+ */
|
|
|
+ int countTeacherCourseInOnDayRepeats(CourseSchedule courseSchedule);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/9/24
|
|
|
+ * 根据日期获取对应老师的课程
|
|
|
+ */
|
|
|
+ List<CourseSchedule> findTeacherCoursesInDates(@Param("dates") List<Date> dates, @Param("teacherId") Long teacherId);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/9/24
|
|
|
+ * 根据日期获取课程
|
|
|
+ */
|
|
|
+ List<CourseSchedule> findCoursesByDates(@Param("dates") List<Date> dates);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/9/24
|
|
|
+ * 获取在指定时间段内存在重复的课程
|
|
|
+ */
|
|
|
+ List<CourseSchedule> findOverLapCoursesInDay(@Param("dates") List<Date> dates, @Param("startClassTime") Date startClassTime,
|
|
|
+ @Param("endClassTime") Date endClassTime);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/9/29
|
|
|
+ * 获取班级的声部
|
|
|
+ */
|
|
|
+ String[] findClassSubjects(List<Integer> ids);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/9/24
|
|
|
+ * 根据id批量获取课程
|
|
|
+ */
|
|
|
+ List<CourseSchedule> findCourseSchedulesByIds(@Param("ids") Long[] ids);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取班级未开始的课程计划
|
|
|
+ *
|
|
|
+ * @param classGroupTeacherMapperList
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ List<CourseSchedule> findClassGroupNoStartCourseSchedules(@Param("classGroupTeacherMapperList") List<ClassGroupTeacherMapper> classGroupTeacherMapperList);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/9/30
|
|
|
+ * 获取学生上课记录
|
|
|
+ */
|
|
|
+ List<StudentCourseScheduleRecordDto> findStudentCourseScheduleRecords(Map<String, Object> params);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/9/30
|
|
|
+ * 统计学生上课记录
|
|
|
+ */
|
|
|
+ int countStudentCourseScheduleRecords(Map<String, Object> params);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/9/30
|
|
|
+ * 获取学生未上课记录
|
|
|
+ */
|
|
|
+ List<StudentCourseScheduleRecordDto> findStudentCourseScheduleNotStartRecords(@Param("userId") Long userId, @Param("date") Date date);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @return int
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/10/8
|
|
|
+ * @params [classGroupId]
|
|
|
+ * @describe 统计已上课次
|
|
|
+ */
|
|
|
+ int countClassTimes(@Param("classGroupId") Long classGroupId, @Param("startClassTime") Date startClassTime);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/9/17
|
|
|
+ * 获取课程信息
|
|
|
+ */
|
|
|
+ CourseScheduleDto getCourseSchedules(@Param("courseScheduleId") Long courseScheduleId);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/10/14
|
|
|
+ * @params [vipGroupId]
|
|
|
+ * @describe 获取vip课排课计划
|
|
|
+ */
|
|
|
+ List<CourseSchedule> findVipGroupCourseSchedules(@Param("vipGroupId") Long vipGroupId);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @return java.lang.String
|
|
|
+ * @Author: Joburgess
|
|
|
+ * @Date: 2019/10/16
|
|
|
+ * @params [courseScheduleId]
|
|
|
+ * @describe 获取课程关联班级类型
|
|
|
+ */
|
|
|
+ String findClassTypeByCourse(@Param("courseScheduleId") Long courseScheduleId);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据课程状态查询老师指定月份的VIP课程记录数
|
|
|
+ *
|
|
|
+ * @param monthDate 指定月份
|
|
|
+ * @param status 课程状态
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ List<Map<Integer, Integer>> queryVipGroupTeachereClassTimesByMonth(@Param("monthDate") Date monthDate, @Param("status") CourseStatusEnum status);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询已完成未更新状态的课程列表
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ List<CourseSchedule> queryFinishedWithNoUpdateStatus();
|
|
|
+
|
|
|
+ int batchUpdate(List<CourseSchedule> courseScheduleList);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询提前指定分钟数还未签到的用户
|
|
|
+ *
|
|
|
+ * @param minutes 分钟数
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ List<CourseSchedule> queryNoSignInListByBeforeMinutes(Integer minutes);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param params: 参数
|
|
|
+ * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassCourseSchudeleDto>
|
|
|
+ * @describe 查询老师指定班级的排课信息
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/18
|
|
|
+ */
|
|
|
+ List<TeacherClassCourseSchudeleDto> queryTeacherClassCourseSchedule(Map<String, Object> params);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param params:
|
|
|
+ * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassCourseSchudeleDto>
|
|
|
+ * @describe 查询老师指定班级历史排课信息
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/19
|
|
|
+ */
|
|
|
+ List<TeacherClassCourseSchudeleDto> queryTeacherHistoryClassCourseSchedule(Map<String, Object> params);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param params: 参数
|
|
|
+ * @return int
|
|
|
+ * @describe 统计老师指定班级的排课数量
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/18
|
|
|
+ */
|
|
|
+ int countTeacherClassCourseSchedule(Map<String, Object> params);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param params:
|
|
|
+ * @return int
|
|
|
+ * @describe 统计历史老师指定班级的排课数量
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/19
|
|
|
+ */
|
|
|
+ int countTeacherHistoryClassCourseSchedule(Map<String, Object> params);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param musicGroupId: 乐团编号
|
|
|
+ * @return java.util.List<java.util.Map < java.lang.Long, java.lang.Integer>>
|
|
|
+ * @describe 统计乐团下班级的排课数
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/18
|
|
|
+ */
|
|
|
+ List<Map<Integer, Long>> countClassCourseNumByMusicGroup(String musicGroupId);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param courseSchedules: 课程计划编号列表
|
|
|
+ * @return java.util.List<java.util.Map < java.lang.Integer, java.lang.Integer>>
|
|
|
+ * @describe 根据课程计划获取对应课次
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/20
|
|
|
+ */
|
|
|
+ List<Map<Integer, Integer>> findCourseScheduleCurrentTimes(List<Integer> courseSchedules);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据乐团编号修改课程教学点
|
|
|
+ *
|
|
|
+ * @param musicGroupId
|
|
|
+ * @param schoolId
|
|
|
+ */
|
|
|
+ void updateByMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("schoolId") Integer schoolId);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取班级某时间后相应节数的课程
|
|
|
+ *
|
|
|
+ * @param classGroupId
|
|
|
+ * @param startDate
|
|
|
+ * @param times
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ List<CourseSchedule> findCourseScheduleByClassGroupIdAndDate(@Param("classGroupId") Integer classGroupId, @Param("startDate") String startDate,
|
|
|
+ @Param("times") int times);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据时间范围查询老师指定类型的课程列表
|
|
|
+ * @param teacherId 老师编号
|
|
|
+ * @param type 课程类型 (如果为null,查询所有类型)
|
|
|
+ * @param startTime 开始时间
|
|
|
+ * @param endTime 结束时间
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ List<CourseSchedule> queryTeacherCourseScheduleListByTimeRangeAndType(@Param("teacherId") Integer teacherId, @Param("type") CourseScheduleType type,
|
|
|
+ @Param("startTime") Date startTime, @Param("endTime") Date endTime);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询班级未开始的课程
|
|
|
+ *
|
|
|
+ * @param classGroupId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ List<CourseSchedule> findNoStartCoursesByClassGroupId(@Param("classGroupId") Integer classGroupId);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @describe 获取点名详情头部信息
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/24
|
|
|
+ * @param courseScheduleId: 课程编号
|
|
|
+ * @return com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto
|
|
|
+ */
|
|
|
+ CourseAttendanceDetailHeadInfoDto findByCourse(Long courseScheduleId);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取学员购买的所有乐团和vip编号分页列表
|
|
|
+ * @param params
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ List<String> queryMusicGroupIds(Map<String, Object> params);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @describe 获取时间段内的课程
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2019/10/31
|
|
|
+ * @param startTime: 开始时间
|
|
|
+ * @param endTime: 结束时间
|
|
|
+ * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
|
|
|
+ */
|
|
|
+ List<CourseSchedule> findByDateZone(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询用户明天的课程数
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ List<Mapper> queryStudentCoursesTimesOfTomorrow();
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询90分钟内未上的课程
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ List<Mapper> queryNotStartCourseScheduleIn90Mins();
|
|
|
}
|