|
|
|
@ -670,11 +670,11 @@ 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 && teacher.getTeachingAge() > 0) {
|
|
|
|
|
// totalTeachingAge += teacher.getTeachingAge();
|
|
|
|
|
// validTeachers++;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// 在遍历教师时统计
|
|
|
|
|
if (teacher.getTeachingAge() != null) {
|
|
|
|
@ -714,13 +714,13 @@ public class TeacherServiceImpl implements TeacherService {
|
|
|
|
|
teachersList.add(teacherInfo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 计算平均教龄(新增逻辑)
|
|
|
|
|
/* // 计算平均教龄(新增逻辑)
|
|
|
|
|
int averageTeachingAge = validTeachers > 0 ?
|
|
|
|
|
Math.round((float) totalTeachingAge / validTeachers) : 0;
|
|
|
|
|
Math.round((float) totalTeachingAge / validTeachers) : 0;*/
|
|
|
|
|
|
|
|
|
|
result.put("teacher", teachersList);
|
|
|
|
|
result.put("gradeCount", gradeCount);
|
|
|
|
|
result.put("teachingAge", averageTeachingAge); // 新增字段
|
|
|
|
|
//result.put("teachingAge", averageTeachingAge); // 新增字段
|
|
|
|
|
result.put("teachingAgeDistribution", teachingAgeDistribution);
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
@ -738,6 +738,11 @@ public class TeacherServiceImpl implements TeacherService {
|
|
|
|
|
Map<String,Map<String, Long>> degreesMap = new HashMap<>();
|
|
|
|
|
Map<String,Map<String, Long>> subjectsMap= new HashMap<>();
|
|
|
|
|
Map<String,Map<String, Long>> teachingAgeMap = new HashMap<>();
|
|
|
|
|
Map<String,Map<String, Long>> averageTeachingAgeMap = new HashMap<>();
|
|
|
|
|
//Map<String,Object> averageTeachingAgeMap = new HashMap<>();
|
|
|
|
|
// 新增教龄统计变量
|
|
|
|
|
int totalTeachingAge = 0;
|
|
|
|
|
int validTeachers = 0;
|
|
|
|
|
List<PtTeacherInfo> teachers = new ArrayList<>();
|
|
|
|
|
String code = String.format(PK.PTTEACHER, teacherDto.getCode());
|
|
|
|
|
try {
|
|
|
|
@ -751,6 +756,7 @@ public class TeacherServiceImpl implements TeacherService {
|
|
|
|
|
Map<String, Long> degreeCount = new HashMap<>();
|
|
|
|
|
Map<String, Long> subjectCount = new HashMap<>();
|
|
|
|
|
Map<String, Long> teachingAgeCount = new HashMap<>();
|
|
|
|
|
Map<String, Long> averageTeachingAgeCount = new HashMap<>();
|
|
|
|
|
if(StringUtils.isNotEmpty(teacherDto.getGrade()) && StringUtils.isNotEmpty(teacherDto.getSubjectId())) {
|
|
|
|
|
for (PtTeacherInfo teacher : ptTeacherInfos) {
|
|
|
|
|
if(teacher.getGrade() != null &&teacher.getSubjectIds() != null &&teacher.getGrade().contains(teacherDto.getGrade()) && teacher.getSubjectIds().contains(teacherDto.getSubjectId())) {
|
|
|
|
@ -778,15 +784,22 @@ public class TeacherServiceImpl implements TeacherService {
|
|
|
|
|
int age = teacher.getTeachingAge();
|
|
|
|
|
String teachingAge = "";
|
|
|
|
|
if (age >= 0 && age <= 5) {
|
|
|
|
|
teachingAge = "0-5";
|
|
|
|
|
teachingAge = "0-5年";
|
|
|
|
|
} else if (age > 5 && age <= 10) {
|
|
|
|
|
teachingAge = "5-10";
|
|
|
|
|
teachingAge = "5-10年";
|
|
|
|
|
} else if (age > 10 && age <= 15) {
|
|
|
|
|
teachingAge = "10-15";
|
|
|
|
|
teachingAge = "10-15年";
|
|
|
|
|
}
|
|
|
|
|
Long count = teachingAgeCount.getOrDefault(teachingAge, 0L);
|
|
|
|
|
teachingAgeCount.put(teachingAge, count + 1);
|
|
|
|
|
|
|
|
|
|
totalTeachingAge += teacher.getTeachingAge();
|
|
|
|
|
validTeachers++;
|
|
|
|
|
//计算评价教龄
|
|
|
|
|
}
|
|
|
|
|
// 计算平均教龄(新增逻辑)
|
|
|
|
|
long averageTeachingAge = validTeachers > 0 ? Math.round((float) totalTeachingAge / validTeachers) : 0;
|
|
|
|
|
averageTeachingAgeCount.put("averageTeachingAge", averageTeachingAge);
|
|
|
|
|
/*if(teacher.getGroups() != null) {
|
|
|
|
|
for (GpTeacherVo.IdNameCode group : teacher.getGroups()) {
|
|
|
|
|
Long count = GroupCount.getOrDefault(group.getName(), 0L);
|
|
|
|
@ -824,15 +837,22 @@ public class TeacherServiceImpl implements TeacherService {
|
|
|
|
|
int age = teacher.getTeachingAge();
|
|
|
|
|
String teachingAge = "";
|
|
|
|
|
if (age >= 0 && age <= 5) {
|
|
|
|
|
teachingAge = "0-5";
|
|
|
|
|
teachingAge = "0-5年";
|
|
|
|
|
} else if (age > 5 && age <= 10) {
|
|
|
|
|
teachingAge = "5-10";
|
|
|
|
|
teachingAge = "5-10年";
|
|
|
|
|
} else if (age > 10 && age <= 15) {
|
|
|
|
|
teachingAge = "10-15";
|
|
|
|
|
teachingAge = "10-15年";
|
|
|
|
|
}
|
|
|
|
|
Long count = teachingAgeCount.getOrDefault(teachingAge, 0L);
|
|
|
|
|
teachingAgeCount.put(teachingAge, count + 1);
|
|
|
|
|
|
|
|
|
|
totalTeachingAge += teacher.getTeachingAge();
|
|
|
|
|
validTeachers++;
|
|
|
|
|
//计算评价教龄
|
|
|
|
|
}
|
|
|
|
|
// 计算平均教龄(新增逻辑)
|
|
|
|
|
long averageTeachingAge = validTeachers > 0 ? Math.round((float) totalTeachingAge / validTeachers) : 0;
|
|
|
|
|
averageTeachingAgeCount.put("averageTeachingAge", averageTeachingAge);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}else if(StringUtils.isNotEmpty(teacherDto.getGrade()) && StringUtils.isEmpty(teacherDto.getSubjectId())) {
|
|
|
|
@ -865,15 +885,22 @@ public class TeacherServiceImpl implements TeacherService {
|
|
|
|
|
int age = teacher.getTeachingAge();
|
|
|
|
|
String teachingAge = "";
|
|
|
|
|
if (age >= 0 && age <= 5) {
|
|
|
|
|
teachingAge = "0-5";
|
|
|
|
|
teachingAge = "0-5年";
|
|
|
|
|
} else if (age > 5 && age <= 10) {
|
|
|
|
|
teachingAge = "5-10";
|
|
|
|
|
teachingAge = "5-10年";
|
|
|
|
|
} else if (age > 10 && age <= 15) {
|
|
|
|
|
teachingAge = "10-15";
|
|
|
|
|
teachingAge = "10-15年";
|
|
|
|
|
}
|
|
|
|
|
Long count = teachingAgeCount.getOrDefault(teachingAge, 0L);
|
|
|
|
|
teachingAgeCount.put(teachingAge, count + 1);
|
|
|
|
|
|
|
|
|
|
totalTeachingAge += teacher.getTeachingAge();
|
|
|
|
|
validTeachers++;
|
|
|
|
|
//计算评价教龄
|
|
|
|
|
}
|
|
|
|
|
// 计算平均教龄(新增逻辑)
|
|
|
|
|
long averageTeachingAge = validTeachers > 0 ? Math.round((float) totalTeachingAge / validTeachers) : 0;
|
|
|
|
|
averageTeachingAgeCount.put(teacherDto.getGrade(), averageTeachingAge);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -907,15 +934,22 @@ public class TeacherServiceImpl implements TeacherService {
|
|
|
|
|
int age = teacher.getTeachingAge();
|
|
|
|
|
String teachingAge = "";
|
|
|
|
|
if (age >= 0 && age <= 5) {
|
|
|
|
|
teachingAge = "0-5";
|
|
|
|
|
teachingAge = "0-5年";
|
|
|
|
|
} else if (age > 5 && age <= 10) {
|
|
|
|
|
teachingAge = "5-10";
|
|
|
|
|
teachingAge = "5-10年";
|
|
|
|
|
} else if (age > 10 && age <= 15) {
|
|
|
|
|
teachingAge = "10-15";
|
|
|
|
|
teachingAge = "10-15年";
|
|
|
|
|
}
|
|
|
|
|
Long count = teachingAgeCount.getOrDefault(teachingAge, 0L);
|
|
|
|
|
teachingAgeCount.put(teachingAge, count + 1);
|
|
|
|
|
|
|
|
|
|
totalTeachingAge += teacher.getTeachingAge();
|
|
|
|
|
validTeachers++;
|
|
|
|
|
//计算评价教龄
|
|
|
|
|
}
|
|
|
|
|
// 计算平均教龄(新增逻辑)
|
|
|
|
|
long averageTeachingAge = validTeachers > 0 ? Math.round((float) totalTeachingAge / validTeachers) : 0;
|
|
|
|
|
averageTeachingAgeCount.put("all", averageTeachingAge);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -923,7 +957,9 @@ public class TeacherServiceImpl implements TeacherService {
|
|
|
|
|
gradesMap.put("grade", gradeCount);
|
|
|
|
|
degreesMap.put("degree", degreeCount);
|
|
|
|
|
subjectsMap.put("subject", subjectCount);
|
|
|
|
|
teachingAgeMap.put("group", teachingAgeCount);
|
|
|
|
|
teachingAgeMap.put("teachingAge", teachingAgeCount);
|
|
|
|
|
averageTeachingAgeMap.put("averageTeachingAge", averageTeachingAgeCount);
|
|
|
|
|
distributionList.add(averageTeachingAgeMap);
|
|
|
|
|
distributionList.add(gradesMap);
|
|
|
|
|
distributionList.add(degreesMap);
|
|
|
|
|
distributionList.add(subjectsMap);
|
|
|
|
|