Commit 71e4eae7f05d0fcadc8a4d370fce8e62fc9de1e2
1 parent
130b59f8
feature(*): 绩效分数展示修改
绩效分数展示修改
Showing
3 changed files
with
27 additions
and
13 deletions
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); | ... | ... |