From 47d43f504d1e767304b60b3a9d109f11def588fa Mon Sep 17 00:00:00 2001 From: Juan Pablo Vial Date: Fri, 5 Apr 2024 14:48:17 -0300 Subject: [PATCH] Informes anteriores y siguientes --- .../contabilidad/informes/tesoreria.blade.php | 17 ++++++++++++++++- app/src/Controller/Contabilidad.php | 10 +++++++++- .../Contabilidad/Informe/Tesoreria/Excel.php | 7 ++++++- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/app/resources/views/contabilidad/informes/tesoreria.blade.php b/app/resources/views/contabilidad/informes/tesoreria.blade.php index 8b0abf2..f6ffc55 100644 --- a/app/resources/views/contabilidad/informes/tesoreria.blade.php +++ b/app/resources/views/contabilidad/informes/tesoreria.blade.php @@ -27,7 +27,11 @@ - + @@ -48,6 +52,17 @@
Informe anterior{{$anterior->format('d/m/Y')}} + + {{$anterior->format('d/m/Y')}} + +
Informe actual
+ @if ($siguiente !== null) +
+
+ +
+ @endif diff --git a/app/src/Controller/Contabilidad.php b/app/src/Controller/Contabilidad.php index 3826bd5..79ae0c4 100644 --- a/app/src/Controller/Contabilidad.php +++ b/app/src/Controller/Contabilidad.php @@ -69,9 +69,17 @@ class Contabilidad extends Controller { $fecha = new DateTimeImmutable($fecha); $anterior = $contabilidadService->getAnterior($fecha); + $yesterday = new DateTimeImmutable('yesterday'); + $siguiente = null; + if ($yesterday >= $fecha) { + $siguiente = $fecha->add(new DateInterval('P1D')); + if ($siguiente->format('N') === '6') { + $siguiente = $fecha->add(new DateInterval('P3D')); + } + } $informes = $contabilidadService->build($fecha); $filename = "Informe de TesorerĂ­a {$fecha->format('d.m.Y')}"; - return $view->render($response, 'contabilidad.informes.tesoreria', compact('fecha', 'anterior', 'informes', 'filename')); + return $view->render($response, 'contabilidad.informes.tesoreria', compact('fecha', 'anterior', 'siguiente', 'informes', 'filename')); } public function cuadratura(ServerRequestInterface $request, ResponseInterface $response, View $view, Repository\Inmobiliaria $inmobiliariaRepository): ResponseInterface diff --git a/app/src/Service/Contabilidad/Informe/Tesoreria/Excel.php b/app/src/Service/Contabilidad/Informe/Tesoreria/Excel.php index 566908d..94451e6 100644 --- a/app/src/Service/Contabilidad/Informe/Tesoreria/Excel.php +++ b/app/src/Service/Contabilidad/Informe/Tesoreria/Excel.php @@ -345,7 +345,12 @@ class Excel extends Ideal\Service $rowIndex ++; } $end = $rowIndex; - $sheet->getCell("V{$totalRow}")->setValue("=SUM(C{$start}:D{$end})"); + $sumFormula = match($tipo) { + 'ingresos' => "=SUM(C{$start}:C{$end})", + 'egresos' => "=SUM(D{$start}:D{$end})", + default => '' + }; + $sheet->getCell("V{$totalRow}")->setValue($sumFormula); $sheet->getStyle("C{$start}:D{$end}")->getNumberFormat() ->setFormatCode(self::CURRENCY_CODE); }