diff --git a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java index 6787c509b..49e7792c9 100644 --- a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java +++ b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java @@ -343,12 +343,6 @@ public class TaxDeclarationBO { Long employeeId = Long.parseLong(keyArray[1]); Map valueMap = Maps.newHashMapWithExpectedSize(7); Map> resultMap = SalaryEntityUtil.group2Map(salaryAcctResultPOS, SalaryAcctResultPO::getSalaryItemId); - // 所得项目 - String incomeItems = resultMap.getOrDefault(salaryItemMap.getOrDefault(TaxDeclarationDataIndexConstant.INCOME_ITEMS, 0L), Collections.emptyList()).stream() - .map(SalaryAcctResultPO::getResultValue) - .findAny() - .orElse(StringUtils.EMPTY); - valueMap.put(TaxDeclarationDataIndexConstant.INCOME_ITEMS, incomeItems); // 全年一次性奖金额 BigDecimal laborIncome = findValue(TaxDeclarationDataIndexConstant.ANNUAL_INCOME, resultMap, salaryItemMap); valueMap.put(TaxDeclarationDataIndexConstant.ANNUAL_INCOME, laborIncome.toPlainString()); diff --git a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationDetailBO.java b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationDetailBO.java index c7ed2dbb6..cf6b473aa 100644 --- a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationDetailBO.java +++ b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationDetailBO.java @@ -135,7 +135,7 @@ public class TaxDeclarationDetailBO { } /** - * 转换成个税申报表详情列表(劳务报酬所得) + * 转换成个税申报表详情列表(年终奖) * * @param taxDeclarationDetailPOS * @param simpleEmployees @@ -158,7 +158,6 @@ public class TaxDeclarationDetailBO { .setId(dto.getEmployeeId()) .setEmployeeId(dto.getEmployeeId()) .setCardType(SalaryI18nUtil.getI18nLabel(105564, "居民身份证")) - .setIncomeItems(fieldCodeKeyFieldValueMap.get(TaxDeclarationDataIndexConstant.INCOME_ITEMS)) .setAnnualIncome(fieldCodeKeyFieldValueMap.get(TaxDeclarationDataIndexConstant.ANNUAL_INCOME)) .setAnnualTaxFreeIncome(fieldCodeKeyFieldValueMap.get(TaxDeclarationDataIndexConstant.ANNUAL_TAX_FREE_INCOME)) .setAnnualOther(fieldCodeKeyFieldValueMap.get(TaxDeclarationDataIndexConstant.ANNUAL_OTHER)) diff --git a/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationAnnualListDTO.java b/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationAnnualListDTO.java index feef48580..75b1b3191 100644 --- a/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationAnnualListDTO.java +++ b/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationAnnualListDTO.java @@ -52,15 +52,9 @@ public class TaxDeclarationAnnualListDTO { private String cardNum; @SalaryTableColumn( - text = "所得项目", width = "10%", column = "incomeItems" + text = "全年一次性奖金额", width = "10%", column = "annualIncome" ) - @TableTitle(title ="所得项目",dataIndex = "incomeItems",key = "incomeItems") - private String incomeItems; - - @SalaryTableColumn( - text = "年终奖收入", width = "10%", column = "annualIncome" - ) - @TableTitle(title ="年终奖收入",dataIndex = "annualIncome",key = "annualIncome") + @TableTitle(title ="全年一次性奖金额",dataIndex = "annualIncome",key = "annualIncome") private String annualIncome; @SalaryTableColumn( diff --git a/src/com/engine/salary/service/impl/TaxDeclarationExcelServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclarationExcelServiceImpl.java index 35fc7ff11..957957790 100644 --- a/src/com/engine/salary/service/impl/TaxDeclarationExcelServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclarationExcelServiceImpl.java @@ -3,6 +3,7 @@ package com.engine.salary.service.impl; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.annotation.SalaryTableColumn; +import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationAnnualListDTO; import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationLaborListDTO; import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationWageListDTO; import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailListQueryParam; @@ -107,6 +108,28 @@ public class TaxDeclarationExcelServiceImpl extends Service implements TaxDeclar } } } + + if (Objects.equals(taxDeclarationPO.getIncomeCategory(), IncomeCategoryEnum.ONETIME_ANNUAL_BONUS.getValue())) { + // 解析表头 + parseHeader(TaxDeclarationAnnualListDTO.class, headerList, dataIndexList); + rows.add(headerList); + for (int i = 0; i < totalPages; i++) { + TaxDeclarationDetailListQueryParam queryParam = new TaxDeclarationDetailListQueryParam(); + queryParam.setTaxDeclarationId(taxDeclarationId); + queryParam.setCurrent(i); + queryParam.setPageSize(1000); + PageInfo dtoPage = getTaxDeclarationDetailService(user).listDtoPageByParam4Annual(queryParam); + List list = dtoPage.getList(); + for (TaxDeclarationAnnualListDTO taxDeclarationLaborListDTO : list) { + List row = Lists.newArrayListWithExpectedSize(dataIndexList.size()); + Map map = JsonUtil.parseMap(taxDeclarationLaborListDTO, Object.class); + for (String dataIndex : dataIndexList) { + row.add(map.get(dataIndex)); + } + rows.add(row); + } + } + } return ExcelUtil.genWorkbookV2(rows, sheetName); } diff --git a/src/com/engine/salary/util/page/SalaryPageUtil.java b/src/com/engine/salary/util/page/SalaryPageUtil.java index 58bca7ddf..fa9637937 100644 --- a/src/com/engine/salary/util/page/SalaryPageUtil.java +++ b/src/com/engine/salary/util/page/SalaryPageUtil.java @@ -68,10 +68,12 @@ public class SalaryPageUtil { * @param 范型制定类 * @return */ - public static List subList(int pageNo, int pageSize, List source) { + public static List subList(Integer pageNo, Integer pageSize, List source) { if (CollectionUtils.isEmpty(source)) { return Collections.emptyList(); } + pageNo = pageNo == null || pageNo <= 0 ? 1 : pageNo; + pageSize = pageSize == null || pageSize <= 0 ? 10 : pageSize; int endIndex = pageNo * pageSize; int startIndex = (pageNo - 1) * pageSize; startIndex = startIndex < 0 ? 0 : startIndex;