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 | package cn.fw.morax.service.biz.calculator.salary; | 1 | package cn.fw.morax.service.biz.calculator.salary; |
2 | 2 | ||
3 | +import cn.fw.morax.common.utils.DateUtil; | ||
3 | import cn.fw.morax.domain.db.salary.*; | 4 | import cn.fw.morax.domain.db.salary.*; |
4 | import cn.fw.morax.domain.enums.ExtraSalaryTypeEnum; | 5 | import cn.fw.morax.domain.enums.ExtraSalaryTypeEnum; |
5 | import cn.fw.morax.domain.enums.SalaryCalMethodEnum; | 6 | import cn.fw.morax.domain.enums.SalaryCalMethodEnum; |
@@ -16,8 +17,10 @@ import java.time.LocalDate; | @@ -16,8 +17,10 @@ import java.time.LocalDate; | ||
16 | import java.time.LocalDateTime; | 17 | import java.time.LocalDateTime; |
17 | import java.time.YearMonth; | 18 | import java.time.YearMonth; |
18 | import java.util.ArrayList; | 19 | import java.util.ArrayList; |
20 | +import java.util.HashSet; | ||
19 | import java.util.List; | 21 | import java.util.List; |
20 | import java.util.Optional; | 22 | import java.util.Optional; |
23 | +import java.util.stream.Collectors; | ||
21 | 24 | ||
22 | /** | 25 | /** |
23 | * @author : kurisu | 26 | * @author : kurisu |
@@ -85,9 +88,21 @@ public class DynamicSalaryCalculator extends SalaryBaseCalculator { | @@ -85,9 +88,21 @@ public class DynamicSalaryCalculator extends SalaryBaseCalculator { | ||
85 | private List<SalaryExtraProject> queryProjectList(SalaryPool pool, LocalDate date, ExtraSalaryTypeEnum extraSalaryTypeEnum) { | 88 | private List<SalaryExtraProject> queryProjectList(SalaryPool pool, LocalDate date, ExtraSalaryTypeEnum extraSalaryTypeEnum) { |
86 | LocalDate startTime = YearMonth.from(date).minusMonths(1L).atEndOfMonth(); | 89 | LocalDate startTime = YearMonth.from(date).minusMonths(1L).atEndOfMonth(); |
87 | LocalDateTime endTime = date.plusDays(1L).atStartOfDay(); | 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 | List<SalaryExtraProject> list = salaryExtraProjectService.list(Wrappers.<SalaryExtraProject>lambdaQuery() | 103 | List<SalaryExtraProject> list = salaryExtraProjectService.list(Wrappers.<SalaryExtraProject>lambdaQuery() |
89 | .eq(SalaryExtraProject::getPostId, pool.getPostId()) | 104 | .eq(SalaryExtraProject::getPostId, pool.getPostId()) |
90 | - .eq(SalaryExtraProject::getShopId, pool.getShopId()) | 105 | + .in(SalaryExtraProject::getShopId, shopIds) |
91 | .eq(SalaryExtraProject::getUserId, pool.getUserId()) | 106 | .eq(SalaryExtraProject::getUserId, pool.getUserId()) |
92 | .eq(SalaryExtraProject::getSalaryType, extraSalaryTypeEnum) | 107 | .eq(SalaryExtraProject::getSalaryType, extraSalaryTypeEnum) |
93 | .gt(SalaryExtraProject::getDataDate, startTime) | 108 | .gt(SalaryExtraProject::getDataDate, startTime) |