@php $query = request()->query(); $tab = $this->tab ?? 'bilancio'; $tab = in_array($tab, ['bilancio', 'crediti', 'debiti', 'conguagli', 'dettaglio'], true) ? $tab : 'bilancio'; $fmt = fn($v) => number_format((float) ($v ?? 0), 2, ',', '.'); $stabile = optional(\App\Support\StabileContext::getActiveStabile(auth()->user())); $activeLegacyYear = (string) ($legacyYear ?? $this->legacyYear ?? ''); @endphp
{{-- 1. HERO HEADER: STABILE & CONTROLLI GESTIONE --}}
🏛️

{{ $stabile->denominazione ?? '—' }}

COD: {{ $stabile->codice_stabile ?? '—' }}
Esercizio attivo: {{ $this->legacyYearLabels[$activeLegacyYear] ?? ($activeLegacyYear ?: 'Tutti') }} @if(!empty($stabile->codice_fiscale)) · CF Stabile: {{ $stabile->codice_fiscale }} @endif
{{-- Form Filtro Parametri --}}
@if (request()->query('dett')) @endif
{{-- 2. TAB DI NAVIGAZIONE ELEGANTE --}}
{{-- 3. TAB CONTENT --}} {{-- TAB: DETTAGLIO ANALITICO --}} @if ($tab === 'dettaglio')

{{ $detailMeta['titolo'] ?? 'Dettaglio Analitico' }}

@if (($detailMeta['tipo'] ?? null) === 'cre_deb_preced')
@forelse(($detailRows ?? []) as $r) @empty @endforelse
C/D Cod. Voce Voce Descrizione Straord. Importo €
{{ $r['c_d'] }} {{ $r['cod_voc'] }} {{ $r['des_voce'] }} {{ $r['descrizione'] }} {{ $r['n_stra'] ?? '—' }} {{ $fmt($r['importo_euro'] ?? 0) }}
Nessun dato disponibile nel dettaglio selezionato.
@elseif (($detailMeta['tipo'] ?? null) === 'dett_tab')
@forelse(($detailRows ?? []) as $r) @empty @endforelse
Tabella Condomino Inquilino MM Straord. Cons. €
{{ $r['cod_tab'] }}
#{{ $r['id_cond'] }}
{{ $r['cond_label'] ?? '' }}
{{ $r['cond_inquil'] ?: '—' }} {{ $r['mm'] !== null ? number_format((float) $r['mm'], 3, ',', '.') : '—' }} {{ $r['n_stra'] ?? '—' }} {{ $fmt($r['cons_euro'] ?? 0) }}
Nessun dato disponibile nel dettaglio selezionato.
@else
Seleziona una voce dal tab Bilancio di Partenza per visualizzarne il dettaglio analitico riga per riga.
@endif
{{-- TAB: CONGUAGLI APERTURA (dett_tab) --}} @elseif ($tab === 'conguagli')
{{-- Box Informativo Logica Contabile --}}
ℹ️
Principio Contabile di Competenza e Passaggio Gestioni: Al termine dell'esercizio consuntivo, il Conguaglio Finale (CF, data 31/12/99) registrato nella tabella rate rappresenta il saldo di quadratura dell'unitĂ  (differenza tra rate versate e quote spese attribuite per millesimi). Questo saldo confluisce esattamente come Conguaglio di Apertura nella tabella dett_tab nel campo cons_euro (con codici CONG.O per l'Ordinaria, CONG.R per il Riscaldamento e CONG.S per le Straordinarie).

Conguagli di Apertura (dett_tab)

Saldi iniziali registrati per le singole unitĂ  per il nuovo esercizio.

{{ count($dettTabRows ?? []) }} posizioni
{{-- Form Aggiunta Riga --}}
âž• Aggiungi Nuova Posizione Conguaglio Iniziale
{{-- Tabella Dati --}}
@forelse(($dettTabRows ?? []) as $r) @php $id = (int) ($r['id'] ?? 0); @endphp @php $isEditing = (int) ($this->editingDettTabId ?? 0) === $id; @endphp @empty @endforelse
Tabella ID Cond. Ruolo Nominativo Collegato Importo Iniziale (€) MM Unico Azioni
@if($isEditing) @else {{ $r['cod_tab'] }} @endif @if($isEditing) @else #{{ $r['id_cond'] }} @endif @if($isEditing) @else {{ $r['cond_inquil'] === 'I' ? '👤 Inquilino (I)' : '🏢 Condomino (C)' }} @endif {{ $r['cond_label'] ?: '—' }} @if($isEditing) @else € {{ $fmt($r['cons_euro'] ?? 0) }} @endif @if($isEditing) @else {{ $r['mm'] !== null ? number_format((float) $r['mm'], 3, ',', '.') : '—' }} @endif @if($isEditing) @else {{ !empty($r['unico']) ? '✓' : '—' }} @endif @if($isEditing) @else @endif
Nessuna riga di conguaglio di apertura disponibile per l'esercizio selezionato.
{{-- TAB: CREDITI PREGRESSI --}} @elseif ($tab === 'crediti')

Crediti Pregressi (Cre_Deb_preced)

Partite creditorie aperte del condominio registrate nel legacy.

{{-- Form Aggiunta Credito --}}
âž• Registra Nuovo Credito Pregresso
@if(!empty($vocSpeOptions ?? [])) @else @endif
{{-- Tabella Crediti --}}
@forelse(($creDebRows ?? []) as $r) @php $id = (int) ($r['id'] ?? 0); @endphp @php $isEditing = (int) ($this->editingCreDebId ?? 0) === $id; @endphp @empty @endforelse
Cod_voc Des_voce Descrizione n_stra Importo € Incluso Azioni
@if($isEditing) @else {{ $r['cod_voc'] }} @endif @if($isEditing) @else {{ ($r['voc_spe_descriz'] ?? '') !== '' ? $r['voc_spe_descriz'] : ($r['des_voce'] ?? '') }} @endif @if($isEditing) @else {{ $r['descrizione'] }} @endif @if($isEditing) @else {{ $r['n_stra'] ?? '—' }} @endif @if($isEditing) @else {{ $fmt($r['importo_euro'] ?? 0) }} @endif @if($isEditing) @else {{ !empty($r['incluso']) ? '✓' : '—' }} @endif @if($isEditing) @else @endif
Nessun credito pregresso disponibile.
{{-- TAB: DEBITI VERSO FORNITORI --}} @elseif ($tab === 'debiti')

Debiti verso Fornitori (Cre_Deb_preced & Operazioni)

Partite debitorie aperte da saldare per competenza pregresso.

{{-- Form Aggiunta Debito --}}
âž• Registra Nuovo Debito verso Fornitore
@if(!empty($vocSpeOptions ?? [])) @else @endif
{{-- Tabella Debiti --}}
@forelse(($creDebRows ?? []) as $r) @php $id = (int) ($r['id'] ?? 0); @endphp @php $isEditing = (int) ($this->editingCreDebId ?? 0) === $id; @endphp @empty @endforelse
Cod_voc Des_voce Descrizione n_stra Importo € Incluso Azioni
@if($isEditing) @else {{ $r['cod_voc'] }} @endif @if($isEditing) @else {{ ($r['voc_spe_descriz'] ?? '') !== '' ? $r['voc_spe_descriz'] : ($r['des_voce'] ?? '') }} @endif @if($isEditing) @else {{ $r['descrizione'] }} @endif @if($isEditing) @else {{ $r['n_stra'] ?? '—' }} @endif @if($isEditing) @else {{ $fmt($r['importo_euro'] ?? 0) }} @endif @if($isEditing) @else {{ !empty($r['incluso']) ? '✓' : '—' }} @endif @if($isEditing) @else @endif
Nessun debito verso fornitori disponibile.
{{-- TAB: BILANCIO DI PARTENZA --}} @else @php $baseParams = array_merge($query, ['tab' => 'dettaglio']); $link = fn(string $dett) => \App\Filament\Pages\Contabilita\SituazioneIniziale::getUrl(panel: 'admin-filament', parameters: array_merge($baseParams, ['dett' => $dett])); $saldoBancaTot = $bilancio['banca']['saldo_letto'] ?? null; $saldoBancaTot = is_numeric($saldoBancaTot) ? (float) $saldoBancaTot : null; $saldoBancaAtt = $saldoBancaTot !== null && $saldoBancaTot >= 0 ? $saldoBancaTot : null; $saldoBancaPas = $saldoBancaTot !== null && $saldoBancaTot < 0 ? abs($saldoBancaTot) : null; $delta = $bilancio['banca']['delta_letto'] ?? null; $delta = is_numeric($delta) ? (float) $delta : null; $mancanza = $delta !== null ? abs($delta) : null; @endphp
{{-- 1. SALDO BANCA E RISORSE FINANZIARIE --}}
🏦

Saldo Risorse Finanziarie / Banche alla Data

ATTIVITĂ€ (Saldo Attivo)
{{ $saldoBancaAtt !== null ? '€ ' . $fmt($saldoBancaAtt) : '—' }}
PASSIVITĂ€ (Scoperto di Conto)
{{ $saldoBancaPas !== null ? '€ ' . $fmt($saldoBancaPas) : '—' }}
Dettaglio Conti Correnti Bancari e Casse:
@forelse(($risorseFinanziarie ?? []) as $r) @empty @endforelse
Conto / Cassa Saldo di Partenza
🏛️ {{ $r['label'] }} € {{ $fmt($r['saldo'] ?? 0) }}
Nessun conto bancario o cassa registrato per lo stabile.
FINANZIARIO (Attività - Passività): € {{ $fmt($bilancio['finanziario'] ?? 0) }}
Delta Banca vs Finanziario: € {{ $delta !== null ? $fmt($delta) : '—' }}
@if ($delta !== null) @if (abs($delta) <= 0.01) ✅ Quadratura Finanziaria OK (0,00) @else ⚠️ Scostamento: € {{ $fmt($mancanza) }} @endif @endif
{{-- 2. GESTIONE ORDINARIA --}}
🏢

Gestione Ordinaria (Chiusa)

CONG.O
ATTIVITĂ€ (Crediti verso Condomini / Terzi)
PASSIVITĂ€ (Debiti verso Condomini / Fornitori)
Fondi Accantonati € {{ $fmt($bilancio['ordinaria']['fondi'] ?? 0) }}
{{-- 3. GESTIONE RISCALDAMENTO --}} {{-- 4. GESTIONI LAVORI STRAORDINARI PLURIENNALI APERTI --}}
🏗️

Gestioni Lavori Straordinari Pluriennali (Aperti)

CONG.S / L*.ST
@forelse(($bilancio['straordinarie'] ?? []) as $straKey => $row)
{{ $row['label'] ?? $row['titolo'] ?? ('Straordinaria #' . ($row['n_stra'] ?? $straKey)) }}
@empty
Nessuna gestione straordinaria aperta rilevata.
@endforelse
{{-- 5. TOTALI GENERALI STABILE --}}
⚖️

Totali Generali di Bilancio Iniziale (Stabile)

TOTALE ATTIVITĂ€
€ {{ $fmt($bilancio['tot_attivita'] ?? 0) }}
TOTALE PASSIVITĂ€
€ {{ $fmt($bilancio['tot_passivita'] ?? 0) }}
FINANZIARIO (ATT - PASS)
€ {{ $fmt($bilancio['finanziario'] ?? 0) }}
@endif