@php use App\Support\ConfrontoSubetapa; $urlSecao = fn ($s) => ConfrontoSubetapa::url($sim->idsimulacao, $s); $painelLocal = [ 'ncm_sem_preencher' => $ncmSemPreencher ?? [], 'classtrib_painel' => [ 'qtd_pendentes' => $classTribQtdPendentes ?? 0, 'qtd_ambiguos' => $classTribQtdAmbiguos ?? 0, 'qtd_acionaveis' => $classTribQtdAcionaveis ?? 0, ], 'sem_cadastro' => $semCadastro ?? [], 'unidades_divergentes' => $unidadesDiv ?? [], ]; $qtdNcm = count($ncmSemPreencher ?? []); $qtdClass = (int) ($classTribQtdPendentes ?? 0); $qtdCad = count($semCadastro ?? []) + count($unidadesDiv ?? []); // Ordem fixa 2.2 → 2.3 → 2.4 (não reordena por prioridade). $tarefas = [ [ 'secao' => 'ncm', 'titulo' => 'Corrigir NCM', 'icone' => 'fa-barcode', 'qtd' => $qtdNcm, 'cor' => $qtdNcm > 0 ? 'danger' : 'success', 'detalhe' => ($ncmQtdSugestao ?? 0) > 0 ? "{$ncmQtdSugestao} com sugestão de outro mês" : ($qtdNcm > 0 ? 'Produtos sem NCM no 0200' : 'Todos com NCM'), 'liberada' => ConfrontoSubetapa::secaoLiberada('ncm', $painelLocal), ], [ 'secao' => 'classtrib', 'titulo' => 'Classificação CBS/IBS', 'icone' => 'fa-layer-group', 'qtd' => $qtdClass, 'cor' => ($classTribQtdAmbiguos ?? 0) > 0 ? 'warning' : ($qtdClass > 0 ? 'secondary' : 'success'), 'detalhe' => ($classTribQtdAmbiguos ?? 0) > 0 ? "{$classTribQtdAmbiguos} CST(s) com escolha obrigatória" : ($qtdClass > 0 ? 'Defina o cClassTrib por produto/CST' : 'Classificação ok'), 'liberada' => ConfrontoSubetapa::secaoLiberada('classtrib', $painelLocal), ], [ 'secao' => 'cadastro', 'titulo' => 'Cadastro e unidades', 'icone' => 'fa-link', 'qtd' => $qtdCad, 'cor' => $qtdCad > 0 ? 'warning' : 'success', 'detalhe' => $qtdCad > 0 ? trim( (count($semCadastro ?? []) > 0 ? count($semCadastro) . ' sem vínculo' : '') . (count($semCadastro ?? []) > 0 && count($unidadesDiv ?? []) > 0 ? ' · ' : '') . (count($unidadesDiv ?? []) > 0 ? count($unidadesDiv) . ' conversões' : '') ) : 'Cadastro e unidades ok', 'liberada' => ConfrontoSubetapa::secaoLiberada('cadastro', $painelLocal), ], ]; @endphp @include('admin.simulacoes._sped_diagnostico_alertas', ['spedAlertas' => $spedAlertas])
@foreach($tarefas as $t) @php $bloqueada = !($t['liberada'] ?? true); $motivo = $bloqueada ? ConfrontoSubetapa::motivoBloqueio($t['secao'], $painelLocal) : null; @endphp
@if($bloqueada)
{{ ConfrontoSubetapa::rotulo($t['secao']) }} @if(($t['qtd'] ?? 0) > 0) {{ $t['qtd'] }} @endif
{{ $t['titulo'] }}
{{ $motivo }}
@else
{{ ConfrontoSubetapa::rotulo($t['secao']) }} @if(($t['qtd'] ?? 0) > 0) {{ $t['qtd'] }} @else @endif
{{ $t['titulo'] }}
{{ $t['detalhe'] }}
@if(($t['qtd'] ?? 0) > 0) Ir corrigir → @endif
@endif
@endforeach
Cadastro SPED × interno
{{ $cadastro['pct_vinculado'] ?? 0 }}%
{{ $cadastro['com_cadastro'] ?? 0 }} / {{ $cadastro['total_sped'] ?? 0 }} vinculados
Pendências
{{ $pendencias->count() }}
ativas no backlog
Próximo passo
@php $proxSecao = ConfrontoSubetapa::primeiraPendente($painelLocal); @endphp @if($proxSecao !== 'resumo') @php $proxInfo = ConfrontoSubetapa::info($proxSecao); @endphp
{{ $proxInfo['rotulo'] }} — {{ $proxInfo['titulo'] }}
Continuar → @else
Conferência ok
Ir para Parâmetros CBS/IBS → @endif
@if($pendencias->count() > 0)
Pendências recentes
Top {{ min(8, $pendencias->count()) }} de {{ $pendencias->count() }}
@include('admin.pendencias._tabela', [ 'pendencias' => $pendencias->take(8), 'sim' => $sim, 'hideCliente' => true, 'contextoSimulacao' => true, ])
@endif