Consumption Report
@if(isset($grns) && isset($materialIssues) && isset($acIssues))
| Date |
Vch Type |
Vch No |
Particulars |
Inwards (Qty) |
Outwards (Qty) |
Returns (Qty) |
Waste (Qty) |
Closing (Qty) |
@php
$closingBalance = 0;
$entries = collect();
foreach ($grns as $grn) {
$entries->push([
'date' => $grn->grn_date,
'vch_type' => 'Purchase',
'vch_no' => $grn->grn_prefix.'/'.$grn->grn_financial_year.'/'.$grn->grn_number,
'particulars' => $grn->vendor->vendor_name,
'inwards' => $grn->items->sum('item_qty'),
'outwards' => 0,
'returns' => 0,
'waste' => 0,
]);
}
foreach ($materialIssues as $issue) {
$entries->push([
'date' => $issue->material_issue_date,
'vch_type' => 'Sales',
'vch_no' => $issue->material_issue_prefix.'/'.$issue->material_issue_financial_year.'/'.$issue->material_issue_number,
'particulars' => $issue->customer->customer_name,
'inwards' => 0,
'outwards' => $issue->items->sum('material_issue_qty'),
'returns' => 0,
'waste' => 0,
]);
}
foreach ($materialReturns as $return) {
$entries->push([
'date' => $return->material_return_date,
'vch_type' => 'Return',
'vch_no' => $return->material_return_prefix.'/'.$return->material_return_financial_year.'/'.$return->material_return_number,
'particulars' => $return->customer->customer_name,
'inwards' => 0,
'outwards' => 0,
'returns' => $return->items->sum('material_return_qty'),
'waste' => $return->items->sum('material_waste_qty') ?? 0,
]);
}
foreach ($acIssues as $issue) {
$entries->push([
'date' => $issue->ac_issue_date,
'vch_type' => 'Sales',
'vch_no' => $issue->ac_issue_prefix.'/'.$issue->ac_issue_financial_year.'/'.$issue->ac_issue_number,
'particulars' => $issue->customer->customer_name,
'inwards' => 0,
'outwards' => $issue->items->sum('ac_issue_qty'),
'returns' => 0,
'waste' => 0,
]);
}
foreach ($acReturns as $return) {
$entries->push([
'date' => $return->ac_return_date,
'vch_type' => 'Return',
'vch_no' => $return->ac_return_prefix.'/'.$return->ac_return_financial_year.'/'.$return->ac_return_number,
'particulars' => $return->customer->customer_name,
'inwards' => 0,
'outwards' => 0,
'returns' => $return->items->sum('ac_return_qty'),
'waste' => 0, // assume no waste data for AC returns
]);
}
$entries = $entries->sortBy('date');
@endphp
@foreach ($entries as $entry)
@php
// Skip the row if all key quantities are zero or null
if (
empty($entry['inwards']) &&
empty($entry['outwards']) &&
empty($entry['returns'])
) continue;
$closingBalance += $entry['inwards'] + $entry['returns'] - $entry['outwards'];
@endphp
| {{ \Carbon\Carbon::parse($entry['date'])->format('d/m/Y') }} |
{{ $entry['vch_type'] }} |
{{ $entry['vch_no'] }} |
{{ $entry['particulars'] }} |
{{ $entry['inwards'] ?: '-' }} |
{{ $entry['outwards'] ?: '-' }} |
{{ $entry['returns'] ?: '-' }} |
{{ $entry['waste'] ?: '-' }} |
{{ $closingBalance }} |
@endforeach
@php
$totalInwards = $grns->sum(fn($grn) => $grn->items->sum('item_qty'));
$totalOutwards = $materialIssues->sum(fn($issue) => $issue->items->sum('material_issue_qty')) + $acIssues->sum(fn($issue) => $issue->items->sum('ac_issue_qty'));
$totalReturns = $materialReturns->sum(fn($return) => $return->items->sum('material_return_qty')) + $acReturns->sum(fn($return) => $return->items->sum('ac_return_qty'));
$totalWaste = $materialReturns->sum(fn($return) => $return->items->sum('material_waste_qty'));
@endphp
| Total |
{{ $totalInwards }} |
{{ $totalOutwards }} |
{{ $totalReturns }} |
{{ $totalWaste }} |
{{ $closingBalance }} |
@endif