|
@@ -468,6 +468,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
|
|
studentAttendance.setTeacherId(courseSchedule.getActualTeacherId());
|
|
studentAttendance.setTeacherId(courseSchedule.getActualTeacherId());
|
|
studentAttendance.setUpdateTime(date);
|
|
studentAttendance.setUpdateTime(date);
|
|
}
|
|
}
|
|
|
|
+ Date signInTime = studentAttendance.getSignInTime();
|
|
//没有签到信息才会生成
|
|
//没有签到信息才会生成
|
|
if(signStatusEnum == SignStatusEnum.SIGN_IN && studentAttendance.getSignInTime() == null){
|
|
if(signStatusEnum == SignStatusEnum.SIGN_IN && studentAttendance.getSignInTime() == null){
|
|
//判断是否在签到时间段内(课程开始前20~结束前)
|
|
//判断是否在签到时间段内(课程开始前20~结束前)
|
|
@@ -524,30 +525,30 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
|
|
totalMinutes -= firstMinutes;
|
|
totalMinutes -= firstMinutes;
|
|
if(totalMinutes > 0){
|
|
if(totalMinutes > 0){
|
|
String courseClassDate;
|
|
String courseClassDate;
|
|
- String courseStartDateTime;
|
|
|
|
|
|
+// String courseStartDateTime;
|
|
String courseEndDateTime;
|
|
String courseEndDateTime;
|
|
for (int i = 0; i < courseSchedules.size(); i++) {
|
|
for (int i = 0; i < courseSchedules.size(); i++) {
|
|
courseClassDate = DateUtil.format(courseSchedules.get(i).getClassDate(), DateUtil.DEFAULT_PATTERN);
|
|
courseClassDate = DateUtil.format(courseSchedules.get(i).getClassDate(), DateUtil.DEFAULT_PATTERN);
|
|
- courseStartDateTime = DateUtil.format(courseSchedules.get(i).getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
|
|
|
|
|
|
+// courseStartDateTime = DateUtil.format(courseSchedules.get(i).getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
|
|
courseEndDateTime = DateUtil.format(courseSchedules.get(i).getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
|
|
courseEndDateTime = DateUtil.format(courseSchedules.get(i).getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
|
|
- Date startDateTime = DateUtil.stringToDate(courseClassDate + " " + courseStartDateTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
|
|
|
|
|
|
+// Date startDateTime = DateUtil.stringToDate(courseClassDate + " " + courseStartDateTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
|
|
Date endDateTime = DateUtil.stringToDate(courseClassDate + " " + courseEndDateTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
|
|
Date endDateTime = DateUtil.stringToDate(courseClassDate + " " + courseEndDateTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
|
|
StudentAttendance byStatusAndCourseScheduleId = studentAttendanceDao.findByStatusAndCourseScheduleId(userId, courseSchedules.get(i).getId().intValue());
|
|
StudentAttendance byStatusAndCourseScheduleId = studentAttendanceDao.findByStatusAndCourseScheduleId(userId, courseSchedules.get(i).getId().intValue());
|
|
- Date signOutTime = date;
|
|
|
|
- if(i < courseSchedules.size() - 1 && date.after(endDateTime)){
|
|
|
|
|
|
+// Date signOutTime = date;
|
|
|
|
+// if(i < courseSchedules.size() - 1 && date.after(endDateTime)){
|
|
//不是最后一节连堂课,并且签退时间大于课程结束时间,签退时间等于课程结束时间
|
|
//不是最后一节连堂课,并且签退时间大于课程结束时间,签退时间等于课程结束时间
|
|
- signOutTime = endDateTime;
|
|
|
|
- }
|
|
|
|
|
|
+// signOutTime = endDateTime;
|
|
|
|
+// }
|
|
if(byStatusAndCourseScheduleId != null){
|
|
if(byStatusAndCourseScheduleId != null){
|
|
- byStatusAndCourseScheduleId.setSignOutTime(signOutTime);
|
|
|
|
|
|
+ byStatusAndCourseScheduleId.setSignOutTime(date);
|
|
byStatusAndCourseScheduleId.setStatus(statusEnum);
|
|
byStatusAndCourseScheduleId.setStatus(statusEnum);
|
|
byStatusAndCourseScheduleId.setUpdateTime(date);
|
|
byStatusAndCourseScheduleId.setUpdateTime(date);
|
|
studentAttendanceDao.update(byStatusAndCourseScheduleId);
|
|
studentAttendanceDao.update(byStatusAndCourseScheduleId);
|
|
}else {
|
|
}else {
|
|
byStatusAndCourseScheduleId = new StudentAttendance();
|
|
byStatusAndCourseScheduleId = new StudentAttendance();
|
|
- byStatusAndCourseScheduleId.setSignOutTime(signOutTime);
|
|
|
|
|
|
+ byStatusAndCourseScheduleId.setSignOutTime(date);
|
|
byStatusAndCourseScheduleId.setStatus(statusEnum);
|
|
byStatusAndCourseScheduleId.setStatus(statusEnum);
|
|
- byStatusAndCourseScheduleId.setSignInTime(startDateTime);
|
|
|
|
|
|
+ byStatusAndCourseScheduleId.setSignInTime(signInTime);
|
|
byStatusAndCourseScheduleId.setUpdateTime(date);
|
|
byStatusAndCourseScheduleId.setUpdateTime(date);
|
|
byStatusAndCourseScheduleId.setUserId(userId);
|
|
byStatusAndCourseScheduleId.setUserId(userId);
|
|
byStatusAndCourseScheduleId.setTeacherId(courseSchedule.getActualTeacherId());
|
|
byStatusAndCourseScheduleId.setTeacherId(courseSchedule.getActualTeacherId());
|