@extends('layouts.pdf')

@section('styles')
<style>
    body {
        font-family: Arial, sans-serif;
        background-color: #f0f2f5;
        color: #333;
    }
    .payslip-container {
        width: 8.5in;
        min-height: 11in;
        padding: 20px;
        border: 1px solid #dcdcdc;
        background-color: #fff;
        margin: 0 auto;
    }
    .payslip-header {
        text-align: center;
        margin-bottom: 12px;
        font-size: 22px;
        font-weight: bold;
        border-bottom: 1px solid #000;
        /* border-bottom: 1px solid #000; */
        padding-bottom: 6px;
    }
    .details-section {
        /* border: 1px solid #000; */
        padding: 4px 2px;
        margin-bottom: 10px;
    }
    .details-table {
        width: 100%;
        border-collapse: collapse;
    }
    .details-table td {
        padding: 3px 4px;
        font-size: 14px;
        vertical-align: top;
    }
    .details-table td:nth-child(1), .details-table td:nth-child(3) {
        font-weight: bold;
    }
    .financial-row {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 0;
    }
    .fin-cell {
        width: 49%;
        vertical-align: top;
    }
    .financial-table {
        width: 100%;
        border: none !important;
        border-collapse: collapse;
        margin-bottom: 2px;
    }
    .financial-table th, .financial-table td {
        padding: 4px;
        text-align: left;
        font-size: 14px;
    }
    .financial-table th {
        font-weight: bold;
    }
    .financial-table .amount {
        text-align: right;
    }
    .net-pay-section {
        /* border: 1px solid #000; */
        margin-top: 6px;
        padding: 6px 4px;
        font-weight: bold;
        font-size: 15px;
    }
    .amount-in-words {
        margin-top: 8px;
        font-size: 14px;
    }
    .footer {
        margin-top: 14px;
        padding-top: 8px;
        border-top: 1px solid #000;
        text-align: center;
        font-size: 14px;
    }

    /* Remove ALL inner table borders */
    .details-table,
    .details-table tr,
    .details-table td,
    .details-table th,
    .financial-table,
    .financial-table tr,
    .financial-table td,
    .financial-table th {
        border: none !important;
    }

    /* Keep border-top ONLY for the total row for separation */
    .financial-table tr.total-row th,
    .financial-table tr.total-row td {
        border-top: 1px solid #000 !important;
        font-weight: bold;
    }
    /* .details-section keeps its border for the outer block */
</style>
@endsection

@section('content')
<body>
    <div class="payslip-container">
        <div class="payslip-header">
            {{ $payrollTranslation['pay_slip_for_duration'] }}
            {{ \Carbon\Carbon::create()->month($payroll->month ?? 1)->format('F') }}
            {{ $payroll->year ?? $payrollTranslation['year_not_available'] }}
        </div>
        <div class="details-section">
            <table class="details-table">
                <tbody>
                    <tr>
                        <td>Name:</td><td>{{ optional($payroll->user)->name ?? 'N/A' }}</td>
                        <td>Employee ID:</td><td>{{ optional($payroll->user)->employee_number ?? 'N/A' }}</td>
                    </tr>
                    <tr>
                        <td>Designation:</td><td>{{ optional($payroll->user)->designation->name ?? 'N/A' }}</td>
                        <td>Bank Name:</td><td>{{ optional($payroll->user)->bank_name ?? 'N/A' }}</td>
                    </tr>
                    <tr>
                        <td>Department:</td><td>{{ optional($payroll->user)->department->name ?? 'N/A' }}</td>
                        <td>Bank Account No:</td><td>{{ optional($payroll->user)->account_number ?? 'N/A' }}</td>
                    </tr>
                    <tr>
                        <td>Location:</td><td>{{ optional($payroll->user)->address ?? 'N/A' }}</td>
                        <td>PAN No:</td><td>{{ optional($payroll->user)->pan_number ?? 'N/A' }}</td>
                    </tr>
                    <tr>
                        <td>Effective Work Days:</td><td>{{$payroll->working_days }}</td>
                        <td></td><td></td>
                    </tr>
                    <tr>
                        <td>LOP:</td><td>{{$payroll->unpaid_leaves }}</td>
                        <td></td><td></td>
                    </tr>
                </tbody>
            </table>
        </div>
        @php
        // Calculate the total earnings
        $filteredEarningComponents = collect($payroll->payrollComponents)->whereIn('type', [
            'custom_earning',
            'earnings',
        ]);
        $totalMonthlyEarning = $filteredEarningComponents->sum('monthly_value') ?? 0;
        // Calculate special allowance
        $specialAllowance = $user->monthly_amount - $payroll->basic_salary - $totalMonthlyEarning;
        // earning components
        $additionalEarnings = collect($payroll->payrollComponents)
            ->where('type', 'additional_earning')
            ->values();
        $totalAdditionalEarning = $additionalEarnings->sum('monthly_value') ?? 0;
        $earningsComponents = collect($payroll->payrollComponents)
            ->whereIn('type', ['earnings', 'custom_earning'])
            ->values();
        // gross earnings sum
        $grossEarnings = round($payroll->basic_salary + $specialAllowance + $totalMonthlyEarning + $totalAdditionalEarning, 2);
        // deductions components
        $deductionComponents = collect($payroll->payrollComponents)
            ->groupBy('type')
            ->only(['deductions', 'pre_payments', 'custom_deduction']);
        // sum of deduction components
        $filteredDeductionComponents = collect($payroll->payrollComponents)->whereIn('type', [
            'custom_deduction',
            'deductions',
            'pre_payments',
        ]);
        $totalMonthlyDeductions = $filteredDeductionComponents->sum(function ($component) {
            if($component->flags != 'disable'){
                return $component['monthly_value'] ?? 0;
            }
        });
        @endphp
        <table class="financial-row">
            <tr>
                <td class="fin-cell">
                    <table class="financial-table" style="border: none !important;">
                        <thead>
                            <tr><th>Earnings</th><th class="amount">Amount</th></tr>
                        </thead>
                        <tbody>
                            <tr><td>Basic</td><td class="amount">{{App\Classes\Common::formatAmountCurrency($company->currency, $payroll->basic_salary) }}</td></tr>
                            {{-- Regular Earnings and Custom Earnings --}}
                            @if ($earningsComponents->isNotEmpty())
                            @foreach ($earningsComponents as $component)
                            <tr>
                                <td class="table-text text-position" style="text-align: left">{{ $component->name }}</td>
                                <td class="table-text" style="text-align: right;">
                                    {{ App\Classes\Common::formatAmountCurrency($company->currency, $component->monthly_value) }}
                                </td>
                            </tr>
                            @endforeach
                            @endif
                            @if ($specialAllowance > 0)
                            <tr>
                                <td class="table-text text-position" style="text-align: left">
                                    {{ $payrollTranslation['special_allowances'] }}
                                </td>
                                <td class="table-text" style="text-align: right;">
                                    {{ App\Classes\Common::formatAmountCurrency($company->currency, $specialAllowance) }}
                                </td>
                            </tr>
                            @endif

                            {{-- Additional Earnings --}}
                            @if ($additionalEarnings->isNotEmpty())
                            @foreach ($additionalEarnings as $component)
                            <tr>
                                <td class="table-text text-position" style="text-align: left">{{ $component->name }}</td>
                                <td class="table-text" style="text-align: right;">
                                    {{ App\Classes\Common::formatAmountCurrency($company->currency, $component->monthly_value)}}
                                </td>
                            </tr>
                            @endforeach
                            @endif
                        </tbody>
                        <tr class="total-row">
                            <th>Total Earnings (Rs)</th>
                            <td class="amount">{{ App\Classes\Common::formatAmountCurrency($company->currency, $grossEarnings) }}</td>
                        </tr>
                    </table>
                </td>
                <td class="fin-cell">
                    <table class="financial-table" style="border: none !important;">
                        <thead>
                            <tr><th>Deductions</th><th class="amount">Amount</th></tr>
                        </thead>
                        <tbody>
                            @foreach ($deductionComponents as $type => $components)
                            @foreach ($components as $component)
                            @if($component['flags'] != 'disable')
                            <tr>
                                <td class="table-text" style="color: black;text-align: left">
                                    {{ $component['name'] }}
                                </td>
                                <td class="table-text" style="color: black;text-align: right">
                                    {{ App\Classes\Common::formatAmountCurrency($company->currency, $component['monthly_value']) }}
                                </td>
                            </tr>
                            @endif
                            @endforeach
                            @endforeach
                        </tbody>
                        <tr class="total-row">
                            <th>Total Deductions (Rs)</th>
                            <td class="amount"> {{ App\Classes\Common::formatAmountCurrency($company->currency, $totalMonthlyDeductions) }}</td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
        <div class="net-pay-section">
            Net Pay For The Month: {{ App\Classes\Common::formatAmountCurrency($company->currency, $payroll->net_salary) }}
        </div>
        <div class="amount-in-words">
            {{ $netSalaryInWords}}
        </div>
        <div class="footer">
            This is a system generated payslip and does not require signature.
        </div>
    </div>
@endsection
