From 7a58e92fc7372ec86f3523a09f22ad8373ade176 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 15 Jan 2025 16:11:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=B8=BB=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OtherDeductionServiceImpl.java | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java b/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java index c27802d5f..a5a76dd77 100644 --- a/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java +++ b/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java @@ -2232,9 +2232,51 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction public XSSFWorkbook downloadDetailTemplate(OtherDeductionQueryParam param) { + List freeIncomeList= new ArrayList<>(); + List endowmentInsurancePOS =new ArrayList<>(); + List grantDonationPOS =new ArrayList<>(); + List healthInsurancePOS =new ArrayList<>(); + List otherDerateDeductionPOS =new ArrayList<>(); + List derateDeductionPOS =new ArrayList<>(); + List personalPensionPOS =new ArrayList<>(); + if (param.isHasData()) { + long employeeId = user.getUID(); + //排序配置 + OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); + param.setOrderRule(orderRule); + + List list = getOtherDeductionMapper().list(param); + encryptUtil.decryptList(list, OtherDeductionListDTO.class); + SalaryI18nUtil.i18nList(list); + // 开启分权并且不是薪酬模块总管理员 + if (getTaxAgentService(user).isOpenDevolution() && !getTaxAgentService(user).isChief(employeeId)) { + List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); + list = list.stream().filter(f -> + // 作为管理员 + taxAgentIdsAsAdmin.contains(f.getTaxAgentId()) + ).collect(Collectors.toList()); + } + list.forEach(dto -> { + freeIncomeList.addAll(getFreeIncomeMapper().listSome(FreeIncomePO.builder().mainId(dto.getId()).build())); + endowmentInsurancePOS.addAll(getEndowmentInsuranceMapper().listSome(EndowmentInsurancePO.builder().mainId(dto.getId()).build())); + grantDonationPOS.addAll( getGrantDonationMapper().listSome(GrantDonationPO.builder().mainId(dto.getId()).build())); + healthInsurancePOS.addAll( getHealthInsuranceMapper().listSome(HealthInsurancePO.builder().mainId(dto.getId()).build())); + otherDerateDeductionPOS.addAll(getOtherDerateDeductionMapper().listSome(OtherDerateDeductionPO.builder().mainId(dto.getId()).build())); + derateDeductionPOS.addAll(getDerateDeductionMapper().listSome(DerateDeductionPO.builder().mainId(dto.getId()).build())); + personalPensionPOS.addAll(getPersonalPensionMapper().listSome(PersonalPensionPO.builder().mainId(dto.getId()).build())); + }); + } + + + Map>> map = new LinkedHashMap<>(); List freeIncomeTitle = Arrays.asList("姓名", "个税扣缴义务人", "部门", "手机号", "工号", "证件号码", "免税事项", "免税性质", "免税金额"); + List> freeIncomeRowList = new ArrayList<>(); + freeIncomeList.forEach(po->{ + List row = new ArrayList<>(); + row.add(Util.null2String(po.get())); + }); map.put("免税收入", Arrays.asList(freeIncomeTitle)); List healthInsuranceTitle = Arrays.asList("姓名", "个税扣缴义务人", "部门", "手机号", "工号", "证件号码", "税优识别码", "保单生效日期", "年度保费", "月度保费", "本期扣除金额"); map.put("商业健康保险", Arrays.asList(healthInsuranceTitle)); @@ -2249,7 +2291,6 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction List personalPensionTitle = Arrays.asList("姓名", "个税扣缴义务人", "部门", "手机号", "工号", "证件号码", "凭证类型", "凭证编码", "缴费金额"); map.put("个人养老金", Arrays.asList(personalPensionTitle)); - XSSFWorkbook book = ExcelUtil.genWorkbookV2(map); return book; }