FIX: Telefono sobre rango maximo de integer en MySQL

This commit is contained in:
Juan Pablo Vial
2025-08-05 15:41:23 -04:00
parent 307f2ac7d7
commit c38e89d3f1
5 changed files with 78 additions and 6 deletions

View File

@ -1,22 +1,24 @@
<?php
namespace Incoviba\Service\Venta;
use PDOException;
use Psr\Log\LoggerInterface;
use Incoviba\Common\Ideal\Service;
use Incoviba\Common\Implement\Exception\EmptyResult;
use Incoviba\Exception\ServiceAction\Create;
use Incoviba\Exception\ServiceAction\Read;
use Incoviba\Exception\ServiceAction\Update;
use Incoviba\Repository;
use Incoviba\Model;
use PDOException;
use Psr\Log\LoggerInterface;
use Incoviba\Repository;
use Incoviba\Service\Valor;
class Propietario extends Service
{
public function __construct(
LoggerInterface $logger,
protected Repository\Venta\Propietario $propietarioRepository,
protected Repository\Direccion $direccionRepository
protected Repository\Direccion $direccionRepository,
protected Valor $valorService
) {
parent::__construct($logger);
}
@ -49,6 +51,9 @@ class Propietario extends Service
$data['direccion'] = $direccion->id;
}
$filteredData = $this->propietarioRepository->filterData($data);
if (array_key_exists('telefono', $filteredData)) {
$filteredData['telefono'] = $this->valorService->telefono()->toDatabase($filteredData['telefono']);
}
try {
return $this->propietarioRepository->edit($propietario, $filteredData);
} catch (PDOException | EmptyResult $exception) {
@ -85,6 +90,10 @@ class Propietario extends Service
]);
$filtered_data = array_intersect_key($data, $fields);
if (array_key_exists('telefono', $filtered_data)) {
$filtered_data['telefono'] = $this->valorService->telefono()->toDatabase($filtered_data['telefono']);
}
try {
$propietario = $this->propietarioRepository->fetchById($data['rut']);
$edits = [];
@ -95,6 +104,7 @@ class Propietario extends Service
} catch (EmptyResult) {
try {
$propietario = $this->propietarioRepository->create($filtered_data);
$this->logger->info('Propietario', ['propietario' => $propietario]);
$propietario = $this->propietarioRepository->save($propietario);
} catch (PDOException $exception) {
throw new Create(__CLASS__, $exception);