diff --git a/src/main/java/cn/teammodel/controller/admin/service/impl/TeacherServiceImpl.java b/src/main/java/cn/teammodel/controller/admin/service/impl/TeacherServiceImpl.java index 99e8f89..701a7e2 100644 --- a/src/main/java/cn/teammodel/controller/admin/service/impl/TeacherServiceImpl.java +++ b/src/main/java/cn/teammodel/controller/admin/service/impl/TeacherServiceImpl.java @@ -388,11 +388,11 @@ public class TeacherServiceImpl implements TeacherService { do { if(StringUtils.isNotEmpty(teacherDto.getGrade())) { - slice = lessonRecordRepository.findAllByGrade(String.format(PK.PK_LESSON_RECORD, teacherDto.getCode()), teacherDto.getGrade(),teacherDto.getSubjectId(),pageRequest); + slice = lessonRecordRepository.findAllByGrade(String.format(PK.PK_LESSON_RECORD, teacherDto.getCode()), teacherDto.getGrade(),teacherDto.getSubjectId(),teacherDto.getPeriodId(),pageRequest); } else if(StringUtils.isNotEmpty(teacherDto.getTmdId())) { - slice = lessonRecordRepository.findAllByAcademicYearId(String.format(PK.PK_LESSON_RECORD, teacherDto.getCode()), teacherDto.getTmdId(),teacherDto.getSubjectId(),pageRequest); + slice = lessonRecordRepository.findAllByAcademicYearId(String.format(PK.PK_LESSON_RECORD, teacherDto.getCode()), teacherDto.getTmdId(),teacherDto.getSubjectId(),teacherDto.getPeriodId(),pageRequest); } else { - slice = lessonRecordRepository.findAll(String.format(PK.PK_LESSON_RECORD, teacherDto.getCode()), teacherDto.getSubjectId(), pageRequest); + slice = lessonRecordRepository.findAll(String.format(PK.PK_LESSON_RECORD, teacherDto.getCode()), teacherDto.getSubjectId(),teacherDto.getPeriodId(), pageRequest); } List content = slice.getContent(); if (ObjectUtils.isEmpty(content)) { @@ -437,7 +437,7 @@ public class TeacherServiceImpl implements TeacherService { long startTimestamp = startDatetime.toInstant(ZoneOffset.UTC).toEpochMilli(); long endTimestamp = endDatetime.toInstant(ZoneOffset.UTC).toEpochMilli(); - List lessonRecords = lessonRecordRepository.getLessonsByConditions(String.format(PK.PK_LESSON_RECORD, teacherDto.getCode()), startTimestamp, endTimestamp, teacherDto.getSubjectId(),teacherDto.getTmdId()); + List lessonRecords = lessonRecordRepository.getLessonsByConditions(String.format(PK.PK_LESSON_RECORD, teacherDto.getCode()), startTimestamp, endTimestamp, teacherDto.getSubjectId(),teacherDto.getTmdId(),teacherDto.getPeriodId()); int[] counts = {0, 0, 0, 0, 0}; String[] keys = {"cooperation", "internet", "task", "exam", "diffential"}; @@ -746,7 +746,9 @@ public class TeacherServiceImpl implements TeacherService { } } } + List lessonRecords = lessonRecordRepository.getLessonsByConditions(String.format(PK.PK_LESSON_RECORD, teacherDto.getCode()), teacherDto.getStartTime(), teacherDto.getEndTime(), teacherDto.getSubjectId(),teacherDto.getTmdId(),teacherDto.getPeriodId()); if(teacherDto.getTmdId() != null) { + List sugVos = sugVoList.stream().filter(sugVo -> sugVo.getHabook().equals(teacherDto.getTmdId())).collect(Collectors.toList()); LinkedHashMap mapTeach = new LinkedHashMap<>(); int[] scores = new int[5]; @@ -767,6 +769,7 @@ public class TeacherServiceImpl implements TeacherService { mapTeach.put("TAttendance",scores[3]); //T(数据)互动次数 mapTeach.put("TInteraction",scores[4]); + mapTeach.put("Lessons",lessonRecords.size()); return mapTeach; }else if(teacherDto.getGradeName() != null) { @@ -801,6 +804,7 @@ public class TeacherServiceImpl implements TeacherService { mapTeach.put("TAttendance",scores[3]); //T(数据)互动次数 mapTeach.put("TInteraction",scores[4]); + mapTeach.put("Lessons",lessonRecords.size()); return mapTeach; }else { @@ -823,6 +827,7 @@ public class TeacherServiceImpl implements TeacherService { mapTeach.put("TAttendance", scores[3]); //T(数据)互动次数 mapTeach.put("TInteraction", scores[4]); + mapTeach.put("Lessons",lessonRecords.size()); return mapTeach; diff --git a/src/main/java/cn/teammodel/repository/LessonRecordRepository.java b/src/main/java/cn/teammodel/repository/LessonRecordRepository.java index 6aa1cb3..17f4e71 100644 --- a/src/main/java/cn/teammodel/repository/LessonRecordRepository.java +++ b/src/main/java/cn/teammodel/repository/LessonRecordRepository.java @@ -15,19 +15,22 @@ public interface LessonRecordRepository extends CosmosRepository= @startTime) and " + - "(IS_NULL(@endTime) or c.startTime <= @endTime) and"+ + "(IS_NULL(@endTime) or c.startTime <= @endTime) and "+ + "c.status<>404 and "+ + "c.periodId = @periodId and "+ "(IS_NULL(@subjectId) or c.subjectId = @subjectId) and"+ - " c.tmdid = @tmdId") - List getLessonsByConditions(String code, Long startTime, Long endTime,String subjectId,String tmdId); + "(IS_NULL(@tmdId) or c.tmdId = @tmdId) ") + List getLessonsByConditions(String code, Long startTime, Long endTime,String subjectId,String tmdId,String periodId); - @Query("select * from LessonRecord as c where c.code = @code and c.expire<=0 and c.status<>404 and c.tmdid = @tmdId and " + + + @Query("select * from LessonRecord as c where c.code = @code and c.expire<=0 and c.status<>404 and c.tmdid = @tmdId and c.periodId = @periodId and" + "(IS_NULL(@subjectId) or c.subjectId = @subjectId) ") - Slice findAllByAcademicYearId(String code, String tmdId,String subjectId,Pageable pageable); - @Query("select * from LessonRecord as c where c.code = @code and c.expire<=0 and c.status<>404 and array_contains(c.grade,@grade) and" + + Slice findAllByAcademicYearId(String code, String tmdId,String subjectId,String periodId,Pageable pageable); + @Query("select * from LessonRecord as c where c.code = @code and c.expire<=0 and c.status<>404 and array_contains(c.grade,@grade) and c.periodId = @periodId and" + "(IS_NULL(@subjectId) or c.subjectId = @subjectId) ") - Slice findAllByGrade(String code, String grade,String subjectId,Pageable pageable); - @Query("select * from LessonRecord as c where c.code = @code and c.expire<=0 and c.status<>404 and " + + Slice findAllByGrade(String code, String grade,String subjectId,String periodId,Pageable pageable); + @Query("select * from LessonRecord as c where c.code = @code and c.expire<=0 and c.status<>404 and c.periodId = @periodId and" + "(IS_NULL(@subjectId) or c.subjectId = @subjectId) ") - Slice findAll(String code,String subjectId,Pageable pageable); + Slice findAll(String code,String subjectId,String periodId,Pageable pageable); }