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

93 lines
3.8 KiB
Java
Raw Normal View History

2023-08-11 14:20:14 +08:00
package com.engine.salary.service.impl;
2023-08-20 14:03:43 +08:00
import com.engine.common.util.ServiceUtil;
2023-08-11 14:20:14 +08:00
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;
2023-08-14 20:07:29 +08:00
import com.engine.salary.mapper.taxdeclaration.TaxDeclareFailMapper;
2023-08-11 14:20:14 +08:00
import com.engine.salary.service.TaxAgentService;
import com.engine.salary.service.TaxDeclareFailService;
import com.engine.salary.util.SalaryI18nUtil;
2023-08-20 14:03:43 +08:00
import com.engine.salary.util.db.MapperProxyFactory;
2023-08-11 14:20:14 +08:00
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.apache.commons.collections4.CollectionUtils;
2023-08-20 14:03:43 +08:00
import weaver.hrm.User;
2023-08-11 14:20:14 +08:00
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
2023-08-23 16:49:45 +08:00
* 个税申报失败数据
* <p>Copyright: Copyright (c) 2023</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
2023-08-11 14:20:14 +08:00
public class TaxDeclareFailServiceImpl extends Service implements TaxDeclareFailService {
2023-08-20 14:03:43 +08:00
private TaxDeclareFailMapper getTaxDeclareFailMapper() {
return MapperProxyFactory.getProxy(TaxDeclareFailMapper.class);
}
private TaxAgentService getTaxAgentService(User user) {
return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
}
2023-08-11 14:20:14 +08:00
@Override
2023-08-14 20:07:29 +08:00
public List<TaxDeclareFailPO> listPageByTaxDeclareRecordIds(Collection<Long> taxDeclareRecordIds) {
2023-08-20 14:03:43 +08:00
return getTaxDeclareFailMapper().listSome(TaxDeclareFailPO.builder().taxDeclareRecordIds(taxDeclareRecordIds).build());
2023-08-11 14:20:14 +08:00
}
@Override
public List<TaxDeclareFailPO> listByTaxDeclareRecordIds(Collection<Long> taxDeclareRecordIds) {
2023-08-20 14:03:43 +08:00
return getTaxDeclareFailMapper().listSome(TaxDeclareFailPO.builder().taxDeclareRecordIds(taxDeclareRecordIds).build());
2023-08-11 14:20:14 +08:00
}
@Override
public void deleteByTaxDeclareRecordIds(Collection<Long> taxDeclareRecordIds) {
2023-08-20 14:03:43 +08:00
getTaxDeclareFailMapper().deleteBytaxDeclareRecordIds(taxDeclareRecordIds);
2023-08-11 14:20:14 +08:00
}
@Override
public List<FailEmployeeListDTO> convert2FailEmployeeList(TaxDeclareRecordPO taxDeclareRecord, List<TaxDeclareFailPO> taxDeclareFails) {
if (CollectionUtils.isEmpty(taxDeclareFails)) {
return Collections.emptyList();
}
// 查询个税扣缴义务人
2023-08-20 14:03:43 +08:00
TaxAgentPO taxAgent = getTaxAgentService(user).getById(taxDeclareRecord.getTaxAgentId());
2023-08-11 14:20:14 +08:00
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;
}
2023-08-14 20:07:29 +08:00
@Override
public void saveBatch(List<TaxDeclareFailPO> taxDeclareFails) {
if (CollectionUtils.isNotEmpty(taxDeclareFails)) {
2023-08-22 17:48:23 +08:00
2023-08-20 14:03:43 +08:00
getTaxDeclareFailMapper().batchInsert(taxDeclareFails);
2023-08-14 20:07:29 +08:00
}
}
2023-08-11 14:20:14 +08:00
}