Valor de PU cuando unidad no tiene valor

This commit is contained in:
Juan Pablo Vial
2025-04-29 13:01:57 -04:00
parent 86b8d6b3c7
commit e6892ee085

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);
if ($unidad->valor === null) {
$unidad->valor = $unidad->currentPrecio->valor;
}
} catch (Read) {}
return $unidad;
}