From f15fdef375faac273b6f4e3ac13fe3c1eb3bee7f Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Tue, 2 Apr 2024 10:39:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=89=BE=E5=BF=97=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/TaxDeclareRecordServiceImpl.java | 25 ++++++++++++++++++- .../wrapper/EmployeeDeclareWrapper.java | 3 +++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java index 1abf89a82..9d96d22ff 100644 --- a/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java @@ -2,12 +2,12 @@ package com.engine.salary.service.impl; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; +import com.engine.hrmelog.entity.dto.LoggerContext; import com.engine.salary.common.LocalDateRange; import com.engine.salary.common.YearMonthRange; import com.engine.salary.config.SalaryElogConfig; import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.constant.SzyhApiConstant; -import com.engine.hrmelog.entity.dto.LoggerContext; import com.engine.salary.entity.datacollection.AddUpSituation; import com.engine.salary.entity.employeedeclare.bo.EmployeeDeclareRequest; import com.engine.salary.entity.employeedeclare.po.EmployeeDeclarePO; @@ -988,6 +988,29 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe Map>> map = new HashMap<>(); List list = getTaxDeclarationService(user).listByTaxDeclareRecordId(id); list.stream().map(TaxDeclarationPO::getIncomeCategory).map(IncomeCategoryEnum::parseByValue).forEach(e -> e.parseGetDeclareTaxResultFeedbackResponse(map, declareTaxResultFeedbackResponse)); + // 艾志分权 + List taxAgentIds = getTaxAgentService(user).listAllTaxAgentsAsAdmin(Long.valueOf(user.getUID())).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); + if (!taxAgentIds.contains(taxDeclareRecord.getTaxAgentId())) { + Map authMap = getEmployeeDeclareService(user).empIdsByAzGssbAuth(user.getUID()); + List canManageEmpIds = (List)authMap.get("canManageEmpIds"); + // 获取这些人在人员信息报送中的证件号码 + List employeeDeclareList = getEmployeeDeclareService(user).listByTaxCycleAndTaxAgentId(taxDeclareRecord.getTaxCycle(), taxDeclareRecord.getTaxAgentId()); + List canManageCardNum = employeeDeclareList.stream().filter(declare -> canManageEmpIds.contains(declare.getEmployeeId())).map(EmployeeDeclarePO::getCardNum).collect(Collectors.toList()); + for (Map.Entry>> entry : map.entrySet()) { + List> valueList = entry.getValue(); + List> newvalueList = new ArrayList<>(); + newvalueList.add(valueList.get(0)); + for (int i =1; i value = valueList.get(i); + String cardNum = Util.null2String(value.get(2)); + if (canManageCardNum.contains(cardNum)) { + newvalueList.add(value); + } + } + map.put(entry.getKey(), newvalueList); + } + } + return ExcelUtil.genWorkbookV2(map); } diff --git a/src/com/engine/salary/wrapper/EmployeeDeclareWrapper.java b/src/com/engine/salary/wrapper/EmployeeDeclareWrapper.java index 37db25dd8..46079033d 100644 --- a/src/com/engine/salary/wrapper/EmployeeDeclareWrapper.java +++ b/src/com/engine/salary/wrapper/EmployeeDeclareWrapper.java @@ -135,6 +135,9 @@ public class EmployeeDeclareWrapper extends Service { Map authMap = getEmployeeDeclareService(user).empIdsByAzGssbAuth(user.getUID()); List canManageEmpIds = (List)authMap.get("canManageEmpIds"); boolean canOperate = (Boolean) authMap.get("canOperate"); + if (taxAgentIds.contains(queryParam.getTaxAgentId())) { + canOperate = true; + } employeeDeclarePOS = employeeDeclarePOS.stream().filter(po -> taxAgentIds.contains(po.getTaxAgentId()) || canManageEmpIds.contains(po.getEmployeeId())).collect(Collectors.toList()); pageInfo.setTotal(employeeDeclarePOS.size()); employeeDeclarePOS = SalaryPageUtil.subList(queryParam.getCurrent(), queryParam.getPageSize(), employeeDeclarePOS);