|
@@ -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;
|
|
@@ -806,6 +808,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);
|
|
@@ -831,32 +835,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);
|
|
|
|
|
@@ -868,13 +850,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);
|
|
@@ -894,11 +884,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);
|
|
@@ -914,12 +921,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);
|
|
@@ -1020,32 +1026,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);
|
|
|
|
|
@@ -1057,13 +1041,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);
|
|
@@ -1083,11 +1075,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);
|
|
@@ -1103,8 +1112,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;
|
|
@@ -1179,6 +1191,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);
|
|
@@ -1200,32 +1214,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);
|
|
|
|
|
@@ -1237,13 +1229,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);
|
|
@@ -1263,11 +1263,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);
|
|
@@ -1283,12 +1300,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();
|
|
@@ -1373,15 +1390,15 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
if (!Objects.isNull(currentBishopTeacher)) {
|
|
|
e.setMasterTeacherId(currentBishopTeacher.getUserId());
|
|
|
e.setMasterTeacherName(currentBishopTeacher.getUserName());
|
|
|
- e.setTeacherNum(1);
|
|
|
}
|
|
|
|
|
|
List<CourseScheduleTeacherSalary> currentCourseTeachingTeachers = courseScheduleTeachingTeacherMaps.get(e.getCourseScheduleId().longValue());
|
|
|
if (CollectionUtils.isEmpty(currentCourseTeachingTeachers)) {
|
|
|
+ e.setTeacherNum(0);
|
|
|
e.setTeachingTeachers(new ArrayList<>());
|
|
|
} else {
|
|
|
e.setTeachingTeachers(currentCourseTeachingTeachers);
|
|
|
- e.setTeacherNum(e.getTeacherNum() == null ? 0 : e.getTeacherNum() + currentCourseTeachingTeachers.size());
|
|
|
+ e.setTeacherNum(currentCourseTeachingTeachers.size());
|
|
|
}
|
|
|
|
|
|
});
|
|
@@ -1412,4 +1429,25 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
return classGroupList;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<ClassGroupTeachersDto> classGroupAndTeacher(int classGroupId) {
|
|
|
+ List<ClassGroupTeachersDto> classGroups = classGroupDao.findClassGroupByMixClassGroupId(classGroupId);
|
|
|
+ String classGroupIds = "";
|
|
|
+ for (ClassGroupTeachersDto classGroupTeachersDto : classGroups) {
|
|
|
+ classGroupIds += classGroupTeachersDto.getId() + ",";
|
|
|
+ }
|
|
|
+ classGroupIds = classGroupIds.substring(0, classGroupIds.length() - 1);
|
|
|
+
|
|
|
+ List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperDao.findClassGroupTeachers(classGroupIds);
|
|
|
+ for (ClassGroupTeachersDto classGroup : classGroups) {
|
|
|
+ List<ClassGroupTeacherMapper> classGroupTeacherMappers = new ArrayList<>();
|
|
|
+ for (ClassGroupTeacherMapper classGroupTeacher : classGroupTeachers) {
|
|
|
+ if (!classGroup.getId().equals(classGroupTeacher.getUserId())) continue;
|
|
|
+ classGroupTeacherMappers.add(classGroupTeacher);
|
|
|
+ }
|
|
|
+ classGroup.setClassGroupTeacherMapperList(classGroupTeacherMappers);
|
|
|
+ }
|
|
|
+ return classGroups;
|
|
|
+ }
|
|
|
}
|