Commit 07766ec4ab573d1342c44734ac30f1e870f56e36

Authored by 张志伟
2 parents 4f160ec6 9018197b

Merge branch 'main-modify' into 'main'

搜索调岗之前的门店,获取薪酬额外数据

搜索调岗之前的门店,获取薪酬额外数据

See merge request !75
fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/salary/DynamicSalaryCalculator.java
1 1 package cn.fw.morax.service.biz.calculator.salary;
2 2  
  3 +import cn.fw.morax.common.utils.DateUtil;
3 4 import cn.fw.morax.domain.db.salary.*;
4 5 import cn.fw.morax.domain.enums.ExtraSalaryTypeEnum;
5 6 import cn.fw.morax.domain.enums.SalaryCalMethodEnum;
... ... @@ -16,8 +17,10 @@ import java.time.LocalDate;
16 17 import java.time.LocalDateTime;
17 18 import java.time.YearMonth;
18 19 import java.util.ArrayList;
  20 +import java.util.HashSet;
19 21 import java.util.List;
20 22 import java.util.Optional;
  23 +import java.util.stream.Collectors;
21 24  
22 25 /**
23 26 * @author : kurisu
... ... @@ -85,9 +88,21 @@ public class DynamicSalaryCalculator extends SalaryBaseCalculator {
85 88 private List<SalaryExtraProject> queryProjectList(SalaryPool pool, LocalDate date, ExtraSalaryTypeEnum extraSalaryTypeEnum) {
86 89 LocalDate startTime = YearMonth.from(date).minusMonths(1L).atEndOfMonth();
87 90 LocalDateTime endTime = date.plusDays(1L).atStartOfDay();
  91 +
  92 + //调岗前后还是同一个薪酬组,不算调岗。搜索调岗之前的门店,获取薪酬额外数据
  93 + List<SalaryGroupUser> groupUsers = salaryGroupUserService.list(Wrappers.<SalaryGroupUser>lambdaQuery()
  94 + .eq(SalaryGroupUser::getSalaryGroupId, pool.getSalaryGroupId())
  95 + .eq(SalaryGroupUser::getPostId, pool.getPostId())
  96 + .eq(SalaryGroupUser::getUserId, pool.getUserId())
  97 + .ge(SalaryGroupUser::getDataDate, startTime)
  98 + .le(SalaryGroupUser::getDataDate, date)
  99 + .eq(SalaryGroupUser::getYn, Boolean.TRUE)
  100 + );
  101 + List<Long> shopIds = groupUsers.stream().map(SalaryGroupUser::getShopId).distinct().collect(Collectors.toList());
  102 +
88 103 List<SalaryExtraProject> list = salaryExtraProjectService.list(Wrappers.<SalaryExtraProject>lambdaQuery()
89 104 .eq(SalaryExtraProject::getPostId, pool.getPostId())
90   - .eq(SalaryExtraProject::getShopId, pool.getShopId())
  105 + .in(SalaryExtraProject::getShopId, shopIds)
91 106 .eq(SalaryExtraProject::getUserId, pool.getUserId())
92 107 .eq(SalaryExtraProject::getSalaryType, extraSalaryTypeEnum)
93 108 .gt(SalaryExtraProject::getDataDate, startTime)
... ...