个人所得税计算函数的编写(plpgsql)

简介: 个人所得税计算函数的编写(plpgsql)

在工资管理软件中,要计算个人所有税。一般是通过公式在后台完成计算,这是多年以前写的代码,后来也有小的修改,哪位这个内容比较熟悉,请忙优化一下。

一、税率表

个人所得税税率表四

级数 平均每月收入 税率(%) 速算扣除数

1 不超过3,000元的部分 3 0

2 超过3,000元至12,000元的部分 10 210

3 超过12,000元至25,000元的部分 20 1410

4 超过25,000元至35,000元的部分 25 2660

5 超过35,000元至55,000元的部分 30 4410

6 超过55,000元至80,000元的部分 35 7160

7 超过80,000元的部分 45 15160

二、代码

CREATE OR REPLACE FUNCTION public.x9_grsds(
  jsze numeric)
    RETURNS numeric
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE PARALLEL UNSAFE
AS $BODY$
-- Description: 计算个税
-- 2011年9月1日起调整后,也就是2012年实行的7级超额累进个人所得税税率表
-- 应纳个人所得税税额= 应纳税所得额× 适用税率- 速算扣除数
-- 扣除标准3500元/月(2011年9月1日起正式执行)(工资、薪金所得适用)
-- 个税免征额3500元  (工资薪金所得适用)
-- 2019年新改 起征点为5000
DECLARE
  jsce decimal(18,2);
    yjse decimal(18,2);
BEGIN
  jsce = $1-5000.00;
  IF jsce <= 0 THEN
    BEGIN
       yjse = 0;
      RETURN yjse;
    END;
    END IF ;
  IF jsce <= 3000 THEN
    BEGIN
       yjse = jsce * 0.03;
      RETURN yjse;
    END;
    END IF ;
  IF jsce <= 12000 THEN
    BEGIN
       yjse = jsce * 0.10-210;
      RETURN yjse;
    END;
  END IF ;
  IF jsce <= 25000 THEN
    BEGIN
       yjse = jsce * 0.20-1410;
      RETURN yjse;
    END;
  END IF ;
  IF jsce <= 35000 THEN
    BEGIN
       yjse = jsce * 0.25-2660;
      RETURN yjse;
    END;
  END IF ;
  IF jsce <= 55000 THEN
    BEGIN
       yjse = jsce * 0.30-4410;
      RETURN yjse;
    END;
  END IF ;
  IF jsce <= 80000 THEN
    BEGIN
       yjse = jsce * 0.35-7160;
      RETURN yjse;
    END;
  END IF ;
  -- 大于80000
  yjse = jsce * 0.45-15160;
  RETURN yjse;
END;
$BODY$;
ALTER FUNCTION public.x9_grsds(numeric)
    OWNER TO postgres;

三、总结

谁有更好的代码,帮忙改一下吧!

相关文章
|
8月前
|
C语言
使用C语言编写一个简单的计算器程序
使用C语言编写一个简单的计算器程序
376 0
|
8月前
|
JSON 算法 前端开发
2726. 使用方法链的计算器
2726. 使用方法链的计算器
46 0
|
监控 Serverless 测试技术
函数计算的开发
函数计算的开发
71 0
|
7月前
|
程序员 定位技术
程序员必知:关于DotaRdsp计算器的编写(一)
程序员必知:关于DotaRdsp计算器的编写(一)
38 0
|
Java
从计算器小例子的总结思考
从计算器小例子的总结思考
131 0
|
8月前
|
C语言
C语言程序基本的计算器功能
C语言程序基本的计算器功能
157 0
VBA 2000年之后活期存款利息计算
VBA 2000年之后活期存款利息计算
95 0
|
SQL 存储 关系型数据库
MySQL基础(SQL 字符串函数 数值函数 日期函数 流程函数)
1.Mysql下载安装启动 2.图形化界面工具 3.SQL 1.DDL 2.DML 3.DQL 4.DCL 1.管理用户 2.权限控制 4.函数 字符串函数 数值函数 日期函数 流程函数
MySQL基础(SQL 字符串函数 数值函数 日期函数 流程函数)
|
存储 运维 IDE
妙用函数计算
在云计算不断发展中,软件服务化趋势越加明显,用户通过网络即可使用应用提供的服务,服务慢慢变成应用构建基础,成为云产品的基本形态。FaaS(Functionas a Service)以函数为单元提供服务,符合云发展的趋势,并且作为一种新型计算方式成为了云计算未来发展的一个方向。FaaS 的出现使用户专心于编写和上传核心的业务代码,由FaaS负责创建和维护相应的计算、存储、网络等资源。用户完成编写并上传代码之后,运行即可获得相应的数据结果或服务。以阿里云函数计算FC为代表的FaaS服务的出现降低了运维的成本,使用户更专注于业务代码,实现高效工作,让业务发展节奏加快。
408 0
妙用函数计算
|
iOS开发
iOS计算器: 表达式的精准计算(计算字符串数学表达式)MathStringExpression
iOS计算器: 表达式的精准计算(计算字符串数学表达式)MathStringExpression
251 0
iOS计算器: 表达式的精准计算(计算字符串数学表达式)MathStringExpression