|
@@ -4247,7 +4247,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
|
|
|
@Override
|
|
|
public List<ExportWrapper.ExportBalancedRelationshipMusicNoCourse> exportBalancedRelationshipMusicNoCourse(String month, String organIds) {
|
|
|
- List<ExportWrapper.ExportBalancedRelationshipMusicNoCourse> exportBalancedRelationshipMusicNoCourses = musicGroupDao.exportBalancedRelationshipMusicNoCourse(month, organIds);
|
|
|
+ List<ExportWrapper.ExportBalancedRelationshipMusicNoCourse> exportBalancedRelationshipMusicNoCourses =
|
|
|
+ musicGroupDao.exportBalancedRelationshipMusicNoCourse(month + "-31 23:59:59", organIds);
|
|
|
if(CollectionUtils.isNotEmpty(exportBalancedRelationshipMusicNoCourses)){
|
|
|
//计算课酬
|
|
|
this.createMusicGroupCourseTeacherSalaries(exportBalancedRelationshipMusicNoCourses);
|
|
@@ -4358,10 +4359,23 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
+ //对应基准课酬
|
|
|
+ BigDecimal baseSalary = new BigDecimal(0), classTimeDuty = new BigDecimal(0);
|
|
|
+
|
|
|
+ SalarySettlementTypeEnum settlementType = noCour.getSettlementType();
|
|
|
+
|
|
|
//基准课酬
|
|
|
- //课程时长与结算单位时长占比
|
|
|
- BigDecimal classTimeDuty = new BigDecimal(noCour.getSubCourseMinutes()).divide(new BigDecimal(30), CommonConstants.DECIMAL_PLACE, RoundingMode.DOWN);
|
|
|
- BigDecimal baseSalary = teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary();
|
|
|
+ if (settlementType.equals(SalarySettlementTypeEnum.TEACHER_DEFAULT)) {
|
|
|
+ //课程时长与结算单位时长占比
|
|
|
+ classTimeDuty = new BigDecimal(noCour.getSubCourseMinutes()).divide(new BigDecimal(30), CommonConstants.DECIMAL_PLACE, RoundingMode.DOWN);
|
|
|
+ baseSalary = teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary();
|
|
|
+ }
|
|
|
+ //阶梯课酬
|
|
|
+ if (settlementType.equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
|
|
|
+ //课程时长与结算单位时长占比
|
|
|
+ classTimeDuty = new BigDecimal(noCour.getSubCourseMinutes()).divide(new BigDecimal(90), CommonConstants.DECIMAL_PLACE, RoundingMode.DOWN);
|
|
|
+ baseSalary = teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary();
|
|
|
+ }
|
|
|
if(Objects.isNull(baseSalary)){
|
|
|
continue;
|
|
|
}
|
|
@@ -4377,7 +4391,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
if(StringUtils.isBlank(teacherDefaultMusicGroupSalary.getSalaryRuleJson())){
|
|
|
continue;
|
|
|
}
|
|
|
-
|
|
|
+ //每节课按45分钟算,向上取整
|
|
|
+ BigDecimal courseNum = new BigDecimal(noCour.getSubCourseMinutes()).divide(new BigDecimal(45), CommonConstants.DECIMAL_PLACE, RoundingMode.UP);
|
|
|
int studentNum = noCour.getStudentNum();
|
|
|
if(studentNum <= 0){
|
|
|
return;
|
|
@@ -4385,7 +4400,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
if(studentNum>5){
|
|
|
studentNum=5;
|
|
|
}
|
|
|
- salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(studentNum+"");
|
|
|
+ salary = courseNum.multiply(JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(studentNum+""));
|
|
|
}
|
|
|
|
|
|
if (StringUtils.equals(noCour.getCourseTypeCode(),CourseSchedule.CourseScheduleType.MUSIC_NETWORK.getCode())) {
|