|
@@ -185,13 +185,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
Long classGroupId = this.insert(highClassGroup);
|
|
|
|
|
|
//2、插入班级关联老师
|
|
|
- TeacherDefaultMusicGroupSalary teacherSalary = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(highClassGroup.getUserId(), ClassGroupTypeEnum.HIGH);
|
|
|
ClassGroupTeacherMapper classGroupTeacherMapper = new ClassGroupTeacherMapper();
|
|
|
classGroupTeacherMapper.setMusicGroupId(highClassGroup.getUserId());
|
|
|
classGroupTeacherMapper.setClassGroupId(classGroupId.intValue());
|
|
|
classGroupTeacherMapper.setTeacherRole(TeachTypeEnum.BISHOP);
|
|
|
classGroupTeacherMapper.setUserId(highClassGroup.getUserId());
|
|
|
- classGroupTeacherMapper.setSalary(teacherSalary.getMainTeacherSalary());
|
|
|
classGroupTeacherMapper.setCreateTime(date);
|
|
|
classGroupTeacherMapper.setUpdateTime(date);
|
|
|
classGroupTeacherMapperService.insert(classGroupTeacherMapper);
|
|
@@ -282,60 +280,19 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<ClassGroupTeachersDto> getClassGroupAndTeacherSalary(String musicGroupId,SalarySettlementTypeEnum type) {
|
|
|
+ public List<ClassGroupTeachersDto> getClassGroupAndTeacherSalary(String musicGroupId, SalarySettlementTypeEnum type) {
|
|
|
//乐团班级及班级老师
|
|
|
List<ClassGroupTeachersDto> classGroupAndTeachers = getClassGroupAndTeachers(musicGroupId);
|
|
|
- //乐团的课程计划
|
|
|
- List<CourseSchedule> classGroupCourseSchedules = courseScheduleService.findClassGroupCourseSchedules(classGroupAndTeachers);
|
|
|
|
|
|
- //获取乐团老师课酬
|
|
|
- List<ClassGroupTeacherSalary> nowClassGroupTeacherSalaryList = classGroupTeacherSalaryService.findByMusicGroupId(musicGroupId);
|
|
|
-
|
|
|
- //基础课时
|
|
|
- BigDecimal baseDuration = new BigDecimal("30");
|
|
|
for (ClassGroupTeachersDto classGroupAndTeacher : classGroupAndTeachers) {
|
|
|
-
|
|
|
- Set<Long> courseScheduleDurationSet = new HashSet<>();
|
|
|
- for (CourseSchedule classGroupCourseSchedule : classGroupCourseSchedules) {
|
|
|
- if (classGroupCourseSchedule.getClassGroupId().equals(classGroupAndTeacher.getId())) {
|
|
|
- //课程时长
|
|
|
- long duration = (classGroupCourseSchedule.getEndClassTime().getTime() - classGroupCourseSchedule.getStartClassTime().getTime()) / (1000 * 60);
|
|
|
- courseScheduleDurationSet.add(duration);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //获取教师列表
|
|
|
+ //班级的教师列表
|
|
|
List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroupAndTeacher.getClassGroupTeacherMapperList();
|
|
|
-
|
|
|
- ArrayList<ClassGroupTeacherSalary> classGroupTeacherSalaryList = new ArrayList<>();
|
|
|
- for (Long duration : courseScheduleDurationSet) {
|
|
|
- THREE:
|
|
|
- for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
|
|
|
-
|
|
|
- //已经设置跳过计算
|
|
|
- for (ClassGroupTeacherSalary classGroupTeacherSalary : nowClassGroupTeacherSalaryList) {
|
|
|
- if (classGroupTeacherMapper.getClassGroupId().equals(classGroupTeacherSalary.getClassGroupId()) &&
|
|
|
- classGroupTeacherMapper.getUserId().equals(classGroupTeacherSalary.getUserId()) &&
|
|
|
- classGroupTeacherSalary.getDuration().equals(duration)
|
|
|
- ) {
|
|
|
- classGroupTeacherSalaryList.add(classGroupTeacherSalary);
|
|
|
- continue THREE;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ClassGroupTeacherSalary classGroupTeacherSalary = new ClassGroupTeacherSalary();
|
|
|
- classGroupTeacherSalary.setMusicGroupId(classGroupTeacherMapper.getMusicGroupId());
|
|
|
- classGroupTeacherSalary.setClassGroupId(classGroupTeacherMapper.getClassGroupId());
|
|
|
- classGroupTeacherSalary.setTeacherRole(classGroupTeacherMapper.getTeacherRole());
|
|
|
- classGroupTeacherSalary.setUserId(classGroupTeacherMapper.getUserId());
|
|
|
- classGroupTeacherSalary.setDuration(duration.intValue());
|
|
|
- BigDecimal salary = new BigDecimal(duration).divide(baseDuration).multiply(classGroupTeacherMapper.getSalary()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
- classGroupTeacherSalary.setSalary(salary);
|
|
|
- classGroupTeacherSalaryList.add(classGroupTeacherSalary);
|
|
|
- }
|
|
|
+ for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
|
|
|
+ //获取老师的默认课酬
|
|
|
+ List<TeacherDefaultMusicGroupSalary> teacherSalaryByUserIdAndType = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), classGroupAndTeacher.getType(), type);
|
|
|
+ classGroupTeacherMapper.setTeacherDefaultMusicGroupSalaryList(teacherSalaryByUserIdAndType);
|
|
|
}
|
|
|
- //教师课酬列表
|
|
|
- classGroupAndTeacher.setClassGroupTeacherSalaryList(classGroupTeacherSalaryList);
|
|
|
+
|
|
|
}
|
|
|
return classGroupAndTeachers;
|
|
|
}
|
|
@@ -364,7 +321,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(userId, e.getMusicGroupId());
|
|
|
// if (musicGroupStudentFee != null) {
|
|
|
// int i = DateUtil.daysBetween(new Date(), musicGroupStudentFee.getNextPaymentDate());
|
|
|
- e.setPaymentStatus(musicGroupStudentFee.getPaymentStatus());
|
|
|
+ e.setPaymentStatus(musicGroupStudentFee.getPaymentStatus());
|
|
|
// }
|
|
|
}
|
|
|
});
|
|
@@ -384,7 +341,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
|
|
|
List<ImGroupModel> imGroupModels1 = classGroupDao.queryUserGroups(userId, search);
|
|
|
|
|
|
- if(imGroupModels != null && imGroupModels.size() > 0){
|
|
|
+ if (imGroupModels != null && imGroupModels.size() > 0) {
|
|
|
List<MusicGroup> musicGroups = musicGroupDao.queryListByIds(musicGroupIds);
|
|
|
|
|
|
List<Map<String, Integer>> musicGroupUserNums = musicGroupDao.countMusicGroupUserNum(musicGroupIds);
|
|
@@ -404,10 +361,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
e.setCount(musicGroupUserNumMap.get(e.getId()) + teachers.size());
|
|
|
e.setId("mg" + e.getId());
|
|
|
});
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
imGroupModels = new ArrayList<>();
|
|
|
}
|
|
|
- if(imGroupModels1 != null && imGroupModels1.size() > 0){
|
|
|
+ if (imGroupModels1 != null && imGroupModels1.size() > 0) {
|
|
|
imGroupModels1.forEach(e -> {
|
|
|
//获取当前班级老师总数
|
|
|
Set<Integer> teachers = classGroupDao.queryTeacherIds(e.getId());
|