| 
					
				 | 
			
			
				@@ -6,10 +6,7 @@ import com.ym.mec.auth.api.entity.SysUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.dao.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.dto.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.entity.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ym.mec.biz.dal.enums.MessageTypeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ym.mec.biz.dal.enums.SignStatusEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ym.mec.biz.dal.enums.TeachModeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ym.mec.biz.dal.enums.YesOrNoEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.mec.biz.dal.enums.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.service.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.common.dal.BaseDAO; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -28,14 +25,20 @@ import org.springframework.util.CollectionUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import static com.ym.mec.biz.dal.enums.SignInStatusEnum.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherAttendance>  implements TeacherAttendanceService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private TeacherAttendanceDao teacherAttendanceDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private StudentAttendanceDao studentAttendanceDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private CourseScheduleDao courseScheduleDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private TeacherDao teacherDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private CourseHomeworkService courseHomeworkService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private StudentCourseHomeworkDao studentCourseHomeworkDao; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -537,4 +540,31 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public TeacherAttendance findByTeacherAttendanceInfo(Long courseId, Integer teacherId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return teacherAttendanceDao.findByTeacherAttendanceInfo(teacherId.longValue(),courseId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public TeacherAttendanceDetailDto getTeacherPersonalAttendanceDetail(Integer courseScheduleId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		TeacherAttendance teacherAttendance = teacherAttendanceDao.getTeacherPersonalAttendance(courseScheduleId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId.longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		TeacherAttendanceDetailDto result = new TeacherAttendanceDetailDto(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		result.setStatus(courseSchedule.getStatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		result.setTeachMode(courseSchedule.getTeachMode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		result.setType(courseSchedule.getType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		result.setTeacherName(teacherDao.queryNameById(courseSchedule.getActualTeacherId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(teacherAttendance != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			result.setIsSignIn(Objects.isNull(teacherAttendance.getSignInStatus())?3:teacherAttendance.getSignInStatus().getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			result.setIsSignOut(Objects.isNull(teacherAttendance.getSignOutStatus())?3:teacherAttendance.getSignOutStatus().getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			result.setSignInStatusEnum(result.getIsSignIn() == 1?NORMAL:result.getIsSignIn() == 0?UNUSUAL:NO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			result.setSignOutStatusEnum(result.getIsSignOut() == 1?SignOutStatusEnum.NORMAL:result.getIsSignOut() == 0? SignOutStatusEnum.UNUSUAL: SignOutStatusEnum.NO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			result.setSignInTime(teacherAttendance.getSignInTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			result.setSignOutTime(teacherAttendance.getSignOutTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			result.setRemark(teacherAttendance.getRemark()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			int studentNum = studentAttendanceDao.countByCourseSchedule(courseScheduleId.longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (Objects.nonNull(studentNum)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				result.setIsCallNames(studentNum > 0 ? YesOrNoEnum.YES : YesOrNoEnum.NO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				result.setIsCallNames(YesOrNoEnum.NO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |