@extends('layouts.master') @push('css') @endpush @section('content')

Service Purchase Report

@if($reportData) Print @endif Reset

@if($reportData) @php $get = function($item, $key, $default = '') { if (is_array($item)) return $item[$key] ?? $default; if (is_object($item)) return $item->$key ?? $default; return $default; }; $fmt = fn($v) => $v == 0 ? '-' : ($v < 0 ? '(' . number_format(abs($v), 3) . ')' : number_format($v, 3)); $partiesList = $reportData['parties']; $grandTotal = $reportData['grandTotal']; @endphp @if(empty($partiesList))
No records found for selected filters.
@else
@foreach($partiesList as $party) @foreach($get($party, 'vehicles', []) as $vehicle) @foreach($get($vehicle, 'bills', []) as $bill) @php $items = $get($bill, 'items', []); @endphp @foreach($items as $idx => $item) @if($idx === 0) @endif @endforeach @if(empty($items)) @endif @endforeach @endforeach @endforeach
DateSP #Bill #Vehicle # PartyExpense A/C NarrationQtyUnitPriceAmount
Party: {{ strtoupper($get($party, 'party_name')) }}
{{ \Carbon\Carbon::parse($get($bill, 'date'))->format('d/m/y') }} {{ $get($bill, 'voucher_no') }} {{ $get($bill, 'bill_no') }} {{ $get($vehicle, 'truck_no') }} {{ strtoupper($get($bill, 'party_name')) }}{{ $get($item, 'expense_account_name', 'LABOUR') }} {{ $get($item, 'narration') }} {{ $fmt($get($item, 'qty', 0)) }} {{ $get($item, 'unit', 'Kgs') }} {{ number_format($get($item, 'price', 0), 1) }} {{ $fmt($get($item, 'amount', 0)) }}
{{ \Carbon\Carbon::parse($get($bill, 'date'))->format('d/m/y') }} {{ $get($bill, 'voucher_no') }} {{ $get($bill, 'bill_no') }} {{ $get($vehicle, 'truck_no') }} {{ strtoupper($get($bill, 'party_name')) }}
Vehicle {{ $get($vehicle, 'truck_no') }} — Total {{ number_format($get($vehicle, 'vehicleTotals')['total_qty'] ?? 0, 3) }} {{ $fmt($get($vehicle, 'vehicleTotals')['total_amount'] ?? 0) }}
GRAND TOTAL {{ number_format($grandTotal['total_qty'] ?? 0, 3) }} {{ $fmt($grandTotal['total_amount'] ?? 0) }}
@endif @endif
@endsection