关闭系统算税后,系统薪资项目可删除

This commit is contained in:
钱涛 2023-07-18 17:59:20 +08:00
parent 8379d6426a
commit 5e227febee
2 changed files with 30 additions and 4 deletions

View File

@ -25,6 +25,9 @@ import com.engine.salary.service.impl.SalaryFormulaServiceImpl;
import com.engine.salary.service.impl.SalaryItemServiceImpl;
import com.engine.salary.service.impl.SalarySobItemServiceImpl;
import com.engine.salary.service.impl.SysSalaryItemServiceImpl;
import com.engine.salary.sys.enums.TaxDeclarationFunctionEnum;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.page.Column;
@ -49,11 +52,11 @@ import java.util.*;
public class SalaryFieldWrapper extends Service {
private SalaryItemService getSalaryItemService(User user) {
return ServiceUtil.getService(SalaryItemServiceImpl.class, user);
return ServiceUtil.getService(SalaryItemServiceImpl.class, user);
}
private SalaryFormulaService getSalaryFormulaService(User user) {
return ServiceUtil.getService(SalaryFormulaServiceImpl.class, user);
return ServiceUtil.getService(SalaryFormulaServiceImpl.class, user);
}
@ -69,6 +72,10 @@ public class SalaryFieldWrapper extends Service {
return ServiceUtil.getService(SysSalaryItemServiceImpl.class, user);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
/**
* 薪资项目列表
*
@ -100,6 +107,9 @@ public class SalaryFieldWrapper extends Service {
salaryItemListDTOPage.getColumns().clear();
salaryItemListDTOPage.setColumns(fieldColumns);
//是否需要系统算税不需要则去除系统项目
TaxDeclarationFunctionEnum taxDeclarationFunctionEnum = getSalarySysConfService(user).getTaxDeclaration();
// 被薪资账套引用的薪资项目
if (CollectionUtils.isNotEmpty(salaryItemList)) {
// 查询系统薪资项目
@ -109,7 +119,9 @@ public class SalaryFieldWrapper extends Service {
List<SalaryItemListDTO> salaryItemListDTOS = SalaryItemBO.convert2ListDTO(salaryItemList, Collections.emptyList(), sysSalaryItemPOS);
//系统项目不删除
salaryItemListDTOS.forEach(dto -> {
if (StringUtils.isNotBlank(dto.getSystemName()) || usingItemIds.contains(dto.getId()) || usingCodes.contains(dto.getCode())) {
if ((taxDeclarationFunctionEnum != TaxDeclarationFunctionEnum.CLOSURE && StringUtils.isNotBlank(dto.getSystemName()))
|| usingItemIds.contains(dto.getId())
|| usingCodes.contains(dto.getCode())) {
dto.setCanDelete(false);
}
});
@ -207,6 +219,7 @@ public class SalaryFieldWrapper extends Service {
/**
* 保存字段排序信息
*
* @param salaryItemPOS
*/
public void saveSortedIndex(List<SalaryItemPO> salaryItemPOS) {

View File

@ -18,6 +18,9 @@ import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.service.*;
import com.engine.salary.service.impl.*;
import com.engine.salary.sys.enums.TaxDeclarationFunctionEnum;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.page.PageInfo;
@ -61,6 +64,10 @@ public class SalaryItemWrapper extends Service {
return ServiceUtil.getService(SalarySobBackItemServiceImpl.class, user);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
/**
* 薪资项目列表
*
@ -89,6 +96,10 @@ public class SalaryItemWrapper extends Service {
salaryItemListDTOPage.setPageNum(page.getPageNum());
salaryItemListDTOPage.setTotal(page.getTotal());
//是否需要系统算税不需要则去除系统项目
TaxDeclarationFunctionEnum taxDeclarationFunctionEnum = getSalarySysConfService(user).getTaxDeclaration();
// 被薪资账套引用的薪资项目
if (CollectionUtils.isNotEmpty(salaryItemList)) {
//2填充公式内容
@ -101,7 +112,9 @@ public class SalaryItemWrapper extends Service {
List<SalaryItemListDTO> salaryItemListDTOS = SalaryItemBO.convert2ListDTO(salaryItemList, expressFormulas, sysSalaryItemPOS);
//系统项目不删除
salaryItemListDTOS.forEach(dto -> {
if (StringUtils.isNotBlank(dto.getSystemName()) || usingItemIds.contains(dto.getId()) || usingCodes.contains(dto.getCode())) {
if ((taxDeclarationFunctionEnum != TaxDeclarationFunctionEnum.CLOSURE && StringUtils.isNotBlank(dto.getSystemName()))
|| usingItemIds.contains(dto.getId())
|| usingCodes.contains(dto.getCode())) {
dto.setCanDelete(false);
}
});