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 e7aa08a..466e93e 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 @@ -650,26 +650,27 @@ public class TeacherServiceImpl implements TeacherService { teachingAgeDistribution.put("6-10", 0); teachingAgeDistribution.put("11+", 0); - List period = schoolRepository.findPeriodById(teacherDto.getCode(), teacherDto.getPeriodId()); - if (period.isEmpty()) { + List periods = schoolRepository.findPeriodById(teacherDto.getCode()); + if (periods.isEmpty()) { throw new ServiceException(ErrorCode.PARAMS_ERROR); } - School.Period periodModel = period.get(0); - List gradeNames = periodModel.getGrades(); - // 初始化年级统计(按示例顺序) - //List gradeNames = Arrays.asList("一年级", "二年级", "三年级", "四年级", "五年级"); - gradeNames.forEach(grade -> gradeCount.put(grade, 0)); + + // 收集所有学段的年级名称(去重并保持顺序) + Set allGradeNames = new LinkedHashSet<>(); + for (School.Period p : periods) { + List grades = p.getGrades(); + if (grades != null) { + allGradeNames.addAll(grades); + } + } + // 初始化年级统计 + allGradeNames.forEach(grade -> gradeCount.put(grade, 0)); try { - List teachers = ptTeacherRepository.findAllTeacher( + List teachers = ptTeacherRepository.findAdminTeacher( teacherDto.getCode(), - String.format(PK.PTTEACHER, teacherDto.getCode()), - teacherDto.getPeriodId() + String.format(PK.PTTEACHER, teacherDto.getCode()) ); - teachers = teachers.stream() - .filter(teacher -> teacherDto.periodId.equals(teacher.getPeriodId())) - .collect(Collectors.toList()); - for (PtTeacherInfo teacher : teachers) { // 构建教师基本信息 Map teacherInfo = new HashMap<>(); @@ -677,12 +678,6 @@ public class TeacherServiceImpl implements TeacherService { teacherInfo.put("name", teacher.getName()); teacherInfo.put("periodId", teacher.getPeriodId()); -// // 收集教龄数据(新增逻辑) -// if (teacher.getTeachingAge() != null && teacher.getTeachingAge() > 0) { -// totalTeachingAge += teacher.getTeachingAge(); -// validTeachers++; -// } - // 在遍历教师时统计 if (teacher.getTeachingAge() != null) { if (teacher.getTeachingAge() <= 5) teachingAgeDistribution.put("0-5", teachingAgeDistribution.getOrDefault("0-5", 0) + 1); @@ -2306,11 +2301,11 @@ public class TeacherServiceImpl implements TeacherService { List teachers = ptTeacherInfos.stream() .peek(ptTeacherInfo -> { Map scores = getTeacherOfCapabilityAssessment(teacherDto, request); - ptTeacherInfo.setTeachingScore(parseScore(scores.get("teachingScore"), 0.0)); + /*ptTeacherInfo.setTeachingScore(parseScore(scores.get("teachingScore"), 0.0)); ptTeacherInfo.setResearchScore(parseScore(scores.get("researchScore"), 0.0)); ptTeacherInfo.setHonorScore(parseScore(scores.get("honorScore"), 0.0)); ptTeacherInfo.setTrainingScore(parseScore(scores.get("trainingScore"), 0.0)); - ptTeacherInfo.setScientificScore(parseScore(scores.get("scientificScore"), 0.0)); + ptTeacherInfo.setScientificScore(parseScore(scores.get("scientificScore"), 0.0));*/ }) .collect(Collectors.toList()); diff --git a/src/main/java/cn/teammodel/model/entity/teacher/PtTeacherInfo.java b/src/main/java/cn/teammodel/model/entity/teacher/PtTeacherInfo.java index 2183a84..cd50919 100644 --- a/src/main/java/cn/teammodel/model/entity/teacher/PtTeacherInfo.java +++ b/src/main/java/cn/teammodel/model/entity/teacher/PtTeacherInfo.java @@ -36,7 +36,7 @@ public class PtTeacherInfo extends BaseItem { public String periodId ; public List identity; public Integer age; - public Integer teachingAge; + public Integer teachingAge = 0; //教师状态 join invite 以IES5为准 public String status; //职称 @@ -47,9 +47,4 @@ public class PtTeacherInfo extends BaseItem { public Integer state = 1; public Integer version = 1; public String source; - private Double teachingScore; // 教学分数 - private Double researchScore; // 教研分数 - private Double honorScore; // 荣誉分数 - private Double trainingScore; // 培训分数 - private Double scientificScore; // 科研分数 } diff --git a/src/main/java/cn/teammodel/repository/SchoolRepository.java b/src/main/java/cn/teammodel/repository/SchoolRepository.java index 784abbf..7118ae6 100644 --- a/src/main/java/cn/teammodel/repository/SchoolRepository.java +++ b/src/main/java/cn/teammodel/repository/SchoolRepository.java @@ -19,6 +19,8 @@ public interface SchoolRepository extends CosmosRepository { */ @Query("select value p from School as s join p in s.period where s.id = @schoolId and s.code = 'Base' and p.id = @periodId") List findPeriodById(@Param("schoolId") String schoolId, @Param("periodId") String periodId); + @Query("select value p from School as s join p in s.period where s.id = @schoolId and s.code = 'Base' ") + List findPeriodById(@Param("schoolId") String schoolId); @Query("select value p.semesters from School as s join p in s.period where s.id = @schoolId and s.code = 'Base' and p.id = @periodId") 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")