Limpieza de input de valor y filtro de datos a nivel Repo

This commit is contained in:
Juan Pablo Vial
2024-07-03 15:13:13 -04:00
parent d5b9be0196
commit d68eba5697
28 changed files with 436 additions and 189 deletions

View File

@ -1,8 +1,12 @@
<?php
namespace Incoviba\Service\Proyecto;
use Exception;
use DateTimeImmutable;
use DateInterval;
use Incoviba\Common\Implement\Exception\EmptyResponse;
use Incoviba\Common\Implement\Exception\EmptyResult;
use Incoviba\Common\Implement\Exception\HttpResponse;
use Psr\Log\LoggerInterface;
use Incoviba\Common\Ideal;
use Incoviba\Common\Implement;
@ -18,6 +22,11 @@ class Terreno extends Ideal\Service
parent::__construct($logger);
}
/**
* @param int $proyecto_id
* @return Model\Proyecto\Terreno|null
* @throws Exception
*/
public function valor(int $proyecto_id): ?Model\Proyecto\Terreno
{
$terreno = null;
@ -42,6 +51,12 @@ class Terreno extends Ideal\Service
return $terreno;
}
/**
* @throws EmptyResponse
* @throws HttpResponse
* @throws EmptyResult
* @throws Exception
*/
protected function getValorContable(Model\Proyecto $proyecto, DateTimeImmutable $lastDecember): Model\Proyecto\Terreno
{
$cuentaNubox = $this->nuboxService->getCuenta($proyecto->inmobiliaria()->rut, 'Terrenos');
@ -57,6 +72,9 @@ class Terreno extends Ideal\Service
return $proyecto->terreno;
}
/**
* @throws Exception
*/
protected function getValorReajustado(Model\Proyecto $proyecto): ?Model\Proyecto\Terreno
{
$novPrevTerreno = new DateTimeImmutable($proyecto->terreno->fecha->format('m') < 12 ? $proyecto->terreno->fecha->sub(new DateInterval('P1Y'))->format('Y-11-1') : $proyecto->terreno->fecha->format('Y-11-1'));