diff --git a/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java b/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java index 1073bf769..800ff069a 100644 --- a/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java +++ b/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java @@ -958,33 +958,42 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport List salaryAcctRecordIds = salaryAcctRecordList.stream().map(SalaryAcctRecordPO::getId).collect(Collectors.toList()); // 获取当前登录人员能够管理的法人主体 List canManageFrzt = getLySalaryReportService(user).getCanManageFrztByUid(user); - if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) { - canManageFrzt = canManageFrzt.stream().filter(param.getFycdgsqc()::contains).collect(Collectors.toList()); - } + List acctResultList = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(salaryAcctRecordIds, Collections.singletonList(gsmcItemId)); + if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) { + acctResultList = acctResultList.stream().filter(result -> param.getFycdgsqc().contains(result.getResultValue())).collect(Collectors.toList()); + } // 获取薪资核算人员 Boolean isChief = getTaxAgentService(user).isChief(Long.valueOf(user.getUID())); - List salaryAcctEmpIds = new ArrayList<>(); - if (isChief) { - salaryAcctEmpIds = acctResultList.stream() - .map(SalaryAcctResultPO::getSalaryAcctEmpId) - .collect(Collectors.toList()); - } else { - List finalCanManageFrzt = canManageFrzt; - salaryAcctEmpIds = acctResultList.stream() - .filter(result -> finalCanManageFrzt.contains(result.getResultValue())) - .map(SalaryAcctResultPO::getSalaryAcctEmpId) - .collect(Collectors.toList()); - } + List salaryAcctEmpIds = acctResultList.stream() + .map(SalaryAcctResultPO::getSalaryAcctEmpId) + .collect(Collectors.toList()); - // 查询薪资核算结果 - acctResultList = getSalaryAcctResultService(user).listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, salaryItemIds); // 查询薪资核算人员 List salaryAcctEmployeeList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(salaryAcctEmpIds)) { salaryAcctEmployeeList = getSalaryAcctEmployeeService(user).listByIds(salaryAcctEmpIds); } + if (!isChief) { + List finalCanManageFrzt = canManageFrzt; + List salaryAcctEmpIdsByfrzt = acctResultList.stream() + .filter(result -> finalCanManageFrzt.contains(result.getResultValue())) + .map(SalaryAcctResultPO::getSalaryAcctEmpId) + .collect(Collectors.toList()); + + // 获取当前用户能够查看哪些分部的数据 + List canManageSubCompanyIds = getCanManageSubCompanyIdsByUid(Long.valueOf(user.getUID())); + salaryAcctEmployeeList = salaryAcctEmployeeList.stream() + .filter(acctEmp -> canManageSubCompanyIds.contains(acctEmp.getSubcompanyId()) || salaryAcctEmpIdsByfrzt.contains(acctEmp.getId())) + .collect(Collectors.toList()); + salaryAcctEmpIds = salaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getId).collect(Collectors.toList()); + } + + // 查询薪资核算结果 + acctResultList = getSalaryAcctResultService(user).listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, salaryItemIds); + + List empIds = salaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getEmployeeId).collect(Collectors.toList()); List employeeList = getSalaryEmployeeService(user).listByIds(empIds); acctResultMap = SalaryAcctResultBO.buildData4Ly(salaryItemList, new ArrayList<>(), employeeList, salaryAcctEmployeeList, acctResultList, false); @@ -1101,32 +1110,41 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport List salaryAcctRecordIds = salaryAcctRecordList.stream().map(SalaryAcctRecordPO::getId).collect(Collectors.toList()); // 获取当前登录人员能够管理的法人主体 List canManageFrzt = getLySalaryReportService(user).getCanManageFrztByUid(user); - if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) { - canManageFrzt = canManageFrzt.stream().filter(param.getFycdgsqc()::contains).collect(Collectors.toList()); - } - List acctResultList = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(salaryAcctRecordIds, Collections.singletonList(gsmcItemId)); - // 获取薪资核算人员 - List salaryAcctEmpIds = new ArrayList<>(); - Boolean isChief = getTaxAgentService(user).isChief((long) user.getUID()); - if (isChief) { - salaryAcctEmpIds = acctResultList.stream() - .map(SalaryAcctResultPO::getSalaryAcctEmpId) - .collect(Collectors.toList()); - } else { - List finalCanManageFrzt = canManageFrzt; - salaryAcctEmpIds = acctResultList.stream() - .filter(result -> finalCanManageFrzt.contains(result.getResultValue())) - .map(SalaryAcctResultPO::getSalaryAcctEmpId) - .collect(Collectors.toList()); - } - // 查询薪资核算结果 - acctResultList = getSalaryAcctResultService(user).listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, salaryItemIds); + List acctResultList = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(salaryAcctRecordIds, Collections.singletonList(gsmcItemId)); + if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) { + acctResultList = acctResultList.stream().filter(result -> param.getFycdgsqc().contains(result.getResultValue())).collect(Collectors.toList()); + } + // 获取薪资核算人员 + List salaryAcctEmpIds = acctResultList.stream() + .map(SalaryAcctResultPO::getSalaryAcctEmpId) + .collect(Collectors.toList()); + // 查询薪资核算人员 List salaryAcctEmployeeList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(salaryAcctEmpIds)) { salaryAcctEmployeeList = getSalaryAcctEmployeeService(user).listByIds(salaryAcctEmpIds); } + + Boolean isChief = getTaxAgentService(user).isChief((long) user.getUID()); + if (!isChief) { + List finalCanManageFrzt = canManageFrzt; + List salaryAcctEmpIdsByfrzt = acctResultList.stream() + .filter(result -> finalCanManageFrzt.contains(result.getResultValue())) + .map(SalaryAcctResultPO::getSalaryAcctEmpId) + .collect(Collectors.toList()); + + // 获取当前用户能够查看哪些分部的数据 + List canManageSubCompanyIds = getCanManageSubCompanyIdsByUid(Long.valueOf(user.getUID())); + salaryAcctEmployeeList = salaryAcctEmployeeList.stream() + .filter(acctEmp -> canManageSubCompanyIds.contains(acctEmp.getSubcompanyId()) || salaryAcctEmpIdsByfrzt.contains(acctEmp.getId())) + .collect(Collectors.toList()); + salaryAcctEmpIds = salaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getId).collect(Collectors.toList()); + } + + // 查询薪资核算结果 + acctResultList = getSalaryAcctResultService(user).listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, salaryItemIds); + List empIds = salaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getEmployeeId).collect(Collectors.toList()); List employeeList = getSalaryEmployeeService(user).listByIds(empIds); acctResultMap = SalaryAcctResultBO.buildData4Ly(salaryItemList, new ArrayList<>(), employeeList, salaryAcctEmployeeList, acctResultList, false); @@ -1216,31 +1234,40 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport List salaryAcctRecordIds = salaryAcctRecordList.stream().map(SalaryAcctRecordPO::getId).collect(Collectors.toList()); // 获取当前登录人员能够管理的法人主体 List canManageFrzt = getLySalaryReportService(user).getCanManageFrztByUid(user); - if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) { - canManageFrzt = canManageFrzt.stream().filter(param.getFycdgsqc()::contains).collect(Collectors.toList()); - } + List acctResultList = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(salaryAcctRecordIds, Collections.singletonList(gsmcItemId)); - // 获取薪资核算人员 - List salaryAcctEmpIds = new ArrayList<>(); - Boolean isChief = getTaxAgentService(user).isChief((long) user.getUID()); - if (isChief) { - salaryAcctEmpIds = acctResultList.stream() - .map(SalaryAcctResultPO::getSalaryAcctEmpId) - .collect(Collectors.toList()); - } else { - List finalCanManageFrzt = canManageFrzt; - salaryAcctEmpIds = acctResultList.stream() - .filter(result -> finalCanManageFrzt.contains(result.getResultValue())) - .map(SalaryAcctResultPO::getSalaryAcctEmpId) - .collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) { + acctResultList = acctResultList.stream().filter(result -> param.getFycdgsqc().contains(result.getResultValue())).collect(Collectors.toList()); } - // 查询薪资核算结果 - acctResultList = getSalaryAcctResultService(user).listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, salaryItemIds); + // 获取薪资核算人员 + List salaryAcctEmpIds = acctResultList.stream() + .map(SalaryAcctResultPO::getSalaryAcctEmpId) + .collect(Collectors.toList()); + // 查询薪资核算人员 List salaryAcctEmployeeList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(salaryAcctEmpIds)) { salaryAcctEmployeeList = getSalaryAcctEmployeeService(user).listByIds(salaryAcctEmpIds); } + Boolean isChief = getTaxAgentService(user).isChief((long) user.getUID()); + if (!isChief) { + List finalCanManageFrzt = canManageFrzt; + List salaryAcctEmpIdsByfrzt = acctResultList.stream() + .filter(result -> finalCanManageFrzt.contains(result.getResultValue())) + .map(SalaryAcctResultPO::getSalaryAcctEmpId) + .collect(Collectors.toList()); + + // 获取当前用户能够查看哪些分部的数据 + List canManageSubCompanyIds = getCanManageSubCompanyIdsByUid(Long.valueOf(user.getUID())); + salaryAcctEmployeeList = salaryAcctEmployeeList.stream() + .filter(acctEmp -> canManageSubCompanyIds.contains(acctEmp.getSubcompanyId()) || salaryAcctEmpIdsByfrzt.contains(acctEmp.getId())) + .collect(Collectors.toList()); + salaryAcctEmpIds = salaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getId).collect(Collectors.toList()); + } + + // 查询薪资核算结果 + acctResultList = getSalaryAcctResultService(user).listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, salaryItemIds); + List empIds = salaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getEmployeeId).collect(Collectors.toList()); List employeeList = getSalaryEmployeeService(user).listByIds(empIds); List salarySobEmpFields = new ArrayList<>(); @@ -1367,32 +1394,41 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport List salaryAcctRecordIds = salaryAcctRecordList.stream().map(SalaryAcctRecordPO::getId).collect(Collectors.toList()); // 获取当前登录人员能够管理的法人主体 List canManageFrzt = getLySalaryReportService(user).getCanManageFrztByUid(user); - if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) { - canManageFrzt = canManageFrzt.stream().filter(param.getFycdgsqc()::contains).collect(Collectors.toList()); - } + List acctResultList = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(salaryAcctRecordIds, Collections.singletonList(gsmcItemId)); - // 获取薪资核算人员 - List salaryAcctEmpIds = new ArrayList<>(); - Boolean isChief = getTaxAgentService(user).isChief((long) user.getUID()); - if (isChief) { - salaryAcctEmpIds = acctResultList.stream() - .map(SalaryAcctResultPO::getSalaryAcctEmpId) - .collect(Collectors.toList()); - } else { - List finalCanManageFrzt = canManageFrzt; - salaryAcctEmpIds = acctResultList.stream() - .filter(result -> finalCanManageFrzt.contains(result.getResultValue())) - .map(SalaryAcctResultPO::getSalaryAcctEmpId) - .collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) { + acctResultList = acctResultList.stream().filter(result -> param.getFycdgsqc().contains(result.getResultValue())).collect(Collectors.toList()); } - // 查询薪资核算结果 - acctResultList = getSalaryAcctResultService(user).listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, salaryItemIds); + // 获取薪资核算人员 + List salaryAcctEmpIds = acctResultList.stream() + .map(SalaryAcctResultPO::getSalaryAcctEmpId) + .collect(Collectors.toList()); + // 查询薪资核算人员 List salaryAcctEmployeeList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(salaryAcctEmpIds)) { salaryAcctEmployeeList = getSalaryAcctEmployeeService(user).listByIds(salaryAcctEmpIds); } + Boolean isChief = getTaxAgentService(user).isChief((long) user.getUID()); + if (!isChief) { + List finalCanManageFrzt = canManageFrzt; + List salaryAcctEmpIdsByfrzt = acctResultList.stream() + .filter(result -> finalCanManageFrzt.contains(result.getResultValue())) + .map(SalaryAcctResultPO::getSalaryAcctEmpId) + .collect(Collectors.toList()); + + // 获取当前用户能够查看哪些分部的数据 + List canManageSubCompanyIds = getCanManageSubCompanyIdsByUid(Long.valueOf(user.getUID())); + salaryAcctEmployeeList = salaryAcctEmployeeList.stream() + .filter(acctEmp -> canManageSubCompanyIds.contains(acctEmp.getSubcompanyId()) || salaryAcctEmpIdsByfrzt.contains(acctEmp.getId())) + .collect(Collectors.toList()); + salaryAcctEmpIds = salaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getId).collect(Collectors.toList()); + } + + // 查询薪资核算结果 + acctResultList = getSalaryAcctResultService(user).listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, salaryItemIds); + List empIds = salaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getEmployeeId).collect(Collectors.toList()); List employeeList = getSalaryEmployeeService(user).listByIds(empIds); acctResultMap = SalaryAcctResultBO.buildData4Ly(salaryItemList, new ArrayList<>(), employeeList, salaryAcctEmployeeList, acctResultList, false); @@ -1539,35 +1575,36 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport boolean isChief = getTaxAgentService(user).isChief((long) user.getUID()); // 获取当前登录人员能够管理的法人主体 List canManageFrzt = getLySalaryReportService(user).getCanManageFrztByUid(user); - if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) { - canManageFrzt = canManageFrzt.stream().filter(param.getFycdgsqc()::contains).collect(Collectors.toList()); - } List acctResultList = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(salaryAcctRecordIds, Collections.singletonList(ffgsqcItemId)); - // 获取薪资核算人员 - List finalCanManageFrzt = canManageFrzt; - List salaryAcctEmpIds = new ArrayList<>(); - if (isChief) { - salaryAcctEmpIds = acctResultList.stream() - .map(SalaryAcctResultPO::getSalaryAcctEmpId) - .collect(Collectors.toList()); - } else { - salaryAcctEmpIds = acctResultList.stream() - .filter(result -> finalCanManageFrzt.contains(result.getResultValue())) - .map(SalaryAcctResultPO::getSalaryAcctEmpId) - .collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) { + acctResultList = acctResultList.stream().filter(result -> param.getFycdgsqc().contains(result.getResultValue())).collect(Collectors.toList()); } + // 获取薪资核算人员 + List salaryAcctEmpIds = acctResultList.stream() + .map(SalaryAcctResultPO::getSalaryAcctEmpId) + .collect(Collectors.toList()); + List salaryAcctEmpList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(salaryAcctEmpIds)) { salaryAcctEmpList = getSalaryAcctEmployeeService(user).listByIds(salaryAcctEmpIds); } - // 分权 if (!isChief) { + List finalCanManageFrzt = canManageFrzt; + List salaryAcctEmpIdsByfrzt = acctResultList.stream() + .filter(result -> finalCanManageFrzt.contains(result.getResultValue())) + .map(SalaryAcctResultPO::getSalaryAcctEmpId) + .collect(Collectors.toList()); + // 获取当前用户能够查看哪些分部的数据 List canManageSubCompanyIds = getCanManageSubCompanyIdsByUid(Long.valueOf(user.getUID())); - salaryAcctEmpList = salaryAcctEmpList.stream().filter(acctEmp -> canManageSubCompanyIds.contains(acctEmp.getSubcompanyId())).collect(Collectors.toList()); + salaryAcctEmpList = salaryAcctEmpList.stream() + .filter(acctEmp -> canManageSubCompanyIds.contains(acctEmp.getSubcompanyId()) || salaryAcctEmpIdsByfrzt.contains(acctEmp.getId())) + .collect(Collectors.toList()); } + + salaryAcctEmpIds = salaryAcctEmpList.stream().map(SalaryAcctEmployeePO::getId).collect(Collectors.toList()); salaryItemList = getSalaryItemService(user).listByIds(salaryItemIds); @@ -1765,35 +1802,36 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport boolean isChief = getTaxAgentService(user).isChief((long) user.getUID()); // 获取当前登录人员能够管理的法人主体 List canManageFrzt = getLySalaryReportService(user).getCanManageFrztByUid(user); - if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) { - canManageFrzt = canManageFrzt.stream().filter(param.getFycdgsqc()::contains).collect(Collectors.toList()); - } + List acctResultList = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(salaryAcctRecordIds, Collections.singletonList(ffgsqcItemId)); - // 获取薪资核算人员 - List finalCanManageFrzt = canManageFrzt; - List salaryAcctEmpIds = new ArrayList<>(); - if (isChief) { - salaryAcctEmpIds = acctResultList.stream() - .map(SalaryAcctResultPO::getSalaryAcctEmpId) - .collect(Collectors.toList()); - } else { - salaryAcctEmpIds = acctResultList.stream() - .filter(result -> finalCanManageFrzt.contains(result.getResultValue())) - .map(SalaryAcctResultPO::getSalaryAcctEmpId) - .collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) { + acctResultList = acctResultList.stream().filter(result -> param.getFycdgsqc().contains(result.getResultValue())).collect(Collectors.toList()); } + // 获取薪资核算人员 + List salaryAcctEmpIds = acctResultList.stream() + .map(SalaryAcctResultPO::getSalaryAcctEmpId) + .collect(Collectors.toList()); + List salaryAcctEmpList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(salaryAcctEmpIds)) { salaryAcctEmpList = getSalaryAcctEmployeeService(user).listByIds(salaryAcctEmpIds); } - // 分权 if (!isChief) { + List finalCanManageFrzt = canManageFrzt; + List salaryAcctEmpIdsByfrzt = acctResultList.stream() + .filter(result -> finalCanManageFrzt.contains(result.getResultValue())) + .map(SalaryAcctResultPO::getSalaryAcctEmpId) + .collect(Collectors.toList()); + // 获取当前用户能够查看哪些分部的数据 List canManageSubCompanyIds = getCanManageSubCompanyIdsByUid(Long.valueOf(user.getUID())); - salaryAcctEmpList = salaryAcctEmpList.stream().filter(acctEmp -> canManageSubCompanyIds.contains(acctEmp.getSubcompanyId())).collect(Collectors.toList()); + salaryAcctEmpList = salaryAcctEmpList.stream() + .filter(acctEmp -> canManageSubCompanyIds.contains(acctEmp.getSubcompanyId()) || salaryAcctEmpIdsByfrzt.contains(acctEmp.getId())) + .collect(Collectors.toList()); } + salaryAcctEmpIds = salaryAcctEmpList.stream().map(SalaryAcctEmployeePO::getId).collect(Collectors.toList()); // 获取薪资项目id