get(); $gestioni = \App\Models\Gestione::take(2)->get(); $fornitori = \App\Models\Fornitore::take(5)->get(); $users = \App\Models\User::take(2)->get(); if ($stabili->isEmpty() || $gestioni->isEmpty() || $users->isEmpty()) { $this->command->info('Skipping MovimentiContabiliSeeder: missing related data'); return; } $movimenti = [ // Prima nota - da confermare [ 'stabile_id' => $stabili->first()->id_stabile, 'gestione_id' => $gestioni->first()->id, 'fornitore_id' => $fornitori->isNotEmpty() ? $fornitori->first()->id : null, 'stato_movimento' => 'prima_nota', 'data_registrazione' => now()->subDays(5), 'descrizione' => 'Fattura ENEL - Energia elettrica parti comuni', 'tipo_movimento' => 'uscita', 'categoria_movimento' => 'ordinario', 'importo_totale' => 450.00, 'iva' => 45.00, 'importo_netto' => 495.00, 'numero_documento' => 'FAT-2024-001', 'data_documento' => now()->subDays(7), 'creato_da' => $users->first()->id, ], [ 'stabile_id' => $stabili->first()->id_stabile, 'gestione_id' => $gestioni->first()->id, 'stato_movimento' => 'prima_nota', 'data_registrazione' => now()->subDays(3), 'descrizione' => 'Rate condominiali gennaio 2025', 'tipo_movimento' => 'entrata', 'categoria_movimento' => 'ordinario', 'importo_totale' => 2500.00, 'importo_netto' => 2500.00, 'creato_da' => $users->first()->id, ], // Movimenti confermati [ 'stabile_id' => $stabili->first()->id_stabile, 'gestione_id' => $gestioni->first()->id, 'fornitore_id' => $fornitori->count() > 1 ? $fornitori->skip(1)->first()->id : null, 'stato_movimento' => 'confermato', 'data_registrazione' => now()->subDays(10), 'data_conferma' => now()->subDays(8), 'confermato_da' => $users->count() > 1 ? $users->skip(1)->first()->id : $users->first()->id, 'descrizione' => 'Pulizia scale - Ditta XYZ', 'tipo_movimento' => 'uscita', 'categoria_movimento' => 'ordinario', 'importo_totale' => 300.00, 'iva' => 30.00, 'importo_netto' => 330.00, 'numero_documento' => 'FAT-2024-002', 'data_documento' => now()->subDays(12), 'creato_da' => $users->first()->id, ], // Movimento straordinario [ 'stabile_id' => $stabili->count() > 1 ? $stabili->skip(1)->first()->id_stabile : $stabili->first()->id_stabile, 'gestione_id' => $gestioni->count() > 1 ? $gestioni->skip(1)->first()->id : $gestioni->first()->id, 'stato_movimento' => 'confermato', 'data_registrazione' => now()->subDays(15), 'data_conferma' => now()->subDays(12), 'confermato_da' => $users->first()->id, 'descrizione' => 'Riparazione ascensore - Intervento urgente', 'tipo_movimento' => 'uscita', 'categoria_movimento' => 'straordinario', 'importo_totale' => 1500.00, 'iva' => 150.00, 'importo_netto' => 1650.00, 'numero_documento' => 'FAT-2024-003', 'data_documento' => now()->subDays(16), 'note_interne' => 'Intervento urgente per guasto improvviso', 'creato_da' => $users->first()->id, ], // Girofondi [ 'stabile_id' => $stabili->first()->id_stabile, 'gestione_id' => $gestioni->first()->id, 'stato_movimento' => 'confermato', 'data_registrazione' => now()->subDays(20), 'data_conferma' => now()->subDays(18), 'confermato_da' => $users->first()->id, 'descrizione' => 'Trasferimento da fondo ordinario a fondo straordinario', 'tipo_movimento' => 'girofondi', 'categoria_movimento' => 'fondo', 'importo_totale' => 1000.00, 'importo_netto' => 1000.00, 'note_interne' => 'Delibera assembleare N.5/2024', 'creato_da' => $users->first()->id, ] ]; foreach ($movimenti as $movimento) { \App\Models\MovimentoContabile::create($movimento); } $this->command->info('Creati ' . count($movimenti) . ' movimenti contabili di test'); } }