|
@@ -21,7 +21,9 @@ import com.ym.mec.common.page.QueryInfo;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
import com.ym.mec.im.ImFeignService;
|
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
|
+import com.ym.mec.util.date.DateConvertor;
|
|
|
import com.ym.mec.util.date.DateUtil;
|
|
|
+import jdk.nashorn.internal.ir.WhileNode;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -802,6 +804,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
classGroup.setStudentNum(studentList.size());
|
|
|
classGroup.setType(ClassGroupTypeEnum.NORMAL);
|
|
|
classGroup.setDelFlag(YesOrNoEnum.NO);
|
|
|
+ classGroup.setCurrentClassTimes(0);
|
|
|
+ classGroup.setTotalClassTimes(classGroup4MixDto.getCourseTimes());
|
|
|
classGroup.setCreateTime(date);
|
|
|
classGroup.setUpdateTime(date);
|
|
|
classGroupDao.insert(classGroup);
|
|
@@ -827,32 +831,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
//3、将老师加入关联关系
|
|
|
List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroup4MixDto.getClassGroupTeacherMapperList();
|
|
|
|
|
|
- //课时长度
|
|
|
- long classCourseDuration = Duration.between(LocalDateTime.parse(classGroup4MixDto.getStartDate() + " " + classGroup4MixDto.getStartClassTime() + ":00"),
|
|
|
- LocalDateTime.parse(classGroup4MixDto.getStartDate() + " " + classGroup4MixDto.getEndClassTime() + ":00"))
|
|
|
- .toMinutes();
|
|
|
|
|
|
for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
|
|
|
classGroupTeacherMapper.setClassGroupId(classGroup.getId());
|
|
|
classGroupTeacherMapper.setMusicGroupId(classGroup4MixDto.getMusicGroupId());
|
|
|
-
|
|
|
- List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), "SINGLE", musicGroup.getSettlementType());
|
|
|
- BigDecimal salary = new BigDecimal("0");
|
|
|
- for (TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary : teacherSalaryList) {
|
|
|
- //对应基准课酬
|
|
|
- BigDecimal baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacherSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacherSalary();
|
|
|
- //基准课酬
|
|
|
- if (teacherDefaultMusicGroupSalary.getSettlementType().equals(SalarySettlementTypeEnum.TEACHER_DEFAULT)) {
|
|
|
- salary = new BigDecimal(classCourseDuration).divide(new BigDecimal(30)).multiply(baseSalary).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
- break;
|
|
|
- }
|
|
|
- //阶梯课酬
|
|
|
- if (classCourseDuration >= teacherDefaultMusicGroupSalary.getDurationMin() && classCourseDuration <= teacherDefaultMusicGroupSalary.getDurationMin()) {
|
|
|
- salary = baseSalary;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- classGroupTeacherMapper.setSalary(salary);
|
|
|
}
|
|
|
classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
|
|
|
|
|
@@ -864,13 +846,21 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
List<CourseScheduleStudentPayment> courseScheduleStudentPaymentList = new ArrayList<>();
|
|
|
BigDecimal expectPrice = new BigDecimal("0");
|
|
|
int times = 0;
|
|
|
+ WhileNode:
|
|
|
while (true) {
|
|
|
- int dayOfWeek = now.getDayOfWeek().getValue();
|
|
|
- if (classGroup4MixDto.getDayOfWeek().equals(dayOfWeek)) {
|
|
|
- Instant instant = now.atZone(ZoneId.systemDefault()).toInstant();
|
|
|
- Date classDate = Date.from(instant);
|
|
|
- String startClassTime = DateUtil.getDate(classDate) + " " + classGroup4MixDto.getStartClassTime() + ":00";
|
|
|
- String endClassTime = DateUtil.getDate(classDate) + " " + classGroup4MixDto.getEndClassTime() + ":00";
|
|
|
+ int dayOfWeek = now.getDayOfWeek().getValue();//当前星期
|
|
|
+ for (CourseTimeDto courseTimeDto : classGroup4MixDto.getCourseTimeDtoList()) {
|
|
|
+ if (!courseTimeDto.getDayOfWeek().equals(dayOfWeek)) continue;
|
|
|
+
|
|
|
+ //课时长度
|
|
|
+ long classCourseDuration = Duration.between(LocalDateTime.parse(classGroup4MixDto.getStartDate() + " " + courseTimeDto.getStartClassTime() + ":00"),
|
|
|
+ LocalDateTime.parse(classGroup4MixDto.getStartDate() + " " + courseTimeDto.getEndClassTime() + ":00"))
|
|
|
+ .toMinutes();
|
|
|
+
|
|
|
+
|
|
|
+ Date classDate = DateConvertor.toDate(now);
|
|
|
+ String startClassTime = DateUtil.getDate(classDate) + " " + courseTimeDto.getStartClassTime() + ":00";
|
|
|
+ String endClassTime = DateUtil.getDate(classDate) + " " + courseTimeDto.getEndClassTime() + ":00";
|
|
|
|
|
|
CourseSchedule courseSchedule = new CourseSchedule();
|
|
|
courseSchedule.setSchoolId(schoolId);
|
|
@@ -890,11 +880,28 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
times++;
|
|
|
|
|
|
for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
|
|
|
+ List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), "SINGLE", musicGroup.getSettlementType());
|
|
|
+ BigDecimal salary = new BigDecimal("0");
|
|
|
+ for (TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary : teacherSalaryList) {
|
|
|
+ //对应基准课酬
|
|
|
+ BigDecimal baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacherSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacherSalary();
|
|
|
+ //基准课酬
|
|
|
+ if (teacherDefaultMusicGroupSalary.getSettlementType().equals(SalarySettlementTypeEnum.TEACHER_DEFAULT)) {
|
|
|
+ salary = new BigDecimal(classCourseDuration).divide(new BigDecimal(30)).multiply(baseSalary).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ //阶梯课酬
|
|
|
+ if (classCourseDuration >= teacherDefaultMusicGroupSalary.getDurationMin() && classCourseDuration <= teacherDefaultMusicGroupSalary.getDurationMin()) {
|
|
|
+ salary = baseSalary;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
|
|
|
courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
|
|
|
courseScheduleTeacherSalary.setTeacherRole(classGroupTeacherMapper.getTeacherRole());
|
|
|
courseScheduleTeacherSalary.setUserId(classGroupTeacherMapper.getUserId());
|
|
|
- courseScheduleTeacherSalary.setExpectSalary(classGroupTeacherMapper.getSalary());
|
|
|
+ courseScheduleTeacherSalary.setExpectSalary(salary);
|
|
|
courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
|
|
|
courseScheduleTeacherSalary.setCreateTime(date);
|
|
|
courseScheduleTeacherSalary.setUpdateTime(date);
|
|
@@ -910,12 +917,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
courseScheduleStudentPayment.setClassGroupId(classGroup.getId());
|
|
|
courseScheduleStudentPaymentList.add(courseScheduleStudentPayment);
|
|
|
}
|
|
|
-
|
|
|
+ if (classGroup4MixDto.getCourseTimes().equals(times)) {
|
|
|
+ break WhileNode;
|
|
|
+ }
|
|
|
}
|
|
|
now = now.plusDays(1);
|
|
|
- if (classGroup4MixDto.getCourseTimes().equals(times)) {
|
|
|
- break;
|
|
|
- }
|
|
|
}
|
|
|
//老师结算表
|
|
|
courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaryList);
|
|
@@ -1016,32 +1022,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
//3、将老师加入关联关系
|
|
|
List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroup4MixDto.getClassGroupTeacherMapperList();
|
|
|
|
|
|
- //课时长度
|
|
|
- long classCourseDuration = Duration.between(LocalDateTime.parse(classGroup4MixDto.getStartDate() + " " + classGroup4MixDto.getStartClassTime() + ":00"),
|
|
|
- LocalDateTime.parse(classGroup4MixDto.getStartDate() + " " + classGroup4MixDto.getEndClassTime() + ":00"))
|
|
|
- .toMinutes();
|
|
|
|
|
|
for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
|
|
|
classGroupTeacherMapper.setClassGroupId(classGroup.getId());
|
|
|
classGroupTeacherMapper.setMusicGroupId(classGroup4MixDto.getMusicGroupId());
|
|
|
-
|
|
|
- List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), "SINGLE", musicGroup.getSettlementType());
|
|
|
- BigDecimal salary = new BigDecimal("0");
|
|
|
- for (TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary : teacherSalaryList) {
|
|
|
- //对应基准课酬
|
|
|
- BigDecimal baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacherSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacherSalary();
|
|
|
- //基准课酬
|
|
|
- if (teacherDefaultMusicGroupSalary.getSettlementType().equals(SalarySettlementTypeEnum.TEACHER_DEFAULT)) {
|
|
|
- salary = new BigDecimal(classCourseDuration).divide(new BigDecimal(30)).multiply(baseSalary).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
- break;
|
|
|
- }
|
|
|
- //阶梯课酬
|
|
|
- if (classCourseDuration >= teacherDefaultMusicGroupSalary.getDurationMin() && classCourseDuration <= teacherDefaultMusicGroupSalary.getDurationMin()) {
|
|
|
- salary = baseSalary;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- classGroupTeacherMapper.setSalary(salary);
|
|
|
}
|
|
|
classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
|
|
|
|
|
@@ -1053,13 +1037,21 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
List<CourseScheduleStudentPayment> courseScheduleStudentPaymentList = new ArrayList<>();
|
|
|
BigDecimal expectPrice = new BigDecimal("0");
|
|
|
int times = 0;
|
|
|
+ WhileNode:
|
|
|
while (true) {
|
|
|
int dayOfWeek = now.getDayOfWeek().getValue();
|
|
|
- if (classGroup4MixDto.getDayOfWeek().equals(dayOfWeek)) {
|
|
|
- Instant instant = now.atZone(ZoneId.systemDefault()).toInstant();
|
|
|
- Date classDate = Date.from(instant);
|
|
|
- String startClassTime = DateUtil.getDate(classDate) + " " + classGroup4MixDto.getStartClassTime() + ":00";
|
|
|
- String endClassTime = DateUtil.getDate(classDate) + " " + classGroup4MixDto.getEndClassTime() + ":00";
|
|
|
+ for (CourseTimeDto courseTimeDto : classGroup4MixDto.getCourseTimeDtoList()) {
|
|
|
+ if (!courseTimeDto.getDayOfWeek().equals(dayOfWeek)) continue;
|
|
|
+
|
|
|
+ //课时长度
|
|
|
+ long classCourseDuration = Duration.between(LocalDateTime.parse(classGroup4MixDto.getStartDate() + " " + courseTimeDto.getStartClassTime() + ":00"),
|
|
|
+ LocalDateTime.parse(classGroup4MixDto.getStartDate() + " " + courseTimeDto.getEndClassTime() + ":00"))
|
|
|
+ .toMinutes();
|
|
|
+
|
|
|
+
|
|
|
+ Date classDate = DateConvertor.toDate(now);
|
|
|
+ String startClassTime = DateUtil.getDate(classDate) + " " + courseTimeDto.getStartClassTime() + ":00";
|
|
|
+ String endClassTime = DateUtil.getDate(classDate) + " " + courseTimeDto.getEndClassTime() + ":00";
|
|
|
|
|
|
CourseSchedule courseSchedule = new CourseSchedule();
|
|
|
courseSchedule.setSchoolId(schoolId);
|
|
@@ -1079,11 +1071,28 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
times++;
|
|
|
|
|
|
for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
|
|
|
+ List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), "SINGLE", musicGroup.getSettlementType());
|
|
|
+ BigDecimal salary = new BigDecimal("0");
|
|
|
+ for (TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary : teacherSalaryList) {
|
|
|
+ //对应基准课酬
|
|
|
+ BigDecimal baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacherSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacherSalary();
|
|
|
+ //基准课酬
|
|
|
+ if (teacherDefaultMusicGroupSalary.getSettlementType().equals(SalarySettlementTypeEnum.TEACHER_DEFAULT)) {
|
|
|
+ salary = new BigDecimal(classCourseDuration).divide(new BigDecimal(30)).multiply(baseSalary).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ //阶梯课酬
|
|
|
+ if (classCourseDuration >= teacherDefaultMusicGroupSalary.getDurationMin() && classCourseDuration <= teacherDefaultMusicGroupSalary.getDurationMin()) {
|
|
|
+ salary = baseSalary;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
|
|
|
courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
|
|
|
courseScheduleTeacherSalary.setTeacherRole(classGroupTeacherMapper.getTeacherRole());
|
|
|
courseScheduleTeacherSalary.setUserId(classGroupTeacherMapper.getUserId());
|
|
|
- courseScheduleTeacherSalary.setExpectSalary(classGroupTeacherMapper.getSalary());
|
|
|
+ courseScheduleTeacherSalary.setExpectSalary(salary);
|
|
|
courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
|
|
|
courseScheduleTeacherSalary.setCreateTime(date);
|
|
|
courseScheduleTeacherSalary.setUpdateTime(date);
|
|
@@ -1099,8 +1108,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
courseScheduleStudentPayment.setClassGroupId(classGroup.getId());
|
|
|
courseScheduleStudentPaymentList.add(courseScheduleStudentPayment);
|
|
|
}
|
|
|
-
|
|
|
+ if (classGroup4MixDto.getCourseTimes().equals(times)) {
|
|
|
+ break WhileNode;
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
now = now.plusDays(1);
|
|
|
if (classGroup4MixDto.getCourseTimes().equals(times)) {
|
|
|
break;
|
|
@@ -1175,6 +1187,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
classGroup.setStudentNum(studentList.size());
|
|
|
classGroup.setType(ClassGroupTypeEnum.SNAP);
|
|
|
classGroup.setDelFlag(YesOrNoEnum.NO);
|
|
|
+ classGroup.setTotalClassTimes(classGroup4MixDto.getCourseTimes());
|
|
|
+ classGroup.setCurrentClassTimes(0);
|
|
|
classGroup.setCreateTime(date);
|
|
|
classGroup.setUpdateTime(date);
|
|
|
classGroupDao.insert(classGroup);
|
|
@@ -1196,32 +1210,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
//3、将老师加入关联关系
|
|
|
List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroup4MixDto.getClassGroupTeacherMapperList();
|
|
|
|
|
|
- //课时长度
|
|
|
- long classCourseDuration = Duration.between(LocalDateTime.parse(classGroup4MixDto.getStartDate() + " " + classGroup4MixDto.getStartClassTime() + ":00"),
|
|
|
- LocalDateTime.parse(classGroup4MixDto.getStartDate() + " " + classGroup4MixDto.getEndClassTime() + ":00"))
|
|
|
- .toMinutes();
|
|
|
|
|
|
for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
|
|
|
classGroupTeacherMapper.setClassGroupId(classGroup.getId());
|
|
|
classGroupTeacherMapper.setMusicGroupId(classGroup4MixDto.getMusicGroupId());
|
|
|
-
|
|
|
- List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), "SINGLE", musicGroup.getSettlementType());
|
|
|
- BigDecimal salary = new BigDecimal("0");
|
|
|
- for (TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary : teacherSalaryList) {
|
|
|
- //对应基准课酬
|
|
|
- BigDecimal baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacherSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacherSalary();
|
|
|
- //基准课酬
|
|
|
- if (teacherDefaultMusicGroupSalary.getSettlementType().equals(SalarySettlementTypeEnum.TEACHER_DEFAULT)) {
|
|
|
- salary = new BigDecimal(classCourseDuration).divide(new BigDecimal(30)).multiply(baseSalary).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
- break;
|
|
|
- }
|
|
|
- //阶梯课酬
|
|
|
- if (classCourseDuration >= teacherDefaultMusicGroupSalary.getDurationMin() && classCourseDuration <= teacherDefaultMusicGroupSalary.getDurationMin()) {
|
|
|
- salary = baseSalary;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- classGroupTeacherMapper.setSalary(salary);
|
|
|
}
|
|
|
classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
|
|
|
|
|
@@ -1233,13 +1225,21 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
List<CourseScheduleStudentPayment> courseScheduleStudentPaymentList = new ArrayList<>();
|
|
|
BigDecimal expectPrice = new BigDecimal("0");
|
|
|
int times = 0;
|
|
|
+ WhileNode:
|
|
|
while (true) {
|
|
|
int dayOfWeek = now.getDayOfWeek().getValue();
|
|
|
- if (classGroup4MixDto.getDayOfWeek().equals(dayOfWeek)) {
|
|
|
- Instant instant = now.atZone(ZoneId.systemDefault()).toInstant();
|
|
|
- Date classDate = Date.from(instant);
|
|
|
- String startClassTime = DateUtil.getDate(classDate) + " " + classGroup4MixDto.getStartClassTime() + ":00";
|
|
|
- String endClassTime = DateUtil.getDate(classDate) + " " + classGroup4MixDto.getEndClassTime() + ":00";
|
|
|
+ for (CourseTimeDto courseTimeDto : classGroup4MixDto.getCourseTimeDtoList()) {
|
|
|
+ if (!courseTimeDto.getDayOfWeek().equals(dayOfWeek)) continue;
|
|
|
+
|
|
|
+ //课时长度
|
|
|
+ long classCourseDuration = Duration.between(LocalDateTime.parse(classGroup4MixDto.getStartDate() + " " + courseTimeDto.getStartClassTime() + ":00"),
|
|
|
+ LocalDateTime.parse(classGroup4MixDto.getStartDate() + " " + courseTimeDto.getEndClassTime() + ":00"))
|
|
|
+ .toMinutes();
|
|
|
+
|
|
|
+
|
|
|
+ Date classDate = DateConvertor.toDate(now);
|
|
|
+ String startClassTime = DateUtil.getDate(classDate) + " " + courseTimeDto.getStartClassTime() + ":00";
|
|
|
+ String endClassTime = DateUtil.getDate(classDate) + " " + courseTimeDto.getEndClassTime() + ":00";
|
|
|
|
|
|
CourseSchedule courseSchedule = new CourseSchedule();
|
|
|
courseSchedule.setSchoolId(schoolId);
|
|
@@ -1259,11 +1259,28 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
times++;
|
|
|
|
|
|
for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
|
|
|
+ List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), "SINGLE", musicGroup.getSettlementType());
|
|
|
+ BigDecimal salary = new BigDecimal("0");
|
|
|
+ for (TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary : teacherSalaryList) {
|
|
|
+ //对应基准课酬
|
|
|
+ BigDecimal baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacherSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacherSalary();
|
|
|
+ //基准课酬
|
|
|
+ if (teacherDefaultMusicGroupSalary.getSettlementType().equals(SalarySettlementTypeEnum.TEACHER_DEFAULT)) {
|
|
|
+ salary = new BigDecimal(classCourseDuration).divide(new BigDecimal(30)).multiply(baseSalary).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ //阶梯课酬
|
|
|
+ if (classCourseDuration >= teacherDefaultMusicGroupSalary.getDurationMin() && classCourseDuration <= teacherDefaultMusicGroupSalary.getDurationMin()) {
|
|
|
+ salary = baseSalary;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
|
|
|
courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
|
|
|
courseScheduleTeacherSalary.setTeacherRole(classGroupTeacherMapper.getTeacherRole());
|
|
|
courseScheduleTeacherSalary.setUserId(classGroupTeacherMapper.getUserId());
|
|
|
- courseScheduleTeacherSalary.setExpectSalary(classGroupTeacherMapper.getSalary());
|
|
|
+ courseScheduleTeacherSalary.setExpectSalary(salary);
|
|
|
courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
|
|
|
courseScheduleTeacherSalary.setCreateTime(date);
|
|
|
courseScheduleTeacherSalary.setUpdateTime(date);
|
|
@@ -1279,12 +1296,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
courseScheduleStudentPayment.setClassGroupId(classGroup.getId());
|
|
|
courseScheduleStudentPaymentList.add(courseScheduleStudentPayment);
|
|
|
}
|
|
|
-
|
|
|
+ if (classGroup4MixDto.getCourseTimes().equals(times)) {
|
|
|
+ break WhileNode;
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
now = now.plusDays(1);
|
|
|
- if (classGroup4MixDto.getCourseTimes().equals(times)) {
|
|
|
- break;
|
|
|
- }
|
|
|
}
|
|
|
//加入合奏班
|
|
|
ClassGroupRelation classGroupRelation = new ClassGroupRelation();
|