From 5f152a991b352dfc8f3d160e7d6cb2284c6f7f43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Sun, 8 Oct 2023 15:44:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B8=E7=AE=97=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=85=B6=E4=BB=96=E6=90=9C=E7=B4=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SalaryAcctResultServiceImpl.java | 36 ++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java index be1a11f7c..b6b7c2d2d 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java @@ -45,6 +45,7 @@ import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.page.PageInfo; +import com.engine.salary.util.page.SalaryPageUtil; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; @@ -304,8 +305,35 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe @Override public PageInfo> listPageByParam(SalaryAcctResultQueryParam queryParam) { - // 查询薪资核算人员(分页) - PageInfo page = getSalaryAcctEmployeeService(user).listPageByResultQueryParam(queryParam); + PageInfo page = null; + //其他条件 + List otherConditions = queryParam.getOtherConditions(); + if (CollectionUtils.isNotEmpty(otherConditions)) { + List items = SalaryEntityUtil.properties(otherConditions, SalaryAcctResultQueryParam.OtherCondition::getItemId, Collectors.toList()); + List list = listBySalaryAcctRecordIdsAndSalaryItemIds(Collections.singletonList(queryParam.getSalaryAcctRecordId()), items); + for (int i = 0; i < otherConditions.size(); i++) { + SalaryAcctResultQueryParam.OtherCondition otherCondition = otherConditions.get(i); + Long itemId = otherCondition.getItemId(); + FilterEnum filter = otherCondition.getFilter(); + List params = otherCondition.getParams(); + list = list.stream().filter(a -> Objects.equals(a.getSalaryItemId(), itemId)).filter(a -> filter.filter(params).test(a.getResultValue())).collect(Collectors.toList()); + } + List salaryAcctEmpId = SalaryEntityUtil.properties(list, SalaryAcctResultPO::getSalaryAcctEmpId, Collectors.toList()); + + if (CollectionUtils.isEmpty(salaryAcctEmpId)) { + //条件不满足直接返回空列表 + page = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), new ArrayList<>(), SalaryAcctEmployeePO.class); + } else { + queryParam.setIds(salaryAcctEmpId); + // 查询薪资核算人员(分页) + page = getSalaryAcctEmployeeService(user).listPageByResultQueryParam(queryParam); + } + } else { + // 查询薪资核算人员(分页) + page = getSalaryAcctEmployeeService(user).listPageByResultQueryParam(queryParam); + } + + // 查询薪资核算结果 List> data = listBySalaryAcctEmployees(page.getList(), queryParam); // 薪资核算结果的分页结果 @@ -398,9 +426,9 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe // 查询人员信息 List employeeIds = SalaryEntityUtil.properties(salaryAcctEmployeePOS, SalaryAcctEmployeePO::getEmployeeId, Collectors.toList()); List simpleEmployees = getSalaryEmployeeService(user).getEmployeeByIdsAll(employeeIds); - simpleEmployees.forEach(e->{ + simpleEmployees.forEach(e -> { UserStatusEnum userStatusEnum = UserStatusEnum.parseByValue(Integer.parseInt(e.getStatus())); - if(userStatusEnum != null){ + if (userStatusEnum != null) { e.setStatusName(userStatusEnum.getDefaultLabel()); } });