Commit 2188d9d07f6ab254da8a2ba304f1fa5cdde67cfe
1 parent
7f3e5385
feature(*): 修改代码格式
修改代码格式
Showing
12 changed files
with
72 additions
and
348 deletions
fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalCalcTask.java
... | ... | @@ -93,20 +93,4 @@ public class EvalCalcTask { |
93 | 93 | evalRewardService.distributionEvalReward(); |
94 | 94 | } |
95 | 95 | |
96 | -// /** | |
97 | -// * 每半小时检查待办完成 | |
98 | -// */ | |
99 | -// @Scheduled(cron = "0 0/30 * * * ?") | |
100 | -// public void checkTodoCompletion() { | |
101 | -// evalIndicatorValueBizService.checkTodoCompletion(); | |
102 | -// } | |
103 | -// | |
104 | -// /** | |
105 | -// * 每天凌晨 保存考评数据 | |
106 | -// */ | |
107 | -// @Scheduled(cron = "0 0 0 * * ?") | |
108 | -// public void saveEvalReportValue() { | |
109 | -// evalIndicatorValueBizService.saveEvalReportValue(LocalDate.now().minusDays(1L)); | |
110 | -// } | |
111 | - | |
112 | 96 | } | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/eval/reward/EvalRewardProportionCalculator.java
... | ... | @@ -94,8 +94,8 @@ public class EvalRewardProportionCalculator extends EvalRewardBaseCalculator { |
94 | 94 | BigDecimal proportion = BigDecimal.ZERO; |
95 | 95 | BigDecimal rewardValue = BigDecimal.ZERO; |
96 | 96 | if (totalCommissionValue.compareTo(BigDecimal.ZERO) > 0) { |
97 | - proportion = commissionValue.divide(totalCommissionValue, 4, RoundingMode.HALF_UP); | |
98 | - rewardValue = proportion.multiply(money).divide(BigDecimal.ONE, 2, RoundingMode.HALF_UP); | |
97 | + proportion = commissionValue.divide(totalCommissionValue, 4, RoundingMode.DOWN); | |
98 | + rewardValue = proportion.multiply(money).divide(BigDecimal.ONE, 2, RoundingMode.DOWN); | |
99 | 99 | } |
100 | 100 | |
101 | 101 | userShop.setEvalGroupRewardAmount(rewardValue); | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/eval/reward/EvalRewardRankCalculator.java
... | ... | @@ -21,6 +21,7 @@ import org.springframework.util.CollectionUtils; |
21 | 21 | import java.math.BigDecimal; |
22 | 22 | import java.math.RoundingMode; |
23 | 23 | import java.time.LocalDate; |
24 | +import java.time.LocalDateTime; | |
24 | 25 | import java.time.temporal.ChronoUnit; |
25 | 26 | import java.util.HashMap; |
26 | 27 | import java.util.List; |
... | ... | @@ -62,13 +63,13 @@ public class EvalRewardRankCalculator extends EvalRewardBaseCalculator { |
62 | 63 | final Long evalGroupRewardId = reward.getId(); |
63 | 64 | final String key = getRank() + evalGroupRewardId; |
64 | 65 | RankTypeEnum rankType = reward.getRankType(); |
65 | - List<EvalGroupRewardParam> params = queryProjectParam(evalGroupRewardId, ParamTypeEnum.COMMISSION); | |
66 | + List<EvalGroupRewardParam> params = queryProjectParam(evalGroupRewardId, ParamTypeEnum.LADDER); | |
66 | 67 | if (CollectionUtils.isEmpty(params)) { |
67 | 68 | return; |
68 | 69 | } |
69 | 70 | |
70 | 71 | BoundZSetOperations<String, String> zSetOps = stringRedisTemplate.boundZSetOps(key); |
71 | - stringRedisTemplate.expireAt(key, DateUtil.localDate2Date(LocalDate.now().plus(2L, ChronoUnit.HOURS))); | |
72 | + stringRedisTemplate.expireAt(key, DateUtil.localDateTime2Date(LocalDateTime.now().plus(2L, ChronoUnit.HOURS))); | |
72 | 73 | |
73 | 74 | Map<String, EvalGroupUserShop> rewardObjectBOMap = new HashMap<>(); |
74 | 75 | Map<String, BigDecimal> referCommonMap = new HashMap<>(); |
... | ... | @@ -80,15 +81,23 @@ public class EvalRewardRankCalculator extends EvalRewardBaseCalculator { |
80 | 81 | rewardObjectBOMap.put(rewardObject.getReferId().toString(), rewardObject); |
81 | 82 | } |
82 | 83 | |
83 | - final Integer personCount = userShops.size(); | |
84 | + final BigDecimal personCount = BigDecimal.valueOf(userShops.size()); | |
84 | 85 | List<EvalGroupRewardLadders> ladders = queryRewardLadders(evalGroupRewardId); |
85 | 86 | for (EvalGroupRewardLadders ladder : ladders) { |
86 | 87 | final BigDecimal money = ladder.getMoney(); |
87 | - Integer startIndex = ladder.getLower().intValue(); | |
88 | - Integer endIndex = ladder.getLower().intValue(); | |
88 | + Integer startIndex = null; | |
89 | + Integer endIndex = null; | |
90 | + | |
89 | 91 | if (RankTypeEnum.PERCENT.equals(rankType)) { |
90 | - startIndex = ladder.getLower().multiply(BigDecimal.valueOf(personCount)).divide(BigDecimal.ONE, 0, RoundingMode.FLOOR).intValue(); | |
91 | - endIndex = ladder.getUpper().multiply(BigDecimal.valueOf(personCount)).divide(BigDecimal.ONE, 0, RoundingMode.FLOOR).intValue(); | |
92 | + startIndex = ladder.getLower().multiply(personCount).divide(BigDecimal.ONE, 0, RoundingMode.FLOOR).intValue(); | |
93 | + endIndex = ladder.getUpper().multiply(personCount).divide(BigDecimal.ONE, 0, RoundingMode.FLOOR).intValue() - 1; | |
94 | + } else { | |
95 | + startIndex = ladder.getLower().intValue() - 1; | |
96 | + endIndex = ladder.getUpper().intValue()- 1; | |
97 | + } | |
98 | + | |
99 | + if (startIndex > endIndex) { | |
100 | + continue; | |
92 | 101 | } |
93 | 102 | |
94 | 103 | Set<String> referIdStrs = zSetOps.reverseRange(startIndex, endIndex); | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupBizService.java
... | ... | @@ -68,18 +68,13 @@ public class EvalGroupBizService { |
68 | 68 | private final EvalGroupRewardParamService evalGroupRewardParamService; |
69 | 69 | private final EvalGroupIndicatorService evalGroupIndicatorService; |
70 | 70 | private final EvalGroupRewardService evalGroupRewardService; |
71 | - private final EvalIndicatorService evalIndicatorService; | |
72 | 71 | private final EvalGroupDataService evalGroupDataService; |
73 | - private final ApprovalRecordService approvalRecordService; | |
74 | 72 | private final EvalUserPoolService evalUserPoolService; |
75 | 73 | private final EvalShopPoolService evalShopPoolService; |
76 | - private final KpiGroupUserBizService kpiGroupUserBizService; | |
77 | 74 | private final EvalGroupService evalGroupService; |
78 | 75 | private final EvalService evalService; |
79 | 76 | private final SettingDraftService settingDraftService; |
80 | - private final FlowApproveRpc flowApproveRpc; | |
81 | 77 | private final ApprovalBizService approvalBizService; |
82 | - private final FlowVal flowVal; | |
83 | 78 | |
84 | 79 | @Value("${spring.cache.custom.global-prefix}:eval:save:") |
85 | 80 | @Getter |
... | ... | @@ -429,27 +424,6 @@ public class EvalGroupBizService { |
429 | 424 | } |
430 | 425 | |
431 | 426 | /** |
432 | - * 检查按序号排名阶梯 | |
433 | - * | |
434 | - * @param rewardName | |
435 | - * @param ladders | |
436 | - */ | |
437 | - public void checkLaddersStaffOrder(String rewardName, List<EvalGroupRewardLaddersDTO> ladders) { | |
438 | - if (PublicUtil.isEmpty(ladders)) { | |
439 | - throw new BusinessException("【" + rewardName + "】必须配置阶梯"); | |
440 | - } | |
441 | - | |
442 | - BigDecimal upper = null; | |
443 | - for (EvalGroupRewardLaddersDTO ladder : ladders) { | |
444 | - BigDecimal lower = ladder.getLower(); | |
445 | - if (PublicUtil.isNotEmpty(upper)) { | |
446 | - BV.isTrue(lower.add(new BigDecimal(1)).compareTo(upper) == 0, "【" + rewardName + "】人员排名不是连续"); | |
447 | - } | |
448 | - upper = ladder.getUpper(); | |
449 | - } | |
450 | - } | |
451 | - | |
452 | - /** | |
453 | 427 | * 检查考评组指标 |
454 | 428 | * |
455 | 429 | * @param evalGroupDTO | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupDataService.java
... | ... | @@ -44,42 +44,14 @@ public class EvalGroupDataService { |
44 | 44 | private final EvalGroupRewardParamService evalGroupRewardParamService; |
45 | 45 | private final EvalGroupIndicatorService evalGroupIndicatorService; |
46 | 46 | private final EvalGroupRewardService evalGroupRewardService; |
47 | - private final EvalIndicatorService evalIndicatorService; | |
48 | - private final ApprovalRecordService approvalRecordService; | |
49 | - private final KpiGroupUserBizService kpiGroupUserBizService; | |
50 | 47 | private final EvalGroupService evalGroupService; |
51 | 48 | private final EvalUserPoolService evalUserPoolService; |
52 | 49 | private final EvalShopPoolService evalShopPoolService; |
53 | - private final FlowApproveRpc flowApproveRpc; | |
54 | 50 | private final EvalService evalService; |
55 | 51 | private final SettingDraftService settingDraftService; |
56 | - private final FlowVal flowVal; | |
57 | 52 | |
58 | 53 | /** |
59 | - * 保存绩效组 | |
60 | - * | |
61 | - * @param dto | |
62 | - */ | |
63 | - @Transactional(rollbackFor = Exception.class) | |
64 | - public void saveSettingDraft(EvalDTO dto, Eval eval) { | |
65 | - SettingDraft settingDraft = null; | |
66 | - if (PublicUtil.isNotEmpty(dto.getId())) { | |
67 | - settingDraft = settingDraftService.getOne(Wrappers.<SettingDraft>lambdaQuery() | |
68 | - .eq(SettingDraft::getUnionId, dto.getId()) | |
69 | - .orderByDesc(SettingDraft::getId) | |
70 | - ); | |
71 | - } | |
72 | - if (PublicUtil.isEmpty(settingDraft)) { | |
73 | - settingDraft = new SettingDraft(); | |
74 | - settingDraft.setUnionId(eval.getId()); | |
75 | - settingDraft.setType(SettingDraftTypeEnum.EVAL); | |
76 | - } | |
77 | - settingDraft.setContent(JSON.toJSONString(dto)); | |
78 | - settingDraftService.save(settingDraft); | |
79 | - } | |
80 | - | |
81 | - /** | |
82 | - * 保存绩效组 | |
54 | + * 保存考评组 | |
83 | 55 | * |
84 | 56 | * @param dto |
85 | 57 | */ |
... | ... | @@ -123,7 +95,7 @@ public class EvalGroupDataService { |
123 | 95 | } |
124 | 96 | |
125 | 97 | /** |
126 | - * 保存绩效组 | |
98 | + * 保存考评组 | |
127 | 99 | * |
128 | 100 | * @param dto |
129 | 101 | */ |
... | ... | @@ -311,72 +283,4 @@ public class EvalGroupDataService { |
311 | 283 | return rewardLadder; |
312 | 284 | } |
313 | 285 | |
314 | - | |
315 | - /** | |
316 | - * 删除考评 | |
317 | - * | |
318 | - * @param id | |
319 | - */ | |
320 | - public void delEval(Long id) { | |
321 | - Eval eval = evalService.getById(id); | |
322 | - BV.isTrue(PublicUtil.isNotEmpty(eval), "考评数据不存在"); | |
323 | - BV.isFalse(SettingStatusEnum.APPROVING.equals(eval.getStatus()), "正在审批中的考评不能删除"); | |
324 | - | |
325 | - evalService.removeById(id); | |
326 | - evalGroupService.update(Wrappers.<EvalGroup>lambdaUpdate() | |
327 | - .set(EvalGroup::getYn, Boolean.FALSE) | |
328 | - .set(EvalGroup::getUpdateTime, new Date()) | |
329 | - .eq(EvalGroup::getEvalId, id) | |
330 | - ); | |
331 | - | |
332 | - } | |
333 | - | |
334 | - /** | |
335 | - * 获取考评草稿 | |
336 | - * | |
337 | - * @param id | |
338 | - * @return | |
339 | - */ | |
340 | - public EvalDTO getEvalDraft(Long id) { | |
341 | - SettingDraft settingDraft = settingDraftService.getOne(Wrappers.<SettingDraft>lambdaQuery() | |
342 | - .eq(SettingDraft::getUnionId, id) | |
343 | - .eq(SettingDraft::getYn, Boolean.TRUE) | |
344 | - ); | |
345 | - | |
346 | - BV.isTrue(PublicUtil.isNotEmpty(settingDraft), "考评草稿不存在"); | |
347 | - EvalDTO evalDTO = JSON.parseObject(settingDraft.getContent(), EvalDTO.class); | |
348 | - return evalDTO; | |
349 | - } | |
350 | - | |
351 | - /** | |
352 | - * 保存考评草稿 | |
353 | - * | |
354 | - * @param dto | |
355 | - * @return | |
356 | - */ | |
357 | - public void saveEvalDraft(EvalDTO dto) { | |
358 | - Eval eval = null; | |
359 | - SettingDraft settingDraft = null; | |
360 | - if (PublicUtil.isNotEmpty(dto.getId())) { | |
361 | - eval = evalService.getById(dto.getId()); | |
362 | - BV.isTrue(PublicUtil.isNotEmpty(eval), "考评数据不存在"); | |
363 | - | |
364 | - settingDraft = settingDraftService.getOne(Wrappers.<SettingDraft>lambdaQuery() | |
365 | - .eq(SettingDraft::getUnionId, dto.getId()) | |
366 | - .eq(SettingDraft::getYn, Boolean.TRUE) | |
367 | - , Boolean.FALSE); | |
368 | - BV.isTrue(PublicUtil.isNotEmpty(settingDraft), "考评草稿数据不存在"); | |
369 | - } else { | |
370 | - eval.setStatus(SettingStatusEnum.DRAFT); | |
371 | - eval = PublicUtil.copy(dto, Eval.class); | |
372 | - | |
373 | - settingDraft = new SettingDraft(); | |
374 | - settingDraft.setUnionId(eval.getId()); | |
375 | - settingDraft.setType(SettingDraftTypeEnum.EVAL); | |
376 | - } | |
377 | - evalService.saveOrUpdate(eval); | |
378 | - | |
379 | - settingDraft.setContent(JSON.toJSONString(dto)); | |
380 | - settingDraftService.saveOrUpdate(settingDraft); | |
381 | - } | |
382 | 286 | } | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupPoolService.java
... | ... | @@ -52,7 +52,6 @@ public class EvalGroupPoolService { |
52 | 52 | private final EvalGroupIndicatorTargetHitLogService evalGroupIndicatorTargetHitLogService; |
53 | 53 | private final EvalGroupRewardTargetHitLogService evalGroupRewardTargetHitLogService; |
54 | 54 | private final EvalGroupRewardPreconditionService evalGroupRewardPreconditionService; |
55 | - private final EvalGroupRewardPreconditionHitLogService evalGroupRewardPreconditionHitLogService; | |
56 | 55 | private final EvalGroupIndicatorLaddersService evalGroupIndicatorLaddersService; |
57 | 56 | private final EvalGroupIndicatorHitLogService evalGroupIndicatorHitLogService; |
58 | 57 | private final EvalPoolIndicatorDetailService evalPoolIndicatorDetailService; |
... | ... | @@ -61,24 +60,13 @@ public class EvalGroupPoolService { |
61 | 60 | private final EvalPoolRewardDetailService evalPoolRewardDetailService; |
62 | 61 | private final EvalGroupRewardParamService evalGroupRewardParamService; |
63 | 62 | private final EvalGroupRewardHitLogService evalGroupRewardHitLogService; |
64 | - private final EvalGroupIndicatorService evalGroupIndicatorService; | |
65 | - private final EvalGroupRewardService evalGroupRewardService; | |
66 | - private final EvalIndicatorService evalIndicatorService; | |
67 | - private final EvalGroupDataService evalGroupDataService; | |
68 | - private final ApprovalRecordService approvalRecordService; | |
69 | 63 | private final IndicatorUserValueService indicatorUserValueService; |
70 | 64 | private final EvalIndicatorValueService evalIndicatorValueService; |
71 | - private final KpiGroupUserBizService kpiGroupUserBizService; | |
72 | 65 | private final EvalGroupUserService evalGroupUserService; |
73 | 66 | private final EvalUserPoolService evalUserPoolService; |
74 | 67 | private final EvalShopPoolService evalShopPoolService; |
75 | - private final SettingDraftService settingDraftService; | |
76 | - private final ApprovalBizService approvalBizService; | |
77 | - private final EvalGroupService evalGroupService; | |
78 | - private final FlowApproveRpc flowApproveRpc; | |
79 | 68 | private final CommonService commonService; |
80 | 69 | private final EvalService evalService; |
81 | - private final FlowVal flowVal; | |
82 | 70 | |
83 | 71 | /** |
84 | 72 | * 查询考评详情 | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalIndicatorBizService.java
... | ... | @@ -49,21 +49,9 @@ import static cn.fw.common.businessvalidator.Validator.BV; |
49 | 49 | public class EvalIndicatorBizService { |
50 | 50 | |
51 | 51 | private final EvalIndicatorService evalIndicatorService; |
52 | - private final ApprovalRecordService approvalRecordService; | |
53 | - private final KpiGroupUserBizService kpiGroupUserBizService; | |
54 | - private final EvalGroupService evalGroupService; | |
55 | - private final EvalGroupIndicatorService evalGroupIndicatorService; | |
56 | - private final EvalGroupIndicatorParamService evalGroupIndicatorParamService; | |
57 | - private final EvalGroupIndicatorPreconditionService evalGroupIndicatorPreconditionService; | |
58 | - private final EvalGroupIndicatorPreconditionLaddersService evalGroupIndicatorPreconditionLaddersService; | |
59 | - private final EvalGroupRewardService evalGroupRewardService; | |
60 | - private final EvalGroupRewardParamService evalGroupRewardParamService; | |
61 | - private final EvalGroupRewardPreconditionService evalGroupRewardPreconditionService; | |
62 | - private final FlowApproveRpc flowApproveRpc; | |
52 | + private final IndicatorsService indicatorsService; | |
63 | 53 | private final CommonService commonService; |
64 | - private final FlowVal flowVal; | |
65 | 54 | private final EhrRpcService ehrRpcService; |
66 | - private final IndicatorsService indicatorsService; | |
67 | 55 | |
68 | 56 | @Value("${spring.cache.custom.global-prefix}:eval:indicator:save:") |
69 | 57 | @Getter |
... | ... | @@ -364,24 +352,6 @@ public class EvalIndicatorBizService { |
364 | 352 | return compositeIndicators; |
365 | 353 | } |
366 | 354 | |
367 | - /** | |
368 | - * 查询门店类型指标 | |
369 | - * | |
370 | - * @return | |
371 | - */ | |
372 | - public List<CompositeIndicatorVO> getShopIndicators() { | |
373 | - List<EvalIndicator> evalIndicators = evalIndicatorService.list(Wrappers.<EvalIndicator>lambdaQuery() | |
374 | - .eq(EvalIndicator::getYn, Boolean.TRUE) | |
375 | - .eq(EvalIndicator::getEnable, Boolean.TRUE) | |
376 | - ); | |
377 | - List<CompositeIndicatorVO> compositeIndicators = Lists.newArrayListWithCapacity(evalIndicators.size()); | |
378 | - | |
379 | - for (EvalIndicator evalIndicator : evalIndicators) { | |
380 | - compositeIndicators.add(convertVO(evalIndicator)); | |
381 | - } | |
382 | - return compositeIndicators; | |
383 | - } | |
384 | - | |
385 | 355 | public CompositeIndicatorVO convertVO(EvalIndicator evalIndicator) { |
386 | 356 | CompositeIndicatorVO compositeIndicator = new CompositeIndicatorVO(); |
387 | 357 | compositeIndicator.setSId(IndicatorCodeTypeEnum.EVAL_INDICATOR.getValue() + "_" + evalIndicator.getId()); | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalIndicatorReportService.java
... | ... | @@ -316,22 +316,6 @@ public class EvalIndicatorReportService { |
316 | 316 | return staffPostMap; |
317 | 317 | } |
318 | 318 | |
319 | - public List<Long> getEffectEvalGroupIds(Long groupId) { | |
320 | - List<Eval> evals = evalService.list(Wrappers.<Eval>lambdaQuery() | |
321 | - .eq(Eval::getStatus, SettingStatusEnum.EFFECTIVE) | |
322 | - ); | |
323 | - if (PublicUtil.isEmpty(evals)) { | |
324 | - throw new BusinessException("当前没有生效中考评"); | |
325 | - } | |
326 | - List<Long> evalIds = evals.stream().map(Eval::getId).collect(Collectors.toList()); | |
327 | - List<EvalGroup> evalGroups = evalGroupService.list(Wrappers.<EvalGroup>lambdaQuery() | |
328 | - .in(EvalGroup::getEvalId, evalIds) | |
329 | - .eq(EvalGroup::getYn, Boolean.TRUE) | |
330 | - ); | |
331 | - List<Long> evalGroupIds = evalGroups.stream().map(EvalGroup::getId).collect(Collectors.toList()); | |
332 | - return evalGroupIds; | |
333 | - } | |
334 | - | |
335 | 319 | public Map<String, EvalShopPool> getShopPoolMap(LoginAuthBean user) { |
336 | 320 | YearMonth month = YearMonth.now().minusMonths(12); |
337 | 321 | List<EvalShopPool> pools = evalShopPoolService.getLastPool(month, user.getGroupId()); |
... | ... | @@ -350,38 +334,6 @@ public class EvalIndicatorReportService { |
350 | 334 | return evalIndicatorMap; |
351 | 335 | } |
352 | 336 | |
353 | - | |
354 | - | |
355 | -// | |
356 | -// | |
357 | -// /** | |
358 | -// * 检查员工个税 | |
359 | -// * | |
360 | -// * @param staffPersonTaxVOS | |
361 | -// */ | |
362 | -// private void checkPersonTax(List<StaffIndicatorValueVO> indicatorValues) { | |
363 | -// if (PublicUtil.isEmpty(indicatorValues)) { | |
364 | -// throw new BusinessException("Excel数据不能被解析"); | |
365 | -// } | |
366 | -// | |
367 | -// for (StaffIndicatorValueVO indicatorValue : indicatorValues) { | |
368 | -// if (PublicUtil.isEmpty(indicatorValue)) { | |
369 | -// throw new BusinessException("员工信息为空"); | |
370 | -// } | |
371 | -// if (PublicUtil.isEmpty(staffPersonTax.getIdNumber())) { | |
372 | -// throw new BusinessException("身份证信息不能为空"); | |
373 | -// } | |
374 | -// if (PublicUtil.isEmpty(indicatorValue.getIndicatorValue())) { | |
375 | -// throw new BusinessException("个税信息不能为空"); | |
376 | -// } | |
377 | -// } | |
378 | -// | |
379 | -// } | |
380 | - | |
381 | -// public void checkTodoCompletion(Long id) { | |
382 | -// EvalIndicatorImport indicatorImport = | |
383 | -// } | |
384 | - | |
385 | 337 | public static List<StaffIndicatorValueVO> staffTemplateData() { |
386 | 338 | List<StaffIndicatorValueVO> templates = new ArrayList<>(); |
387 | 339 | StaffIndicatorValueVO valueVO = new StaffIndicatorValueVO(); | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalIndicatorValueBizService.java
... | ... | @@ -3,6 +3,7 @@ package cn.fw.morax.service.biz.eval; |
3 | 3 | import cn.fw.backlog.sdk.api.result.FailBacklogItem; |
4 | 4 | import cn.fw.common.cache.locker.DistributedLocker; |
5 | 5 | import cn.fw.morax.common.config.FlowVal; |
6 | +import cn.fw.morax.common.config.TodoVal; | |
6 | 7 | import cn.fw.morax.common.constant.Constant; |
7 | 8 | import cn.fw.morax.common.utils.DateUtil; |
8 | 9 | import cn.fw.morax.common.utils.PublicUtil; |
... | ... | @@ -67,46 +68,27 @@ import static cn.fw.common.businessvalidator.Validator.BV; |
67 | 68 | @RequiredArgsConstructor |
68 | 69 | public class EvalIndicatorValueBizService { |
69 | 70 | |
70 | - private final EvalGroupIndicatorPreconditionLaddersService evalGroupIndicatorPreconditionLaddersService; | |
71 | 71 | private final EvalGroupIndicatorPreconditionService evalGroupIndicatorPreconditionService; |
72 | 72 | private final EvalGroupRewardPreconditionService evalGroupRewardPreconditionService; |
73 | - private final EvalGroupIndicatorLaddersService evalGroupIndicatorLaddersService; | |
74 | 73 | private final EvalGroupIndicatorParamService evalGroupIndicatorParamService; |
75 | - private final EvalGroupRewardLaddersService evalGroupRewardLaddersService; | |
76 | 74 | private final EvalGroupRewardParamService evalGroupRewardParamService; |
77 | - private final EvalGroupIndicatorService evalGroupIndicatorService; | |
78 | - private final EvalGroupRewardService evalGroupRewardService; | |
79 | 75 | private final EvalIndicatorService evalIndicatorService; |
80 | 76 | private final EvalGroupUserBizService evalGroupUserBizService; |
81 | - private final EvalGroupDataService evalGroupDataService; | |
82 | - private final ApprovalRecordService approvalRecordService; | |
83 | - private final KpiGroupUserBizService kpiGroupUserBizService; | |
84 | 77 | private final StringRedisTemplate stringRedisTemplate; |
85 | 78 | private final EvalGroupService evalGroupService; |
86 | 79 | private final EvalGroupUserService evalGroupUserService; |
87 | - private final EvalService evalService; | |
88 | - private final EvalUserPoolService evalUserPoolService; | |
89 | - private final EvalShopPoolService evalShopPoolService; | |
90 | 80 | private final EvalIndicatorValueService evalIndicatorValueService; |
91 | - private final EvalIndicatorImportRecordService evalIndicatorImportRecordService; | |
92 | - private final EvalIndicatorImportDetailService evalIndicatorImportDetailService; | |
93 | 81 | private final EvalIndicatorImportService evalIndicatorImportService; |
94 | - private final SettingDraftService settingDraftService; | |
95 | 82 | private final DistributedLocker distributedLocker; |
96 | - private final FlowApproveRpc flowApproveRpc; | |
97 | 83 | private final ErpRpcService erpRpcService; |
98 | 84 | private final TodoRpcService todoRpcService; |
99 | - private final ApprovalBizService approvalBizService; | |
100 | - private final FlowVal flowVal; | |
101 | 85 | private final OopRpcService oopRpcService; |
86 | + private final TodoVal todoVal; | |
102 | 87 | |
103 | 88 | |
104 | 89 | @Value("${spring.cache.custom.global-prefix}:import:eval-indicator") |
105 | 90 | @Getter |
106 | 91 | private String evalImportIndicator; |
107 | - @Value("${todo.eval-indicator-import}") | |
108 | - @Getter | |
109 | - private String evalImportTodo; | |
110 | 92 | @Value("${spring.cache.custom.global-prefix}:push:import-todo") |
111 | 93 | @Getter |
112 | 94 | private String pushImportLockKey; |
... | ... | @@ -569,7 +551,7 @@ public class EvalIndicatorValueBizService { |
569 | 551 | } |
570 | 552 | |
571 | 553 | //推送待办 |
572 | - BacklogBatchPlanReqDTO batchPlanReq = new BacklogBatchPlanReqDTO(getEvalImportTodo(), itemList); | |
554 | + BacklogBatchPlanReqDTO batchPlanReq = new BacklogBatchPlanReqDTO(todoVal.getEvalIndicatorImport(), itemList); | |
573 | 555 | List<FailBacklogItem> items = Optional.ofNullable(todoRpcService.batchPush(batchPlanReq)).orElse(new ArrayList<>()); |
574 | 556 | if (PublicUtil.isEmpty(items)) { |
575 | 557 | evalIndicatorImportService.update(Wrappers.<EvalIndicatorImport>lambdaUpdate() | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalPoolCommonService.java
... | ... | @@ -212,31 +212,4 @@ public class EvalPoolCommonService { |
212 | 212 | return evalUserPool; |
213 | 213 | } |
214 | 214 | |
215 | - /** | |
216 | - * 查询工作天数占比 | |
217 | - * | |
218 | - * @param userId | |
219 | - * @param sgc | |
220 | - * @param date | |
221 | - * @return | |
222 | - */ | |
223 | - public BigDecimal getWorkDayProportion(Long userId, String sgc, LocalDate date) { | |
224 | - BigDecimal workDayProportion = BigDecimal.ZERO; | |
225 | - int count = salaryGroupUserService.count(Wrappers.<SalaryGroupUser>lambdaQuery() | |
226 | - .eq(SalaryGroupUser::getUserId, userId) | |
227 | - .eq(SalaryGroupUser::getSgc, sgc) | |
228 | - .eq(SalaryGroupUser::getProbationer, Boolean.FALSE) | |
229 | - .eq(SalaryGroupUser::getFrozen, Boolean.FALSE) | |
230 | - .eq(SalaryGroupUser::getYn, Boolean.TRUE) | |
231 | - .ge(SalaryGroupUser::getDataDate, date.with(TemporalAdjusters.firstDayOfMonth())) | |
232 | - .le(SalaryGroupUser::getDataDate, date) | |
233 | - ); | |
234 | - if (count > 0) { | |
235 | - int lengthOfMonth = YearMonth.from(date).lengthOfMonth(); | |
236 | - workDayProportion = new BigDecimal(count).divide(new BigDecimal(lengthOfMonth), 2, RoundingMode.HALF_UP); | |
237 | - log.info("上班天数【" + count + "】总天数【" + lengthOfMonth + "】比例为:" + workDayProportion); | |
238 | - } | |
239 | - return workDayProportion; | |
240 | - } | |
241 | - | |
242 | 215 | } | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalRewardService.java
... | ... | @@ -65,23 +65,16 @@ import static cn.fw.common.businessvalidator.Validator.BV; |
65 | 65 | public class EvalRewardService { |
66 | 66 | |
67 | 67 | private final TodoVal todoVal; |
68 | - private final ApprovalBizService approvalBizService; | |
69 | - private final TodoRpcService todoRpcService; | |
70 | - private final ErpRpcService erpRpcService; | |
71 | - private final EvalRewardDistService evalRewardDistService; | |
72 | - private final EvalRewardDistDetailService evalRewardDistDetailService; | |
73 | - private final EvalPoolRewardDetailService evalPoolRewardDetailService; | |
74 | - private final EvalPoolCommonService evalPoolCommonService; | |
75 | - private final EvalUserPoolService evalUserPoolService; | |
76 | 68 | private final EvalService evalService; |
77 | - private final EvalShopPoolService evalShopPoolService; | |
69 | + private final ErpRpcService erpRpcService; | |
70 | + private final TodoRpcService todoRpcService; | |
78 | 71 | private final EvalGroupService evalGroupService; |
79 | - private final EvalGroupIndicatorService evalGroupIndicatorService; | |
80 | - private final EvalPoolIndicatorDetailService evalPoolIndicatorDetailService; | |
81 | - private final EvalGroupRewardService evalGroupRewardService; | |
82 | - private final EvalGroupUserService evalGroupUserService; | |
83 | - private final StringRedisTemplate stringRedisTemplate; | |
84 | 72 | private final DistributedLocker distributedLocker; |
73 | + private final ApprovalBizService approvalBizService; | |
74 | + private final StringRedisTemplate stringRedisTemplate; | |
75 | + private final EvalShopPoolService evalShopPoolService; | |
76 | + private final EvalRewardDistService evalRewardDistService; | |
77 | + private final EvalRewardDistDetailService evalRewardDistDetailService; | |
85 | 78 | |
86 | 79 | @Value("${spring.cache.custom.global-prefix}:dist:eval-reward") |
87 | 80 | @Getter | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/component/EvalIndicatorSaveObserver.java
1 | 1 | package cn.fw.morax.service.component; |
2 | 2 | |
3 | +import cn.fw.morax.common.config.TodoVal; | |
3 | 4 | import cn.fw.morax.common.constant.Constant; |
4 | 5 | import cn.fw.morax.common.pojo.event.ImportEvalIndicatorEvent; |
5 | 6 | import cn.fw.morax.common.pojo.event.PaySalaryEvent; |
... | ... | @@ -51,17 +52,13 @@ import java.util.stream.Collectors; |
51 | 52 | @RequiredArgsConstructor |
52 | 53 | public class EvalIndicatorSaveObserver { |
53 | 54 | |
55 | + private final TodoVal todoVal; | |
54 | 56 | private final TodoRpcService todoRpcService; |
55 | 57 | private final EvalIndicatorValueService evalIndicatorValueService; |
56 | 58 | private final EvalIndicatorImportService evalIndicatorImportService; |
57 | 59 | private final EvalIndicatorImportRecordService evalIndicatorImportRecordService; |
58 | 60 | private final EvalIndicatorImportDetailService evalIndicatorImportDetailService; |
59 | 61 | |
60 | - @Value("${todo.eval-indicator-import}") | |
61 | - @Getter | |
62 | - private String evalImportTodo; | |
63 | - | |
64 | - | |
65 | 62 | /** |
66 | 63 | * 保存导入的考评 |
67 | 64 | * |
... | ... | @@ -81,6 +78,7 @@ public class EvalIndicatorSaveObserver { |
81 | 78 | Long recordId = event.getEvalIndicatorImportRecordId(); |
82 | 79 | EvalIndicatorImportRecord importRecord = evalIndicatorImportRecordService.getById(recordId); |
83 | 80 | Long groupId = importRecord.getGroupId(); |
81 | + DimensionTypeEnum dimensionType = importRecord.getDimensionType(); | |
84 | 82 | List<EvalIndicatorImportDetail> details = evalIndicatorImportDetailService.list(Wrappers.<EvalIndicatorImportDetail>lambdaQuery() |
85 | 83 | .eq(EvalIndicatorImportDetail::getIndicatorCode, code) |
86 | 84 | .eq(EvalIndicatorImportDetail::getRecordId, recordId) |
... | ... | @@ -88,50 +86,24 @@ public class EvalIndicatorSaveObserver { |
88 | 86 | .eq(EvalIndicatorImportDetail::getYn, Boolean.TRUE) |
89 | 87 | ); |
90 | 88 | |
89 | + //转换保存数据 | |
91 | 90 | LambdaQueryWrapper<EvalIndicatorValue> indicatorValueWrappers = Wrappers.<EvalIndicatorValue>lambdaQuery() |
92 | 91 | .eq(EvalIndicatorValue::getYn, Boolean.TRUE); |
93 | - Set<Long> referIds = new HashSet<>(); | |
94 | 92 | List<EvalIndicatorValue> evalIndicatorValues = Lists.newArrayListWithCapacity(details.size()); |
95 | - if (DimensionTypeEnum.STAFF.equals(importRecord.getDimensionType())) { | |
93 | + for (EvalIndicatorImportDetail detail : details) { | |
94 | + evalIndicatorValues.add(transferPo(detail, dimensionType, groupId, dataDate)); | |
95 | + } | |
96 | 96 | |
97 | - for (EvalIndicatorImportDetail userDetail : details) { | |
98 | - EvalIndicatorValue indicatorValue = new EvalIndicatorValue(); | |
99 | - referIds.add(userDetail.getUserId()); | |
100 | - indicatorValue.setUserId(userDetail.getUserId()); | |
101 | - indicatorValue.setUserName(userDetail.getUserName()); | |
102 | - indicatorValue.setShopId(userDetail.getShopId()); | |
103 | - indicatorValue.setShopName(userDetail.getShopName()); | |
104 | - indicatorValue.setDimensionType(DimensionTypeEnum.STAFF); | |
105 | - indicatorValue.setIndicatorCode(userDetail.getIndicatorCode()); | |
106 | -// indicatorValue.setIndicatorName(userDetail.getIndicatorName()); | |
107 | - indicatorValue.setIndicatorValue(userDetail.getIndicatorValue()); | |
108 | - indicatorValue.setDataType(userDetail.getDataType()); | |
109 | - indicatorValue.setDataDate(dataDate); | |
110 | - indicatorValue.setGroupId(groupId); | |
111 | - indicatorValue.setYn(Boolean.TRUE); | |
112 | - evalIndicatorValues.add(indicatorValue); | |
113 | - } | |
114 | - indicatorValueWrappers.in(EvalIndicatorValue::getUserId, referIds) | |
115 | - .eq(EvalIndicatorValue::getDimensionType, DimensionTypeEnum.SHOP); | |
97 | + //删除当天重复数据 | |
98 | + if (DimensionTypeEnum.STAFF.equals(importRecord.getDimensionType())) { | |
99 | + Set<Long> referIds = evalIndicatorValues.stream().map(EvalIndicatorValue::getUserId).collect(Collectors.toSet()); | |
100 | + indicatorValueWrappers.in(EvalIndicatorValue::getUserId, referIds); | |
116 | 101 | } else { |
117 | - for (EvalIndicatorImportDetail shopDetail : details) { | |
118 | - EvalIndicatorValue indicatorValue = new EvalIndicatorValue(); | |
119 | - referIds.add(shopDetail.getShopId()); | |
120 | - indicatorValue.setShopId(shopDetail.getShopId()); | |
121 | - indicatorValue.setShopName(shopDetail.getShopName()); | |
122 | - indicatorValue.setDimensionType(DimensionTypeEnum.SHOP); | |
123 | - indicatorValue.setIndicatorCode(shopDetail.getIndicatorCode()); | |
124 | -// indicatorValue.setIndicatorName(shopDetail.getIndicatorName()); | |
125 | - indicatorValue.setIndicatorValue(shopDetail.getIndicatorValue()); | |
126 | - indicatorValue.setDataType(shopDetail.getDataType()); | |
127 | - indicatorValue.setDataDate(dataDate); | |
128 | - indicatorValue.setGroupId(groupId); | |
129 | - indicatorValue.setYn(Boolean.TRUE); | |
130 | - evalIndicatorValues.add(indicatorValue); | |
131 | - } | |
132 | - indicatorValueWrappers.in(EvalIndicatorValue::getShopId, referIds) | |
133 | - .eq(EvalIndicatorValue::getDimensionType, DimensionTypeEnum.SHOP); | |
102 | + Set<Long> referIds = evalIndicatorValues.stream().map(EvalIndicatorValue::getShopId).collect(Collectors.toSet()); | |
103 | + indicatorValueWrappers.in(EvalIndicatorValue::getShopId, referIds); | |
134 | 104 | } |
105 | + | |
106 | + //保存数据 | |
135 | 107 | if (PublicUtil.isEmpty(evalIndicatorValues)) { |
136 | 108 | return; |
137 | 109 | } |
... | ... | @@ -172,8 +144,8 @@ public class EvalIndicatorSaveObserver { |
172 | 144 | log.error("[{}]导入数据解析失败", JSON.toJSONString(evalIndicatorImport), e); |
173 | 145 | } |
174 | 146 | |
175 | - List<EvalIndicatorImportUserVO> users = evalReportVO.getUsers(); | |
176 | - List<EvalShopVO> shops = evalReportVO.getShops(); | |
147 | + List<EvalIndicatorImportUserVO> users = Optional.ofNullable(evalReportVO.getUsers()).orElse(new ArrayList<>()); | |
148 | + List<EvalShopVO> shops = Optional.ofNullable(evalReportVO.getShops()).orElse(new ArrayList<>()); | |
177 | 149 | if (PublicUtil.isNotEmpty(users)) { |
178 | 150 | List<Long> userIds = users.stream().map(EvalIndicatorImportUserVO::getUserId).collect(Collectors.toList()); |
179 | 151 | List<EvalIndicatorValue> evalIndicatorValues = evalIndicatorValueService.list(Wrappers.<EvalIndicatorValue>lambdaQuery() |
... | ... | @@ -205,6 +177,7 @@ public class EvalIndicatorSaveObserver { |
205 | 177 | continue; |
206 | 178 | } |
207 | 179 | } |
180 | + //完成 | |
208 | 181 | completeImports.add(evalIndicatorImport); |
209 | 182 | } |
210 | 183 | |
... | ... | @@ -214,7 +187,7 @@ public class EvalIndicatorSaveObserver { |
214 | 187 | |
215 | 188 | List<Long> completeImportIds = new ArrayList<>(); |
216 | 189 | for (EvalIndicatorImport evalIndicatorImport : completeImports) { |
217 | - BackLogItemDTO dto = new BackLogItemDTO(evalIndicatorImport.getImportUserId(), getEvalImportTodo(), | |
190 | + BackLogItemDTO dto = new BackLogItemDTO(evalIndicatorImport.getImportUserId(), todoVal.getEvalIndicatorImport(), | |
218 | 191 | String.valueOf(evalIndicatorImport.getId()), new Date(), null); |
219 | 192 | if (todoRpcService.cancel(dto)) { |
220 | 193 | completeImportIds.add(evalIndicatorImport.getId()); |
... | ... | @@ -232,4 +205,26 @@ public class EvalIndicatorSaveObserver { |
232 | 205 | } |
233 | 206 | } |
234 | 207 | |
208 | + public EvalIndicatorValue transferPo(EvalIndicatorImportDetail detail, | |
209 | + DimensionTypeEnum dimensionType, | |
210 | + Long groupId, LocalDate dataDate) { | |
211 | + EvalIndicatorValue indicatorValue = new EvalIndicatorValue(); | |
212 | + if (PublicUtil.isNotEmpty(detail.getUserId())) { | |
213 | + indicatorValue.setUserId(detail.getUserId()); | |
214 | + } | |
215 | + if (PublicUtil.isNotEmpty(detail.getUserName())) { | |
216 | + indicatorValue.setUserName(detail.getUserName()); | |
217 | + } | |
218 | + indicatorValue.setShopId(detail.getShopId()); | |
219 | + indicatorValue.setShopName(detail.getShopName()); | |
220 | + indicatorValue.setDimensionType(dimensionType); | |
221 | + indicatorValue.setIndicatorCode(detail.getIndicatorCode()); | |
222 | + indicatorValue.setIndicatorValue(detail.getIndicatorValue()); | |
223 | + indicatorValue.setDataType(detail.getDataType()); | |
224 | + indicatorValue.setDataDate(dataDate); | |
225 | + indicatorValue.setGroupId(groupId); | |
226 | + indicatorValue.setYn(Boolean.TRUE); | |
227 | + return indicatorValue; | |
228 | + } | |
229 | + | |
235 | 230 | } |
236 | 231 | \ No newline at end of file | ... | ... |