|
@@ -498,15 +498,20 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
|
|
|
// Date signInTime = studentAttendance.getSignInTime();
|
|
|
//没有签到信息才会生成
|
|
|
if (signStatusEnum == SignStatusEnum.SIGN_IN && studentAttendance.getSignInTime() == null) {
|
|
|
+
|
|
|
//判断是否在签到时间段内(课程开始前20~结束前)
|
|
|
// int advanceSignMinutes = Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_SIGN_IN_MINUTES));
|
|
|
-// String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
|
|
|
+ String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
|
|
|
// String startClassTime = DateUtil.format(courseSchedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
|
|
|
-// String endClassTime = DateUtil.format(courseSchedule.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
|
|
|
+ String endClassTime = DateUtil.format(courseSchedule.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
|
|
|
//上课时间
|
|
|
// Date classStartDateTime = DateUtil.stringToDate(classDate + " " + startClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
|
|
|
-// Date classEndDateTime = DateUtil.stringToDate(classDate + " " + endClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
|
|
|
+ Date classEndDateTime = DateUtil.stringToDate(classDate + " " + endClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
|
|
|
// Date addMinutes = DateUtil.addMinutes(classStartDateTime, -60);
|
|
|
+ //如果签到时间大于课程结束时间,不记录签到信息
|
|
|
+ if(date.after(classEndDateTime)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
//课程结束前进入,算正常
|
|
|
studentAttendance.setStatus(statusEnum);
|
|
|
studentAttendance.setSignInTime(date);
|