Commit 95b862250ba82bc7ae0371388bd73e0df3c56892
1 parent
11fce249
feature(*): 考评报表抽取修改
考评报表抽取修改
Showing
6 changed files
with
271 additions
and
16 deletions
fw-morax-dao/src/main/java/cn/fw/morax/dao/eval/EvalUserExtraReportDao.java
0 → 100644
1 | +package cn.fw.morax.dao.eval; | |
2 | + | |
3 | + | |
4 | +import cn.fw.morax.domain.db.eval.EvalUserExtraReport; | |
5 | +import cn.fw.morax.domain.db.eval.EvalUserReport; | |
6 | +import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |
7 | + | |
8 | +/** | |
9 | + * <p> | |
10 | + * 报表编码数据 Mapper 接口 | |
11 | + * </p> | |
12 | + * | |
13 | + * @author jiangchao | |
14 | + * @since 2023-03-31 | |
15 | + */ | |
16 | +public interface EvalUserExtraReportDao extends BaseMapper<EvalUserExtraReport> { | |
17 | + | |
18 | +} | ... | ... |
fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalUserExtraReport.java
0 → 100644
1 | +package cn.fw.morax.domain.db.eval; | |
2 | + | |
3 | +import cn.fw.common.data.entity.BaseEntity; | |
4 | +import cn.fw.common.data.mybatis.handler.LongListTypeHandler; | |
5 | +import cn.fw.common.data.mybatis.handler.StringListTypeHandler; | |
6 | +import com.baomidou.mybatisplus.annotation.TableField; | |
7 | +import com.baomidou.mybatisplus.annotation.TableName; | |
8 | +import lombok.*; | |
9 | +import lombok.experimental.Accessors; | |
10 | + | |
11 | +import java.util.List; | |
12 | + | |
13 | +/** | |
14 | + * <p> | |
15 | + * 报表编码维度数据表(额外数据) | |
16 | + * </p> | |
17 | + * | |
18 | + * @author jiangchao | |
19 | + * @since 2023-04-17 | |
20 | + */ | |
21 | +@Data | |
22 | +@EqualsAndHashCode(callSuper = false) | |
23 | +@Accessors(chain = true) | |
24 | +@TableName(autoResultMap = true) | |
25 | +@Builder | |
26 | +@NoArgsConstructor | |
27 | +@AllArgsConstructor | |
28 | +public class EvalUserExtraReport extends BaseEntity<EvalUserExtraReport, Long> { | |
29 | + | |
30 | + private static final long serialVersionUID = 1L; | |
31 | + | |
32 | + /** | |
33 | + * 考评报表id | |
34 | + */ | |
35 | + private Long evalUserReportId; | |
36 | + | |
37 | + /** | |
38 | + * 适用门店ids | |
39 | + */ | |
40 | + @TableField(typeHandler = LongListTypeHandler.class) | |
41 | + private List<Long> shopIds; | |
42 | + | |
43 | + /** | |
44 | + * 人员ids | |
45 | + */ | |
46 | + @TableField(typeHandler = LongListTypeHandler.class) | |
47 | + private List<Long> staffIds; | |
48 | + | |
49 | + /** | |
50 | + * 适用角色编码 | |
51 | + */ | |
52 | + @TableField(typeHandler = StringListTypeHandler.class) | |
53 | + private List<String> roleCodes; | |
54 | + /** | |
55 | + * 适用角色名称 | |
56 | + */ | |
57 | + @TableField(typeHandler = StringListTypeHandler.class) | |
58 | + private List<String> roleNames; | |
59 | + | |
60 | +} | ... | ... |
fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalUserReportTask.java
... | ... | @@ -4,12 +4,24 @@ import cn.fw.common.cache.locker.DistributedLocker; |
4 | 4 | import cn.fw.morax.common.constant.Constant; |
5 | 5 | import cn.fw.morax.common.constant.TimeTaskConstant; |
6 | 6 | import cn.fw.morax.common.utils.PublicUtil; |
7 | +import cn.fw.morax.domain.bo.salary.SalaryGroupProjectBO; | |
7 | 8 | import cn.fw.morax.domain.db.eval.*; |
8 | 9 | import cn.fw.morax.domain.db.kpi.IndicatorUserValue; |
10 | +import cn.fw.morax.domain.db.salary.ReportSalaryDim; | |
11 | +import cn.fw.morax.domain.db.salary.ReportSalaryDimExtra; | |
12 | +import cn.fw.morax.domain.db.salary.ReportSalaryDimValue; | |
13 | +import cn.fw.morax.domain.db.salary.SalaryPool; | |
9 | 14 | import cn.fw.morax.domain.enums.*; |
15 | +import cn.fw.morax.domain.vo.salary.SalaryGroupProjectParamVO; | |
16 | +import cn.fw.morax.rpc.ehr.EhrRpcService; | |
17 | +import cn.fw.morax.rpc.ehr.dto.ManagerDTO; | |
18 | +import cn.fw.morax.rpc.ehr.dto.ManagerStaffRoleDTO; | |
19 | +import cn.fw.morax.rpc.ehr.dto.ManagerStaffShopDTO; | |
20 | +import cn.fw.morax.rpc.ehr.dto.StaffBaseInfoDTO; | |
10 | 21 | import cn.fw.morax.service.biz.CommonService; |
11 | 22 | import cn.fw.morax.service.data.eval.*; |
12 | 23 | import cn.fw.morax.service.data.kpi.IndicatorUserValueService; |
24 | +import com.alibaba.fastjson.JSON; | |
13 | 25 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
14 | 26 | import com.google.common.collect.Maps; |
15 | 27 | import lombok.Getter; |
... | ... | @@ -60,13 +72,15 @@ public class EvalUserReportTask { |
60 | 72 | private final PlatformTransactionManager platformTransactionManager; |
61 | 73 | private final EvalUserRankReportService evalUserRankReportService; |
62 | 74 | private final EvalGroupRankStageService evalGroupRankStageService; |
75 | + private final EvalUserExtraReportService evalUserExtraReportService; | |
63 | 76 | private final EvalUserReportService evalUserReportService; |
64 | 77 | private final TransactionDefinition transactionDefinition; |
65 | 78 | private final EvalUserPoolService evalUserPoolService; |
66 | 79 | private final EvalShopPoolService evalShopPoolService; |
67 | 80 | private final EvalGroupRankService evalGroupRankService; |
68 | - private final EvalGroupService evalGroupService; | |
69 | 81 | private final DistributedLocker distributedLocker; |
82 | + private final EvalGroupService evalGroupService; | |
83 | + private final EhrRpcService ehrRpcService; | |
70 | 84 | private final CommonService commonService; |
71 | 85 | |
72 | 86 | @Value("${spring.cache.custom.global-prefix}:eval:user:report") |
... | ... | @@ -80,7 +94,7 @@ public class EvalUserReportTask { |
80 | 94 | @Scheduled(cron = TimeTaskConstant.EVAL_REPORT) |
81 | 95 | @Transactional(rollbackFor = Exception.class) |
82 | 96 | public void evalUserReportTask() { |
83 | -// this.evalUserReport(LocalDate.now().minusDays(1)); | |
97 | + this.evalUserReport(LocalDate.now().minusDays(1)); | |
84 | 98 | } |
85 | 99 | |
86 | 100 | /** |
... | ... | @@ -134,6 +148,8 @@ public class EvalUserReportTask { |
134 | 148 | EvalUserRankReport reportRank = this.saveRankReport(rank, date, groupId); |
135 | 149 | final Long evalUserRankReportId = reportRank.getId(); |
136 | 150 | for (EvalGroupRankStage rankStage : stages) { |
151 | + //如果当前时间 大于 考评阶段结束时间,使用考评结束时间进行查询 | |
152 | + LocalDate dataDate = (date.compareTo(rankStage.getOverTime()) > 0) ? rankStage.getOverTime() : date; | |
137 | 153 | List<EvalGroup> evalGroups = evalGroupService.getEvalGroups(rank.getId()); |
138 | 154 | List<Long> evalGroupIds = evalGroups.stream().map(EvalGroup::getId).collect(Collectors.toList()); |
139 | 155 | if (PublicUtil.isEmpty(evalGroupIds)) { |
... | ... | @@ -141,12 +157,12 @@ public class EvalUserReportTask { |
141 | 157 | } |
142 | 158 | List<EvalUserPool> userPools = evalUserPoolService.list(Wrappers.<EvalUserPool>lambdaQuery() |
143 | 159 | .in(EvalUserPool::getEvalGroupId, evalGroupIds) |
144 | - .eq(EvalUserPool::getMonthly, YearMonth.from(date)) | |
160 | + .eq(EvalUserPool::getMonthly, YearMonth.from(dataDate)) | |
145 | 161 | .eq(EvalUserPool::getYn, Boolean.TRUE) |
146 | 162 | ); |
147 | 163 | List<EvalShopPool> shopPools = evalShopPoolService.list(Wrappers.<EvalShopPool>lambdaQuery() |
148 | 164 | .in(EvalShopPool::getEvalGroupId, evalGroupIds) |
149 | - .eq(EvalShopPool::getMonthly, YearMonth.from(date)) | |
165 | + .eq(EvalShopPool::getMonthly, YearMonth.from(dataDate)) | |
150 | 166 | .eq(EvalShopPool::getYn, Boolean.TRUE) |
151 | 167 | ); |
152 | 168 | List<EvalGroupIndicator> evalGroupIndicators = evalGroupIndicatorService.list(Wrappers.<EvalGroupIndicator>lambdaQuery() |
... | ... | @@ -155,16 +171,19 @@ public class EvalUserReportTask { |
155 | 171 | .orderByAsc(EvalGroupIndicator::getId) |
156 | 172 | ); |
157 | 173 | |
174 | + //排名组阶段 | |
158 | 175 | EvalUserRankStageReport rankStageReport = this.saveRankStageReport(reportRank, rank, rankStage, evalGroups); |
159 | 176 | final Long evalUserRankStageReportId = rankStageReport.getId(); |
160 | 177 | //排名组指标编码、人员、门店 |
161 | - List<EvalUserRankCodeReport> rankCodes = this.saveRankCodeReports(evalGroupIndicators, evalUserRankReportId, evalUserRankStageReportId, date); | |
162 | - List<EvalUserReport> evalUserReports = this.saveStaffReports(userPools, date, evalUserRankReportId, evalUserRankStageReportId); | |
163 | - List<EvalUserReport> evalShopReports = this.saveShopReports(shopPools, date, evalUserRankReportId, evalUserRankStageReportId); | |
178 | + List<EvalUserRankCodeReport> rankCodes = this.saveRankCodeReports(evalGroupIndicators, evalUserRankReportId, evalUserRankStageReportId, dataDate); | |
179 | + List<EvalUserReport> evalUserReports = this.saveStaffReports(userPools, dataDate, evalUserRankReportId, evalUserRankStageReportId); | |
180 | + List<EvalUserReport> evalShopReports = this.saveShopReports(shopPools, dataDate, evalUserRankReportId, evalUserRankStageReportId); | |
164 | 181 | //人员维度 |
165 | - List<EvalUserValueReport> reportUserValues = calcUser(userPools, evalGroupIndicators, evalUserReports, date); | |
182 | + List<EvalUserValueReport> reportUserValues = calcUser(userPools, evalGroupIndicators, evalUserReports, dataDate); | |
183 | + //门店维度 | |
184 | + calcShop(shopPools, evalGroupIndicators, evalShopReports, dataDate); | |
166 | 185 | //门店维度 |
167 | - calcShop(shopPools, evalGroupIndicators, evalShopReports, date); | |
186 | + calcManager(userPools, reportUserValues, rankCodes, evalUserReports, rankStageReport, dataDate); | |
168 | 187 | } |
169 | 188 | |
170 | 189 | |
... | ... | @@ -173,6 +192,9 @@ public class EvalUserReportTask { |
173 | 192 | List<EvalGroupIndicator> evalGroupIndicators, |
174 | 193 | List<EvalUserReport> evalUserReports, |
175 | 194 | LocalDate date) { |
195 | + if (PublicUtil.isEmpty(pools)) { | |
196 | + return new ArrayList<>(); | |
197 | + } | |
176 | 198 | List<EvalUserValueReport> reportUserValues = new ArrayList<>(); |
177 | 199 | List<Long> userIds = pools.stream().map(EvalUserPool::getUserId).distinct().collect(Collectors.toList()); |
178 | 200 | List<Long> poolIds = pools.stream().map(EvalUserPool::getId).collect(Collectors.toList()); |
... | ... | @@ -260,9 +282,6 @@ public class EvalUserReportTask { |
260 | 282 | } |
261 | 283 | |
262 | 284 | Optional<EvalGroupIndicatorHitLog> hitLog = Optional.ofNullable(poolHitLogMap.get(pool.getId())); |
263 | - if (pool.getDataDate().compareTo(date) != 0) { | |
264 | - hitLog = evalGroupIndicatorHitLogService.getHitLog(evalGroupIndicatorId, pool.getId(), EvalScopeEnum.SHOP, pool.getDataDate()); | |
265 | - } | |
266 | 285 | BigDecimal value = (ScoreWayEnum.LADDER.equals(scoreWay)) ? |
267 | 286 | hitLog.map(EvalGroupIndicatorHitLog::getHitLadderValue).orElse(BigDecimal.ZERO) : |
268 | 287 | hitLog.map(EvalGroupIndicatorHitLog::getHitCommissionValue).orElse(BigDecimal.ZERO); |
... | ... | @@ -275,9 +294,7 @@ public class EvalUserReportTask { |
275 | 294 | for (EvalGroupIndicatorParam param : params) { |
276 | 295 | Map<Long, EvalGroupIndicatorTargetHitLog> targetHitLogMap = queryTargetValue(param.getId(), poolIds, date, EvalScopeEnum.SHOP); |
277 | 296 | for (EvalShopPool pool : pools) { |
278 | - Boolean staffChange = pool.getDataDate().compareTo(date) != 0; | |
279 | - EvalGroupIndicatorTargetHitLog targetHitLog = (staffChange) | |
280 | - ? queryTargetValue(param.getId(), pool.getId(), pool.getDataDate(), EvalScopeEnum.SHOP) : targetHitLogMap.get(pool.getId()); | |
297 | + EvalGroupIndicatorTargetHitLog targetHitLog = targetHitLogMap.get(pool.getId()); | |
281 | 298 | BigDecimal value = this.getParamValue(targetHitLog); |
282 | 299 | Long evalUserReportId = shopPoolReportIdMap.get(pool.getId()); |
283 | 300 | reportUserValues.add(convertParamDB(evalUserReportId, param, value, date)); |
... | ... | @@ -291,6 +308,55 @@ public class EvalUserReportTask { |
291 | 308 | return reportUserValues; |
292 | 309 | } |
293 | 310 | |
311 | + public void calcManager(List<EvalUserPool> pools, | |
312 | + List<EvalUserValueReport> reportUserValues, | |
313 | + List<EvalUserRankCodeReport> rankCodes, | |
314 | + List<EvalUserReport> evalUserReports, | |
315 | + EvalUserRankStageReport rankStageReport, | |
316 | + LocalDate date) { | |
317 | + if (PublicUtil.isEmpty(pools)) { | |
318 | + return; | |
319 | + } | |
320 | + List<Long> shopIds = pools.stream().map(EvalUserPool::getShopId).collect(Collectors.toList()); | |
321 | + List<ManagerDTO> managerDTOS = ehrRpcService.getRealTimeShopManager(new ArrayList<>(shopIds)); | |
322 | + log.info("查询门店实时管理者:{},{}", JSON.toJSONString(shopIds), JSON.toJSONString(managerDTOS)); | |
323 | + if (PublicUtil.isEmpty(managerDTOS)) { | |
324 | + return; | |
325 | + } | |
326 | + Map<Long, StaffBaseInfoDTO> managerMap = staffInfoMap(managerDTOS); | |
327 | + List<EvalUserValueReport> valueReports = new ArrayList<>(); | |
328 | + for (ManagerDTO manager : managerDTOS) { | |
329 | + if (PublicUtil.isEmpty(manager.getManageStaffList())) { | |
330 | + continue; | |
331 | + } | |
332 | + List<Long> manageStaffIds = manager.getManageStaffList().stream().map(StaffBaseInfoDTO::getId).distinct().collect(Collectors.toList()); | |
333 | + Set<Long> managerStaffDimReportIds = evalUserReports.stream() | |
334 | + .filter(user -> manageStaffIds.contains(user.getUserId())) | |
335 | + .map(EvalUserReport::getId).collect(Collectors.toSet()); | |
336 | + if (PublicUtil.isEmpty(managerStaffDimReportIds)) { | |
337 | + continue; | |
338 | + } | |
339 | + final Long managerEvalUserReportId = this.saveManagerDimDB(manager, rankStageReport, managerMap, manageStaffIds, date); | |
340 | + | |
341 | + for (EvalUserRankCodeReport codeReport : rankCodes) { | |
342 | + BigDecimal value = calcAverageValue(reportUserValues, managerStaffDimReportIds, codeReport.getCode()); | |
343 | + valueReports.add(this.convertManagerValue(managerEvalUserReportId, codeReport, value, date)); | |
344 | + } | |
345 | + } | |
346 | + if (PublicUtil.isNotEmpty(valueReports)) { | |
347 | + evalUserValueReportService.saveBatch(valueReports); | |
348 | + } | |
349 | + } | |
350 | + | |
351 | + public BigDecimal calcAverageValue(List<EvalUserValueReport> valueReports, Set<Long> managerStaffDimReportIds, String code) { | |
352 | + Double averageRatioDouble = valueReports.stream() | |
353 | + .filter(user -> managerStaffDimReportIds.contains(user.getEvalUserReportId()) && code.equals(user.getCode())) | |
354 | + .mapToDouble(userValue -> Optional.ofNullable(userValue.getValue()).orElse(BigDecimal.ZERO).doubleValue()) | |
355 | + .average() | |
356 | + .orElse(0); | |
357 | + return new BigDecimal(averageRatioDouble.toString()); | |
358 | + } | |
359 | + | |
294 | 360 | public BigDecimal getParamValue(EvalGroupIndicatorTargetHitLog hitLog) { |
295 | 361 | if (PublicUtil.isEmpty(hitLog) || PublicUtil.isEmpty(hitLog.getUseTarget())) { |
296 | 362 | return BigDecimal.ZERO; |
... | ... | @@ -470,7 +536,7 @@ public class EvalUserReportTask { |
470 | 536 | .eq(EvalGroupIndicatorParam::getYn, Boolean.TRUE) |
471 | 537 | ); |
472 | 538 | for (EvalGroupIndicatorParam indicatorParam : params) { |
473 | - rankCodes.add(this.convertParamToRankCodeDB(indicatorParam, date, reportRankId, order, groupIndicator)); | |
539 | + rankCodes.add(this.convertParamToRankCodeDB(indicatorParam, date, reportRankId, evalUserRankStageReportId, order, groupIndicator)); | |
474 | 540 | } |
475 | 541 | } |
476 | 542 | |
... | ... | @@ -523,6 +589,62 @@ public class EvalUserReportTask { |
523 | 589 | return reportRankStage; |
524 | 590 | } |
525 | 591 | |
592 | + public Long saveManagerDimDB(ManagerDTO manager, EvalUserRankStageReport rankStageReport, | |
593 | + Map<Long, StaffBaseInfoDTO> managerMap, | |
594 | + List<Long> manageStaffIds, LocalDate date) { | |
595 | + EvalUserReport evalUserReport = new EvalUserReport(); | |
596 | + evalUserReport.setEvalUserRankReportId(rankStageReport.getEvalGroupRankId()); | |
597 | + evalUserReport.setEvalUserRankStageReportId(rankStageReport.getEvalGroupRankStageId()); | |
598 | + evalUserReport.setDimension(ReportDimensionEnum.MANAGER); | |
599 | + evalUserReport.setUserId(manager.getStaffId()); | |
600 | + evalUserReport.setUserName(manager.getStaffName()); | |
601 | + evalUserReport.setDataDate(date); | |
602 | + if (managerMap.containsKey(manager.getStaffId())) { | |
603 | + StaffBaseInfoDTO staffInfo = managerMap.get(manager.getStaffId()); | |
604 | + evalUserReport.setShopId(staffInfo.getShopId()); | |
605 | + evalUserReport.setShopName(staffInfo.getShopName()); | |
606 | + evalUserReport.setPostId(staffInfo.getPostId()); | |
607 | + evalUserReport.setPostName(staffInfo.getPostName()); | |
608 | + } | |
609 | + | |
610 | + List<String> roleCodes = manager.getScopeList().stream() | |
611 | + .flatMap(managerStaffVo -> managerStaffVo.getRoleList().stream()) | |
612 | + .map(ManagerStaffRoleDTO::getRoleCode) | |
613 | + .distinct() | |
614 | + .collect(Collectors.toList()); | |
615 | + List<String> roleNames = manager.getScopeList().stream() | |
616 | + .flatMap(managerStaffVo -> managerStaffVo.getRoleList().stream()) | |
617 | + .map(ManagerStaffRoleDTO::getRoleName) | |
618 | + .distinct() | |
619 | + .collect(Collectors.toList()); | |
620 | + List<Long> shopIds = manager.getScopeList().stream() | |
621 | + .flatMap(managerStaffVo -> managerStaffVo.getShopList().stream()) | |
622 | + .map(ManagerStaffShopDTO::getShopId) | |
623 | + .distinct() | |
624 | + .collect(Collectors.toList()); | |
625 | + | |
626 | + evalUserReportService.save(evalUserReport); | |
627 | + EvalUserExtraReport evalUserExtraReport = EvalUserExtraReport.builder() | |
628 | + .evalUserReportId(evalUserReport.getId()) | |
629 | + .roleCodes(roleCodes) | |
630 | + .roleNames(roleNames) | |
631 | + .shopIds(shopIds) | |
632 | + .staffIds(manageStaffIds) | |
633 | + .build(); | |
634 | + evalUserExtraReportService.save(evalUserExtraReport); | |
635 | + return evalUserReport.getId(); | |
636 | + } | |
637 | + | |
638 | + public EvalUserValueReport convertManagerValue(Long managerEvalUserReportId, EvalUserRankCodeReport codeReport, BigDecimal value, LocalDate date) { | |
639 | + EvalUserValueReport userValue = new EvalUserValueReport(); | |
640 | + userValue.setEvalUserReportId(managerEvalUserReportId); | |
641 | + userValue.setCode(codeReport.getCode()); | |
642 | + userValue.setCodeType(codeReport.getCodeType()); | |
643 | + userValue.setValue(Optional.ofNullable(value).orElse(BigDecimal.ZERO)); | |
644 | + userValue.setDataDate(date); | |
645 | + return userValue; | |
646 | + } | |
647 | + | |
526 | 648 | public EvalUserValueReport convertDB(Long evalUserReportId, EvalGroupIndicator groupIndicator, BigDecimal value, |
527 | 649 | LocalDate date, List<EvalGroupIndicatorParam> params) { |
528 | 650 | EvalUserValueReport userValue = new EvalUserValueReport(); |
... | ... | @@ -575,10 +697,18 @@ public class EvalUserReportTask { |
575 | 697 | return rankCode; |
576 | 698 | } |
577 | 699 | |
700 | + public Map<Long, StaffBaseInfoDTO> staffInfoMap(List<ManagerDTO> managerDTOS) { | |
701 | + List<Long> staffIds = managerDTOS.stream().map(ManagerDTO::getStaffId).collect(Collectors.toList()); | |
702 | + List<StaffBaseInfoDTO> staffInfos = ehrRpcService.queryStaffBaseInfo(staffIds); | |
703 | + return staffInfos.stream().collect(Collectors.toMap(StaffBaseInfoDTO::getId, Function.identity(), (v1, v2) -> v1)); | |
704 | + } | |
705 | + | |
578 | 706 | public EvalUserRankCodeReport convertParamToRankCodeDB(EvalGroupIndicatorParam indicatorParam, LocalDate date, Long reportRankId, |
707 | + Long evalUserRankStageReportId, | |
579 | 708 | AtomicInteger order, EvalGroupIndicator groupIndicator) { |
580 | 709 | EvalUserRankCodeReport rankCode = new EvalUserRankCodeReport(); |
581 | 710 | rankCode.setEvalUserRankReportId(reportRankId); |
711 | + rankCode.setEvalUserRankStageReportId(evalUserRankStageReportId); | |
582 | 712 | rankCode.setEvalGroupIndicatorId(indicatorParam.getEvalGroupIndicatorId()); |
583 | 713 | rankCode.setCode(indicatorParam.getCode()); |
584 | 714 | rankCode.setCodeType(indicatorParam.getCodeType()); | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/EvalUserExtraReportService.java
0 → 100644
1 | +package cn.fw.morax.service.data.eval; | |
2 | + | |
3 | + | |
4 | +import cn.fw.morax.domain.db.eval.EvalUserExtraReport; | |
5 | +import cn.fw.morax.domain.db.eval.EvalUserReport; | |
6 | +import com.baomidou.mybatisplus.extension.service.IService; | |
7 | + | |
8 | +/** | |
9 | + * <p> | |
10 | + * 报表编码数据 服务类 | |
11 | + * </p> | |
12 | + * | |
13 | + * @author jiangchao | |
14 | + * @since 2023-03-31 | |
15 | + */ | |
16 | +public interface EvalUserExtraReportService extends IService<EvalUserExtraReport> { | |
17 | + | |
18 | +} | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/impl/EvalGroupIndicatorHitLogServiceImpl.java
1 | 1 | package cn.fw.morax.service.data.eval.impl; |
2 | 2 | |
3 | 3 | |
4 | +import cn.fw.morax.common.utils.PublicUtil; | |
4 | 5 | import cn.fw.morax.dao.eval.EvalGroupIndicatorHitLogDao; |
5 | 6 | import cn.fw.morax.domain.db.eval.EvalGroupIndicatorHitLog; |
6 | 7 | import cn.fw.morax.domain.enums.EvalScopeEnum; |
... | ... | @@ -10,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
10 | 11 | import org.springframework.stereotype.Service; |
11 | 12 | |
12 | 13 | import java.time.LocalDate; |
14 | +import java.util.ArrayList; | |
13 | 15 | import java.util.List; |
14 | 16 | import java.util.Objects; |
15 | 17 | import java.util.Optional; |
... | ... | @@ -58,6 +60,9 @@ public class EvalGroupIndicatorHitLogServiceImpl extends ServiceImpl<EvalGroupIn |
58 | 60 | |
59 | 61 | @Override |
60 | 62 | public List<EvalGroupIndicatorHitLog> getHitLogs(List<Long> evalGroupIndicatorIds, List<Long> poolIds, EvalScopeEnum scopeType, LocalDate dataDate) { |
63 | + if (PublicUtil.isEmpty(evalGroupIndicatorIds) || PublicUtil.isEmpty(poolIds)) { | |
64 | + return new ArrayList<>(); | |
65 | + } | |
61 | 66 | List<EvalGroupIndicatorHitLog> indicatorHitLogs = this.list(Wrappers.<EvalGroupIndicatorHitLog>lambdaQuery() |
62 | 67 | .in(EvalGroupIndicatorHitLog::getEvalGroupIndicatorId, evalGroupIndicatorIds) |
63 | 68 | .eq(EvalGroupIndicatorHitLog::getDataDate, dataDate) | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/impl/EvalUserExtraReportServiceImpl.java
0 → 100644
1 | +package cn.fw.morax.service.data.eval.impl; | |
2 | + | |
3 | + | |
4 | +import cn.fw.morax.dao.eval.EvalUserExtraReportDao; | |
5 | +import cn.fw.morax.dao.eval.EvalUserReportDao; | |
6 | +import cn.fw.morax.domain.db.eval.EvalUserExtraReport; | |
7 | +import cn.fw.morax.domain.db.eval.EvalUserReport; | |
8 | +import cn.fw.morax.service.data.eval.EvalUserExtraReportService; | |
9 | +import cn.fw.morax.service.data.eval.EvalUserReportService; | |
10 | +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |
11 | +import org.springframework.stereotype.Service; | |
12 | + | |
13 | +/** | |
14 | + * <p> | |
15 | + * 报表编码数据 服务实现类 | |
16 | + * </p> | |
17 | + * | |
18 | + * @author jiangchao | |
19 | + * @since 2023-03-31 | |
20 | + */ | |
21 | +@Service | |
22 | +public class EvalUserExtraReportServiceImpl extends ServiceImpl<EvalUserExtraReportDao, EvalUserExtraReport> implements EvalUserExtraReportService { | |
23 | + | |
24 | +} | ... | ... |