|
@@ -543,18 +543,6 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
Set<Integer> organIds = rows.stream().map(e -> e.getTeacherOrganId()).collect(Collectors.toSet());
|
|
|
Map<Integer,String> organNames = MapUtil.convertMybatisMap(organizationDao.findOrganNameMapList(organIds));
|
|
|
|
|
|
- LocalDate nowDate = LocalDateTime.now(DateUtil.zoneId).toLocalDate();
|
|
|
- LocalDate monDayDate = nowDate.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
|
|
|
- List<TeacherExercisesServiceDto> teacherExercisesServiceSituations = studentExtracurricularExercisesSituationDao.findTeacherExercisesServiceSituations(monDayDate.toString(), new ArrayList<>(teachers));
|
|
|
- Map<Integer, TeacherExercisesServiceDto> teacherServiceMap = new HashMap<>();
|
|
|
- if(!CollectionUtils.isEmpty(teacherExercisesServiceSituations)){
|
|
|
- teacherServiceMap = teacherExercisesServiceSituations.stream().collect(Collectors.toMap(TeacherExercisesServiceDto::getTeacherId, t -> t));
|
|
|
- }
|
|
|
-
|
|
|
- Map<Integer,String> operatingStudentsNum = MapUtil.convertMybatisMap(studentDao.getTeacherOperatingStudentsNum(teacherIds));
|
|
|
- Map<Integer,String> practiceStudentsNum = MapUtil.convertMybatisMap(studentDao.getBuyNums(teacherIds, GroupType.PRACTICE));
|
|
|
- Map<Integer,String> vipStudentsNum = MapUtil.convertMybatisMap(studentDao.getBuyNums(teacherIds, GroupType.VIP));
|
|
|
- Map<Integer,String> practiceAndVipStudentsNum = MapUtil.convertMybatisMap(studentDao.getPracticeAndVipNums(teacherIds));
|
|
|
|
|
|
for (Teacher e : rows) {
|
|
|
e.setSubjectName(subjectDao.findBySubIds(e.getSubjectId()));
|
|
@@ -566,26 +554,6 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
e.setVipNum(num == null?0:num);
|
|
|
Integer demoNum = demoNumMap.get(e.getId());
|
|
|
e.setDemoNum(demoNum == null?0:demoNum);
|
|
|
-
|
|
|
- TeacherExercisesServiceDto teacherService = teacherServiceMap.get(e.getId());
|
|
|
- if(Objects.nonNull(teacherService)){
|
|
|
- BigDecimal serviceIndex = new BigDecimal(teacherService.getActualExercisesNum()).multiply(new BigDecimal(100)).divide(new BigDecimal(teacherService.getExpectExercisesNum()), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
|
|
|
- e.setServiceIndex(serviceIndex);
|
|
|
- }else{
|
|
|
- e.setServiceIndex(BigDecimal.ZERO);
|
|
|
- }
|
|
|
- //运营指标
|
|
|
- String studentNum = operatingStudentsNum.get(e.getId());
|
|
|
- if(studentNum != null){
|
|
|
- String practiceNum = practiceStudentsNum.get(e.getId()) ==null ? "0" : practiceStudentsNum.get(e.getId());
|
|
|
- String vipNum = vipStudentsNum.get(e.getId()) ==null ? "0" : vipStudentsNum.get(e.getId());
|
|
|
- String practiceAndVipNum = practiceAndVipStudentsNum.get(e.getId()) ==null ? "0" : practiceAndVipStudentsNum.get(e.getId());
|
|
|
- int allNum = Integer.parseInt(practiceNum) + Integer.parseInt(vipNum) - Integer.parseInt(practiceAndVipNum);
|
|
|
- BigDecimal operatingIndex = new BigDecimal(allNum).multiply(new BigDecimal(100)).divide(new BigDecimal(studentNum), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
|
|
|
- e.setOperatingIndex(operatingIndex);
|
|
|
- }else {
|
|
|
- e.setOperatingIndex(BigDecimal.ZERO);
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
return pageInfo;
|
|
@@ -595,6 +563,19 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
public Teacher getDetail(Integer id) {
|
|
|
Teacher teacher = teacherDao.get(id);
|
|
|
if(teacher != null){
|
|
|
+ LocalDate nowDate = LocalDateTime.now(DateUtil.zoneId).toLocalDate();
|
|
|
+ LocalDate monDayDate = nowDate.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
|
|
|
+ List<TeacherExercisesServiceDto> teacherExercisesServiceSituations = studentExtracurricularExercisesSituationDao.findTeacherExercisesServiceSituations(monDayDate.toString(), Arrays.asList(id));
|
|
|
+ Map<Integer, TeacherExercisesServiceDto> teacherServiceMap = new HashMap<>();
|
|
|
+ if(!CollectionUtils.isEmpty(teacherExercisesServiceSituations)){
|
|
|
+ teacherServiceMap = teacherExercisesServiceSituations.stream().collect(Collectors.toMap(TeacherExercisesServiceDto::getTeacherId, t -> t));
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<Integer,String> operatingStudentsNum = MapUtil.convertMybatisMap(studentDao.getTeacherOperatingStudentsNum(id.toString()));
|
|
|
+ Map<Integer,String> practiceStudentsNum = MapUtil.convertMybatisMap(studentDao.getBuyNums(id.toString(), GroupType.PRACTICE));
|
|
|
+ Map<Integer,String> vipStudentsNum = MapUtil.convertMybatisMap(studentDao.getBuyNums(id.toString(), GroupType.VIP));
|
|
|
+ Map<Integer,String> practiceAndVipStudentsNum = MapUtil.convertMybatisMap(studentDao.getPracticeAndVipNums(id.toString()));
|
|
|
+
|
|
|
//获取老师教学点列表
|
|
|
List<School> teacherSchools = schoolDao.findByUserId(id);
|
|
|
teacher.setTeacherSchools(teacherSchools);
|
|
@@ -605,12 +586,34 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
teacher.setFlowOrganRange(StringUtils.join(organNames,","));
|
|
|
}
|
|
|
if(teacher.getTeacherOrganId() != null){
|
|
|
- teacher.setOrganName(organizationDao.get(teacher.getTeacherOrganId()).getName());
|
|
|
+ Organization organization = organizationDao.get(teacher.getTeacherOrganId());
|
|
|
+ teacher.setOrganName(Objects.nonNull(organization)?organization.getName():null);
|
|
|
}
|
|
|
//专业技能
|
|
|
if(StringUtils.isNotEmpty(teacher.getSubjectId())){
|
|
|
teacher.setSubjectName(subjectDao.findBySubIds(teacher.getSubjectId()));
|
|
|
}
|
|
|
+
|
|
|
+ //服务指标
|
|
|
+ TeacherExercisesServiceDto teacherService = teacherServiceMap.get(id);
|
|
|
+ if(Objects.nonNull(teacherService)){
|
|
|
+ BigDecimal serviceIndex = new BigDecimal(teacherService.getActualExercisesNum()).multiply(new BigDecimal(100)).divide(new BigDecimal(teacherService.getExpectExercisesNum()), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
|
|
|
+ teacher.setServiceIndex(serviceIndex);
|
|
|
+ }else{
|
|
|
+ teacher.setServiceIndex(BigDecimal.ZERO);
|
|
|
+ }
|
|
|
+ //运营指标
|
|
|
+ String studentNum = operatingStudentsNum.get(id);
|
|
|
+ if(studentNum != null){
|
|
|
+ String practiceNum = practiceStudentsNum.get(id) ==null ? "0" : practiceStudentsNum.get(id);
|
|
|
+ String vipNum = vipStudentsNum.get(id) ==null ? "0" : vipStudentsNum.get(id);
|
|
|
+ String practiceAndVipNum = practiceAndVipStudentsNum.get(id) ==null ? "0" : practiceAndVipStudentsNum.get(id);
|
|
|
+ int allNum = Integer.parseInt(practiceNum) + Integer.parseInt(vipNum) - Integer.parseInt(practiceAndVipNum);
|
|
|
+ BigDecimal operatingIndex = new BigDecimal(allNum).multiply(new BigDecimal(100)).divide(new BigDecimal(studentNum), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
|
|
|
+ teacher.setOperatingIndex(operatingIndex);
|
|
|
+ }else {
|
|
|
+ teacher.setOperatingIndex(BigDecimal.ZERO);
|
|
|
+ }
|
|
|
}
|
|
|
return teacher;
|
|
|
}
|