'截取时间,17:02 按17:30算起,17:50 按18:00算起,如果刚刚好17:30 则不变。 截取后再统计有效加班时间。
Private Function getCutTime(dtm As Date) As Date
Dim d As Date
Select Case dtm.Minute
Case 0 To 29
d = dtm.AddMinutes(30 - dtm.Minute)
Case 30
d = dtm
Case 31 To 59
d = dtm.AddMinutes(60 - dtm.Minute)
End Select
Return d
End Function
With xRow.Cells
'-----------1-------------
'.Add(New XPTable.Models.Cell(otd.StaffID.ToString))
'.Add(New XPTable.Models.Cell(otd.OverTimeDayDate))
'.Add(New XPTable.Models.Cell(otd.WorkNo))
'.Add(New XPTable.Models.Cell(otd.UserName))
'.Add(New XPTable.Models.Cell(otd.WorkType))
'.Add(New XPTable.Models.Cell(otd.OTReason))
'.Add(New XPTable.Models.Cell(ShowXpTime(otd.OTExpectStartDate)))
'.Add(New XPTable.Models.Cell(ShowXpTime(otd.OTExpectEndDate)))
'.Add(New XPTable.Models.Cell(ShowXpTime(otd.OTFinishStartDate)))
'.Add(New XPTable.Models.Cell(ShowXpTime(otd.OTFinishEndDate)))
'.Add(New XPTable.Models.Cell())
'.Add(New XPTable.Models.Cell(otd.OTStatus))
'.Add(New XPTable.Models.Cell(otd.OTSumHours.ToString))
'.Item(eCol.IsValidated).Checked = otd.IsValidated
'-----------2-------------
For i As Integer = 0 To Cmod.Columns.Count - 1
.Add(New XPTable.Models.Cell())
Next
.Item(eCol.StaffID).Text = otd.StaffID.ToString
.Item(eCol.OTDay).Data = otd.OverTimeDayDate
.Item(eCol.WorkNo).Text = otd.WorkNo
.Item(eCol.UserName).Text = otd.UserName
.Item(eCol.WorkType).Text = otd.WorkType
.Item(eCol.OTReason).Text = otd.OTReason
.Item(eCol.OTExpectStart).Text = ShowXpTime(otd.OTExpectStartDate)
.Item(eCol.OTExpectEnd).Text = ShowXpTime(otd.OTExpectEndDate)
.Item(eCol.OTFinishStart).Text = ShowXpTime(otd.OTFinishStartDate)
.Item(eCol.OTFinishEnd).Text = ShowXpTime(otd.OTFinishEndDate)
.Item(eCol.IsValidated).Checked = otd.IsValidated
.Item(eCol.OTStatus).Text = otd.OTStatus
.Item(eCol.OTSumHours).Text = otd.OTSumHours.ToString
End With