98 lines
4.6 KiB
Java
98 lines
4.6 KiB
Java
|
|
package com.engine.salary.service.impl;
|
||
|
|
|
||
|
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||
|
|
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
|
||
|
|
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.service.TaxAgentService;
|
||
|
|
import com.engine.salary.service.TaxDeclareFailService;
|
||
|
|
import com.engine.salary.util.SalaryI18nUtil;
|
||
|
|
import com.engine.salary.util.page.PageInfo;
|
||
|
|
import com.google.common.collect.Lists;
|
||
|
|
import com.google.common.collect.Maps;
|
||
|
|
import com.weaver.common.component.table.page.Page;
|
||
|
|
import com.weaver.hrm.salary.dao.TaxDeclareFailMapper;
|
||
|
|
import com.weaver.hrm.salary.enums.sicategory.DeleteTypeEnum;
|
||
|
|
import org.apache.commons.collections4.CollectionUtils;
|
||
|
|
|
||
|
|
import java.time.LocalDateTime;
|
||
|
|
import java.util.Collection;
|
||
|
|
import java.util.Collections;
|
||
|
|
import java.util.List;
|
||
|
|
import java.util.Map;
|
||
|
|
|
||
|
|
import static com.engine.salary.entity.siaccount.param.DSTenantKeyThreadVar.tenantKey;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @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 PageInfo<TaxDeclareFailPO> listPageByTaxDeclareRecordIds(Collection<Long> taxDeclareRecordIds) {
|
||
|
|
return new LambdaQueryChainWrapper<>(taxDeclareFailMapper)
|
||
|
|
.eq(TaxDeclareFailPO::getTenantKey, tenantKey)
|
||
|
|
.eq(TaxDeclareFailPO::getDeleteType, DeleteTypeEnum.NOT_DELETED.getValue())
|
||
|
|
.in(TaxDeclareFailPO::getTaxDeclareRecordId, taxDeclareRecordIds)
|
||
|
|
.page(page);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public List<TaxDeclareFailPO> listByTaxDeclareRecordIds(Collection<Long> taxDeclareRecordIds) {
|
||
|
|
return new LambdaQueryChainWrapper<>(taxDeclareFailMapper)
|
||
|
|
.eq(TaxDeclareFailPO::getTenantKey, tenantKey)
|
||
|
|
.eq(TaxDeclareFailPO::getDeleteType, DeleteTypeEnum.NOT_DELETED.getValue())
|
||
|
|
.in(TaxDeclareFailPO::getTaxDeclareRecordId, taxDeclareRecordIds)
|
||
|
|
.list();
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void deleteByTaxDeclareRecordIds(Collection<Long> taxDeclareRecordIds) {
|
||
|
|
new LambdaUpdateChainWrapper<>(taxDeclareFailMapper)
|
||
|
|
.eq(TaxDeclareFailPO::getTenantKey, tenantKey)
|
||
|
|
.eq(TaxDeclareFailPO::getDeleteType, DeleteTypeEnum.NOT_DELETED.getValue())
|
||
|
|
.in(TaxDeclareFailPO::getTaxDeclareRecordId, taxDeclareRecordIds)
|
||
|
|
.set(TaxDeclareFailPO::getDeleteType, DeleteTypeEnum.PHYSICAL_DELETED.getValue())
|
||
|
|
.set(TaxDeclareFailPO::getUpdateTime, LocalDateTime.now())
|
||
|
|
.update();
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public List<FailEmployeeListDTO> convert2FailEmployeeList(TaxDeclareRecordPO taxDeclareRecord, List<TaxDeclareFailPO> taxDeclareFails) {
|
||
|
|
if (CollectionUtils.isEmpty(taxDeclareFails)) {
|
||
|
|
return Collections.emptyList();
|
||
|
|
}
|
||
|
|
// 查询个税扣缴义务人
|
||
|
|
TaxAgentPO taxAgent = taxAgentService.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;
|
||
|
|
}
|
||
|
|
}
|