From aaf2ed761225f6a3cd7d8dbc478def070428b816 Mon Sep 17 00:00:00 2001 From: Juan Pablo Vial Date: Mon, 5 May 2025 18:15:48 -0400 Subject: [PATCH] UF service en Venta --- app/src/Service/Venta.php | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/app/src/Service/Venta.php b/app/src/Service/Venta.php index c7ca268..69cb741 100644 --- a/app/src/Service/Venta.php +++ b/app/src/Service/Venta.php @@ -31,7 +31,7 @@ class Venta extends Service protected Venta\BonoPie $bonoPieService, protected Venta\Pago $pagoService, protected Proyecto\Terreno $terrenoService, - protected Money $moneyService, + protected UF $ufService, protected Valor $valorService ) { parent::__construct($logger); @@ -177,6 +177,15 @@ class Venta extends Service protected function process(Model\Venta $venta): Model\Venta { + if ($venta->uf === 0.0) { + $uf = $this->ufService->get($venta->fecha); + if ($uf > 0.0) { + try { + $venta = $this->ventaRepository->edit($venta, ['uf' => $uf]); + } catch (Implement\Exception\EmptyResult) {} + } + } + $venta->addFactory('formaPago', (new Implement\Repository\Factory()) ->setCallable([$this->formaPagoService, 'getByVenta']) ->setArgs(['venta_id' => $venta->id])); @@ -186,6 +195,7 @@ class Venta extends Service $venta->addFactory('currentEstado', (new Implement\Repository\Factory()) ->setCallable([$this->estadoVentaRepository, 'fetchCurrentByVenta']) ->setArgs([$venta->id])); + return $venta; } @@ -207,7 +217,7 @@ class Venta extends Service public function add(array $data): Model\Venta { $fecha = new DateTimeImmutable($data['fecha_venta']); - $data['uf'] = $this->moneyService->getUF($fecha); + $data['uf'] = $this->ufService->get($fecha); $propietario = $this->addPropietario($data); $propiedad = $this->addPropiedad($data); $formaPago = $this->addFormaPago($data); @@ -445,7 +455,7 @@ class Venta extends Service } catch (DateMalformedStringException) { $fecha = new DateTimeImmutable(); } - $uf = $this->moneyService->getUF($fecha); + $uf = $this->ufService->get($fecha); $valor = $data['valor_pago_ufs'] !== '' ? $this->valorService->clean($data['valor_pago_ufs']) * $uf : $this->valorService->clean($data['valor_pago_pesos']); $pagoData = [ 'valor' => $valor, @@ -471,7 +481,7 @@ class Venta extends Service } catch (DateMalformedStringException) { $fecha = new DateTimeImmutable(); } - $uf = $this->moneyService->getUF($fecha); + $uf = $this->ufService->get($fecha); $subsidioData = [ 'fecha_venta' => $fecha->format('Y-m-d'), 'ahorro' => $this->valorService->clean($data['valor_ahorro']), @@ -489,7 +499,7 @@ class Venta extends Service } catch (DateMalformedStringException) { $fecha = new DateTimeImmutable(); } - $uf = $this->moneyService->getUF($fecha); + $uf = $this->ufService->get($fecha); $valor = $this->valorService->clean($data['valor_credito']) * $uf; if ($venta->formaPago()->credito === null) { if ($data['valor_credito'] === 0) {