Mostrar alertas en inicio

This commit is contained in:
2023-10-19 18:20:37 -03:00
parent c2a3192b32
commit 02e1f3e091
25 changed files with 915 additions and 225 deletions

View File

@ -2,12 +2,12 @@
namespace Incoviba\Service;
use Incoviba\Common\Implement\Exception\EmptyResult;
use Incoviba\Repository;
use Incoviba\Model;
use Incoviba\Repository;
class Search
{
public function __construct(protected Venta $ventaService, protected Repository\Venta $ventaRepository, protected Repository\Venta\Unidad $unidadRepository, protected Repository\Venta\TipoUnidad $tipoUnidadRepository) {}
public function __construct(protected Venta $ventaService, protected Repository\Venta $ventaRepository, protected Repository\Venta\Unidad $unidadRepository, protected Repository\Proyecto\TipoUnidad $tipoUnidadRepository) {}
public function query(string $query, string $tipo): array
{
@ -127,7 +127,7 @@ class Search
protected function getTiposUnidades(): array
{
if (!isset($this->tipos)) {
$this->tipos = array_map(function(Model\Venta\TipoUnidad $tipoUnidad) {
$this->tipos = array_map(function(Model\Proyecto\TipoUnidad $tipoUnidad) {
return $tipoUnidad->descripcion;
}, $this->tipoUnidadRepository->fetchAll());
}

View File

@ -28,18 +28,12 @@ class Venta
public function getByProyecto(int $proyecto_id): array
{
$ventas = $this->ventaRepository->fetchByProyecto($proyecto_id);
foreach ($ventas as &$venta) {
$venta = $this->process($venta);
}
return $ventas;
return array_map([$this, 'process'], $ventas);
}
public function getActivaByProyecto(int $proyecto_id): array
{
$ventas = $this->ventaRepository->fetchActivaByProyecto($proyecto_id);
foreach ($ventas as &$venta) {
$venta = $this->process($venta);
}
return $ventas;
return array_map([$this, 'process'], $ventas);
}
public function getByProyectoAndUnidad(string $proyecto_nombre, int $unidad_descripcion): Model\Venta
{
@ -49,26 +43,22 @@ class Venta
public function getByUnidad(string $unidad, string $tipo): array
{
$ventas = $this->ventaRepository->fetchByUnidad($unidad, $tipo);
foreach ($ventas as &$venta) {
$venta = $this->process($venta);
}
return $ventas;
return array_map([$this, 'process'], $ventas);
}
public function getByPropietario(string $propietario): array
{
$ventas = $this->ventaRepository->fetchByPropietario($propietario);
foreach ($ventas as &$venta) {
$venta = $this->process($venta);
}
return $ventas;
return array_map([$this, 'process'], $ventas);
}
public function getByPrecio(string $precio): array
{
$ventas = $this->ventaRepository->fetchByPrecio($precio);
foreach ($ventas as &$venta) {
$venta = $this->process($venta);
}
return $ventas;
return array_map([$this, 'process'], $ventas);
}
public function getEscriturasByProyecto(int $proyecto_id): array
{
$ventas = $this->ventaRepository->fetchEscriturasByProyecto($proyecto_id);
return array_map([$this, 'process'], $ventas);
}
protected function process(Model\Venta $venta): Model\Venta

View File

@ -69,15 +69,12 @@ class Pago
public function getById(int $pago_id): Model\Venta\Pago
{
$pago = $this->pagoRepository->fetchById($pago_id);
$pago->estados = $this->estadoPagoRepository->fetchByPago($pago_id);
$pago->currentEstado = $this->estadoPagoRepository->fetchCurrentByPago($pago_id);
if (($pago->uf === null or $pago->uf === 0.0) and $pago->fecha < new DateTimeImmutable()) {
$pago->uf = $this->moneyService->getUF($pago->fecha);
if ($pago->uf !== 0.0) {
$this->pagoRepository->edit($pago, ['uf' => $pago->uf]);
}
}
return $pago;
return $this->process($pago);
}
public function getByVenta(int $venta_id): array
{
return array_map([$this, 'process'], $this->pagoRepository->fetchByVenta($venta_id));
}
public function getPendientes(): array
@ -121,4 +118,17 @@ class Pago
$pago->currentEstado = $estado;
return $pago;
}
protected function process($pago): Model\Venta\Pago
{
$pago->estados = $this->estadoPagoRepository->fetchByPago($pago->id);
$pago->currentEstado = $this->estadoPagoRepository->fetchCurrentByPago($pago->id);
if (($pago->uf === null or $pago->uf === 0.0) and $pago->fecha < new DateTimeImmutable()) {
$pago->uf = $this->moneyService->getUF($pago->fecha);
if ($pago->uf !== 0.0) {
$this->pagoRepository->edit($pago, ['uf' => $pago->uf]);
}
}
return $pago;
}
}