@if(!isset($xlsx))
@php $modelLogo = null; if(isset($AgenciaOuEmpresa)){ $modelLogo = $AgenciaOuEmpresa; }else{ $modelLogo = auth()->user()?->empresa ?? auth()->user()?->agencia; } $logoPath = $modelLogo?->logomarca ?? $modelLogo?->customize?->image_path; $logoFullPath = $logoPath ? public_path($logoPath) : null; @endphp @if($logoFullPath && is_file($logoFullPath)) Logomarca da Empresa @endif Techrios

{{ url('') }}

@endif

{{$titulo}} {{$periodo}}

{{-- @if(isset($viagem))

{{ $viagem->linha->nome }} - {{ $viagem->embarcacao->nome }}
({{ $viagem->saida->format('d/m/Y H:i') }} - {{ $viagem->chegada->format('d/m/Y H:i') }})

@endif--}} @foreach($filtros as $key => $filtro) @if($filtro)

{{ $key }}: {{ $filtro }}

@endif @endforeach @if(!isset($xlsx))
@foreach($cards as $key=>$card) @endforeach
{{ $format_card?'R$ ' . number_format($card, 2, ',', '.'):$card }}
{{$key}}
@else
@foreach($cards as $key=>$card) @endforeach @foreach($cards as $key=>$card) @endforeach
{{$key}}
{{ $format_card ? number_format($card, 2, '.', '') : $card }}
@endif @php $mapping = \App\Maps\MapTablesReportsMap::$mapTables[$map]; //verificar se contem um elemtno e se é com nome de tabela personalizado //montar mapping trocando o nome da tabela pela chave e valor @endphp @foreach($mapping as $key => $mapper) {{-- $reportData[$key] pode ser um array com chave que vai ser em que cada chave é uma tabela --}} @php $table_name = $mapper["table_name"]; $centralizeOnXlsx = $mapper["centralizeOnXlsx"] ?? false; $bgColorXlsx = $mapper["bg-color-xlsx"] ?? null; // Calcula colspan dinamicamente baseado nas colunas visíveis $userRoles = auth()->user()?->roles->pluck('name')->toArray() ?? []; $visibleColumns = 0; foreach($mapper['columns'] as $col) { if(isset($col['roles']) && !empty($col['roles'])) { if(count(array_intersect($userRoles, $col['roles'])) > 0) { $visibleColumns++; } } else { $visibleColumns++; } } $colspan = $visibleColumns; $data = $reportData[$key]; $tables = [ ]; $arr = $data->all(); // pega as chaves e compara com [0,1,2,…count-1] $isList = array_keys($arr) === range(0, count($arr) - 1); if($isList){ $tables = [ [ "table_name" => $table_name, "data"=> $data] ]; }else{ foreach ($data as $key => $list){ $tables[] = [ "table_name" => $key, "data"=> $list ]; } } @endphp @foreach($tables as $tableData) @if(isset($xlsx) && $bgColorXlsx) {{-- Para XLSX: título dentro da tabela --}} @php $textColor = \App\Maps\MapTablesReportsMap::getContrastColor($bgColorXlsx); @endphp @else {{-- Para PDF: título como h3 fora da tabela --}}

{{ $tableData['table_name'] }}

{{ $tableData['table_name'] }}
@endif @foreach($mapper['columns'] as $columns_info) @php $showColumn = true; if(isset($columns_info['roles']) && !empty($columns_info['roles'])){ $userRoles = auth()->user()?->roles->pluck('name')->toArray() ?? []; $showColumn = count(array_intersect($userRoles, $columns_info['roles'])) > 0; } @endphp @if($showColumn) @endif @endforeach @forelse($tableData['data'] as $dataReport) {{-- aqui pega a tabela que vem do controller pela chave mapeada --}} @foreach($mapper['columns'] as $key => $columns_info) {{-- colunas do mapper --}} @php $showColumn = true; if(isset($columns_info['roles']) && !empty($columns_info['roles'])){ $userRoles = auth()->user()?->roles->pluck('name')->toArray() ?? []; $showColumn = count(array_intersect($userRoles, $columns_info['roles'])) > 0; } if($showColumn){ $valor = \App\Maps\MapTablesReportsMap::concatAtributes($dataReport,$columns_info['value'], $columns_info['separator'] ?? '', $columns_info['default'] ?? ''); $alignment = $columns_info['align'] ?? 'center'; // Se centralizeOnXlsx estiver ativo e for xlsx, força centralização if(isset($xlsx) && $centralizeOnXlsx){ $alignment = 'center'; } } @endphp @if($showColumn) @if(isset($columns_info['money'])) @if(isset($xlsx)) @else @endif @else @if(isset($xlsx) && $centralizeOnXlsx) @else @endif @endif @endif @endforeach @empty @endforelse
{{ $columns_info['column'] }}
{{ number_format(floatval($valor), 2, '.', '') }}{{ 'R$ ' . number_format(floatval($valor), 2, ',', '.') }}{{ $valor }}{{ $valor }}
Nenhum dado encontrado.
@endforeach @endforeach