package com.engine.salary.service.impl; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.entity.taxdeclaration.dto.FailEmployeeListDTO; import com.engine.salary.entity.taxdeclaration.po.TaxDeclareFailPO; import com.engine.salary.entity.taxdeclaration.po.TaxDeclareRecordPO; import com.engine.salary.enums.salarysob.IncomeCategoryEnum; import com.engine.salary.mapper.taxdeclaration.TaxDeclareFailMapper; import com.engine.salary.service.TaxAgentService; import com.engine.salary.service.TaxDeclareFailService; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.db.MapperProxyFactory; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.collections4.CollectionUtils; import weaver.hrm.User; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; /** * 个税申报失败数据 *

Copyright: Copyright (c) 2023

*

Company: 泛微软件

* * @author qiantao * @version 1.0 **/ public class TaxDeclareFailServiceImpl extends Service implements TaxDeclareFailService { private TaxDeclareFailMapper getTaxDeclareFailMapper() { return MapperProxyFactory.getProxy(TaxDeclareFailMapper.class); } private TaxAgentService getTaxAgentService(User user) { return ServiceUtil.getService(TaxAgentServiceImpl.class, user); } @Override public List listPageByTaxDeclareRecordIds(Collection taxDeclareRecordIds) { return getTaxDeclareFailMapper().listSome(TaxDeclareFailPO.builder().taxDeclareRecordIds(taxDeclareRecordIds).build()); } @Override public List listByTaxDeclareRecordIds(Collection taxDeclareRecordIds) { return getTaxDeclareFailMapper().listSome(TaxDeclareFailPO.builder().taxDeclareRecordIds(taxDeclareRecordIds).build()); } @Override public void deleteByTaxDeclareRecordIds(Collection taxDeclareRecordIds) { getTaxDeclareFailMapper().deleteBytaxDeclareRecordIds(taxDeclareRecordIds); } @Override public List convert2FailEmployeeList(TaxDeclareRecordPO taxDeclareRecord, List taxDeclareFails) { if (CollectionUtils.isEmpty(taxDeclareFails)) { return Collections.emptyList(); } // 查询个税扣缴义务人 TaxAgentPO taxAgent = getTaxAgentService(user).getById(taxDeclareRecord.getTaxAgentId()); Map incomeCategoryEnumMap = Maps.newHashMap(); for (IncomeCategoryEnum incomeCategoryEnum : IncomeCategoryEnum.values()) { incomeCategoryEnumMap.put(incomeCategoryEnum.getCode(), incomeCategoryEnum); } List dtos = Lists.newArrayList(); for (TaxDeclareFailPO taxDeclareFail : taxDeclareFails) { IncomeCategoryEnum incomeCategoryEnum = incomeCategoryEnumMap.get(taxDeclareFail.getIncomeCategory()); FailEmployeeListDTO dto = new FailEmployeeListDTO() .setId(taxDeclareFail.getId()) .setEmployeeName(taxDeclareFail.getEmployeeName()) .setTaxAgentName(taxAgent.getName()) .setCardNum(taxDeclareFail.getCardNum()) .setErrorMsg(taxDeclareFail.getErrorMsg()) .setIncomeCategory(incomeCategoryEnum == null ? "" : SalaryI18nUtil.getI18nLabel(incomeCategoryEnum.getLabelId(), incomeCategoryEnum.getDefaultLabel())); dtos.add(dto); } return dtos; } @Override public void saveBatch(List taxDeclareFails) { if (CollectionUtils.isNotEmpty(taxDeclareFails)) { taxDeclareFails.forEach(getTaxDeclareFailMapper()::insertIgnoreNull); // getTaxDeclareFailMapper().batchInsert(taxDeclareFails); } } }