如何计算个人所得税?可以参考的11个标准计算工资的步骤,不足之处请补充

简介:
希望能给大家带来帮助,请只做参考用,主要是请看11个计算的步骤注释说明。
 1           ///   <summary>
 2           ///  计算工资算法
 3           ///   </summary>
 4           ///   <param name="departmentID"> 部门主键 </param>
 5           ///   <param name="targetYearMonth"> 目标年月 </param>
 6           ///   <returns> 影响的行数 </returns>
 7           public   int  Calculate(String departmentID, String targetYearMonth)
 8          {
 9               int  returnValue  =   0 ;
10              BaseParameterDao parameterDao  =   new  BaseParameterDao( this .DbHelper,  this .UserInfo);
11              String qiZhengE  =  parameterDao.GetParameter( " System " " SalaryPersonalIncomeTax " " QiZhengE " );
12              String year  =  targetYearMonth.Substring( 0 4 );
13              String month  =  targetYearMonth.Substring( 5 );
14              DataTable dataTable  =   this .SearchByDepartment(departmentID, year, month,  false );
15               //  01 检查个人所得税起征额是否为空的?
16               this .CheckPersonalIncomeTax(dataTable, qiZhengE);
17               //  02 税前应加项合计
18               this .GetSum(dataTable,  " 税前应加项目 " , BaseSalaryTable.FieldShuiQianYingJiaXiang);
19               //  03 税前应扣项合计
20               this .GetSum(dataTable,  " 税前应扣项目 " , BaseSalaryTable.FieldShuiQianYingKouXiang);
21               //  04 基金补贴保险类合计,例如三金
22               this .GetSum(dataTable,  " 基金保险补贴类 " , BaseSalaryTable.FieldJiJinBaoXianBuTieLei);
23               //  05 纳税项合计[记税工资,是否纳税项目来计算]
24               this .GetSalaryTax(dataTable);                     
25               //  06 计算个人所得税相关数据
26               this .GetPersonalIncomeTax(dataTable);
27               //  07 计算应发工资
28               this .GetSalary(dataTable);
29               //  08 计算税后应扣项目
30               this .GetSum(dataTable,  " 税后代加项目 " , BaseSalaryTable.FieldShuiHouDaiJiaXiang);
31               //  09 计算税后应加项目
32               this .GetSum(dataTable,  " 税后代扣项目 " , BaseSalaryTable.FieldShuiHouDaiKouXiang);
33               //  10 计算实发工资
34               this .GetRealSalary(dataTable);
35               //  11 将计算结果保存到数据库
36              BaseSalaryEntity salaryEntity  =   null ;
37              BaseSalaryDao salaryDao  =   new  BaseSalaryDao( this .DbHelper,  this .UserInfo);
38               foreach  (DataRow dataRow  in  dataTable.Rows)
39              {
40                   if  (dataRow.RowState  ==  DataRowState.Modified)
41                  {
42                      salaryEntity  =   new  BaseSalaryEntity(dataRow);
43                      returnValue  +=  salaryDao.UpdateEntity(salaryEntity);
44                  }
45              }
46               return  returnValue;
47          }
48
本文转自 jirigala 51CTO博客,原文链接:http://blog.51cto.com/2347979/451629,如需转载请自行联系原作者
相关文章
|
3月前
|
SQL 存储 关系型数据库
5大步骤+10个案例,堪称SQL优化万能公式
5大步骤+10个案例,堪称SQL优化万能公式
|
5月前
|
Java
JavaSE——模拟双色球业务(双色球业务介绍、总体实现步骤分析,代码+运行结果)
JavaSE——模拟双色球业务(双色球业务介绍、总体实现步骤分析,代码+运行结果)
71 7
|
安全 搜索推荐 测试技术
【实测】用chatGPT来完整的走一次测试流程吧,看看它到底相当于我们什么等级的工程师?
【实测】用chatGPT来完整的走一次测试流程吧,看看它到底相当于我们什么等级的工程师?
|
6月前
|
供应链 监控 项目管理
第十四章项目采购管理(选择2分,偶尔案例16分)
第十四章项目采购管理(选择2分,偶尔案例16分)
|
6月前
|
监控 项目管理
第八章项目进度管理(选择4分,案例12分)
第八章项目进度管理(选择4分,案例12分)
144 0
|
6月前
|
自然语言处理 监控 项目管理
第六章项目整体管理(选择5分,案例偶尔考)
第六章项目整体管理(选择5分,案例偶尔考)
|
6月前
|
监控 项目管理 开发工具
第十章项目质量管理(选择3分,案例17分)
第十章项目质量管理(选择3分,案例17分)
|
安全 Go 区块链
分投趣fintoch开发丨fintoch分投趣系统开发方案详细丨分投趣fintoch系统源码案例
  DAPP是Decentralized Application的缩写,即去中心化应用,也有人称为分布式应用。它被认为开启了区块链3.0时代。DAPP就是在底层区块链平台衍生的各种分布式应用,是区块链世界中的服务提供形式。DAPP之于区块链,有些类似APP之于IOS和Android。
|
Perl
马知恩周义仓编常微分方程定性与稳定性方法部分习题参考解答
第一章    基本定理   1设有 $$\bex \frac{\rd \bbx}{\rd t}=\bbf(t,\bbx),\quad \bbx(t_0)=\bbx^0,\quad (t_0,\bbx^0)\in \bbR\times \bbR^n.
4965 0
|
测试技术 数据库
测试用例(包含测经典试点全集图解,强烈建议保存收藏)(一)
测试用例(Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。
727 1
测试用例(包含测经典试点全集图解,强烈建议保存收藏)(一)
下一篇
无影云桌面