This commit is contained in:
parent
9e416123dd
commit
2f2727c4b9
|
|
@ -2,7 +2,6 @@ package com.engine.salary.entity.taxdeclaration.param;
|
|||
|
||||
import com.engine.salary.common.BaseQueryParam;
|
||||
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
|
|
@ -14,7 +13,6 @@ import lombok.Data;
|
|||
* @version 1.0
|
||||
**/
|
||||
@Data
|
||||
@ApiModel("个税申报表记录列表查询参数")
|
||||
public class TaxDeclarationValueListQueryParam extends BaseQueryParam {
|
||||
|
||||
//个税申报记录id")
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package com.engine.salary.service;
|
||||
|
||||
import com.engine.salary.entity.taxdeclaration.param.AbnormalEmployeeListQueryParam;
|
||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationValueListQueryParam;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
/**
|
||||
|
|
@ -15,7 +17,32 @@ public interface TaxDeclarationExcelService {
|
|||
/**
|
||||
* 导出个税申报表
|
||||
*
|
||||
* @param taxDeclarationId
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
XSSFWorkbook exportTaxDeclaration(Long taxDeclarationId);
|
||||
XSSFWorkbook exportTaxDeclarationValue(TaxDeclarationValueListQueryParam queryParam);
|
||||
|
||||
/**
|
||||
* 导出未报送的人员
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
XSSFWorkbook exportEmployee4NotDeclare(AbnormalEmployeeListQueryParam queryParam);
|
||||
|
||||
/**
|
||||
* 导出缺少申报数据的人员
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
XSSFWorkbook exportEmployee4NoValue(AbnormalEmployeeListQueryParam queryParam);
|
||||
|
||||
/**
|
||||
* 导出申报失败的人员
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
XSSFWorkbook exportEmployee4Fail(AbnormalEmployeeListQueryParam queryParam);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +1,30 @@
|
|||
package com.engine.salary.service.impl;
|
||||
|
||||
import com.cloudstore.eccom.pc.table.WeaTableColumn;
|
||||
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;
|
||||
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
||||
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
|
||||
import com.engine.salary.mapper.taxdeclaration.TaxDeclarationDetailMapper;
|
||||
import com.engine.salary.service.TaxDeclarationDetailService;
|
||||
import com.engine.salary.service.TaxDeclarationExcelService;
|
||||
import com.engine.salary.service.TaxDeclarationService;
|
||||
import com.engine.salary.entity.taxdeclaration.dto.AbnormalEmployeeListDTO;
|
||||
import com.engine.salary.entity.taxdeclaration.dto.FailEmployeeListDTO;
|
||||
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationValueListDTO;
|
||||
import com.engine.salary.entity.taxdeclaration.param.AbnormalEmployeeListQueryParam;
|
||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationValueListQueryParam;
|
||||
import com.engine.salary.entity.taxdeclaration.po.*;
|
||||
import com.engine.salary.service.*;
|
||||
import com.engine.salary.util.JsonUtil;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.excel.ExcelSheetData;
|
||||
import com.engine.salary.util.excel.ExcelUtil;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 个税申报表导出
|
||||
|
|
@ -39,101 +37,126 @@ import java.util.Objects;
|
|||
@Slf4j
|
||||
public class TaxDeclarationExcelServiceImpl extends Service implements TaxDeclarationExcelService {
|
||||
|
||||
private TaxDeclarationDetailService getTaxDeclarationDetailService(User user) {
|
||||
return ServiceUtil.getService(TaxDeclarationDetailServiceImpl.class, user);
|
||||
}
|
||||
private TaxDeclarationDetailMapper getTaxDeclarationDetailMapper() {
|
||||
return MapperProxyFactory.getProxy(TaxDeclarationDetailMapper.class);
|
||||
}
|
||||
private TaxDeclarationService getTaxDeclarationService(User user) {
|
||||
return ServiceUtil.getService(TaxDeclarationServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private TaxDeclarationValueService getTaxDeclarationValueService(User user) {
|
||||
return ServiceUtil.getService(TaxDeclarationValueServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private TaxDeclareRecordService getTaxDeclareRecordService(User user) {
|
||||
return ServiceUtil.getService(TaxDeclareRecordServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private TaxDeclareEmployeeService getTaxDeclareEmployeeService(User user) {
|
||||
return ServiceUtil.getService(TaxDeclareEmployeeServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private TaxDeclareFailService getTaxDeclareFailService(User user) {
|
||||
return ServiceUtil.getService(TaxDeclareFailServiceImpl.class, user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public XSSFWorkbook exportTaxDeclarationValue(TaxDeclarationValueListQueryParam queryParam) {
|
||||
// 查询个税申报表
|
||||
TaxDeclarationPO taxDeclarationPO = getTaxDeclarationService(user).getById(queryParam.getTaxDeclarationId());
|
||||
// 查询个税申报表明细
|
||||
List<TaxDeclarationValuePO> taxDeclarationValues = getTaxDeclarationValueService(user).listByTaxDeclarationIds(Collections.singleton(queryParam.getTaxDeclarationId()));
|
||||
// 转成个税申报表明细
|
||||
TaxDeclarationValueListDTO taxDeclarationValueListDTO = getTaxDeclarationValueService(user).convert2List(taxDeclarationPO, taxDeclarationValues);
|
||||
// excel导出的数据
|
||||
List<List<String>> rows = Lists.newArrayList();
|
||||
List<String> headerList = Lists.newArrayList();
|
||||
List<String> dataIndexList = Lists.newArrayList();
|
||||
|
||||
// 解析表头
|
||||
for (WeaTableColumn column : taxDeclarationValueListDTO.getColumns()) {
|
||||
headerList.add(column.getText());
|
||||
dataIndexList.add(column.getColumn());
|
||||
}
|
||||
|
||||
rows.add(headerList);
|
||||
// 解析表中数据
|
||||
for (Map<String, Object> datum : taxDeclarationValueListDTO.getData()) {
|
||||
List<String> row = Lists.newArrayList();
|
||||
for (String dataIndex : dataIndexList) {
|
||||
row.add(Util.null2String(datum.get(dataIndex)));
|
||||
}
|
||||
rows.add(row);
|
||||
}
|
||||
|
||||
String sheetName = SalaryI18nUtil.getI18nLabel(100090, "个税申报表");
|
||||
|
||||
return ExcelUtil.genWorkbook(rows, sheetName);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public XSSFWorkbook exportTaxDeclaration(Long taxDeclarationId) {
|
||||
// 1.工作簿名称
|
||||
String sheetName = SalaryI18nUtil.getI18nLabel(85368, "个税申报表");
|
||||
|
||||
|
||||
TaxDeclarationPO taxDeclarationPO = getTaxDeclarationService(user).getById(taxDeclarationId);
|
||||
// 查询当前个税申报表一共有多少人员
|
||||
int count = getTaxDeclarationDetailMapper().countEmployeeId(taxDeclarationId);
|
||||
// 以1000个人员一页,一共有多少页
|
||||
int totalPages = (count % 1000 == 0) ? (count / 1000) : (count / 1000 + 1); //总页数
|
||||
// excel导出的数据
|
||||
List<List<Object>> rows = Lists.newArrayListWithExpectedSize(count);
|
||||
List<Object> headerList = Lists.newArrayList();
|
||||
List<String> dataIndexList = Lists.newArrayList();
|
||||
if (Objects.equals(taxDeclarationPO.getIncomeCategory(), IncomeCategoryEnum.WAGES_AND_SALARIES.getValue())) {
|
||||
// 解析表头
|
||||
parseHeader(TaxDeclarationWageListDTO.class, headerList, dataIndexList);
|
||||
rows.add(headerList);
|
||||
for (int i = 0; i < totalPages; i++) {
|
||||
TaxDeclarationDetailListQueryParam queryParam = new TaxDeclarationDetailListQueryParam();
|
||||
queryParam.setTaxDeclarationId(taxDeclarationId);
|
||||
queryParam.setCurrent(i+1);
|
||||
queryParam.setPageSize(1000);
|
||||
PageInfo<TaxDeclarationWageListDTO> dtoPage = getTaxDeclarationDetailService(user).listDtoPageByParam4Wage(queryParam);
|
||||
List<TaxDeclarationWageListDTO> list = dtoPage.getList();
|
||||
for (TaxDeclarationWageListDTO taxDeclarationWageListDTO : list) {
|
||||
List<Object> row = Lists.newArrayListWithExpectedSize(dataIndexList.size());
|
||||
Map<String, Object> map = JsonUtil.parseMap(taxDeclarationWageListDTO, Object.class);
|
||||
for (String dataIndex : dataIndexList) {
|
||||
row.add(map.get(dataIndex));
|
||||
}
|
||||
rows.add(row);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Objects.equals(taxDeclarationPO.getIncomeCategory(), IncomeCategoryEnum.REMUNERATION_FOR_LABOR.getValue())) {
|
||||
// 解析表头
|
||||
parseHeader(TaxDeclarationLaborListDTO.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<TaxDeclarationLaborListDTO> dtoPage = getTaxDeclarationDetailService(user).listDtoPageByParam4Labor(queryParam);
|
||||
List<TaxDeclarationLaborListDTO> list = dtoPage.getList();
|
||||
for (TaxDeclarationLaborListDTO taxDeclarationLaborListDTO : list) {
|
||||
List<Object> row = Lists.newArrayListWithExpectedSize(dataIndexList.size());
|
||||
Map<String, Object> map = JsonUtil.parseMap(taxDeclarationLaborListDTO, Object.class);
|
||||
for (String dataIndex : dataIndexList) {
|
||||
row.add(map.get(dataIndex));
|
||||
}
|
||||
rows.add(row);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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<TaxDeclarationAnnualListDTO> dtoPage = getTaxDeclarationDetailService(user).listDtoPageByParam4Annual(queryParam);
|
||||
List<TaxDeclarationAnnualListDTO> list = dtoPage.getList();
|
||||
for (TaxDeclarationAnnualListDTO taxDeclarationLaborListDTO : list) {
|
||||
List<Object> row = Lists.newArrayListWithExpectedSize(dataIndexList.size());
|
||||
Map<String, Object> map = JsonUtil.parseMap(taxDeclarationLaborListDTO, Object.class);
|
||||
for (String dataIndex : dataIndexList) {
|
||||
row.add(map.get(dataIndex));
|
||||
}
|
||||
rows.add(row);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ExcelUtil.genWorkbookV2(rows, sheetName);
|
||||
public XSSFWorkbook exportEmployee4NotDeclare(AbnormalEmployeeListQueryParam queryParam) {
|
||||
// 查询个税申报记录
|
||||
TaxDeclareRecordPO taxDeclareRecord = getTaxDeclareRecordService(user).getById(queryParam.getTaxDeclareRecordId());
|
||||
queryParam.setTaxAgentId(taxDeclareRecord.getTaxAgentId());
|
||||
queryParam.setTaxCycle(taxDeclareRecord.getTaxCycle());
|
||||
// 查询个税申报表明细中的人员
|
||||
List<TaxDeclareEmployeePO> taxDeclareEmployees = getTaxDeclareEmployeeService(user).list4NotDeclareByParam(queryParam);
|
||||
// 转换成列表dto
|
||||
List<AbnormalEmployeeListDTO> dtoList = getTaxDeclareEmployeeService(user).convert2AbnormalEmployeeList(taxDeclareRecord, taxDeclareEmployees);
|
||||
ExcelSheetData excelSheetData = getExcelSheetData(AbnormalEmployeeListDTO.class, dtoList);
|
||||
return ExcelUtil.genWorkbook(excelSheetData);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public XSSFWorkbook exportEmployee4NoValue(AbnormalEmployeeListQueryParam queryParam) {
|
||||
// 查询个税申报记录
|
||||
TaxDeclareRecordPO taxDeclareRecord = getTaxDeclareRecordService(user).getById(queryParam.getTaxDeclareRecordId());
|
||||
queryParam.setTaxAgentId(taxDeclareRecord.getTaxAgentId());
|
||||
queryParam.setTaxCycle(taxDeclareRecord.getTaxCycle());
|
||||
// 查询个税申报表明细中的人员
|
||||
List<TaxDeclareEmployeePO> taxDeclareEmployees = getTaxDeclareEmployeeService(user).list4NoValueByParam(queryParam);
|
||||
// 转换成列表dto
|
||||
List<AbnormalEmployeeListDTO> dtoList = getTaxDeclareEmployeeService(user).convert2AbnormalEmployeeList(taxDeclareRecord, taxDeclareEmployees);
|
||||
ExcelSheetData excelSheetData = getExcelSheetData(AbnormalEmployeeListDTO.class, dtoList);
|
||||
|
||||
return ExcelUtil.genWorkbook(excelSheetData);
|
||||
}
|
||||
|
||||
@Override
|
||||
public XSSFWorkbook exportEmployee4Fail(AbnormalEmployeeListQueryParam queryParam) {
|
||||
// 查询个税申报记录
|
||||
TaxDeclareRecordPO taxDeclareRecord = getTaxDeclareRecordService(user).getById(queryParam.getTaxDeclareRecordId());
|
||||
queryParam.setTaxAgentId(taxDeclareRecord.getTaxAgentId());
|
||||
queryParam.setTaxCycle(taxDeclareRecord.getTaxCycle());
|
||||
// 查询个税申报表明细中的人员
|
||||
List<TaxDeclareFailPO> taxDeclareFails = getTaxDeclareFailService(user).listByTaxDeclareRecordIds(Collections.singleton(taxDeclareRecord.getId()));
|
||||
// 转换成列表dto
|
||||
List<FailEmployeeListDTO> dtoList = getTaxDeclareFailService(user).convert2FailEmployeeList(taxDeclareRecord, taxDeclareFails);
|
||||
ExcelSheetData excelSheetData = getExcelSheetData(FailEmployeeListDTO.class, dtoList);
|
||||
return ExcelUtil.genWorkbook(excelSheetData);
|
||||
}
|
||||
|
||||
private <T> ExcelSheetData getExcelSheetData(Class<T> clazz, List<T> dtoList) {
|
||||
// 导出的表头
|
||||
List<String> headerList = Lists.newArrayList();
|
||||
List<String> dataIndexList = Lists.newArrayList();
|
||||
parseHeader(clazz, headerList, dataIndexList);
|
||||
// 导出的数据
|
||||
List<List<Object>> rows = Lists.newArrayListWithExpectedSize(dtoList.size());
|
||||
dtoList.forEach(dto -> {
|
||||
Map<String, Object> map = JsonUtil.parseMap(dto, Object.class);
|
||||
List<Object> row = Lists.newArrayListWithExpectedSize(dataIndexList.size());
|
||||
dataIndexList.forEach(dataIndex -> row.add(map.get(dataIndex)));
|
||||
rows.add(row);
|
||||
});
|
||||
// 组装excel导出数据
|
||||
ExcelSheetData excelSheetData = new ExcelSheetData();
|
||||
excelSheetData.setSheetName(SalaryI18nUtil.getI18nLabel(156423, "个税申报表人员"));
|
||||
excelSheetData.setHeaders(headerList);
|
||||
excelSheetData.setRows(rows);
|
||||
return excelSheetData;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析表头
|
||||
*
|
||||
|
|
@ -142,14 +165,14 @@ public class TaxDeclarationExcelServiceImpl extends Service implements TaxDeclar
|
|||
* @param dataIndexList
|
||||
* @param <T>
|
||||
*/
|
||||
private <T> void parseHeader(Class<T> clazz, List<Object> headerList, List<String> dataIndexList) {
|
||||
private <T> void parseHeader(Class<T> clazz, List<String> headerList, List<String> dataIndexList) {
|
||||
Field[] declaredFields = clazz.getDeclaredFields();
|
||||
for (Field declaredField : declaredFields) {
|
||||
if (!declaredField.isAnnotationPresent(SalaryTableColumn.class)) {
|
||||
continue;
|
||||
}
|
||||
SalaryTableColumn annotation = declaredField.getAnnotation(SalaryTableColumn.class);
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel( annotation.labelId(), annotation.text()));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel((int) annotation.labelId(), annotation.text()));
|
||||
dataIndexList.add(declaredField.getName());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
package com.engine.salary.util.excel;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ExcelSheetData {
|
||||
|
||||
private String sheetName;
|
||||
private List<String> headers;
|
||||
private List<List<Object>> rows;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -9,7 +9,7 @@ import org.apache.poi.ss.usermodel.IndexedColors;
|
|||
import org.apache.poi.xssf.usermodel.*;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.Date;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
|
||||
public class ExcelUtil {
|
||||
|
|
@ -266,4 +266,11 @@ public class ExcelUtil {
|
|||
}
|
||||
return workbook;
|
||||
}
|
||||
|
||||
public static XSSFWorkbook genWorkbook(ExcelSheetData excelSheetData) {
|
||||
List<List<Object>> list = new ArrayList<>();
|
||||
list.add(Collections.singletonList(excelSheetData.getHeaders()));
|
||||
list.addAll( excelSheetData.getRows());
|
||||
return genWorkbookV2(list, excelSheetData.getSheetName());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,17 +3,22 @@ package com.engine.salary.web;
|
|||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.entity.taxdeclaration.dto.*;
|
||||
import com.engine.salary.entity.taxdeclaration.param.*;
|
||||
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
|
||||
import com.engine.salary.service.TaxDeclarationExcelService;
|
||||
import com.engine.salary.service.TaxDeclarationService;
|
||||
import com.engine.salary.service.impl.TaxDeclarationExcelServiceImpl;
|
||||
import com.engine.salary.service.impl.TaxDeclarationServiceImpl;
|
||||
import com.engine.salary.util.ResponseResult;
|
||||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.wrapper.TaxDeclarationDetailWrapper;
|
||||
import com.engine.salary.wrapper.TaxDeclarationWrapper;
|
||||
import com.engine.salary.wrapper.TaxDeclareRecordWrapper;
|
||||
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import weaver.hrm.HrmUserVarify;
|
||||
import weaver.hrm.User;
|
||||
|
||||
|
|
@ -22,6 +27,11 @@ import javax.servlet.http.HttpServletResponse;
|
|||
import javax.ws.rs.*;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
import javax.ws.rs.core.StreamingOutput;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -51,93 +61,6 @@ public class TaxDeclarationController {
|
|||
}
|
||||
|
||||
|
||||
// //个税申报表列表
|
||||
// @POST
|
||||
// @Path("/list")
|
||||
// @Produces(MediaType.APPLICATION_JSON)
|
||||
// public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationListQueryParam queryParam) throws ParseException {
|
||||
// User user = HrmUserVarify.getUser(request, response);
|
||||
// queryParam.setFromSalaryMonth(SalaryDateUtil.stringToDate(queryParam.getFromSalaryMonthStr() == null ? "" : queryParam.getFromSalaryMonthStr()));
|
||||
// queryParam.setEndSalaryMonth(SalaryDateUtil.stringToDate(queryParam.getEndSalaryMonthStr() == null ? "" : queryParam.getEndSalaryMonthStr()));
|
||||
// return new ResponseResult<TaxDeclarationListQueryParam, PageInfo<TaxDeclarationListDTO>>(user).run(getTaxDeclarationWrapper(user)::listPage, queryParam);
|
||||
// }
|
||||
//
|
||||
// @POST
|
||||
// @Path("/withDrawTaxDeclaration")
|
||||
// @Produces(MediaType.APPLICATION_JSON)
|
||||
// public String deleteTaxDeclaration(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationSaveParam param) {
|
||||
// User user = HrmUserVarify.getUser(request, response);
|
||||
// return new ResponseResult<Long, String>(user).run(getTaxDeclarationWrapper(user)::withDrawTaxDeclaration, param.getTaxDeclarationId());
|
||||
// }
|
||||
//
|
||||
//
|
||||
// //个税申报表表单
|
||||
// @GET
|
||||
// @Path("/getForm")
|
||||
// @Produces(MediaType.APPLICATION_JSON)
|
||||
// public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id") Long id) {
|
||||
// User user = HrmUserVarify.getUser(request, response);
|
||||
// return new ResponseResult<Long, TaxDeclarationFormDTO>(user).run(getTaxDeclarationWrapper(user)::getForm, id);
|
||||
// }
|
||||
//
|
||||
// //个税申报表相关信息
|
||||
// @GET
|
||||
// @Path("/getTaxDeclarationInfo")
|
||||
// @Produces(MediaType.APPLICATION_JSON)
|
||||
// public String getTaxDeclarationInfo(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "taxDeclarationId") Long taxDeclarationId) {
|
||||
// User user = HrmUserVarify.getUser(request, response);
|
||||
// return new ResponseResult<Long, TaxDeclarationInfoDTO>(user).run(getTaxDeclarationWrapper(user)::getTaxDeclarationInfoById, taxDeclarationId);
|
||||
// }
|
||||
//
|
||||
// //个税申报表生成
|
||||
// @POST
|
||||
// @Path("/save")
|
||||
// @Produces(MediaType.APPLICATION_JSON)
|
||||
// public String save(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationSaveParam param) {
|
||||
// User user = HrmUserVarify.getUser(request, response);
|
||||
// param.setSalaryMonth(SalaryDateUtil.String2YearMonth(param.getSalaryMonthStr()));
|
||||
// return new ResponseResult<TaxDeclarationSaveParam, Long>(user).run(getTaxDeclarationWrapper(user)::save, param);
|
||||
// }
|
||||
//
|
||||
// //个税申报表详情列表
|
||||
// @POST
|
||||
// @Path("/detail/list")
|
||||
// @Produces(MediaType.APPLICATION_JSON)
|
||||
// public String listTaxDeclarationDetail(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationDetailListQueryParam param) {
|
||||
// User user = HrmUserVarify.getUser(request, response);
|
||||
// param.setTaxDeclarationId(Long.parseLong(param.getTaxDeclarationIdStr()));
|
||||
// return new ResponseResult<TaxDeclarationDetailListQueryParam, PageInfo>(user).run(getTaxDeclarationDetailWrapper(user)::listPage, param);
|
||||
// }
|
||||
//
|
||||
// //个税申报表相关信息
|
||||
// @GET
|
||||
// @Path("/export")
|
||||
// @Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
// public Response exportTaxDeclaration(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "taxDeclarationId") Long taxDeclarationId) {
|
||||
// try {
|
||||
// User user = HrmUserVarify.getUser(request, response);
|
||||
// XSSFWorkbook workbook = getTaxDeclarationExcelService(user).exportTaxDeclaration(taxDeclarationId);
|
||||
//
|
||||
// String fileName = "个税申报表" + LocalDate.now();
|
||||
// try {
|
||||
// fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
// } catch (UnsupportedEncodingException e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
//
|
||||
// StreamingOutput output = outputStream -> {
|
||||
// workbook.write(outputStream);
|
||||
// outputStream.flush();
|
||||
// };
|
||||
// response.setContentType("application/octet-stream");
|
||||
// return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build();
|
||||
// } catch (Exception e) {
|
||||
// log.error("个税申报表导出异常", e);
|
||||
// throw e;
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
* 个税申报表列表
|
||||
*
|
||||
|
|
@ -377,20 +300,70 @@ public class TaxDeclarationController {
|
|||
return new ResponseResult<TaxDeclarationValueListQueryParam, PageInfo>(user).run(getTaxDeclareRecordWrapper(user)::listValuePage, queryParam);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 导出个税申报表申报数据
|
||||
// *
|
||||
// * @param queryParam 导出参数
|
||||
// * @return
|
||||
// */
|
||||
// @POST
|
||||
// @Path("/detail/export")
|
||||
// @Produces(MediaType.APPLICATION_JSON)
|
||||
// public String exportTaxDeclaration(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationValueListQueryParam queryParam) {
|
||||
// User user = HrmUserVarify.getUser(request, response);
|
||||
// return new ResponseResult<TaxDeclarationValueListQueryParam, PageInfo>(user).run(getTaxDeclareRecordWrapper(user)::exportTaxDeclarationValue, queryParam);
|
||||
//
|
||||
// }
|
||||
/**
|
||||
* 导出个税申报表申报数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GET
|
||||
@Path("/detail/export")
|
||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
public Response exportDetail(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
|
||||
TaxDeclarationValueListQueryParam queryParam = genTaxDeclarationValueListQueryParam(request);
|
||||
|
||||
try {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
|
||||
XSSFWorkbook workbook = getTaxDeclareRecordWrapper(user).exportTaxDeclarationValue(queryParam);
|
||||
|
||||
String fileName = SalaryI18nUtil.getI18nLabel(156419, "个税申报表明细") + "-" + SalaryDateUtil.getFormatLocalDate(LocalDateTime.now());
|
||||
try {
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
StreamingOutput output = outputStream -> {
|
||||
workbook.write(outputStream);
|
||||
outputStream.flush();
|
||||
};
|
||||
|
||||
response.setContentType("application/octet-stream");
|
||||
return Response.ok(output)
|
||||
.header("Content-disposition", "attachment;filename=" + fileName)
|
||||
.header("Cache-Control", "no-cache").build();
|
||||
} catch (Exception e) {
|
||||
log.error("个税申报表明细导出异常", e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
private TaxDeclarationValueListQueryParam genTaxDeclarationValueListQueryParam(HttpServletRequest request) {
|
||||
TaxDeclarationValueListQueryParam param = new TaxDeclarationValueListQueryParam();
|
||||
String current = request.getParameter("current");
|
||||
if (StringUtils.isNotBlank(current)) {
|
||||
param.setCurrent(Integer.valueOf(current));
|
||||
}
|
||||
String pageSize = request.getParameter("pageSize");
|
||||
if (StringUtils.isNotBlank(pageSize)) {
|
||||
param.setPageSize(Integer.valueOf(pageSize));
|
||||
}
|
||||
String taxDeclareRecordId = request.getParameter("taxDeclareRecordId");
|
||||
if (StringUtils.isNotBlank(taxDeclareRecordId)) {
|
||||
param.setTaxDeclareRecordId(Long.valueOf(taxDeclareRecordId));
|
||||
}
|
||||
String taxDeclarationId = request.getParameter("taxDeclarationId");
|
||||
if (StringUtils.isNotBlank(taxDeclarationId)) {
|
||||
param.setTaxDeclarationId(Long.valueOf(taxDeclarationId));
|
||||
}
|
||||
String incomeCategory = request.getParameter("incomeCategory");
|
||||
if (StringUtils.isNotBlank(incomeCategory)) {
|
||||
param.setIncomeCategory(IncomeCategoryEnum.valueOf(incomeCategory));
|
||||
}
|
||||
return param;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 个税申报表申报数据-人员未报送列表
|
||||
|
|
@ -434,47 +407,146 @@ public class TaxDeclarationController {
|
|||
return new ResponseResult<AbnormalEmployeeListQueryParam, PageInfo<FailEmployeeListDTO>>(user).run(getTaxDeclareRecordWrapper(user)::listEmployeePage4Fail, queryParam);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 个税申报表申报数据-导出人员未报送列表
|
||||
// *
|
||||
// * @param queryParam 查询条件
|
||||
// * @return
|
||||
// */
|
||||
// @POST
|
||||
// @Path("/employee/export4NotDeclare")
|
||||
// @Produces(MediaType.APPLICATION_JSON)
|
||||
// public String exportEmployee4NotDeclare(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AbnormalEmployeeListQueryParam queryParam) {
|
||||
//
|
||||
// Map<String, Object> map = taxDeclareRecordWrapper.exportEmployee4NotDeclare(queryParam, UserContext.getCurrentUser());
|
||||
// return WeaResult.success(map);
|
||||
// }
|
||||
private AbnormalEmployeeListQueryParam genAbnormalEmployeeListQueryParam(HttpServletRequest request) {
|
||||
AbnormalEmployeeListQueryParam param = new AbnormalEmployeeListQueryParam();
|
||||
String current = request.getParameter("current");
|
||||
if (StringUtils.isNotBlank(current)) {
|
||||
param.setCurrent(Integer.valueOf(current));
|
||||
}
|
||||
String pageSize = request.getParameter("pageSize");
|
||||
if (StringUtils.isNotBlank(pageSize)) {
|
||||
param.setPageSize(Integer.valueOf(pageSize));
|
||||
}
|
||||
String keyword = request.getParameter("keyword");
|
||||
if (StringUtils.isNotBlank(keyword)) {
|
||||
param.setKeyword(keyword);
|
||||
}
|
||||
String taxDeclareRecordId = request.getParameter("taxDeclareRecordId");
|
||||
if (StringUtils.isNotBlank(taxDeclareRecordId)) {
|
||||
param.setTaxDeclareRecordId(Long.valueOf(taxDeclareRecordId));
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 个税申报表申报数据-导出报送人员无申报数据列表
|
||||
// *
|
||||
// * @param queryParam 查询条件
|
||||
// * @return
|
||||
// */
|
||||
// @POST
|
||||
// @Path("/employee/export4NoValue")
|
||||
// @Produces(MediaType.APPLICATION_JSON)
|
||||
// public String exportEmployee4NoValue(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AbnormalEmployeeListQueryParam queryParam) {
|
||||
// Map<String, Object> map = taxDeclareRecordWrapper.exportEmployee4NoValue(queryParam, UserContext.getCurrentUser());
|
||||
// return WeaResult.success(map);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 个税申报表申报数据-导出申报失败列表
|
||||
// *
|
||||
// * @param queryParam 导出参数
|
||||
// * @return
|
||||
// */
|
||||
// @POST
|
||||
// @Path("/employee/export4Fail")
|
||||
// @Produces(MediaType.APPLICATION_JSON)
|
||||
// public String exportEmployee4Fail(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AbnormalEmployeeListQueryParam queryParam) {
|
||||
// Map<String, Object> map = taxDeclareRecordWrapper.exportEmployee4Fail(queryParam, UserContext.getCurrentUser());
|
||||
// return WeaResult.success(map);
|
||||
// }
|
||||
String taxAgentId = request.getParameter("taxAgentId");
|
||||
if (StringUtils.isNotBlank(taxAgentId)) {
|
||||
param.setTaxAgentId(Long.valueOf(taxAgentId));
|
||||
}
|
||||
|
||||
String taxCycle = request.getParameter("taxCycle");
|
||||
if (StringUtils.isNotBlank(taxCycle)) {
|
||||
param.setTaxCycle(SalaryDateUtil.stringToDate(taxCycle));
|
||||
}
|
||||
|
||||
return param;
|
||||
}
|
||||
|
||||
/**
|
||||
* 个税申报表申报数据-导出人员未报送列表
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GET
|
||||
@Path("/employee/export4NotDeclare")
|
||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
public Response exportEmployee4NotDeclare(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
try {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
|
||||
AbnormalEmployeeListQueryParam queryParam = genAbnormalEmployeeListQueryParam(request);
|
||||
XSSFWorkbook workbook = getTaxDeclareRecordWrapper(user).exportEmployee4NotDeclare(queryParam);
|
||||
|
||||
String fileName = SalaryI18nUtil.getI18nLabel(156420, "未报送的人员") + "-" + SalaryDateUtil.getFormatLocalDate(LocalDateTime.now());
|
||||
try {
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
StreamingOutput output = outputStream -> {
|
||||
workbook.write(outputStream);
|
||||
outputStream.flush();
|
||||
};
|
||||
|
||||
response.setContentType("application/octet-stream");
|
||||
return Response.ok(output)
|
||||
.header("Content-disposition", "attachment;filename=" + fileName)
|
||||
.header("Cache-Control", "no-cache").build();
|
||||
} catch (Exception e) {
|
||||
log.error("未报送的人员导出异常", e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 个税申报表申报数据-导出报送人员无申报数据列表
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GET
|
||||
@Path("/employee/export4NoValue")
|
||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
public Response exportEmployee4NoValue(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
|
||||
try {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
AbnormalEmployeeListQueryParam queryParam = genAbnormalEmployeeListQueryParam(request);
|
||||
XSSFWorkbook workbook = getTaxDeclareRecordWrapper(user).exportEmployee4NoValue(queryParam);
|
||||
|
||||
String fileName = SalaryI18nUtil.getI18nLabel(156421, "缺少申报数据的人员") + "-" + SalaryDateUtil.getFormatLocalDate(LocalDateTime.now());
|
||||
try {
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
StreamingOutput output = outputStream -> {
|
||||
workbook.write(outputStream);
|
||||
outputStream.flush();
|
||||
};
|
||||
|
||||
response.setContentType("application/octet-stream");
|
||||
return Response.ok(output)
|
||||
.header("Content-disposition", "attachment;filename=" + fileName)
|
||||
.header("Cache-Control", "no-cache").build();
|
||||
} catch (Exception e) {
|
||||
log.error("缺少申报数据的人员导出异常", e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 个税申报表申报数据-导出申报失败列表
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GET
|
||||
@Path("/employee/export4Fail")
|
||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
public Response exportEmployee4Fail(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
try {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
AbnormalEmployeeListQueryParam queryParam = genAbnormalEmployeeListQueryParam(request);
|
||||
XSSFWorkbook workbook = getTaxDeclareRecordWrapper(user).exportEmployee4Fail(queryParam);
|
||||
|
||||
String fileName = SalaryI18nUtil.getI18nLabel(156422, "申报失败人员") + "-" + SalaryDateUtil.getFormatLocalDate(LocalDateTime.now());
|
||||
try {
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
StreamingOutput output = outputStream -> {
|
||||
workbook.write(outputStream);
|
||||
outputStream.flush();
|
||||
};
|
||||
|
||||
response.setContentType("application/octet-stream");
|
||||
return Response.ok(output)
|
||||
.header("Content-disposition", "attachment;filename=" + fileName)
|
||||
.header("Cache-Control", "no-cache").build();
|
||||
} catch (Exception e) {
|
||||
log.error("申报失败人员导出异常", e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ import org.apache.commons.collections4.CollectionUtils;
|
|||
import org.apache.commons.compress.utils.Lists;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.springframework.stereotype.Component;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
|
|
@ -609,90 +610,43 @@ public class TaxDeclareRecordWrapper extends Service {
|
|||
}
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 导出个税申报明细列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @return
|
||||
// */
|
||||
// public Map<String, Object> exportTaxDeclarationValue(TaxDeclarationValueListQueryParam queryParam) {
|
||||
// ExcelExportParam excelExportParam = new ExcelExportParam()
|
||||
// .setBiz(String.valueOf(IdGenerator.generate()))
|
||||
// .setModule(EntityType.hrmsalary.name())
|
||||
// .setFunction("exportTaxDeclarationValue");
|
||||
// LocalRunnable localRunnable = new LocalRunnable() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// getTaxDeclarationExcelService(user).exportTaxDeclarationValue(excelExportParam, queryParam, simpleEmployee);
|
||||
// }
|
||||
// };
|
||||
// ThreadPoolUtil.fixedPoolExecute(ModulePoolEnum.OTHER, "exportTaxDeclarationValue", localRunnable);
|
||||
// return JsonUtil.parseMap(excelExportParam, Object.class);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 导出未报送的人员列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @param simpleEmployee
|
||||
// * @return
|
||||
// */
|
||||
// public Map<String, Object> exportEmployee4NotDeclare(AbnormalEmployeeListQueryParam queryParam) {
|
||||
// ExcelExportParam excelExportParam = new ExcelExportParam()
|
||||
// .setBiz(String.valueOf(IdGenerator.generate()))
|
||||
// .setModule(EntityType.hrmsalary.name())
|
||||
// .setFunction("exportEmployee4NotDeclare");
|
||||
// LocalRunnable localRunnable = new LocalRunnable() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// getTaxDeclarationExcelService(user).exportEmployee4NotDeclare(excelExportParam, queryParam, simpleEmployee);
|
||||
// }
|
||||
// };
|
||||
// ThreadPoolUtil.fixedPoolExecute(ModulePoolEnum.OTHER, "exportEmployee4NotDeclare", localRunnable);
|
||||
// return JsonUtil.parseMap(excelExportParam, Object.class);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 导出没有申报数据的人员列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @param simpleEmployee
|
||||
// * @return
|
||||
// */
|
||||
// public Map<String, Object> exportEmployee4NoValue(AbnormalEmployeeListQueryParam queryParam, SimpleEmployee simpleEmployee) {
|
||||
// ExcelExportParam excelExportParam = new ExcelExportParam()
|
||||
// .setBiz(String.valueOf(IdGenerator.generate()))
|
||||
// .setModule(EntityType.hrmsalary.name())
|
||||
// .setFunction("exportEmployee4NoValue");
|
||||
// LocalRunnable localRunnable = new LocalRunnable() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// getTaxDeclarationExcelService(user).exportEmployee4NoValue(excelExportParam, queryParam, simpleEmployee);
|
||||
// }
|
||||
// };
|
||||
// ThreadPoolUtil.fixedPoolExecute(ModulePoolEnum.OTHER, "exportEmployee4NoValue", localRunnable);
|
||||
// return JsonUtil.parseMap(excelExportParam, Object.class);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 导出申报失败的人员列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @param simpleEmployee
|
||||
// * @return
|
||||
// */
|
||||
// public Map<String, Object> exportEmployee4Fail(AbnormalEmployeeListQueryParam queryParam, SimpleEmployee simpleEmployee) {
|
||||
// ExcelExportParam excelExportParam = new ExcelExportParam()
|
||||
// .setBiz(String.valueOf(IdGenerator.generate()))
|
||||
// .setModule(EntityType.hrmsalary.name())
|
||||
// .setFunction("exportEmployee4Fail");
|
||||
// LocalRunnable localRunnable = new LocalRunnable() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// getTaxDeclarationExcelService(user).exportEmployee4Fail(excelExportParam, queryParam, simpleEmployee);
|
||||
// }
|
||||
// };
|
||||
// ThreadPoolUtil.fixedPoolExecute(ModulePoolEnum.OTHER, "exportEmployee4Fail", localRunnable);
|
||||
// return JsonUtil.parseMap(excelExportParam, Object.class);
|
||||
// }
|
||||
/**
|
||||
* 导出个税申报明细列表
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
public XSSFWorkbook exportTaxDeclarationValue(TaxDeclarationValueListQueryParam queryParam) {
|
||||
return getTaxDeclarationExcelService(user).exportTaxDeclarationValue(queryParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出未报送的人员列表
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
public XSSFWorkbook exportEmployee4NotDeclare(AbnormalEmployeeListQueryParam queryParam) {
|
||||
return getTaxDeclarationExcelService(user).exportEmployee4NotDeclare(queryParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出没有申报数据的人员列表
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
public XSSFWorkbook exportEmployee4NoValue(AbnormalEmployeeListQueryParam queryParam) {
|
||||
return getTaxDeclarationExcelService(user).exportEmployee4NoValue(queryParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出申报失败的人员列表
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
public XSSFWorkbook exportEmployee4Fail(AbnormalEmployeeListQueryParam queryParam) {
|
||||
return getTaxDeclarationExcelService(user).exportEmployee4Fail(queryParam);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue