Select Case e.DataCol.Name
Case "签退时间", "日期","签到时间"
Dim d As Date = e.DataRow("日期")
Dim dt As Date = e.DataRow("签退时间")
Dim qd As Date = e.DataRow("签到时间")
If d.DayOfWeek = 0 OrElse d.DayOfWeek = 6 Then
Dim bz As Date = "8:00"
If qd <= "8:00" Then
qd = "8:00"
ElseIf qd <= "8:30" Then
qd = "8:30"
ElseIf qd <= "9:00" Then
qd = "9:00"
ElseIf qd <= "9:30" Then
qd = "9:30"
ElseIf qd <= "10:00" Then
qd = "10:00"
ElseIf qd <= "10:30" Then
qd = "10:30"
ElseIf qd <= "11:00" Then
qd = "11:00"
ElseIf qd <= "11:30" Then
qd = "11:30"
ElseIf qd <= "12:00" Then
qd = "12:00"
ElseIf qd <= "13:00" Then
qd = "12:00"
ElseIf qd <= "13:30" Then
qd = "13:30"
ElseIf qd <= "14:00" Then
qd = e.DataRow("签到时间")
End If
Dim sp As TimeSpan = dt - qd
Dim n As Integer = sp.TotalMinutes / 30
e.DataRow("二倍加班H") = n*0.5 -1
Else
Dim bz As Date = "17:01"
If dt >= bz Then
If dt >= "19:35" Then
dt = dt.AddMinutes(-30)
ElseIf dt < "17:35" Then
dt = "17:01"
ElseIf dt <= "19:05" Then
dt = e.DataRow("签退时间")
ElseIf dt < "19:35"
dt = "19:05"
End If
Dim sp As TimeSpan = dt - bz
Dim n As Integer = sp.TotalMinutes / 30
e.DataRow("一倍半加班H") = n*0.5
End If
End If
If E.DataRow("签退时间") = Nothing Then
E.DataRow("一倍半加班H") = Nothing
E.DataRow("二倍加班H") = Nothing
E.DataRow("三倍加班H") = Nothing
End If
End Select
Select Case e.DataCol.Name
Case "日期","签到时间","迟到H"
Dim d As Date = e.DataRow("日期")
Dim qd As Date = e.DataRow("签到时间")
If d.DayOfWeek = 1 OrElse d.DayOfWeek = 2 OrElse d.DayOfWeek = 3 OrElse d.DayOfWeek = 4 OrElse
d.DayOfWeek = 5 Then
Dim bz As Date = "8:00"
If qd <= "8:00" Then
qd = "8:00"
ElseIf qd > "8:00" Then
qd = e.DataRow("签到时间")
Dim sp As TimeSpan = qd - bz
Dim n As Double = Math.Ceiling(sp.TotalMinutes / 30)
e.DataRow("迟到H") = n*0.5
End If
End If
If E.DataRow("签到时间") = Nothing Then
e.DataRow("迟到H") = Nothing
End If
End Select
Select Case e.DataCol.Name
Case "日期","签退时间","早退H"
Dim d As Date = e.DataRow("日期")
Dim qd As Date = e.DataRow("签退时间")
If d.DayOfWeek = 1 OrElse d.DayOfWeek = 2 OrElse d.DayOfWeek = 3 OrElse d.DayOfWeek = 4 OrElse
d.DayOfWeek = 5 Then
Dim bz As Date = "17:05"
If qd < "17:05" Then
qd = e.DataRow("签退时间")
Dim sp As TimeSpan = bz - qd
Dim n As Double = Math.Ceiling(sp.TotalMinutes / 30)
e.DataRow("早退H") = n*0.5
End If
End If
If E.DataRow("签退时间") = Nothing Then
e.DataRow("早退H") = Nothing
End If
End Select