Stabili importati
{{ number_format($stats['stabili']['totali']) }}
Attivi: {{ $stats['stabili']['attivi'] }}
Unità immobiliari
{{ number_format($stats['unita']['totali']) }}
Con millesimi: {{ $stats['unita']['con_millesimi'] }}
Soggetti
{{ number_format($stats['soggetti']['totali']) }}
Proprietari: {{ $stats['soggetti']['proprietari'] }}
Fornitori
{{ number_format($stats['fornitori']['totali']) }}
Attivi: {{ $stats['fornitori']['attivi'] }}

Informazioni Amministratore

Nome:
{{ $amministratore->nome }} {{ $amministratore->cognome }}
Codice Univoco:
{{ $amministratore->codice_univoco }}
Email Studio:
{{ $amministratore->email_studio ?? 'Non specificata' }}
Denominazione Studio:
{{ $amministratore->denominazione_studio ?? 'Non specificata' }}
Ultimo Accesso:
{{ $amministratore->ultimo_accesso ? $amministratore->ultimo_accesso->format('d/m/Y H:i') : 'Mai' }}
Stato:
@if($amministratore->attivo) Attivo @else Non attivo @endif

Ultimi Stabili Importati

@forelse($datiRecenti['ultimi_stabili'] as $stabile) @empty @endforelse
Denominazione Indirizzo Unità Data Import
{{ $stabile->denominazione }} @if($stabile->codice_interno)
{{ $stabile->codice_interno }} @endif
{{ $stabile->indirizzo }} @if($stabile->numero_civico) {{ $stabile->numero_civico }} @endif
{{ $stabile->cap }} {{ $stabile->citta ?? '' }} @if(!empty($stabile->provincia)) ({{ $stabile->provincia }}) @endif
{{ $stabile->numero_unita ?? 0 }} {{ $stabile->created_at->format('d/m/Y H:i') }}
Nessun stabile importato

Ultime Unità Importate

@forelse($datiRecenti['ultime_unita'] as $unita) @empty @endforelse
Codice Stabile Posizione Superficie
{{ $unita->codice_unita }} {{ $unita->stabile->denominazione ?? 'N/A' }} @if($unita->scala) Scala {{ $unita->scala }} @endif @if($unita->piano) Piano {{ $unita->piano }} @endif @if($unita->interno) Int. {{ $unita->interno }} @endif @if($unita->superficie) {{ number_format($unita->superficie, 0) }} m² @else N/D @endif
Nessuna unità importata

Azioni Rapide Import

Gestione Fornitori

Sincronizzazione Rapida

Beta

Apri il pannello di sincronizzazione per scegliere uno stabile legacy, abilitare l'auto-sync e lanciare la pipeline completa oppure i singoli step (Stabili, Unità, Soggetti, Diritti, Millesimi, Banche).

Hai a disposizione {{ number_format(count($legacyPreview ?? [])) }} codici legacy rilevati automaticamente.
@foreach(['stabili' => 'Stabili', 'unita' => 'Unità', 'soggetti' => 'Soggetti', 'diritti' => 'Diritti', 'millesimi' => 'Millesimi', 'banche' => 'Banche'] as $actionKey => $label) @endforeach
Suggerimento: attiva la casella «Mantieni stabile sincronizzato» nel pannello per lasciare che NetGescon ripeta automaticamente l'allineamento quando rileva modifiche nell'archivio legacy.

Checklist Migrazione & MDB

@if(!empty($legacyBasePath)) Archivio base: {{ $legacyBasePath }} @endif

Prima di ogni sincronizzazione assicurati di aver eseguito i seguenti step. Questo riduce errori dovuti a schema non aggiornato o MDB non caricato.

  1. Allinea il database applicativo
    php artisan migrate --force
    Garantisce che tutte le tabelle/relazioni richieste dalla pipeline siano presenti.
  2. Carica lo staging da singolo_anno.mdb
    php artisan gescon:load-mdb --mdb=/percorso/singolo_anno.mdb --table=condomin --stabile=XXXX --truncate
    Usa il codice legacy corretto e il file dell'anno che vuoi importare. Ripeti per altre tabelle (rate, incassi, ecc.) se necessario.
  3. Esegui la sincronizzazione desiderata
    Usa i pulsanti sopra per scegliere fra sync completo o step specifici e monitora l'output per eventuali avvisi.
Suggerimento: salva i percorsi MDB definitivi in Configurazione Import per evitare di reinserirli. Se lavori da shell, puoi usare il file sync-complete-netgescon.sh come riferimento.

Documenti Collegati recenti

@if(isset($amministratore)) Vai a Stabili @endif
@forelse(($datiRecenti['ultimi_documenti'] ?? []) as $doc) @empty @endforelse
Protocollo Titolo Tipo Stabile Scadenza Azioni
{{ $doc->protocollo_formattato ?? ($doc->numero_protocollo ?? '—') }} {{ $doc->titolo ?? '—' }} {{ $doc->tipo_documento ?? '—' }} {{ $doc->stabile->denominazione ?? '—' }} @if($doc->data_scadenza) {{ $doc->data_scadenza->format('d/m/Y') }} @else @endif Download
Nessun documento collegato recente
@php $syncLegacyOptions = collect($legacyPreview ?? [])->map(function ($row) { $legacy = is_array($row) ? ($row['legacy_code'] ?? null) : ($row->legacy_code ?? null); $den = is_array($row) ? ($row['denominazione'] ?? null) : ($row->denominazione ?? null); return [ 'code' => trim((string)($legacy ?? '')), 'label' => trim((string)($den ?? '')), ]; })->filter(fn ($row) => $row['code'] !== '')->unique('code')->values()->take(600); @endphp