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