|
@@ -80,10 +80,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
|
|
|
|
|
|
TeacherAttendance teacherAttendance=teacherAttendanceDao.findByTeacherAttendanceInfo(user.getId().longValue(),teacherSignOutDto.getTeacherAttendanceInfo().getCourseScheduleId());
|
|
|
|
|
|
- if(StringUtils.isBlank(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude())){
|
|
|
- throw new BizException("未获取到您的位置");
|
|
|
- }
|
|
|
-
|
|
|
Date date = new Date();
|
|
|
if(Objects.isNull(teacherAttendance)){
|
|
|
teacherAttendance=teacherSignOutDto.getTeacherAttendanceInfo();
|
|
@@ -115,27 +111,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
|
|
|
throw new BizException("明天的课程不能进行签到");
|
|
|
}
|
|
|
|
|
|
- School school = schoolDao.get(courseSchedule.getSchoolId());
|
|
|
-
|
|
|
- //是否在范围内
|
|
|
- boolean isInScore = true;
|
|
|
- if(StringUtils.isBlank(school.getLongitudeLatitude())){
|
|
|
- if(teacherSignOutDto.getTeacherAttendanceInfo().getUpdate().equals(YesOrNoEnum.YES.getCode())){
|
|
|
- school.setLongitudeLatitude(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude());
|
|
|
- schoolDao.update(school);
|
|
|
- }else{
|
|
|
- isInScore = false;
|
|
|
- }
|
|
|
- }else{
|
|
|
- SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE);
|
|
|
- double attendanceRange = Double.valueOf(sysConfig.getParanValue());
|
|
|
- double distance = MapUtil.distance(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude(),
|
|
|
- school.getLongitudeLatitude());
|
|
|
- if(distance>attendanceRange){
|
|
|
- isInScore=false;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
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);
|
|
@@ -145,6 +120,32 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
|
|
|
Date classEndDateAdd60Minutes = DateUtil.addMinutes(classEndDateTime, 60);
|
|
|
Date add20Minutes = DateUtil.addMinutes(classStartDateTime, advanceSignMinutes * -1);
|
|
|
if(teacherAttendance.getSignInTime() == null && teacherSignOutDto.getTeacherAttendanceInfo().getStatus().equals(SignStatusEnum.SIGN_IN.getCode())){
|
|
|
+
|
|
|
+ if(StringUtils.isBlank(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude())){
|
|
|
+ throw new BizException("未获取到您的位置");
|
|
|
+ }
|
|
|
+
|
|
|
+ School school = schoolDao.get(courseSchedule.getSchoolId());
|
|
|
+
|
|
|
+ //是否在范围内
|
|
|
+ boolean isInScore = true;
|
|
|
+ if(StringUtils.isBlank(school.getLongitudeLatitude())){
|
|
|
+ if(teacherSignOutDto.getTeacherAttendanceInfo().getUpdate().equals(YesOrNoEnum.YES.getCode())){
|
|
|
+ school.setLongitudeLatitude(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude());
|
|
|
+ schoolDao.update(school);
|
|
|
+ }else{
|
|
|
+ isInScore = false;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE);
|
|
|
+ double attendanceRange = Double.valueOf(sysConfig.getParanValue());
|
|
|
+ double distance = MapUtil.distance(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude(),
|
|
|
+ school.getLongitudeLatitude());
|
|
|
+ if(distance>attendanceRange){
|
|
|
+ isInScore=false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
teacherAttendance.setCurrentClassTimes(courseScheduleDao.countCurrentTimes(teacherAttendance.getClassGroupId(),courseSchedule.getStartClassTime()) + 1);
|
|
|
teacherAttendance.setSignInLongitudeLatitude(teacherSignOutDto.getTeacherAttendanceInfo().getSignInLongitudeLatitude());
|
|
|
if (currentCourseDetail.getEndClassTime().before(date)){
|