From 5e51562aeca7d9db5fb3b1749e2ca5a12ba8a68e Mon Sep 17 00:00:00 2001 From: Juan Pablo Vial Date: Thu, 9 May 2024 21:00:49 -0400 Subject: [PATCH] FIX: proporcion pie pagado --- app/src/Model/Venta/Pie.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/Model/Venta/Pie.php b/app/src/Model/Venta/Pie.php index adb5862..634e6b1 100644 --- a/app/src/Model/Venta/Pie.php +++ b/app/src/Model/Venta/Pie.php @@ -43,16 +43,19 @@ class Pie extends Model return $sum + $cuota->pago->valor($moneda); }, 0) * $proporcion; } + protected array $pagado; public function pagado(string $moneda = Pago::UF): float { $proporcion = $this->proporcion(); if ($this->asociado !== null) { - return $this->asociado->pagado($moneda) * $proporcion; + return $this->asociado->pagado($moneda) / $this->asociado->proporcion() * $proporcion; } - - return array_reduce($this->cuotas(true), function(float $sum, Cuota $cuota) use ($moneda) { - return $sum + $cuota->pago->valor($moneda); - }, 0) * $proporcion; + if (!isset($this->pagado[$moneda])) { + $this->pagado[$moneda] = array_reduce($this->cuotas(true), function(float $sum, Cuota $cuota) use ($moneda) { + return $sum + $cuota->pago->valor($moneda); + }, 0); + } + return $this->pagado[$moneda] * $proporcion; } protected function proporcion(): float {