@php
$serie = $consolidacao['serie_mensal'] ?? collect();
$analise = $consolidacao['analise'] ?? [];
$qualidade = $consolidacao['qualidade_dado'] ?? [];
$ano = $consolidacao['ano'] ?? substr($sim->mesano ?? '', 0, 4);
$ingestaoConcluida = (bool) (collect($mvpProgress['steps'] ?? [])->firstWhere('numero', 1)['concluido'] ?? false);
$fmt = fn ($v) => 'R$ ' . number_format((float) $v, 2, ',', '.');
$nomeCliente = optional($sim->pessoa)->razaosocial ?? optional($sim->snapshot)->nome ?? 'Cliente';
@endphp
@if($sim->isGrupo() && !request('detalhe'))
{{-- ── Grupo anual: só importação e conferência de SPEDs ── --}}
@include('admin.simulacoes._etapa_guia', [
'titulo' => 'Como funciona esta etapa',
'icone' => 'fa-cloud-upload-alt',
'intro' => 'Envie os arquivos SPED (EFD ICMS/IPI e EFD Contribuições) de cada mês/filial do ano. O sistema detecta o período automaticamente e organiza tudo antes da conferência.',
'passos' => [
'Selecione todos os arquivos do ano (pode incluir várias filiais de uma vez).',
'Aguarde o processamento — cada mês vira uma simulação e é consolidado no ano.',
'Ao concluir, avance para a Conferência de dados para revisar pendências.',
],
])
@if($ingestaoConcluida)
Importação concluída — {{ $serie->count() }} meses e
{{ number_format($consolidacao['total_imports'] ?? 0, 0, ',', '.') }} arquivos SPED importados.
Avance para Conferência de dados ou complemente arquivos abaixo, se necessário.
@endif
@include('admin.simulacoes._sped_diagnostico_alertas', ['spedQualidade' => $spedQualidade ?? null])
Meses
{{ $serie->count() }}
Arquivos SPED
{{ number_format($consolidacao['total_imports'] ?? 0, 0, ',', '.') }}
Filiais
{{ $analise['qtd_filiais'] ?? 1 }}
Produtos
{{ number_format($analise['total_produtos'] ?? 0, 0, ',', '.') }}
@if(!empty($qualidade['prontidao']))
Qualidade do dado:
@include('components.prontidao-badge', ['prontidao' => $qualidade['prontidao']])
{{ $qualidade['pct_simulavel'] ?? 0 }}% produtos com origem definida
@endif
| Mês |
SPEDs |
Produtos |
Receita SPED |
Ações |
@forelse($serie as $m)
| {{ $m['periodo'] }} |
{{ $m['imports'] ?? '—' }} |
{{ $m['produtos'] ?? '—' }} |
{{ $fmt($m['total_atual'] ?? 0) }} |
Ver mês
|
@empty
|
Nenhum mês importado. Use o formulário acima para enviar os SPEDs.
|
@endforelse
@if(!empty($analise['filiais']) && count($analise['filiais']) > 1)
| UF | CNPJ | Receita | Itens |
@foreach($analise['filiais'] as $f)
| {{ $f['uf'] }} |
{{ $f['cnpj'] }} |
{{ $fmt($f['valor']) }} |
{{ $f['itens'] }} |
@endforeach
@endif
@else
{{-- ── Simulação mensal: SPED + dados base ── --}}
@php $temReformaSim = (bool) ($reformaSim ?? null); @endphp
@include('admin.simulacoes._etapa_guia', [
'titulo' => 'Como funciona esta etapa',
'icone' => 'fa-cloud-upload-alt',
'intro' => 'Escolha como preencher os dados deste mês: importar o SPED (recomendado) ou lançar manualmente. Se for simular a Reforma (CBS/IBS), envie também os arquivos SPED no card específico abaixo.',
'passos' => [
'Marque "Tenho arquivo SPED" (padrão) e importe o arquivo — Receitas e Custos são preenchidos automaticamente.',
'Se ainda não tiver SPED, marque "Vou lançar manualmente" e preencha os formulários que aparecem.',
'Para gerar a análise CBS/IBS, use o card "SPED — Reforma tributária" logo abaixo.',
],
])
@if($ingestaoConcluida)
Importação concluída para {{ $sim->labelPeriodo() }}.
@if($spedImportExistente ?? null)
Arquivo: {{ Str::limit($spedImportExistente->arquivo_nome ?? '—', 40) }}.
@endif
@endif
@if(!$ingestaoConcluida)
@endif
@include('admin.simulacoes._empresa', ['sim' => $sim])
@include('admin.simulacoes._sped', ['sim' => $sim, 'spedImportExistente' => $spedImportExistente ?? null])
@if(!$temReformaSim)
@endif
@if(!$ingestaoConcluida)
@include('admin.simulacoes._receitas', ['sim' => $sim])
@include('admin.simulacoes._custos', ['sim' => $sim])
@include('admin.simulacoes._aliquotas', ['sim' => $sim, 'aliqs' => $aliqs])
@include('admin.simulacoes._resultado', ['sim' => $sim])
@else
Dados normalizados
Receitas:
{{ $sim->receitas->count() }} itens
Custos/créditos:
{{ $sim->creditos->count() }} itens
Regime atual:
@php $totalAtual = optional($sim->resultados->firstWhere('tributo', 'TOTAL'))->liquido; @endphp
{{ $totalAtual !== null ? $fmt($totalAtual) : '—' }}
Gráficos, tributos detalhados e simulação CBS/IBS ficam nas etapas Simulação e Dashboard.
@endif
@if(!$ingestaoConcluida)
@push('js')
@endpush
@endif
@endif