Explorar o código

Merge branch 'feature/0427-school' of http://git.dayaedu.com/yonge/mec into master_saas

zouxuan %!s(int64=2) %!d(string=hai) anos
pai
achega
36f5a9a316

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/TeacherAttendanceDto.java

@@ -10,22 +10,22 @@ import java.util.Date;
 @Data
 public class TeacherAttendanceDto {
     @ApiModelProperty(value = "签到状态:0异常,1正常")
-    private YesOrNoEnum signInStatus;
+    private Boolean signInStatus = false;
 
     @ApiModelProperty(value = "签到时间")
     private Date signInTime;
 
     @ApiModelProperty(value = "签退状态:0异常,1正常")
-    private YesOrNoEnum signOutStatus;
+    private Boolean signOutStatus = false;
 
     @ApiModelProperty(value = "签退时间")
     private Date signOutTime;
 
     @ApiModelProperty(value = "教学点签到状态")
-    private YesOrNoEnum signInAddressStatus;
+    private Boolean signInAddressStatus = false;
 
     @ApiModelProperty(value = "教学点签退状态")
-    private YesOrNoEnum signOutAddressStatus;
+    private Boolean signOutAddressStatus = false;
 
     @ApiModelProperty(value = "签到经纬度")
     private String signInLongitudeLatitude;

+ 22 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -1168,10 +1168,16 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		String attendanceRange = sysTenantConfigService.getTenantConfigValue(SysConfigService.ATTENDANCE_RANGE,tenantId);
 		if(CollectionUtils.isNotEmpty(attendanceDtos)){
 			for (TeacherAttendanceListDto attendanceDto : attendanceDtos) {
-				boolean signRange = courseScheduleTeacherSalaryService.getSignRange(attendanceDto.getSchoolLongitudeLatitude(), attendanceDto.getSignInLongitudeLatitude(), attendanceRange);
-				attendanceDto.setSignInAddressStatus(signRange?YesOrNoEnum.YES:YesOrNoEnum.NO);
-				boolean signRange1 = courseScheduleTeacherSalaryService.getSignRange(attendanceDto.getSchoolLongitudeLatitude(), attendanceDto.getSignOutLongitudeLatitude(), attendanceRange);
-				attendanceDto.setSignOutAddressStatus(signRange1?YesOrNoEnum.YES:YesOrNoEnum.NO);
+				if(attendanceDto.getTeachMode() == TeachModeEnum.OFFLINE){
+					if(StringUtils.isNotEmpty(attendanceDto.getSignInLongitudeLatitude())){
+						boolean signRange = courseScheduleTeacherSalaryService.getSignRange(attendanceDto.getSchoolLongitudeLatitude(), attendanceDto.getSignInLongitudeLatitude(), attendanceRange);
+						attendanceDto.setSignInAddressStatus(signRange);
+					}
+					if(StringUtils.isNotEmpty(attendanceDto.getSignOutLongitudeLatitude())){
+						boolean signRange1 = courseScheduleTeacherSalaryService.getSignRange(attendanceDto.getSchoolLongitudeLatitude(), attendanceDto.getSignOutLongitudeLatitude(), attendanceRange);
+						attendanceDto.setSignOutAddressStatus(signRange1);
+					}
+				}
 			}
 		}
 		return attendanceDtos;
@@ -1180,14 +1186,18 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	@Override
 	public com.ym.mec.biz.dal.school.dto.TeacherAttendanceDto getCourseTeacherAttendance(Long courseId, Integer teacherId) {
 		com.ym.mec.biz.dal.school.dto.TeacherAttendanceDto attendanceDto = teacherAttendanceDao.getCourseTeacherAttendance(courseId,teacherId);
-		Integer tenantId = TenantContextHolder.getTenantId();
-		//计算考勤范围
-		//定位范围
-		String attendanceRange = sysTenantConfigService.getTenantConfigValue(SysConfigService.ATTENDANCE_RANGE,tenantId);
-		boolean signRange = courseScheduleTeacherSalaryService.getSignRange(attendanceDto.getSchoolLongitudeLatitude(), attendanceDto.getSignInLongitudeLatitude(), attendanceRange);
-		attendanceDto.setSignInAddressStatus(signRange?YesOrNoEnum.YES:YesOrNoEnum.NO);
-		boolean signRange1 = courseScheduleTeacherSalaryService.getSignRange(attendanceDto.getSchoolLongitudeLatitude(), attendanceDto.getSignOutLongitudeLatitude(), attendanceRange);
-		attendanceDto.setSignOutAddressStatus(signRange1?YesOrNoEnum.YES:YesOrNoEnum.NO);
+		if(attendanceDto.getTeachMode() == TeachModeEnum.OFFLINE){
+			Integer tenantId = TenantContextHolder.getTenantId();
+			String attendanceRange = sysTenantConfigService.getTenantConfigValue(SysConfigService.ATTENDANCE_RANGE,tenantId);
+			if(StringUtils.isNotEmpty(attendanceDto.getSignInLongitudeLatitude())){
+				boolean signRange = courseScheduleTeacherSalaryService.getSignRange(attendanceDto.getSchoolLongitudeLatitude(), attendanceDto.getSignInLongitudeLatitude(), attendanceRange);
+				attendanceDto.setSignInAddressStatus(signRange);
+			}
+			if(StringUtils.isNotEmpty(attendanceDto.getSignOutLongitudeLatitude())){
+				boolean signRange1 = courseScheduleTeacherSalaryService.getSignRange(attendanceDto.getSchoolLongitudeLatitude(), attendanceDto.getSignOutLongitudeLatitude(), attendanceRange);
+				attendanceDto.setSignOutAddressStatus(signRange1);
+			}
+		}
 		return attendanceDto;
 	}
 

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -674,7 +674,7 @@
         from course_schedule cs
         left join teacher_attendance ta ON cs.id_ = ta.course_schedule_id_ AND ta.teacher_id_ = cs.actual_teacher_id_
         left join school s ON s.id_ = cs.schoole_id_
-        where cs.class_group_id_ = #{classGroupId} and cs.actual_teacher_id_ = #{teacherId}
+        where cs.class_group_id_ = #{classGroupId} and cs.actual_teacher_id_ = #{teacherId} AND CONCAT(cs.class_date_,' ',cs.start_class_time_) &lt; NOW()
         AND cs.is_lock_ = 0 AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND cs.new_course_id_ IS NULL
     </select>
     <select id="getCourseTeacherAttendance" resultType="com.ym.mec.biz.dal.school.dto.TeacherAttendanceDto">