Files
stradaautopartes/app/Models/Movimiento.php
2023-08-18 09:21:26 -07:00

85 lines
1.8 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Movimiento extends Model
{
use HasFactory;
protected $fillable = [
'codigo',
'pago_efectivo',
'pago_tarjeta',
'pago_vales',
'pago_transferencia',
'precio_venta',
'estado_movimiento_id',
'user_id',
'is_liquidado',
'motivo',
];
public function estadoMovimiento()
{
return $this->belongsTo(EstadoMovimiento::class);
}
public function user()
{
return $this->belongsTo(User::class);
}
public function totalAbono()
{
return ((float)$this->pago_efectivo +
(float)$this->pago_tarjeta +
(float)$this->pago_vales +
(float)$this->pago_transferencia);
}
public function cambio()
{
return (
((float)$this->pago_efectivo +
(float)$this->pago_tarjeta +
(float)$this->pago_vales +
(float)$this->pago_transferencia) -
(float)$this->precio_venta
);
}
public function faltante()
{
return (
(float)$this->precio_venta -
((float)$this->pago_efectivo +
(float)$this->pago_tarjeta +
(float)$this->pago_vales +
(float)$this->pago_transferencia)
);
}
public function ajusteCambio()
{
if(((float)$this->pago_efectivo) - $this->cambio()>=0)
{
$this->pago_efectivo-= $this->cambio();
}
}
/**
* Create a new Eloquent model instance.
*
* @return void
*/
public function isTotalMayorCambio() : bool
{
return ($this->pago_tarjeta + $this->pago_vales + $this->pago_transferencia)>$this->precio_venta;
}
}