@{ ViewData["Title"] = "OT Details Review"; Layout = "~/Views/Shared/_Layout.cshtml"; }
Employee Name: {{ userInfo.fullName }}
Department: {{ userInfo.departmentName || 'N/A' }}
Flexi Hour: {{ userInfo.flexiHour || 'N/A' }}
Basic Salary
(RM)
ORP HRP Date Office Hour After Office Hour OT Hrs
(Office Hour)
OT Hrs
(After Office Hour)
Normal Day Off Day Rest Day Public Holiday Total OT Hrs Total OT Hrs
ND & OD
Total OT Hrs
RD
Total OT Hrs
PH
OT Amt (RM) Station Description Action
From To Break From To Break ND OT after office hrs OD Within office hrs < 4hrs OD Within office hrs > 4hrs < 8 hrs OD After office hrs RD Within office hrs < 4hrs RD Within office hrs > 4hrs < 8 hrs RD After office hrs PH Within office hrs < 8 hrs PH After office hrs
{{ formatDate(record.otDate) }} {{ formatTime(record.officeFrom) }} {{ formatTime(record.officeTo) }} {{ formatBreakToHourMinute(record.officeBreak, false) }} {{ formatTime(record.afterFrom) }} {{ formatTime(record.afterTo) }} {{ formatBreakToHourMinute(record.afterBreak, false) }} {{ formatTimeFromDecimal(calculateRawDuration(record.officeFrom, record.officeTo, record.officeBreak)) }} {{ formatTimeFromDecimal(calculateRawDuration(record.afterFrom, record.afterTo, record.afterBreak)) }} {{ classifyOt(record).ndAfter }} {{ classifyOt(record).odUnder4 }} {{ classifyOt(record).odBetween4And8 }} {{ classifyOt(record).odAfter }} {{ classifyOt(record).rdUnder4 }} {{ classifyOt(record).rdBetween4And8 }} {{ classifyOt(record).rdAfter }} {{ classifyOt(record).phUnder8 }} {{ classifyOt(record).phAfter }} {{ calculateTotalOtHrs(record) }} {{ calculateNdOdTotal(record) }} {{ calculateRdTotal(record) }} {{ calculatePhTotal(record) }} {{ calculateOtAmount(record) }} {{ record.stationName || 'N/A' }}
{{ record.otDescription }}
No overtime details found for this submission.
TOTAL TOTAL {{ formatBreakToHourMinute(totals.officeBreak) }} {{ formatBreakToHourMinute(totals.afterBreak) }} {{ totals.ndAfter }} {{ totals.odUnder4 }} {{ totals.odBetween4And8 }} {{ totals.odAfter }} {{ totals.rdUnder4 }} {{ totals.rdBetween4And8 }} {{ totals.rdAfter }} {{ totals.phUnder8 }} {{ totals.phAfter }} {{ totals.totalOtHrs }} {{ totals.totalNdOd }} {{ totals.totalRd }} {{ totals.totalPh }} {{ totals.otAmt }}
@section Scripts { }