如何计算个人所得税?可以参考的11个标准计算工资的步骤,不足之处请补充-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

如何计算个人所得税?可以参考的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(04);
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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章