|  | @@ -4,6 +4,7 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 | 
	
		
			
				|  |  |  import com.ym.mec.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.*;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.ClassDateAdjustDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.CourseScheduleDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.TeacherAttendanceDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.*;
 | 
	
	
		
			
				|  | @@ -351,7 +352,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |  				});
 | 
	
		
			
				|  |  |  				List<Integer> repeatClassGroupIds = coursesByDates.stream().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
 | 
	
		
			
				|  |  |  				checkStudentIsRepeat(repeatClassGroupIds);
 | 
	
		
			
				|  |  | -				courseScheduleDao.update(newCourseSchedule);
 | 
	
		
			
				|  |  | +				oldCourseSchedule.setClassDate(newCourseSchedule.getClassDate());
 | 
	
		
			
				|  |  | +				oldCourseSchedule.setStartClassTime(newCourseSchedule.getStartClassTime());
 | 
	
		
			
				|  |  | +				oldCourseSchedule.setEndClassTime(newCourseSchedule.getEndClassTime());
 | 
	
		
			
				|  |  | +				courseScheduleDao.update(oldCourseSchedule);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//被修改的教师编号列表,需要将预计薪水置零
 | 
	
	
		
			
				|  | @@ -367,13 +371,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |  							courseSchedules,
 | 
	
		
			
				|  |  |  							byTeacherAndCategory.getOnlineClassesSalary(),
 | 
	
		
			
				|  |  |  							byTeacherAndCategory.getOfflineClassesSalary());
 | 
	
		
			
				|  |  | -					beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
 | 
	
		
			
				|  |  | +					if(Objects.nonNull(oldCourseSchedule.getActualTeacherId())){
 | 
	
		
			
				|  |  | +						beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}else{
 | 
	
		
			
				|  |  |  				if(Objects.isNull(oldCourseSchedule.getActualTeacherId())||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){
 | 
	
		
			
				|  |  |  					//如果主教被修改则调整课酬记录
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -					beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
 | 
	
		
			
				|  |  | +					if(Objects.nonNull(oldCourseSchedule.getActualTeacherId())){
 | 
	
		
			
				|  |  | +						beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  				List<CourseScheduleTeacherSalary> courseTeachingTeacherList=courseTeachingTeacherMaps.get(newCourseSchedule.getId());
 | 
	
		
			
				|  |  |  				//当前设置的课程助教编号列表
 | 
	
	
		
			
				|  | @@ -392,12 +400,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |  						//计算修改后的助教的课酬
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -						beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
 | 
	
		
			
				|  |  | +						if(Objects.nonNull(oldCourseSchedule.getActualTeacherId())){
 | 
	
		
			
				|  |  | +							beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  |  				});
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			//将被修改的教师预计薪水置零
 | 
	
		
			
				|  |  | -			courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalary(newCourseSchedule.getId().intValue(),beReplaceTeacherIds);
 | 
	
		
			
				|  |  | +			if(!CollectionUtils.isEmpty(beReplaceTeacherIds)){
 | 
	
		
			
				|  |  | +				courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalary(newCourseSchedule.getId().intValue(),beReplaceTeacherIds);
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  |  		});
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -632,6 +644,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Override
 | 
	
		
			
				|  |  | +	public CourseAttendanceDetailHeadInfoDto findCourseAttendanceDetailHeadInfo(Long courseScheduleId) {
 | 
	
		
			
				|  |  | +		if(Objects.isNull(courseScheduleId)){
 | 
	
		
			
				|  |  | +			throw new BizException("请指定课程");
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		CourseAttendanceDetailHeadInfoDto courseAttendanceDetailHeadInfoDto = courseScheduleDao.findByCourse(courseScheduleId);
 | 
	
		
			
				|  |  | +		courseAttendanceDetailHeadInfoDto.setLatestAttendanceTime(studentAttendanceDao.findLatestAttendanceDate(courseScheduleId));
 | 
	
		
			
				|  |  | +		return courseAttendanceDetailHeadInfoDto;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	@Override
 | 
	
		
			
				|  |  |  	public void checkMusicGroupClassCourse(String musicGroupId) {
 | 
	
		
			
				|  |  |  		if(Objects.isNull(musicGroupId)){
 | 
	
		
			
				|  |  |  			throw new BizException("请指定乐团");
 | 
	
	
		
			
				|  | @@ -655,4 +677,4 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |      public List<CourseSchedule> findNoStartCoursesByClassGroupId(Integer classGroupId) {
 | 
	
		
			
				|  |  |  		return courseScheduleDao.findNoStartCoursesByClassGroupId(classGroupId);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | +}
 |