Public Class gss
'输入劳务费金额
Private _inlwje As Double
'输入工薪金额
Private _ingxje As Double
'输出劳务费应纳税所得额
Private _outlwyse
'输出劳务费应扣所得税
Private _outlwyks As Double
'输出劳务费适用税率
Private _outlwsl As String
'输出工薪速算扣除数
Private _outgxkcs As Double
'输出工薪应纳税所得额
Private _outgxyse As Double
'输出工薪应扣所得税
Private _outgxyks As Double
'输出工薪适用税率
Private _outgxsl As String
'输入校外劳务费金额
Private _inlwxwje As Double
Public WriteOnly Property inlwje() As Double
Set(ByVal Value As Double)
_inlwje = Value
Claowu()
End Set
End Property
Public WriteOnly Property ingxje() As Double
Set(ByVal Value As Double)
_ingxje = Value
Cgongxin()
End Set
End Property
Public ReadOnly Property outlwyse() As Double
Get
Return _outlwyse
End Get
End Property
Public ReadOnly Property outlwyks() As Double
Get
Return _outlwyks
End Get
End Property
Public ReadOnly Property outlwsl() As String
Get
Return _outlwsl
End Get
End Property
Public ReadOnly Property outgxkcs() As Double
Get
Return _outgxkcs
End Get
End Property
Public ReadOnly Property outgxyse() As Double
Get
Return _outgxyse
End Get
End Property
Public ReadOnly Property outgxyks() As Double
Get
Return _outgxyks
End Get
End Property
Public ReadOnly Property outgxsl() As String
Get
Return _outgxsl
End Get
End Property
Public WriteOnly Property inlwxwje() As Double
Set(ByVal Value As Double)
_inlwxwje = Value
Claowuxw()
End Set
End Property
Private Sub Claowu()
Dim je As Double
je = Me._inlwje
If je <= 800 Then
Me._outlwyse = 0
Me._outlwyks = 0
Me._outlwsl = ""
ElseIf je > 800 And je <= 4000 Then
Me._outlwyse = je - 800
Me._outlwyks = (je - 800) * 0.2
Me._outlwsl = "20%"
ElseIf je > 4000 And je <= 25000 Then
Me._outlwyse = je * 0.8
Me._outlwyks = je * 0.16
Me._outlwsl = "20%"
ElseIf je > 25000 And je <= 62500 Then
Me._outlwyse = je * 0.8
Me._outlwyks = je * 0.24 - 2000
Me._outlwsl = "30%"
ElseIf je > 62500 Then
Me._outlwyse = je * 0.8
Me._outlwyks = je * 0.32 - 7000
Me._outlwsl = "40%"
End If
End Sub
Private Sub Cgongxin()
Dim je As Double
je = Me._ingxje
je = je - 1600
If je < 0 Then
Me._outgxyse = 0
Else
Me._outgxyse = je
End If
If je <= 0 Then
Me._outgxkcs = 0
Me._outgxsl = ""
Me._outgxyks = 0
ElseIf je > 0 And je <= 500 Then
Me._outgxkcs = 0
Me._outgxsl = "5%"
Me._outgxyks = je * 0.05
ElseIf je > 500 And je <= 2000 Then
Me._outgxkcs = 25
Me._outgxsl = "10%"
Me._outgxyks = je * 0.1 - 25
ElseIf je > 2000 And je <= 5000 Then
Me._outgxkcs = 125
Me._outgxsl = "15%"
Me._outgxyks = je * 0.15 - 125
ElseIf je > 5000 And je <= 20000 Then
Me._outgxkcs = 375
Me._outgxsl = "20%"
Me._outgxyks = je * 0.2 - 375
ElseIf je > 20000 And je <= 40000 Then
Me._outgxkcs = 1375
Me._outgxsl = "25%"
Me._outgxyks = je * 0.25 - 1375
ElseIf je > 40000 And je <= 60000 Then
Me._outgxkcs = 3375
Me._outgxsl = "30%"
Me._outgxyks = je * 0.3 - 3375
ElseIf je > 60000 And je <= 80000 Then
Me._outgxkcs = 6375
Me._outgxsl = "35%"
Me._outgxyks = je * 0.35 - 6375
ElseIf je > 80000 And je <= 100000 Then
Me._outgxkcs = 10375
Me._outgxsl = "40%"
Me._outgxyks = je * 0.4 - 10375
ElseIf je > 100000 Then
Me._outgxkcs = 15375
Me._outgxsl = "45%"
Me._outgxyks = je * 0.45 - 15375
End If
End Sub
Private Sub Claowuxw()
Dim je As Double
je = Me._inlwxwje
If je <= 1000 Then
Me._outlwyse = je
Me._outlwsl = "9%"
Me._outlwyks = je * 0.09
ElseIf je > 1000 And je <= 20000 Then
Me._outlwyse = je
Me._outlwsl = "20%"
Me._outlwyks = je * 0.2
ElseIf je > 20000 And je <= 50000 Then
Me._outlwyse = je
Me._outlwsl = "25%"
Me._outlwyks = je * 0.25
ElseIf je > 50000 Then
Me._outlwyse = je
Me._outlwsl = "30%"
Me._outlwyks = je * 0.3
End If
End Sub
End Class