123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480 |
- package com.ym.mec.biz.service;
- import com.ym.mec.biz.dal.dto.*;
- import com.ym.mec.biz.dal.entity.CourseGenerateDto;
- import com.ym.mec.biz.dal.entity.CourseSchedule;
- import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
- import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
- import com.ym.mec.biz.dal.enums.AuditStatusEnum;
- import com.ym.mec.biz.dal.enums.GroupType;
- import com.ym.mec.biz.dal.enums.TeachModeEnum;
- import com.ym.mec.biz.dal.enums.YesOrNoEnum;
- import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
- import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
- import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
- import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
- import com.ym.mec.common.page.PageInfo;
- import com.ym.mec.common.service.BaseService;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- public interface CourseScheduleService extends BaseService<Long, CourseSchedule> {
- /**
- * @Author: Joburgess
- * @Date: 2019/9/10
- * 根据课程ID获取当前课程的信息
- */
- TeacherAttendanceDto getCurrentCourseDetail(Long courseID);
- /**
- * @describe 根据课程编号删除课程计划及对应的学生缴费、教师课酬记录、教师签到记录
- * @author Joburgess
- * @date 2019/10/31
- * @param courseScheduleIds: 课程计划编号列表
- * @return int
- */
- void batchDeleteCourseSchedules(List<Long> courseScheduleIds);
- /**
- * @describe 删除乐团下所有未上的课时
- * @author Joburgess
- * @date 2019/11/16
- * @param musicGroupId:
- * @return void
- */
- void batchDeleteMusicGroupNotStartCourse(String musicGroupId,GroupType groupType);
- /**
- * @describe 删除指定乐团下指定状态的课程
- * @author Joburgess
- * @date 2019/11/26
- * @param musicGroupId: 乐团编号
- * @param userId: 用户编号
- * @param groupType: 乐团类型
- * @return void
- */
- void batchDeleteMusicGroupCourseWithStudent(String musicGroupId, Integer userId, GroupType groupType);
- /**
- * @describe 判断该课程是否只能进行正常签到
- * @author Joburgess
- * @date 2019/11/5
- * @param startClassTime: 课程开始时间
- * @param userId: 教师编号
- * @param checkSchool: 是否判断教学点
- * @param schoolId: 学校编号
- * @return com.ym.mec.biz.dal.enums.YesOrNoEnum
- */
- YesOrNoEnum enableOnlyNormalAttendance(Date startClassTime,Long userId,boolean checkSchool,Integer schoolId);
-
- /**
- * 给班级加课
- * @param classGroupId 班级编号
- * @param coursesTimes 增加的课次
- * @param startDate 排课开始时间
- * @param startDate 排课结束时间
- * @param teachingArrangementList 教学安排(周几,几点-几点)
- * @param teachMode 教学模式
- * @param type 课程类型
- * @param schoolId 教学点
- * @param isJumpHoliday 是否跳过节假日
- * @return
- */
- boolean batchAddCourseSchedule(Integer classGroupId, int coursesTimes, Date startDate, Date groupEndDate, Date groupStartDate, List<CourseTimeDto> teachingArrangementList,
- TeachModeEnum teachMode, CourseScheduleType type, Integer schoolId, boolean isJumpHoliday);
-
- /**
- * 批量调整
- * @param batchInsertCoursesDto
- * @return
- */
- boolean batchUpdateCourseSchedule(BatchInsertCoursesDto batchInsertCoursesDto);
- /**
- * @Author: Joburgess
- * @Date: 2019/9/17
- * 批量插入课程计划
- */
- void batchAddCourseSchedule(List<CourseSchedule> courseSchedules);
- /**
- * @describe 创建乐团课课程计划
- * @author Joburgess
- * @date 2019/10/24
- * @param courseSchedules: 课程计划列表
- * @return void
- */
- void createCourseSchedules(CreateCourseScheduleDto createCourseScheduleDto);
- /**
- * @Author: Joburgess
- * @Date: 2019/9/17
- * 批量更新课程计划
- */
- void batchUpdateCourseSchedule(List<CourseSchedule> courseSchedules, String musicGroupID);
- /**
- * @Author: Joburgess
- * @Date: 2019/9/17
- * 根据日期获取当日排课信息
- */
- Map getStudentCourseSchedulesWithDate(Date classDate);
- /**
- * @Author: Joburgess
- * @Date: 2019/9/17
- * 根据日期获取当日排课信息
- */
- List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(Integer userId, Date classDate, String type);
- /**
- * @describe 根据日期获取
- * @author Joburgess
- * @date 2019/12/26
- * @param userId:
- * @param classDate:
- * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleDto>
- */
- List<CourseScheduleDto> getTeacherHistoryCourseSchedulesWithDate(Integer userId, Date classDate);
- /**
- * @Author: Joburgess
- * @Date: 2019/9/17
- * 根据日期获取当日排课信息
- */
- PageInfo getCourseSchedulesWithDateByEdu(CourseScheduleQueryInfo queryInfo);
- /**
- * @Author: Joburgess
- * @Date: 2019/9/17
- * 根据月份获取乐团在该月有课的日期
- */
- List<Date> getCourseScheduleDateByMonth(Long musicGroupID, Date month);
- /**
- * @Author: Joburgess
- * @Date: 2019/9/17
- * 根据学生获取乐团在该月有课的日期
- */
- List<Date> getCourseScheduleDateByStudent(Date month, Integer isAttend);
- /**
- * @Author: Joburgess
- * @Date: 2019/9/17
- * 获取教师在该月有课的日期
- */
- List<Date> getCourseScheduleDateByTeacher(Date month, String type);
- /**
- * @describe
- * @author Joburgess
- * @date 2019/12/26
- * @param month:
- * @return java.util.List<java.util.Date>
- */
- List<Date> getHistoryCourseScheduleDateByTeacher(Integer userId,Date month);
- /**
- * @Author: Joburgess
- * @Date: 2019/10/11
- * @params [month]
- * @return java.util.List<java.util.Date>
- * @describe 获取
- */
- List<Date> getCourseScheduleDates(Date month, String organIdList, String type);
- /**
- * @describe 课程调整
- * @author Joburgess
- * @date 2019/11/7
- * @param newCourseSchedules: 课程计划列表
- * @return void
- */
- void courseAdjust(List<CourseSchedule> newCourseSchedules);
- /**
- * @Author: Joburgess
- * @Date: 2019/9/23
- * 课时调整
- */
- void classStartDateAdjust(List<CourseSchedule> newCourseSchedules);
- /**
- * @describe 小课课程批量调整
- * @author Joburgess
- * @date 2019/12/11
- * @param vipGroupCourseAdjustInfo: 调整信息
- * @return void
- */
- void vipCourseAdjust(VipGroupCourseAdjustInfoDto vipGroupCourseAdjustInfo);
- /**
- * @describe 课程顺延
- * @author Joburgess
- * @date 2020/1/2
- * @param coursePostPoneInfo:
- * @return void
- */
- void coursePostpone(CoursePostponeDto coursePostPoneInfo);
- /**
- * @describe vip课批量新增-后端处理
- * @author Joburgess
- * @date 2019/12/12
- * @param vipGroupCourseAdjustInfoDto: 加课信息
- * @return void
- */
- void batchAppendVipGroupCourses(VipGroupCourseAdjustInfoDto vipGroupCourseAdjustInfoDto);
- /**
- * @Author: Joburgess
- * @Date: 2019/9/24
- * 课程交换
- */
- void courseSwap(Long courseScheduleId1, Long courseScheduleId2);
- /**
- * @Author: Joburgess
- * @Date: 2019/10/14
- * @params [day1, day2]
- * @return void
- * @describe 对调两天的课程
- */
- void courseSwapWithDay(Date day1, Date day2);
- /**
- * @describe 检测数据库不存在的课程是否存在错误
- * @author Joburgess
- * @date 2019/10/31
- * @param courseSchedules: 课程列表
- * @return void
- */
- void checkNewCourseSchedules(List<CourseSchedule> courseSchedules,boolean checkExistCourseSchedule);
- void checkNewCourseSchedulesWithoutMusicGroup(List<CourseSchedule> courseSchedules,boolean checkExistCourseSchedule);
- /**
- * @describe 临时课检测
- * @author Joburgess
- * @date 2019/12/6
- * @param courseSchedules: 课程计划列表
- * @return void
- */
- List<Long> checkSnapCourseShchedules(List<CourseSchedule> courseSchedules);
- /**
- * @describe
- * @author Joburgess
- * @date 2019/12/23
- * @param courseSchedules: 生成课程名称
- * @return void
- */
- void createCourseScheduleName(List<CourseSchedule> courseSchedules);
- /**
- * 获取乐团班级未开始的课程
- *
- * @param classGroupIds
- * @param groupType
- * @return
- */
- List<CourseSchedule> findClassGroupNoStartCourseSchedules(List<Integer> classGroupIds, GroupType groupType);
- /**
- * @Author: Joburgess
- * @Date: 2019/9/30
- * 获取学生上课记录
- */
- Object findStudentCourseScheduleRecords(StudentCourseScheduleRecordQueryInfo queryInfo);
- /**
- * @Author: Joburgess
- * @Date: 2019/10/3
- * @params [courseScheduleComplaints]
- * @return void
- * @describe 课程投诉
- */
- void courseScheduleCommplaint(CourseScheduleComplaints courseScheduleComplaints);
- /**
- * @Author: Joburgess
- * @Date: 2019/10/3
- * @params [id] 申诉编号
- * @params [teacherLiabilityRatio] 老师责任比
- * @params [studentLiabilityRatio] 学生责任比
- * @params [status] 审批状态
- * @return void
- * @describe 课程投诉审核
- */
- void courseScheduleCommplaintAudit(Long id, Double teacherLiabilityRatio, Double studentLiabilityRatio, AuditStatusEnum status);
- /**
- * 更新课程至结束状态
- * @return
- */
- boolean updateCourseScheduleToOverStatus();
- /**
- * @describe 获取老师指定班级的排课
- * @author Joburgess
- * @date 2019/10/18
- * @param queryInfo: 参数
- * @return com.ym.mec.common.page.PageInfo
- */
- PageInfo queryTeacherClassCourseSchedule(CourseScheduleQueryInfo queryInfo);
- /**
- * @describe 获取点名详情界面头部信息
- * @author Joburgess
- * @date 2019/10/24
- * @param courseScheduleId: 课程编号
- * @return com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto
- */
- CourseAttendanceDetailHeadInfoDto findCourseAttendanceDetailHeadInfo(Long courseScheduleId);
- /**
- * @describe 检测指定乐团下所有班级是否已排课
- * @author Joburgess
- * @date 2019/10/18
- * @param musicGroupId: 乐团编号
- * @return void
- */
- void checkMusicGroupClassCourse(String musicGroupId);
- /**
- * @describe 根据课程计划编号获取当前课次
- * @author Joburgess
- * @date 2019/10/20
- * @param courseSchedules:
- * @return java.util.Map<java.lang.Integer,java.lang.Integer>
- */
- Map<Integer, Integer> findCourseScheduleCurrentTimes(List<Integer> courseSchedules);
- /**
- * 查询班级未开始的课程
- *
- * @param classGroupId
- * @return
- */
- List<CourseSchedule> findNoStartCoursesByClassGroupId(Integer classGroupId);
- /**
- * 学生有课提醒
- * @return
- */
- void studentCoursesScheduleRemind();
- /**
- * 学生上课提醒
- */
- void studentSignInRemind();
- /**
- * 老师课程提醒
- */
- void teacherCoursesScheduleRemind();
- /**
- * 老师上课提醒
- */
- void teacherSignInRemind();
- /**
- * @describe 获取班级的课程计划
- * @author Joburgess
- * @date 2019/11/5
- * @param classGroupId: 班级编号
- * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
- */
- List<CourseSchedule> findCourseScheduleByClassGroup(Integer classGroupId);
- /**
- * @describe
- * @author Joburgess
- * @date 2019/11/14
- * @param queryInfo:
- * @return com.ym.mec.common.page.PageInfo
- */
- Object findVipGroupCourseSchedules(VipGroupQueryInfo queryInfo);
- /**
- * @describe 根据参数生成课程计划日期
- * @author Joburgess
- * @date 2019/12/23
- * @param courseGenerateDto: 排课信息
- * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
- */
- List<CourseSchedule> createCourses(CourseGenerateDto courseGenerateDto);
- /**
- * @describe 终极课表获取接口
- * @author Joburgess
- * @date 2019/12/27
- * @param queryInfo: 查询条件
- * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleEndDto>
- */
- PageInfo<CourseScheduleEndDto> endFindCourseSchedules(EndCourseScheduleQueryInfo queryInfo);
- /**
- * @describe 陪练课程调整
- * @author Joburgess
- * @date 2020/2/9
- * @param courseSchedule:
- * @return void
- */
- void practiceCourseAdjust(CourseSchedule courseSchedule);
- /**
- * 陪练课老师调整
- * @param courseScheduleId
- * @param teacherId
- */
- void practiceCourseTeacherAdjust(Long courseScheduleId,Integer teacherId);
- /**
- * 陪练课课程组老师调整
- * @param practiceGroupId
- * @param teacherId
- */
- void practiceGroupTeacherAdjust(String practiceGroupId, Integer teacherId, Integer subjectId);
- /**
- * 清空老师和学生考勤
- * @param courseScheduleIds
- */
- void cleanAttendance(String courseScheduleIds);
- /**
- * 教师端中间页课程评价数据获取
- * @param courseScheduleId
- * @return
- */
- Object teacherCourseRemarkInfo(Long courseScheduleId);
- /**
- * 教师端中间页课程评价数据提交
- * @param teacherRemarkCommitDto
- * @return
- */
- void teacherCourseRemarkCommit(TeacherRemarkCommitDto teacherRemarkCommitDto);
- /**
- * 教师端中间页网络教室头部详情
- * @param courseScheduleId
- * @return
- */
- Object teacherCourseHeadInfo(Long courseScheduleId);
- /**
- * 教师端中间页网络教室课程进度列表
- * @param courseScheduleId
- * @return
- */
- Object teacherCourseRates(Long courseScheduleId);
- }
|