Commit 581e1ddaa96688c28904fe3d7859c56eefa14f88
1 parent
308b252c
feature(*): 奖惩台阶展示修改
奖惩台阶展示修改
Showing
3 changed files
with
38 additions
and
2 deletions
fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/eval/reward/EvalRewardBaseCalculator.java
@@ -125,7 +125,8 @@ public abstract class EvalRewardBaseCalculator implements Calculator<EvalGroupUs | @@ -125,7 +125,8 @@ public abstract class EvalRewardBaseCalculator implements Calculator<EvalGroupUs | ||
125 | protected List<EvalGroupRewardLadders> queryRewardLadders(final Long evalGroupRewardId) { | 125 | protected List<EvalGroupRewardLadders> queryRewardLadders(final Long evalGroupRewardId) { |
126 | List<EvalGroupRewardLadders> ladders = evalGroupRewardLaddersService.list(Wrappers.<EvalGroupRewardLadders>lambdaQuery() | 126 | List<EvalGroupRewardLadders> ladders = evalGroupRewardLaddersService.list(Wrappers.<EvalGroupRewardLadders>lambdaQuery() |
127 | .eq(EvalGroupRewardLadders::getEvalGroupRewardId, evalGroupRewardId) | 127 | .eq(EvalGroupRewardLadders::getEvalGroupRewardId, evalGroupRewardId) |
128 | - .eq(EvalGroupRewardLadders::getYn, Boolean.TRUE)); | 128 | + .eq(EvalGroupRewardLadders::getYn, Boolean.TRUE) |
129 | + ); | ||
129 | if (CollectionUtils.isEmpty(ladders)) { | 130 | if (CollectionUtils.isEmpty(ladders)) { |
130 | return Collections.emptyList(); | 131 | return Collections.emptyList(); |
131 | } | 132 | } |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupBizService.java
@@ -100,6 +100,7 @@ public class EvalGroupBizService { | @@ -100,6 +100,7 @@ public class EvalGroupBizService { | ||
100 | checkReward(evalGroupDTO); | 100 | checkReward(evalGroupDTO); |
101 | checkEvalIndicatorLadders(evalGroupDTO.getIndicators()); | 101 | checkEvalIndicatorLadders(evalGroupDTO.getIndicators()); |
102 | checkEvalRewardLadders(evalGroupDTO.getRewards()); | 102 | checkEvalRewardLadders(evalGroupDTO.getRewards()); |
103 | + sortRewardRankLadders(evalGroupDTO.getRewards()); | ||
103 | setTargetVos(evalGroupDTO); | 104 | setTargetVos(evalGroupDTO); |
104 | } | 105 | } |
105 | SettingDraft settingDraft = getSettingDraft(dto, isSubmit); | 106 | SettingDraft settingDraft = getSettingDraft(dto, isSubmit); |
@@ -424,6 +425,39 @@ public class EvalGroupBizService { | @@ -424,6 +425,39 @@ public class EvalGroupBizService { | ||
424 | } | 425 | } |
425 | 426 | ||
426 | /** | 427 | /** |
428 | + * 检查阶梯分值 | ||
429 | + * @param rewards | ||
430 | + */ | ||
431 | + private void sortRewardRankLadders(List<EvalGroupRewardDTO> rewards) { | ||
432 | + for (EvalGroupRewardDTO reward : rewards) { | ||
433 | + if (! EvalRewardCalMethodEnum.RANK.equals(reward.getCalMethod())) { | ||
434 | + continue; | ||
435 | + } | ||
436 | + | ||
437 | + List<EvalGroupRewardLaddersDTO> ladders = reward.getLadders(); | ||
438 | + Collections.sort(ladders, new Comparator<EvalGroupRewardLaddersDTO>() { | ||
439 | + @Override | ||
440 | + public int compare(EvalGroupRewardLaddersDTO o1, EvalGroupRewardLaddersDTO o2) { | ||
441 | + if (PublicUtil.isEmpty(o1.getRankOrderType())) { | ||
442 | + return -1; | ||
443 | + } | ||
444 | + if (PublicUtil.isEmpty(o2.getRankOrderType())) { | ||
445 | + return 1; | ||
446 | + } | ||
447 | + //正数在前 负数在后 | ||
448 | + Integer order = o1.getRankOrderType().compareTo(o2.getRankOrderType()); | ||
449 | + if (order == 0) { | ||
450 | + //大的在后 | ||
451 | + return o1.getLower().subtract(o2.getLower()).intValue(); | ||
452 | + } | ||
453 | + return order; | ||
454 | + } | ||
455 | + }); | ||
456 | + | ||
457 | + } | ||
458 | + } | ||
459 | + | ||
460 | + /** | ||
427 | * 检查考评组指标 | 461 | * 检查考评组指标 |
428 | * | 462 | * |
429 | * @param evalGroupDTO | 463 | * @param evalGroupDTO |
@@ -619,10 +653,10 @@ public class EvalGroupBizService { | @@ -619,10 +653,10 @@ public class EvalGroupBizService { | ||
619 | reward.setLadderParams(paramTypeMap.getOrDefault(ParamTypeEnum.LADDER, new ArrayList<>())); | 653 | reward.setLadderParams(paramTypeMap.getOrDefault(ParamTypeEnum.LADDER, new ArrayList<>())); |
620 | reward.setConds(rewardCondMap.getOrDefault(rewardId, new ArrayList<>())); | 654 | reward.setConds(rewardCondMap.getOrDefault(rewardId, new ArrayList<>())); |
621 | 655 | ||
622 | - | ||
623 | List<EvalGroupRewardLadders> rewardLadders = evalGroupRewardLaddersService.list(Wrappers.<EvalGroupRewardLadders>lambdaQuery() | 656 | List<EvalGroupRewardLadders> rewardLadders = evalGroupRewardLaddersService.list(Wrappers.<EvalGroupRewardLadders>lambdaQuery() |
624 | .eq(EvalGroupRewardLadders::getEvalGroupRewardId, rewardId) | 657 | .eq(EvalGroupRewardLadders::getEvalGroupRewardId, rewardId) |
625 | .eq(EvalGroupRewardLadders::getYn, Boolean.TRUE) | 658 | .eq(EvalGroupRewardLadders::getYn, Boolean.TRUE) |
659 | + .last("order by rank_order_type ASC, lower ASC") | ||
626 | ); | 660 | ); |
627 | List<EvalGroupRewardLaddersVO> rewardLaddersVOS = new ArrayList<>(); | 661 | List<EvalGroupRewardLaddersVO> rewardLaddersVOS = new ArrayList<>(); |
628 | for (EvalGroupRewardLadders rewardLadder : rewardLadders) { | 662 | for (EvalGroupRewardLadders rewardLadder : rewardLadders) { |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupPoolService.java
@@ -653,6 +653,7 @@ public class EvalGroupPoolService { | @@ -653,6 +653,7 @@ public class EvalGroupPoolService { | ||
653 | List<EvalGroupRewardLadders> rewardLadders = evalGroupRewardLaddersService.list(Wrappers.<EvalGroupRewardLadders>lambdaQuery() | 653 | List<EvalGroupRewardLadders> rewardLadders = evalGroupRewardLaddersService.list(Wrappers.<EvalGroupRewardLadders>lambdaQuery() |
654 | .eq(EvalGroupRewardLadders::getEvalGroupRewardId, reward.getEvalGroupRewardId()) | 654 | .eq(EvalGroupRewardLadders::getEvalGroupRewardId, reward.getEvalGroupRewardId()) |
655 | .eq(EvalGroupRewardLadders::getYn, Boolean.TRUE) | 655 | .eq(EvalGroupRewardLadders::getYn, Boolean.TRUE) |
656 | + .last("order by rank_order_type ASC, lower ASC") | ||
656 | ); | 657 | ); |
657 | List<EvalGroupRewardLaddersVO> rewardLaddersVOS = new ArrayList<>(); | 658 | List<EvalGroupRewardLaddersVO> rewardLaddersVOS = new ArrayList<>(); |
658 | for (EvalGroupRewardLadders rewardLadder : rewardLadders) { | 659 | for (EvalGroupRewardLadders rewardLadder : rewardLadders) { |