netgescon-master/netgescon-laravel/app/Models/RigaContabile.php
Michele Windows e68ee85a18 🚀 CHECKPOINT STABILE - Sistema Contabile Avanzato
📋 AGGIUNTE PRINCIPALI:
- Sistema contabile partita doppia con gestioni multiple
- Documentazione implementazione completa
- Models Laravel: GestioneContabile, MovimentoPartitaDoppia
- Controller ContabilitaAvanzataController
- Migration sistema contabile completo
- Scripts automazione e trasferimento
- Manuali utente e checklist implementazione

📊 FILES PRINCIPALI:
- docs/10-IMPLEMENTAZIONE-CONTABILITA-PARTITA-DOPPIA-GESTIONI.md
- SPECIFICHE-SISTEMA-CONTABILE-COMPLETO.md
- netgescon-laravel/database/migrations/2025_07_20_100000_create_complete_accounting_system.php
- netgescon-laravel/app/Models/GestioneContabile.php

 CHECKPOINT SICURO PER ROLLBACK
2025-07-26 15:11:19 +02:00

71 lines
1.5 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
/**
* Riga Contabile (Dare/Avere)
* Ogni movimento ha almeno due righe che si bilanciano
*/
class RigaContabile extends Model
{
use HasFactory;
protected $table = 'righe_contabili';
protected $fillable = [
'movimento_id',
'codice_conto',
'descrizione_riga',
'dare_avere',
'importo',
'unita_immobiliare_id',
'quota_millesimale',
'note_riga',
];
protected $casts = [
'importo' => 'decimal:2',
'quota_millesimale' => 'decimal:4',
];
/**
* Relazioni
*/
public function movimento(): BelongsTo
{
return $this->belongsTo(MovimentoPartitaDoppia::class, 'movimento_id');
}
public function pianoConti(): BelongsTo
{
return $this->belongsTo(PianoContiMasterplan::class, 'codice_conto', 'codice_conto');
}
public function unitaImmobiliare(): BelongsTo
{
return $this->belongsTo(UnitaImmobiliare::class, 'unita_immobiliare_id');
}
/**
* Scopes
*/
public function scopeDare($query)
{
return $query->where('dare_avere', 'dare');
}
public function scopeAvere($query)
{
return $query->where('dare_avere', 'avere');
}
public function scopeByConto($query, $codice_conto)
{
return $query->where('codice_conto', $codice_conto);
}
}