package com.engine.salary.wrapper; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.entity.datacollection.AddUpDeduction; import com.engine.salary.entity.datacollection.dto.AddUpDeductionDTO; import com.engine.salary.entity.datacollection.dto.AddUpDeductionRecordDTO; import com.engine.salary.entity.datacollection.param.AddUpDeductionQueryParam; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.service.AddUpDeductionService; import com.engine.salary.service.SalaryEmployeeService; import com.engine.salary.service.TaxAgentV2Service; import com.engine.salary.service.impl.AddUpDeductionServiceImpl; import com.engine.salary.service.impl.SalaryEmployeeServiceImpl; import com.engine.salary.service.impl.TaxAgentV2ServiceImpl; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.page.PageInfo; import org.apache.commons.collections4.CollectionUtils; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import weaver.general.Util; import weaver.hrm.User; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * 累计专项附加扣除 *

Copyright: Copyright (c) 2022

*

Company: 泛微软件

* * @author qiantao * @version 1.0 **/ public class AddUpDeductionWrapper extends Service { private AddUpDeductionService getAddUpDeductionService(User user) { return ServiceUtil.getService(AddUpDeductionServiceImpl.class, user); } private TaxAgentV2Service getTaxAgentService(User user) { return ServiceUtil.getService(TaxAgentV2ServiceImpl.class, user); } private SalaryEmployeeService getSalaryEmployeeService(User user) { return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user); } /** * 数据采集-累计专项附加扣除列表(分页) * * @param queryParam * @return */ public PageInfo list(AddUpDeductionQueryParam queryParam) { //申报月份 List declareMonth = queryParam.getDeclareMonth(); if (CollectionUtils.isNotEmpty(declareMonth)) { queryParam.setDeclareMonth(declareMonth.stream().map(e -> e + "-01 00:00:00").collect(Collectors.toList())); } PageInfo pageInfo = getAddUpDeductionService(user).listPage(queryParam); List list = pageInfo.getList(); // 人员信息赋值 list.forEach(m -> { // 身份证号 m.setIdNo(Util.null2String(m.getIdNo())); }); return pageInfo; } /** * 数据采集-累计专项附加扣除详情列表(分页) * * @param queryParam * @return */ public PageInfo getDetailList(AddUpDeductionQueryParam queryParam) { Long id = queryParam.getAccumulatedSpecialAdditionalDeductionId(); AddUpDeduction po = getAddUpDeductionService(user).getById(id); if (po == null) { throw new SalaryRunTimeException(String.format(SalaryI18nUtil.getI18nLabel(100338, "累计专项附加扣除不存在") + "[id:%s]", id)); } //申报月份 List declareMonth = queryParam.getDeclareMonth(); if (CollectionUtils.isNotEmpty(declareMonth)) { queryParam.setDeclareMonth(declareMonth.stream().map(e -> e + "-01 00:00:00").collect(Collectors.toList())); } queryParam.setEmployeeId(po.getEmployeeId()); PageInfo page = getAddUpDeductionService(user).recordListPage(queryParam); return page; } /** * 导出-累计专项附加扣除列表 * * @param queryParam * @return */ public XSSFWorkbook export(AddUpDeductionQueryParam queryParam) { boolean isChief = getTaxAgentService(user).isChief((long) user.getUID()); return getAddUpDeductionService(user).export(isChief, queryParam); } /** * 导出-累计专项附加扣除详情列表 * * @param queryParam * @return */ public XSSFWorkbook exportDetail(AddUpDeductionQueryParam queryParam) { Long id = queryParam.getAccumulatedSpecialAdditionalDeductionId(); AddUpDeduction po = getAddUpDeductionService(user).getById(id); if (po == null) { throw new SalaryRunTimeException(String.format(SalaryI18nUtil.getI18nLabel(100338, "累计专项附加扣除不存在") + "[id:%s]", id)); } boolean isChief = getTaxAgentService(user).isChief((long) user.getUID()); return getAddUpDeductionService(user).exportDetail(po.getEmployeeId(), isChief, queryParam); } /** * 下载导入模板 * * @param queryParam * @return */ public XSSFWorkbook downloadTemplate(AddUpDeductionQueryParam queryParam) { // 构建异步导出参数 boolean isChief = getTaxAgentService(user).isChief((long) user.getUID()); return getAddUpDeductionService(user).downloadTemplate(isChief, queryParam); } public Map importAddUpDeduction(Map params) { return getAddUpDeductionService(user).importAddUpDeduction(params); } public Map preview(Map params) { return getAddUpDeductionService(user).preview(params); } public Map getSearchCondition(Map params) { return getAddUpDeductionService(user).getSearchCondition(params); } }