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 91dd2f4..d0b67e7 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 @@ -110,11 +110,11 @@ public class TeacherServiceImpl implements TeacherService { public List> getTeacherList(TeacherDto teacherDto) { List> result = new ArrayList<>(); Map teacherCountMap = new HashMap<>(); - Map groupCountMap = new HashMap<>(); - String code = teacherDto.getCode(); - List groupLists = getCachedGroupLists(code); - List schoolTeachers = getTeacherInfos(code); - teacherCountMap.put("教师总人数", schoolTeachers.size()); + //Map groupCountMap = new HashMap<>(); + String code = String.format(PK.PTTEACHER, teacherDto.getCode()); + //List groupLists = getCachedGroupLists(code); + List ptTeacherInfos = ptTeacherRepository.findAllTeacher(teacherDto.getCode(),code); + teacherCountMap.put("教师总人数", ptTeacherInfos.size()); List school = schoolRepository.findBaseById(teacherDto.getCode()); List subjects = new ArrayList<>(); List periods = new ArrayList<>(); @@ -133,13 +133,13 @@ public class TeacherServiceImpl implements TeacherService { } - Map updatedSubjectCountMap = getStringIntegerMap(subjects, schoolTeachers); + Map updatedSubjectCountMap = getStringIntegerMap(subjects, ptTeacherInfos); // 创建一个映射,用于存储每个职位的教师数量 Map jobCountMap = new HashMap<>(); // 遍历所有教师 - for (SchoolTeacher teacher : schoolTeachers) { + for (PtTeacherInfo teacher : ptTeacherInfos) { // 获取教师的职位 String job = teacher.getJob(); if (job != null) { @@ -148,17 +148,17 @@ public class TeacherServiceImpl implements TeacherService { } } jobCountMap.entrySet().removeIf(entry -> entry.getKey().isEmpty()); - Map periodCountMap = getPeriodCountMap(periods,schoolTeachers); - for (GroupList groupList : groupLists) { - groupCountMap.put(groupList.getName(), groupList.getMembers().size()); - } + Map periodCountMap = getPeriodCountMap(periods,ptTeacherInfos); +// for (GroupList groupList : groupLists) { +// groupCountMap.put(groupList.getName(), groupList.getMembers().size()); +// } periodCountMap.entrySet().removeIf(entry -> entry.getKey().isEmpty()); updatedSubjectCountMap.entrySet().removeIf(entry -> entry.getKey().isEmpty()); result.add(updatedSubjectCountMap); result.add(jobCountMap); result.add(periodCountMap); result.add(teacherCountMap); - result.add(groupCountMap); + //result.add(groupCountMap); return result; } @@ -1987,7 +1987,7 @@ public class TeacherServiceImpl implements TeacherService { return gradeMap; } - private static @NotNull Map getStringIntegerMap(List subjects, List schoolTeachers) { + private static @NotNull Map getStringIntegerMap(List subjects, List ptTeacherInfos) { Map subjectNameMap = new HashMap<>(); for (School.Subject subject : subjects) { subjectNameMap.put(subject.getId(), subject.getName()); @@ -1995,7 +1995,7 @@ public class TeacherServiceImpl implements TeacherService { Map subjectCountMap = new HashMap<>(); // 遍历所有教师 - for (SchoolTeacher teacher : schoolTeachers) { + for (PtTeacherInfo teacher : ptTeacherInfos) { // 获取教师的科目列表 List subjectIds = teacher.getSubjectIds(); if (subjectIds != null) { @@ -2017,12 +2017,12 @@ public class TeacherServiceImpl implements TeacherService { return updatedSubjectCountMap; } - private static @NotNull Map getPeriodCountMap(List periods,List schoolTeachers) { + private static @NotNull Map getPeriodCountMap(List periods,List ptTeacherInfos) { Map periodCountMap = new HashMap<>(); for (School.Period period : periods) { for ( School.Subject subject : period.getSubjects()) { - for (SchoolTeacher schoolTeacher : schoolTeachers) { + for (PtTeacherInfo schoolTeacher : ptTeacherInfos) { if (schoolTeacher.getSubjectIds().contains(subject.getId())) { periodCountMap.put(period.getId(), periodCountMap.getOrDefault(period.getId(), 0) + 1); } diff --git a/src/main/java/cn/teammodel/repository/SchoolRepository.java b/src/main/java/cn/teammodel/repository/SchoolRepository.java index 0a3787e..cc98af9 100644 --- a/src/main/java/cn/teammodel/repository/SchoolRepository.java +++ b/src/main/java/cn/teammodel/repository/SchoolRepository.java @@ -23,7 +23,7 @@ public interface SchoolRepository extends CosmosRepository { List findSemestersById(@Param("schoolId") String schoolId, @Param("periodId") String periodId); @Query("select value p.subjects from School as s join p in s.period where s.id = @schoolId and s.code = 'Base' and p.id = @periodId") List findSubjectById(@Param("schoolId") String schoolId, @Param("periodId") String periodId); - @Query("select * from School as s where s.id = @schoolId and s.code = 'Base' ") + @Query("select s.period,s.subjects from School as s where s.id = @schoolId and s.code = 'Base' ") List findBaseById(@Param("schoolId") String schoolId); School findSchoolByIdAndCode(String schoolId, String code);