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
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 = "13: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 = Math.Floor(sp.TotalMinutes / 30)
If qd < "12:00" AndAlso dt > "13:00" Then
e.DataRow("二倍加班H") = n*0.5 - 1
ElseIf qd < "12:00" AndAlso dt >= "19:30" Then
e.DataRow("二倍加班H") = n*0.5 - 1.5
Else
e.DataRow("二倍加班H") = n*0.5
End If
Else
Dim bz As Date = "17:05"
If dt >= bz Then
If dt >= "19:35" Then
dt = dt.AddMinutes(-30)
ElseIf dt < "17:35" Then
dt = "17:06"
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 = Math.Floor(sp.TotalMinutes / 30)
e.DataRow("一倍半加班H") = n*0.5
End If
End If