541 lines
15 KiB
Markdown
541 lines
15 KiB
Markdown
# 📊 DATI ESEMPIO - NetGesCon Laravel
|
|
|
|
**📅 Creato**: 9 Luglio 2025
|
|
**🎯 Scopo**: Dati realistici per seeder e testing
|
|
**👥 Utilizzo**: Sviluppo, test, demo
|
|
**🔄 Sincronizzazione**: TestSetupSeeder.php
|
|
|
|
---
|
|
|
|
## 🏢 **STABILI DI ESEMPIO**
|
|
|
|
### 🏠 **Stabile 1 - Condominio Residenziale Piccolo**
|
|
```php
|
|
// Via Giuseppe Verdi 12, Milano (MI)
|
|
'codice' => 'COND001',
|
|
'denominazione' => 'Condominio Verdi',
|
|
'indirizzo' => 'Via Giuseppe Verdi 12',
|
|
'citta' => 'Milano',
|
|
'provincia' => 'MI',
|
|
'cap' => '20121',
|
|
'codice_fiscale' => '80012345678',
|
|
'partita_iva' => null,
|
|
'unita_immobiliari' => 8,
|
|
'piano_interrato' => true,
|
|
'piano_terra' => true,
|
|
'piani_superiori' => 3,
|
|
'ascensore' => true,
|
|
'riscaldamento_centralizzato' => true,
|
|
'anno_costruzione' => 1965,
|
|
'categoria_catastale' => 'A/3',
|
|
'superficie_commerciale' => 850.00, // mq
|
|
```
|
|
|
|
### 🏢 **Stabile 2 - Condominio Medio**
|
|
```php
|
|
// Corso Italia 45, Roma (RM)
|
|
'codice' => 'COND002',
|
|
'denominazione' => 'Residenza Italia',
|
|
'indirizzo' => 'Corso Italia 45',
|
|
'citta' => 'Roma',
|
|
'provincia' => 'RM',
|
|
'cap' => '00186',
|
|
'codice_fiscale' => '80023456789',
|
|
'partita_iva' => null,
|
|
'unita_immobiliari' => 24,
|
|
'piano_interrato' => true,
|
|
'piano_terra' => true,
|
|
'piani_superiori' => 6,
|
|
'ascensore' => true,
|
|
'riscaldamento_centralizzato' => true,
|
|
'anno_costruzione' => 1980,
|
|
'categoria_catastale' => 'A/2',
|
|
'superficie_commerciale' => 2400.00, // mq
|
|
```
|
|
|
|
### 🏙️ **Stabile 3 - Condominio Complesso**
|
|
```php
|
|
// Viale Europa 88, Torino (TO)
|
|
'codice' => 'COND003',
|
|
'denominazione' => 'Complesso Europa',
|
|
'indirizzo' => 'Viale Europa 88',
|
|
'citta' => 'Torino',
|
|
'provincia' => 'TO',
|
|
'cap' => '10126',
|
|
'codice_fiscale' => '80034567890',
|
|
'partita_iva' => null,
|
|
'unita_immobiliari' => 45,
|
|
'piano_interrato' => true,
|
|
'piano_terra' => true,
|
|
'piani_superiori' => 12,
|
|
'ascensore' => true,
|
|
'riscaldamento_centralizzato' => true,
|
|
'anno_costruzione' => 1995,
|
|
'categoria_catastale' => 'A/1',
|
|
'superficie_commerciale' => 4200.00, // mq
|
|
```
|
|
|
|
---
|
|
|
|
## 🏠 **UNITÀ IMMOBILIARI**
|
|
|
|
### 🏡 **Condominio Verdi** *(8 unità)*
|
|
|
|
#### **Piano Interrato**
|
|
```php
|
|
// Garage/Cantine
|
|
['piano' => -1, 'numero' => 'G1', 'tipo' => 'garage', 'superficie' => 15.0, 'millesimi_proprieta' => 18],
|
|
['piano' => -1, 'numero' => 'G2', 'tipo' => 'garage', 'superficie' => 18.0, 'millesimi_proprieta' => 22],
|
|
['piano' => -1, 'numero' => 'C1', 'tipo' => 'cantina', 'superficie' => 8.0, 'millesimi_proprieta' => 10],
|
|
['piano' => -1, 'numero' => 'C2', 'tipo' => 'cantina', 'superficie' => 10.0, 'millesimi_proprieta' => 12],
|
|
```
|
|
|
|
#### **Piano Terra**
|
|
```php
|
|
// Appartamenti piano terra
|
|
['piano' => 0, 'numero' => '1', 'tipo' => 'appartamento', 'superficie' => 75.0, 'millesimi_proprieta' => 95],
|
|
['piano' => 0, 'numero' => '2', 'tipo' => 'appartamento', 'superficie' => 65.0, 'millesimi_proprieta' => 85],
|
|
```
|
|
|
|
#### **Primi Piani**
|
|
```php
|
|
// Piano primo
|
|
['piano' => 1, 'numero' => '3', 'tipo' => 'appartamento', 'superficie' => 80.0, 'millesimi_proprieta' => 105],
|
|
['piano' => 1, 'numero' => '4', 'tipo' => 'appartamento', 'superficie' => 70.0, 'millesimi_proprieta' => 90],
|
|
|
|
// Piano secondo
|
|
['piano' => 2, 'numero' => '5', 'tipo' => 'appartamento', 'superficie' => 85.0, 'millesimi_proprieta' => 110],
|
|
['piano' => 2, 'numero' => '6', 'tipo' => 'appartamento', 'superficie' => 75.0, 'millesimi_proprieta' => 95],
|
|
|
|
// Piano terzo (mansarde)
|
|
['piano' => 3, 'numero' => '7', 'tipo' => 'mansarda', 'superficie' => 60.0, 'millesimi_proprieta' => 75],
|
|
['piano' => 3, 'numero' => '8', 'tipo' => 'mansarda', 'superficie' => 55.0, 'millesimi_proprieta' => 70],
|
|
```
|
|
|
|
### 📊 **Verifica Millesimi**
|
|
```php
|
|
// Totale millesimi: 18+22+10+12+95+85+105+90+110+95+75+70 = 787
|
|
// NOTA: Discostamento da 1000 normale per parti comuni
|
|
// Parti comuni: 1000 - 787 = 213 millesimi (scale, ascensore, tetto, ecc.)
|
|
```
|
|
|
|
---
|
|
|
|
## 👥 **SOGGETTI** *(Proprietari e Inquilini)*
|
|
|
|
### 🏠 **Condominio Verdi - Soggetti**
|
|
|
|
#### **Proprietari Residenti**
|
|
```php
|
|
// Famiglia Rossi (Appartamento 1 + Garage 1)
|
|
[
|
|
'tipo' => 'persona_fisica',
|
|
'nome' => 'Mario',
|
|
'cognome' => 'Rossi',
|
|
'codice_fiscale' => 'RSSMRA70A01F205X',
|
|
'email' => 'mario.rossi@email.com',
|
|
'telefono' => '+39 340 1234567',
|
|
'ruolo_principale' => 'proprietario',
|
|
'residente' => true,
|
|
'unita' => ['1', 'G1']
|
|
],
|
|
|
|
// Famiglia Bianchi (Appartamento 3)
|
|
[
|
|
'tipo' => 'persona_fisica',
|
|
'nome' => 'Giulia',
|
|
'cognome' => 'Bianchi',
|
|
'codice_fiscale' => 'BNCGLI80B01F205Y',
|
|
'email' => 'giulia.bianchi@email.com',
|
|
'telefono' => '+39 347 2345678',
|
|
'ruolo_principale' => 'proprietario',
|
|
'residente' => true,
|
|
'unita' => ['3']
|
|
],
|
|
```
|
|
|
|
#### **Proprietari Non Residenti**
|
|
```php
|
|
// Immobiliare Azzurra SRL (Appartamenti in affitto)
|
|
[
|
|
'tipo' => 'persona_giuridica',
|
|
'denominazione' => 'Immobiliare Azzurra SRL',
|
|
'codice_fiscale' => '12345678901',
|
|
'partita_iva' => '12345678901',
|
|
'email' => 'amministrazione@immobiliareazzurra.it',
|
|
'telefono' => '+39 02 8765432',
|
|
'ruolo_principale' => 'proprietario',
|
|
'residente' => false,
|
|
'unita' => ['2', '4', 'G2']
|
|
],
|
|
```
|
|
|
|
#### **Inquilini**
|
|
```php
|
|
// Inquilino App. 2 (proprietà Immobiliare Azzurra)
|
|
[
|
|
'tipo' => 'persona_fisica',
|
|
'nome' => 'Luca',
|
|
'cognome' => 'Verdi',
|
|
'codice_fiscale' => 'VRDLCU85C01F205Z',
|
|
'email' => 'luca.verdi@email.com',
|
|
'telefono' => '+39 348 3456789',
|
|
'ruolo_principale' => 'inquilino',
|
|
'residente' => true,
|
|
'unita' => ['2'],
|
|
'contratto_riferimento' => 'CONTR_002'
|
|
],
|
|
|
|
// Inquilino App. 4 (proprietà Immobiliare Azzurra)
|
|
[
|
|
'tipo' => 'persona_fisica',
|
|
'nome' => 'Anna',
|
|
'cognome' => 'Neri',
|
|
'codice_fiscale' => 'NRANNA90D01F205W',
|
|
'email' => 'anna.neri@email.com',
|
|
'telefono' => '+39 351 4567890',
|
|
'ruolo_principale' => 'inquilino',
|
|
'residente' => true,
|
|
'unita' => ['4'],
|
|
'contratto_riferimento' => 'CONTR_004'
|
|
],
|
|
```
|
|
|
|
---
|
|
|
|
## 🏦 **GESTIONI CONDOMINIALI**
|
|
|
|
### 💼 **Gestione 2024 - Condominio Verdi**
|
|
```php
|
|
'codice' => 'GEST2024_001',
|
|
'stabile_id' => 1, // Condominio Verdi
|
|
'denominazione' => 'Gestione Ordinaria 2024',
|
|
'data_inizio' => '2024-01-01',
|
|
'data_fine' => '2024-12-31',
|
|
'stato' => 'attiva',
|
|
'budget_previsto' => 15000.00,
|
|
'budget_speso' => 8450.00, // (aggiornato a luglio)
|
|
'budget_residuo' => 6550.00,
|
|
'note' => 'Gestione ordinaria con focus su manutenzione ascensore',
|
|
|
|
// Ripartizione budget per categorie
|
|
'categorie_spesa' => [
|
|
'pulizie' => 3600.00, // 24%
|
|
'riscaldamento' => 4500.00, // 30%
|
|
'ascensore' => 2400.00, // 16%
|
|
'giardino' => 1200.00, // 8%
|
|
'amministrazione' => 1800.00, // 12%
|
|
'manutenzioni' => 1500.00 // 10%
|
|
],
|
|
```
|
|
|
|
### 🔧 **Gestione Straordinaria 2024**
|
|
```php
|
|
'codice' => 'GEST2024_001_STRAORD',
|
|
'stabile_id' => 1,
|
|
'denominazione' => 'Rifacimento Tetto 2024',
|
|
'data_inizio' => '2024-06-01',
|
|
'data_fine' => '2024-09-30',
|
|
'stato' => 'in_corso',
|
|
'budget_previsto' => 25000.00,
|
|
'budget_speso' => 12000.00,
|
|
'budget_residuo' => 13000.00,
|
|
'note' => 'Rifacimento completo copertura tetto e grondaie',
|
|
```
|
|
|
|
---
|
|
|
|
## 📋 **CONTRATTI LOCAZIONE**
|
|
|
|
### 🏠 **Contratto 1 - App. 2**
|
|
```php
|
|
'codice' => 'CONTR_002',
|
|
'unita_id' => 2, // Appartamento 2
|
|
'locatore_id' => 4, // Immobiliare Azzurra
|
|
'conduttore_id' => 5, // Luca Verdi
|
|
'tipo_contratto' => 'libero_mercato',
|
|
'data_inizio' => '2023-09-01',
|
|
'data_fine' => '2027-08-31',
|
|
'canone_mensile' => 850.00,
|
|
'deposito_cauzionale' => 1700.00,
|
|
'spese_condominiali' => 'incluse',
|
|
'stato' => 'attivo',
|
|
'note' => 'Contratto 4+4 anni, rinnovo automatico',
|
|
```
|
|
|
|
### 🏠 **Contratto 2 - App. 4**
|
|
```php
|
|
'codice' => 'CONTR_004',
|
|
'unita_id' => 4, // Appartamento 4
|
|
'locatore_id' => 4, // Immobiliare Azzurra
|
|
'conduttore_id' => 6, // Anna Neri
|
|
'tipo_contratto' => 'canone_concordato',
|
|
'data_inizio' => '2024-03-01',
|
|
'data_fine' => '2027-02-28',
|
|
'canone_mensile' => 720.00,
|
|
'deposito_cauzionale' => 1440.00,
|
|
'spese_condominiali' => 'separate',
|
|
'stato' => 'attivo',
|
|
'note' => 'Canone concordato comune Milano',
|
|
```
|
|
|
|
---
|
|
|
|
## 💰 **MOVIMENTI CONTABILI**
|
|
|
|
### 🧾 **Entrate 2024** *(Esempi)*
|
|
```php
|
|
// Rate condominiali
|
|
[
|
|
'data' => '2024-01-15',
|
|
'tipo' => 'entrata',
|
|
'categoria' => 'rate_condominiali',
|
|
'descrizione' => 'Rate I trimestre 2024 - Rossi Mario',
|
|
'importo' => 350.00,
|
|
'soggetto_id' => 1, // Mario Rossi
|
|
'metodo_pagamento' => 'bonifico',
|
|
'riferimento' => 'RATA_2024_T1_001'
|
|
],
|
|
|
|
[
|
|
'data' => '2024-01-18',
|
|
'tipo' => 'entrata',
|
|
'categoria' => 'rate_condominiali',
|
|
'descrizione' => 'Rate I trimestre 2024 - Bianchi Giulia',
|
|
'importo' => 385.00,
|
|
'soggetto_id' => 2, // Giulia Bianchi
|
|
'metodo_pagamento' => 'bonifico',
|
|
'riferimento' => 'RATA_2024_T1_003'
|
|
],
|
|
```
|
|
|
|
### 💸 **Uscite 2024** *(Esempi)*
|
|
```php
|
|
// Spese pulizie
|
|
[
|
|
'data' => '2024-01-31',
|
|
'tipo' => 'uscita',
|
|
'categoria' => 'pulizie',
|
|
'descrizione' => 'Pulizie scale e parti comuni - Gennaio 2024',
|
|
'importo' => 280.00,
|
|
'fornitore' => 'Pulizie Srl',
|
|
'fattura_numero' => 'FATT_001_2024',
|
|
'scadenza_pagamento' => '2024-02-15'
|
|
],
|
|
|
|
// Manutenzione ascensore
|
|
[
|
|
'data' => '2024-02-15',
|
|
'tipo' => 'uscita',
|
|
'categoria' => 'ascensore',
|
|
'descrizione' => 'Manutenzione trimestrale ascensore',
|
|
'importo' => 450.00,
|
|
'fornitore' => 'Otis Italia',
|
|
'fattura_numero' => 'OT_2024_0234',
|
|
'scadenza_pagamento' => '2024-03-15'
|
|
],
|
|
```
|
|
|
|
---
|
|
|
|
## 📊 **RIPARTIZIONI MILLESIMI**
|
|
|
|
### 🧮 **Tabelle Millesimali - Condominio Verdi**
|
|
|
|
#### **Proprietà Generale** *(Totale: 1000)*
|
|
```php
|
|
'unita_1' => 95, // App. 1 - 75 mq
|
|
'unita_2' => 85, // App. 2 - 65 mq
|
|
'unita_3' => 105, // App. 3 - 80 mq
|
|
'unita_4' => 90, // App. 4 - 70 mq
|
|
'unita_5' => 110, // App. 5 - 85 mq
|
|
'unita_6' => 95, // App. 6 - 75 mq
|
|
'unita_7' => 75, // App. 7 - 60 mq (mansarda)
|
|
'unita_8' => 70, // App. 8 - 55 mq (mansarda)
|
|
'garage_1' => 18, // Garage 1 - 15 mq
|
|
'garage_2' => 22, // Garage 2 - 18 mq
|
|
'cantina_1' => 10, // Cantina 1 - 8 mq
|
|
'cantina_2' => 12, // Cantina 2 - 10 mq
|
|
// Parti comuni
|
|
'scale_ascensore' => 120,
|
|
'tetto_facciata' => 93,
|
|
'totale' => 1000
|
|
```
|
|
|
|
#### **Riscaldamento** *(Solo appartamenti)*
|
|
```php
|
|
'unita_1' => 145, // Piano terra (maggiore dispersione)
|
|
'unita_2' => 125, // Piano terra
|
|
'unita_3' => 135, // Piano primo
|
|
'unita_4' => 120, // Piano primo
|
|
'unita_5' => 140, // Piano secondo
|
|
'unita_6' => 130, // Piano secondo
|
|
'unita_7' => 100, // Mansarda (minor volume)
|
|
'unita_8' => 105, // Mansarda
|
|
'totale' => 1000
|
|
```
|
|
|
|
#### **Ascensore** *(Escluso piano terra)*
|
|
```php
|
|
'unita_3' => 200, // Piano primo
|
|
'unita_4' => 180, // Piano primo
|
|
'unita_5' => 220, // Piano secondo
|
|
'unita_6' => 200, // Piano secondo
|
|
'unita_7' => 100, // Mansarda (peso ridotto)
|
|
'unita_8' => 100, // Mansarda
|
|
'totale' => 1000
|
|
```
|
|
|
|
---
|
|
|
|
## 🔐 **UTENTI TEST** *(Riferimento CREDENZIALI_TEST.md)*
|
|
|
|
### 👤 **Amministratori**
|
|
- **admin@netgescon.com** - Super Admin
|
|
- **admin.verdi@netgescon.com** - Admin Condominio Verdi
|
|
- **admin.italia@netgescon.com** - Admin Residenza Italia
|
|
|
|
### 👨👩👧👦 **Condomini**
|
|
- **mario.rossi@email.com** - Proprietario residente
|
|
- **giulia.bianchi@email.com** - Proprietario residente
|
|
- **luca.verdi@email.com** - Inquilino
|
|
|
|
### 🏢 **Fornitori**
|
|
- **pulizie@email.com** - Ditta pulizie
|
|
- **manutentore@email.com** - Manutentore generico
|
|
|
|
---
|
|
|
|
## 📨 **COMUNICAZIONI ESEMPIO**
|
|
|
|
### 📧 **Template Email**
|
|
```php
|
|
// Avviso assemblea
|
|
'oggetto' => 'Convocazione Assemblea Condominiale - 15 Marzo 2024',
|
|
'mittente' => 'Amministratore Condominio Verdi',
|
|
'template' => 'assemblea_convocazione',
|
|
'variabili' => [
|
|
'condominio' => 'Condominio Verdi',
|
|
'data_assemblea' => '15/03/2024',
|
|
'ora' => '18:00',
|
|
'luogo' => 'Sala riunioni - Piano terra',
|
|
'ordine_giorno' => [
|
|
'Approvazione bilancio 2023',
|
|
'Budget previsionale 2024',
|
|
'Rifacimento tetto',
|
|
'Varie ed eventuali'
|
|
]
|
|
]
|
|
```
|
|
|
|
### 💸 **Sollecito Pagamento**
|
|
```php
|
|
'oggetto' => 'Sollecito pagamento rate condominiali',
|
|
'template' => 'sollecito_pagamento',
|
|
'variabili' => [
|
|
'nome_condomino' => 'Mario Rossi',
|
|
'unita' => 'Appartamento 1',
|
|
'importo_dovuto' => 350.00,
|
|
'scadenza' => '31/01/2024',
|
|
'giorni_ritardo' => 15,
|
|
'iban' => 'IT60 X054 2811 1010 0000 0123 456'
|
|
]
|
|
```
|
|
|
|
---
|
|
|
|
## 📊 **SCENARI TEST COMPLESSI**
|
|
|
|
### 🧪 **Scenario A: Condominio Piccolo** *(Per test base)*
|
|
- **Stabili**: 1 (Condominio Verdi)
|
|
- **Unità**: 8 appartamenti + 4 pertinenze
|
|
- **Soggetti**: 12 (8 proprietari + 4 inquilini)
|
|
- **Budget annuale**: 15.000€
|
|
- **Complessità**: Bassa - Ideale per test CRUD
|
|
|
|
### 🧪 **Scenario B: Condominio Medio** *(Per test performance)*
|
|
- **Stabili**: 2 (Verdi + Italia)
|
|
- **Unità**: 32 totali
|
|
- **Soggetti**: 45
|
|
- **Budget annuale**: 45.000€
|
|
- **Complessità**: Media - Test performance query
|
|
|
|
### 🧪 **Scenario C: Condominio Complesso** *(Per stress test)*
|
|
- **Stabili**: 3 (Verdi + Italia + Europa)
|
|
- **Unità**: 77 totali
|
|
- **Soggetti**: 120+
|
|
- **Budget annuale**: 200.000€
|
|
- **Complessità**: Alta - Stress test sistema
|
|
|
|
### 🔧 **Scenario Edge Cases**
|
|
```php
|
|
// Casi limite per test robustezza
|
|
- Unità con millesimi 0 (parcheggi non computabili)
|
|
- Soggetti con quote multiple su stesso stabile
|
|
- Contratti con date sovrapposte
|
|
- Pagamenti parziali e stornati
|
|
- Bilanci con importi negativi (ricavi)
|
|
- Ripartizioni con resto non distribuibile
|
|
```
|
|
|
|
---
|
|
|
|
## 🚀 **UTILIZZO SEEDER**
|
|
|
|
### 💻 **Comandi Seeder**
|
|
```bash
|
|
# Seeder completo (tutti gli scenari)
|
|
php artisan db:seed --class=TestSetupSeeder
|
|
|
|
# Seeder scenario specifico
|
|
php artisan db:seed --class=TestSetupSeeder --scenario=piccolo
|
|
php artisan db:seed --class=TestSetupSeeder --scenario=medio
|
|
php artisan db:seed --class=TestSetupSeeder --scenario=complesso
|
|
|
|
# Reset + seeder
|
|
php artisan migrate:fresh --seed
|
|
|
|
# Solo dati contabili
|
|
php artisan db:seed --class=TestContabilitaSeeder
|
|
```
|
|
|
|
### 📊 **Verifica Dati**
|
|
```bash
|
|
# Verifica creazione dati
|
|
php artisan tinker
|
|
>>> App\Models\Stabile::count()
|
|
>>> App\Models\Unita::count()
|
|
>>> App\Models\Soggetto::count()
|
|
>>> App\Models\User::count()
|
|
|
|
# Verifica millesimi
|
|
>>> App\Models\Stabile::find(1)->unita->sum('millesimi_proprieta')
|
|
// Dovrebbe essere circa 1000 (±50 per parti comuni)
|
|
```
|
|
|
|
---
|
|
|
|
## 🔄 **MANUTENZIONE DATI**
|
|
|
|
### 📅 **Aggiornamento Periodico**
|
|
- **Settimanale**: Verifica coerenza seeder con nuove features
|
|
- **Mensile**: Aggiunta nuovi scenari test per edge cases
|
|
- **Release**: Sincronizzazione con modifiche database schema
|
|
- **Annuale**: Review completa realismo dati vs. mercato
|
|
|
|
### 📊 **Validazione Dati**
|
|
```php
|
|
// Script validazione (da creare)
|
|
- Totale millesimi per stabile = 1000
|
|
- Codici fiscali validi (checksum)
|
|
- Email uniche nel sistema
|
|
- Date coerenti (inizio < fine)
|
|
- Bilanci quadrati (entrate = uscite + residuo)
|
|
```
|
|
|
|
---
|
|
|
|
*🔄 Mantenere sincronizzato con TestSetupSeeder.php*
|
|
*📊 Aggiornare dati ogni nuova feature*
|
|
*🧪 Testare realismo dati con utenti reali*
|