From 641eb6a4d33b11f69b65db1fcd3b1e3f591775bb Mon Sep 17 00:00:00 2001 From: ale Date: Mon, 17 Mar 2025 18:11:36 -0300 Subject: [PATCH] Nuevos metodos de totales --- app/GrupoDeCompra.php | 64 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 59 insertions(+), 5 deletions(-) diff --git a/app/GrupoDeCompra.php b/app/GrupoDeCompra.php index 0522d47..d6839b8 100644 --- a/app/GrupoDeCompra.php +++ b/app/GrupoDeCompra.php @@ -2,6 +2,7 @@ namespace App; +use App\Helpers\TransporteHelper; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\DB; use League\Csv\CannotInsertRecord; @@ -16,6 +17,11 @@ class GrupoDeCompra extends Model protected $table = 'grupos_de_compra'; protected $hidden = ['password']; + public function subpedidos() + { + return $this->hasMany('App\Subpedido'); + } + public function toggleDevoluciones() { $this->devoluciones_habilitadas = !$this->devoluciones_habilitadas; @@ -23,16 +29,64 @@ class GrupoDeCompra extends Model return $this->devoluciones_habilitadas; } - public function subpedidos() - { - return $this->hasMany('App\Subpedido'); - } - public function pedidosAprobados() { return $this->subpedidos->where('aprobado', 1); } + public function totalARecaudar() + { + $total = 0; + foreach ($this->pedidosAprobados() as $subpedido) { + $total = $total + $subpedido->total(); + } + return $total; + } + + public function totalBarrial() + { + $total = 0; + foreach ($this->pedidosAprobados() as $subpedido) { + $total = $total + $subpedido->totalBarrial(); + } + return $total; + } + + public function totalATransferir() + { + return $this->totalCentralesQueNoPaganTransporte() + + $this->totalCentralesQuePaganTransporte() + + $this->totalTransporte(); + } + + public function totalCentralesQueNoPaganTransporte() + { + $total = 0; + foreach ($this->pedidosAprobados() as $subpedido) { + $total = $total + $subpedido->totalCentralesQueNoPaganTransporte(); + } + return $total; + } + + public function totalCentralesQuePaganTransporte() + { + $total = 0; + foreach ($this->pedidosAprobados() as $subpedido) { + $total = $total + $subpedido->totalCentralesQuePaganTransporte(); + } + return $total; + } + + public function totalTransporte() + { + return TransporteHelper::totalTransporte($this->totalCentralesQuePaganTransporte()); + } + + public function cantidadTransporte() + { + return TransporteHelper::cantidadTransporte($this->totalCentralesQuePaganTransporte()); + } + public function exportarPlanillasAPdf() { $subpedidos = $this->pedidosAprobados();