update 调整getCount

develop
hhb@hotmail.com 1 day ago
parent f074f604be
commit 3912b2b6f2

@ -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);
}

@ -23,7 +23,7 @@ public interface SchoolRepository extends CosmosRepository<School, String> {
List<School.Semester> 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<School.Subject> 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<School> findBaseById(@Param("schoolId") String schoolId);
School findSchoolByIdAndCode(String schoolId, String code);

Loading…
Cancel
Save