Commit ac814d59204317f69196ccc7dc9bb7ca9d7eab00

Authored by 姜超
1 parent c392ff73

feature(bug): 搜索调岗之前的门店,获取薪酬额外数据

搜索调岗之前的门店,获取薪酬额外数据
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,20 @@ public class DynamicSalaryCalculator extends SalaryBaseCalculator { @@ -85,9 +88,20 @@ 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 + );
  100 + List<Long> shopIds = groupUsers.stream().map(SalaryGroupUser::getShopId).distinct().collect(Collectors.toList());
  101 +
88 List<SalaryExtraProject> list = salaryExtraProjectService.list(Wrappers.<SalaryExtraProject>lambdaQuery() 102 List<SalaryExtraProject> list = salaryExtraProjectService.list(Wrappers.<SalaryExtraProject>lambdaQuery()
89 .eq(SalaryExtraProject::getPostId, pool.getPostId()) 103 .eq(SalaryExtraProject::getPostId, pool.getPostId())
90 - .eq(SalaryExtraProject::getShopId, pool.getShopId()) 104 + .in(SalaryExtraProject::getShopId, shopIds)
91 .eq(SalaryExtraProject::getUserId, pool.getUserId()) 105 .eq(SalaryExtraProject::getUserId, pool.getUserId())
92 .eq(SalaryExtraProject::getSalaryType, extraSalaryTypeEnum) 106 .eq(SalaryExtraProject::getSalaryType, extraSalaryTypeEnum)
93 .gt(SalaryExtraProject::getDataDate, startTime) 107 .gt(SalaryExtraProject::getDataDate, startTime)