100分求以下代码变 成存储过程
求以下代码变 成存储过程
要求写成一个存储过程,谢谢大家了。
数据库是:Microsoft SQLServer
<!--#include file="include/conn.asp"-->
<%
Set Ro=Server.CreateObject("Adodb.RecordSet")
so="Select * from GZMonth"
Ro.Open So,conn,1,1
Session("NowMonth")=Ro("GZMonth")
Session("NowYear")=Ro("GZYear")
Ro.Close
Set Ro=Nothing
Set Rss=Server.CreateObject("Adodb.RecordSet")
Sqls="select * from gongzi where gzmonth='"&CInt(Session("NowMonth"))&"' and gzyear='"&Session("NowYear")&"'"
Rss.Open Sqls,conn,3,3
While Not Rss.Eof
Rss("XiaoJi1")=Rss("JB_Salary")+Rss("NG_Salary")+Rss("JS_Salary")+Rss("BuCha_Salary")
Rss("XiaoJi2")=Rss("YX_Salary")+Rss("Gl_Salary")
Rss("HeJi1")=Rss("JB_Salary")+Rss("NG_Salary")+Rss("JS_Salary")+Rss("BuCha_Salary")+Rss("YX_Salary")+Rss("Gl_Salary")
Rss("YingFa")=Rss("JB_Salary")+Rss("NG_Salary")+Rss("JS_Salary")+Rss("BuCha_Salary")+Rss("YX_Salary")+Rss("Gl_Salary")+Rss("Tx_Salary")+Rss("YeBan")+Rss("JiaBan")
Rss.Update
Rss.MoveNext
Wend
Rss.Close
Set Rss=Nothing
Set Rss=Server.CreateObject("Adodb.RecordSet")
Sqls="Select * from gongzi where (leibie='劳务工' and bdepart='邮政配送局' and gzmonth='"&CInt(Session("NowMonth"))&"' and gzyear='"&Session("NowYear")&"' and iffa<>'b' and FalseDel<>'t') or (leibie<>'劳务工' and gzmonth='"&CInt(Session("NowMonth"))&"' and gzyear='"&Session("NowYear")&"' and iffa<>'b' and FalseDel<>'t')"
Rss.Open Sqls,conn,3,3
While Not Rss.Eof
Dim Num,lv,kou
Num=0 '每条记录清零
lv=0
kou=0
Set Rs=Server.CreateObject("Adodb.RecordSet")
Sql="Select SUM(KH_JJ) as JJ from JiangJinAll where name='"&Trim(Rss("Name"))&"' and gzmonth='"&CInt(Session("NowMonth"))&"' and gzyear='"&Session("NowYear")&"' and leibie<>'00'" '已改革_奖金
Rs.Open Sql,conn,1,1
If Rs.RecordCount>=1 Then
If Rs("JJ")>0 Then
JiangJin=Rs("JJ")
Else
JiangJin=0
End If
Else
JiangJin=0
End If
Num=Rss("yingfa") + JiangJin - Rss("Gl_Salary") - Rss("ZF_Accu") - Rss("YangLao_BX") - Rss("ShiYe_BX") - Rss("YiLiao_BX") - 1400
Tax_Num=Num
If Num<=0 Then
Num=0
lv=0.05
kou=0
End If
If Num>0 and Num<=500 Then
Num=Num*5/100
lv=0.05
kou=0
End If
If Num>500 and Num<=2000 Then
Num=Num*10/100-25
lv=0.1
kou=25
End If
If Num>2000 and Num<=5000 Then
Num=Num*15/100-125
lv=0.15
kou=125
End If
If Num>5000 and Num<=20000 Then
Num=Num*20/100-375
lv=0.2
kou=375
End If
If Num>20000 and Num<=40000 Then
Num=Num*25/100-1375
lv=0.25
kou=1375
End If
If Num>40000 and Num<=60000 Then
Num=Num*30/100-3375
lv=0.3
kou=3375
End If
If Num>60000 and Num<=80000 Then
Num=Num*35/100-6375
lv=0.35
kou=6375
End If
If Num>80000 and Num<=100000 Then
Num=Num*40/100-10375
lv=0.4
kou=10375
End If
If Num>100000 Then
Num=Num*45/100-15375
lv=0.45
kou=15375
End If
Rss("Gr_Tax")=FormatNumber(Num,2)
Rss("Tax_Num")=FormatNumber(Tax_Num,2)
Rss("Tax_Lv")=lv
Rss("Tax_Kou")=kou
Rss.Update
Rs.Close
Set Rs=Nothing
Rss.MoveNext
Wend
Rss.Close
Set Rss=Nothing
Set Rss=Server.CreateObject("Adodb.RecordSet")
Sqls="Select * from gongzi where Bdepart='局领导' and gzmonth='"&CInt(Session("NowMonth"))&"' and gzyear='"&Session("NowYear")&"'"
Rss.Open Sqls,conn,3,3
While Not Rss.Eof
Rss("Gr_Tax")=0
Rss.MoveNext
Wend
Rss.Update
Rss.Close
Set Rss=Nothing
'############# 3、计完所得税后求实发数 不用加条件,类别为劳务工也要统计
Set Rss=Server.CreateObject("Adodb.RecordSet")
Sqls="select * from gongzi where gzmonth='"&CInt(Session("NowMonth"))&"' and gzyear='"&Session("NowYear")&"'"
Rss.Open Sqls,conn,3,3
While Not Rss.Eof
Rss("XiaoJi3")=Rss("KaoQin")+Rss("Gr_Tax")+Rss("ZF_Accu")+Rss("YangLao_BX")+Rss("ShiYe_BX")+Rss("YiLiao_BX")+Rss("Other_Accu")+Rss("FangZu")
Rss("ShiFa")=FormatNumber(Rss("YingFa")-(Rss("KaoQin")+Rss("Gr_Tax")+Rss("ZF_Accu")+Rss("YangLao_BX")+Rss("ShiYe_BX")+Rss("YiLiao_BX")+Rss("Other_Accu")+Rss("FangZu")),2,-1,,0)
Rss.Update
Rss.MoveNext
Wend
Rss.Close
Set Rss=Nothing
'############# 检测 实发数<0 的情况给 提示!
Set Rss=Server.CreateObject("Adodb.RecordSet")
Sqls="select * from gongzi where gzmonth='"&CInt(Session("NowMonth"))&"' and gzyear='"&Session("NowYear")&"' and shifa<0"
Rss.Open Sqls,conn,1,1
If Rss.RecordCount>0 Then
While Not Rss.EOf
Response.Write "<br>" & Rss("Name") & "的实发工资为:" & FormatNumber(Rss("ShiFa"),2,-1,,0)
Rss.MoveNext
Wend
%>
</body>
<script>
alert("请及时调整实发数为负数的数据才能生成税!");
window.close();
</script>
</html>
<%
Else
%>
</body>
<script>
alert("计算完毕!请选择菜单-->生成个人所得税!");
window.close();
</script>
</html>
<%
End If
Rss.Close
Set Rss=Nothing
%>