Merged
Merge Request #75
·
created by
搜索调岗之前的门店,获取薪酬额外数据
搜索调岗之前的门店,获取薪酬额外数据
From
main-modify
into
main
-
mentioned in commit 07766ec4
Showing
1 changed file
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) | ... | ... |