@{ ViewData["Title"] = "OT Details Review"; Layout = "~/Views/Shared/_Layout.cshtml"; }
| 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 | |||||||||||||||||||||
| {{ calculateBasicSalary() }} | {{ calculateOrp() }} | {{ calculateHrp() }} | {{ 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 }} | ||||||||||||||||||