Commit 2188d9d07f6ab254da8a2ba304f1fa5cdde67cfe

Authored by 姜超
1 parent 7f3e5385

feature(*): 修改代码格式

修改代码格式
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
... ...