{{-- Report Header --}}
Logo

{{ $shop_infos->shop_name ?? '' }}

{{ $shop_infos->address ?? '' }}


DMS Collection Sheet

Staff: {{ $staff->name ?? '—' }}  |  Date: {{ \Carbon\Carbon::parse($today)->format('d-m-Y') }}

@php $grandDeposit = 0; $grandBalance = 0; $grandInstallment = 0; $grandOverdueDue = 0; @endphp @forelse($groupedMembers as $groupName => $members) @php $grpDeposit = $members->sum('deposit_amount'); $grpBalance = $members->sum('balance'); $grpInstallment = 0; $grpOverdue = 0; foreach ($members as $m) { $mInstallments = $installments->get($m->account_number, collect()); foreach ($mInstallments as $inst) { if (\Carbon\Carbon::parse($inst->installment_date)->lt(\Carbon\Carbon::parse($today)) && $inst->status != 1) { $grpOverdue += $inst->installment; } else { $grpInstallment += $inst->installment; } } } $grandDeposit += $grpDeposit; $grandBalance += $grpBalance; $grandInstallment += $grpInstallment; $grandOverdueDue += $grpOverdue; @endphp
Group: {{ $groupName }}   ({{ $members->count() }} {{ $members->count() == 1 ? 'Member' : 'Members' }})
@foreach($members as $i => $m) @php $mInstallments = $installments->get($m->account_number, collect()); $todayAmt = 0; $overdueAmt = 0; $dueDates = []; foreach ($mInstallments as $inst) { $instDate = \Carbon\Carbon::parse($inst->installment_date); if ($instDate->lt(\Carbon\Carbon::parse($today)) && $inst->status != 1) { $overdueAmt += $inst->installment; $dueDates[] = ['date' => $instDate->format('d-m-Y'), 'type' => 'overdue', 'amt' => $inst->installment]; } else { $todayAmt += $inst->installment; $dueDates[] = ['date' => $instDate->format('d-m-Y'), 'type' => 'today', 'amt' => $inst->installment]; } } @endphp @endforeach
# GSS A/C No DMS A/C No Member Name Father/Husband Mobile Open Date Deposit Amt Balance Installment Due Today (৳) Overdue (৳) Collect
{{ $i + 1 }} {{ $m->gss_number }} {{ $m->account_number }} {{ $m->member_name }} {{ $m->fat_hus_name }} {{ $m->member_mobile }} {{ \Carbon\Carbon::parse($m->opening_date)->format('d-m-Y') }} {{ number_format($m->deposit_amount, 2) }} {{ number_format($m->balance, 2) }} @foreach($dueDates as $d) @if($d['type'] === 'overdue') {{ $d['date'] }} @else {{ $d['date'] }} @endif @endforeach {{ $todayAmt > 0 ? number_format($todayAmt, 2) : '—' }} {{ $overdueAmt > 0 ? number_format($overdueAmt, 2) : '—' }}  
Group Subtotal {{ number_format($grpDeposit, 2) }} {{ number_format($grpBalance, 2) }} {{ number_format($grpInstallment, 2) }} {{ number_format($grpOverdue, 2) }}
@empty

No DMS collection entries found for today or overdue for this staff.

@endforelse {{-- Grand Total --}} @if($groupedMembers->isNotEmpty())
GRAND TOTAL (All Groups) Deposit: {{ number_format($grandDeposit, 2) }} Balance: {{ number_format($grandBalance, 2) }} Today: {{ number_format($grandInstallment, 2) }} Overdue: {{ number_format($grandOverdueDue, 2) }}
@endif {{-- Signature row --}}
Prepared By
Field Staff
Authorized By