فهرست منبع

增加班级调整接口

周箭河 5 سال پیش
والد
کامیت
a3c118ddcf

+ 65 - 50
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -25,13 +25,13 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     TeacherAttendanceDto getCurrentCourseDetail(@Param("courseID") Long courseID);
 
     /**
-     * @describe 根据时间区间获取教师上课的课程
-     * @author Joburgess
-     * @date 2019/10/18
      * @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);
 
@@ -52,10 +52,10 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     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]
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 根据班级和上课日期获取课程计划
      */
     List<CourseSchedule> findByClassGroupAndDate(@Param("classDates") List<Date> classDates, @Param("classGroupId") Long classGroupId);
@@ -68,82 +68,82 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     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]
-     * @return java.util.List<java.lang.String>
      * @describe 获取课程签到学生姓名
      */
     List<String> findStudentNamesByCourseSchedule(Long courseScheduleId);
 
     /**
-     * @describe 根据日期获取老师当日排课信息
-     * @author Joburgess
-     * @date 2019/10/18
      * @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 params:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleDto>
      * @describe 根据日期获取排课
      * @author Joburgess
      * @date 2019/10/18
-     * @param params:
-     * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleDto>
      */
     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
-     * @param musicGroupID: 乐团编号
-     * @return int
      */
     int deleteCourseSchedulesByMusicGroupID(@Param("musicGroupID") Long musicGroupID);
 
     /**
+     * @param musicGroupID: 乐团编号
+     * @param month:        月份
+     * @return java.util.List<java.util.Date>
      * @describe 根据月份获取乐团在该月有课的日期
      * @author Joburgess
      * @date 2019/10/18
-     * @param musicGroupID: 乐团编号
-     * @param month: 月份
-     * @return java.util.List<java.util.Date>
      */
     List<Date> getCourseScheduleDateByMonth(@Param("musicGroupID") Long musicGroupID, @Param("month") Date month);
 
     /**
-     * @describe 获取学生有课日期
-     * @author Joburgess
-     * @date 2019/10/18
      * @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);
 
     /**
-     * @describe 获取教师有课日期
-     * @author Joburgess
-     * @date 2019/10/18
      * @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);
 
     /**
-     * @describe 获取当月有课的日期
-     * @author Joburgess
-     * @date 2019/10/18
      * @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);
 
@@ -192,6 +192,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 获取班级未开始的课程计划
+     *
      * @param classGroupTeacherMapperList
      * @return
      */
@@ -219,10 +220,10 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<StudentCourseScheduleRecordDto> findStudentCourseScheduleNotStartRecords(@Param("userId") Long userId, @Param("date") Date date);
 
     /**
+     * @return int
      * @Author: Joburgess
      * @Date: 2019/10/8
      * @params [classGroupId]
-     * @return int
      * @describe 统计已上课次
      */
     int countClassTimes(Long classGroupId);
@@ -235,104 +236,118 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     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]
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 获取vip课排课计划
      */
     List<CourseSchedule> findVipGroupCourseSchedules(@Param("vipGroupId") Long vipGroupId);
 
     /**
+     * @return java.lang.String
      * @Author: Joburgess
      * @Date: 2019/10/16
      * @params [courseScheduleId]
-     * @return java.lang.String
      * @describe 获取课程关联班级类型
      */
     String findClassTypeByCourse(@Param("courseScheduleId") Long courseScheduleId);
 
     /**
      * 根据课程状态查询老师指定月份的VIP课程记录数
+     *
      * @param monthDate 指定月份
-     * @param status 课程状态
+     * @param status    课程状态
      * @return
      */
-    List<Map<Integer, Integer>> queryVipGroupTeachereClassTimesByMonth(@Param("monthDate") Date monthDate,@Param("status") CourseStatusEnum status);
+    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
-     * @param params: 参数
-     * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassCourseSchudeleDto>
      */
-    List<TeacherClassCourseSchudeleDto> queryTeacherClassCourseSchedule(Map<String,Object> params);
+    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
-     * @param params:
-     * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassCourseSchudeleDto>
      */
-    List<TeacherClassCourseSchudeleDto> queryTeacherHistoryClassCourseSchedule(Map<String,Object> params);
+    List<TeacherClassCourseSchudeleDto> queryTeacherHistoryClassCourseSchedule(Map<String, Object> params);
 
     /**
+     * @param params: 参数
+     * @return int
      * @describe 统计老师指定班级的排课数量
      * @author Joburgess
      * @date 2019/10/18
-     * @param params: 参数
-     * @return int
      */
-    int countTeacherClassCourseSchedule(Map<String,Object> params);
+    int countTeacherClassCourseSchedule(Map<String, Object> params);
 
     /**
+     * @param params:
+     * @return int
      * @describe 统计历史老师指定班级的排课数量
      * @author Joburgess
      * @date 2019/10/19
-     * @param params:
-     * @return int
      */
-    int countTeacherHistoryClassCourseSchedule(Map<String,Object> params);
+    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
-     * @param musicGroupId: 乐团编号
-     * @return java.util.List<java.util.Map<java.lang.Long,java.lang.Integer>>
      */
-    List<Map<Integer,Long>> countClassCourseNumByMusicGroup(String musicGroupId);
+    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
-     * @param courseSchedules: 课程计划编号列表
-     * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.Integer>>
      */
-    List<Map<Integer,Integer>> findCourseScheduleCurrentTimes(List<Integer> courseSchedules);
+    List<Map<Integer, Integer>> findCourseScheduleCurrentTimes(List<Integer> courseSchedules);
 
     /**
      * 根据乐团编号修改课程教学点
+     *
      * @param musicGroupId
      * @param schoolId
      */
-    void updateByMusicGroupId(@Param("musicGroupId") String musicGroupId,@Param("schoolId") Integer schoolId);
+    void updateByMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("schoolId") Integer schoolId);
+
+    /**
+     * 获取班级时间段内的课程
+     *
+     * @param classGroupId
+     * @param startDate
+     * @param endDate
+     * @return
+     */
+    List<CourseSchedule> findCourseScheduleByClassGroupIdAndDate(@Param("classGroupId") Integer classGroupId, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
 }

+ 11 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
@@ -9,21 +10,28 @@ import java.util.List;
 public interface CourseScheduleStudentPaymentDao extends BaseDAO<Long, CourseScheduleStudentPayment> {
 
     /**
+     * @return int
      * @Author: Joburgess
      * @Date: 2019/10/10
      * @params [courseScheduleStudentPayments]
-     * @return int
      * @describe 批量插入
      */
     int batchInsert(List<CourseScheduleStudentPayment> courseScheduleStudentPayments);
 
     /**
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment>
      * @Author: Joburgess
      * @Date: 2019/10/15
      * @params [ids]
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment>
      * @describe 根据课程编号批量获取学生缴费信息
      */
     List<CourseScheduleStudentPayment> findByCourseScheduleIds(@Param("ids") List<Long> ids);
-	
+
+    /**
+     * 删除学生对应的课程
+     * @param userId
+     * @param courseScheduleList
+     * @return
+     */
+    int deleteStudentCourseSchedule(@Param("userId") Integer userId, @Param("courseScheduleList") List<CourseSchedule> courseScheduleList);
 }

+ 7 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroupAdjustDto.java

@@ -6,6 +6,7 @@ import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -29,10 +30,10 @@ public class ClassGroupAdjustDto {
     private YesOrNoEnum type;
 
     @ApiModelProperty(value = "开始时间", required = true)
-    private LocalDateTime startDate;
+    private Date startDate;
 
     @ApiModelProperty(value = "结束时间", required = true)
-    private LocalDateTime endDate;
+    private Date endDate;
 
     public String getClassGroupName() {
         return classGroupName;
@@ -50,19 +51,19 @@ public class ClassGroupAdjustDto {
         this.type = type;
     }
 
-    public LocalDateTime getStartDate() {
+    public Date getStartDate() {
         return startDate;
     }
 
-    public void setStartDate(LocalDateTime startDate) {
+    public void setStartDate(Date startDate) {
         this.startDate = startDate;
     }
 
-    public LocalDateTime getEndDate() {
+    public Date getEndDate() {
         return endDate;
     }
 
-    public void setEndDate(LocalDateTime endDate) {
+    public void setEndDate(Date endDate) {
         this.endDate = endDate;
     }
 

+ 44 - 39
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -74,6 +74,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     private ClassGroupTeacherMapperDao classGroupTeacherMapperDao;
     @Autowired
     private CourseScheduleDao courseScheduleDao;
+    @Autowired
+    private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
 
     @Override
     public BaseDAO<Integer, ClassGroup> getDAO() {
@@ -193,18 +195,18 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     @Override
     @Transactional(rollbackFor = Exception.class)
     public List<HighClassGroupDto> addHighClassGroup(List<HighClassGroupDto> highClassGroupList) throws Exception {
-    	
-    	Integer schoolId = null;
-    	
+
+        Integer schoolId = null;
+
         for (HighClassGroupDto highClassGroup : highClassGroupList) {
-        	
-			if (schoolId == null) {
-				MusicGroup musicGroup = musicGroupDao.get(highClassGroup.getMusicGroupId());
-				if (musicGroup != null) {
-					schoolId = musicGroup.getSchoolId();
-				}
-			}
-        	
+
+            if (schoolId == null) {
+                MusicGroup musicGroup = musicGroupDao.get(highClassGroup.getMusicGroupId());
+                if (musicGroup != null) {
+                    schoolId = musicGroup.getSchoolId();
+                }
+            }
+
             //1、插入班级信息
             Date date;
             date = new Date();
@@ -237,8 +239,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     CourseSchedule courseSchedule = new CourseSchedule();
                     Instant instant = now.atZone(ZoneId.systemDefault()).toInstant();
                     Date classDate = Date.from(instant);
-                    String startClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getStartClassTime()+":00";
-                    String endClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getEndClassTime()+":00";
+                    String startClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getStartClassTime() + ":00";
+                    String endClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getEndClassTime() + ":00";
 
                     courseSchedule.setSchoolId(schoolId);
                     courseSchedule.setClassGroupId(highClassGroup.getId());
@@ -253,7 +255,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     courseSchedule.setTeachMode(TeachModeEnum.OFFLINE);
                     courseSchedule.setType(CourseSchedule.CourseScheduleType.HIGH);
                     Subject subject = subjectService.get(Integer.parseInt(highClassGroup.getSubjectIdList()));
-                    courseSchedule.setName(subject.getName()+"-"+CourseSchedule.CourseScheduleType.HIGH.getMsg());
+                    courseSchedule.setName(subject.getName() + "-" + CourseSchedule.CourseScheduleType.HIGH.getMsg());
 
                     courseScheduleList.add(courseSchedule);
                     times++;
@@ -279,11 +281,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());
             dataList = classGroupDao.queryGroupCourses(params);
-            HashMap<String,Object> param = new HashMap<>();
-            param.put("teacherId",queryInfo.getSearch());
-            param.put("attendanceStatus",YesOrNoEnum.YES);
-            dataList.forEach(e->{
-                param.put("musicGroupId",e.getMusicGroupId());
+            HashMap<String, Object> param = new HashMap<>();
+            param.put("teacherId", queryInfo.getSearch());
+            param.put("attendanceStatus", YesOrNoEnum.YES);
+            dataList.forEach(e -> {
+                param.put("musicGroupId", e.getMusicGroupId());
                 e.setAttendanceNum(teacherAttendanceDao.getTeacherPersonalAttendancesCount(param));
             });
         }
@@ -306,24 +308,24 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             params.put("offset", pageInfo.getOffset());
             dataList = vipGroupDao.getTeacherVipClass(params);
             Set<Integer> activityIds = dataList.stream().map(e -> e.getActivityId()).collect(Collectors.toSet());
-            List<Map<Integer,String>> names = vipGroupActivityDao.queryNamesById(StringUtils.join(activityIds,","));
-            Map<Integer,String> nameMap = MapUtil.convertMybatisMap(names);
+            List<Map<Integer, String>> names = vipGroupActivityDao.queryNamesById(StringUtils.join(activityIds, ","));
+            Map<Integer, String> nameMap = MapUtil.convertMybatisMap(names);
             //计算月度平均消耗值(已上课时 / 消耗月份)
             List<Long> vipGroupIds = dataList.stream().map(vipGroup -> vipGroup.getVipClassId()).collect(Collectors.toList());
             List<Map<Long, Integer>> vipGroupOverCourses = vipGroupDao.countVipGroupOverCourse(vipGroupIds);
-            Map<Long,Integer> vipGroupOverCourseMaps = MapUtil.convertMybatisMap(vipGroupOverCourses);
+            Map<Long, Integer> vipGroupOverCourseMaps = MapUtil.convertMybatisMap(vipGroupOverCourses);
             dataList.forEach(vipGroup -> {
                 Integer overCourses = vipGroupOverCourseMaps.get(vipGroup.getVipClassId());
-                if(Objects.isNull(overCourses)){
-                    overCourses=0;
+                if (Objects.isNull(overCourses)) {
+                    overCourses = 0;
                 }
-                Integer totalClassTimes=vipGroup.getTotalClassTimes();
-                if(Objects.isNull(totalClassTimes)){
+                Integer totalClassTimes = vipGroup.getTotalClassTimes();
+                if (Objects.isNull(totalClassTimes)) {
                     vipGroup.setMonthAvg(Float.parseFloat("0.0"));
-                }else{
-                    BigDecimal overCoursesOfMonth=new BigDecimal(overCourses),allClassTimes=new BigDecimal(totalClassTimes);
+                } else {
+                    BigDecimal overCoursesOfMonth = new BigDecimal(overCourses), allClassTimes = new BigDecimal(totalClassTimes);
 
-                    Float monthConsumeRate=overCoursesOfMonth.divide(overCoursesOfMonth,2,BigDecimal.ROUND_HALF_UP).floatValue();
+                    Float monthConsumeRate = overCoursesOfMonth.divide(overCoursesOfMonth, 2, BigDecimal.ROUND_HALF_UP).floatValue();
                     vipGroup.setMonthAvg(monthConsumeRate);
                 }
             });
@@ -337,8 +339,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     }
 
     @Override
-    public List<ClassGroupTeachersDto> getClassGroupAndTeachers(String musicGroupId,String type) {
-        List<ClassGroupTeachersDto> classGroupAndTeachersList = classGroupDao.findClassGroupByMusicGroupId(musicGroupId,type);
+    public List<ClassGroupTeachersDto> getClassGroupAndTeachers(String musicGroupId, String type) {
+        List<ClassGroupTeachersDto> classGroupAndTeachersList = classGroupDao.findClassGroupByMusicGroupId(musicGroupId, type);
 
         List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroupTeacherMapperService.findClassGroupTeachers(classGroupAndTeachersList);
 
@@ -584,7 +586,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         Map<Long, Integer> musicGroupIdAndNum = MapUtil.convertMybatisMap(musicGroupIdAndNumList);
 
         List<Map<Long, Integer>> vipGroupOverCourses = vipGroupDao.countVipGroupOverCourse(musicGroupIds);
-        Map<Long,Integer> vipGroupOverCourseMaps = MapUtil.convertMybatisMap(vipGroupOverCourses);
+        Map<Long, Integer> vipGroupOverCourseMaps = MapUtil.convertMybatisMap(vipGroupOverCourses);
 
         teacherMusicClassGroup.forEach(teacherClassGroupDto -> {
 
@@ -602,16 +604,16 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 }
 
                 Integer overCourses = vipGroupOverCourseMaps.get(teacherClassGroupDto.getMusicGroupId());
-                if(Objects.isNull(overCourses)){
-                    overCourses=0;
+                if (Objects.isNull(overCourses)) {
+                    overCourses = 0;
                 }
-                Integer totalClassTimes=teacherClassGroupDto.getTotalClassTimes();
-                if(Objects.isNull(totalClassTimes)||totalClassTimes==0){
+                Integer totalClassTimes = teacherClassGroupDto.getTotalClassTimes();
+                if (Objects.isNull(totalClassTimes) || totalClassTimes == 0) {
                     teacherClassGroupDto.setAvgClassTimesOfMonth(0.0);
-                }else{
-                    BigDecimal overCoursesOfMonth=new BigDecimal(overCourses),allClassTimes=new BigDecimal(totalClassTimes);
+                } else {
+                    BigDecimal overCoursesOfMonth = new BigDecimal(overCourses), allClassTimes = new BigDecimal(totalClassTimes);
 
-                    Double monthConsumeRate=overCoursesOfMonth.divide(allClassTimes,1,BigDecimal.ROUND_HALF_UP).doubleValue();
+                    Double monthConsumeRate = overCoursesOfMonth.divide(allClassTimes, 1, BigDecimal.ROUND_HALF_UP).doubleValue();
                     teacherClassGroupDto.setAvgClassTimesOfMonth(monthConsumeRate);
                 }
 
@@ -723,6 +725,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 ClassGroupStudentMapper classStudentMapper = classGroupStudentMapperDao.query(classGroupStudentMapperDto.getClassGroupId(), classGroupStudentMapperDto.getUserId());
                 classStudentMapper.setStatus(ClassGroupStudentStatusEnum.QUIT);
                 classGroupStudentMapperDao.update(classStudentMapper);
+            } else { //临时删除学生对应时间段的课程
+                List<CourseSchedule> courseScheduleList = courseScheduleDao.findCourseScheduleByClassGroupIdAndDate(classGroupStudentMapperDto.getClassGroupId(), classGroupAdjustDto.getStartDate(), classGroupAdjustDto.getEndDate());
+                courseScheduleStudentPaymentDao.deleteStudentCourseSchedule(classGroupStudentMapperDto.getUserId(), courseScheduleList);
             }
             subject_id_list_ += classGroupStudentMapperDto.getUserId() + ",";
         }

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -876,4 +876,9 @@
             </foreach>
         GROUP BY course_schedule_id_
     </select>
+
+    <!-- 获取班级某时间段的课程 -->
+    <select id="findCourseScheduleByClassGroupIdAndDate" resultMap="CourseSchedule">
+        <![CDATA[ SELECT * FROM course_schedule WHERE class_group_id_=#{classGroupId} AND class_date_ >= #{startDate} AND  class_date_ <=#{endDate} ]]>
+    </select>
 </mapper>

+ 7 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -100,4 +100,11 @@
 			#{id}
 		</foreach>
     </select>
+
+	<delete id="deleteStudentCourseSchedule">
+		DELETE FROM course_schedule_student_payment WHERE user_id_ = #{userId} AND course_schedule_id_ IN
+		<foreach collection="courseScheduleList" item="courseSchedule" index="index" open="(" close=")" separator=",">
+			#{courseSchedule.id}
+		</foreach>
+	</delete>
 </mapper>