Commit 581e1ddaa96688c28904fe3d7859c56eefa14f88

Authored by 姜超
1 parent 308b252c

feature(*): 奖惩台阶展示修改

奖惩台阶展示修改
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) {