package com.engine.salary.service.impl; 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.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.collections4.CollectionUtils; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; /** * @description: 个税申报失败数据 * @author: xiajun * @modified By: xiajun * @date: Created in 2022/11/30 1:32 PM * @version:v1.0 */ public class TaxDeclareFailServiceImpl extends Service implements TaxDeclareFailService { private TaxDeclareFailMapper taxDeclareFailMapper; private TaxAgentService taxAgentService; @Override public List listPageByTaxDeclareRecordIds(Collection taxDeclareRecordIds) { return taxDeclareFailMapper.listSome(TaxDeclareFailPO.builder().taxDeclareRecordIds(taxDeclareRecordIds).build()); } @Override public List listByTaxDeclareRecordIds(Collection taxDeclareRecordIds) { return taxDeclareFailMapper.listSome(TaxDeclareFailPO.builder().taxDeclareRecordIds(taxDeclareRecordIds).build()); } @Override public void deleteByTaxDeclareRecordIds(Collection taxDeclareRecordIds) { taxDeclareFailMapper.deleteBytaxDeclareRecordIds(taxDeclareRecordIds); } @Override public List convert2FailEmployeeList(TaxDeclareRecordPO taxDeclareRecord, List taxDeclareFails) { if (CollectionUtils.isEmpty(taxDeclareFails)) { return Collections.emptyList(); } // 查询个税扣缴义务人 TaxAgentPO taxAgent = taxAgentService.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)) { taxDeclareFailMapper.batchInsert(taxDeclareFails); } } }