|
|
|
@ -110,11 +110,11 @@ public class TeacherServiceImpl implements TeacherService {
|
|
|
|
|
public List<Map<String, Integer>> getTeacherList(TeacherDto teacherDto) {
|
|
|
|
|
List<Map<String, Integer>> result = new ArrayList<>();
|
|
|
|
|
Map<String, Integer> teacherCountMap = new HashMap<>();
|
|
|
|
|
Map<String, Integer> groupCountMap = new HashMap<>();
|
|
|
|
|
String code = teacherDto.getCode();
|
|
|
|
|
List<GroupList> groupLists = getCachedGroupLists(code);
|
|
|
|
|
List<SchoolTeacher> schoolTeachers = getTeacherInfos(code);
|
|
|
|
|
teacherCountMap.put("教师总人数", schoolTeachers.size());
|
|
|
|
|
//Map<String, Integer> groupCountMap = new HashMap<>();
|
|
|
|
|
String code = String.format(PK.PTTEACHER, teacherDto.getCode());
|
|
|
|
|
//List<GroupList> groupLists = getCachedGroupLists(code);
|
|
|
|
|
List<PtTeacherInfo> ptTeacherInfos = ptTeacherRepository.findAllTeacher(teacherDto.getCode(),code);
|
|
|
|
|
teacherCountMap.put("教师总人数", ptTeacherInfos.size());
|
|
|
|
|
List<School> school = schoolRepository.findBaseById(teacherDto.getCode());
|
|
|
|
|
List<School.Subject> subjects = new ArrayList<>();
|
|
|
|
|
List<School.Period> periods = new ArrayList<>();
|
|
|
|
@ -133,13 +133,13 @@ public class TeacherServiceImpl implements TeacherService {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Map<String, Integer> updatedSubjectCountMap = getStringIntegerMap(subjects, schoolTeachers);
|
|
|
|
|
Map<String, Integer> updatedSubjectCountMap = getStringIntegerMap(subjects, ptTeacherInfos);
|
|
|
|
|
|
|
|
|
|
// 创建一个映射,用于存储每个职位的教师数量
|
|
|
|
|
Map<String, Integer> 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<String, Integer> periodCountMap = getPeriodCountMap(periods,schoolTeachers);
|
|
|
|
|
for (GroupList groupList : groupLists) {
|
|
|
|
|
groupCountMap.put(groupList.getName(), groupList.getMembers().size());
|
|
|
|
|
}
|
|
|
|
|
Map<String, Integer> 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<String, Integer> getStringIntegerMap(List<School.Subject> subjects, List<SchoolTeacher> schoolTeachers) {
|
|
|
|
|
private static @NotNull Map<String, Integer> getStringIntegerMap(List<School.Subject> subjects, List<PtTeacherInfo> ptTeacherInfos) {
|
|
|
|
|
Map<String, String> subjectNameMap = new HashMap<>();
|
|
|
|
|
for (School.Subject subject : subjects) {
|
|
|
|
|
subjectNameMap.put(subject.getId(), subject.getName());
|
|
|
|
@ -1995,7 +1995,7 @@ public class TeacherServiceImpl implements TeacherService {
|
|
|
|
|
Map<String, Integer> subjectCountMap = new HashMap<>();
|
|
|
|
|
|
|
|
|
|
// 遍历所有教师
|
|
|
|
|
for (SchoolTeacher teacher : schoolTeachers) {
|
|
|
|
|
for (PtTeacherInfo teacher : ptTeacherInfos) {
|
|
|
|
|
// 获取教师的科目列表
|
|
|
|
|
List<String> subjectIds = teacher.getSubjectIds();
|
|
|
|
|
if (subjectIds != null) {
|
|
|
|
@ -2017,12 +2017,12 @@ public class TeacherServiceImpl implements TeacherService {
|
|
|
|
|
return updatedSubjectCountMap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static @NotNull Map<String, Integer> getPeriodCountMap(List<School.Period> periods,List<SchoolTeacher> schoolTeachers) {
|
|
|
|
|
private static @NotNull Map<String, Integer> getPeriodCountMap(List<School.Period> periods,List<PtTeacherInfo> ptTeacherInfos) {
|
|
|
|
|
|
|
|
|
|
Map<String, Integer> 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);
|
|
|
|
|
}
|
|
|
|
|