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.AddUpDeductionImportParam; import com.engine.salary.entity.datacollection.param.AddUpDeductionQueryParam; import com.engine.salary.entity.datacollection.param.AddUpDeductionRecordDeleteParam; import com.engine.salary.entity.datacollection.param.AddUpDeductionRecordParam; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.service.AddUpDeductionService; import com.engine.salary.service.SalaryEmployeeService; import com.engine.salary.service.TaxAgentService; import com.engine.salary.service.impl.AddUpDeductionServiceImpl; import com.engine.salary.service.impl.SalaryEmployeeServiceImpl; import com.engine.salary.service.impl.TaxAgentServiceImpl; import com.engine.salary.util.SalaryDateUtil; 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.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 TaxAgentService getTaxAgentService(User user) { return ServiceUtil.getService(TaxAgentServiceImpl.class, user); } private SalaryEmployeeService getSalaryEmployeeService(User user) { return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user); } /** * 数据采集-累计专项附加扣除列表(分页) * * @param queryParam * @return */ public PageInfo list(AddUpDeductionQueryParam queryParam) { PageInfo pageInfo = getAddUpDeductionService(user).listPage(queryParam); 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.setDeclareMonthDate(declareMonth.stream().map(e -> e + "-01 00:00:00").map(SalaryDateUtil::dateStrToLocalTime).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(AddUpDeductionImportParam importParam) { return getAddUpDeductionService(user).importAddUpDeduction(importParam); } public Map preview(AddUpDeductionImportParam importParam) { return getAddUpDeductionService(user).preview(importParam); } public Map getSearchCondition(Map params) { return getAddUpDeductionService(user).getSearchCondition(params); } public void editAddUpDeduction(AddUpDeductionRecordParam addUpDeduction) { getAddUpDeductionService(user).editAddUpDeduction(addUpDeduction); } public void createAddUpDeduction(AddUpDeductionRecordParam addUpDeductionRecordParam) { getAddUpDeductionService(user).createAddUpDeduction(addUpDeductionRecordParam); } public void deleteSelectAddUpDeduction(AddUpDeductionRecordDeleteParam deleteParam) { getAddUpDeductionService(user).deleteSelectAddUpDeduction(deleteParam); } public void deleteAllAddUpDeduction(AddUpDeductionRecordDeleteParam deleteParam) { getAddUpDeductionService(user).deleteAllAddUpDeduction(deleteParam); } public AddUpDeductionRecordDTO getAddUpDeduction(AddUpDeductionQueryParam param) { return getAddUpDeductionService(user).getAddUpDeduction(param); } }