领悦3张报表分权修改

This commit is contained in:
Harryxzy 2025-04-10 13:35:20 +08:00
parent ba2e83447f
commit d1fa73d412
1 changed files with 145 additions and 107 deletions

View File

@ -958,33 +958,42 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport
List<Long> salaryAcctRecordIds = salaryAcctRecordList.stream().map(SalaryAcctRecordPO::getId).collect(Collectors.toList());
// 获取当前登录人员能够管理的法人主体
List<String> canManageFrzt = getLySalaryReportService(user).getCanManageFrztByUid(user);
if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) {
canManageFrzt = canManageFrzt.stream().filter(param.getFycdgsqc()::contains).collect(Collectors.toList());
}
List<SalaryAcctResultPO> 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<Long> salaryAcctEmpIds = new ArrayList<>();
if (isChief) {
salaryAcctEmpIds = acctResultList.stream()
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
} else {
List<String> finalCanManageFrzt = canManageFrzt;
salaryAcctEmpIds = acctResultList.stream()
.filter(result -> finalCanManageFrzt.contains(result.getResultValue()))
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
}
List<Long> salaryAcctEmpIds = acctResultList.stream()
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
// 查询薪资核算结果
acctResultList = getSalaryAcctResultService(user).listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, salaryItemIds);
// 查询薪资核算人员
List<SalaryAcctEmployeePO> salaryAcctEmployeeList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(salaryAcctEmpIds)) {
salaryAcctEmployeeList = getSalaryAcctEmployeeService(user).listByIds(salaryAcctEmpIds);
}
if (!isChief) {
List<String> finalCanManageFrzt = canManageFrzt;
List<Long> salaryAcctEmpIdsByfrzt = acctResultList.stream()
.filter(result -> finalCanManageFrzt.contains(result.getResultValue()))
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
// 获取当前用户能够查看哪些分部的数据
List<Long> 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<Long> empIds = salaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getEmployeeId).collect(Collectors.toList());
List<DataCollectionEmployee> 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<Long> salaryAcctRecordIds = salaryAcctRecordList.stream().map(SalaryAcctRecordPO::getId).collect(Collectors.toList());
// 获取当前登录人员能够管理的法人主体
List<String> canManageFrzt = getLySalaryReportService(user).getCanManageFrztByUid(user);
if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) {
canManageFrzt = canManageFrzt.stream().filter(param.getFycdgsqc()::contains).collect(Collectors.toList());
}
List<SalaryAcctResultPO> acctResultList = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(salaryAcctRecordIds, Collections.singletonList(gsmcItemId));
// 获取薪资核算人员
List<Long> salaryAcctEmpIds = new ArrayList<>();
Boolean isChief = getTaxAgentService(user).isChief((long) user.getUID());
if (isChief) {
salaryAcctEmpIds = acctResultList.stream()
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
} else {
List<String> finalCanManageFrzt = canManageFrzt;
salaryAcctEmpIds = acctResultList.stream()
.filter(result -> finalCanManageFrzt.contains(result.getResultValue()))
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
}
// 查询薪资核算结果
acctResultList = getSalaryAcctResultService(user).listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, salaryItemIds);
List<SalaryAcctResultPO> 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<Long> salaryAcctEmpIds = acctResultList.stream()
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
// 查询薪资核算人员
List<SalaryAcctEmployeePO> salaryAcctEmployeeList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(salaryAcctEmpIds)) {
salaryAcctEmployeeList = getSalaryAcctEmployeeService(user).listByIds(salaryAcctEmpIds);
}
Boolean isChief = getTaxAgentService(user).isChief((long) user.getUID());
if (!isChief) {
List<String> finalCanManageFrzt = canManageFrzt;
List<Long> salaryAcctEmpIdsByfrzt = acctResultList.stream()
.filter(result -> finalCanManageFrzt.contains(result.getResultValue()))
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
// 获取当前用户能够查看哪些分部的数据
List<Long> 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<Long> empIds = salaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getEmployeeId).collect(Collectors.toList());
List<DataCollectionEmployee> 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<Long> salaryAcctRecordIds = salaryAcctRecordList.stream().map(SalaryAcctRecordPO::getId).collect(Collectors.toList());
// 获取当前登录人员能够管理的法人主体
List<String> canManageFrzt = getLySalaryReportService(user).getCanManageFrztByUid(user);
if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) {
canManageFrzt = canManageFrzt.stream().filter(param.getFycdgsqc()::contains).collect(Collectors.toList());
}
List<SalaryAcctResultPO> acctResultList = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(salaryAcctRecordIds, Collections.singletonList(gsmcItemId));
// 获取薪资核算人员
List<Long> salaryAcctEmpIds = new ArrayList<>();
Boolean isChief = getTaxAgentService(user).isChief((long) user.getUID());
if (isChief) {
salaryAcctEmpIds = acctResultList.stream()
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
} else {
List<String> 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<Long> salaryAcctEmpIds = acctResultList.stream()
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
// 查询薪资核算人员
List<SalaryAcctEmployeePO> salaryAcctEmployeeList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(salaryAcctEmpIds)) {
salaryAcctEmployeeList = getSalaryAcctEmployeeService(user).listByIds(salaryAcctEmpIds);
}
Boolean isChief = getTaxAgentService(user).isChief((long) user.getUID());
if (!isChief) {
List<String> finalCanManageFrzt = canManageFrzt;
List<Long> salaryAcctEmpIdsByfrzt = acctResultList.stream()
.filter(result -> finalCanManageFrzt.contains(result.getResultValue()))
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
// 获取当前用户能够查看哪些分部的数据
List<Long> 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<Long> empIds = salaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getEmployeeId).collect(Collectors.toList());
List<DataCollectionEmployee> employeeList = getSalaryEmployeeService(user).listByIds(empIds);
List<SalarySobEmpFieldPO> salarySobEmpFields = new ArrayList<>();
@ -1367,32 +1394,41 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport
List<Long> salaryAcctRecordIds = salaryAcctRecordList.stream().map(SalaryAcctRecordPO::getId).collect(Collectors.toList());
// 获取当前登录人员能够管理的法人主体
List<String> canManageFrzt = getLySalaryReportService(user).getCanManageFrztByUid(user);
if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) {
canManageFrzt = canManageFrzt.stream().filter(param.getFycdgsqc()::contains).collect(Collectors.toList());
}
List<SalaryAcctResultPO> acctResultList = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(salaryAcctRecordIds, Collections.singletonList(gsmcItemId));
// 获取薪资核算人员
List<Long> salaryAcctEmpIds = new ArrayList<>();
Boolean isChief = getTaxAgentService(user).isChief((long) user.getUID());
if (isChief) {
salaryAcctEmpIds = acctResultList.stream()
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
} else {
List<String> 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<Long> salaryAcctEmpIds = acctResultList.stream()
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
// 查询薪资核算人员
List<SalaryAcctEmployeePO> salaryAcctEmployeeList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(salaryAcctEmpIds)) {
salaryAcctEmployeeList = getSalaryAcctEmployeeService(user).listByIds(salaryAcctEmpIds);
}
Boolean isChief = getTaxAgentService(user).isChief((long) user.getUID());
if (!isChief) {
List<String> finalCanManageFrzt = canManageFrzt;
List<Long> salaryAcctEmpIdsByfrzt = acctResultList.stream()
.filter(result -> finalCanManageFrzt.contains(result.getResultValue()))
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
// 获取当前用户能够查看哪些分部的数据
List<Long> 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<Long> empIds = salaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getEmployeeId).collect(Collectors.toList());
List<DataCollectionEmployee> 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<String> canManageFrzt = getLySalaryReportService(user).getCanManageFrztByUid(user);
if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) {
canManageFrzt = canManageFrzt.stream().filter(param.getFycdgsqc()::contains).collect(Collectors.toList());
}
List<SalaryAcctResultPO> acctResultList = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(salaryAcctRecordIds, Collections.singletonList(ffgsqcItemId));
// 获取薪资核算人员
List<String> finalCanManageFrzt = canManageFrzt;
List<Long> 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<Long> salaryAcctEmpIds = acctResultList.stream()
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
List<SalaryAcctEmployeePO> salaryAcctEmpList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(salaryAcctEmpIds)) {
salaryAcctEmpList = getSalaryAcctEmployeeService(user).listByIds(salaryAcctEmpIds);
}
// 分权
if (!isChief) {
List<String> finalCanManageFrzt = canManageFrzt;
List<Long> salaryAcctEmpIdsByfrzt = acctResultList.stream()
.filter(result -> finalCanManageFrzt.contains(result.getResultValue()))
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
// 获取当前用户能够查看哪些分部的数据
List<Long> 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<String> canManageFrzt = getLySalaryReportService(user).getCanManageFrztByUid(user);
if (CollectionUtils.isNotEmpty(param.getFycdgsqc())) {
canManageFrzt = canManageFrzt.stream().filter(param.getFycdgsqc()::contains).collect(Collectors.toList());
}
List<SalaryAcctResultPO> acctResultList = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(salaryAcctRecordIds, Collections.singletonList(ffgsqcItemId));
// 获取薪资核算人员
List<String> finalCanManageFrzt = canManageFrzt;
List<Long> 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<Long> salaryAcctEmpIds = acctResultList.stream()
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
List<SalaryAcctEmployeePO> salaryAcctEmpList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(salaryAcctEmpIds)) {
salaryAcctEmpList = getSalaryAcctEmployeeService(user).listByIds(salaryAcctEmpIds);
}
// 分权
if (!isChief) {
List<String> finalCanManageFrzt = canManageFrzt;
List<Long> salaryAcctEmpIdsByfrzt = acctResultList.stream()
.filter(result -> finalCanManageFrzt.contains(result.getResultValue()))
.map(SalaryAcctResultPO::getSalaryAcctEmpId)
.collect(Collectors.toList());
// 获取当前用户能够查看哪些分部的数据
List<Long> 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