@php $all_documents = collect($data['all_documents'])->sortBy('order_number_key'); $income_records = $all_documents->where('type_transaction_prefix', 'income'); $egress_records = $all_documents->where('type_transaction_prefix', 'egress'); $data = $income_records->toArray(); //solo obtengo los registros unicos del array $data en base a la clave "number" $uniqueData = array_intersect_key($data, array_unique(array_column($data, 'number'))); $numbers = []; foreach ($uniqueData as $key => $value) { $numbers[] = $value['number']; } $grouped = array_reduce( $uniqueData, function ($result, $item) { $key = isset($item['seller_id']) ? $item['seller_id'] : 'Sin vendedor'; if (!isset($result[$key])) { $result[$key] = [ 'seller_name' => $item['seller_name'] ?? 'Sin vendedor', 'seller_id' => $key, 'currency_type_id' => isset($item['currency_type_id']) ? ($item['currency_type_id'] == 'PEN' ? 'S/' : '$') : 'S/', 'total' => 0, ]; } if (isset($item['total'])) { $result[$key]['total'] += $item['total']; } else { $result[$key]['total'] += 0; // o cualquier valor predeterminado que desees } return $result; }, [], ); $grouped = array_values($grouped); usort($grouped, function ($a, $b) { return $b['total'] <=> $a['total']; }); @endphp @if (count($income_records) > 0)
Ingresos
# | Tipo transacción | Método de pago | Tipo documento | Documento | Fecha emisión | Cliente/Proveedor | N° Documento | Vendedor | Moneda | T.Pagado | Total |
---|---|---|---|---|---|---|---|---|---|---|---|
{{ $loop->iteration }} | {{ $value['type_transaction'] }} |
{{ $value['payment_method_description'] }}
@if (isset($value['reference']))
Ref: {{ $value['reference'] }} @endif |
{{ $value['document_type_description'] }} | {{ $value['number'] }} | {{ $value['date_of_issue'] }} | {{ $value['customer_name'] }} | {{ $value['customer_number'] }} | @isset($value['seller_name']) {{ $value['seller_name'] }} @endisset {{-- {{ $value['reference'] }} --}} | {{ isset($value['currency_type_id']) ? $value['currency_type_id'] : 'PEN'}} | {{ $value['total_payments'] ?? '0.00' }} | {{ $value['total_string'] }} |
Resumen
Vendedor | Total |
---|---|
{{ $item['seller_name'] }} | {{ isset($item['currency_type_id']) ? $item['currency_type_id'] : 'PEN'}} {{ number_format($item['total'], 2) }} |
Total | {{ isset($item['currency_type_id']) ? $item['currency_type_id'] : 'PEN'}} {{ number_format($total, 2) }} |
Egresos
# | Tipo transacción | Tipo documento | Documento | Fecha emisión | Cliente/Proveedor | N° Documento | Moneda | T.Pagado | Total |
---|---|---|---|---|---|---|---|---|---|
{{ $loop->iteration }} | {{ $value['type_transaction'] }} | {{ $value['document_type_description'] }} | {{ $value['number'] }} | {{ $value['date_of_issue'] }} | {{ $value['customer_name'] }} | {{ $value['customer_number'] }} | {{ isset($value['currency_type_id']) ? $value['currency_type_id'] : 'PEN'}} | {{ $value['total_payments'] ?? '0.00' }} | @php $value['total_string'] = str_replace('-', '', $value['total_string']); @endphp {{ $value['total_string'] }} |