Commit 7060fbd3966fe4dc4e3f8867460b93ed129a3ae9
1 parent
edc57409
feature(*): 修改代码格式
修改代码格式
Showing
12 changed files
with
165 additions
and
134 deletions
fw-morax-dao/src/main/java/cn/fw/morax/dao/eval/EvalIndicatorValueDao.java
... | ... | @@ -30,15 +30,13 @@ public interface EvalIndicatorValueDao extends BaseMapper<EvalIndicatorValue> { |
30 | 30 | * @param dimensionType |
31 | 31 | * @param indicatorCode |
32 | 32 | * @param dataDate |
33 | - * @param groupId | |
34 | 33 | * @return |
35 | 34 | */ |
36 | 35 | EvalIndicatorValue queryLastValue(@Param("userId") Long userId, |
37 | 36 | @Param("shopId") Long shopId, |
38 | 37 | @Param("dimensionType") DimensionTypeEnum dimensionType, |
39 | 38 | @Param("indicatorCode") String indicatorCode, |
40 | - @Param("dataDate") LocalDate dataDate, | |
41 | - @Param("groupId") Long groupId); | |
39 | + @Param("dataDate") LocalDate dataDate); | |
42 | 40 | |
43 | 41 | /** |
44 | 42 | * 获取指标原始上报记录 | ... | ... |
fw-morax-server/src/main/java/cn/fw/morax/server/controller/erp/EvalIndicatorController.java
... | ... | @@ -64,8 +64,8 @@ public class EvalIndicatorController { |
64 | 64 | @IgnoreAuth |
65 | 65 | @GetMapping("/import-detail") |
66 | 66 | @ControllerMethod("导入记录详情查询") |
67 | - public Message<List<EvalIndicatorImportDetailVO>> importDetail(@NotNull(message = "导入记录id不能为空") Long id) { | |
68 | - return success(evalIndicatorReportService.importDetail(id)); | |
67 | + public Message<List<EvalIndicatorImportDetailVO>> importDetail(@NotNull(message = "导入记录id不能为空") Long id, Boolean querySuccess) { | |
68 | + return success(evalIndicatorReportService.importDetail(id, querySuccess)); | |
69 | 69 | } |
70 | 70 | |
71 | 71 | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupBizService.java
... | ... | @@ -47,6 +47,7 @@ import org.springframework.transaction.annotation.Transactional; |
47 | 47 | |
48 | 48 | import java.math.BigDecimal; |
49 | 49 | import java.math.RoundingMode; |
50 | +import java.time.LocalDate; | |
50 | 51 | import java.time.YearMonth; |
51 | 52 | import java.util.*; |
52 | 53 | import java.util.stream.Collectors; |
... | ... | @@ -321,6 +322,19 @@ public class EvalGroupBizService { |
321 | 322 | */ |
322 | 323 | public void checkTime(EvalGroupDTO dto) { |
323 | 324 | BV.isTrue(dto.getBeginTime().isBefore(dto.getOverTime()), "考评组【" + dto.getName()+ "】生效时间必须在结束时间之前"); |
325 | + | |
326 | + if (PublicUtil.isNotEmpty(dto.getId())) { | |
327 | + List<EvalGroup> evalGroups = evalGroupService.list(Wrappers.<EvalGroup>lambdaQuery() | |
328 | + .eq(EvalGroup::getEvalId, dto.getId()) | |
329 | + .eq(EvalGroup::getYn, Boolean.TRUE) | |
330 | + ); | |
331 | + LocalDate now = LocalDate.now(); | |
332 | + Optional<EvalGroup> optionalEvalGroup = evalGroups.stream() | |
333 | + .filter(evalGroup -> EvalScopeEnum.SHOP.equals(evalGroup.getScopeType()) && now.equals(evalGroup.getOverTime())).findFirst(); | |
334 | + if (optionalEvalGroup.isPresent()) { | |
335 | + throw new BusinessException("考评组 " + optionalEvalGroup.get().getName() + "已结束,不能编辑"); | |
336 | + } | |
337 | + } | |
324 | 338 | } |
325 | 339 | |
326 | 340 | /** | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupPoolService.java
... | ... | @@ -28,6 +28,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
28 | 28 | import com.google.common.collect.Lists; |
29 | 29 | import lombok.RequiredArgsConstructor; |
30 | 30 | import lombok.extern.slf4j.Slf4j; |
31 | +import org.apache.rocketmq.common.filter.impl.Op; | |
31 | 32 | import org.springframework.stereotype.Service; |
32 | 33 | |
33 | 34 | import java.math.BigDecimal; |
... | ... | @@ -195,7 +196,6 @@ public class EvalGroupPoolService { |
195 | 196 | return new HashSet<>(); |
196 | 197 | } |
197 | 198 | return userPools.stream().map(r -> SelectorVO.whit(r.getId(), r.getEvalName(), r.getEvalGroupName())).collect(Collectors.toSet()); |
198 | -// return pools.stream().map(r -> SelectorVO.whit(r.getId(), r.getShopName(), r.getPostName())).collect(Collectors.toSet()); | |
199 | 199 | } |
200 | 200 | |
201 | 201 | |
... | ... | @@ -251,32 +251,15 @@ public class EvalGroupPoolService { |
251 | 251 | BV.notNull(indicatorDetail, "考评指标明细不存在"); |
252 | 252 | |
253 | 253 | //命中记录 |
254 | - EvalGroupIndicatorHitLog indicatorHitLog = evalGroupIndicatorHitLogService.getOne(Wrappers.<EvalGroupIndicatorHitLog>lambdaQuery() | |
255 | - .eq(EvalGroupIndicatorHitLog::getEvalGroupIndicatorId, evalGroupIndicatorId) | |
256 | - .eq(EvalGroupIndicatorHitLog::getDataDate, dataDate) | |
257 | - .eq(EvalGroupIndicatorHitLog::getPoolId, evalPoolId) | |
258 | - .eq(EvalGroupIndicatorHitLog::getScopeType, EvalScopeEnum.STAFF) | |
259 | - .eq(EvalGroupIndicatorHitLog::getYn, Boolean.TRUE) | |
260 | - ); | |
261 | - | |
262 | - Optional<EvalGroupIndicatorHitLog> hitLog = Optional.ofNullable(indicatorHitLog); | |
254 | + Optional<EvalGroupIndicatorHitLog> hitLog = evalGroupIndicatorHitLogService.getHitLog(evalGroupIndicatorId, | |
255 | + evalPoolId, EvalScopeEnum.STAFF, dataDate); | |
263 | 256 | indicatorDetail.setHitLadderValue(hitLog.map(EvalGroupIndicatorHitLog::getHitLadderValue).orElse(BigDecimal.ZERO)); |
264 | 257 | indicatorDetail.setHitCommissionValue(hitLog.map(EvalGroupIndicatorHitLog::getHitCommissionValue).orElse(BigDecimal.ZERO)); |
258 | + Long hitLadderId = hitLog.map(EvalGroupIndicatorHitLog::getEvalGroupIndicatorLaddersId).orElse(0L); | |
265 | 259 | |
260 | + //阶梯 | |
266 | 261 | if (ScoreWayEnum.LADDER.equals(indicatorDetail.getScoreWay())) { |
267 | - List<EvalGroupIndicatorLadders> ladders = evalGroupIndicatorLaddersService.list(Wrappers.<EvalGroupIndicatorLadders>lambdaQuery() | |
268 | - .eq(EvalGroupIndicatorLadders::getEvalGroupIndicatorId, evalGroupIndicatorId) | |
269 | - .eq(EvalGroupIndicatorLadders::getYn, Boolean.TRUE) | |
270 | - .orderByAsc(EvalGroupIndicatorLadders::getLower) | |
271 | - ); | |
272 | - BV.isNotEmpty(ladders, "阶梯配置为空"); | |
273 | - List<EvalGroupIndicatorLaddersVO> laddersVOS = PublicUtil.copyList(ladders, EvalGroupIndicatorLaddersVO.class); | |
274 | - Long hitLadderId = Optional.ofNullable(indicatorHitLog.getEvalGroupIndicatorId()).orElse(0L); | |
275 | - for (EvalGroupIndicatorLaddersVO laddersVO : laddersVOS) { | |
276 | - laddersVO.setHit(hitLadderId.equals(laddersVO.getId()) ? Boolean.TRUE : Boolean.FALSE); | |
277 | - laddersVO.convertLadderToPercent(indicatorDetail.getLaddersType()); | |
278 | - } | |
279 | - indicatorDetail.setLadders(laddersVOS); | |
262 | + indicatorDetail.setLadders(getIndicatorLadders(evalGroupIndicatorId, hitLadderId, indicatorDetail.getLaddersType())); | |
280 | 263 | } |
281 | 264 | |
282 | 265 | Map<ParamTypeEnum, List<EvalGroupIndicatorParamVO>> paramMap = this.getEvalGroupIndicatorParamMap(evalGroupIndicatorId, pool,dataDate); |
... | ... | @@ -318,6 +301,22 @@ public class EvalGroupPoolService { |
318 | 301 | return indicatorDetail; |
319 | 302 | } |
320 | 303 | |
304 | + public List<EvalGroupIndicatorLaddersVO> getIndicatorLadders(Long evalGroupIndicatorId, Long hitLadderId, DataTypeEnum laddersType) { | |
305 | + List<EvalGroupIndicatorLadders> ladders = evalGroupIndicatorLaddersService.list(Wrappers.<EvalGroupIndicatorLadders>lambdaQuery() | |
306 | + .eq(EvalGroupIndicatorLadders::getEvalGroupIndicatorId, evalGroupIndicatorId) | |
307 | + .eq(EvalGroupIndicatorLadders::getYn, Boolean.TRUE) | |
308 | + .orderByAsc(EvalGroupIndicatorLadders::getLower) | |
309 | + ); | |
310 | + BV.isNotEmpty(ladders, "阶梯配置为空"); | |
311 | + List<EvalGroupIndicatorLaddersVO> laddersVOS = PublicUtil.copyList(ladders, EvalGroupIndicatorLaddersVO.class); | |
312 | + | |
313 | + for (EvalGroupIndicatorLaddersVO laddersVO : laddersVOS) { | |
314 | + laddersVO.setHit(hitLadderId.equals(laddersVO.getId()) ? Boolean.TRUE : Boolean.FALSE); | |
315 | + laddersVO.convertLadderToPercent(laddersType); | |
316 | + } | |
317 | + return laddersVOS; | |
318 | + } | |
319 | + | |
321 | 320 | public void processPercent(EvalPoolIndicatorDetailVO detail) { |
322 | 321 | //提成 |
323 | 322 | for (EvalGroupIndicatorParamVO paramVO : Optional.ofNullable(detail.getCommissionParams()).orElse(new ArrayList<>())) { |
... | ... | @@ -370,6 +369,34 @@ public class EvalGroupPoolService { |
370 | 369 | Long groupId = pool.getGroupId(); |
371 | 370 | |
372 | 371 | List<EvalGroupIndicatorParamVO> paramVos = evalGroupIndicatorParamService.getParamVos(evalGroupIndicatorId); |
372 | + Map<Long, EvalGroupIndicatorTargetHitLog> paramTargetHitLogMap = this.getHitMap(evalPoolId, | |
373 | + EvalScopeEnum.STAFF, dataDate, paramVos); | |
374 | + | |
375 | + for (EvalGroupIndicatorParamVO paramVO : paramVos) { | |
376 | + String code = paramVO.getCode(); | |
377 | + Long paramId = paramVO.getId(); | |
378 | + //无目标 | |
379 | + if (TargetTypeEnum.NO.equals(paramVO.getTargetType())) { | |
380 | + BigDecimal indicatorOriginValue = queryUserOriginValue(code, userId, dataDate, paramVO.getCodeType()); | |
381 | + paramVO.setIndicatorValue(indicatorOriginValue); | |
382 | + continue; | |
383 | + } | |
384 | + | |
385 | + //有目标 | |
386 | + Optional<EvalGroupIndicatorTargetHitLog> hitLogOptional = Optional.ofNullable(paramTargetHitLogMap.get(paramId)); | |
387 | + paramVO.setIndicatorValue(hitLogOptional.map(EvalGroupIndicatorTargetHitLog::getValue).orElse(BigDecimal.ZERO)); | |
388 | + paramVO.setReachValue(hitLogOptional.map(EvalGroupIndicatorTargetHitLog::getReachValue).orElse(BigDecimal.ZERO)); | |
389 | + } | |
390 | + | |
391 | + Map<ParamTypeEnum, List<EvalGroupIndicatorParamVO>> indicatorParamMap = paramVos.stream() | |
392 | + .collect(Collectors.groupingBy(EvalGroupIndicatorParamVO::getParamType)); | |
393 | + return indicatorParamMap; | |
394 | + } | |
395 | + | |
396 | + public Map<Long, EvalGroupIndicatorTargetHitLog> getHitMap(Long poolId, | |
397 | + EvalScopeEnum scopeType, | |
398 | + LocalDate dataDate, | |
399 | + List<EvalGroupIndicatorParamVO> paramVos) { | |
373 | 400 | List<Long> hasTargetParamIds = paramVos.stream() |
374 | 401 | .filter(param -> (! TargetTypeEnum.NO.equals(param.getTargetType()))) |
375 | 402 | .map(EvalGroupIndicatorParamVO::getId).collect(Collectors.toList()); |
... | ... | @@ -379,47 +406,34 @@ public class EvalGroupPoolService { |
379 | 406 | List<EvalGroupIndicatorTargetHitLog> targetHitLogs = evalGroupIndicatorTargetHitLogService.list(Wrappers.<EvalGroupIndicatorTargetHitLog>lambdaQuery() |
380 | 407 | .in(EvalGroupIndicatorTargetHitLog::getReferId, hasTargetParamIds) |
381 | 408 | .eq(EvalGroupIndicatorTargetHitLog::getDataDate, dataDate) |
382 | - .eq(EvalGroupIndicatorTargetHitLog::getPoolId, evalPoolId) | |
383 | - .eq(EvalGroupIndicatorTargetHitLog::getScopeType, EvalScopeEnum.STAFF) | |
409 | + .eq(EvalGroupIndicatorTargetHitLog::getPoolId, poolId) | |
410 | + .eq(EvalGroupIndicatorTargetHitLog::getScopeType, scopeType) | |
384 | 411 | .eq(EvalGroupIndicatorTargetHitLog::getYn, Boolean.TRUE) |
385 | 412 | ); |
386 | 413 | paramTargetHitLogMap = targetHitLogs.stream() |
387 | 414 | .collect(Collectors.toMap(EvalGroupIndicatorTargetHitLog::getReferId, Function.identity(), (v1, v2) -> v1)); |
388 | 415 | } |
416 | + return paramTargetHitLogMap; | |
417 | + } | |
389 | 418 | |
390 | - for (EvalGroupIndicatorParamVO paramVO : paramVos) { | |
391 | - String code = paramVO.getCode(); | |
392 | - Long paramId = paramVO.getId(); | |
393 | - //无目标 | |
394 | - if (TargetTypeEnum.NO.equals(paramVO.getTargetType())) { | |
395 | - if (IndicatorCodeTypeEnum.INDICATOR.equals(paramVO.getCodeType())) { | |
396 | - IndicatorUserValue indicatorUserValue = indicatorUserValueService.getOne(Wrappers.<IndicatorUserValue>lambdaQuery() | |
419 | + public BigDecimal queryUserOriginValue(String code, Long userId, LocalDate dataDate, IndicatorCodeTypeEnum codeType) { | |
420 | + //无目标 | |
421 | + if (IndicatorCodeTypeEnum.INDICATOR.equals(codeType)) { | |
422 | + IndicatorUserValue indicatorUserValue = indicatorUserValueService.getOne(Wrappers.<IndicatorUserValue>lambdaQuery() | |
397 | 423 | .in(IndicatorUserValue::getIndicatorCode, code) |
398 | 424 | .eq(IndicatorUserValue::getDataDate, dataDate) |
399 | 425 | .eq(IndicatorUserValue::getUserId, userId) |
400 | 426 | .eq(IndicatorUserValue::getYn, Boolean.TRUE) |
401 | - , Boolean.FALSE | |
402 | - ); | |
403 | - BigDecimal indicatorOriginValue = commonService.queryIndicatorValue(code, indicatorUserValue); | |
404 | - paramVO.setIndicatorValue(indicatorOriginValue); | |
405 | - } else { | |
406 | - EvalIndicatorValue evalIndicatorValue = evalIndicatorValueService.queryLastValue(userId, | |
407 | - DimensionTypeEnum.STAFF, code, dataDate, groupId); | |
408 | - BigDecimal indicatorOriginValue = commonService.queryEvalIndicatorValue(code, evalIndicatorValue); | |
409 | - paramVO.setIndicatorValue(indicatorOriginValue); | |
410 | - } | |
411 | - continue; | |
412 | - } | |
413 | - | |
414 | - //有目标 | |
415 | - Optional<EvalGroupIndicatorTargetHitLog> hitLogOptional = Optional.ofNullable(paramTargetHitLogMap.get(paramId)); | |
416 | - paramVO.setIndicatorValue(hitLogOptional.map(EvalGroupIndicatorTargetHitLog::getValue).orElse(BigDecimal.ZERO)); | |
417 | - paramVO.setReachValue(hitLogOptional.map(EvalGroupIndicatorTargetHitLog::getReachValue).orElse(BigDecimal.ZERO)); | |
427 | + , Boolean.FALSE | |
428 | + ); | |
429 | + BigDecimal indicatorOriginValue = commonService.queryIndicatorValue(code, indicatorUserValue); | |
430 | + return indicatorOriginValue; | |
431 | + } else { | |
432 | + EvalIndicatorValue evalIndicatorValue = evalIndicatorValueService.queryLastValue(userId, | |
433 | + DimensionTypeEnum.STAFF, code, dataDate); | |
434 | + BigDecimal indicatorOriginValue = commonService.queryEvalIndicatorValue(code, evalIndicatorValue); | |
435 | + return indicatorOriginValue; | |
418 | 436 | } |
419 | - | |
420 | - Map<ParamTypeEnum, List<EvalGroupIndicatorParamVO>> indicatorParamMap = paramVos.stream() | |
421 | - .collect(Collectors.groupingBy(EvalGroupIndicatorParamVO::getParamType)); | |
422 | - return indicatorParamMap; | |
423 | 437 | } |
424 | 438 | |
425 | 439 | /** |
... | ... | @@ -529,7 +543,6 @@ public class EvalGroupPoolService { |
529 | 543 | EvalUserPool pool, LocalDate dataDate) { |
530 | 544 | Long evalPoolId = pool.getId(); |
531 | 545 | Long userId = pool.getUserId(); |
532 | - Long groupId = pool.getGroupId(); | |
533 | 546 | |
534 | 547 | List<EvalGroupRewardParam> params = evalGroupRewardParamService.list(Wrappers.<EvalGroupRewardParam>lambdaQuery() |
535 | 548 | .eq(EvalGroupRewardParam::getEvalGroupRewardId, evalGroupRewardId) |
... | ... | @@ -560,22 +573,8 @@ public class EvalGroupPoolService { |
560 | 573 | Long paramId = paramVO.getId(); |
561 | 574 | //无目标 |
562 | 575 | if (TargetTypeEnum.NO.equals(paramVO.getTargetType())) { |
563 | - if (IndicatorCodeTypeEnum.INDICATOR.equals(paramVO.getCodeType())) { | |
564 | - IndicatorUserValue indicatorUserValue = indicatorUserValueService.getOne(Wrappers.<IndicatorUserValue>lambdaQuery() | |
565 | - .in(IndicatorUserValue::getIndicatorCode, code) | |
566 | - .eq(IndicatorUserValue::getDataDate, dataDate) | |
567 | - .eq(IndicatorUserValue::getUserId, userId) | |
568 | - .eq(IndicatorUserValue::getYn, Boolean.TRUE) | |
569 | - , Boolean.FALSE | |
570 | - ); | |
571 | - BigDecimal indicatorOriginValue = commonService.queryIndicatorValue(code, indicatorUserValue); | |
572 | - paramVO.setIndicatorValue(indicatorOriginValue); | |
573 | - } else { | |
574 | - EvalIndicatorValue evalIndicatorValue = evalIndicatorValueService.queryLastValue(userId, | |
575 | - DimensionTypeEnum.STAFF, code, dataDate, groupId); | |
576 | - BigDecimal indicatorOriginValue = commonService.queryEvalIndicatorValue(code, evalIndicatorValue); | |
577 | - paramVO.setIndicatorValue(indicatorOriginValue); | |
578 | - } | |
576 | + BigDecimal indicatorOriginValue = queryUserOriginValue(code, userId, dataDate, paramVO.getCodeType()); | |
577 | + paramVO.setIndicatorValue(indicatorOriginValue); | |
579 | 578 | continue; |
580 | 579 | } |
581 | 580 | |
... | ... | @@ -646,7 +645,6 @@ public class EvalGroupPoolService { |
646 | 645 | IndicatorTypeEnum indicatorTypeEnum = IndicatorTypeEnum.EXAMINE; |
647 | 646 | TargetTypeEnum targetType = null; |
648 | 647 | DataTypeEnum dataType = null; |
649 | - TargetCalcTypeEnum targetCalcType = null; | |
650 | 648 | IndicatorCodeTypeEnum codeType = null; |
651 | 649 | if (dto.getIsEvalGroupIndicator()) { |
652 | 650 | if (PublicUtil.isNotEmpty(dto.getEvalGroupIndicatorParamId())) { |
... | ... | @@ -654,7 +652,6 @@ public class EvalGroupPoolService { |
654 | 652 | EvalGroupIndicatorParam evalGroupIndicatorParam = evalGroupIndicatorParamService.getById(referId); |
655 | 653 | BV.notNull(evalGroupIndicatorParam, "数据不存在"); |
656 | 654 | targetType = evalGroupIndicatorParam.getTargetType(); |
657 | - targetCalcType = evalGroupIndicatorParam.getTargetCalcType(); | |
658 | 655 | dataType = evalGroupIndicatorParam.getDataType(); |
659 | 656 | codeType = evalGroupIndicatorParam.getCodeType(); |
660 | 657 | code = evalGroupIndicatorParam.getCode(); |
... | ... | @@ -665,7 +662,6 @@ public class EvalGroupPoolService { |
665 | 662 | EvalGroupIndicatorPrecondition evalGroupIndicatorPrecondition = evalGroupIndicatorPreconditionService.getById(referId); |
666 | 663 | BV.notNull(evalGroupIndicatorPrecondition, "数据不存在"); |
667 | 664 | targetType = evalGroupIndicatorPrecondition.getTargetType(); |
668 | - targetCalcType = evalGroupIndicatorPrecondition.getTargetCalcType(); | |
669 | 665 | dataType = evalGroupIndicatorPrecondition.getDataType(); |
670 | 666 | codeType = evalGroupIndicatorPrecondition.getCodeType(); |
671 | 667 | code = evalGroupIndicatorPrecondition.getCode(); |
... | ... | @@ -677,7 +673,6 @@ public class EvalGroupPoolService { |
677 | 673 | EvalGroupRewardParam evalGroupRewardParam = evalGroupRewardParamService.getById(referId); |
678 | 674 | BV.notNull(evalGroupRewardParam, "数据不存在"); |
679 | 675 | targetType = evalGroupRewardParam.getTargetType(); |
680 | - targetCalcType = evalGroupRewardParam.getTargetCalcType(); | |
681 | 676 | dataType = evalGroupRewardParam.getDataType(); |
682 | 677 | codeType = evalGroupRewardParam.getCodeType(); |
683 | 678 | code = evalGroupRewardParam.getCode(); |
... | ... | @@ -688,7 +683,6 @@ public class EvalGroupPoolService { |
688 | 683 | EvalGroupRewardPrecondition evalGroupRewardPrecondition = evalGroupRewardPreconditionService.getById(referId); |
689 | 684 | BV.notNull(evalGroupRewardPrecondition, "数据不存在"); |
690 | 685 | targetType = evalGroupRewardPrecondition.getTargetType(); |
691 | - targetCalcType = evalGroupRewardPrecondition.getTargetCalcType(); | |
692 | 686 | dataType = evalGroupRewardPrecondition.getDataType(); |
693 | 687 | codeType = evalGroupRewardPrecondition.getCodeType(); |
694 | 688 | code = evalGroupRewardPrecondition.getCode(); | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalIndicatorReportService.java
... | ... | @@ -20,6 +20,7 @@ import cn.fw.morax.service.data.eval.*; |
20 | 20 | import cn.fw.morax.service.data.kpi.IndicatorsService; |
21 | 21 | import cn.hutool.poi.excel.ExcelReader; |
22 | 22 | import cn.hutool.poi.excel.ExcelUtil; |
23 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |
23 | 24 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
24 | 25 | import com.google.common.collect.Lists; |
25 | 26 | import lombok.RequiredArgsConstructor; |
... | ... | @@ -93,12 +94,19 @@ public class EvalIndicatorReportService { |
93 | 94 | }); |
94 | 95 | } |
95 | 96 | |
96 | - public List<EvalIndicatorImportDetailVO> importDetail(Long id) { | |
97 | - List<EvalIndicatorImportDetail> details = evalIndicatorImportDetailService.list(Wrappers.<EvalIndicatorImportDetail>lambdaQuery() | |
98 | - .eq(EvalIndicatorImportDetail::getYn, Boolean.TRUE) | |
97 | + public List<EvalIndicatorImportDetailVO> importDetail(Long id, Boolean querySuccess) { | |
98 | + LambdaQueryWrapper wrappers = Wrappers.<EvalIndicatorImportDetail>lambdaQuery() | |
99 | 99 | .eq(EvalIndicatorImportDetail::getRecordId, id) |
100 | - ); | |
100 | + .eq(EvalIndicatorImportDetail::getYn, Boolean.TRUE); | |
101 | 101 | |
102 | + if (PublicUtil.isNotEmpty(querySuccess)) { | |
103 | + if (querySuccess) { | |
104 | + wrappers.isNotNull("error_type"); | |
105 | + }else { | |
106 | + wrappers.isNull("error_type"); | |
107 | + } | |
108 | + } | |
109 | + List<EvalIndicatorImportDetail> details = evalIndicatorImportDetailService.list(wrappers); | |
102 | 110 | if (PublicUtil.isEmpty(details)) { |
103 | 111 | return new ArrayList<>(); |
104 | 112 | } | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalIndicatorValueBizService.java
... | ... | @@ -455,30 +455,35 @@ public class EvalIndicatorValueBizService { |
455 | 455 | if (PublicUtil.isEmpty(manageShopIds)) { |
456 | 456 | continue; |
457 | 457 | } |
458 | -// EvalReportVO reportVO = this.getEvalImportSnapShoot(evalGroups, manageShopIds, LocalDate.now()); | |
459 | - | |
460 | -// EvalIndicatorImport indicatorImport = new EvalIndicatorImport(); | |
461 | -// indicatorImport.setRoleCode(evalIndicator.getRoleCode()); | |
462 | -// indicatorImport.setRoleName(evalIndicator.getRoleName()); | |
463 | -// indicatorImport.setIndicatorCode(evalIndicator.getCode()); | |
464 | -// indicatorImport.setIndicatorName(evalIndicator.getName()); | |
465 | -// indicatorImport.setGroupId(groupId); | |
466 | -// indicatorImport.setImportUserId(userRoleInfo.getUserId()); | |
467 | -// indicatorImport.setImportUserName(userRoleInfo.getUserName()); | |
468 | -// indicatorImport.setContent(JSON.toJSONString(reportVO)); | |
469 | -// indicatorImport.setShopIds(new ArrayList<>(manageShopIds)); | |
470 | -// indicatorImport.setEvalGroupIds(evalGroupIds); | |
471 | -// indicatorImport.setDataDate(LocalDate.now()); | |
472 | -// indicatorImport.setExpireTime(evalGroupImportBO.getImportExpireTime()); | |
473 | -// indicatorImport.setYn(Boolean.TRUE); | |
474 | -// indicatorImport.setStatus(DataImportStatusEnum.WAIT_PUSH); | |
475 | -// indicatorImports.add(indicatorImport); | |
458 | + EvalReportVO reportVO = this.getEvalImportSnapShoot(evalGroups, manageShopIds, LocalDate.now()); | |
459 | + | |
460 | + EvalIndicatorImport indicatorImport = this.createImport(evalIndicator, userRoleInfo, groupId); | |
461 | + indicatorImport.setContent(JSON.toJSONString(reportVO)); | |
462 | + indicatorImport.setShopIds(new ArrayList<>(manageShopIds)); | |
463 | + indicatorImport.setEvalGroupIds(evalGroupIds); | |
464 | + indicatorImport.setDataDate(LocalDate.now()); | |
465 | + indicatorImport.setExpireTime(evalGroupImportBO.getImportExpireTime()); | |
466 | + | |
467 | + indicatorImports.add(indicatorImport); | |
476 | 468 | } |
477 | 469 | |
478 | 470 | if (PublicUtil.isNotEmpty(indicatorImports)) { |
479 | 471 | evalIndicatorImportService.saveBatch(indicatorImports); |
480 | 472 | } |
473 | + } | |
481 | 474 | |
475 | + public EvalIndicatorImport createImport(EvalIndicator evalIndicator, RpcUserRoleInfoDTO userRoleInfo, Long groupId) { | |
476 | + EvalIndicatorImport indicatorImport = new EvalIndicatorImport(); | |
477 | + indicatorImport.setRoleCode(evalIndicator.getRoleCode()); | |
478 | + indicatorImport.setRoleName(evalIndicator.getRoleName()); | |
479 | + indicatorImport.setIndicatorCode(evalIndicator.getCode()); | |
480 | + indicatorImport.setIndicatorName(evalIndicator.getName()); | |
481 | + indicatorImport.setGroupId(groupId); | |
482 | + indicatorImport.setImportUserId(userRoleInfo.getUserId()); | |
483 | + indicatorImport.setImportUserName(userRoleInfo.getUserName()); | |
484 | + indicatorImport.setYn(Boolean.TRUE); | |
485 | + indicatorImport.setStatus(DataImportStatusEnum.WAIT_PUSH); | |
486 | + return indicatorImport; | |
482 | 487 | } |
483 | 488 | |
484 | 489 | /** |
... | ... | @@ -546,7 +551,6 @@ public class EvalIndicatorValueBizService { |
546 | 551 | planItemReq.setUserId(evalIndicatorImport.getImportUserId()); |
547 | 552 | planItemReq.setPlanTime(new Date()); |
548 | 553 | planItemReq.setExpireTime(expireTime); |
549 | -// planItemReq.setShopId(evalIndicatorImport.getShopId()); | |
550 | 554 | Map<String, String> dynamicMap = new HashMap<>(8); |
551 | 555 | dynamicMap.put("indicatorName", evalIndicatorImport.getIndicatorName()); |
552 | 556 | dynamicMap.put("updateTime", beginTime.toString()); | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalPoolCommonService.java
... | ... | @@ -128,26 +128,29 @@ public class EvalPoolCommonService { |
128 | 128 | .eq(EvalUserPool::getMonthly, YearMonth.from(user.getDataDate())) |
129 | 129 | .eq(EvalUserPool::getYn, Boolean.TRUE) |
130 | 130 | , Boolean.FALSE); |
131 | - //先按照薪酬组查询,查不到通过门店、岗位查(调岗,同岗位、同门店不算绩效组变动,不生成新绩效池数据) | |
132 | - if (Objects.isNull(evalUserPool)) { | |
133 | - evalUserPool = evalUserPoolService.getOne(Wrappers.<EvalUserPool>lambdaQuery() | |
134 | - .eq(EvalUserPool::getUserId, user.getUserId()) | |
135 | - .eq(EvalUserPool::getPostId, user.getPostId()) | |
136 | - .eq(EvalUserPool::getShopId, user.getShopId()) | |
137 | - .eq(EvalUserPool::getMonthly, YearMonth.from(user.getDataDate())) | |
138 | - .eq(EvalUserPool::getYn, Boolean.TRUE) | |
139 | - , Boolean.FALSE); | |
140 | - if (Objects.isNull(evalUserPool)) { | |
141 | - evalUserPool = this.createUserPoolData(user); | |
142 | - } else { | |
143 | - evalUserPool = this.modifyPoolData(evalUserPool, user); | |
144 | - } | |
145 | - } else if ((!evalUserPool.getShopId().equals(user.getShopId())) || | |
146 | - (!evalUserPool.getEvalGroupId().equals(user.getEvalGroupId()))) { | |
147 | - //若门店信息与员工在职门店不匹配,说明员工是调门店,绩效组没变 | |
148 | - //若绩效组id不匹配,说明绩效组编辑生成了新绩效组,对应绩效池中的绩效组id修改 | |
149 | - evalUserPool = this.modifyPoolData(evalUserPool, user); | |
131 | + if (PublicUtil.isEmpty(evalUserPool)) { | |
132 | + evalUserPool = this.createUserPoolData(user); | |
150 | 133 | } |
134 | +// //先按照薪酬组查询,查不到通过门店、岗位查(调岗,同岗位、同门店不算绩效组变动,不生成新绩效池数据) | |
135 | +// if (Objects.isNull(evalUserPool)) { | |
136 | +// evalUserPool = evalUserPoolService.getOne(Wrappers.<EvalUserPool>lambdaQuery() | |
137 | +// .eq(EvalUserPool::getUserId, user.getUserId()) | |
138 | +// .eq(EvalUserPool::getPostId, user.getPostId()) | |
139 | +// .eq(EvalUserPool::getShopId, user.getShopId()) | |
140 | +// .eq(EvalUserPool::getMonthly, YearMonth.from(user.getDataDate())) | |
141 | +// .eq(EvalUserPool::getYn, Boolean.TRUE) | |
142 | +// , Boolean.FALSE); | |
143 | +// if (Objects.isNull(evalUserPool)) { | |
144 | +// evalUserPool = this.createUserPoolData(user); | |
145 | +// } else { | |
146 | +// evalUserPool = this.modifyPoolData(evalUserPool, user); | |
147 | +// } | |
148 | +// } else if ((!evalUserPool.getShopId().equals(user.getShopId())) || | |
149 | +// (!evalUserPool.getEvalGroupId().equals(user.getEvalGroupId()))) { | |
150 | +// //若门店信息与员工在职门店不匹配,说明员工是调门店,绩效组没变 | |
151 | +// //若绩效组id不匹配,说明绩效组编辑生成了新绩效组,对应绩效池中的绩效组id修改 | |
152 | +// evalUserPool = this.modifyPoolData(evalUserPool, user); | |
153 | +// } | |
151 | 154 | return evalUserPool; |
152 | 155 | } |
153 | 156 | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/EvalGroupIndicatorHitLogService.java
... | ... | @@ -2,10 +2,12 @@ package cn.fw.morax.service.data.eval; |
2 | 2 | |
3 | 3 | import cn.fw.morax.domain.db.eval.EvalGroupIndicatorHitLog; |
4 | 4 | import cn.fw.morax.domain.db.kpi.KpiGroupIndicatorHitLog; |
5 | +import cn.fw.morax.domain.enums.EvalScopeEnum; | |
5 | 6 | import com.baomidou.mybatisplus.extension.service.IService; |
6 | 7 | |
7 | 8 | import java.time.LocalDate; |
8 | 9 | import java.util.List; |
10 | +import java.util.Optional; | |
9 | 11 | |
10 | 12 | /** |
11 | 13 | * 指标配置命中记录 |
... | ... | @@ -25,4 +27,6 @@ public interface EvalGroupIndicatorHitLogService extends IService<EvalGroupIndic |
25 | 27 | */ |
26 | 28 | void saveUnique(EvalGroupIndicatorHitLog evalGroupIndicatorHitLog); |
27 | 29 | |
30 | + Optional<EvalGroupIndicatorHitLog> getHitLog(Long evalGroupIndicatorId, Long poolId, EvalScopeEnum scopeType, LocalDate dataDate); | |
31 | + | |
28 | 32 | } | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/EvalIndicatorValueService.java
... | ... | @@ -28,11 +28,10 @@ public interface EvalIndicatorValueService extends IService<EvalIndicatorValue> |
28 | 28 | * @param dimensionType |
29 | 29 | * @param indicatorCode |
30 | 30 | * @param dataDate |
31 | - * @param groupId | |
32 | 31 | * @return |
33 | 32 | */ |
34 | 33 | EvalIndicatorValue queryLastValue(Long referId, DimensionTypeEnum dimensionType, |
35 | - String indicatorCode, LocalDate dataDate, Long groupId); | |
34 | + String indicatorCode, LocalDate dataDate); | |
36 | 35 | |
37 | 36 | /** |
38 | 37 | * 获取指标原始上报记录 | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/impl/EvalGroupIndicatorHitLogServiceImpl.java
... | ... | @@ -3,6 +3,7 @@ package cn.fw.morax.service.data.eval.impl; |
3 | 3 | |
4 | 4 | import cn.fw.morax.dao.eval.EvalGroupIndicatorHitLogDao; |
5 | 5 | import cn.fw.morax.domain.db.eval.EvalGroupIndicatorHitLog; |
6 | +import cn.fw.morax.domain.enums.EvalScopeEnum; | |
6 | 7 | import cn.fw.morax.service.data.eval.EvalGroupIndicatorHitLogService; |
7 | 8 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
8 | 9 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
... | ... | @@ -10,6 +11,7 @@ import org.springframework.stereotype.Service; |
10 | 11 | |
11 | 12 | import java.time.LocalDate; |
12 | 13 | import java.util.Objects; |
14 | +import java.util.Optional; | |
13 | 15 | |
14 | 16 | /** |
15 | 17 | * <p> |
... | ... | @@ -40,4 +42,16 @@ public class EvalGroupIndicatorHitLogServiceImpl extends ServiceImpl<EvalGroupIn |
40 | 42 | this.saveOrUpdate(evalGroupIndicatorHitLog); |
41 | 43 | } |
42 | 44 | |
45 | + @Override | |
46 | + public Optional<EvalGroupIndicatorHitLog> getHitLog(Long evalGroupIndicatorId, Long poolId, EvalScopeEnum scopeType, LocalDate dataDate) { | |
47 | + EvalGroupIndicatorHitLog indicatorHitLog = this.getOne(Wrappers.<EvalGroupIndicatorHitLog>lambdaQuery() | |
48 | + .eq(EvalGroupIndicatorHitLog::getEvalGroupIndicatorId, evalGroupIndicatorId) | |
49 | + .eq(EvalGroupIndicatorHitLog::getDataDate, dataDate) | |
50 | + .eq(EvalGroupIndicatorHitLog::getPoolId, poolId) | |
51 | + .eq(EvalGroupIndicatorHitLog::getScopeType, EvalScopeEnum.STAFF) | |
52 | + .eq(EvalGroupIndicatorHitLog::getYn, Boolean.TRUE) | |
53 | + ); | |
54 | + | |
55 | + return Optional.ofNullable(indicatorHitLog); | |
56 | + } | |
43 | 57 | } | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/impl/EvalGroupIndicatorParamServiceImpl.java
... | ... | @@ -35,12 +35,5 @@ public class EvalGroupIndicatorParamServiceImpl extends ServiceImpl<EvalGroupInd |
35 | 35 | List<EvalGroupIndicatorParamVO> paramVos = PublicUtil.copyList(params, EvalGroupIndicatorParamVO.class); |
36 | 36 | paramVos.stream().forEach(EvalGroupIndicatorParamVO::processPercent); |
37 | 37 | return paramVos; |
38 | -// List<EvalGroupIndicatorParamVO> indicatorParams = this.baseMapper | |
39 | -// .getKpiParamVos(evalGroupIndicatorId, IndicatorCodeTypeEnum.INDICATOR.getValue()); | |
40 | -// List<EvalGroupIndicatorParamVO> evalIndicatorParams = this.baseMapper | |
41 | -// .getEvalParamVos(evalGroupIndicatorId, IndicatorCodeTypeEnum.INDICATOR.getValue()); | |
42 | -// indicatorParams.addAll(evalIndicatorParams); | |
43 | -// indicatorParams.stream().forEach(EvalGroupIndicatorParamVO::processPercent); | |
44 | -// return indicatorParams; | |
45 | 38 | } |
46 | 39 | } | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/impl/EvalIndicatorValueServiceImpl.java
... | ... | @@ -26,11 +26,11 @@ public class EvalIndicatorValueServiceImpl extends ServiceImpl<EvalIndicatorValu |
26 | 26 | implements EvalIndicatorValueService { |
27 | 27 | |
28 | 28 | @Override |
29 | - public EvalIndicatorValue queryLastValue(Long referId, DimensionTypeEnum dimensionType, String indicatorCode, LocalDate dataDate, Long groupId) { | |
29 | + public EvalIndicatorValue queryLastValue(Long referId, DimensionTypeEnum dimensionType, String indicatorCode, LocalDate dataDate) { | |
30 | 30 | if (DimensionTypeEnum.STAFF.equals(dimensionType)) { |
31 | - return this.baseMapper.queryLastValue(referId, null, dimensionType, indicatorCode, dataDate, groupId); | |
31 | + return this.baseMapper.queryLastValue(referId, null, dimensionType, indicatorCode, dataDate); | |
32 | 32 | } |
33 | - return this.baseMapper.queryLastValue(null, referId, dimensionType, indicatorCode, dataDate, groupId); | |
33 | + return this.baseMapper.queryLastValue(null, referId, dimensionType, indicatorCode, dataDate); | |
34 | 34 | } |
35 | 35 | |
36 | 36 | @Override | ... | ... |