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 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)