@php $rawData = $val['data'] ?? '{}'; if (is_string($rawData)) { $data = json_decode($rawData); } elseif (is_array($rawData) || is_object($rawData)) { $data = json_decode(json_encode($rawData)); } else { $data = json_decode('{}'); } if (!$data) { $data = json_decode('{}'); } $list = []; if (!empty($data->list) && is_array($data->list)) { $list = $data->list; } elseif (!empty($data->salesReportList) && is_array($data->salesReportList)) { $list = $data->salesReportList; } elseif (!empty($data->totalSalesList) && is_array($data->totalSalesList)) { $list = $data->totalSalesList; } elseif (!empty($data->payload) && is_array($data->payload)) { $list = $data->payload; } elseif (!empty($data->payload) && is_object($data->payload)) { if (!empty($data->payload->invoiceNo)) { $list = [$data->payload]; } else { $list = array_values((array)$data->payload); } } elseif (!empty($data->invoiceNo)) { $list = [$data]; } else { foreach ((array)$data as $propVal) { if (is_array($propVal) && !empty($propVal)) { $first = $propVal[0] ?? null; if (is_object($first) && !empty($first->invoiceNo)) { $list = $propVal; break; } } elseif (is_object($propVal)) { $candidate = array_values((array)$propVal); $first = $candidate[0] ?? null; if (is_object($first) && !empty($first->invoiceNo)) { $list = $candidate; break; } } } } $sumSaleAmount = 0; $sumDiscountAmount = 0; $sumNetPayable = 0; foreach ($list as $row) { $saleAmount = (float)($row->saleAmount ?? $row->totalSaleAmount ?? 0); $unitPrice = (float)($row->unitPrice ?? $row->saleAmount ?? 0); $itemDiscountPercent = (float)($row->itemDiscount ?? 0); $itemDiscountAmount = ($itemDiscountPercent > 0) ? (($unitPrice * $itemDiscountPercent) / 100) : (float)($row->totalDiscountAmount ?? 0); $beneficiaryAmount = (float)($row->beneficiaryAmount ?? $row->netPayable ?? 0); $sumSaleAmount += $saleAmount; $sumDiscountAmount += $itemDiscountAmount; $sumNetPayable += $beneficiaryAmount; } $totalCollection = (float)($data->totalCollection ?? $sumSaleAmount); $totalBeneficiaryAmount = (float)($data->beneficiaryTotal ?? $data->totalBeneficiaryAmount ?? $sumNetPayable); $totalDiscountAmount = (float)($data->totalDiscountAmount ?? $data->totalDiscount ?? $data->totalDiscountOrFreeAmount ?? $sumDiscountAmount); $netTotalAmount = (float)($data->netTotalAmount ?? $data->totalNetAmount ?? $data->totalAmount ?? ($totalCollection - ($totalBeneficiaryAmount + $totalDiscountAmount))); $totalInWord = trim((string)($data->inWord ?? '')); if ($totalInWord !== '' && stripos($totalInWord, 'taka') === false) { $totalInWord .= ' taka only.'; } $tableUnitPriceTotal = (float)($data->totalUnitPriceAmount ?? $sumSaleAmount); $tableDiscountTotal = (float)($data->totalDiscountAmount ?? $data->totalOverAllDisAmount ?? $totalDiscountAmount); $tableBeneficiaryTotal = (float)($data->totalBeneficiaryAmount ?? $data->beneficiaryTotal ?? $sumNetPayable); $tableNetTotal = (float)($data->totalNetAmount ?? ($tableUnitPriceTotal - ($tableDiscountTotal + $tableBeneficiaryTotal))); @endphp
@if(!empty($data->bannerUrl)) Banner @endif
Report Summary
Start Date : @if(!empty($data->startDate)) {{ $Controller::dateFormatter($data->startDate) }} @endif
End Date : @if(!empty($data->endDate)){{ $Controller::dateFormatter($data->endDate) }}@endif
Total Collection Amount : {{ number_format($totalCollection, 2) }}
Total Beneficiary Amount : {{ number_format($totalBeneficiaryAmount, 2) }}
Total Discount Amount : {{ number_format($totalDiscountAmount, 2) }}
Net Total Amount : {{ number_format($netTotalAmount, 2) }}
In Word : {{ $totalInWord }}
Collection Report
@if(!empty($list) && is_array($list)) @foreach($list as $index => $req) @php $invoiceDate = $req->invoiceDate ?? $req->billingDate ?? null; $unitPrice = (float)($req->unitPrice ?? $req->saleAmount ?? $req->totalSaleAmount ?? 0); $discAmount = (float)($req->discountAmount ?? (($unitPrice * (float)($req->itemDiscount ?? 0)) / 100)); $beneficiaryAmount = (float)($req->beneficiaryAmount ?? 0); $netAmount = (float)($req->netAmount ?? ($unitPrice - ($discAmount + $beneficiaryAmount))); @endphp @endforeach @endif
SL Invoice Date Invoice No Customer Name Customer Phone Beneficiary Name Product Name Unit Price Discount Amount Beneficiary Amount Net Amount
{{ $index + 1 }} {{ !empty($invoiceDate) ? $Controller::dateFormatter($invoiceDate) : '' }} {{ $req->invoiceNo ?? '' }} {{ $req->customerName ?? '' }} {{ $req->customerPhone ?? '-' }} {{ $req->beneficiaryName ?? '' }} {{ $req->productName ?? '' }} {{ number_format($unitPrice, 2) }} {{ number_format($discAmount, 2) }} {{ number_format($beneficiaryAmount, 2) }} {{ number_format($netAmount, 2) }}
Total = {{ number_format($tableUnitPriceTotal, 2) }} {{ number_format($tableDiscountTotal, 2) }} {{ number_format($tableBeneficiaryTotal, 2) }} {{ number_format($tableNetTotal, 2) }}
Print Date & Time - {{ now()->timezone('Asia/Dhaka')->format('d-M-Y g:i A') }}    Powered By - {{ $data->poweredBy ?? '' }}