diff --git a/app/resources/routes/api/contabilidad/movimientos.php b/app/resources/routes/api/contabilidad/movimientos.php
index 545dd98..8d00044 100644
--- a/app/resources/routes/api/contabilidad/movimientos.php
+++ b/app/resources/routes/api/contabilidad/movimientos.php
@@ -1,6 +1,10 @@
group('/movimientos', function($app) {
+ $app->post('/segment', [Movimientos::class, 'segment']);
+ $app->get('[/]', Movimientos::class);
+});
$app->group('/movimiento/{movimiento_id}', function($app) {
$app->post('/detalles', [Movimientos::class, 'detalles']);
});
diff --git a/app/resources/routes/contabilidad/movimientos.php b/app/resources/routes/contabilidad/movimientos.php
new file mode 100644
index 0000000..6ca2aef
--- /dev/null
+++ b/app/resources/routes/contabilidad/movimientos.php
@@ -0,0 +1,4 @@
+get('/movimientos', Movimientos::class);
diff --git a/app/resources/views/contabilidad/movimientos.blade.php b/app/resources/views/contabilidad/movimientos.blade.php
new file mode 100644
index 0000000..6b99ea0
--- /dev/null
+++ b/app/resources/views/contabilidad/movimientos.blade.php
@@ -0,0 +1,160 @@
+@extends('layout.base')
+
+@section('page_content')
+
+
+
+
+
+
+ Sociedad |
+ Banco - Cuenta |
+ Fecha |
+ ISO Fecha |
+ Valor |
+ Valor |
+ Centro de Costo |
+ Glosa |
+ Detalle |
+
+
+
+
+@endsection
+
+@include('layout.head.styles.datatables')
+@include('layout.head.styles.datatables.searchbuilder')
+@include('layout.head.styles.datatables.buttons')
+
+@include('layout.body.scripts.datatables')
+@include('layout.body.scripts.datatables.searchbuilder')
+@include('layout.body.scripts.datatables.buttons')
+
+@push('page_scripts')
+
+@endpush
diff --git a/app/resources/views/layout/body/header/menu/contabilidad.blade.php b/app/resources/views/layout/body/header/menu/contabilidad.blade.php
index 3f5233f..fa8c613 100644
--- a/app/resources/views/layout/body/header/menu/contabilidad.blade.php
+++ b/app/resources/views/layout/body/header/menu/contabilidad.blade.php
@@ -18,5 +18,6 @@
Cartola Diaria
Depósitos a Plazo
+ Movimientos
diff --git a/app/resources/views/layout/body/scripts/datatables.blade.php b/app/resources/views/layout/body/scripts/datatables.blade.php
index d33c940..36ba125 100644
--- a/app/resources/views/layout/body/scripts/datatables.blade.php
+++ b/app/resources/views/layout/body/scripts/datatables.blade.php
@@ -1,5 +1,4 @@
@push('page_scripts')
- {{----}}
-
-
+
+
@endpush
diff --git a/app/resources/views/layout/body/scripts/datatables/buttons.blade.php b/app/resources/views/layout/body/scripts/datatables/buttons.blade.php
index 95b744e..9af8a38 100644
--- a/app/resources/views/layout/body/scripts/datatables/buttons.blade.php
+++ b/app/resources/views/layout/body/scripts/datatables/buttons.blade.php
@@ -1,9 +1,9 @@
@push('page_scripts')
-
-
-
-
-
+
+
+
+
+
@endpush
diff --git a/app/resources/views/layout/body/scripts/datatables/searchbuilder.blade.php b/app/resources/views/layout/body/scripts/datatables/searchbuilder.blade.php
new file mode 100644
index 0000000..abd45e6
--- /dev/null
+++ b/app/resources/views/layout/body/scripts/datatables/searchbuilder.blade.php
@@ -0,0 +1,5 @@
+@push('page_scripts')
+
+
+
+@endpush
diff --git a/app/resources/views/layout/head/styles/datatables.blade.php b/app/resources/views/layout/head/styles/datatables.blade.php
index f46671d..1d9efd5 100644
--- a/app/resources/views/layout/head/styles/datatables.blade.php
+++ b/app/resources/views/layout/head/styles/datatables.blade.php
@@ -1,3 +1,3 @@
@push('page_styles')
-
+
@endpush
diff --git a/app/resources/views/layout/head/styles/datatables/searchbuilder.blade.php b/app/resources/views/layout/head/styles/datatables/searchbuilder.blade.php
new file mode 100644
index 0000000..c7fad86
--- /dev/null
+++ b/app/resources/views/layout/head/styles/datatables/searchbuilder.blade.php
@@ -0,0 +1,4 @@
+@push('page_styles')
+
+
+@endpush
diff --git a/app/src/Controller/API/Contabilidad/Movimientos.php b/app/src/Controller/API/Contabilidad/Movimientos.php
index f1cf7d6..a6fc07c 100644
--- a/app/src/Controller/API/Contabilidad/Movimientos.php
+++ b/app/src/Controller/API/Contabilidad/Movimientos.php
@@ -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);
+ }
}
diff --git a/app/src/Controller/Contabilidad/Movimientos.php b/app/src/Controller/Contabilidad/Movimientos.php
new file mode 100644
index 0000000..fe1cdc1
--- /dev/null
+++ b/app/src/Controller/Contabilidad/Movimientos.php
@@ -0,0 +1,15 @@
+render($response, 'contabilidad.movimientos');
+ }
+}
diff --git a/app/src/Repository/Contabilidad/Movimiento.php b/app/src/Repository/Contabilidad/Movimiento.php
index c5e6bf3..536feb2 100644
--- a/app/src/Repository/Contabilidad/Movimiento.php
+++ b/app/src/Repository/Contabilidad/Movimiento.php
@@ -70,4 +70,12 @@ class Movimiento extends Ideal\Repository
->where('cuenta_id = ? AND fecha = ? AND cargo = ? AND abono = ? AND saldo = ?');
return $this->fetchOne($query, [$cuenta_id, $fecha->format('Y-m-d'), $cargo, $abono, $saldo]);
}
+ public function fetchAmountStartingFrom(int $start, int $amount): array
+ {
+ $query = $this->connection->getQueryBuilder()
+ ->select()
+ ->from($this->getTable())
+ ->limit($amount, $start);
+ return $this->fetchMany($query);
+ }
}
diff --git a/app/src/Service/Contabilidad/Movimiento.php b/app/src/Service/Contabilidad/Movimiento.php
index d1f1ca3..4b2bd86 100644
--- a/app/src/Service/Contabilidad/Movimiento.php
+++ b/app/src/Service/Contabilidad/Movimiento.php
@@ -16,10 +16,18 @@ class Movimiento extends Service
parent::__construct($logger);
}
+ public function getAll(null|string|array $ordering = null): array
+ {
+ return array_map([$this, 'process'], $this->movimientoRepository->fetchAll($ordering));
+ }
public function getById(int $movimiento_id): Model\Contabilidad\Movimiento
{
return $this->process($this->movimientoRepository->fetchById($movimiento_id));
}
+ public function getAmountStartingFrom(int $start, int $amount): array
+ {
+ return array_map([$this, 'process'], $this->movimientoRepository->fetchAmountStartingFrom($start, $amount));
+ }
public function setDetalles(Model\Contabilidad\Movimiento $movimiento, array $data): Model\Contabilidad\Movimiento
{
try {