belongsTo(Cliente::class, 'cliente_id'); } public function produto() { return $this->belongsTo(Produto::class, 'produto_id'); } public function servico() { return $this->belongsTo(Servico::class, 'servico_id'); } public function usuario() { return $this->belongsTo(User::class, 'usuario_id'); } public function dataValidade() { return $this->data_venda ? Carbon::parse($this->data_venda)->addDays($this->prazo_garantia) : null; } public function isValida() { return $this->dataValidade() && now()->lte($this->dataValidade()); } public static function estados() { return [ 'registrada' => 'Registrada', 'em análise' => 'Em análise', 'aprovada' => 'Aprovada', 'recusada' => 'Recusada', 'concluída' => 'Concluída', 'expirada' => 'Expirada', ]; } public function statusFormatado() { switch ($this->status) { case 'registrada': return 'Registrada'; case 'em análise': return 'Em Análise'; case 'aprovada': return 'Aprovada'; case 'recusada': return 'Recusada'; case 'concluída': return 'Concluída'; case 'expirada': return 'Expirada'; default: return 'Indefinido'; } } }