-- 作者:yankunhao
-- 发布时间:2010/7/7 15:08:00
--
Select Case e.DataCol.Name Case "数据状态" \'如果是数据状态列的内容变动 If e.NewValue = True Then \'而且变动后的值是True(已勾选) e.DataRow("审核时间")=Date.Now e.DataRow("审核用户")=Vars("_UserName") e.DataRow.Locked = True Else e.DataRow("审核时间")=Nothing e.DataRow("审核用户")=Nothing End If Case "工号" Dim dr As DataRow dim dr1 as datarow dim dr2 as datarow dr = DataTables("工资录入表").Find("工号 = \'" & e.DataRow("工号") & "\'" & "and 会计期间= \'" & e.DataRow("会计期间") & "\'" ) dr1= DataTables("月工资汇总").Find("工号 = \'" & e.DataRow("工号") & "\'" & "and 会计期间= \'" & e.DataRow("会计期间") & "\'" ) dr2 = DataTables("员工资料").Find("工号 = \'" & e.DataRow("工号") & "\'" & "and 员工状态 = \'在职\'") If dr IsNot Nothing \'如果找到, 则设置各列内容 e.DataRow("姓名")= dr("姓名") e.DataRow("交税人")= dr("姓名") e.DataRow("部门")= dr("部门") e.DataRow("应付工资")= dr1("应付工资_小计") e.DataRow("身份证号码")= dr2("身份证号码") e.DataRow("社保缴费率")= dr2("社保缴费率") e.DataRow("医疗费率")= dr2("医疗费率") e.DataRow("社保电脑号")= dr2("社保电脑号") e.DataRow("银行账号")= dr2("银行账号")
Else \'否则清除部门和姓名两列的内容 e.DataRow("部门") =Nothing e.DataRow("姓名") =Nothing e.DataRow("交税人") =Nothing e.DataRow("工号") = "在这个期间查无此人?" e.DataRow("应付工资")= Nothing e.DataRow("身份证号码")= Nothing e.DataRow("社保缴费率")= Nothing e.DataRow("医疗费率")= Nothing e.DataRow("社保电脑号")= Nothing e.DataRow("银行账号")= Nothing End If Case "节日未上班_总计小时" Dim Filter As String = "工号 = \'" & e.DataRow("工号") & "\'" & "and 会计期间= \'" & e.DataRow("会计期间") & "\'" DataTables("月工资汇总").DataCols("工号").RaiseDataColChanged(Filter) case "应付工资" if e.DataRow("应付工资")*0.13>=2328 then e.DataRow("住房补贴")=2328 else Dim Digits As Integer = 2 Dim Value As Double = e.DataRow("应付工资")*0.13 e.DataRow("住房补贴")=Math.Floor(Value * 10 ^ Digits + 0.5) / 10 ^ Digits \'四舍五入 end if if e.DataRow("代扣费_手工输入")= False then Dim Digits As Integer = 2 Dim Value As Double = (e.DataRow("应付工资")*e.DataRow("社保缴费率"))+e.DataRow("医疗费率") dim Value1 As Double = e.DataRow("应付工资")*e.DataRow("社保缴费率") dim Value2 As Double=e.DataRow("应付工资")*(0.1-e.DataRow("社保缴费率")) e.DataRow("代扣费_社会保险")=Math.Floor(Value * 10 ^ Digits + 0.5) / 10 ^ Digits \'四舍五入 e.DataRow("养老")=Math.Floor(Value1 * 10 ^ Digits + 0.5) / 10 ^ Digits \'四舍五入 if e.DataRow("医疗费率")>0 then e.DataRow("医序")=e.DataRow("医疗费率") else e.DataRow("医序")=Math.Floor(Value2 * 10 ^ Digits + 0.5) / 10 ^ Digits \'四舍五入 end if end if e.DataRow("代扣费_个人所得税")=InTax(e.DataRow("应付工资")-e.DataRow("代扣费_社会保险")-e.DataRow("住房补贴")-e.DataRow("起始缴税月收入")) e.DataRow("税金")=InTax(e.DataRow("应付工资")-e.DataRow("代扣费_社会保险")-e.DataRow("住房补贴")-e.DataRow("起始缴税月收入")) if e.DataRow("应付工资") >= e.DataRow("起始缴税月收入") then e.DataRow("税表收入额")=e.DataRow("应付工资")-e.DataRow("费用额")-e.DataRow("代扣费_社会保险")-e.DataRow("住房补贴") e.DataRow("计税金额")=e.DataRow("应付工资")-e.DataRow("起始缴税月收入")-e.DataRow("代扣费_社会保险")-e.DataRow("住房补贴") else e.DataRow("税表收入额")=Nothing e.DataRow("计税金额")=Nothing end if
case "代扣费_社会保险","代扣费_个人所得税","代扣费_其他费用_水费","代扣费_其他费用_电费","代扣费_其他费用_管理费","代扣费_其他费用_其他" e.DataRow("代扣费_小计")= e.DataRow("代扣费_社会保险")+e.DataRow("代扣费_个人所得税")+e.DataRow("代扣费_其他费用_水费")+e.DataRow("代扣费_其他费用_电费")+e.DataRow("代扣费_其他费用_管理费")+e.DataRow("代扣费_其他费用_其他") case "应付工资","代扣费_社会保险","住房补贴" e.DataRow("代扣费_个人所得税")=InTax(e.DataRow("应付工资")-e.DataRow("代扣费_社会保险")-e.DataRow("住房补贴")-e.DataRow("起始缴税月收入")) e.DataRow("税金")=InTax(e.DataRow("应付工资")-e.DataRow("代扣费_社会保险")-e.DataRow("住房补贴")-e.DataRow("起始缴税月收入")) if e.DataRow("应付工资") >= e.DataRow("起始缴税月收入") then e.DataRow("税表收入额")=e.DataRow("应付工资")-e.DataRow("费用额")-e.DataRow("代扣费_社会保险")-e.DataRow("住房补贴") e.DataRow("计税金额")=e.DataRow("应付工资")-e.DataRow("起始缴税月收入")-e.DataRow("代扣费_社会保险")-e.DataRow("住房补贴") else e.DataRow("税表收入额")=Nothing e.DataRow("计税金额")=Nothing end if case "计税金额" Select Case e.DataRow("计税金额") case 0 e.DataRow("税率")=Nothing e.DataRow("速算扣除数")=Nothing case 1 to 500 e.DataRow("税率")=0.05 e.DataRow("速算扣除数")=0 case 501 to 2000 e.DataRow("税率")=0.1 e.DataRow("速算扣除数")=25 case 2001 to 5000 e.DataRow("税率")=0.15 e.DataRow("速算扣除数")=125 case 5001 to 20000 e.DataRow("税率")=0.2 e.DataRow("速算扣除数")=375 case 20001 to 40000 e.DataRow("税率")=0.25 e.DataRow("速算扣除数")=1375 case 40001to 60000 e.DataRow("税率")=0.3 e.DataRow("速算扣除数")=3375 case 60001 to 100000 e.DataRow("税率")=0.35 e.DataRow("速算扣除数")=6375 case 80000 to 100000 e.DataRow("税率")=0.4 e.DataRow("速算扣除数")=10375 case > 100000 e.DataRow("税率")=0.45 e.DataRow("速算扣除数")=15375 End Select End Select
|