FIX: Si no conecta con Nubox solo se reajusta el terreno.

This commit is contained in:
Juan Pablo Vial
2024-11-20 20:49:05 -03:00
parent 54f3b95b88
commit 28036fdd05
3 changed files with 53 additions and 10 deletions

View File

@ -4,9 +4,7 @@ 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\Http\Client\ClientExceptionInterface;
use Psr\Log\LoggerInterface;
use Incoviba\Common\Ideal;
use Incoviba\Common\Implement;
@ -38,7 +36,7 @@ class Terreno extends Ideal\Service
return $proyecto->terreno;
}
try {
return $this->getValorContable($proyecto, $lastDecember);
return $this->getValorContable($proyecto, $lastDecember->add(new DateInterval('P1D')));
} catch (Implement\Exception\EmptyResponse) {}
if ($proyecto->terreno->fecha === null) {
return null;
@ -52,15 +50,18 @@ class Terreno extends Ideal\Service
}
/**
* @throws EmptyResponse
* @throws HttpResponse
* @throws EmptyResult
* @throws Implement\Exception\EmptyResponse
* @throws Implement\Exception\EmptyResult
* @throws Exception
*/
protected function getValorContable(Model\Proyecto $proyecto, DateTimeImmutable $lastDecember): Model\Proyecto\Terreno
{
$cuentaNubox = $this->nuboxService->getCuenta($proyecto->inmobiliaria()->rut, 'Terrenos');
$movimientos = $this->nuboxService->getMesCuenta($proyecto->inmobiliaria()->rut, $cuentaNubox, $lastDecember);
try {
$cuentaNubox = $this->nuboxService->getCuenta($proyecto->inmobiliaria()->rut, 'Terrenos');
$movimientos = $this->nuboxService->getMesCuenta($proyecto->inmobiliaria()->rut, $cuentaNubox, $lastDecember);
} catch (Implement\Exception\HttpResponse | ClientExceptionInterface $exception) {
throw new Implement\Exception\EmptyResponse("No existen cuentas para este proyecto para la fecha {$lastDecember->format('d-m-Y')}", $exception);
}
if (count($movimientos) === 0 or $movimientos[0]['Saldo'] === 0.0) {
throw new Implement\Exception\EmptyResponse("No hay movimientos para este proyecto para la fecha {$lastDecember->format('d-m-Y')}");
}