68 lines
1.5 KiB
PHP
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);
|
|
}
|
|
}
|