weaver-hrm-salary/src/com/engine/salary/service/impl/TaxDeclareFailServiceImpl.java

93 lines
3.9 KiB
Java

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;
/**
* 个税申报失败数据
* <p>Copyright: Copyright (c) 2023</p>
* <p>Company: 泛微软件</p>
*
* @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<TaxDeclareFailPO> listPageByTaxDeclareRecordIds(Collection<Long> taxDeclareRecordIds) {
return getTaxDeclareFailMapper().listSome(TaxDeclareFailPO.builder().taxDeclareRecordIds(taxDeclareRecordIds).build());
}
@Override
public List<TaxDeclareFailPO> listByTaxDeclareRecordIds(Collection<Long> taxDeclareRecordIds) {
return getTaxDeclareFailMapper().listSome(TaxDeclareFailPO.builder().taxDeclareRecordIds(taxDeclareRecordIds).build());
}
@Override
public void deleteByTaxDeclareRecordIds(Collection<Long> taxDeclareRecordIds) {
getTaxDeclareFailMapper().deleteBytaxDeclareRecordIds(taxDeclareRecordIds);
}
@Override
public List<FailEmployeeListDTO> convert2FailEmployeeList(TaxDeclareRecordPO taxDeclareRecord, List<TaxDeclareFailPO> taxDeclareFails) {
if (CollectionUtils.isEmpty(taxDeclareFails)) {
return Collections.emptyList();
}
// 查询个税扣缴义务人
TaxAgentPO taxAgent = getTaxAgentService(user).getById(taxDeclareRecord.getTaxAgentId());
Map<String, IncomeCategoryEnum> incomeCategoryEnumMap = Maps.newHashMap();
for (IncomeCategoryEnum incomeCategoryEnum : IncomeCategoryEnum.values()) {
incomeCategoryEnumMap.put(incomeCategoryEnum.getCode(), incomeCategoryEnum);
}
List<FailEmployeeListDTO> 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<TaxDeclareFailPO> taxDeclareFails) {
if (CollectionUtils.isNotEmpty(taxDeclareFails)) {
taxDeclareFails.forEach(getTaxDeclareFailMapper()::insertIgnoreNull);
// getTaxDeclareFailMapper().batchInsert(taxDeclareFails);
}
}
}