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