Ventas->Listado->Ventas

This commit is contained in:
Juan Pablo Vial
2023-07-28 16:22:20 -04:00
parent 38383f5295
commit ef30ae67d2
52 changed files with 1496 additions and 17 deletions

View File

@ -0,0 +1,26 @@
<?php
namespace Incoviba\Controller;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Incoviba\Common\Alias\View;
use Incoviba\Service;
use Incoviba\Model;
class Ventas
{
public function __invoke(ServerRequestInterface $request, ResponseInterface $response, View $view, Service\Proyecto $proyectoService): ResponseInterface
{
$proyectos = array_map(function(Model\Proyecto $proyecto) {return ['id' => $proyecto->id, 'descripcion' => $proyecto->descripcion];}, $proyectoService->getVendibles());
return $view->render($response, 'ventas.list', compact('proyectos'));
}
public function proyecto(ServerRequestInterface $request, ResponseInterface $response, Service\Venta $service): ResponseInterface
{
$body = $request->getBody();
$json = json_decode($body->getContents());
$proyecto_id = $json->proyecto_id;
$ventas = $service->getByProyecto($proyecto_id);
$response->getBody()->write(json_encode(['ventas' => $ventas, 'total' => count($ventas)]));
return $response->withHeader('Content-Type', 'application/json');
}
}

View File

@ -12,6 +12,12 @@ class Cierres
{
return $view->render($response, 'ventas.cierres.list');
}
public function show(ServerRequestInterface $request, ResponseInterface $response, View $view, Service\Ventas\Cierre $service, int $cierre_id): ResponseInterface
{
$cierre = $service->getById($cierre_id);
return $view->render($response, 'ventas.cierres.show', compact('cierre'));
}
public function proyecto(ServerRequestInterface $request, ResponseInterface $response, Service\Ventas\Cierre $service): ResponseInterface
{
$body = $request->getBody();

View File

@ -1,16 +1,18 @@
<?php
namespace Incoviba\Controller\Ventas;
use Incoviba\Common\Alias\View;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Incoviba\Common\Alias\View;
use Incoviba\Service;
use Incoviba\Model;
class Precios
{
public function __invoke(ServerRequestInterface $request, ResponseInterface $response, View $view): ResponseInterface
public function __invoke(ServerRequestInterface $request, ResponseInterface $response, View $view, Service\Proyecto $proyectoService): ResponseInterface
{
return $view->render($response, 'ventas.precios.list');
$proyectos = array_map(function(Model\Proyecto $proyecto) {return ['id' => $proyecto->id, 'descripcion' => $proyecto->descripcion];}, $proyectoService->getVendibles());
return $view->render($response, 'ventas.precios.list', compact('proyectos'));
}
public function proyecto(ServerRequestInterface $request, ResponseInterface $response, Service\Ventas\Precio $precioService): ResponseInterface
{
@ -21,4 +23,10 @@ class Precios
$response->getBody()->write(json_encode(['precios' => $precios, 'total' => count($precios)]));
return $response->withHeader('Content-Type', 'application/json');
}
public function unidad(ServerRequestInterface $request, ResponseInterface $response, Service\Ventas\Precio $precioService, int $unidad_id): ResponseInterface
{
$precio = $precioService->getByUnidad($unidad_id);
$response->getBody()->write(json_encode(['precio' => $precio]));
return $response->withHeader('Content-Type', 'application/json');
}
}