diff --git a/app/Http/Livewire/CancelacionController.php b/app/Http/Livewire/CancelacionController.php index a433a1b..6c82528 100644 --- a/app/Http/Livewire/CancelacionController.php +++ b/app/Http/Livewire/CancelacionController.php @@ -5,9 +5,12 @@ namespace App\Http\Livewire; use App\Models\Movimiento; use Illuminate\Support\Facades\Auth; use Livewire\Component; +use Livewire\WithPagination; class CancelacionController extends Component { + use WithPagination; + const CODIGO_CANCELACION = 3; public $buscador = '' , $modal = false; diff --git a/app/Http/Livewire/VentaController.php b/app/Http/Livewire/VentaController.php index 784b00c..f9a2693 100644 --- a/app/Http/Livewire/VentaController.php +++ b/app/Http/Livewire/VentaController.php @@ -60,6 +60,8 @@ class VentaController extends Component public function updated() { + if(!$this->modal) + return; if($this->venta->cambio()>0) { $this->cambio = $this->venta->cambio(); @@ -83,6 +85,12 @@ class VentaController extends Component 'venta.estado_movimiento_id' => 'numeric', ]); + if($this->venta->isTotalMayorCambio()) + { + session()->flash("error","Pago diferente al efectivo no pueden superar el total de venta."); + return; + } + $this->venta->ajusteCambio(); $this->venta->user_id = Auth::user()->id; diff --git a/app/Http/Livewire/VentaEspecialController.php b/app/Http/Livewire/VentaEspecialController.php index f7b120b..e8eef3d 100644 --- a/app/Http/Livewire/VentaEspecialController.php +++ b/app/Http/Livewire/VentaEspecialController.php @@ -129,10 +129,14 @@ class VentaEspecialController extends Component ]); if(($this->calcularTotalPagar($this->ventaEspecial) - $this->ventaAnterior->totalAbono()) >0){ - // session()->flash("message_abono",($this->calcularTotalPagar($this->ventaEspecial) - $this->ventaAnterior->totalAbono())); session()->flash("message_abono","Debes liquidar la deuda para cerrarla."); return; } + if($this->ventaEspecial->isTotalMayorCambio()) + { + session()->flash("error","Pago diferente al efectivo no pueden superar el total de venta."); + return; + } $this->ventaAnterior->is_liquidado = true; $this->ventaAnterior->save(); diff --git a/app/Models/Movimiento.php b/app/Models/Movimiento.php index 0e32199..d29001d 100644 --- a/app/Models/Movimiento.php +++ b/app/Models/Movimiento.php @@ -65,9 +65,20 @@ class Movimiento extends Model public function ajusteCambio() { - if(((float)$this->pago_efectivo) - $this->cambio()>0) + 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; + } } diff --git a/config/app.php b/config/app.php index 38a7b8b..f58b8d8 100644 --- a/config/app.php +++ b/config/app.php @@ -70,7 +70,7 @@ return [ | */ - 'timezone' => 'UTC', + 'timezone' => 'America/Tijuana', /* |-------------------------------------------------------------------------- diff --git a/resources/views/venta/venta-especial.blade.php b/resources/views/venta/venta-especial.blade.php index bd97ceb..6e0a46d 100644 --- a/resources/views/venta/venta-especial.blade.php +++ b/resources/views/venta/venta-especial.blade.php @@ -41,7 +41,7 @@
- @foreach ($ventas as $venta) + @forelse ($ventas as $venta)