2 Commits

Author SHA1 Message Date
e6892ee085 Valor de PU cuando unidad no tiene valor 2025-04-29 13:01:57 -04:00
86b8d6b3c7 Limpieza 2025-04-29 13:01:21 -04:00
2 changed files with 11 additions and 8 deletions

View File

@ -1,7 +1,6 @@
<?php
namespace Incoviba\Controller\Ventas;
use Exception;
use DateInterval;
use DateTimeImmutable;
use Psr\Http\Message\ResponseInterface;
@ -23,9 +22,6 @@ class Facturacion extends Ideal\Controller
return $view->render($response, 'ventas.facturacion', compact('proyectos'));
}
/**
* @throws Exception
*/
public function show(ServerRequestInterface $request, ResponseInterface $response, View $view,
Service\Venta $ventaService, Service\Proyecto\Terreno $terrenoService,
Service\IPC $ipcService, Service\UF $ufService,

View File

@ -4,14 +4,15 @@ namespace Incoviba\Service\Venta;
use PDOException;
use Incoviba\Common\Implement\Exception\EmptyResult;
use Incoviba\Exception\ServiceAction\{Create, Read, Update};
use Incoviba\Repository;
use Incoviba\Model;
use Incoviba\Repository;
use Incoviba\Service;
class PropiedadUnidad
{
public function __construct(protected Repository\Venta\PropiedadUnidad $propiedadUnidadRepository,
protected Repository\Venta\Unidad $unidadRepository,
protected Precio $precioService) {}
protected Precio $precioService, protected Service\Valor $valorService) {}
/**
* @param int $unidad_id
@ -93,7 +94,11 @@ class PropiedadUnidad
public function edit(Model\Venta\PropiedadUnidad $propiedadUnidad, array $data): Model\Venta\PropiedadUnidad
{
try {
return $this->process($this->propiedadUnidadRepository->edit($propiedadUnidad, $data));
$filteredData = $this->propiedadUnidadRepository->filterData($data);
if (array_key_exists('valor', $filteredData)) {
$filteredData['valor'] = $this->valorService->clean($filteredData['valor']);
}
return $this->process($this->propiedadUnidadRepository->edit($propiedadUnidad, $filteredData));
} catch (PDOException $exception) {
throw new Update(__CLASS__, $exception);
}
@ -104,7 +109,9 @@ class PropiedadUnidad
try {
$unidad->precios = $this->precioService->getByUnidad($unidad->id);
$unidad->currentPrecio = $this->precioService->getVigenteByUnidad($unidad->id);
$unidad->valor = $unidad->currentPrecio->valor;
if ($unidad->valor === null) {
$unidad->valor = $unidad->currentPrecio->valor;
}
} catch (Read) {}
return $unidad;
}