|
@@ -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;
|
|
|
+ }
|
|
|
}
|