Files
SGF/app/Models/Sgc/OrdemCompra.php
T
2026-11-11 09:00:17 +02:00

68 lines
1.5 KiB
PHP

<?php
namespace App\Models\Sgc;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
class OrdemCompra extends Model
{
protected $table = 'sgc_ordens_compra';
protected $fillable = [
'oc_id',
'requisicao_id',
'data_oc',
'fornecedor_id',
'centro_custo_id',
'categoria',
'valor_comprometido',
'moeda',
'taxa_cambio',
'prazo_pagamento_dias',
'data_entrega_prevista',
'status',
'cabimentado',
'sgf_compromisso_id',
];
protected $casts = [
'data_oc' => 'date',
'data_entrega_prevista' => 'date',
'valor_comprometido' => 'decimal:2',
'taxa_cambio' => 'decimal:6',
'cabimentado' => 'boolean',
];
public function fornecedor(): BelongsTo
{
return $this->belongsTo(Fornecedor::class);
}
public function centroCusto(): BelongsTo
{
return $this->belongsTo(CentroCusto::class);
}
public function faturas(): HasMany
{
return $this->hasMany(Fatura::class, 'ordem_compra_id');
}
public function recebimentos(): HasMany
{
return $this->hasMany(Recebimento::class, 'ordem_compra_id');
}
public function scopeEmitidas($query)
{
return $query->where('status', 'Emitida');
}
public function scopeCabimentadas($query)
{
return $query->where('cabimentado', true);
}
}