zouxuan 4 gadi atpakaļ
vecāks
revīzija
c89ffb0adf

+ 8 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -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);

+ 6 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -270,16 +270,20 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		Date date = new Date();
 		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 classEndDateAdd60Minutes = DateUtil.addMinutes(classEndDateTime, 60);
 //		Date classEndDateCut10Minutes = DateUtil.addMinutes(classEndDateTime, -10);
 
 //		Date add60Minutes = DateUtil.addMinutes(classStartDateTime, -60);
 		//签到
 		if(teacherAttendance.getSignInTime() == null && SignStatusEnum.SIGN_IN.equals(signStatus)){
+			//如果签到时间大于课程结束时间,不记录签到信息
+			if(date.after(classEndDateTime)){
+				return;
+			}
 
 			YesOrNoEnum yesOrNoEnum = courseScheduleService.enableOnlyNormalAttendance(courseSchedule.getStartClassTime(),
 					userId.longValue(),