122 lines
4.6 KiB
PHP
122 lines
4.6 KiB
PHP
<?php
|
|
|
|
namespace App\Console\Seeders;
|
|
|
|
use App\Models\MovimentoContabile;
|
|
use App\Models\Stabile;
|
|
use App\Models\User;
|
|
use Illuminate\Database\Seeder;
|
|
use Carbon\Carbon;
|
|
|
|
class MovimentiContabiliSeeder extends Seeder
|
|
{
|
|
public function run()
|
|
{
|
|
// Recupera uno stabile e un utente per i test
|
|
$stabile = Stabile::first();
|
|
$user = User::first();
|
|
|
|
if (!$stabile || !$user) {
|
|
$this->command->error('Mancano Stabili o Utenti. Esegui prima gli altri seeder.');
|
|
return;
|
|
}
|
|
|
|
$this->command->info('Creazione movimenti contabili di test...');
|
|
|
|
// Movimenti in Prima Nota
|
|
$movimentiPrimaNota = [
|
|
[
|
|
'stabile_id' => $stabile->id, // Usa 'id' invece di 'id_stabile'
|
|
'data_registrazione' => now()->subDays(5),
|
|
'descrizione' => 'Fattura elettrica Enel - Gen 2025',
|
|
'tipo_movimento' => 'uscita',
|
|
'categoria_movimento' => 'ordinario',
|
|
'importo_totale' => 156.78,
|
|
'iva' => 33.92,
|
|
'importo_netto' => 122.86,
|
|
'stato_movimento' => 'prima_nota',
|
|
'numero_documento' => 'ENEL2025001',
|
|
'protocollo' => 'PROT001/2025',
|
|
'creato_da' => $user->id,
|
|
],
|
|
[
|
|
'stabile_id' => $stabile->id, // Usa 'id' invece di 'id_stabile'
|
|
'data_registrazione' => now()->subDays(3),
|
|
'descrizione' => 'Fattura gas Eni - Gen 2025',
|
|
'tipo_movimento' => 'uscita',
|
|
'categoria_movimento' => 'ordinario',
|
|
'importo_totale' => 89.45,
|
|
'iva' => 19.48,
|
|
'importo_netto' => 69.97,
|
|
'stato_movimento' => 'prima_nota',
|
|
'numero_documento' => 'ENI2025001',
|
|
'protocollo' => 'PROT002/2025',
|
|
'creato_da' => $user->id,
|
|
],
|
|
[
|
|
'stabile_id' => $stabile->id, // Usa 'id' invece di 'id_stabile'
|
|
'data_registrazione' => now()->subDays(2),
|
|
'descrizione' => 'Rata condominiale Gennaio 2025',
|
|
'tipo_movimento' => 'entrata',
|
|
'categoria_movimento' => 'ordinario',
|
|
'importo_totale' => 2340.00,
|
|
'iva' => 0.00,
|
|
'importo_netto' => 2340.00,
|
|
'stato_movimento' => 'prima_nota',
|
|
'protocollo' => 'PROT003/2025',
|
|
'creato_da' => $user->id,
|
|
]
|
|
];
|
|
|
|
// Movimenti già Confermati
|
|
$movimentiConfermati = [
|
|
[
|
|
'stabile_id' => $stabile->id, // Usa 'id' invece di 'id_stabile'
|
|
'data_registrazione' => now()->subDays(10),
|
|
'descrizione' => 'Pulizia scale - Dicembre 2024',
|
|
'tipo_movimento' => 'uscita',
|
|
'categoria_movimento' => 'ordinario',
|
|
'importo_totale' => 250.00,
|
|
'iva' => 55.00,
|
|
'importo_netto' => 195.00,
|
|
'stato_movimento' => 'confermato',
|
|
'data_conferma' => now()->subDays(8),
|
|
'confermato_da' => $user->id,
|
|
'numero_documento' => 'PULIZIE001',
|
|
'protocollo' => 'PROT020/2024',
|
|
'creato_da' => $user->id,
|
|
],
|
|
[
|
|
'stabile_id' => $stabile->id, // Usa 'id' invece di 'id_stabile'
|
|
'data_registrazione' => now()->subDays(15),
|
|
'descrizione' => 'Riparazione ascensore',
|
|
'tipo_movimento' => 'uscita',
|
|
'categoria_movimento' => 'straordinario',
|
|
'importo_totale' => 850.00,
|
|
'iva' => 187.00,
|
|
'importo_netto' => 663.00,
|
|
'stato_movimento' => 'confermato',
|
|
'data_conferma' => now()->subDays(12),
|
|
'confermato_da' => $user->id,
|
|
'numero_documento' => 'ASC2024001',
|
|
'protocollo' => 'PROT019/2024',
|
|
'creato_da' => $user->id,
|
|
]
|
|
];
|
|
|
|
// Crea movimenti in prima nota
|
|
foreach ($movimentiPrimaNota as $movimento) {
|
|
MovimentoContabile::create($movimento);
|
|
}
|
|
|
|
// Crea movimenti confermati
|
|
foreach ($movimentiConfermati as $movimento) {
|
|
MovimentoContabile::create($movimento);
|
|
}
|
|
|
|
$this->command->info('Creati ' . count($movimentiPrimaNota) . ' movimenti in Prima Nota');
|
|
$this->command->info('Creati ' . count($movimentiConfermati) . ' movimenti Confermati');
|
|
$this->command->info('Seeder MovimentiContabili completato!');
|
|
}
|
|
}
|