|
@@ -590,6 +590,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
Map<String,Long> currentClassTimeMap = MapUtil.convertIntegerMap(courseScheduleDao.countCourseScheduleNum(vipGroupIds,"VIP"));
|
|
|
Map<String,String> lastOverTimeMap = MapUtil.convertIntegerMap(courseScheduleDao.findLastOverTime(vipGroupIds));
|
|
|
|
|
|
+ List<Map<String, BigDecimal>> groupCoursesUnitPriceMaps = courseScheduleStudentPaymentDao.findGroupCoursesUnitPrice(GroupType.VIP, vipGroupIds);
|
|
|
+ Map<String,BigDecimal> groupCoursesUnitPrice=new HashMap<>();
|
|
|
+ if(!CollectionUtils.isEmpty(groupCoursesUnitPriceMaps)){
|
|
|
+ groupCoursesUnitPrice=MapUtil.convertIntegerMap(groupCoursesUnitPriceMaps);
|
|
|
+ }
|
|
|
+
|
|
|
Map<Integer, String> idNameMap=new HashMap<>();
|
|
|
if(!CollectionUtils.isEmpty(educationalTeacherIds)){
|
|
|
List<SimpleUserDto> educationalUsers = employeeDao.findByIds(educationalTeacherIds);
|
|
@@ -616,6 +622,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
|
|
|
vipGroup.setEducationalTeacherName(idNameMap.get(vipGroup.getEducationalTeacherId()));
|
|
|
|
|
|
+ vipGroup.setCourseUnitPrice(groupCoursesUnitPrice.get(String.valueOf(vipGroup.getId())));
|
|
|
+
|
|
|
if(queryInfo.getIsExport()){
|
|
|
List<GroupUserDto> groupStudents = groupStudentsMap.get(vipGroup.getId().toString());
|
|
|
if(!CollectionUtils.isEmpty(groupStudents)){
|
|
@@ -967,21 +975,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
totalPrice=totalPrice.setScale(0,BigDecimal.ROUND_CEILING);
|
|
|
results.put("totalPrice",totalPrice);
|
|
|
|
|
|
- Teacher teacher = teacherDao.get(teacherId);
|
|
|
- if(!JobNatureEnum.FULL_TIME.equals(teacher.getJobNature())){
|
|
|
- if(Objects.isNull(teacherDefaultVipGroupSalary)||Objects.isNull(teacherDefaultVipGroupSalary.getOnlineClassesSalary())){
|
|
|
- results.put("onlineTeacherSalary", BigDecimal.ZERO);
|
|
|
- }else{
|
|
|
- results.put("onlineTeacherSalary", teacherDefaultVipGroupSalary.getOnlineClassesSalary());
|
|
|
- }
|
|
|
- if(Objects.isNull(teacherDefaultVipGroupSalary)||Objects.isNull(teacherDefaultVipGroupSalary.getOfflineClassesSalary())){
|
|
|
- results.put("offlineTeacherSalary", BigDecimal.ZERO);
|
|
|
- }else{
|
|
|
- results.put("offlineTeacherSalary", teacherDefaultVipGroupSalary.getOfflineClassesSalary());
|
|
|
- }
|
|
|
- return results;
|
|
|
- }
|
|
|
-
|
|
|
//教师课酬线上单课酬计算
|
|
|
if(Objects.nonNull(vipGroupSalarySettlementDto.getOnlineSalarySettlement())){
|
|
|
if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary
|
|
@@ -992,17 +985,14 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
if(Objects.isNull(teacherOnlineSalary)){
|
|
|
switch (vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSalarySettlementType()){
|
|
|
case TEACHER_DEFAULT:
|
|
|
- if(Objects.isNull(teacherDefaultVipGroupSalary)||Objects.isNull(teacherDefaultVipGroupSalary.getOnlineClassesSalary())){
|
|
|
+ if(Objects.isNull(teacherDefaultVipGroupSalary)||Objects.isNull(teacherDefaultVipGroupSalary.getOfflineClassesSalary())){
|
|
|
teacherOnlineSalary=new BigDecimal(0);
|
|
|
}else{
|
|
|
- teacherOnlineSalary=teacherDefaultVipGroupSalary.getOnlineClassesSalary();
|
|
|
+ teacherOnlineSalary=teacherDefaultVipGroupSalary.getOfflineClassesSalary();
|
|
|
}
|
|
|
-// teacherOnlineSalary=teacherOnlineSalary.multiply(classTimeDuty);
|
|
|
results.put("onlineTeacherSalary",teacherOnlineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
|
break;
|
|
|
case RATIO_DISCOUNT:
|
|
|
-// results.put("onlineTeacherSalary",onlineClassesUnitPrice.multiply((vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue())).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
|
|
|
-
|
|
|
results.put("onlineTeacherSalary",totalPrice.multiply(new BigDecimal(vipGroupCategory.getStudentNum())).divide(totalClassNum, CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
|
|
|
|
|
|
break;
|
|
@@ -1036,8 +1026,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
results.put("offlineTeacherSalary",teacherOfflineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
|
break;
|
|
|
case RATIO_DISCOUNT:
|
|
|
-// results.put("offlineTeacherSalary",offlineClassesUnitPrice.multiply(vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
|
|
|
-
|
|
|
results.put("offlineTeacherSalary",totalPrice.multiply(new BigDecimal(vipGroupCategory.getStudentNum())).divide(totalClassNum, CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
|
|
|
|
|
|
break;
|