|
@@ -104,6 +104,8 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
@Lazy
|
|
|
private PracticeGroupService practiceGroupService;
|
|
|
@Autowired
|
|
|
+ private CloudTeacherFreeCourseDao cloudTeacherFreeCourseDao;
|
|
|
+ @Autowired
|
|
|
private RedisTemplate redisTemplate;
|
|
|
|
|
|
private static final Logger LOGGER = LoggerFactory
|
|
@@ -931,17 +933,15 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
//扣除有异常考勤的课酬
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
MapUtil.populateMap(params, queryInfo);
|
|
|
- String firstDayOfMonth = DateUtil.format(DateUtil.getFirstDayOfMonth(queryInfo.getDate()),DateUtil.ISO_EXPANDED_DATE_FORMAT);
|
|
|
- String lastDayOfMonth = DateUtil.format(DateUtil.getLastDayOfMonth(queryInfo.getDate()),DateUtil.ISO_EXPANDED_DATE_FORMAT);
|
|
|
- params.put("firstDayOfMonth",firstDayOfMonth);
|
|
|
- params.put("lastDayOfMonth",lastDayOfMonth);
|
|
|
+ String month = DateUtil.format(DateUtil.getFirstDayOfMonth(queryInfo.getDate()),DateUtil.ISO_YEAR_MONTH_FORMAT);
|
|
|
+ params.put("month",month);
|
|
|
List<ExportTeacherSalaryDto> exportTeacherSalaryDtos = new ArrayList<>();
|
|
|
//乐团课
|
|
|
exportTeacherSalaryDtos.addAll(courseScheduleTeacherSalaryDao.exportMusicTeacherSalary(params));
|
|
|
//vip课
|
|
|
List<ExportTeacherSalaryDto> exportVipTeacherSalaryDtos = courseScheduleTeacherSalaryDao.exportVipTeacherSalary(params);
|
|
|
//获取有奖励的vip课 .collect(Collectors.toMap(Group::getId, group -> group));
|
|
|
- List<TaskRewardsRulesDto> rewardsRulesDtos = courseScheduleRewardsRulesService.queryVipGroupTeacherClassTimesByMonth(firstDayOfMonth,lastDayOfMonth);
|
|
|
+ List<TaskRewardsRulesDto> rewardsRulesDtos = courseScheduleRewardsRulesService.queryVipGroupTeacherClassTimesByMonth(month);
|
|
|
Map<Integer,Double> rewardMap = new HashMap<>(1000);
|
|
|
Map<Integer,String> rewardNameMap = new HashMap<>(1000);
|
|
|
if(rewardsRulesDtos != null && rewardsRulesDtos.size() > 0){
|
|
@@ -1034,16 +1034,19 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
if(!CollectionUtils.isEmpty(allCourseIds)){
|
|
|
List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseScheduleIds(new ArrayList<>(allCourseIds));
|
|
|
if(!CollectionUtils.isEmpty(courseScheduleStudentPayments)){
|
|
|
- courseIncomeMap = courseScheduleStudentPayments.stream().collect(Collectors.groupingBy(CourseScheduleStudentPayment::getCourseScheduleId, Collectors.mapping(CourseScheduleStudentPayment::getExpectPrice, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add))));
|
|
|
+ courseIncomeMap = courseScheduleStudentPayments.stream().collect(Collectors.groupingBy(CourseScheduleStudentPayment::getCourseScheduleId, Collectors.mapping(CourseScheduleStudentPayment::getActualPrice, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add))));
|
|
|
}
|
|
|
}
|
|
|
+ Map<Long,BigDecimal> courseCast = MapUtil.convertIntegerMap(cloudTeacherFreeCourseDao.queryMapByClassDate(month));
|
|
|
|
|
|
for (ExportTeacherSalaryDto exportTeacherSalaryDto : exportTeacherSalaryDtos) {
|
|
|
+ BigDecimal castOrDefault = courseCast.getOrDefault(exportTeacherSalaryDto.getCourseScheduleId(), BigDecimal.ZERO);
|
|
|
if(!courseIncomeMap.containsKey(exportTeacherSalaryDto.getCourseScheduleId())){
|
|
|
exportTeacherSalaryDto.setCourseIncome(BigDecimal.ZERO);
|
|
|
}else{
|
|
|
exportTeacherSalaryDto.setCourseIncome(courseIncomeMap.get(exportTeacherSalaryDto.getCourseScheduleId()));
|
|
|
}
|
|
|
+ exportTeacherSalaryDto.setCourseIncome(exportTeacherSalaryDto.getCourseIncome().add(castOrDefault));
|
|
|
}
|
|
|
|
|
|
exportTeacherSalaryDtos.sort(Comparator.comparing(ExportTeacherSalaryDto::getTeacherId));
|