Commit dad803db152f30ee3cc56796564c26a12b6155be

Authored by 姜超
1 parent 16ee250d

feature(*): 修改展示查询

修改展示查询
fw-morax-domain/src/main/java/cn/fw/morax/domain/vo/salary/SalaryGroupIndicatorDetailVO.java
1 1 package cn.fw.morax.domain.vo.salary;
2 2  
  3 +import cn.fw.morax.domain.enums.DataTypeEnum;
3 4 import cn.fw.morax.domain.enums.SalaryCalMethodEnum;
4 5 import cn.fw.morax.domain.enums.StarLevelEnum;
5 6 import cn.fw.morax.domain.vo.kpi.KpiGroupIndicatorLaddersVO;
... ... @@ -69,6 +70,11 @@ public class SalaryGroupIndicatorDetailVO {
69 70 public String preconditionAlias;
70 71  
71 72 /**
  73 + * 数据类型;1:数量 2:百分比 3:金额
  74 + */
  75 + private DataTypeEnum laddersType;
  76 +
  77 + /**
72 78 * 薪酬阶梯
73 79 */
74 80 private List<SalaryGroupProjectSettinVO> settings;
... ...
fw-morax-service/src/main/java/cn/fw/morax/service/biz/kpi/KpiGroupIndicatorBizService.java
... ... @@ -494,7 +494,12 @@ public class KpiGroupIndicatorBizService {
494 494 if (! staff.getInclusion()) {
495 495 continue;
496 496 }
497   - if (PublicUtil.isNotEmpty(lastIndicatorValue) && (lastIndicatorValue.compareTo(staff.getOriginValue()) != 0)) {
  497 + if (PublicUtil.isEmpty(lastIndicatorValue) || PublicUtil.isEmpty(staff.getOriginValue()) ) {
  498 + staff.setIndicatorRank(rank);
  499 + lastIndicatorValue = staff.getOriginValue();
  500 + continue;
  501 + }
  502 + if (lastIndicatorValue.compareTo(staff.getOriginValue()) != 0) {
498 503 rank++;
499 504 }
500 505 staff.setIndicatorRank(rank);
... ...
fw-morax-service/src/main/java/cn/fw/morax/service/biz/kpi/KpiPoolBizService.java
... ... @@ -518,7 +518,7 @@ public class KpiPoolBizService {
518 518 .eq(KpiPool::getUserId, userId)
519 519 .eq(KpiPool::getInclusion, Boolean.TRUE)
520 520 .eq(KpiPool::getYn, Boolean.TRUE)
521   - .orderByAsc(KpiPool::getMonthly)
  521 + .orderByDesc(KpiPool::getMonthly)
522 522 );
523 523 if (PublicUtil.isNotEmpty(kpiPools)) {
524 524 List<KpiPoolDetailVO> kpis = PublicUtil.copyList(kpiPools, KpiPoolDetailVO.class);
... ...
fw-morax-service/src/main/java/cn/fw/morax/service/biz/salary/SalaryPoolBizService.java
... ... @@ -533,6 +533,7 @@ public class SalaryPoolBizService {
533 533 SalaryGroupIndicatorDetailVO detailVO = new SalaryGroupIndicatorDetailVO();
534 534 SalaryGroupProject salaryGroupProject = salaryGroupProjectService.getById(salaryGroupProjectId);
535 535 BV.notNull(salaryGroupProject, "薪酬项目不存在");
  536 + detailVO.setLaddersType(salaryGroupProject.getLaddersType());
536 537  
537 538  
538 539 CountDownLatch countDownLatch = new CountDownLatch(3);
... ... @@ -621,12 +622,16 @@ public class SalaryPoolBizService {
621 622 SalaryGroupProjectHitLog salaryProjectHitLog = salaryProjectHitLogs.stream().findFirst().get();
622 623 Long hitSettingId = salaryProjectHitLog.getSalaryGroupProjectSettinId();
623 624  
  625 + Boolean ratio = PublicUtil.isNotEmpty(detailVO.getLaddersType()) && DataTypeEnum.RATIO.equals(detailVO.getLaddersType());
624 626 detailVO.setSettings(settings.stream().map(setting -> {
625 627 SalaryGroupProjectSettinVO settingVO = PublicUtil.copy(setting, SalaryGroupProjectSettinVO.class);
626 628 settingVO.setHit((hitSettingId.equals(settingVO.getId()) ? Boolean.TRUE : Boolean.FALSE));
627 629 if (hitSettingId.equals(settingVO.getId())) {
628 630 settingVO.setHitCommissionValue(salaryProjectHitLog.getHitCommissionValue());
629 631 }
  632 + if (ratio) {
  633 + settingVO.processPercent();
  634 + }
630 635 return settingVO;
631 636 }).collect(Collectors.toList()));
632 637 detailVO.setSalaryValue(salaryProjectHitLog.getSalaryValue());
... ...