Commit 964c28a5c5de89551a6f325b3bbc30fd2269187a
Merge branch 'main' into jc-custom-indicator-2024-3-22
# Conflicts: # doc/2023-05-18_update.sql
Showing
4 changed files
with
25 additions
and
10 deletions
doc/2023-05-18_update.sql
1 | +-- 2024年4月11日 | |
2 | +ALTER TABLE `fw_morax`.`eval_pool_indicator_detail` | |
3 | + ADD INDEX `query_index`(`pool_id`, `scope_type`, `stage_dim`, `eval_group_id`, `data_date`, `yn`) USING BTREE; | |
4 | + | |
5 | + | |
1 | 6 | -- 2024年3月27日 |
2 | 7 | ALTER TABLE `fw_morax`.`eval_indicator_import_record` |
3 | 8 | ADD COLUMN `import_type` tinyint(4) NULL DEFAULT 1 COMMENT '考评指标导入类型;1:结果数据 2:分值原始数据' AFTER `status`; | ... | ... |
fw-morax-domain/src/main/java/cn/fw/morax/domain/bo/eval/EvalGroupUserShop.java
fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/eval/kpi/EvalKpiBaseCalculator.java
... | ... | @@ -594,7 +594,7 @@ public abstract class EvalKpiBaseCalculator implements Calculator<EvalGroupUserS |
594 | 594 | consumer.accept(preconditionHitLog); |
595 | 595 | } |
596 | 596 | |
597 | - String cacheKey = evalCalcResultVal.getIndicatorPreconditionHitLogKey(userShop.getEvalGroupRankStageId(), userShop.getDataDate()); | |
597 | + String cacheKey = evalCalcResultVal.getIndicatorPreconditionHitLogKey(userShop.getEvalGroupRankStageId(), userShop.getCalcDate()); | |
598 | 598 | BoundListOperations<String, String> listOps = stringRedisTemplate.boundListOps(cacheKey); |
599 | 599 | listOps.rightPush(JSONObject.toJSONString(preconditionHitLog)); |
600 | 600 | |
... | ... | @@ -637,7 +637,7 @@ public abstract class EvalKpiBaseCalculator implements Calculator<EvalGroupUserS |
637 | 637 | targetHitLog.setGroupId(userShop.getGroupId()); |
638 | 638 | targetHitLog.setYn(Boolean.TRUE); |
639 | 639 | |
640 | - String cacheKey = evalCalcResultVal.getIndicatorTargetHitLogKey(userShop.getEvalGroupRankStageId(), userShop.getDataDate()); | |
640 | + String cacheKey = evalCalcResultVal.getIndicatorTargetHitLogKey(userShop.getEvalGroupRankStageId(), userShop.getCalcDate()); | |
641 | 641 | BoundListOperations<String, String> listOps = stringRedisTemplate.boundListOps(cacheKey); |
642 | 642 | listOps.rightPush(JSONObject.toJSONString(targetHitLog)); |
643 | 643 | |
... | ... | @@ -686,7 +686,7 @@ public abstract class EvalKpiBaseCalculator implements Calculator<EvalGroupUserS |
686 | 686 | consumer.accept(hitLog); |
687 | 687 | } |
688 | 688 | |
689 | - String cacheKey = evalCalcResultVal.getIndicatorHitLogKey(userShop.getEvalGroupRankStageId(), userShop.getDataDate()); | |
689 | + String cacheKey = evalCalcResultVal.getIndicatorHitLogKey(userShop.getEvalGroupRankStageId(), userShop.getCalcDate()); | |
690 | 690 | BoundListOperations<String, String> listOps = stringRedisTemplate.boundListOps(cacheKey); |
691 | 691 | listOps.rightPush(JSONObject.toJSONString(hitLog)); |
692 | 692 | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalCalculateService.java
... | ... | @@ -654,6 +654,7 @@ public class EvalCalculateService { |
654 | 654 | if (EvalScopeEnum.STAFF.equals(scopeType)) { |
655 | 655 | for (EvalGroupUserShop userShop : userShops) { |
656 | 656 | BigDecimal reward = totalReward(userShop, rewardDetails); |
657 | + //考评人员池 不再更新,抽取人员时会自动更新 | |
657 | 658 | evalUserPoolService.update(Wrappers.<EvalUserPool>lambdaUpdate() |
658 | 659 | .eq(EvalUserPool::getId, userShop.getPoolId()) |
659 | 660 | .eq(EvalUserPool::getYn, Boolean.TRUE) |
... | ... | @@ -661,7 +662,7 @@ public class EvalCalculateService { |
661 | 662 | .set(EvalUserPool::getScore, userShop.getScore()) |
662 | 663 | .set(EvalUserPool::getScoreRatio, userShop.getScoreRatio()) |
663 | 664 | .set(EvalUserPool::getMonthly, YearMonth.from(localDate)) |
664 | - .set(EvalUserPool::getDataDate, localDate) | |
665 | +// .set(EvalUserPool::getDataDate, localDate)1 | |
665 | 666 | ); |
666 | 667 | } |
667 | 668 | return; |
... | ... | @@ -703,7 +704,7 @@ public class EvalCalculateService { |
703 | 704 | .eq(EvalUserPool::getYn, Boolean.TRUE) |
704 | 705 | .set(EvalUserPool::getReward, reward) |
705 | 706 | .set(EvalUserPool::getMonthly, YearMonth.from(localDate)) |
706 | - .set(EvalUserPool::getDataDate, localDate) | |
707 | +// .set(EvalUserPool::getDataDate, localDate) | |
707 | 708 | ); |
708 | 709 | } |
709 | 710 | return; |
... | ... | @@ -907,15 +908,17 @@ public class EvalCalculateService { |
907 | 908 | } |
908 | 909 | |
909 | 910 | if (CollectionUtils.isNotEmpty(indicatorDetails)) { |
910 | - List<EvalPoolIndicatorDetail> evalPoolIndicatorDetails = evalPoolIndicatorDetailService.list(Wrappers.<EvalPoolIndicatorDetail>lambdaQuery() | |
911 | + List<EvalPoolIndicatorDetail> oldEvalPoolIndicatorDetails = evalPoolIndicatorDetailService.list(Wrappers.<EvalPoolIndicatorDetail>lambdaQuery() | |
911 | 912 | .eq(EvalPoolIndicatorDetail::getPoolId, poolId) |
912 | - .eq(EvalPoolIndicatorDetail::getEvalGroupId, evalGroupId) | |
913 | 913 | .eq(EvalPoolIndicatorDetail::getScopeType, userShop.getScopeType()) |
914 | 914 | .eq(EvalPoolIndicatorDetail::getStageDim, userShop.getStageDimEnum()) |
915 | + .eq(EvalPoolIndicatorDetail::getEvalGroupId, evalGroupId) | |
915 | 916 | .eq(EvalPoolIndicatorDetail::getDataDate, userShop.getDataDate()) |
916 | - .eq(EvalPoolIndicatorDetail::getYn, Boolean.TRUE)); | |
917 | - if (PublicUtil.isNotEmpty(evalPoolIndicatorDetails)) { | |
918 | - List<Long> detailIds = evalPoolIndicatorDetails.stream().map(EvalPoolIndicatorDetail::getId).collect(Collectors.toList()); | |
917 | + .eq(EvalPoolIndicatorDetail::getYn, Boolean.TRUE) | |
918 | + .select(EvalPoolIndicatorDetail::getId) | |
919 | + ); | |
920 | + if (PublicUtil.isNotEmpty(oldEvalPoolIndicatorDetails)) { | |
921 | + List<Long> detailIds = oldEvalPoolIndicatorDetails.stream().map(EvalPoolIndicatorDetail::getId).distinct().collect(Collectors.toList()); | |
919 | 922 | evalPoolIndicatorDetailService.removeByIds(detailIds); |
920 | 923 | } |
921 | 924 | evalPoolIndicatorDetailService.insertBatchSomeColumn(indicatorDetails); |
... | ... | @@ -1392,6 +1395,7 @@ public class EvalCalculateService { |
1392 | 1395 | userShop.setReferId(userPool.getUserId()); |
1393 | 1396 | userShop.setBeginDate(calcDateParam.getCalcBeginDate()); |
1394 | 1397 | userShop.setDataDate(userPool.getDataDate()); |
1398 | + userShop.setCalcDate(calcDateParam.getCalcEndDate()); | |
1395 | 1399 | userShop.setMultiStage(evalGroupRank.getMultiStage()); |
1396 | 1400 | userShop.setGroupId(userPool.getGroupId()); |
1397 | 1401 | userShop.setScore(BigDecimal.ZERO); |
... | ... | @@ -1452,6 +1456,7 @@ public class EvalCalculateService { |
1452 | 1456 | userShop.setEvalGroupRankStageId(evalGroupRankStage.getId()); |
1453 | 1457 | userShop.setBeginDate(calcDateParam.getCalcBeginDate()); |
1454 | 1458 | userShop.setDataDate(calcDateParam.getCalcEndDate()); |
1459 | + userShop.setCalcDate(calcDateParam.getCalcEndDate()); | |
1455 | 1460 | userShop.setMultiStage(evalGroupRank.getMultiStage()); |
1456 | 1461 | userShop.setGroupId(evalGroup.getGroupId()); |
1457 | 1462 | // userShop.setIgnored(ignored); | ... | ... |