147 lines
5.6 KiB
PHP
147 lines
5.6 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
|
use Illuminate\Database\Seeder;
|
|
use App\Models\Stabile;
|
|
use App\Models\TabellaMillesimale;
|
|
use App\Models\Contatore;
|
|
use App\Models\ChiaveStabile;
|
|
|
|
class TestStabiliSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
// Crea stabile di test con solo i campi essenziali
|
|
$stabile = Stabile::create([
|
|
'denominazione' => 'Condominio Villa Serena',
|
|
'indirizzo' => 'Via Roma, 123',
|
|
'citta' => 'Roma',
|
|
'cap' => '00100',
|
|
'provincia' => 'RM',
|
|
'codice_fiscale' => '80012345678',
|
|
'note' => 'Condominio di prestigio per test dashboard',
|
|
]);
|
|
|
|
// Crea tabelle millesimali
|
|
$tabelle = [
|
|
[
|
|
'nome' => 'Millesimi Generali',
|
|
'tipo' => 'generali',
|
|
'descrizione' => 'Ripartizione spese generali condominiali',
|
|
'totale_millesimi' => 1000,
|
|
'attiva' => true,
|
|
'data_approvazione' => '2024-01-01',
|
|
'delibera_riferimento' => 'Assemblea straordinaria del 10/01/2024'
|
|
],
|
|
[
|
|
'nome' => 'Millesimi Riscaldamento',
|
|
'tipo' => 'riscaldamento',
|
|
'descrizione' => 'Ripartizione spese riscaldamento centralizzato',
|
|
'totale_millesimi' => 1000,
|
|
'attiva' => true,
|
|
'data_approvazione' => '2024-01-01',
|
|
'delibera_riferimento' => 'Assemblea straordinaria del 10/01/2024'
|
|
],
|
|
[
|
|
'nome' => 'Millesimi Ascensore',
|
|
'tipo' => 'ascensore',
|
|
'descrizione' => 'Ripartizione spese ascensore',
|
|
'totale_millesimi' => 850,
|
|
'attiva' => true,
|
|
'data_approvazione' => '2024-01-01',
|
|
'delibera_riferimento' => 'Assemblea straordinaria del 10/01/2024'
|
|
]
|
|
];
|
|
|
|
foreach ($tabelle as $tabella) {
|
|
TabellaMillesimale::create(array_merge($tabella, ['stabile_id' => $stabile->id]));
|
|
}
|
|
|
|
// Crea contatori
|
|
$contatori = [
|
|
[
|
|
'tipo_contatore' => 'gas',
|
|
'numero_contatore' => 'GAS001234567',
|
|
'ubicazione' => 'Centrale termica - Piano interrato',
|
|
'fornitore' => 'ITALGAS',
|
|
'data_installazione' => '2020-03-15',
|
|
'data_ultima_verifica' => '2023-03-15',
|
|
'stato' => 'attivo',
|
|
'note' => 'Contatore principale gas metano per riscaldamento centralizzato'
|
|
],
|
|
[
|
|
'tipo_contatore' => 'elettrico',
|
|
'numero_contatore' => 'ELE987654321',
|
|
'ubicazione' => 'Centralino elettrico - Piano terra',
|
|
'fornitore' => 'ENEL',
|
|
'data_installazione' => '2019-11-20',
|
|
'data_ultima_verifica' => '2024-11-20',
|
|
'stato' => 'attivo',
|
|
'note' => 'Contatore principale energia elettrica parti comuni'
|
|
],
|
|
[
|
|
'tipo_contatore' => 'acqua',
|
|
'numero_contatore' => 'ACQ555666777',
|
|
'ubicazione' => 'Locale contatori - Piano terra',
|
|
'fornitore' => 'ACEA ATO2',
|
|
'data_installazione' => '2018-07-10',
|
|
'data_ultima_verifica' => '2023-07-10',
|
|
'stato' => 'attivo',
|
|
'note' => 'Contatore generale acqua potabile'
|
|
]
|
|
];
|
|
|
|
foreach ($contatori as $contatore) {
|
|
Contatore::create(array_merge($contatore, ['stabile_id' => $stabile->id]));
|
|
}
|
|
|
|
// Crea chiavi
|
|
$chiavi = [
|
|
[
|
|
'numero_chiave' => 'PORTONE-001',
|
|
'tipo_chiave' => 'portone',
|
|
'descrizione' => 'Chiave portone principale',
|
|
'ubicazione' => 'Ingresso principale Via Roma 123',
|
|
'stato' => 'disponibile',
|
|
'materiale' => 'acciaio',
|
|
'note' => 'Chiave master per portone principale con apertura elettrica'
|
|
],
|
|
[
|
|
'numero_chiave' => 'CANTINA-A01',
|
|
'tipo_chiave' => 'cantina',
|
|
'descrizione' => 'Chiave cantina A01',
|
|
'ubicazione' => 'Piano interrato - Settore A',
|
|
'stato' => 'assegnata',
|
|
'materiale' => 'ottone',
|
|
'assegnata_a' => 'Unità Immobiliare Int. 1',
|
|
'data_assegnazione' => '2024-01-15',
|
|
'note' => 'Cantina corrispondente unità immobiliare piano primo'
|
|
],
|
|
[
|
|
'numero_chiave' => 'GARAGE-G12',
|
|
'tipo_chiave' => 'garage',
|
|
'descrizione' => 'Chiave garage G12',
|
|
'ubicazione' => 'Piano interrato - Box auto',
|
|
'stato' => 'assegnata',
|
|
'materiale' => 'ottone',
|
|
'assegnata_a' => 'Famiglia Rossi - Int. 5',
|
|
'data_assegnazione' => '2024-02-01',
|
|
'note' => 'Box auto assegnato in via esclusiva'
|
|
]
|
|
];
|
|
|
|
foreach ($chiavi as $chiave) {
|
|
ChiaveStabile::create(array_merge($chiave, ['stabile_id' => $stabile->id]));
|
|
}
|
|
|
|
$this->command->info('✅ Creato stabile di test "Condominio Villa Serena" con dati completi');
|
|
$this->command->info('📊 Aggiunte 3 tabelle millesimali, 3 contatori e 3 chiavi');
|
|
$this->command->info('🔗 ID Stabile: ' . $stabile->id);
|
|
}
|
|
}
|