Importação de empresas (CSV Humanittare)

Delimitador ;, layout «CARGA DE DADOS HI - EMPRESAS». Sem login — use apenas em ambiente controlado.

@if(session('error'))
{{ session('error') }}
@endif @if(session('import_result')) @php($r = session('import_result')) @php($importErrors = ($r['summary']['errors'] ?? 0) > 0)
Importação concluída — total: {{ $r['summary']['total'] ?? 0 }}, criadas: {{ $r['summary']['created'] ?? 0 }}, atualizadas: {{ $r['summary']['updated'] ?? 0 }}, ignoradas: {{ $r['summary']['skipped'] ?? 0 }}, erros: {{ $r['summary']['errors'] ?? 0 }}.
@if($importErrors)

Erros por linha (primeiras 15):

@endif
JSON da importação
@json($r, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE)
@endif @if(session('simulate_result')) @php($s = session('simulate_result'))
Simulação concluída — nada foi gravado na base de dados.
@include('imports.partials.companies-simulate-preview', ['simulateResult' => $s]) @endif

1. Simular (pré-visualização)

Mostra, por linha do CSV, o que seria gravado em groups, companies, company_type_index e company_contacts.

@csrf

2. Importar (gravar na base de dados)

Executa a mesma lógica da simulação e persiste os registos. Com planilha completa, Localize e ViaCEP são omitidos (mais rápido). Se estourar tempo, use IMPORT_MAX_EXECUTION_SECONDS=0 no .env.

@csrf

API JSON (opcional)