netgescon-master/_BACKUP_OLD_netgescon-laravel_INACTIVE/database/seeders/TestStabiliSeeder.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);
}
}