netgescon-day0/app/Models/StabileServizioLettura.php

81 lines
2.1 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class StabileServizioLettura extends Model
{
protected $table = 'stabile_servizio_letture';
protected $fillable = [
'stabile_id',
'stabile_servizio_id',
'unita_immobiliare_id',
'fornitore_id',
'fattura_elettronica_id',
'voce_spesa_id',
'periodo_dal',
'periodo_al',
'tipologia_lettura',
'canale_acquisizione',
'riferimento_acquisizione',
'workflow_stato',
'protocollo_categoria',
'protocollo_numero',
'richiesta_lettura_inviata_at',
'prossima_lettura_scadenza_at',
'archivio_documentale_path',
'archivio_documentale_sha256',
'lettura_inizio',
'lettura_fine',
'consumo_valore',
'consumo_unita',
'importo_totale',
'raw',
'created_by',
];
protected $casts = [
'periodo_dal' => 'date',
'periodo_al' => 'date',
'richiesta_lettura_inviata_at' => 'datetime',
'prossima_lettura_scadenza_at' => 'datetime',
'lettura_inizio' => 'decimal:3',
'lettura_fine' => 'decimal:3',
'consumo_valore' => 'decimal:3',
'importo_totale' => 'decimal:2',
'raw' => 'array',
];
public function stabile(): BelongsTo
{
return $this->belongsTo(Stabile::class, 'stabile_id');
}
public function servizio(): BelongsTo
{
return $this->belongsTo(StabileServizio::class, 'stabile_servizio_id');
}
public function unitaImmobiliare(): BelongsTo
{
return $this->belongsTo(UnitaImmobiliare::class, 'unita_immobiliare_id');
}
public function fornitore(): BelongsTo
{
return $this->belongsTo(Fornitore::class, 'fornitore_id');
}
public function fatturaElettronica(): BelongsTo
{
return $this->belongsTo(FatturaElettronica::class, 'fattura_elettronica_id');
}
public function voceSpesa(): BelongsTo
{
return $this->belongsTo(VoceSpesa::class, 'voce_spesa_id');
}
}