Commit 09a231eecb726423e232cc397fb6b8f71d232da9
1 parent
9995bc03
feature(*): 考评报表抽取修改
考评报表抽取修改
Showing
1 changed file
with
12 additions
and
30 deletions
fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalUserReportTask.java
... | ... | @@ -144,16 +144,14 @@ public class EvalUserReportTask { |
144 | 144 | if (PublicUtil.isEmpty(stages)) { |
145 | 145 | return; |
146 | 146 | } |
147 | - List<EvalGroup> evalGroups = evalGroupService.getEvalGroups(rank.getId()); | |
148 | - Map<Long, List<EvalGroup>> stageEvalGroupMap = evalGroups.stream().collect(Collectors.groupingBy(EvalGroup::getEvalGroupRankStageId)); | |
149 | 147 | //排名组 |
150 | - EvalUserRankReport reportRank = this.saveRankReport(rank, evalGroups, date, groupId); | |
148 | + EvalUserRankReport reportRank = this.saveRankReport(rank, date, groupId); | |
151 | 149 | final Long evalUserRankReportId = reportRank.getId(); |
152 | 150 | for (EvalGroupRankStage rankStage : stages) { |
153 | 151 | //如果当前时间 大于 考评阶段结束时间,使用考评结束时间进行查询 |
154 | 152 | LocalDate dataDate = (date.compareTo(rankStage.getOverTime()) > 0) ? rankStage.getOverTime() : date; |
155 | - List<EvalGroup> stageEvalGroups = stageEvalGroupMap.get(rankStage.getId()); | |
156 | - List<Long> evalGroupIds = stageEvalGroups.stream().map(EvalGroup::getId).collect(Collectors.toList()); | |
153 | + List<EvalGroup> evalGroups = evalGroupService.getEvalGroups(rank.getId()); | |
154 | + List<Long> evalGroupIds = evalGroups.stream().map(EvalGroup::getId).collect(Collectors.toList()); | |
157 | 155 | if (PublicUtil.isEmpty(evalGroupIds)) { |
158 | 156 | continue; |
159 | 157 | } |
... | ... | @@ -174,7 +172,7 @@ public class EvalUserReportTask { |
174 | 172 | ); |
175 | 173 | |
176 | 174 | //排名组阶段 |
177 | - EvalUserRankStageReport rankStageReport = this.saveRankStageReport(reportRank, rank, rankStage, stageEvalGroups); | |
175 | + EvalUserRankStageReport rankStageReport = this.saveRankStageReport(reportRank, rank, rankStage, evalGroups); | |
178 | 176 | final Long evalUserRankStageReportId = rankStageReport.getId(); |
179 | 177 | //排名组指标编码、人员、门店 |
180 | 178 | List<EvalUserRankCodeReport> rankCodes = this.saveRankCodeReports(evalGroupIndicators, evalUserRankReportId, evalUserRankStageReportId, dataDate); |
... | ... | @@ -184,7 +182,7 @@ public class EvalUserReportTask { |
184 | 182 | List<EvalUserValueReport> reportUserValues = calcUser(userPools, evalGroupIndicators, evalUserReports, dataDate); |
185 | 183 | //门店维度 |
186 | 184 | calcShop(shopPools, evalGroupIndicators, evalShopReports, dataDate); |
187 | - //管理者维度 | |
185 | + //门店维度 | |
188 | 186 | calcManager(userPools, reportUserValues, rankCodes, evalUserReports, rankStageReport, dataDate); |
189 | 187 | } |
190 | 188 | |
... | ... | @@ -198,6 +196,7 @@ public class EvalUserReportTask { |
198 | 196 | return new ArrayList<>(); |
199 | 197 | } |
200 | 198 | List<EvalUserValueReport> reportUserValues = new ArrayList<>(); |
199 | + List<Long> userIds = pools.stream().map(EvalUserPool::getUserId).distinct().collect(Collectors.toList()); | |
201 | 200 | List<Long> poolIds = pools.stream().map(EvalUserPool::getId).collect(Collectors.toList()); |
202 | 201 | List<Long> evalGroupIndicatorIds = evalGroupIndicators.stream().map(EvalGroupIndicator::getId).collect(Collectors.toList()); |
203 | 202 | List<EvalGroupIndicatorHitLog> hitLogs = evalGroupIndicatorHitLogService.getHitLogs(evalGroupIndicatorIds, poolIds, EvalScopeEnum.STAFF, date); |
... | ... | @@ -253,14 +252,12 @@ public class EvalUserReportTask { |
253 | 252 | return reportUserValues; |
254 | 253 | } |
255 | 254 | |
256 | - public void calcShop(List<EvalShopPool> pools, | |
255 | + public List<EvalUserValueReport> calcShop(List<EvalShopPool> pools, | |
257 | 256 | List<EvalGroupIndicator> evalGroupIndicators, |
258 | 257 | List<EvalUserReport> evalShopReports, |
259 | 258 | LocalDate date) { |
260 | - if (PublicUtil.isEmpty(pools)) { | |
261 | - return ; | |
262 | - } | |
263 | 259 | List<EvalUserValueReport> reportUserValues = new ArrayList<>(); |
260 | + List<Long> shopIds = pools.stream().map(EvalShopPool::getShopId).distinct().collect(Collectors.toList()); | |
264 | 261 | List<Long> poolIds = pools.stream().map(EvalShopPool::getId).collect(Collectors.toList()); |
265 | 262 | List<Long> evalGroupIndicatorIds = evalGroupIndicators.stream().map(EvalGroupIndicator::getId).collect(Collectors.toList()); |
266 | 263 | List<EvalGroupIndicatorHitLog> hitLogs = evalGroupIndicatorHitLogService.getHitLogs(evalGroupIndicatorIds, poolIds, EvalScopeEnum.SHOP, date); |
... | ... | @@ -308,6 +305,7 @@ public class EvalUserReportTask { |
308 | 305 | if (PublicUtil.isNotEmpty(reportUserValues)) { |
309 | 306 | evalUserValueReportService.saveBatch(reportUserValues); |
310 | 307 | } |
308 | + return reportUserValues; | |
311 | 309 | } |
312 | 310 | |
313 | 311 | public void calcManager(List<EvalUserPool> pools, |
... | ... | @@ -319,7 +317,7 @@ public class EvalUserReportTask { |
319 | 317 | if (PublicUtil.isEmpty(pools)) { |
320 | 318 | return; |
321 | 319 | } |
322 | - List<Long> shopIds = pools.stream().map(EvalUserPool::getShopId).distinct().collect(Collectors.toList()); | |
320 | + List<Long> shopIds = pools.stream().map(EvalUserPool::getShopId).collect(Collectors.toList()); | |
323 | 321 | List<ManagerDTO> managerDTOS = ehrRpcService.getRealTimeShopManager(new ArrayList<>(shopIds)); |
324 | 322 | log.info("查询门店实时管理者:{},{}", JSON.toJSONString(shopIds), JSON.toJSONString(managerDTOS)); |
325 | 323 | if (PublicUtil.isEmpty(managerDTOS)) { |
... | ... | @@ -383,18 +381,12 @@ public class EvalUserReportTask { |
383 | 381 | } |
384 | 382 | |
385 | 383 | public List<EvalUserReport> saveStaffReports(List<EvalUserPool> pools, LocalDate date, Long evalUserRankReportId, Long evalUserRankStageReportId) { |
386 | - if (PublicUtil.isEmpty(pools)) { | |
387 | - return new ArrayList<>(); | |
388 | - } | |
389 | 384 | List<EvalUserReport> evalUserReports = new ArrayList<>(); |
390 | 385 | for (EvalUserPool userPool : pools) { |
391 | 386 | EvalUserReport report = new EvalUserReport(); |
392 | 387 | report.setEvalUserRankReportId(evalUserRankReportId); |
393 | 388 | report.setEvalUserRankStageReportId(evalUserRankStageReportId); |
394 | 389 | report.setDimension(ReportDimensionEnum.STAFF); |
395 | - report.setReward(userPool.getReward()); | |
396 | - report.setScore(userPool.getScore()); | |
397 | - report.setScoreRatio(userPool.getScoreRatio().multiply(Constant.ONE_HUNDRED)); | |
398 | 390 | report.setUserId(userPool.getUserId()); |
399 | 391 | report.setUserName(userPool.getUserName()); |
400 | 392 | report.setPostId(userPool.getPostId()); |
... | ... | @@ -411,17 +403,11 @@ public class EvalUserReportTask { |
411 | 403 | } |
412 | 404 | |
413 | 405 | public List<EvalUserReport> saveShopReports(List<EvalShopPool> shopPools, LocalDate date, Long evalUserRankReportId, Long evalUserRankStageReportId) { |
414 | - if (PublicUtil.isEmpty(shopPools)) { | |
415 | - return new ArrayList<>(); | |
416 | - } | |
417 | 406 | List<EvalUserReport> evalShopReports = new ArrayList<>(); |
418 | 407 | for (EvalShopPool shopPool : shopPools) { |
419 | 408 | EvalUserReport report = new EvalUserReport(); |
420 | 409 | report.setDimension(ReportDimensionEnum.SHOP); |
421 | 410 | report.setEvalUserRankReportId(evalUserRankReportId); |
422 | - report.setReward(shopPool.getReward()); | |
423 | - report.setScore(shopPool.getScore()); | |
424 | - report.setScoreRatio(shopPool.getScoreRatio().multiply(Constant.ONE_HUNDRED)); | |
425 | 411 | report.setEvalUserRankStageReportId(evalUserRankStageReportId); |
426 | 412 | report.setShopId(shopPool.getShopId()); |
427 | 413 | report.setShopName(shopPool.getShopName()); |
... | ... | @@ -512,9 +498,6 @@ public class EvalUserReportTask { |
512 | 498 | } |
513 | 499 | List<Long> rankReportIds = rankReports.stream().map(EvalUserRankReport::getId).collect(Collectors.toList()); |
514 | 500 | evalUserRankReportService.removeByIds(rankReportIds); |
515 | - evalUserRankStageReportService.remove(Wrappers.<EvalUserRankStageReport>lambdaUpdate() | |
516 | - .in(EvalUserRankStageReport::getEvalUserRankReportId, rankReportIds) | |
517 | - ); | |
518 | 501 | evalUserRankCodeReportService.remove(Wrappers.<EvalUserRankCodeReport>lambdaUpdate() |
519 | 502 | .in(EvalUserRankCodeReport::getEvalUserRankReportId, rankReportIds) |
520 | 503 | ); |
... | ... | @@ -575,15 +558,14 @@ public class EvalUserReportTask { |
575 | 558 | return evalGroupRanks.stream().collect(Collectors.groupingBy(EvalGroupRank::getGroupId)); |
576 | 559 | } |
577 | 560 | |
578 | - public EvalUserRankReport saveRankReport(EvalGroupRank rank, List<EvalGroup> evalGroups, LocalDate date, Long groupId) { | |
579 | - List<Long> shopIds = evalGroups.stream().map(EvalGroup::getShopIds).distinct().collect(ArrayList::new, List::addAll, List::addAll); | |
561 | + public EvalUserRankReport saveRankReport(EvalGroupRank rank, LocalDate date, Long groupId) { | |
562 | +// List<Long> shopIds = evalGroups.stream().map(EvalGroup::getShopIds).distinct().collect(ArrayList::new, List::addAll, List::addAll); | |
580 | 563 | EvalUserRankReport reportRank = new EvalUserRankReport(); |
581 | 564 | reportRank.setRankId(rank.getId()); |
582 | 565 | reportRank.setRankName(rank.getName()); |
583 | 566 | reportRank.setMultiStage(rank.getMultiStage()); |
584 | 567 | reportRank.setDataDate(date); |
585 | 568 | reportRank.setMonthly(YearMonth.from(date)); |
586 | - reportRank.setShopIds(shopIds); | |
587 | 569 | reportRank.setGroupId(groupId); |
588 | 570 | evalUserRankReportService.save(reportRank); |
589 | 571 | return reportRank; | ... | ... |