93 lines
3.9 KiB
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);
|
|
}
|
|
}
|
|
}
|