@extends('layouts.appv2') @section('content')
@php // Define unit colors based on the image $unitColors = [ 'GCEO OFFICE' => 'unit-gceo', 'CORPORATE DIVISION' => 'unit-corporate', 'SALES & MARKETING DIVISION' => 'unit-sales', 'UNIT CC' => 'unit-cc', 'OPERATION DIVISION' => 'unit-operation', 'UNIT STD' => 'unit-std', 'UNIT PMO' => 'unit-pmo', 'UNIT TS' => 'unit-ts', 'UNIT SS' => 'unit-ss', 'UNIT IRM' => 'unit-irm', ]; @endphp @foreach($groupedEmployees as $unitName => $employees) @php $unitColorClass = $unitColors[strtoupper($unitName)] ?? 'employee-row'; $unitCounter = 0; // Reset counter for each unit @endphp @foreach($employees as $employee) @php $unitCounter++; // Calculate leave taken for current year $ALtaken = \App\Models\LeaveApply::where('user_id', $employee->employee_user_id) ->where('leave_type_id', 1) ->where('all_status', 1) ->whereYear('start_date', date('Y')) ->sum('total_days') ?? 0; $ELtaken = \App\Models\LeaveApply::where('user_id', $employee->employee_user_id) ->where('leave_type_id', 2) ->where('all_status', 1) ->whereYear('start_date', date('Y')) ->sum('total_days') ?? 0; $MCtaken = \App\Models\LeaveApply::where('user_id', $employee->employee_user_id) ->where('leave_type_id', 3) ->where('all_status', 1) ->whereYear('start_date', date('Y')) ->sum('total_days') ?? 0; $MLtaken = \App\Models\LeaveApply::where('user_id', $employee->employee_user_id) ->where('leave_type_id', 3) // Medical Leave (MC) ->where('all_status', 1) ->whereYear('start_date', date('Y')) ->sum('total_days') ?? 0; // Sum total days $UPLtaken = \App\Models\LeaveApply::where('user_id', $employee->employee_user_id) ->where('leave_type_id', 12) // UL - Unpaid Leave ->where('all_status', 1) ->whereYear('start_date', date('Y')) ->sum('total_days') ?? 0; $TStaken = \App\Models\LeaveApply::where('user_id', $employee->employee_user_id) ->where('leave_type_id', 13) // TS - Time Slip ->where('all_status', 1) ->whereYear('start_date', date('Y')) ->sum('total_days') ?? 0; // Get bank leave from previous years (dynamically calculated) $currentYear = date('Y'); $twoYearsAgo = $currentYear - 2; $lastYear = $currentYear - 1; $bankLeaveTwoYearsAgo = \App\Models\LeaveEntitled::where('user_id', $employee->employee_user_id) ->where('year_entitled', $twoYearsAgo) ->value('balance_last_year') ?? 0; $bankLeaveLastYear = \App\Models\LeaveEntitled::where('user_id', $employee->employee_user_id) ->where('year_entitled', $lastYear) ->value('balance_last_year') ?? 0; $bankLeaveTotal = $bankLeaveTwoYearsAgo + $bankLeaveLastYear; // Current year entitlements $AL = $employee->AL ?? 0; $EL = $employee->EL ?? 0; $MC = $employee->ML ?? 0; // MC is Medical Leave entitled (ML in database) $RL = $employee->RL ?? 0; $carryForward = $employee->carry_forward ?? 0; $unrecordedLeave = $employee->unrecorded_leave ?? 0; // Calculations - Include unrecorded leave for existing users only $totalLeaveEntitled = $AL + $carryForward + $unrecordedLeave; // AL + Carry Forward + Unrecorded $totalLeaveTaken = $ALtaken + $ELtaken; $ALbalance = $carryForward + $AL + $RL + $unrecordedLeave - $totalLeaveTaken; $MLbalance = $MC - $MLtaken; // MC entitled minus ML taken @endphp @endforeach @endforeach
{{ strtoupper($unitName) }}
{{ $unitCounter }} {{ $employee->employee_first_name }} {{ $employee->employee_joined_at ? date('d-M-y', strtotime($employee->employee_joined_at)) : '-' }} {{ $bankLeaveTwoYearsAgo }} {{ $bankLeaveLastYear }} {{ $bankLeaveTotal }} {{ $carryForward }} {{ $AL }} {{ $RL }} {{ $unrecordedLeave }} {{ $totalLeaveEntitled }} {{ $ALtaken }} {{ $ELtaken }} {{ $totalLeaveTaken }} {{ $ALbalance }} {{ $MC }} {{ $MLtaken }} {{ $MLbalance }} {{ $UPLtaken }} {{ $TStaken }}
LEGEND - COLOR CODING
Pink Background = Carry Forward from 2024 (Balance AL 2024 > 0)
Beige Background = Replacement Leave Available (RL 2025 > 0)
Yellow Background = Low AL Balance (< 5 days) OR Emergency Leave Taken
Text
Blue Text = Annual Leave Taken
Text
Red Text = Emergency Leave OR Unpaid Leave Taken
@endsection