|
@@ -747,9 +747,36 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
}
|
|
|
if (money.doubleValue() > 0) {
|
|
|
String[] split = e.getCourseScheduleIds().split(",");
|
|
|
- for (int i = 0; i < split.length; i++) {
|
|
|
- rewardMap.put(Integer.parseInt(split[i]),money.doubleValue()/split.length);
|
|
|
- rewardNameMap.put(Integer.parseInt(split[i]),e.getActiveName());
|
|
|
+ switch (rewardsRule.getRewardMode()) {
|
|
|
+ case STAIR:
|
|
|
+ List<String> list = new ArrayList(Arrays.asList(split));
|
|
|
+ int fromIndex = 0;
|
|
|
+ List<String> subList;
|
|
|
+ int max = 0;
|
|
|
+ for (RewardsRulesJsonDto rulesJsonDto:rulesJsonDtos) {
|
|
|
+ if(list.size() < fromIndex){
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ max = rulesJsonDto.getMax();
|
|
|
+ if(list.size() < rulesJsonDto.getMax()){
|
|
|
+ max = list.size();
|
|
|
+ }
|
|
|
+ subList = list.subList(fromIndex,max);
|
|
|
+ fromIndex = rulesJsonDto.getMax();
|
|
|
+ if(subList != null && subList.size() > 0){
|
|
|
+ subList.forEach(courseId->{
|
|
|
+ rewardMap.put(Integer.parseInt(courseId),rulesJsonDto.getMoney().doubleValue());
|
|
|
+ rewardNameMap.put(Integer.parseInt(courseId),e.getActiveName());
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case PER:
|
|
|
+ for (int i = 0; i < split.length; i++) {
|
|
|
+ rewardMap.put(Integer.parseInt(split[i]),money.doubleValue()/split.length);
|
|
|
+ rewardNameMap.put(Integer.parseInt(split[i]),e.getActiveName());
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
});
|
|
@@ -765,6 +792,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
return exportTeacherSalaryDtos;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
public List<Long> querySettlementScheduleId(String courseScheduleIds) {
|
|
|
return courseScheduleTeacherSalaryDao.querySettlementScheduleId(courseScheduleIds);
|