Listado de Movimientos

This commit is contained in:
Juan Pablo Vial
2024-04-10 21:18:33 -04:00
parent 91679b164f
commit 8e4b5eaaf8
13 changed files with 256 additions and 9 deletions

View File

@ -47,4 +47,43 @@ class Movimientos extends Ideal\Controller
} catch (EmptyResult) {}
return $this->withJson($response, $output);
}
public function __invoke(ServerRequestInterface $request, ResponseInterface $response, Service\Contabilidad\Movimiento $movimientoService): ResponseInterface
{
$output = [
'movimientos' => []
];
try {
$movimientos = $movimientoService->getAll();
$output['movimientos'] = json_decode(json_encode($movimientos), JSON_OBJECT_AS_ARRAY);
foreach ($output['movimientos'] as $i => &$arrayMovimiento) {
$arrayMovimiento['cuenta'] = json_decode(json_encode($movimientos[$i]->cuenta), JSON_OBJECT_AS_ARRAY);
$arrayMovimiento['cuenta']['inmobiliaria'] = json_decode(json_encode($movimientos[$i]->cuenta->inmobiliaria), JSON_OBJECT_AS_ARRAY);
if ($arrayMovimiento['detalles'] !== null) {
$arrayMovimiento['detalles']['centro_costo'] = $movimientos[$i]->getDetalles()->centroCosto;
}
}
} catch (EmptyResult) {}
return $this->withJson($response, $output);
}
public function segment(ServerRequestInterface $request, ResponseInterface $response,
Service\Contabilidad\Movimiento $movimientoService): ResponseInterface
{
$input = $request->getParsedBody();
$output = [
'input' => $input,
'movimientos' => []
];
try {
$movimientos = $movimientoService->getAmountStartingFrom($input['from'], $input['amount']);
$output['movimientos'] = json_decode(json_encode($movimientos), JSON_OBJECT_AS_ARRAY);
foreach ($output['movimientos'] as $i => &$arrayMovimiento) {
$arrayMovimiento['cuenta'] = json_decode(json_encode($movimientos[$i]->cuenta), JSON_OBJECT_AS_ARRAY);
$arrayMovimiento['cuenta']['inmobiliaria'] = json_decode(json_encode($movimientos[$i]->cuenta->inmobiliaria), JSON_OBJECT_AS_ARRAY);
if ($arrayMovimiento['detalles'] !== null) {
$arrayMovimiento['detalles']['centro_costo'] = $movimientos[$i]->getDetalles()->centroCosto;
}
}
} catch (EmptyResult) {}
return $this->withJson($response, $output);
}
}

View File

@ -0,0 +1,15 @@
<?php
namespace Incoviba\Controller\Contabilidad;
use Incoviba\Common\Alias\View;
use Incoviba\Common\Ideal\Controller;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
class Movimientos extends Controller
{
public function __invoke(ServerRequestInterface $request, ResponseInterface $response, View $view): ResponseInterface
{
return $view->render($response, 'contabilidad.movimientos');
}
}