ESAP达摩院 思想有多远,我们就能走多远

ESAP中级教程|实现2019年版工资个税计算


需求

@天涯:个税改革了,求做一个函数:salaryTax2019(本年度累计纳税所得额,本年度累计纳税)。

本年度累计纳税所得额 本年度累计纳税 本月应缴个税
5000 100 50
50000 2000 480

实现关键

在sql中建一个自定义函数,代码如下:

--2019个税
create function fGetSalaryTax2019(@Num decimal(20,2)='',@Num2 decimal(20,2)='') 
returns decimal(20,2)
as
begin 
declare @tax decimal(20,2) 
select @tax=max(tax) from ( 
select @Num*0.01*3 as tax
union all select @Num*0.1-2520
union all select @Num*0.2-16920
union all select @Num*0.25-31920
union all select @Num*0.3-52920
union all select @Num*0.35-85920 
union all select @Num*0.45-181920) t
return round(@tax,2)-@Num2 
end

测试效果:

实际使用

以NX为例,在提数时使用函数即可

填充时手填一下sql自定义函数

最终效果

做个按钮执行提数,效果图:

小结

  • 在提数填充时直接使用自定义sql函数

2019-09-26


近似文章