zouxuan 5 years ago
parent
commit
e637155397

+ 24 - 21
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -594,6 +594,11 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 		}
 		Date date = new Date();
 		for (CourseSchedule courseSchedule : courseScheduleList) {
+			//只会修复签到的学员考勤
+			List<StudentAttendance> byCourseId = studentAttendanceDao.findByCourseId(courseSchedule.getId());
+			if(byCourseId == null || byCourseId.size() == 0){
+				break;
+			}
 			List<CourseSchedule> courseSchedules = new ArrayList<>();
 			CourseSchedule cs = courseSchedule;
 			while (true){
@@ -608,8 +613,8 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 					break;
 				}
 			}
-			//只会修复签到的学员考勤
-			List<BasicUserDto> students = courseScheduleStudentPaymentDao.findStudents(courseSchedule.getId());
+
+//			List<BasicUserDto> students = courseScheduleStudentPaymentDao.findStudents(courseSchedule.getId());
 			if(courseSchedules.size() > 0) {
 				//获取当前课程老师总上课时长
 				int totalMinutes = teacherAttendanceDao.getTotalMinutes(courseSchedule.getId(),courseSchedule.getActualTeacherId());
@@ -630,25 +635,23 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 							courseEndDateTime = DateUtil.format(e.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
 							Date startDateTime = DateUtil.stringToDate(courseClassDate + " " + courseStartDateTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
 							Date endDateTime = DateUtil.stringToDate(courseClassDate + " " + courseEndDateTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
-							if(students != null && students.size() > 0){
-								students.forEach(student->{
-									StudentAttendance byStatusAndCourseScheduleId = studentAttendanceDao.findByStatusAndCourseScheduleId(student.getUserId(), e.getId().intValue());
-									if(byStatusAndCourseScheduleId == null){
-										byStatusAndCourseScheduleId = new StudentAttendance();
-										byStatusAndCourseScheduleId.setSignOutTime(endDateTime);
-										byStatusAndCourseScheduleId.setStatus(StudentAttendanceStatusEnum.NORMAL);
-										byStatusAndCourseScheduleId.setSignInTime(startDateTime);
-										byStatusAndCourseScheduleId.setUpdateTime(date);
-										byStatusAndCourseScheduleId.setUserId(student.getUserId());
-										byStatusAndCourseScheduleId.setTeacherId(e.getActualTeacherId());
-										byStatusAndCourseScheduleId.setClassGroupId(e.getClassGroupId());
-										byStatusAndCourseScheduleId.setMusicGroupId(e.getMusicGroupId());
-										byStatusAndCourseScheduleId.setGroupType(e.getGroupType());
-										byStatusAndCourseScheduleId.setCourseScheduleId(e.getId());
-										studentAttendanceDao.insert(byStatusAndCourseScheduleId);
-									}
-								});
-							}
+							byCourseId.forEach(student->{
+								StudentAttendance byStatusAndCourseScheduleId = studentAttendanceDao.findByStatusAndCourseScheduleId(student.getUserId(), e.getId().intValue());
+								if(byStatusAndCourseScheduleId == null){
+									byStatusAndCourseScheduleId = new StudentAttendance();
+									byStatusAndCourseScheduleId.setSignOutTime(endDateTime);
+									byStatusAndCourseScheduleId.setStatus(StudentAttendanceStatusEnum.NORMAL);
+									byStatusAndCourseScheduleId.setSignInTime(startDateTime);
+									byStatusAndCourseScheduleId.setUpdateTime(date);
+									byStatusAndCourseScheduleId.setUserId(student.getUserId());
+									byStatusAndCourseScheduleId.setTeacherId(e.getActualTeacherId());
+									byStatusAndCourseScheduleId.setClassGroupId(e.getClassGroupId());
+									byStatusAndCourseScheduleId.setMusicGroupId(e.getMusicGroupId());
+									byStatusAndCourseScheduleId.setGroupType(e.getGroupType());
+									byStatusAndCourseScheduleId.setCourseScheduleId(e.getId());
+									studentAttendanceDao.insert(byStatusAndCourseScheduleId);
+								}
+							});
 						}
 					}
 				}