Просмотр исходного кода

vip签到签退,时间段调整

zouxuan 5 лет назад
Родитель
Сommit
28c214e82d

+ 9 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -256,7 +256,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		teacherAttendance.setTeacherId(userId);
 		teacherAttendance.setClassGroupId(classGroup.getId());
 		teacherAttendance.setMusicGroupId(classGroup.getMusicGroupId());
-		int advanceSignMinutes = Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_SIGN_IN_MINUTES));
+//		int advanceSignMinutes = Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_SIGN_IN_MINUTES));
 		Date date = new Date();
 		String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
 		String startClassTime = DateUtil.format(courseSchedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
@@ -265,7 +265,8 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		Date classStartDateTime = DateUtil.stringToDate(classDate + " " + startClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
 		Date classEndDateTime = DateUtil.stringToDate(classDate + " " + endClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
 		Date classEndDateAdd60Minutes = DateUtil.addMinutes(classEndDateTime, 60);
-		Date add20Minutes = DateUtil.addMinutes(classStartDateTime, advanceSignMinutes * -1);
+		Date classEndDateCut10Minutes = DateUtil.addMinutes(classEndDateTime, -10);
+//		Date add20Minutes = DateUtil.addMinutes(classStartDateTime, advanceSignMinutes * -1);
 		Date add60Minutes = DateUtil.addMinutes(classStartDateTime, -60);
 		//签到
 		if(teacherAttendance.getSignInTime() == null && SignStatusEnum.SIGN_IN.equals(signStatus)){
@@ -280,11 +281,11 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			boolean isSign = false;
 			if(yesOrNoEnum == YesOrNoEnum.YES){
 				isSign = true;
-			}else if(DateUtil.minutesBetween(add60Minutes,date) > 0 && DateUtil.minutesBetween(date,add20Minutes) > 0){
-				//正常签到范围(开始前60分钟  ~  开始之前20分钟)
+			}else if(DateUtil.minutesBetween(add60Minutes,date) > 0 && DateUtil.minutesBetween(date,classStartDateTime) > 0){
+				//正常签到范围(开始前60分钟  ~  开始之前)
 				isSign = true;
-			}else if(DateUtil.minutesBetween(add20Minutes,date) > 0){
-				//异常签到范围(开始之前20分钟)
+			}else if(DateUtil.minutesBetween(classStartDateTime,date) > 0){
+				//异常签到范围(开始之)
 				isSign = true;
 				teacherAttendance.setSignInStatus(YesOrNoEnum.NO);
 			}
@@ -303,8 +304,8 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		}
 		//签退
 		if(teacherAttendance.getSignOutTime() == null && SignStatusEnum.SIGN_OUT.equals(signStatus)){
-			//正常签退范围(课程结束,1小时内)
-			if(DateUtil.minutesBetween(classEndDateTime,date) > 0 && DateUtil.minutesBetween(date,classEndDateAdd60Minutes) > 0){
+			//正常签退范围(课程结束前10分钟,1小时内)
+			if(DateUtil.minutesBetween(classEndDateCut10Minutes,date) > 0 && DateUtil.minutesBetween(date,classEndDateAdd60Minutes) > 0){
 				teacherAttendance.setSignOutStatus(YesOrNoEnum.YES);
 			}else if(DateUtil.minutesBetween(classEndDateAdd60Minutes,date) > 0){
 				teacherAttendance.setSignOutStatus(YesOrNoEnum.NO);