|
@@ -156,7 +156,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
|
|
|
int remindNum = studentAttendanceDao.countNormalRemindNum(courseScheduleId);
|
|
|
studentAttendanceDao.deleteStudentAttendancesByCourse(courseScheduleId);
|
|
|
int classTimes = courseScheduleDao.countClassTimes(courseSchedule.getClassGroupId().longValue(), courseSchedule.getStartClassTime());
|
|
|
- String month = DateUtil.format(courseSchedule.getClassDate(), DateUtil.ISO_YEAR_MONTH_FORMAT);
|
|
|
studentAttendances.forEach(studentAttendance -> {
|
|
|
studentAttendance.setTeacherId(sysUser.getId());
|
|
|
studentAttendance.setCurrentClassTimes(classTimes + 1);
|
|
@@ -185,12 +184,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
|
|
|
studentAttendanceInfo.getMusicGroupId(),
|
|
|
YesOrNoEnum.NO.getCode());
|
|
|
}
|
|
|
- if (studentAttendanceInfo.getStatus() == StudentAttendanceStatusEnum.LEAVE) {
|
|
|
- int leaveNum = studentAttendanceDao.getLeaveNum(studentAttendanceInfo.getUserId(),month,null);
|
|
|
- if(leaveNum == 0){
|
|
|
- studentAttendanceInfo.setFirstLeave(YesOrNoEnum.YES);
|
|
|
- }
|
|
|
- }
|
|
|
if (studentAttendanceInfo.getStatus() == StudentAttendanceStatusEnum.NORMAL) {
|
|
|
studentAttendanceInfo.setSignInTime(courseSchedule.getStartClassTime());
|
|
|
studentAttendanceInfo.setSignOutTime(courseSchedule.getEndClassTime());
|
|
@@ -313,19 +306,10 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
|
|
|
throw new BizException("此课程已结算");
|
|
|
}
|
|
|
|
|
|
- String month = DateUtil.format(courseSchedule.getClassDate(), DateUtil.ISO_YEAR_MONTH_FORMAT);
|
|
|
-
|
|
|
List<Integer> userIds = studentAttendances.stream().map(StudentAttendance::getUserId).collect(Collectors.toList());
|
|
|
studentAttendanceDao.deleteStudentAttendancesByCourseAndUsers(studentAttendanceInfo.getCourseScheduleId().longValue(), userIds);
|
|
|
//获取非请假的学员考勤
|
|
|
for (StudentAttendance studentAttendance : studentAttendances) {
|
|
|
- if(studentAttendance.getStatus() == StudentAttendanceStatusEnum.LEAVE){
|
|
|
- //当前月是否是第一次请假
|
|
|
- int leaveNum = studentAttendanceDao.getLeaveNum(studentAttendance.getUserId(),month,null);
|
|
|
- if(leaveNum == 0){
|
|
|
- studentAttendance.setFirstLeave(YesOrNoEnum.YES);
|
|
|
- }
|
|
|
- }
|
|
|
studentAttendance.setGroupType(courseSchedule.getGroupType());
|
|
|
studentAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
studentAttendance.setClassGroupId(courseSchedule.getClassGroupId());
|
|
@@ -424,11 +408,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
|
|
|
studentAttendance.setUserId(userId);
|
|
|
studentAttendance.setGroupType(courseSchedule.getGroupType());
|
|
|
studentAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
- String month = DateUtil.format(courseSchedule.getClassDate(), DateUtil.ISO_YEAR_MONTH_FORMAT);
|
|
|
- int leaveNum = studentAttendanceDao.getLeaveNum(userId,month,studentAttendance.getId());
|
|
|
- if(leaveNum == 0){
|
|
|
- studentAttendance.setFirstLeave(YesOrNoEnum.YES);
|
|
|
- }
|
|
|
if (Objects.nonNull(studentAttendance.getId())) {
|
|
|
studentAttendanceDao.update(studentAttendance);
|
|
|
} else {
|
|
@@ -685,12 +664,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
|
|
|
dataList = new ArrayList<>();
|
|
|
}
|
|
|
if(dataList.size() > 0){
|
|
|
- Set<Integer> userIds = dataList.stream().map(StudentAttendance::getUserId).collect(Collectors.toSet());
|
|
|
- //获取学员当月请假次数
|
|
|
- String month = DateUtil.format(new Date(), DateUtil.ISO_YEAR_MONTH_FORMAT);
|
|
|
- Map<Integer, Long> leaveNumMap = MapUtil.convertIntegerMap(studentAttendanceDao.queryLeaveNum(userIds,month));
|
|
|
for(StudentAttendance sa : dataList){
|
|
|
- sa.setLeaveNum(leaveNumMap.get(sa.getUserId()));
|
|
|
if(sa.getGroupType() == GroupType.MUSIC){
|
|
|
Set<Integer> userId = new HashSet<Integer>();
|
|
|
userId.add(sa.getUserId());
|