薪资项目和社保福利方案分权

This commit is contained in:
钱涛 2023-02-21 17:02:39 +08:00
parent 187e60ec15
commit eac70e7cde
2 changed files with 26 additions and 23 deletions

View File

@ -197,17 +197,23 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
Boolean needAuth = getTaxAgentService().isNeedAuth(currentEmployeeId);
if (needAuth) {
insuranceSchemePOS = getInsuranceSchemeMapper().listByWelfareType(queryParam.getWelfareTypeEnum().getValue());
//分权
Collection<TaxAgentPO> taxAgentPOS = getTaxAgentService().listAllTaxAgents(currentEmployeeId);
List<Long> authTaxAgentIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId, Collectors.toList());
insuranceSchemePOS = insuranceSchemePOS.stream().filter(po -> {
String taxAgentIdsStr = po.getTaxAgentIds();
List<Long> taxAgentIds = new ArrayList<>();
if (StringUtils.isNotBlank(taxAgentIdsStr)) {
taxAgentIds = Arrays.stream(taxAgentIdsStr.split(",")).map(Long::valueOf).collect(Collectors.toList());
}
return StringUtils.isBlank(po.getSharedType()) || SharedTypeEnum.PUBLIC.getValue().equals(po.getSharedType()) || (SharedTypeEnum.PRIVATE.getValue().equals(po.getSharedType()) && SalaryEntityUtil.judgeIntersection(authTaxAgentIds, taxAgentIds));
}).collect(Collectors.toList());
Boolean isAdminEnable = getTaxAgentService().isAdminEnable((long) user.getUID());
if (isAdminEnable) {
//管理员
Collection<TaxAgentPO> taxAgentPOS = getTaxAgentService().listAllTaxAgents(currentEmployeeId);
List<Long> authTaxAgentIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId, Collectors.toList());
insuranceSchemePOS = insuranceSchemePOS.stream().filter(po -> {
String taxAgentIdsStr = po.getTaxAgentIds();
List<Long> taxAgentIds = new ArrayList<>();
if (StringUtils.isNotBlank(taxAgentIdsStr)) {
taxAgentIds = Arrays.stream(taxAgentIdsStr.split(",")).map(Long::valueOf).collect(Collectors.toList());
}
return StringUtils.isBlank(po.getSharedType()) || SharedTypeEnum.PUBLIC.getValue().equals(po.getSharedType()) || (SharedTypeEnum.PRIVATE.getValue().equals(po.getSharedType()) && SalaryEntityUtil.judgeIntersection(authTaxAgentIds, taxAgentIds));
}).collect(Collectors.toList());
} else {
//普通用户
insuranceSchemePOS = new ArrayList<>();
}
} else {
insuranceSchemePOS = getInsuranceSchemeMapper().listByWelfareType(queryParam.getWelfareTypeEnum().getValue());
}
@ -961,7 +967,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
errorMessageMap.put("message", rowIndex + SalaryI18nUtil.getI18nLabel(100322, "社保方案已设置,但未设置社保起始缴纳时间!"));
excelComments.add(errorMessageMap);
isError = true;
}else {
} else {
insuranceArchivesSocialSchemePO = buildSocialPO(employeeId, welfareMap, singleAccount, schemeNameIdMap, paymentNameIdMap, creator);
}
if (StringUtils.isNotBlank((String) fundMap.get(SalaryI18nUtil.getI18nLabel(91485, "公积金方案名称"))) && schemeNameIdMap.get((String) fundMap.get(SalaryI18nUtil.getI18nLabel(91485, "公积金方案名称"))) == null) {
@ -1341,6 +1347,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
/**
* 校验待新增的社保福利档案数据
*
* @param siArchiveImportActionParam
* @return
*/
@ -1352,6 +1359,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
/**
* 新增社保福利档案
*
* @param siArchiveImportActionParam
* @return
*/
@ -1410,8 +1418,8 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
// 表头
List<String> headers = new ArrayList<>();
if (param.getImportDatas().size() > 0) {
Map<String,Object> getHeadersMap = param.getImportDatas().get(0);
for (Map.Entry<String,Object> entry : getHeadersMap.entrySet()){
Map<String, Object> getHeadersMap = param.getImportDatas().get(0);
for (Map.Entry<String, Object> entry : getHeadersMap.entrySet()) {
headers.add(entry.getKey());
}
} else {

View File

@ -123,23 +123,18 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService
@Override
public PageInfo<SalaryItemPO> listPageByParam(SalaryItemSearchParam searchParam) {
Boolean needAuth = getTaxAgentService(user).isNeedAuth((long) user.getUID());
Boolean isChief = getTaxAgentService(user).isChief((long) user.getUID());
Boolean isAdminEnable = getTaxAgentService(user).isAdminEnable((long) user.getUID());
List<SalaryItemPO> salaryItemPOS = salaryItemBiz.listByParam(searchParam);
if (needAuth) {
//总管理员
//管理员
if (!isChief && isAdminEnable) {
if (isAdminEnable) {
//管理员
Set<Long> userTaxAgentIds = getTaxAgentService(user).listAllTaxAgents((long) user.getUID())
.stream().map(TaxAgentPO::getId).collect(Collectors.toSet());
salaryItemPOS = salaryItemPOS.stream()
.filter(po -> filterInRange(userTaxAgentIds, po)
).collect(Collectors.toList());
}
//普通用户
if (!isChief && !isAdminEnable) {
} else {
//普通用户
salaryItemPOS = new ArrayList<>();
}
}