Commit 71e4eae7f05d0fcadc8a4d370fce8e62fc9de1e2

Authored by 姜超
1 parent 130b59f8

feature(*): 绩效分数展示修改

绩效分数展示修改
fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupUserTask.java
... ... @@ -74,9 +74,9 @@ public class EvalGroupUserTask {
74 74 }
75 75 stopWatch.start("考评组人员保存,保存条数:"+ evalGroupUsersForSave.size());
76 76 //逻辑删除今天已保存人员,保存人员
77   - Set<Long> kpiGroupIds = evalGroupUsersForSave.stream().map(EvalGroupUser::getEvalGroupId).collect(Collectors.toSet());
  77 + Set<Long> evalGroupIds = evalGroupUsersForSave.stream().map(EvalGroupUser::getEvalGroupId).collect(Collectors.toSet());
78 78 evalGroupUserService.update(Wrappers.<EvalGroupUser>lambdaUpdate()
79   - .in(EvalGroupUser::getEvalGroupId, kpiGroupIds)
  79 + .in(EvalGroupUser::getEvalGroupId, evalGroupIds)
80 80 .eq(EvalGroupUser::getDataDate, yesterday)
81 81 .eq(EvalGroupUser::getYn, Boolean.TRUE)
82 82 .set(EvalGroupUser::getYn, Boolean.FALSE)
... ...
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupBizService.java
... ... @@ -192,6 +192,7 @@ public class EvalGroupBizService {
192 192 */
193 193 public EvalGroupRankVO evalGroupRankDetail(Long id) {
194 194 EvalGroupRank evalGroupRank = evalGroupRankService.getById(id);
  195 + BV.notNull(evalGroupRank, "考评排名组为空,请重试");
195 196 EvalGroupRankVO evalGroupRankVO = PublicUtil.copy(evalGroupRank, EvalGroupRankVO.class);
196 197  
197 198 List<EvalGroupRankStage> stages = evalGroupRankStageService.list(Wrappers.<EvalGroupRankStage>lambdaQuery()
... ...
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalPoolCommonService.java
... ... @@ -2,15 +2,15 @@ package cn.fw.morax.service.biz.eval;
2 2  
3 3 import cn.fw.ehr.sdk.api.enums.StaffShopTypeEnum;
4 4 import cn.fw.morax.common.utils.PublicUtil;
5   -import cn.fw.morax.domain.db.eval.EvalGroup;
6   -import cn.fw.morax.domain.db.eval.EvalGroupUser;
7   -import cn.fw.morax.domain.db.eval.EvalShopPool;
8   -import cn.fw.morax.domain.db.eval.EvalUserPool;
  5 +import cn.fw.morax.domain.db.eval.*;
  6 +import cn.fw.morax.domain.enums.EvalScopeEnum;
  7 +import cn.fw.morax.domain.enums.EvalShopPoolStatusEnum;
9 8 import cn.fw.morax.rpc.ehr.EhrRpcService;
10 9 import cn.fw.morax.rpc.ehr.dto.StaffBaseInfoDTO;
11 10 import cn.fw.morax.rpc.ehr.dto.StaffShopInfoDTO;
12 11 import cn.fw.morax.rpc.oop.OopRpcService;
13 12 import cn.fw.morax.rpc.oop.dto.ShopDTO;
  13 +import cn.fw.morax.service.data.eval.EvalGroupRewardDimService;
14 14 import cn.fw.morax.service.data.eval.EvalShopPoolService;
15 15 import cn.fw.morax.service.data.eval.EvalUserPoolService;
16 16 import cn.fw.morax.service.data.salary.SalaryGroupUserService;
... ... @@ -41,6 +41,7 @@ public class EvalPoolCommonService {
41 41  
42 42 private SalaryGroupUserService salaryGroupUserService;
43 43 private EvalUserPoolService evalUserPoolService;
  44 + private EvalGroupRewardDimService evalGroupRewardDimService;
44 45 private EvalShopPoolService evalShopPoolService;
45 46 private EhrRpcService ehrRpcService;
46 47 private OopRpcService oopRpcService;
... ... @@ -75,7 +76,7 @@ public class EvalPoolCommonService {
75 76 public Map<Long, EvalShopPool> inspectionShopPools(EvalGroup evalGroup, LocalDate localDate) {
76 77 Set<Long> evalGroupShopIds = new HashSet<>(evalGroup.getShopIds());
77 78 List<EvalShopPool> pools = evalShopPoolService.list(Wrappers.<EvalShopPool>lambdaQuery()
78   - .eq(EvalShopPool::getEgc, evalGroup.getEgc())
  79 + .eq(EvalShopPool::getEvalGroupId, evalGroup.getId())
79 80 .in(EvalShopPool::getShopId, evalGroupShopIds)
80 81 .eq(EvalShopPool::getMonthly, YearMonth.from(localDate))
81 82 .eq(EvalShopPool::getYn, Boolean.TRUE)
... ... @@ -86,9 +87,20 @@ public class EvalPoolCommonService {
86 87 return v1;
87 88 }));
88 89  
89   - for (Long shopId : evalGroupShopIds) {
  90 + List<EvalGroupRewardDim> rewardDims = evalGroupRewardDimService.list(Wrappers.<EvalGroupRewardDim>lambdaQuery()
  91 + .eq(EvalGroupRewardDim::getEvalGroupId, evalGroup.getId())
  92 + .eq(EvalGroupRewardDim::getType, EvalScopeEnum.SHOP)
  93 + .eq(EvalGroupRewardDim::getYn, Boolean.TRUE)
  94 + );
  95 + if (PublicUtil.isEmpty(rewardDims)) {
  96 + return new HashMap<>();
  97 + }
  98 + Set<Long> distRewardShopIds = rewardDims.stream().flatMap(dim -> dim.getShopIds().stream()).collect(Collectors.toSet());
  99 + for (Long shopId : distRewardShopIds) {
90 100 if (! shopPoolMap.containsKey(shopId)) {
91   - EvalShopPool shopPool = this.inspectionShopPool(shopId, evalGroup, localDate);
  101 + EvalShopPoolStatusEnum status = (distRewardShopIds.contains(shopId))
  102 + ? EvalShopPoolStatusEnum.CALC_REWARD : EvalShopPoolStatusEnum.NO_REWARD;
  103 + EvalShopPool shopPool = this.inspectionShopPool(shopId, evalGroup, localDate, status);
92 104 shopPoolMap.put(shopId, shopPool);
93 105 }
94 106 }
... ... @@ -101,9 +113,9 @@ public class EvalPoolCommonService {
101 113 * @return
102 114 */
103 115 @Transactional(rollbackFor = Exception.class)
104   - public EvalShopPool inspectionShopPool(Long shopId, EvalGroup evalGroup, LocalDate localDate) {
  116 + public EvalShopPool inspectionShopPool(Long shopId, EvalGroup evalGroup, LocalDate localDate, EvalShopPoolStatusEnum status) {
105 117 EvalShopPool evalShopPool = evalShopPoolService.getOne(Wrappers.<EvalShopPool>lambdaQuery()
106   - .eq(EvalShopPool::getEgc, evalGroup.getEgc())
  118 + .eq(EvalShopPool::getId, evalGroup.getId())
107 119 .eq(EvalShopPool::getShopId, shopId)
108 120 .eq(EvalShopPool::getYn, Boolean.TRUE)
109 121 .eq(EvalShopPool::getMonthly, YearMonth.from(localDate).minusMonths(1))
... ... @@ -117,11 +129,11 @@ public class EvalPoolCommonService {
117 129 evalShopPool.setMonthly(YearMonth.from(localDate));
118 130 return evalShopPool;
119 131 }
120   - return this.createShopPoolData(shopId, evalGroup, localDate);
  132 + return this.createShopPoolData(shopId, evalGroup, localDate, status);
121 133 }
122 134  
123 135 @Transactional(rollbackFor = Exception.class)
124   - public EvalShopPool createShopPoolData(Long shopId, EvalGroup evalGroup, LocalDate localDate) {
  136 + public EvalShopPool createShopPoolData(Long shopId, EvalGroup evalGroup, LocalDate localDate, EvalShopPoolStatusEnum status) {
125 137 ShopDTO shopDTO = oopRpcService.queryShop(shopId);
126 138 EvalShopPool evalShopPool = new EvalShopPool();
127 139 evalShopPool.setEgc(evalGroup.getEgc());
... ... @@ -129,6 +141,7 @@ public class EvalPoolCommonService {
129 141 evalShopPool.setEvalGroupRankId(evalGroup.getEvalGroupRankId());
130 142 evalShopPool.setEvalGroupRankStageId(evalGroup.getEvalGroupRankStageId());
131 143 // evalShopPool.setEvalId(evalGroup.getEvalId());
  144 + evalShopPool.setStatus(status);
132 145 evalShopPool.setShopId(shopId);
133 146 evalShopPool.setShopName(shopDTO.getShortName());
134 147 evalShopPool.setScore(BigDecimal.ZERO);
... ...