|
@@ -247,14 +247,12 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void addTeacherAttendanceRecord(Integer courseScheduleId, Integer userId, SignStatusEnum signStatus, boolean updateCourseScheduleStatus,Long currentScheduleId) {
|
|
|
-
|
|
|
ClassGroup classGroup = classGroupDao.findByCourseSchedule(courseScheduleId,0);
|
|
|
- CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId.longValue());
|
|
|
-
|
|
|
+ Date date = new Date();
|
|
|
TeacherAttendance teacherAttendance=teacherAttendanceDao.findByTeacherAttendanceInfo(userId.longValue(),currentScheduleId);
|
|
|
if(Objects.isNull(teacherAttendance)){
|
|
|
teacherAttendance=new TeacherAttendance();
|
|
|
- teacherAttendance.setGroupType(courseSchedule.getGroupType());
|
|
|
+ teacherAttendance.setGroupType(classGroup.getGroupType());
|
|
|
teacherAttendance.setCourseScheduleId(courseScheduleId.longValue());
|
|
|
teacherAttendance.setTeacherId(userId);
|
|
|
teacherAttendance.setMusicGroupId(classGroup.getMusicGroupId());
|
|
@@ -264,25 +262,17 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
|
|
|
teacherAttendanceDao.insert(teacherAttendance);
|
|
|
}else {
|
|
|
teacherAttendance.setCurrentScheduleId(currentScheduleId);
|
|
|
- teacherAttendance.setGroupType(courseSchedule.getGroupType());
|
|
|
+ teacherAttendance.setGroupType(classGroup.getGroupType());
|
|
|
teacherAttendance.setTeacherId(userId);
|
|
|
teacherAttendance.setClassGroupId(classGroup.getId());
|
|
|
teacherAttendance.setMusicGroupId(classGroup.getMusicGroupId());
|
|
|
}
|
|
|
-// int advanceSignMinutes = Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_SIGN_IN_MINUTES));
|
|
|
- Date date = new Date();
|
|
|
- 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);
|
|
|
- //上课时间
|
|
|
- Date classStartDateTime = DateUtil.stringToDate(classDate + " " + startClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
|
|
|
-// Date classEndDateTime = DateUtil.stringToDate(classDate + " " + endClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
|
|
|
-// Date classEndDateAdd60Minutes = DateUtil.addMinutes(classEndDateTime, 60);
|
|
|
-// Date classEndDateCut10Minutes = DateUtil.addMinutes(classEndDateTime, -10);
|
|
|
-
|
|
|
-// Date add60Minutes = DateUtil.addMinutes(classStartDateTime, -60);
|
|
|
//签到
|
|
|
if(teacherAttendance.getSignInTime() == null && SignStatusEnum.SIGN_IN.equals(signStatus)){
|
|
|
+ CourseSchedule courseSchedule = courseScheduleDao.get(currentScheduleId);
|
|
|
+ String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
|
|
|
+ String startClassTime = DateUtil.format(courseSchedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
|
|
|
+ Date classStartDateTime = DateUtil.stringToDate(classDate + " " + startClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
|
|
|
YesOrNoEnum yesOrNoEnum = courseScheduleService.enableOnlyNormalAttendance(courseSchedule.getStartClassTime(),
|
|
|
userId.longValue(),
|
|
|
false,
|
|
@@ -307,6 +297,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
|
|
|
}
|
|
|
//签退
|
|
|
if(SignStatusEnum.SIGN_OUT.equals(signStatus)){
|
|
|
+ CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId.longValue());
|
|
|
List<CourseSchedule> courseSchedules = new ArrayList<>();
|
|
|
courseSchedules.add(courseSchedule);
|
|
|
CourseSchedule cs = courseSchedule;
|
|
@@ -341,14 +332,14 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
|
|
|
courseEndDateTime = DateUtil.format(schedule.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
|
|
|
Date endDateTime = DateUtil.stringToDate(courseClassDate + " " + courseEndDateTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
|
|
|
//不是最后一节课
|
|
|
- if(i != courseSchedules.size() - 1){
|
|
|
- isBreak = upsetAttendance(userId,startDateTime,endDateTime,YesOrNoEnum.YES,schedule,currentScheduleId);
|
|
|
- }else {
|
|
|
+ if(i == courseSchedules.size() - 1){
|
|
|
if(date.after(endDateTime)){
|
|
|
isBreak = upsetAttendance(userId,startDateTime,date,YesOrNoEnum.YES,schedule,currentScheduleId);
|
|
|
}else {
|
|
|
isBreak = upsetAttendance(userId,startDateTime,date,YesOrNoEnum.NO,schedule,currentScheduleId);
|
|
|
}
|
|
|
+ }else {
|
|
|
+ isBreak = upsetAttendance(userId,startDateTime,endDateTime,YesOrNoEnum.YES,schedule,currentScheduleId);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -359,7 +350,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
|
|
|
Boolean flag = false;
|
|
|
Long courseId = teacherAttendanceDao.findFirstSign(currentScheduleId);
|
|
|
//如果当前课程是第一次签到的课程那么不更新签到时间,并且退出下次循环
|
|
|
- if(courseId != null && courseId.equals(courseSchedule.getId())){
|
|
|
+ if(courseId != null && courseId == courseSchedule.getId()){
|
|
|
flag = true;
|
|
|
}
|
|
|
if(teacherAttendance == null){
|