@extends('admin.layouts.app') @section('title', get_setting('site_name').' | '.__('Leave Report')) @section('content')
{{ __('Leave Report') }}
{{ __('Matrix reports: pick year; month is optional (yearly vs monthly).') }}
@if(($report_type ?? 'staff') === 'staff' && $staff_id && $staff_info && $leaves !== null)
@if(get_setting('system_logo_white') != null) {{ get_setting('site_name') }} @endif
{{ get_setting('site_name') }}
{{ !empty($staff_info->warehouse) ? $staff_info->warehouse->address : '' }}
{{ __('Employee Code') }} {{ !empty($staff_info->user) ? $staff_info->user->id : '' }} {{ __('Designation') }} {{ !empty($staff_info->designation) ? $staff_info->designation->name : '-' }}
{{ __('Employee Name') }} {{ !empty($staff_info->user) ? $staff_info->user->name : '-' }} {{ __('Warehouse/Branch') }} {{ !empty($staff_info->warehouse) ? $staff_info->warehouse->name : '-' }}
{{ __('Leave Report') }} @if(request()->month) {{ date('F', mktime(0, 0, 0, (int)request()->month, 1)) }} — @endif {{ $year ? $year : __('All periods') }}
@forelse($leaves as $key => $leave) @empty @endforelse
# {{ __('Staff Name') }} {{ __('Apply Date') }} {{ __('Paid Leave') }} {{ __('From') }} {{ __('To') }} {{ __('Duration') }} {{ __('Remarks') }} {{ __('Approval') }}
{{ $key + 1 }} {{ !empty($staff_info->user) ? $staff_info->user->name : '-' }} {{ $leave->apply_date }} @if($leave->type == 'paid') @else @endif {{ $leave->start }} {{ $leave->end }} {{ $leave->number_of_days }} {{ __('Days') }} {{ $leave->reason }} @if($leave->status == 1) @else @endif
{{ __('No record found') }}
{{ __('Leave Summary') }}
@foreach(\App\Models\LeaveType::where('group_id', $staff_info->leave_group_id)->get() as $leave_type) @php $taken = $leaves->where('leave_type_id', $leave_type->id)->sum('number_of_days'); $adjustment_balance = $adjustment->where('leave_type_id', $leave_type->id)->sum('balance'); $sy = (int)($summary_year ?? date('Y')); @endphp @endforeach
{{ $leave_type->name }} {{ __('Allowed') }}: @if (date('Y', strtotime($staff_info->joing_date)) == $sy) {{ $leave_have = round(($leave_type->day / 12) * (12 - date('m', strtotime($staff_info->joing_date)) + 1), 0) }} @else {{ $leave_have = $leave_type->day }} @endif {{ __('Taken') }}: {{ $taken }} {{ __('Adjustment') }}: {{ $adjustment_balance }} {{ __('Remaining') }}: {{ ($leave_have + $adjustment_balance) - $taken }}
@endif @if(!empty($showMatrixReport) && $staff_infos && $staff_infos->isNotEmpty() && $leaves !== null)
@if(get_setting('system_logo_white') != null) {{ get_setting('site_name') }} @endif
{{ get_setting('site_name') }}
@if(!empty($matrixSubTitle))
{{ $matrixTitle }} — {{ $matrixSubTitle }}
@else
{{ $matrixTitle ?? '' }}
@endif
{{ __('Leave summary report') }} @if(request()->month) — {{ date('F', mktime(0, 0, 0, (int)request()->month, 1)) }} @endif @if($year) — {{ $year }} @endif
@foreach($staff_infos as $staff_info)
@php $leaveTypes = \App\Models\LeaveType::where('group_id', $staff_info->leave_group_id)->get(); @endphp @php $isFirstRow = true; @endphp @foreach($leaveTypes as $leave_type) @php $taken = $leaves->where('staff_id', $staff_info->id) ->where('leave_type_id', $leave_type->id) ->sum('number_of_days'); $leave_have = (date('Y', strtotime($staff_info->joing_date)) == $year) ? round(($leave_type->day / 12) * (12 - date('m', strtotime($staff_info->joing_date)) + 1), 0) : $leave_type->day; $adjustment_balance = $adjustment->where('leave_type_id', $leave_type->id)->where('staff_id', $staff_info->id)->sum('balance'); @endphp @if ($isFirstRow) @php $isFirstRow = false; @endphp @endif @endforeach
{{ $staff_info->user->name ?? '—' }} ({{ $staff_info->user->id ?? '—' }})
{{ $staff_info->department->name ?? '—' }} / {{ $staff_info->warehouse->name ?? '—' }}
{{ $leave_type->name }} {{ __('Allowed') }}: {{ $leave_have }} {{ __('Taken') }}: {{ $taken }} {{ __('Adjustment') }}: {{ $adjustment_balance }} {{ __('Remaining') }}: {{ ($leave_have + $adjustment_balance) - $taken }}
@endforeach
@endif @endsection @section('script') @endsection