95 lines
5.7 KiB
PHP
Executable File
95 lines
5.7 KiB
PHP
Executable File
<?php
|
|
namespace App\Modules\Contabilita\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class ContabilitaSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
$timestamp = now();
|
|
|
|
$accounts = [
|
|
['codice' => '100', 'descrizione' => 'Attivita correnti', 'tipo' => 'Attività', 'is_master' => true, 'parent_code' => null],
|
|
['codice' => '200', 'descrizione' => 'Passivita correnti', 'tipo' => 'Passività', 'is_master' => true, 'parent_code' => null],
|
|
['codice' => '300', 'descrizione' => 'Patrimonio netto e fondi', 'tipo' => 'Patrimonio Netto', 'is_master' => true, 'parent_code' => null],
|
|
['codice' => '400', 'descrizione' => 'Proventi e conguagli di gestione', 'tipo' => 'Ricavo', 'is_master' => true, 'parent_code' => null],
|
|
['codice' => '500', 'descrizione' => 'Costi e oneri di gestione', 'tipo' => 'Costo', 'is_master' => true, 'parent_code' => null],
|
|
|
|
['codice' => '1010', 'descrizione' => 'Cassa', 'tipo' => 'Attività', 'is_master' => false, 'parent_code' => '100'],
|
|
['codice' => '1020', 'descrizione' => 'Banca c/c', 'tipo' => 'Attività', 'is_master' => false, 'parent_code' => '100'],
|
|
['codice' => '1100', 'descrizione' => 'Crediti verso condomini', 'tipo' => 'Attività', 'is_master' => false, 'parent_code' => '100'],
|
|
['codice' => '1115', 'descrizione' => 'Rimborsi da utilizzare', 'tipo' => 'Attività', 'is_master' => false, 'parent_code' => '100'],
|
|
|
|
['codice' => '2000', 'descrizione' => 'Debiti verso fornitori', 'tipo' => 'Passività', 'is_master' => false, 'parent_code' => '200'],
|
|
['codice' => '2010', 'descrizione' => 'Erario c/ritenute da versare', 'tipo' => 'Passività', 'is_master' => false, 'parent_code' => '200'],
|
|
['codice' => '2105', 'descrizione' => 'Rimborsi da distribuire', 'tipo' => 'Passività', 'is_master' => false, 'parent_code' => '200'],
|
|
|
|
['codice' => '3100', 'descrizione' => 'Fondo di riserva', 'tipo' => 'Patrimonio Netto', 'is_master' => false, 'parent_code' => '300'],
|
|
['codice' => '3110', 'descrizione' => 'Accantonamenti da destinare', 'tipo' => 'Patrimonio Netto', 'is_master' => false, 'parent_code' => '300'],
|
|
['codice' => '3120', 'descrizione' => 'Fondo rischi', 'tipo' => 'Patrimonio Netto', 'is_master' => false, 'parent_code' => '300'],
|
|
['codice' => '3130', 'descrizione' => 'Fondo oneri', 'tipo' => 'Patrimonio Netto', 'is_master' => false, 'parent_code' => '300'],
|
|
['codice' => '3140', 'descrizione' => 'Fondo ammortamento', 'tipo' => 'Patrimonio Netto', 'is_master' => false, 'parent_code' => '300'],
|
|
['codice' => '9998', 'descrizione' => 'Conto apertura esercizio', 'tipo' => 'Patrimonio Netto', 'is_master' => false, 'parent_code' => '300'],
|
|
['codice' => '9999', 'descrizione' => 'Conto chiusura esercizio', 'tipo' => 'Patrimonio Netto', 'is_master' => false, 'parent_code' => '300'],
|
|
|
|
['codice' => '4100', 'descrizione' => 'Quote e conguagli da emettere', 'tipo' => 'Ricavo', 'is_master' => false, 'parent_code' => '400'],
|
|
['codice' => '4200', 'descrizione' => 'Altri proventi di gestione', 'tipo' => 'Ricavo', 'is_master' => false, 'parent_code' => '400'],
|
|
|
|
['codice' => '5100', 'descrizione' => 'Servizi condominiali', 'tipo' => 'Costo', 'is_master' => false, 'parent_code' => '500'],
|
|
['codice' => '5110', 'descrizione' => 'Manutenzioni ordinarie', 'tipo' => 'Costo', 'is_master' => false, 'parent_code' => '500'],
|
|
['codice' => '5120', 'descrizione' => 'Utenze e forniture', 'tipo' => 'Costo', 'is_master' => false, 'parent_code' => '500'],
|
|
['codice' => '5130', 'descrizione' => 'Assicurazioni', 'tipo' => 'Costo', 'is_master' => false, 'parent_code' => '500'],
|
|
['codice' => '5140', 'descrizione' => 'Compensi amministrazione', 'tipo' => 'Costo', 'is_master' => false, 'parent_code' => '500'],
|
|
['codice' => '5150', 'descrizione' => 'Oneri bancari e postali', 'tipo' => 'Costo', 'is_master' => false, 'parent_code' => '500'],
|
|
];
|
|
|
|
$mapTipo = [
|
|
'Attività' => 'ATTIVO',
|
|
'Passività' => 'PASSIVO',
|
|
'Patrimonio Netto' => 'PATRIMONIO',
|
|
'Ricavo' => 'RICAVO',
|
|
'Costo' => 'COSTO',
|
|
];
|
|
|
|
foreach ($accounts as $account) {
|
|
if ($account['parent_code'] !== null) {
|
|
continue;
|
|
}
|
|
|
|
DB::table('contabilita_piano_conti')->updateOrInsert(
|
|
['codice' => $account['codice']],
|
|
[
|
|
'denominazione' => $account['descrizione'],
|
|
'tipo_conto' => $mapTipo[$account['tipo']] ?? 'COSTO',
|
|
'livello' => 1,
|
|
'codice_padre' => null,
|
|
'updated_at' => $timestamp,
|
|
'created_at' => $timestamp,
|
|
]
|
|
);
|
|
}
|
|
|
|
foreach ($accounts as $account) {
|
|
if ($account['parent_code'] === null) {
|
|
continue;
|
|
}
|
|
|
|
DB::table('contabilita_piano_conti')->updateOrInsert(
|
|
['codice' => $account['codice']],
|
|
[
|
|
'denominazione' => $account['descrizione'],
|
|
'tipo_conto' => $mapTipo[$account['tipo']] ?? 'COSTO',
|
|
'livello' => 2,
|
|
'codice_padre' => $account['parent_code'],
|
|
'updated_at' => $timestamp,
|
|
'created_at' => $timestamp,
|
|
]
|
|
);
|
|
}
|
|
|
|
echo "✅ Seeder Contabilita completato\n";
|
|
}
|
|
}
|