netgescon-day0/app/Models/IncassoEstrattoConto.php

80 lines
2.0 KiB
PHP
Executable File

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class IncassoEstrattoConto extends Model
{
use HasFactory;
protected $table = 'incassi_estratto_conto';
protected $fillable = [
'tenant_id',
'gestione_id',
'id_gescon',
'data_operazione',
'data_valuta',
'importo',
'descrizione',
'tipo_movimento',
'causale_bancaria',
'ordinante',
'riferimento_bancario',
'incasso_id',
'movimento_bancario_id',
'operazione_id',
'stato',
'confidenza_match',
'note_riconciliazione',
'candidati_match',
'tipo_riconciliazione',
'riconciliato_da_user_id',
'riconciliato_il',
'pattern_scala',
'pattern_interno',
'pattern_nome_estratto',
'pattern_keywords',
'anomalo',
'motivo_anomalia',
'dettagli_anomalia',
'file_origine',
'formato_file',
'riga_file',
'hash_movimento',
'metadati_gescon',
'metadati_file',
];
protected $casts = [
'data_operazione' => 'date',
'data_valuta' => 'date',
'importo' => 'decimal:4',
'confidenza_match' => 'decimal:2',
'candidati_match' => 'array',
'pattern_keywords' => 'array',
'dettagli_anomalia' => 'array',
'metadati_gescon' => 'array',
'metadati_file' => 'array',
'anomalo' => 'boolean',
'riconciliato_il' => 'datetime',
];
public function gestione(): BelongsTo
{
return $this->belongsTo(GestioneContabile::class, 'gestione_id');
}
public function incasso(): BelongsTo
{
return $this->belongsTo(Incasso::class, 'incasso_id');
}
public function movimentoBancario(): BelongsTo
{
return $this->belongsTo(MovimentoBancario::class, 'movimento_bancario_id');
}
}