@extends('layouts.admin') @section('content') @if(Session::has('error_message'))
{{ Session::get('error_message')}}
@endif
Promoter Commission Reports
@if ($productRecords->isEmpty())

There is no data currently.

@endif @if (isset($productRecords) && $productRecords->isNotEmpty())
Promoter Commission Reports

Outlet Location: {{ $provinceName }}

Promoter: {{ $currentPromoter }}

Bank Name: {{ $promoter_bank_name }}

Account Number: {{ $promoter_bank_acc }}

@php $totalcolspan = $productRecords->unique('product_name')->count() + 4; $firstpart = floor($totalcolspan / 2); $firstpart = $firstpart - ($firstpart % 3); $eachthpart = $firstpart / 3; $secondpart = $totalcolspan - $firstpart; $groupedTimeEntries = $timeEntriesRecords->groupBy('ptl_id'); $gtBasic = 0; $gtAllowance = 0; $gtOutstation = 0; $gtOt = 0; $gtOthers = 0; foreach ($groupedTimeEntries as $ptl_id => $entries) { $sumBasic = $entries->sum('basic'); foreach ($entries as $e => $record) { if ($e === 0) { $sumAllowance = $record->allowance; $sumOutstation = $record->outstation_allowance; $sumOt = $record->ot_allowance; $sumOthers = $record->others; $gtBasic += $sumBasic; $gtAllowance += $sumAllowance; $gtOutstation += $sumOutstation; $gtOt += $sumOt; $gtOthers += $sumOthers; break; } } $groupedTotals[$ptl_id] = [ 'allowance' => $sumAllowance, 'outstation_allowance' => $sumOutstation, 'ot_allowance' => $sumOt, 'others' => $sumOthers, ]; } @endphp
@if($timeEntriesRecords->isNotEmpty()) @foreach($groupedTimeEntries as $ptl_id => $entries) @foreach ($entries as $index => $timeEntriesRecord) @if($index === 0) {{-- @else --}} @endif @endforeach @endforeach {{-- Total Basic --}} {{-- Total Allowance --}} {{-- Total Outstation Allowance --}} {{-- Total OT Allowance --}} {{-- Others --}} @endif @foreach($productRecords->unique('product_name') as $productRecord) @endforeach @php $rowIndex = 1; $grandTotalCommission = 0; @endphp @foreach ($productRecords->groupBy('created_at') as $date => $recordsForDate) @php $totalQtyPerDay = $recordsForDate->sum('total_s_qty'); $dailyCommission = 0; @endphp @foreach ($productRecords->unique('product_name') as $productRecord) @php $record = $recordsForDate->firstWhere('product_name', $productRecord->product_name); $qty = $record ? $record->total_s_qty : 0; if($record) { $commissionQty = $record->commission_qty; $defaultCommission = $record->default_commission; $newCommission = $record->new_commission; $commissionStatus = $record->commission_status; $commissionRate = ($commissionStatus == 1 && $totalQtyPerDay >= $commissionQty) ? $newCommission : $defaultCommission; $commission = $qty * $commissionRate; $dailyCommission += $commission; } @endphp @endforeach @php $grandTotalCommission += $dailyCommission; @endphp @endforeach @php $grandTotalAllowance = $gtAllowance + $gtOutstation + $gtOt + $gtOthers; $grandTotalBasic = $gtBasic; $grandTotalAll = $grandTotalBasic + $grandTotalAllowance + $grandTotalCommission; @endphp
Working Hours and Outlet Details
Dates Time Start Time End Outlet Basic Allowance Outstation Allowance OT Allowance Others
{{ $timeEntriesRecord->date }} {{ $timeEntriesRecord->time_start }} {{ $timeEntriesRecord->time_end }} {{ $timeEntriesRecord->store_name }} {{ $timeEntriesRecord->basic ?? number_format(0,2) }}{{ $timeEntriesRecord->allowance ?? number_format(0,2) }} {{ $timeEntriesRecord->outstation_allowance ?? number_format(0,2) }} {{ $timeEntriesRecord->ot_allowance ?? number_format(0,2) }} {{ $timeEntriesRecord->others ?? number_format(0,2) }}
Total (RM){{ number_format($gtBasic, 2) }}{{ number_format($gtAllowance, 2) }}{{ number_format($gtOutstation, 2) }}{{ number_format($gtOt, 2) }}{{ number_format($gtOthers, 2) }}
Commission Details
No Date{{ $productRecord->product_name }}Daily Total Qty Daily Commission (RM)
{{ $rowIndex++ }} {{ $date }}{{ $qty > 0 ? $qty : 0 }}{{ $totalQtyPerDay }} {{ number_format($dailyCommission, 2) }}
Total Commission (RM) {{ number_format($grandTotalCommission, 2) }}
Total Pay (RM){{ number_format($grandTotalAll, 2) }}

@endif @endsection @section('scripts') @parent @endsection