|
@@ -11,7 +11,7 @@ import com.ym.mec.education.entity.CourseSchedule;
|
|
|
import com.ym.mec.education.entity.StudentAttendance;
|
|
|
import com.ym.mec.education.enums.StudentAttendanceStatusEnum;
|
|
|
import com.ym.mec.education.mapper.StudentAttendanceMapper;
|
|
|
-import com.ym.mec.education.req.StudentAttendanceReq;
|
|
|
+import com.ym.mec.education.req.ClassGroupReq;
|
|
|
import com.ym.mec.education.resp.StudentAttendanceResq;
|
|
|
import com.ym.mec.education.service.IClassGroupService;
|
|
|
import com.ym.mec.education.service.ICourseScheduleService;
|
|
@@ -20,6 +20,7 @@ import com.ym.mec.education.utils.DateUtil;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
|
|
@@ -40,13 +41,11 @@ public class StudentAttendanceServiceImpl extends ServiceImpl<StudentAttendanceM
|
|
|
private IClassGroupService groupService;
|
|
|
|
|
|
@Override
|
|
|
- public PageResponse getPage(StudentAttendanceReq studentAttendanceReq) {
|
|
|
- Page<StudentAttendance> pageParam = new Page(studentAttendanceReq.getPageNo(), studentAttendanceReq.getPageSize());
|
|
|
+ public PageResponse getPage(ClassGroupReq classGroupReq) {
|
|
|
+ Page<StudentAttendance> pageParam = new Page(classGroupReq.getPageNo(), classGroupReq.getPageSize());
|
|
|
QueryWrapper<StudentAttendance> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.lambda().eq(Objects.nonNull(studentAttendanceReq.getMusicGroupId()),
|
|
|
- StudentAttendance::getMusicGroupId, studentAttendanceReq.getMusicGroupId())
|
|
|
- .eq(Objects.nonNull(studentAttendanceReq.getClassGroupId()),
|
|
|
- StudentAttendance::getClassGroupId, studentAttendanceReq.getClassGroupId());
|
|
|
+ queryWrapper.lambda().eq(Objects.nonNull(classGroupReq.getGroupId()),
|
|
|
+ StudentAttendance::getClassGroupId, classGroupReq.getGroupId());
|
|
|
IPage<StudentAttendance> page = page(pageParam, queryWrapper);
|
|
|
IPage<StudentAttendanceResq> pageResult = new Page<>();
|
|
|
BeanUtils.copyProperties(page, pageResult);
|
|
@@ -56,27 +55,30 @@ public class StudentAttendanceServiceImpl extends ServiceImpl<StudentAttendanceM
|
|
|
//总人数
|
|
|
Integer totalCount = count();
|
|
|
//请假
|
|
|
- leaveWrapper.lambda().eq(true, StudentAttendance::getMusicGroupId, studentAttendanceReq.getMusicGroupId())
|
|
|
- .eq(true, StudentAttendance::getClassGroupId, studentAttendanceReq.getClassGroupId())
|
|
|
+ leaveWrapper.lambda().eq(true, StudentAttendance::getClassGroupId, classGroupReq.getGroupId())
|
|
|
.eq(true, StudentAttendance::getStatus, StudentAttendanceStatusEnum.LEAVE.getCode());
|
|
|
Integer leaveCount = count(leaveWrapper);
|
|
|
//正常
|
|
|
- normalWrapper.lambda().eq(true, StudentAttendance::getMusicGroupId, studentAttendanceReq.getMusicGroupId())
|
|
|
- .eq(true, StudentAttendance::getClassGroupId, studentAttendanceReq.getClassGroupId())
|
|
|
+ normalWrapper.lambda().eq(true, StudentAttendance::getClassGroupId, classGroupReq.getGroupId())
|
|
|
.eq(true, StudentAttendance::getStatus, StudentAttendanceStatusEnum.NORMAL.getCode());
|
|
|
Integer normalCount = count(normalWrapper);
|
|
|
- page.getRecords().forEach(item ->{
|
|
|
+ page.getRecords().forEach(item -> {
|
|
|
StudentAttendanceResq studentAttendanceResq = new StudentAttendanceResq();
|
|
|
+ studentAttendanceResq.setLeaveNum(leaveCount).setAttendanceRate(normalCount + "/" + totalCount);
|
|
|
QueryWrapper<CourseSchedule> courseScheduleQueryWrapper = new QueryWrapper<>();
|
|
|
- courseScheduleQueryWrapper.lambda().eq(true, CourseSchedule::getClassGroupId, studentAttendanceReq.getClassGroupId());
|
|
|
+ courseScheduleQueryWrapper.lambda().eq(true, CourseSchedule::getClassGroupId, classGroupReq.getGroupId())
|
|
|
+ .eq(true, CourseSchedule::getTeacherId, item.getTeacherId());
|
|
|
CourseSchedule courseSchedule = courseScheduleService.getOne(courseScheduleQueryWrapper);
|
|
|
- ClassGroup classGroup = groupService.getById(studentAttendanceReq.getClassGroupId());
|
|
|
- studentAttendanceResq.setClassDate(DateUtil.date2String(courseSchedule.getClassDate())
|
|
|
- + "" + DateUtil.date2Week(courseSchedule.getClassDate()))
|
|
|
- .setClassTime(courseSchedule.getStartClassTime() + "-" + courseSchedule.getEndClassTime())
|
|
|
- .setClassGroupName(classGroup.getName())
|
|
|
- .setLeaveNum(leaveCount).setAttendanceRate(normalCount + "/" + totalCount);
|
|
|
- list.add(studentAttendanceResq);
|
|
|
+ if (Objects.nonNull(courseSchedule)) {
|
|
|
+ studentAttendanceResq.setClassDate(DateUtil.date2String(courseSchedule.getClassDate())
|
|
|
+ + " " + DateUtil.date2Week(courseSchedule.getClassDate()))
|
|
|
+ .setClassTime(courseSchedule.getStartClassTime() + "-" + courseSchedule.getEndClassTime());
|
|
|
+ }
|
|
|
+ ClassGroup classGroup = groupService.getById(classGroupReq.getGroupId());
|
|
|
+ if (Objects.nonNull(classGroup)) {
|
|
|
+ studentAttendanceResq.setClassGroupName(classGroup.getName());
|
|
|
+ list.add(studentAttendanceResq);
|
|
|
+ }
|
|
|
});
|
|
|
pageResult.setRecords(list);
|
|
|
return PageResponse.success(pageResult);
|