update 调整数据统计内容

develop
hhb@hotmail.com 3 weeks ago
parent 259f2ff857
commit 9a538d1949

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

Loading…
Cancel
Save