@extends('printlayout') @section('content') @php $runningDebit = 0; $runningCredit = 0; $runningBalance = 0; $TotalBalance = 0; // Function for formatting accounting values if (!function_exists('formatAccounting')) { function formatAccounting($amount) { return $amount < 0 ? '(' . number_format(abs($amount), 2) . ')' : number_format($amount, 2); } } // Grouping data at multiple levels $groupedData = $ledgerentries->groupBy('GroupName')->map(function ($group) { return [ 'total_debit' => $group->sum('TotalDebit'), 'total_credit' => $group->sum('TotalCredit'), 'total_balance' => $group->sum('TotalDebit') - $group->sum('TotalCredit'), 'entries' => $group->groupBy('AccountNature')->map(function ($nature) { return [ 'total_debit' => $nature->sum('TotalDebit'), 'total_credit' => $nature->sum('TotalCredit'), 'total_balance' => $nature->sum('TotalDebit') - $nature->sum('TotalCredit'), 'entries' => $nature->groupBy('MainParentAccount')->map(function ($mainParent) { return [ 'total_debit' => $mainParent->sum('TotalDebit'), 'total_credit' => $mainParent->sum('TotalCredit'), 'total_balance' => $mainParent->sum('TotalDebit') - $mainParent->sum('TotalCredit'), 'entries' => $mainParent->groupBy('ParentAccount')->map(function ($parent) { return [ 'total_debit' => $parent->sum('TotalDebit'), 'total_credit' => $parent->sum('TotalCredit'), 'total_balance' => $parent->sum('TotalDebit') - $parent->sum('TotalCredit'), 'entries' => $parent ]; }) ]; }) ]; }) ]; }); @endphp
| {{ __('sitelabel.Account') }} | {{ __('sitelabel.TotalDebit') }} | {{ __('sitelabel.TotalCredit') }} | {{ __('sitelabel.TotalBalance') }} |
|---|---|---|---|
| {{ strtoupper($groupName) }} | |||
| {{ strtoupper($accountNature) }} | |||
| {{ strtoupper($mainParentAccount) }} | |||
| {{ strtoupper($parentAccount) }} | |||
| {{ $item->Name }} | {{ formatAccounting($item->TotalDebit) }} | {{ formatAccounting($item->TotalCredit) }} | {{ formatAccounting($TotalBalance) }} |
| {{ __('sitelabel.Total') }} | {{ formatAccounting($parentData['total_debit']) }} | {{ formatAccounting($parentData['total_credit']) }} | {{ formatAccounting($parentData['total_balance']) }} |
| {{ __('sitelabel.Total') }} | {{ formatAccounting($mainParentData['total_debit']) }} | {{ formatAccounting($mainParentData['total_credit']) }} | {{ formatAccounting($mainParentData['total_balance']) }} |
| {{ __('sitelabel.Total') }} | {{ formatAccounting($natureData['total_debit']) }} | {{ formatAccounting($natureData['total_credit']) }} | {{ formatAccounting($natureData['total_balance']) }} |
| {{ __('sitelabel.Total') }} | {{ formatAccounting($group['total_debit']) }} | {{ formatAccounting($group['total_credit']) }} | {{ formatAccounting($group['total_balance']) }} |
| {{ __('sitelabel.GrandTotal') }} | {{ formatAccounting($runningDebit) }} | {{ formatAccounting($runningCredit) }} | {{ formatAccounting($runningBalance) }} |