|
@@ -3875,8 +3875,48 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
BigDecimal divide = actualPrice.divide(new BigDecimal(courseSchedules.size()), ROUND_DOWN);
|
|
BigDecimal divide = actualPrice.divide(new BigDecimal(courseSchedules.size()), ROUND_DOWN);
|
|
BigDecimal firstAmount = actualPrice.subtract(divide.multiply(new BigDecimal(courseSchedules.size()))).add(divide);
|
|
BigDecimal firstAmount = actualPrice.subtract(divide.multiply(new BigDecimal(courseSchedules.size()))).add(divide);
|
|
|
|
|
|
|
|
+ BigDecimal teacherDefaultSalary = BigDecimal.ZERO;
|
|
|
|
+ if(practiceGroup.getVipGroupActivityId() != null){
|
|
|
|
+ VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(practiceGroup.getVipGroupActivityId());
|
|
|
|
+ VipGroupSalarySettlementDto vipGroupSalarySettlementDto = JSON.parseObject(vipGroupActivity.getSalarySettlementJson(), VipGroupSalarySettlementDto.class);
|
|
|
|
+ if(Objects.isNull(vipGroupSalarySettlementDto)){
|
|
|
|
+ throw new BizException("课酬结算方案错误");
|
|
|
|
+ }
|
|
|
|
+ VipGroupSalarySettlementTypeDto salarySettlement = vipGroupSalarySettlementDto.getPracticeSalarySettlement();
|
|
|
|
+ switch (salarySettlement.getSalarySettlementType()){
|
|
|
|
+ case TEACHER_DEFAULT:
|
|
|
|
+ break;
|
|
|
|
+ case FIXED_SALARY:
|
|
|
|
+ teacherDefaultSalary = salarySettlement.getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ throw new BizException("错误的课酬结算标准!");
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ SysConfig practiceCourseMinutesConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_MINUTES);
|
|
|
|
+ Integer practiceCourseMinutes = practiceCourseMinutesConfig.getParanValue(Integer.class);
|
|
|
|
+ TeacherDefaultPracticeGroupSalary teacherDefaultPracticeGroupSalary = teacherDefaultPracticeGroupSalaryDao.findByTeacherAndCourseMinutes(practiceGroup.getUserId(),practiceCourseMinutes);
|
|
|
|
+
|
|
|
|
+ if(Objects.isNull(teacherDefaultPracticeGroupSalary)){
|
|
|
|
+ throw new BizException("请设置老师课酬");
|
|
|
|
+ }
|
|
|
|
+ teacherDefaultSalary = teacherDefaultPracticeGroupSalary.getMainTeacherSalary();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
|
|
for (int i = 0; i < courseSchedules.size(); i++) {
|
|
for (int i = 0; i < courseSchedules.size(); i++) {
|
|
CourseSchedule courseSchedule = courseSchedules.get(i);
|
|
CourseSchedule courseSchedule = courseSchedules.get(i);
|
|
|
|
+ //课程与老师薪水表
|
|
|
|
+ CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
|
|
|
|
+ courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
|
|
|
|
+ courseScheduleTeacherSalary.setGroupType(GroupType.PRACTICE);
|
|
|
|
+ courseScheduleTeacherSalary.setMusicGroupId(practiceGroup.getId().toString());
|
|
|
|
+ courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
|
|
|
|
+ courseScheduleTeacherSalary.setUserId(practiceGroup.getUserId());
|
|
|
|
+ courseScheduleTeacherSalary.setExpectSalary(teacherDefaultSalary);
|
|
|
|
+ courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
|
|
|
|
+ courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
|
|
|
|
+
|
|
//学生缴费记录
|
|
//学生缴费记录
|
|
CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
|
|
CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
|
|
courseScheduleStudentPayment.setGroupType(GroupType.PRACTICE);
|
|
courseScheduleStudentPayment.setGroupType(GroupType.PRACTICE);
|
|
@@ -3903,6 +3943,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
teacherAttendance.setCourseScheduleId(courseSchedule.getId());
|
|
teacherAttendance.setCourseScheduleId(courseSchedule.getId());
|
|
teacherAttendances.add(teacherAttendance);
|
|
teacherAttendances.add(teacherAttendance);
|
|
}
|
|
}
|
|
|
|
+ courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
|
|
courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
|
|
courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
|
|
teacherAttendanceDao.batchInsert(teacherAttendances);
|
|
teacherAttendanceDao.batchInsert(teacherAttendances);
|
|
}
|
|
}
|
|
@@ -4776,7 +4817,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
classGroupTeacherSalary.setUpdateTime(now);
|
|
classGroupTeacherSalary.setUpdateTime(now);
|
|
classGroupTeacherSalaryDao.insert(classGroupTeacherSalary);
|
|
classGroupTeacherSalaryDao.insert(classGroupTeacherSalary);
|
|
|
|
|
|
- List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
|
|
|
|
//课程信息调整
|
|
//课程信息调整
|
|
courseSchedules.forEach(courseSchedule -> {
|
|
courseSchedules.forEach(courseSchedule -> {
|
|
courseSchedule.setGroupType(GroupType.PRACTICE);
|
|
courseSchedule.setGroupType(GroupType.PRACTICE);
|
|
@@ -4788,19 +4828,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
courseSchedule.setClassGroupId(classGroup.getId());
|
|
courseSchedule.setClassGroupId(classGroup.getId());
|
|
courseSchedule.setName(applyBaseInfoDto.getName());
|
|
courseSchedule.setName(applyBaseInfoDto.getName());
|
|
courseSchedule.setOrganId(applyBaseInfoDto.getOrganId());
|
|
courseSchedule.setOrganId(applyBaseInfoDto.getOrganId());
|
|
-
|
|
|
|
- //课程与老师薪水表
|
|
|
|
- CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
|
|
|
|
- courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
|
|
|
|
- courseScheduleTeacherSalary.setGroupType(GroupType.PRACTICE);
|
|
|
|
- courseScheduleTeacherSalary.setMusicGroupId(applyBaseInfoDto.getId().toString());
|
|
|
|
- courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
|
|
|
|
- courseScheduleTeacherSalary.setUserId(applyBaseInfoDto.getUserId());
|
|
|
|
- courseScheduleTeacherSalary.setExpectSalary(applyBaseInfoDto.getOnlineTeacherSalary());
|
|
|
|
- courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
|
|
|
|
- courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
|
|
|
|
});
|
|
});
|
|
- courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
|
|
|
|
courseScheduleService.checkNewCourseSchedules(courseSchedules,false,false);
|
|
courseScheduleService.checkNewCourseSchedules(courseSchedules,false,false);
|
|
applyBaseInfoDto.setCourseScheduleJson(JSON.toJSONString(courseSchedules));
|
|
applyBaseInfoDto.setCourseScheduleJson(JSON.toJSONString(courseSchedules));
|
|
practiceGroupDao.update(applyBaseInfoDto);
|
|
practiceGroupDao.update(applyBaseInfoDto);
|