@extends('app-new') @push('head-script') @endpush @push('content-header') @endpush @push('prev-next-head')
@endpush @php // Total Wage column should appear right after the last present wage // component, in priority order: special > hra > da > basic_salary. $wageAliases = ['basic_salary', 'da', 'hra', 'special']; $totalWageAfterAlias = null; foreach (['special', 'hra', 'da', 'basic_salary'] as $alias) { if ($payrollBasicComponents->contains('alias', $alias)) { $totalWageAfterAlias = $alias; break; } } $hasTotalWage = $totalWageAfterAlias !== null; @endphp @section('content')
@foreach ($payrollBasicComponents as $component) @if($hasTotalWage && $component->alias == $totalWageAfterAlias) @endif @endforeach @foreach ($leaveTypes as $leave) @endforeach @foreach ($payrollDeductionComponents as $component) @endforeach @foreach ($employees as $employee) @php $payrollEmployeeTempStructures = isset($employee->employeeCtcMaster->payrollEmployeeTempStructures) ? $employee->employeeCtcMaster->payrollEmployeeTempStructures ->groupBy('type_id') ->toArray() : []; $slipLogs = []; if (isset($employee->salarySlip->slipLogs) && !empty($employee->salarySlip->slipLogs)) { $slipLogs = $employee->salarySlip->slipLogs->pluck('calculate_salary', 'type_id'); } $totalBasic = 0; $totalDeduction = 0; @endphp {{-- Basic Components --}} @php $totalWage = 0; $totalBasic = 0; @endphp @foreach($payrollBasicComponents as $component) @php $amount = isset($payrollEmployeeTempStructures[$component->id][0]) ? $payrollEmployeeTempStructures[$component->id][0]['calculate_salary'] : 0; if (in_array($component->alias, $wageAliases)) { $totalWage += $amount; } else { $totalBasic += $amount; } @endphp @if($hasTotalWage && $component->alias == $totalWageAfterAlias) @endif @endforeach @php // Final Total Basic = Total Wage + Other Basic Components $totalBasic += $totalWage; @endphp @php $employeeLeaves = $employee->attendanceSummary ->groupBy('leave_type') ->map(function ($item) { return $item->sum(function ($attendance) { return ($attendance->first_half_status == 'L' ? ($attendance->is_short_leave ? 1 : 0.5) : 0) + ($attendance->second_half_status == 'L' ? ($attendance->is_short_leave ? 1 : 0.5) : 0); }); }); @endphp @foreach($leaveTypes as $leave) @endforeach {{-- Deduction Components --}} @foreach($payrollDeductionComponents as $component) @php $amount = $slipLogs[$component->id] ?? 0; $totalDeduction += $amount; @endphp @endforeach @endforeach @if (count($employees) == 0)
No record(s) found!
@endif
Showing {{ ($employees->currentPage() - 1) * $employees->perPage() + 1 }} to {{ ($employees->currentPage() - 1) * $employees->perPage() + $employees->count() }} of {{ $employees->total() }} entries
{{ $employees->appends(request()->except('page'))->links('partials.pagination') }}
Filter
@endsection @push('footer-script') @endpush